|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>: u2 ?& v `& D; Z) d5 ~7 J1 l
这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!9 O1 R+ z3 Y$ X7 Y H8 l
(1)在主工具条上添加菜单。
! C$ M4 h1 J4 ?, Z9 C. ~: t G <menuContribution" ?6 g" T/ f& v8 E; }* _
locationURI="menu:org.eclipse.ui.main.menu?after=additions">7 l+ X. d: t7 U% h
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">$ t8 F: r2 [8 u1 Q& A
<command
$ @/ J4 Z! P" i( p2 Y) f9 \: g commandId="com.plmhome.createFolder.commands.sampleCommand") i7 b6 y2 k! z7 o3 S$ O
mnemonic="S": C* U5 W! \" a7 D+ X1 E( w
id="com.plmhome.createFolder.menus.sampleCommand">6 T3 E+ J, L7 |0 V1 O
</command> @$ d7 m4 Y3 O/ A/ ?% L% W6 {
</menu>' ?+ Z# @& {* q. M4 X0 L$ f$ j$ b3 U
</menuContribution>- M! L5 r2 M" {1 U+ T! _
. N, D. r' R. j% G% N( a(2)在工具功能的后面添加按钮。
" N% Z7 G; r+ m( H <menuContribution
# `+ o4 p" l3 A* m3 B$ l$ M8 x locationURI="menu:tools?after=additions">: ]$ v+ ^6 j7 e Z( Q5 r) t
<command! E: [+ S0 O0 O% O" w
commandId="com.plmhome.createFolder.commands.sampleCommand") ~. S- ]7 s2 V: l. g( j" Z& D
mnemonic="S"
% W$ |& Y1 F, K: M) E, y id="com.plmhome.createFolder.menus.sampleCommand">
- E( o* R6 B* L5 H) @% l9 W4 _! | </command>0 ]7 G: q/ ^9 ^( ? i' P" h \
</menuContribution>8 r4 o5 O; t* H, Z
0 `6 N l2 h Q4 J(3)在右键弹出菜单加按钮
' z7 d- U/ U6 o: n4 N2 u7 D/ |1 _ <menuContribution
7 P0 p$ s; e: w0 D1 B6 f locationURI="popup:org.eclipse.ui.popup.any?after=additions">$ r1 S- s* k. }' M# Q
<command! h7 ?( ]' C+ z3 C- y
commandId="com.plmhome.createFolder.commands.sampleCommand"
6 z5 p9 K) F' K& X- D1 K6 R4 v mnemonic="S"
% g* U: \* A: v5 x1 N0 [% ` id="com.plmhome.createFolder.menus.sampleCommand">
+ Y5 t6 G* I4 z4 p$ r: H" G </command>% ?7 f# q, m. S f, [/ i# J! b
</menuContribution># G9 m1 [+ M# J8 q
(4)在具体的菜单后面加功能按钮1 v6 g9 [+ s! g( L/ u; N
<menuContribution% ~' [ I4 Y) {0 N. G; Q
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4"># W8 _- t/ s5 }' K* `% M
<menu: f' h" ^$ I9 f8 V- F6 s+ D# y/ H
label="PLMHomeToolKits": _$ n) }; n3 J1 X* G6 h
mnemonic="M"
% G: e% l: Z8 l, z. \, T& d( w: j id="com.plmhome.createFolder.menus.sampleMenu">
% C) @- m) O2 L6 R! ] <command8 U$ u( X" ~% u% F) L
commandId="com.plmhome.createFolder.commands.sampleCommand"
) b! B! i8 q" K0 u mnemonic="S". z5 |' o6 k6 f% U- [' z
id="com.plmhome.createFolder.menus.sampleCommand">
* {% Y: y u, C$ W </command>
, X0 v. f3 e) f% Q, {- ? </menu>
& r+ b+ m6 w- ?2 O- \ </menuContribution>$ k2 o1 u z* {+ e
8 N! l3 z/ l: V$ f0 O
(5)指定位置,直接加按钮' t3 i4 T- z; b; }* M7 U
<menuContribution& ^) D2 }8 F2 h- r3 ?
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
/ Z1 ^# P7 j" H* M) a/ { <command+ a: X# E2 h$ L8 E6 H6 C
commandId="com.plmhome.createFolder.commands.sampleCommand". } u6 r3 ]+ b) n
icon="icons/sample.gif"# @2 f$ Y8 \$ M- E/ J/ c1 E+ C
tooltip="Say hello world"' p, L& k$ _( c. g! r+ U
id="com.plmhome.createFolder.toolbars.sampleCommand">
5 h) h9 A5 ~9 k: g" Q" |9 Y" p, J </command>
$ q) `! B8 T9 _) Y </menuContribution>, M, K8 X; R% q/ E( z) U( y1 p
' F$ a ~! l) W9 H. H% e" M(6)加工具条按钮* c" D3 n# M$ @! v" @+ J
<menuContribution
* K2 [) ?9 B5 k0 ?' h5 o) v locationURI="toolbar:navigator_Toolbar?after=additions">
2 v# N0 t& C# j& t! ` <toolbar
}3 O, s+ x0 T, }( m id="com.plmhome.createFolder.toolbars.sampleToolbar">( e3 M: ^8 I. w8 t
<command
$ {& n9 C4 @+ [8 r; a* e commandId="com.plmhome.createFolder.commands.sampleCommand"
]& ^2 S, @! g# @6 f icon="icons/sample.gif"
& Q& a% [3 L1 a$ w" g1 k tooltip="Say hello world"$ b. f- W. u3 M- d' i, P( \# j
id="com.plmhome.createFolder.toolbars.sampleCommand">4 e/ g* f! Q6 |8 P3 W- g5 q
</command>
) ^5 E. i0 F3 E+ l0 J </toolbar>* S; W, T# y+ l
</menuContribution>
8 p+ m% _5 j5 u5 o8 ~" L4 n1 I
/ G% D! `! L$ C" a' Y5 D% ^) [
% I6 a: C p' F, C# @ v5 ?% Z完整的例子如下:
% B- w. q: p! B$ n. e" o% d; G( l2 t: t& @( s# [4 ]& y4 B! o
<?xml version="1.0" encoding="UTF-8"?>
& j# v' {" u( H P4 A<?eclipse version="3.4"?>' }$ a% r! R. {3 Q" _
<plUGin>8 b# W: ~& m" G9 t9 ]2 _2 u
8 a- ?* o) ]6 M) S. w) R% F
<extension
: Q0 M% z C( H6 Q7 \, h3 M7 ~ point="org.eclipse.ui.commands">
# z$ u/ ]7 V' _/ k( B; k: j <category
: _9 K$ r, k a, ^$ ]: j name="Sample Category"
& X2 A( T2 I! M- p% } id="com.plmhome.createFolder.commands.category">2 T; Q* c9 P4 H" ?* K2 |8 s# y
</category>
$ @$ E( G; [1 [4 R
8 q7 I# g% P8 L9 Y- i <command8 F* g! @, E+ U' A7 C' d8 K
name="PLMHome CreateFolder"
2 S# ^- T0 _+ O4 Q' _( g* ? categoryId="com.plmhome.createFolder.commands.category"
, ^ ?5 d; I/ V7 y, r3 ]1 \2 m4 W id="com.plmhome.createFolder.commands.sampleCommand">
$ v( ?0 }8 w" P# y9 e9 ` </command>1 g- i/ ]5 H' [9 {! D+ Y+ p& T
$ h2 q6 h# H& A e Q </extension>; R; M/ X5 x3 \% `5 C
<extension
0 K- I4 W6 B7 [- c point="org.eclipse.ui.handlers">
) s$ N: C$ ]& A9 d8 O% w <handler& c8 b7 P. V& t9 Z: G5 n1 I6 Z+ H
commandId="com.plmhome.createFolder.commands.sampleCommand"
$ n" } B/ U3 M* v: [- i' ], w class="com.plmhome.createfolder.handlers.SampleHandler">
2 t1 N/ o v1 z1 R) y) d </handler># q6 P( r: C/ k& \6 m. m8 m
</extension>2 {% a: Z" D/ e3 s1 A( @6 O
<extension, C0 F: ~1 `* @& [
point="org.eclipse.ui.bindings">
0 e! T9 u3 e+ Y: g <key! R9 {8 C3 X* G/ f# ~
commandId="com.plmhome.createFolder.commands.sampleCommand"% G, ?9 N# ^8 p) O
contextId="org.eclipse.ui.contexts.window"
5 Y, }( c2 j; u. s& |6 ` sequence="M1+6"6 L' W* [/ h) T7 }0 z% [/ U9 x1 H
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
p5 l% |# B# F7 F </key>
. o) M* [' V/ m, D! L, A </extension># b' f/ N X: V- v# a/ N! |6 p
<extension
& e" f# O0 t' ?3 {& f point="org.eclipse.ui.menus">% ^8 i+ _( \0 d4 x5 u' j
6 S) `* O& l, V' A <menuContribution
* y# Y; j& s3 Y2 F# F( F5 m locationURI="menu:org.eclipse.ui.main.menu?after=additions">; N9 b5 b8 _+ Q ~
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">6 {; S I+ o* R- K# x% {
<command
4 ~" F3 ] K3 }$ f7 u commandId="com.plmhome.createFolder.commands.sampleCommand"
. W" X& e% F7 @; @' O mnemonic="S"
3 y% @2 C0 p0 D/ o f4 s+ j id="com.plmhome.createFolder.menus.sampleCommand"># [3 z6 t2 H/ d! I7 z
</command>
$ C: l. ]) ]7 V+ P </menu>: C y! D5 U* M! @2 S; t7 [
</menuContribution>/ B+ j) u. \; _7 Y
, Y3 Z: I. {/ h$ i0 h( h
, S+ c* p! J9 b) W) m
- B$ R V' c# x: K9 ] <menuContribution
$ t: s$ f7 i/ T( A5 v n8 } locationURI="menu:tools?after=additions">( L- U2 `& P- }( }! Q: m
<command+ z3 m; o3 M6 n. r9 Y+ x E! q
commandId="com.plmhome.createFolder.commands.sampleCommand"
, s2 r) n0 {9 w1 X2 C mnemonic="S"
: ^2 ~; l* o4 ^, u o id="com.plmhome.createFolder.menus.sampleCommand">& t' a* Q8 \$ r
</command>- b9 f- [& Z7 B: t1 ^& o2 _
</menuContribution>
; [. A0 m, P/ E. a0 l+ s' m0 Z& T* m9 W- F
" Y3 A7 P) Z/ R" U \! w# E7 X
- h: _! {0 u: v* A- p! \ e( M+ `: H/ M+ o$ H
<menuContribution
8 f S6 z" i" k; G locationURI="popup:org.eclipse.ui.popup.any?after=additions">
7 z7 @1 r8 p* k/ m! t' U! f <command; l8 B1 T1 X& H0 [* z! b
commandId="com.plmhome.createFolder.commands.sampleCommand"6 I; k9 F' Q6 @9 r, q
mnemonic="S"
/ k7 A6 L$ ~) J- ?6 r4 q' i id="com.plmhome.createFolder.menus.sampleCommand">
& Z! K/ L \4 e! p$ G/ c+ Z- ^ </command>9 C2 I5 v4 e4 @% q+ `! Z
</menuContribution>* v8 J& @8 }/ n: n7 Q/ Y
n% N z! a9 [5 z$ `" G7 d
<menuContribution- d6 d/ A- i- K! E7 C1 Q+ b' t
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
. C5 }7 M+ I7 X5 x2 s2 k4 ` <menu7 U: j* }* J! S }
label="PLMHomeToolKits"
+ g% q+ J5 O7 H4 Q mnemonic="M"8 e( q5 k2 s: ^+ G# f
id="com.plmhome.createFolder.menus.sampleMenu">9 h) C- h$ {$ a
<command
" Q; C1 r8 y; L# @2 s commandId="com.plmhome.createFolder.commands.sampleCommand"
6 g+ ]) w2 G2 Q* W mnemonic="S"
4 h: E% M8 l& K. _* @ id="com.plmhome.createFolder.menus.sampleCommand">% s- C+ m, ]7 T8 r% r
</command>: s4 b) a; W" e/ \+ j9 v5 W
</menu>2 r* m a0 W/ x4 g- S1 x0 _
</menuContribution>
$ H5 ]$ T. |; i; Z0 x
' Y5 C; Z8 x6 R8 U. ]8 R <menuContribution: }4 [- @. a& d+ Z9 h j6 w" ]
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">" P9 W: \1 X# T o6 y, c
<command
4 f. k2 M4 G. x commandId="com.plmhome.createFolder.commands.sampleCommand", @* S7 Z% c/ r5 V
icon="icons/sample.gif"
8 ^( J9 \: h) @& M8 C( Q0 e tooltip="Say hello world"; U- o* \6 n. I" C
id="com.plmhome.createFolder.menus.sampleCommand">
: M2 l# ]5 I W& g/ s2 V </command>9 X2 j3 Q" w& I( |" [
</menuContribution>" `. K& i5 b* ]; U( `; N# k5 x
: _2 H$ Y3 E- r( _. k
2 Q5 R& H6 i( A
<menuContribution
$ A/ ?2 G! D7 f6 ? locationURI="toolbar:navigator_Toolbar?after=additions"> I J1 `% a8 P' i4 I! U3 c/ l
<toolbar
$ l1 M i* a; r( B: ]$ g id="com.plmhome.createFolder.toolbars.sampleToolbar">7 P7 [- W; V( F3 E( F
<command
0 M, \& P+ r& F2 J commandId="com.plmhome.createFolder.commands.sampleCommand"5 R" x# Y, Q( U5 G( D; f, G
icon="icons/sample.gif"
4 }( c& r, y* G3 q tooltip="Say hello world"( Y- C. u T% n- ~2 K
id="com.plmhome.createFolder.toolbars.sampleCommand">7 n/ a4 R, f. Q4 u
</command>& Z' _( @9 T2 W7 ~
</toolbar>; g% g2 W5 f( ?7 p3 S
</menuContribution>
( |) O+ H4 }1 U# F
8 r9 Q8 n# h3 `. G7 i, E' Z
+ Q6 _4 U$ v1 j7 H* t7 s4 a4 N/ v </extension>
/ z4 z$ M" x/ B/ [8 _+ r9 G$ Y5 w8 `* C
</plugin>
3 ^; p' `4 x! H' G' U5 |" S
) u& w8 f3 s2 c) z1 A# V; S+ y/ g2 x: f
# h( }. z5 M0 F# ~+ K, J0 n
|
|