|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>6 U$ H( `! ]9 \) [) R7 u7 K
这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!
# O i* J. b1 B, m) Z(1)在主工具条上添加菜单。
6 S: V# t3 f1 S. k <menuContribution
% S. ^1 q. C9 x1 ?7 H locationURI="menu:org.eclipse.ui.main.menu?after=additions">
" o: i5 d( U# h5 O* V <menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
q4 i' s/ n% j# O9 k <command0 U8 B, S0 m7 ^% `7 O) U- i
commandId="com.plmhome.createFolder.commands.sampleCommand"
+ d# n4 a" w0 f; W6 q, G H mnemonic="S"
3 D( y* y& }! {! T id="com.plmhome.createFolder.menus.sampleCommand">! C9 I4 s# ?/ e
</command>9 T8 U. V x; N/ E7 b
</menu>
1 U2 K( x, p: p2 p </menuContribution>
; z) p- r# w i8 j$ U. F) z5 o9 s6 [' p2 R8 o! R) Y" ^
(2)在工具功能的后面添加按钮。: y. B5 h5 H7 z! R4 D" g
<menuContribution
0 c, c" S' W- c, p$ x/ U- |7 D5 X locationURI="menu:tools?after=additions">
O+ m) k. Y. q1 @6 X% n' u <command
( M9 `$ w) Q k T9 ?7 j2 q9 ~ commandId="com.plmhome.createFolder.commands.sampleCommand"; l( z1 P3 X$ s& X4 X: u0 Z
mnemonic="S"
9 c+ Z. e2 |- ?. T1 [+ d id="com.plmhome.createFolder.menus.sampleCommand">
3 X7 l" }' _7 V' s& R) q </command>
) X) P+ v" R: H* x$ ~/ [! y </menuContribution>' T0 w+ K; M) D& P8 ~7 i
0 e% t, H5 B& I$ c; _/ _0 T8 J(3)在右键弹出菜单加按钮. i1 u$ c; I( x9 N3 E0 P. i$ z
<menuContribution5 P2 q8 y2 A) o0 g3 m+ o9 w8 }' i
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
' Y. B/ J+ v- W2 ] <command2 C/ Z. l% o* `) K4 k+ u- C
commandId="com.plmhome.createFolder.commands.sampleCommand"/ a" u0 T- P2 S! Y( S; J0 r7 T6 i
mnemonic="S") U- G/ c$ V2 F9 H6 G8 i9 Y
id="com.plmhome.createFolder.menus.sampleCommand">/ [; F u; A/ W8 Q2 C! S3 f* b: y
</command>7 z6 J8 E/ O B) p+ h9 C
</menuContribution>$ v: A9 D, ]1 P) t
(4)在具体的菜单后面加功能按钮9 |$ S) M8 d$ ?0 q% _. R8 U, q
<menuContribution* N8 @3 q* W6 Q2 ~2 J2 z1 H
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">. m6 N1 T6 P/ A2 D& G! R
<menu
; Y" N" {! j) { label="PLMHomeToolKits"
u5 a$ S* H% k* Z' X. P mnemonic="M"
% j1 o1 C4 M5 A L4 J id="com.plmhome.createFolder.menus.sampleMenu">
& f* Z" u+ h+ f <command
' Z& x2 x2 B% b6 R1 N5 O3 J. J A commandId="com.plmhome.createFolder.commands.sampleCommand": @; {4 n7 W% S
mnemonic="S"' x; y2 N7 P- J9 X9 c
id="com.plmhome.createFolder.menus.sampleCommand">
! o' P1 Y% \- q# n1 U$ t8 a- _* E </command>
& D5 f( o3 i, H# s3 |3 {: ? </menu>
4 t8 |( e6 o2 {( Z5 y2 d, s4 T U </menuContribution>
( H9 L5 n6 V0 C/ r$ Y: @/ B& o" ~
" S& w9 v0 {4 Q" F- |& C(5)指定位置,直接加按钮
6 I) E: ], l/ b <menuContribution
, |: \+ s/ ]8 q- I3 S& v locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">: A8 M. S* b2 J) l
<command
. n% V+ D2 x: y; \ commandId="com.plmhome.createFolder.commands.sampleCommand"
7 {$ u* E% v, X7 R8 c: w. L! z3 u icon="icons/sample.gif"
# |. D0 r$ E2 T2 `& L tooltip="Say hello world"
* ]0 x( ^. J% s8 |9 H% o id="com.plmhome.createFolder.toolbars.sampleCommand">
/ @# L5 ~7 P5 f! I </command>
0 R7 L! P7 a1 ?( [( G </menuContribution>) b4 F% J5 X: n p% v8 o
1 X1 H/ h7 u& K' Y: x(6)加工具条按钮
, P# k9 _& A3 ^2 I( K+ X7 q6 F <menuContribution
4 f/ M. l- }& A; ]8 ~ locationURI="toolbar:navigator_Toolbar?after=additions">: i$ p5 m0 R8 ~4 }; Y
<toolbar
' g5 j1 o6 `' t C+ [% e/ _ id="com.plmhome.createFolder.toolbars.sampleToolbar">) Z- E9 t+ |' J" Z/ L
<command
/ B: `; b+ ^7 d9 Y' P' I commandId="com.plmhome.createFolder.commands.sampleCommand"+ n) `6 b( Q: L' u& T+ o
icon="icons/sample.gif"3 ?3 R8 \9 ], \5 t H) a
tooltip="Say hello world"
4 l1 j. J. @8 s id="com.plmhome.createFolder.toolbars.sampleCommand">/ Q6 ^' Q: {: f% m0 Z" f, D
</command>4 C0 @& \ K" E& \0 u
</toolbar>5 ~( z8 E1 i" A' {9 j5 o5 }
</menuContribution>
: p5 H6 ? h* J# y$ k5 a0 U6 {
/ O& R6 ?1 q3 n, t( n
, T6 o. [( F% W, u' B. x完整的例子如下: k' z$ j' _7 N3 s; ]
7 w% M! O7 ~/ T: R<?xml version="1.0" encoding="UTF-8"?>
4 P' J/ X3 [( @' a M<?eclipse version="3.4"?>
0 f' D# U& o Z% c% b) L4 n' A<plUGin># t D8 N- O3 z3 g3 v
9 \# ]/ P4 U+ |* d' n* } <extension
! h. O; f& W6 {. {5 [ point="org.eclipse.ui.commands">: S8 C' D: ?* ^7 w: D
<category
' `2 ~& A' a! z4 F0 d+ n name="Sample Category". n* r5 y& c* b" }
id="com.plmhome.createFolder.commands.category">
3 P9 s& |; f8 \5 o+ p* C9 N8 j </category>& B$ q% s( p; }
_! i0 c2 K/ m4 n# M, A. J! F: Y <command
4 S2 r( H7 ?2 \- m+ T name="PLMHome CreateFolder"
" e; a# ^6 ]( f- [ c$ y+ n( t) o% ] categoryId="com.plmhome.createFolder.commands.category"
$ i0 v5 Z' V+ @! x9 ^7 P, U id="com.plmhome.createFolder.commands.sampleCommand">
# ]# S1 ~, m8 \8 a/ U: X! n$ x </command>% u& E3 ]5 B( ?" i
7 s) S' e8 g5 [/ I: C5 {5 {+ y
</extension>! d. K* Z3 }- M& l3 v
<extension9 m& e( \8 t$ X
point="org.eclipse.ui.handlers">8 ^! g& P! W% ?5 _3 f# v* g" T" _
<handler: f/ o% l) D* ]: D; o. [
commandId="com.plmhome.createFolder.commands.sampleCommand", p& n0 m0 V$ r
class="com.plmhome.createfolder.handlers.SampleHandler">
) j/ J a3 N/ G </handler>
6 {! o3 n6 v+ x/ `1 E </extension>0 h1 P) V2 I( {' Q6 Q
<extension7 B3 E @& q- L2 w
point="org.eclipse.ui.bindings">
( j3 \5 d/ f1 K1 G <key8 {. `- W C( Z. l$ c
commandId="com.plmhome.createFolder.commands.sampleCommand"4 @ M2 E# \2 V
contextId="org.eclipse.ui.contexts.window"8 q9 L6 P1 \2 A
sequence="M1+6"
! ?6 Q/ L9 k, n1 F/ M) F% G7 ^ h schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
. c, Q5 L7 w, \ </key>/ L! a0 t8 F9 y, S$ Y
</extension>- ]9 \, Y1 l' g; R. E2 P! _( r1 j
<extension# z1 I& c) D5 }- H5 h
point="org.eclipse.ui.menus">
! a& [; S# a2 }) {+ F8 M$ S e5 F7 i$ A
<menuContribution
S2 N) ^& ~" T: y2 l; O# N( D3 U+ T locationURI="menu:org.eclipse.ui.main.menu?after=additions">: o9 I2 p6 X, m' u
<menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
8 O/ g+ q% B. V: r <command
' r3 X5 {% M, s' a commandId="com.plmhome.createFolder.commands.sampleCommand", v; |7 i8 n5 x# Z; D, t5 }
mnemonic="S"
: k4 \: e4 h( \1 K0 B7 o id="com.plmhome.createFolder.menus.sampleCommand">
- h: o# f! e4 P. F </command>
! A" o8 k8 O+ e9 p1 p% K; c) `! b </menu>
& d' h6 q1 E; e( f) M6 u# s </menuContribution>4 x$ k; p: R5 {2 y" K( u0 p! D0 e
0 F) X5 a. y3 w1 {, F7 {
& w9 ^% I* N- T) x. {
# a) e/ B3 Y+ D1 | <menuContribution
+ u( ^/ p+ g* Z2 x locationURI="menu:tools?after=additions">+ _' G/ C D8 L2 |( z- }
<command
3 R! Z; L) p% V! K commandId="com.plmhome.createFolder.commands.sampleCommand"
, Z6 o, F( {8 L/ j' u+ ~. H% | mnemonic="S"
+ h" G% K" ?' l* D id="com.plmhome.createFolder.menus.sampleCommand">
& a$ _0 s8 n$ q </command>3 @7 O% U+ F: Z, Q7 g1 f( i
</menuContribution>5 L: ]/ g; a- U' _
( Y8 s6 A! o; {
* |/ q5 U1 q( X2 r- T) A1 z) [4 H2 N
<menuContribution
+ I; y' G% ?+ [6 `, n+ r! i locationURI="popup:org.eclipse.ui.popup.any?after=additions">
: N. L7 R% t, L2 \# a! h+ G; E* { <command% \1 ]( k! d& [0 z1 \4 t& v
commandId="com.plmhome.createFolder.commands.sampleCommand", g3 a* U. E2 l3 `& v' ` [& g
mnemonic="S"
2 Z. l/ m0 J' O/ _! X4 t id="com.plmhome.createFolder.menus.sampleCommand">
$ V8 V# `/ M Y% m) P' h </command>
+ p/ K2 ?& e3 f7 g1 `' ~, s </menuContribution>% L! S& E9 {* w3 F$ f) `' k, E
k1 a, a Q, j
<menuContribution
8 w) B6 t6 X; s3 q5 s. m" V locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
@+ x) s2 ~' J! ]) H B <menu/ I6 O% j# }& r2 J0 w
label="PLMHomeToolKits"( U% c1 m% @- |1 _: I3 T: Z
mnemonic="M"
# c# t9 H& K/ z O id="com.plmhome.createFolder.menus.sampleMenu">/ A N4 _7 Y7 u
<command$ m0 f5 d5 V1 G. }0 G. D
commandId="com.plmhome.createFolder.commands.sampleCommand"/ t g* k" j3 u% B% e
mnemonic="S"
& f% {: V2 M9 I id="com.plmhome.createFolder.menus.sampleCommand">0 k9 F- e: i4 ?' u/ R2 C$ G
</command>2 D& L& j, F; Q6 k; B% S) a
</menu>* T8 M5 m3 O/ c* Z
</menuContribution>
% p" ~. q+ P! I
# w2 S" O5 k1 r# T <menuContribution |- P8 O5 I+ V+ [( o% I+ B
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
' j& [# c. q! ~; C <command
+ t. J4 N; r7 N9 { commandId="com.plmhome.createFolder.commands.sampleCommand"
- c" ], e# M2 t; Y2 X! l5 I% Q: y; U+ a icon="icons/sample.gif"
; V$ z. R6 d' p# @ tooltip="Say hello world"
( }' X+ m: g) p" Q id="com.plmhome.createFolder.menus.sampleCommand">
q( x: }; M, n5 m1 h. y# F& O </command>
, j1 A" R( H2 t. P& F) P: s </menuContribution>. j" r+ w& w4 x. a% g6 o' \
2 Z q9 N. F/ c
5 w2 A& o: |$ u' ?0 d <menuContribution5 S. @& d3 k" I+ O' x8 ?$ W
locationURI="toolbar:navigator_Toolbar?after=additions">+ Y" _. } X+ q' ~6 S
<toolbar
9 s- K8 b: E! S3 a, D id="com.plmhome.createFolder.toolbars.sampleToolbar">5 U$ ?8 y8 l$ l) I B+ R
<command
/ b! i4 I9 `7 H8 P' l commandId="com.plmhome.createFolder.commands.sampleCommand"
1 M- [" u' Z& d2 X6 \# L" ` icon="icons/sample.gif"
: b. [" }' q! s5 [; b* a# P) R; P tooltip="Say hello world"' h; p, M: J8 V6 U9 i% [/ P. l
id="com.plmhome.createFolder.toolbars.sampleCommand">+ i! Z7 x; X2 |1 |! G$ x0 O! X7 Q
</command>
: `3 Y8 `7 N. z8 Z/ z/ ?. H1 O0 m </toolbar>1 @( A) p p% s5 N' d- S
</menuContribution>0 F: V5 ?3 w8 C2 G; {0 e3 I5 D2 [$ H
' r1 Y# W& L7 @, M: l
9 }7 B4 K4 t2 R- p& |
</extension>
3 c8 W$ {; G3 X6 y& ]" {/ D. g/ c* K) ?. B( v/ d, t
</plugin>
2 Z" y. y8 T! R/ P
8 a. l# T& Q) d) p
7 O9 c* X0 |! {0 \. `3 ?0 _% A, b3 E& K4 k X4 D1 y
|
|