|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>
3 L [& Y# A/ c) ?% ~9 `1 L这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!2 P% v. j) C8 Q$ e% Q$ p) b
(1)在主工具条上添加菜单。$ O4 T+ Y8 Y+ @
<menuContribution
" Y0 N+ p- P: U locationURI="menu:org.eclipse.ui.main.menu?after=additions">! y0 l/ u0 L: N6 M$ }
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
5 }: M# I& o/ O0 h8 d4 c% G <command
6 h$ d9 Y% d4 s* X commandId="com.plmhome.createFolder.commands.sampleCommand"# Q* J6 P; k: z* J1 ]# g* d
mnemonic="S"
2 f0 J4 {& S z0 M. H" `4 N; j id="com.plmhome.createFolder.menus.sampleCommand">
0 G6 U2 k( o' ]) H( C5 ^ </command>. c% w1 v$ u/ p/ v$ m
</menu>3 @( n ^$ V9 ]1 [* U+ n
</menuContribution>( O0 w( d4 R3 J, }8 {
2 v S9 z# P8 n% z(2)在工具功能的后面添加按钮。
% A2 @7 f6 t9 u3 l/ p <menuContribution
/ M8 a3 P/ B* ]2 w6 ` locationURI="menu:tools?after=additions">: a H7 E6 b5 P7 m( m4 ]8 P' e
<command
! ]/ K% q, G* g commandId="com.plmhome.createFolder.commands.sampleCommand"3 o+ ]# y1 M0 J, C
mnemonic="S"7 l3 s R3 x2 s: {% z# R! }* q
id="com.plmhome.createFolder.menus.sampleCommand">: T$ O* N* w6 o& C3 Y
</command> n* i" o" K0 O
</menuContribution>8 |! U* L9 @3 T! [" T
& k% \: ]8 N. L2 X( A7 p2 G3 N(3)在右键弹出菜单加按钮
: t2 i# ] d' c6 V, d+ ?$ _, X: v* F <menuContribution7 b; _" R* G4 C
locationURI="popup:org.eclipse.ui.popup.any?after=additions">9 v4 i ~# G8 W: W
<command/ u' v2 \5 J E: N
commandId="com.plmhome.createFolder.commands.sampleCommand"
% S# I7 m+ G/ I2 Y- P8 M mnemonic="S"5 _3 w1 k$ a3 L6 O# V
id="com.plmhome.createFolder.menus.sampleCommand">
]0 E9 @- l) I </command>
/ O* D- V( c3 M) i </menuContribution>* {/ c- s2 o0 W- h9 X
(4)在具体的菜单后面加功能按钮
- D& E9 L! `4 x+ ]* ^' B+ f' Z( K <menuContribution
- e+ B& O2 ]1 v) H locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">& U, o; {; M2 L c3 w6 v
<menu
; A* X5 V1 y8 O: S% O: S label="PLMHomeToolKits"
8 W* C* F. w" S `2 k4 R+ ]: ^ mnemonic="M"
5 J" Z- ]# v1 K' i1 F5 m: r id="com.plmhome.createFolder.menus.sampleMenu">
$ I8 q1 M9 @" {# Y <command
5 \1 ?. l$ W$ n2 ^: G2 D/ h2 i! [ commandId="com.plmhome.createFolder.commands.sampleCommand"" @7 ]! c" B5 u4 c6 r, c1 D
mnemonic="S"$ U8 N) C$ O& L$ @
id="com.plmhome.createFolder.menus.sampleCommand">
+ ~6 ]9 |- l- ~ </command>
& e7 n i1 D, U* @0 X </menu>/ }$ F( z: l3 U& \% {8 \
</menuContribution>
: g, o2 M2 x& J( A6 @7 |4 S/ A
! S: g8 b0 e) ?9 s6 w(5)指定位置,直接加按钮
% b4 W M8 G* J; D, z8 ^0 B <menuContribution
7 w: P( s+ ?, Y4 L" V/ L# |( T locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">0 c$ [3 `6 j- e' _" Q
<command
/ z- K2 w& T: k( P1 d4 Y( L commandId="com.plmhome.createFolder.commands.sampleCommand"
. j F7 w5 i7 m icon="icons/sample.gif"# w9 M" O/ u. W0 }. h( T" y) v8 q
tooltip="Say hello world"9 N6 k0 p& l1 T9 L, i# ~7 C: U
id="com.plmhome.createFolder.toolbars.sampleCommand">% p! m4 |/ {& ] m) f+ u
</command>* X; ]* h; c' k$ y, L! @. a0 [
</menuContribution>
) q5 d9 F6 K" M# E3 e) X
5 k" e, p4 T7 W( M9 f+ [8 Q(6)加工具条按钮8 }& W1 X& m0 E+ l/ J7 A
<menuContribution
/ J( ]9 r" Z5 k8 R$ a locationURI="toolbar:navigator_Toolbar?after=additions">
+ P! J8 m3 O! ^/ a <toolbar
# g0 G3 d; F6 i; U8 ~: f5 r; X; u id="com.plmhome.createFolder.toolbars.sampleToolbar">
, Z3 V! w* @5 `# a) U <command9 M) v; C/ L" ~) L7 v0 d
commandId="com.plmhome.createFolder.commands.sampleCommand"
. I3 [4 ~: @! }* }, f {" f icon="icons/sample.gif"1 d+ d' ]8 k# y% t; Z# U
tooltip="Say hello world"
$ T7 q: G8 {7 X id="com.plmhome.createFolder.toolbars.sampleCommand">
; u2 f4 G+ |% ` </command>. l8 x& o7 t( L. J: d2 _% Z
</toolbar>
9 Q7 }4 h; k3 S6 G) A* | </menuContribution>, H- R, v0 G, d) o- r% d! t' x
9 j: Q3 l8 ^7 _
o) P6 y7 t9 _1 p+ C6 s完整的例子如下:# C. P; s$ p+ C% F" V3 x. ~# Z8 x
4 t+ P1 i" ]4 N: `5 v5 v7 ]<?xml version="1.0" encoding="UTF-8"?>
3 @" R" U: u4 O( y6 q+ v: O W5 z<?eclipse version="3.4"?>
% J; f) s) P- i2 f9 U. U+ ^<plUGin>6 J2 @8 k, e9 H4 K7 Z
* P8 P. m1 Z5 T0 m8 ]* F1 S
<extension7 @# H$ j* |9 R- h) q. k
point="org.eclipse.ui.commands">
+ n! {/ H+ N* s1 h; W- R <category, V ^7 _0 l U6 I7 A( Q
name="Sample Category"6 t% r7 u7 ~$ w3 h1 ?: S
id="com.plmhome.createFolder.commands.category">& K5 ~% M A4 Z2 b* `
</category>) u% c8 x9 Y2 e W3 n$ A' @
# k ?) k6 \4 |# J" G5 G
<command
h& e5 j) o* Z5 W+ b7 a( y5 u' B name="PLMHome CreateFolder"
/ `. E: m+ ~( W1 O4 R5 v: z3 m5 }: u categoryId="com.plmhome.createFolder.commands.category"
. d5 h# i. W8 E4 z2 k { c J id="com.plmhome.createFolder.commands.sampleCommand">: a: j, R" V3 x
</command>, i: n: W8 F. G: Z
3 r: i% l+ U4 b) t1 Z2 N
</extension>8 y7 a" ]" v, V: c
<extension4 R/ P9 P8 u3 g. F6 k" S, n5 M3 _# s
point="org.eclipse.ui.handlers">
& h/ j0 j; o* e' U( K( ~ <handler8 }4 ]& j7 e( s3 O. @, Z" I
commandId="com.plmhome.createFolder.commands.sampleCommand"' F* }: d0 `# O7 Y6 K
class="com.plmhome.createfolder.handlers.SampleHandler">, I i) X6 P- [7 T. x- k) e, G
</handler>
5 J7 _3 e" d+ A% U2 ` </extension>
, `' [2 G+ F( B2 @& k6 F6 C5 W* C! F: B <extension0 Z5 B; W- H- K9 L
point="org.eclipse.ui.bindings">
" r$ h" N3 \9 n2 Z @ <key" X9 k1 v$ M: \6 o. v( ]% Q- r
commandId="com.plmhome.createFolder.commands.sampleCommand"' h( n2 _5 R1 i" K% N+ E
contextId="org.eclipse.ui.contexts.window"
( h* W! }8 y! o# t/ D sequence="M1+6"
3 s0 e6 E [4 N) n5 u schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
6 g; T& Z1 ?: E# X </key>! m$ O6 D0 v x6 s3 Y5 G8 E9 |
</extension>
7 h I- c) ?4 H3 X$ L <extension( M9 O: j8 l: N- Q5 x e
point="org.eclipse.ui.menus">( C2 c r- m! E# H4 V
- k5 |+ _6 f9 _ <menuContribution
) A6 C- w. k- E0 d3 X% U( x locationURI="menu:org.eclipse.ui.main.menu?after=additions">+ J, |& V I" ?& L9 o8 ?; A
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">5 X/ M# J! R+ a1 ^9 U6 O- q
<command- ~# v! Q0 h4 N( A
commandId="com.plmhome.createFolder.commands.sampleCommand"
& |2 M7 ^4 S6 o; z) O) T mnemonic="S"6 A' e9 z: O: l! ]
id="com.plmhome.createFolder.menus.sampleCommand">
# n r1 {- k; ` </command>6 ]' j" O0 c4 Y& f( F' ]6 g) s
</menu>/ S8 W+ I" v2 q' A8 P& f4 M
</menuContribution>- g: D3 k$ T/ V% E2 b% e: Y$ q
8 |- C3 g: `: ~& r( \) z$ S( e v6 M2 C' ~6 n8 T
8 d9 U1 i# _3 P. _- {/ v8 s; V
<menuContribution
3 d' |( ?9 v3 l- c6 I) P5 ] locationURI="menu:tools?after=additions">8 B# X: `4 t' X! L8 L
<command
0 L7 C0 i/ w- W$ y% E$ N commandId="com.plmhome.createFolder.commands.sampleCommand"
( ~' U5 O& o& g mnemonic="S"
7 `7 g& p8 o5 K7 ]' m) D id="com.plmhome.createFolder.menus.sampleCommand">5 d2 `5 `2 j2 e! I2 @1 X
</command>
% f- V7 E& H- Z' Z9 A* J# H: G8 W" I) } </menuContribution>/ d# L4 m0 y* f4 E
?$ A o% A, D8 F# x0 B/ D1 H
# ^3 |7 Q8 u2 X: h" w4 Z# T1 J3 F4 d
5 J! e% h9 w$ i <menuContribution1 m0 z( ]# S' Y; O/ |
locationURI="popup:org.eclipse.ui.popup.any?after=additions">0 n6 s8 P5 u) x; B; N
<command$ @6 V0 i0 G5 H. F7 _
commandId="com.plmhome.createFolder.commands.sampleCommand"
9 ?+ J9 u+ ]5 n mnemonic="S" r5 d4 s) q4 D5 b1 b
id="com.plmhome.createFolder.menus.sampleCommand">
" i& _- g! H5 i; M( {( [ </command>+ M4 ~1 k3 j1 o( X" r3 i+ O7 K
</menuContribution>
( D" L' K) i. |; L$ j. F: ^/ Q6 f
3 u, a1 r' X8 @: t <menuContribution0 |, b* G* a( Z
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">1 r% P T& b% {; W
<menu
E* H; C; K3 g* E& r- V label="PLMHomeToolKits"
! H' _! |( k1 w( H2 R% I6 A mnemonic="M"
0 x3 N1 P* a6 a: A id="com.plmhome.createFolder.menus.sampleMenu">
1 d; j7 ]" M9 ^$ U <command
% d; m5 m" |' V+ T; h' {0 x0 @# D commandId="com.plmhome.createFolder.commands.sampleCommand"0 y* Q6 o2 l7 @+ Q( A2 J1 E
mnemonic="S"' }6 \1 k; _1 a2 r/ \+ S' g
id="com.plmhome.createFolder.menus.sampleCommand">
+ x0 x& I3 S6 ?2 {& U u. t+ r+ x </command>
& c1 S$ f- Y! X4 x </menu>5 @' f4 i; L: k( `
</menuContribution>' |+ | U: n9 p% o. W* J1 U: X
, B0 L% @6 M! G; R0 D- l <menuContribution9 z/ b9 ^1 ~7 R4 p2 s- Z
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">! ]9 U/ B2 m4 T6 G6 A5 [1 D: {
<command
# N' v& Z9 B x* [ commandId="com.plmhome.createFolder.commands.sampleCommand", e4 _6 r0 X2 Y- @) h
icon="icons/sample.gif"
6 `" P0 m9 U: }+ J! V tooltip="Say hello world"
! {% z7 s. m( T! M0 f9 `' U id="com.plmhome.createFolder.menus.sampleCommand">) I. T$ v# Q7 D& s* z4 Z+ K2 [ N
</command>7 l; i4 p: ]$ _: y
</menuContribution>& |! d4 T( R# `$ T# T4 X/ j: ]; w
6 B( ~$ O) ^& F1 g) Q: L: _
. i2 R$ E0 b; G/ n7 }/ P8 k6 f- Y8 h
<menuContribution
" z$ G1 O3 t+ t5 W2 R locationURI="toolbar:navigator_Toolbar?after=additions">
$ L: c$ s0 \& G/ E5 z <toolbar
8 o" I5 x9 q+ G8 ` id="com.plmhome.createFolder.toolbars.sampleToolbar">
# K2 U( s$ E5 y) f5 _ <command% J! [5 P' `/ I, H/ K1 d* m
commandId="com.plmhome.createFolder.commands.sampleCommand") I1 ^8 t3 D; C% l
icon="icons/sample.gif"
! Z, K! |6 L4 M; g% c tooltip="Say hello world"
6 m" o; E) E) Q) a3 k id="com.plmhome.createFolder.toolbars.sampleCommand">- i; B& e3 H, p8 u3 Z
</command>
6 j- G2 X. e0 k </toolbar>0 R) B/ f* r( ~7 ?2 m+ b
</menuContribution>
2 A( J: W( d1 K& H1 E- N$ i* G; z1 r6 {; R, D
% B8 y R$ a4 c- U% N) o </extension>
_( o; w* X5 k& B1 c9 k+ _2 }( x- w
</plugin>; y! a% R2 V' _& A, Z+ A1 s {
* w0 ?: E5 H) D1 e
' O; n6 {4 B& d" @5 N/ A4 r# Q2 a1 d( r; A" k) C/ E4 `- G4 V K
|
|