|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>
9 G8 f# g" e6 u这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!5 ?; Y- ~- N2 }4 W+ ^
(1)在主工具条上添加菜单。2 T* ]0 G8 x9 @
<menuContribution
: [' S, b0 [7 A; o locationURI="menu:org.eclipse.ui.main.menu?after=additions">3 q9 U) W$ P7 d; {
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">- L# e1 v7 `7 T0 W8 P9 X. G* ^1 Y
<command4 P. w" A" t" x y; N. Y2 L
commandId="com.plmhome.createFolder.commands.sampleCommand"* _' F; k, k% y$ ^, S+ T1 N
mnemonic="S"
8 m. u4 B; ~: T+ L4 B/ }* G/ r3 b) \4 L id="com.plmhome.createFolder.menus.sampleCommand">& O5 M- D5 y' G3 C
</command>
8 F9 B L; M) M, m. u </menu>1 }" B+ O% `7 ?2 D- Q! i1 w6 S
</menuContribution>6 Q! n0 j) Q) o! w: v
( b% [8 S1 Q" G4 h4 K(2)在工具功能的后面添加按钮。
4 B5 X3 @7 W3 C: A G/ e( |$ j <menuContribution
2 M5 H" @' s3 F3 @ C6 g locationURI="menu:tools?after=additions">
2 B/ k' V- }8 z" p/ d Z" b <command9 R. u! T/ D6 ]& ]# {
commandId="com.plmhome.createFolder.commands.sampleCommand"
6 \, s9 a7 W# e3 j2 Y, B mnemonic="S"
! a% L! l# T Y+ f% n& y# E id="com.plmhome.createFolder.menus.sampleCommand">% O3 H( X: T, S2 x
</command>
. k, Y2 \$ @+ n' J5 e </menuContribution>
# b5 o4 `, ?, Y1 A, W# t; F4 b& n5 Q2 m: R7 R- Q" T$ W a
(3)在右键弹出菜单加按钮
6 v' v. g- Z, ]3 ^) C <menuContribution
% |5 k% \( _. T& J- D locationURI="popup:org.eclipse.ui.popup.any?after=additions">; E: T7 p' ^/ G2 z) J& K- s
<command4 Z* e% X$ }& @2 @- n2 O* g, I
commandId="com.plmhome.createFolder.commands.sampleCommand"/ J5 n/ C# a i2 m
mnemonic="S"
/ e* w/ c' N& c% a! @5 R# R# A id="com.plmhome.createFolder.menus.sampleCommand">
) d7 A# x/ @3 M0 n7 U, T9 Y, q, D7 o </command>% W5 N6 U4 ` c! K" E$ l
</menuContribution>
" V6 ~! T M' f" `1 C(4)在具体的菜单后面加功能按钮
& w' }) ]6 u: A6 k& f. @& t <menuContribution' B9 X; q3 w6 P1 b, U
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
0 f0 P% r! h& D+ c, E. O( M* @ <menu
: a4 |7 B+ b, ^; _ F label="PLMHomeToolKits"
, P( b8 O1 z0 x _, ~- J5 K+ j mnemonic="M"
" K! a0 x/ p% @2 G- D/ X id="com.plmhome.createFolder.menus.sampleMenu">" V; T! y6 v6 T4 Z
<command6 D7 E. W. s) k& R6 \; g) O
commandId="com.plmhome.createFolder.commands.sampleCommand"
+ \& ]6 C1 T8 ]* \$ K4 }$ [/ W) k mnemonic="S"
: y3 D" s0 S$ J0 M: |$ B' n id="com.plmhome.createFolder.menus.sampleCommand">* V+ l5 Z: R# p+ r! O7 w7 |
</command>8 f+ W" l! }. x5 u+ v
</menu>
5 E) ~+ h$ A) n1 ~ P: P* Y </menuContribution>& S8 x/ a2 v& p+ ^/ [0 h
7 B4 ]: Z6 j% M0 ]7 b3 T( c
(5)指定位置,直接加按钮
: I2 _. H8 @! Q! V' l8 C <menuContribution# B" _9 U, D# T8 L# y' h+ }
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
9 w, k! ?* K, r3 V+ P! J% l. I <command
. _* D& w6 q9 f! R; y commandId="com.plmhome.createFolder.commands.sampleCommand"
7 |% g! _5 B+ P8 Y+ i6 x icon="icons/sample.gif"
. L) e/ E" ?# i0 B% Q7 m& h tooltip="Say hello world"" P% I) B: m% P
id="com.plmhome.createFolder.toolbars.sampleCommand">3 A& b, {0 C! E5 ?& M* ^& Y; W
</command>
$ x# o; B; g6 `8 Z" J7 ~6 y </menuContribution>
) Z. U# z) a; T, A
( c2 [; t2 N( C5 B2 ^+ _+ D4 F(6)加工具条按钮' o4 j, `7 V1 X1 T2 I( |0 j
<menuContribution
3 {6 S; H- E: v5 T2 y locationURI="toolbar:navigator_Toolbar?after=additions">
! o& R) L5 r! S9 G! y" Z1 K <toolbar* c2 P6 l8 c c1 G1 a, u+ l
id="com.plmhome.createFolder.toolbars.sampleToolbar">
' @% R; I& }9 R# M <command
0 P8 t. F$ w2 ?# m& m commandId="com.plmhome.createFolder.commands.sampleCommand". d( D8 y' |& p" g. I
icon="icons/sample.gif"8 F0 [6 d3 E$ \7 a: Z; |) S
tooltip="Say hello world" p7 ^/ h0 O3 ?; D. t R
id="com.plmhome.createFolder.toolbars.sampleCommand">5 M# ?9 w8 X3 o+ ~2 R$ d. X" T/ _
</command>
) g3 Y/ [0 n9 ^3 D: T3 \; K- I </toolbar>, T# s b2 f4 a: G q1 m y
</menuContribution>
5 ]. m& L4 Y a* O
1 u, q @$ J8 a' \5 k
2 n% Z3 M7 ^8 m/ q: q完整的例子如下:
; u1 r! w& l1 ?. t! s/ e' {9 J9 b, e% D+ t
<?xml version="1.0" encoding="UTF-8"?>
" T3 y) n5 c+ e8 Y, J; {6 v<?eclipse version="3.4"?>3 ~, }' k& o7 Q' X
<plUGin>9 M5 r% {% U% K8 Y3 ~) \5 V
3 N2 `$ u' W" ^% F
<extension
5 f" K# f; l6 y/ V% X point="org.eclipse.ui.commands">
9 A9 R, I. A2 Z1 C$ [ <category
/ g; C2 G' t1 s4 h5 O- X' P name="Sample Category"
4 V& G- r% M1 R, L id="com.plmhome.createFolder.commands.category">
+ ], s1 K! \* @5 j& z X5 S </category>
( u$ Q. Z$ D8 A( }. y; ]& l" Q) v( {/ u% S" k' D7 F
<command1 y1 ]" Z8 ]/ a& l+ L# a
name="PLMHome CreateFolder". u$ ]1 d" a/ K; e3 ]
categoryId="com.plmhome.createFolder.commands.category"
5 x" [- U: E5 O$ U id="com.plmhome.createFolder.commands.sampleCommand">
, w+ _4 t0 G K; o8 n) A </command>8 z& R T$ l( A9 {. b( Y
$ x7 x o8 f J- q: w8 M! z( C </extension> L; Y" I% q7 U+ U, u: i! P
<extension
) N( ]1 ]. i2 U& g point="org.eclipse.ui.handlers">
) b" @1 u2 X- r1 M1 i5 t3 ^ <handler
3 Y) o, y/ N* o* z" Y commandId="com.plmhome.createFolder.commands.sampleCommand"; u9 J( ~ C m2 n
class="com.plmhome.createfolder.handlers.SampleHandler">
9 \5 B; U( V! a </handler>
" ^3 Z1 {# D( O6 l8 s% S </extension>
9 o# u3 @9 C/ N' \1 e9 y4 W <extension
; |3 @; l R2 i point="org.eclipse.ui.bindings">
0 Q& Y- U1 }# F* t* a <key3 Z+ l! N6 P7 E# a/ j, p: c/ F
commandId="com.plmhome.createFolder.commands.sampleCommand"4 o/ m/ ~ X' d+ v& p* E3 Q9 ^( j
contextId="org.eclipse.ui.contexts.window"
8 ~: j/ v! T; K( [3 ^6 k sequence="M1+6"; N; V( Y! G' ~% Z, w M
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">4 S- ~6 v8 o3 T3 R
</key>1 b) }" V" z- I
</extension> g/ y; S8 D0 b4 H9 `% v: X K
<extension
! p2 a, F" E2 f' @ C point="org.eclipse.ui.menus">
+ M) o: B! w* F! K+ F. B, V
7 U1 c& }( b) ]. z% D% j4 T8 w, J <menuContribution
) ?6 j; K& s ]* t2 ` locationURI="menu:org.eclipse.ui.main.menu?after=additions">* ~6 u( \' T2 y2 j2 p- {
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
# v& \, G0 q+ l6 G6 ^( a4 m <command
# v: G& [" u% j commandId="com.plmhome.createFolder.commands.sampleCommand"6 U% J7 d4 h% ?. ]0 M# A m, M
mnemonic="S"$ }" S+ _& G/ F$ Y. S" k+ s
id="com.plmhome.createFolder.menus.sampleCommand">
" O) r9 V$ Z6 ^- n* C( O1 R I </command>
A2 s) u: V+ X3 a; ]! _0 I </menu>9 O/ f0 m+ v2 f9 M' R
</menuContribution>
% O" r; K0 T7 ?, D, s6 K$ q& R* c8 `: ?8 x/ q
5 S, r V m) M0 F2 C8 E
' T) Y1 B% [* } <menuContribution
" f) Y7 g; _. |, q H locationURI="menu:tools?after=additions">0 j V4 [2 Y# G$ R% X6 x: \
<command
9 a. N( ?& Q% c. { commandId="com.plmhome.createFolder.commands.sampleCommand"0 J2 M1 |2 h. m
mnemonic="S"! F8 e; U2 w9 H$ W
id="com.plmhome.createFolder.menus.sampleCommand">
7 D" E3 h& N$ y/ G8 [, s/ _: F </command>- s; A8 e3 V1 l6 h4 H' e4 K
</menuContribution>
d C' J* e* F: B3 C3 b. h
0 Q/ o; U+ k. |$ p3 g6 e1 [' `$ ?0 [/ p& ?( h$ E1 a
, c; A# U0 J- a" a7 k4 s: P
<menuContribution3 ]6 _- E8 s, l V# j4 q* t) U
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
( m; c9 b3 A. I" l, w0 g3 N n1 B# d) f <command! \ B$ F3 p# \
commandId="com.plmhome.createFolder.commands.sampleCommand"2 h, _2 D/ `8 G c8 F- N% ^- f
mnemonic="S"# Q b* G1 j3 t8 w! Q$ k, N& J
id="com.plmhome.createFolder.menus.sampleCommand">$ `$ P- x* W) `, l \
</command>/ g* n6 B4 ?2 y8 e! ?( M+ x5 N
</menuContribution>
% A8 i$ ]3 c- q9 G
6 R1 o m6 V" |) e- W* V <menuContribution% x3 Z* H) h0 t" n
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
$ ~; M0 v5 l0 O7 m. ] <menu0 W( {% V5 d: f( M* U2 Q; k
label="PLMHomeToolKits"
( b- R7 }5 ^% B* L T- \ mnemonic="M"0 C4 u- A( _! \5 d9 V) [
id="com.plmhome.createFolder.menus.sampleMenu">7 L5 ?" T, n7 b A! k; d
<command7 m$ f4 K h' V; u" ^
commandId="com.plmhome.createFolder.commands.sampleCommand"
3 d$ Z/ Z3 a; S% p. C+ U6 n mnemonic="S"
/ E% {& Z5 ]% e" W% x5 D1 m id="com.plmhome.createFolder.menus.sampleCommand">
# w4 `4 H" X0 k2 z </command>4 O: N* g. A9 R4 R. q
</menu>2 N6 \* S" W/ d' K8 ?
</menuContribution>
( q" z0 B6 K. n4 [& N, Y' o# V7 \" h1 @: h& l
<menuContribution
9 M; @: b* \( G# M% H1 ] locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
2 e7 M+ Z' Z# r; B, _1 n7 K" G <command6 \ z% J! c+ W: [9 `
commandId="com.plmhome.createFolder.commands.sampleCommand"
* d% [. c& a$ j$ B6 J" c% q icon="icons/sample.gif"" O! j. w" D/ D4 A
tooltip="Say hello world"; J0 F4 E6 q9 A
id="com.plmhome.createFolder.menus.sampleCommand">
* V( L0 @ ~- V* B W, x- ? </command>
4 e8 L b# N1 b4 q+ S; [ </menuContribution>- l0 X" n* T6 s& z+ m6 P! G- p3 o
( t8 ~/ g$ V5 v" K; [( }' V
' R8 t, f7 P7 {$ }* w& b <menuContribution
; J( I- r, U# Q- r- D' W locationURI="toolbar:navigator_Toolbar?after=additions">4 X, A' X6 `0 d4 x$ [( b: _1 v
<toolbar
4 {; f+ [. ?+ v6 l6 y id="com.plmhome.createFolder.toolbars.sampleToolbar">( v, u( w# e% J% l) o: u9 Q0 j8 w
<command
( N+ k3 U& Q+ H0 M7 h commandId="com.plmhome.createFolder.commands.sampleCommand"
$ l I0 D" I Q) O9 e icon="icons/sample.gif"
# i! V+ k( K! j) a; S8 ^5 P tooltip="Say hello world"
" b1 x8 m% S) R! Q- r5 l/ [ id="com.plmhome.createFolder.toolbars.sampleCommand">
5 R( w( r& z0 @1 \0 C </command>
+ z9 h' e; N; C9 d </toolbar>4 U4 G* `1 Z+ ?( d6 O; S
</menuContribution>
; b) \# g% @) p, X* \2 I( k2 ~# d0 t5 }$ ~( l
5 }& n3 L( f+ K9 v/ x" _6 w
</extension> l6 ~, y' w& S; _& A- k. G! v( H1 H
1 A6 o" I9 [: G# E5 D4 ]7 g</plugin>
$ n9 L# f/ o; L% }1 j
3 B* y r) J! Z s. ^
" Y2 c. C* n6 w1 O( r& O9 G8 Q M6 D# \8 g6 `! b; _& q- |1 A
|
|