|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>0 ?9 r. ~+ i A; ?9 U
这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!
2 d( J. ]8 r" C1 D(1)在主工具条上添加菜单。0 F; M' w2 h5 N6 f$ O# i
<menuContribution1 A3 w! w( A) I7 ~; @
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
4 W) W! A5 ^2 r- n7 t <menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
. {" x- M2 P5 Z# q" E <command3 }2 N2 X+ ?& j: B
commandId="com.plmhome.createFolder.commands.sampleCommand"0 X/ v" h9 }, w5 z8 R, u
mnemonic="S"
/ x, f9 E3 @& d8 _6 ~" ?; d; s3 V id="com.plmhome.createFolder.menus.sampleCommand">
9 ^1 v2 Z- a7 g# B- J </command>
7 Y: [) r6 a$ W3 C </menu>
d1 k2 H" l: y# g. u; n </menuContribution>; U. g5 w8 O: R# z( S
9 ]7 U& B3 {; \3 E% f) @" r
(2)在工具功能的后面添加按钮。
; b& G1 ?* d1 J5 A3 M: E1 j <menuContribution) r7 ^: |" X. M& Y: p
locationURI="menu:tools?after=additions">" h+ S/ g: z" I8 a6 @4 d5 S2 G c
<command h6 m# l9 u; e. L
commandId="com.plmhome.createFolder.commands.sampleCommand"
- B! q. ]' r1 s5 T1 J- c" T mnemonic="S". ^4 e, m; i6 z2 p3 J' j
id="com.plmhome.createFolder.menus.sampleCommand">
$ |1 O1 q5 W. g- X6 i( ~& S </command>
' D+ x6 u" O% R7 ?/ T </menuContribution>
) m5 \ ~3 K2 Q" [8 h
* |+ T# u0 l- E4 ^/ r) k(3)在右键弹出菜单加按钮
! S4 p L3 @+ l2 r: T/ R, H! o <menuContribution' V- Z) W8 m. `' y X, g1 Y- _
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
# e$ s5 V! F2 E2 y/ d9 P2 n6 z <command
! M$ y- q7 C* L; n# P0 d5 Q commandId="com.plmhome.createFolder.commands.sampleCommand"0 r: l& g* V# F8 w% j
mnemonic="S"
9 ?9 l0 z1 b% s& R id="com.plmhome.createFolder.menus.sampleCommand">% w' [- w+ q N- \- C* U
</command>, I. e7 G; ~9 e2 i3 d6 _ A- i
</menuContribution>0 V2 v& I( U; S* L$ f( |& ^# g0 p
(4)在具体的菜单后面加功能按钮
+ M; X9 E6 l& d0 e5 B <menuContribution0 A/ ?) e( L9 S0 f- h6 |9 ]1 B: l
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
" p4 d- i& l* F5 W, S- n <menu
/ {* e" _- U7 P' `, F label="PLMHomeToolKits"
* F1 D( w/ @3 L+ ?4 `* t) d3 w mnemonic="M"
% R9 b3 x7 {/ B/ F/ k7 l% V1 K id="com.plmhome.createFolder.menus.sampleMenu">
3 n9 z( P# W9 V <command
+ L, b# G% W9 W' C commandId="com.plmhome.createFolder.commands.sampleCommand"% L# }9 C0 W" M* s, h1 E' ?
mnemonic="S"
?1 ^; {8 t7 S. e- ]4 t- P8 S id="com.plmhome.createFolder.menus.sampleCommand">
) ?9 u9 e6 r% n. F. y+ ]/ z </command>0 |0 P; l/ S, c9 K/ M
</menu>
1 l ~ T% d2 V8 n </menuContribution>' k0 `. g. k2 K) A. B5 k
j( c; E, M0 J/ a
(5)指定位置,直接加按钮
+ ]5 E& q1 c4 M- T; T7 X/ @1 ], x: Y <menuContribution8 L7 g# S; d8 D! A- |7 j8 ]7 ]5 K7 J
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
, G2 K, l8 @- ? <command
' @: P+ ^2 x9 V1 w: N; e- n commandId="com.plmhome.createFolder.commands.sampleCommand", V5 F' M0 U: q" ]
icon="icons/sample.gif"; S+ g+ w8 q& R
tooltip="Say hello world"% W2 G+ ~& D% N* O7 @' Q9 R8 w f0 X
id="com.plmhome.createFolder.toolbars.sampleCommand">
' D, g& t: Y2 g* {* w </command>
5 w* C: o2 \' S: _/ R </menuContribution>
' b% L# K6 E+ o1 x& b7 a' }9 h3 E2 n( H/ c2 Z
(6)加工具条按钮- }, p; t* q! _" @; V4 @' M: P% I
<menuContribution
( |" P+ K' }9 G R0 }. p, z5 @ locationURI="toolbar:navigator_Toolbar?after=additions">5 P8 L9 @/ Q. K! b, {# m
<toolbar4 Q: i1 E9 l( O5 R6 B9 y/ U
id="com.plmhome.createFolder.toolbars.sampleToolbar">% b+ Y$ L. @- I, T
<command7 b! K4 U! T/ [* ]$ }4 m& {
commandId="com.plmhome.createFolder.commands.sampleCommand"
* f+ p! j, G( d$ J, g icon="icons/sample.gif"
) p* E+ w" D; ? tooltip="Say hello world"- X: E7 r* Y! \. \' x6 S- K
id="com.plmhome.createFolder.toolbars.sampleCommand">
$ Z2 h# t, ^0 m1 i. H- g" }# w, ~ </command>
" ^( {; Y3 u3 W. e Q+ X5 L </toolbar>, x; R1 R5 T3 Z; d
</menuContribution>
9 U3 H" b* j$ g R: J7 b" j2 R+ W1 s6 X! C/ E( ?
8 ^" A, j0 w' X2 g D
完整的例子如下:. D, g% @, e v, K+ i2 g6 Z4 P
% Q5 O1 x7 w* x6 \) N<?xml version="1.0" encoding="UTF-8"?>
* L8 E5 q" k- {6 \& v$ }<?eclipse version="3.4"?>+ r4 w$ X0 Z- A' u. w- z. @ ^- \: x
<plUGin>! B' p4 U% @. Q2 d0 v2 m
! y3 \1 H# _- z2 p1 q2 T
<extension# \. M; J3 q2 r! b! w0 S2 M
point="org.eclipse.ui.commands">
- d' a3 R0 O" D+ k. ] <category
% q* S' r; {% Q name="Sample Category"
1 c5 Q: @6 Y) T id="com.plmhome.createFolder.commands.category">
- W6 r" W, ~ G </category>
9 ?' D. ~6 m. d* u+ Y+ X5 }
5 G: a; ^! n1 U7 V) p3 C, \! n <command
% g; Y; ?% {% j0 f$ w name="PLMHome CreateFolder"; n5 _4 i8 [9 I5 H
categoryId="com.plmhome.createFolder.commands.category"0 J6 s5 t N- i# w
id="com.plmhome.createFolder.commands.sampleCommand">9 I# l, h6 v9 F+ C9 N9 x0 g( ]5 k
</command>5 D/ R) z6 j* ]' E; v( X9 h0 C; W: ~
/ [0 P# L" `7 e </extension>, w5 [: J( ?7 z2 @- N
<extension
. h: w# S; w& a point="org.eclipse.ui.handlers">
( ?6 j+ P# k7 b. E8 ^* N, E <handler N: `2 G7 m9 ]* Z/ T# {) }2 S
commandId="com.plmhome.createFolder.commands.sampleCommand"7 U9 b/ w- J' N' t1 {
class="com.plmhome.createfolder.handlers.SampleHandler">
4 a5 U7 n% [ E$ a, R1 m </handler>
% H. T( U9 C7 H </extension>) C w+ G$ K4 `; F
<extension
& D% B: O* D9 e8 r point="org.eclipse.ui.bindings">1 y8 R# A! b/ J/ y7 b( N( [
<key6 F" G& ^! ~" e: j1 P3 p$ g' i* t/ z) n
commandId="com.plmhome.createFolder.commands.sampleCommand". h! L. n% \3 K4 J7 t( I, l
contextId="org.eclipse.ui.contexts.window"
; A6 O8 }- \; u7 L. ~ sequence="M1+6"
- E4 ?# m! T$ Y/ v& z( M3 `- H schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
* t0 j0 T9 ?: h. C8 c( s </key>$ w d/ V' C# ~8 Q9 L. O1 _+ _! B9 w
</extension>2 e! o2 X C& J( Z
<extension. j% D8 M& ~) y+ E0 f
point="org.eclipse.ui.menus">! ?& M0 Y$ b5 P% b
* L6 h! @# r7 A& A$ z6 B
<menuContribution
o7 |) V+ f3 G) g- v Q' j9 U locationURI="menu:org.eclipse.ui.main.menu?after=additions">' `4 n% Y9 A/ s
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
" u, F& n, H. x7 x# S, Z <command) A5 k/ K9 N: F2 T' Y9 B5 [, e2 T3 {
commandId="com.plmhome.createFolder.commands.sampleCommand"& D$ k! N2 n8 h) I5 p9 k, R/ d1 H
mnemonic="S"* Z( ~) b( g7 \
id="com.plmhome.createFolder.menus.sampleCommand">! o$ i4 [# c3 F/ s& E% Q( @. ^; M
</command>
+ [0 y7 @ x8 b; H# p* C& d* _. R/ J </menu>- X6 x6 o$ j" E7 v- t
</menuContribution>
# {- L5 e1 _6 R9 t3 P
: c3 J" g5 I- O% z
2 u% P* z2 p0 ]+ Y# b$ N
& C8 t9 A9 t0 l- n/ G5 X: L1 { <menuContribution( D" [% ~* l4 e" }; O( G' T$ g# }6 H% ?
locationURI="menu:tools?after=additions">
5 m; Q" [9 v: R$ p8 y" @ <command1 ^# l0 R8 L% f. ?
commandId="com.plmhome.createFolder.commands.sampleCommand"' t! }% @% O2 j
mnemonic="S"' A8 Z# M9 S j4 `3 N
id="com.plmhome.createFolder.menus.sampleCommand">9 w4 e! r7 k- M9 K9 L0 R
</command>) i5 q: B# V5 L$ T6 b' G
</menuContribution>( B4 S/ }& N9 j( d. g
" x% x; I4 P; |4 v" p; ~" q
( l8 m" d" l; d4 q% S1 _3 W/ }$ |0 @% _5 d$ N
<menuContribution
$ }6 U: O; p u! ` locationURI="popup:org.eclipse.ui.popup.any?after=additions">. [* g! ]% o8 u; k2 |
<command
+ @2 k3 F" w, h+ u P/ m2 G commandId="com.plmhome.createFolder.commands.sampleCommand"3 p4 |; t3 X) U; e( H! V
mnemonic="S"' |# i) L; J: W- ]8 a/ o
id="com.plmhome.createFolder.menus.sampleCommand">
# |% S; [9 }0 \' c2 ?% F! a% a; V </command>$ ?: ?! G$ z" {+ P4 a3 B0 f# |+ N5 J7 X
</menuContribution>! c& I! Z0 _# D& A" A
7 q0 [& B Q; X: g- t9 X* y
<menuContribution2 T/ [7 R7 v3 q' H! c
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
8 r- I) o! \8 Z8 b <menu
" P( N$ U* [9 x" ^ label="PLMHomeToolKits"+ k* o) u" Z5 {# H6 `2 W
mnemonic="M"7 E5 u2 r! v r8 B$ v2 f
id="com.plmhome.createFolder.menus.sampleMenu">
8 k& h F- d$ w$ B& x1 M <command
! T: e. _' m6 ` commandId="com.plmhome.createFolder.commands.sampleCommand"
/ D/ x: Y7 p! s7 z, ~ mnemonic="S"
9 w0 ]4 f$ P% D id="com.plmhome.createFolder.menus.sampleCommand">
: e( R1 l+ }! Q- }9 X3 U </command>
3 @+ ^) {8 [+ ` </menu>% _9 C/ `" L/ I5 ~
</menuContribution>
! l: K; h2 V8 S& b
1 j) z1 e( s# }& I) g$ u <menuContribution6 J6 |3 ~1 t) D/ Y2 X
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">! G2 h& J. r9 _
<command$ z6 W1 j+ f( @9 ?6 T1 s% @
commandId="com.plmhome.createFolder.commands.sampleCommand"
/ i) Z9 L, \, |& {3 F icon="icons/sample.gif". V; z- k7 @' K) }) ?: H
tooltip="Say hello world" s) c( j+ } @* }( I9 Y k
id="com.plmhome.createFolder.menus.sampleCommand">
5 G- N; Y) J1 Z l8 H3 C0 `3 w </command>
* K0 ?8 y& A# j1 B* o1 i </menuContribution>
6 ~( M: P/ k$ f! c6 \3 Y
) M; ?& ]6 y; Y9 J0 u% R0 U+ [7 a" X7 |% A
<menuContribution8 k$ E$ N3 g; u! R" r* v! c- q
locationURI="toolbar:navigator_Toolbar?after=additions">: i' s# q9 r7 Q1 [4 d: Z w
<toolbar
' f2 }) k1 W' [3 W id="com.plmhome.createFolder.toolbars.sampleToolbar">
) [4 \0 Y. T; ]: }" a5 ~+ \: Y <command
i6 s" u( A- M commandId="com.plmhome.createFolder.commands.sampleCommand"
- y; i) g5 ~! Y `5 b! H& v icon="icons/sample.gif"
9 @9 @# J2 f$ P# O. J tooltip="Say hello world"
2 A5 s% m C# I- Y* [. G9 n o id="com.plmhome.createFolder.toolbars.sampleCommand">
8 A* Q# {# g2 j- g, P+ m </command>5 b5 n4 t; k: K; n% k. ?2 x+ r" a6 i& k
</toolbar>
; P" a( L) P! V1 a </menuContribution>
/ T/ C7 i; |9 r/ b
, H3 L; p" A; M# X2 P5 m% B- s5 |, y* N8 `" [' C: P% ~
</extension>
3 J3 j7 J6 k0 c8 d3 k2 ?- Z7 t2 w
</plugin>
. M0 {7 K- L4 y) `* M6 D" x
6 b; _+ `1 T# u, \: U, m/ `
, }, _+ h+ Y; Y* \6 d4 R) V
8 p+ |2 t. d! b& Y$ Q+ U5 p2 W! ` |
|