|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>) W3 n, H; G5 I* \- L0 \* E
这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是 <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!6 p4 ]5 x% D( r- p( G' ^
(1)在主工具条上添加菜单。
1 e/ i4 o6 {5 Q$ A. Z <menuContribution
5 n" Z( X/ C4 f; B( X locationURI="menu:org.eclipse.ui.main.menu?after=additions">
5 f$ V r+ _3 k, c/ ~ <menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">
8 e1 m1 u1 R6 } U1 b <command
) r9 e9 q+ [! O6 F/ N" ~/ [ commandId="com.plmhome.createFolder.commands.sampleCommand"* k/ q8 t o# b" k" u7 _5 J( P9 a
mnemonic="S"# ?( [1 o2 u% n& q' @& C* |7 u' ^, i
id="com.plmhome.createFolder.menus.sampleCommand">' y6 l: F7 e) ]9 E
</command>) y: W7 h* M E* T9 O
</menu>
# w- ~" S0 ^% f ]8 i1 g8 [ </menuContribution>
. }6 ~- s/ k3 Q2 w% q; d# k& |& e% ^ r8 D( m6 z
(2)在工具功能的后面添加按钮。
& o0 K* ~1 V \ <menuContribution
2 p f6 S$ a& X; u. K* Z locationURI="menu:tools?after=additions">" o: s, t& L2 A
<command
. n I8 O1 J; T' l, P4 a commandId="com.plmhome.createFolder.commands.sampleCommand"
- u9 v3 M+ U+ F* i$ a, M mnemonic="S"
6 V$ m1 {4 L8 V8 X- E! I+ @. O id="com.plmhome.createFolder.menus.sampleCommand">
& c0 c! F( }& d! o: t </command>
5 g' _ o6 G/ o7 j2 J" ] </menuContribution>
4 `1 y1 A: ~9 a0 T, }" O7 j# y8 K+ ~7 x# Q; q( `7 r- o! Y
(3)在右键弹出菜单加按钮
, I; D+ C3 G. T! r. X <menuContribution0 T; h1 C9 i; \. H# K: k! Q
locationURI="popup:org.eclipse.ui.popup.any?after=additions">3 g! o7 D/ G0 m- P
<command! o6 p. L$ k# j
commandId="com.plmhome.createFolder.commands.sampleCommand"
- E' }7 U1 w) j4 Q7 E" u mnemonic="S": F! o4 d: N' t, A
id="com.plmhome.createFolder.menus.sampleCommand">
4 h3 i+ C/ n. A9 J0 w# u6 u. w4 c# w </command>
' J7 S' e4 z4 n- T </menuContribution>
# p' b/ s6 }. ]* G1 h% V(4)在具体的菜单后面加功能按钮
: `8 v+ m' E+ t$ X: P( `6 ?* b, O- b8 d K <menuContribution- F. K' k' }2 ~8 F, v4 ~0 v; h
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
/ {; T+ z! i& j4 z1 x <menu- ~7 i$ P0 i W5 U. G A& f: {
label="PLMHomeToolKits"
& K1 |' }6 Q' N6 F) p1 K* c( Y1 p mnemonic="M"8 S6 q8 V( v+ `; ]9 `4 n7 {. t
id="com.plmhome.createFolder.menus.sampleMenu">
( z4 \( u# F0 M9 C <command
# H- C7 b9 l- V7 n9 k commandId="com.plmhome.createFolder.commands.sampleCommand"* o# Q8 j1 \7 D" \- J1 ?- B
mnemonic="S". s+ n( {) j9 A5 s& u) b3 q% ]
id="com.plmhome.createFolder.menus.sampleCommand">, ~$ f! k6 E' _; ? K. o
</command>
7 d, ]. f( H7 y0 H4 U+ j </menu>
N7 y, d* \$ l* D </menuContribution>
; t0 f6 V/ d! d5 q6 A9 X% z( ^ y; f4 D
(5)指定位置,直接加按钮3 d/ E: N" ^! z B: Q
<menuContribution" ^- s0 E1 @' |; b4 G% G9 N
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">; O% X3 f. @ T1 f
<command
1 i _$ }4 }4 ]2 Z! h commandId="com.plmhome.createFolder.commands.sampleCommand"
3 N3 J7 P" W ]& U icon="icons/sample.gif"' M8 R. r, }, H- Z$ R3 M) s" m
tooltip="Say hello world"
* P" [5 z5 N: X' a0 ~ id="com.plmhome.createFolder.toolbars.sampleCommand">9 ], W+ I8 ^( _* Q' B% \8 U
</command>
9 M' C+ N; K% ? f* c7 p% K </menuContribution>' y q# W- W2 p
3 C; X) r8 j7 x. b(6)加工具条按钮
9 E0 C j# E' U% l4 H6 u <menuContribution% w5 i1 l5 f- D: @
locationURI="toolbar:navigator_Toolbar?after=additions">
" T0 u2 ~( y4 N5 o$ O- t, h! x <toolbar9 h# _" g. O" e1 U) s& F' M% F
id="com.plmhome.createFolder.toolbars.sampleToolbar">
' D: ~, Z$ U3 v; J- `# E <command
/ \, i2 p7 U- I9 P2 G8 K5 ]* n commandId="com.plmhome.createFolder.commands.sampleCommand"1 n$ M" i% r9 n) d
icon="icons/sample.gif", g" {1 r7 @7 _1 [! _+ e
tooltip="Say hello world" ?0 ^" P+ L+ Z
id="com.plmhome.createFolder.toolbars.sampleCommand">2 R+ Q g5 y8 i& ] |
</command>
$ A l) o+ f3 @# c! s @ </toolbar>4 R) y# i( x3 s; d( u) W* x
</menuContribution>
# X- B( T/ R+ q- O4 D, P/ ^% J$ Z- \& Q# \6 X5 b
4 U# [1 K0 s Y1 i* q
完整的例子如下:
/ g( ]4 Y% R1 K% p; p- a% B+ u/ ?, K3 X: d) @2 ?# q0 b/ @* l1 G
<?xml version="1.0" encoding="UTF-8"?>! E( F$ y, T$ M4 R& _
<?eclipse version="3.4"?>7 J E6 {1 g0 \. e2 B
<plUGin>
( z, t- i; T7 [& B% P
1 T+ n, m! E- G& h+ B2 n <extension' ]! c5 H$ h* }; I
point="org.eclipse.ui.commands">
7 z y0 I# |0 e4 w0 N4 u- q <category
0 }0 W: [8 `+ T; A name="Sample Category"
! c# H5 h3 i8 m1 y3 ] id="com.plmhome.createFolder.commands.category">
" _$ w; o- s1 c; r/ k" B: Q$ H. W </category>4 N* F# r0 Y9 @. x4 k& i3 e
7 O# C) h: g) F8 m0 @
<command
2 K& C: n% D. [* g6 {, U/ \; I& q6 ? name="PLMHome CreateFolder"
$ S! }3 M) X% J( ?& G1 [* S+ H- a: ] categoryId="com.plmhome.createFolder.commands.category"
( P; u. ~: K) U* {; E! r0 b+ M id="com.plmhome.createFolder.commands.sampleCommand">. f" t0 d# l5 x# T5 ^/ u$ G/ c9 G
</command>$ A9 @$ J! [9 k1 v+ D
k/ ^. ?$ v. [3 D$ U
</extension> [1 I7 L" I) Y
<extension2 Q$ w# Y1 g3 Q: B" L) e# B+ J
point="org.eclipse.ui.handlers">
) b( e2 _5 R9 R C- w) W) I <handler- _: X, Z# z$ c5 \2 O7 ^
commandId="com.plmhome.createFolder.commands.sampleCommand"0 ^' P( \2 O# f* d1 e3 l( {* b; k9 Q
class="com.plmhome.createfolder.handlers.SampleHandler">. L0 @+ F2 G, l1 N
</handler> D$ Y5 h3 X) H9 P7 Y( T3 I. a
</extension>
8 ]; f( Q# F7 L: K <extension5 s: x1 a- t6 _8 ~& r8 }$ j2 M# P
point="org.eclipse.ui.bindings">$ ~1 G* M0 r2 _( `+ F4 c
<key
- W/ p$ A }! b commandId="com.plmhome.createFolder.commands.sampleCommand"
8 h& W0 }1 d3 g5 W, X contextId="org.eclipse.ui.contexts.window"! t0 s( N, A) g9 E' r
sequence="M1+6"
) V; F( S5 G4 z& p: A schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
: H0 j8 k$ l3 w* Y </key>' s; [! Q; ]. \
</extension>" r1 u, z% [( @: n
<extension: L( p+ M) @ p
point="org.eclipse.ui.menus"> t& m5 O x; l
( J# M" H `2 |! R i6 u
<menuContribution9 T* ?7 q E1 m' S; y% ?- d9 D
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
0 [2 k$ g7 ~- p4 Z* y% B; a <menu id="com.plmhome.plmhomeTool" label="PLMHome ToolKits">1 D' p" r) b. X _6 Y. k, ~7 x
<command
9 c2 z$ p+ G# A commandId="com.plmhome.createFolder.commands.sampleCommand"4 Y+ ~& A2 v. n: v$ v$ _1 V
mnemonic="S"0 L& Y" k; b4 r, _) G7 A0 E1 d: z
id="com.plmhome.createFolder.menus.sampleCommand">
; O: L% N7 w* d" l" m& P% p </command>
+ [0 U) V" V5 O h# ?# t </menu>
5 W: H7 [3 \: h I H </menuContribution>: i/ M2 U/ W& @3 [# G+ A
7 g* ]: X9 u( X
x% x+ t0 r2 c0 I+ M9 P) |
/ B- O- ] {: y% ] <menuContribution# {& z8 d' s9 w4 r1 f# V! S. ~% U
locationURI="menu:tools?after=additions">
# C2 f7 m! m/ x# Y <command, i i% r8 X: H, a
commandId="com.plmhome.createFolder.commands.sampleCommand"
! Y- y) f2 S( w( e" A0 W+ N3 |" ~7 q7 T mnemonic="S"7 Y6 G2 l7 C' I& c
id="com.plmhome.createFolder.menus.sampleCommand">
# Z% R2 K1 P' C3 ~/ E" M/ B </command># J! ^5 |1 F, ^# }% @( E, U
</menuContribution>+ i8 N; s5 ?& q5 q
" [. F8 S: R3 L, N$ y! b
" M: r- {/ @: Z0 x1 W( [
4 J. \) s' [9 o2 W n <menuContribution1 z# u" M3 \* |; Z
locationURI="popup:org.eclipse.ui.popup.any?after=additions">$ G7 f/ W: x. c- L; b4 B6 L" i
<command3 y( G D# I* \+ _. s; _! K; C
commandId="com.plmhome.createFolder.commands.sampleCommand"
" [1 }$ x) g8 n* F mnemonic="S" H- H8 v! A9 W0 V
id="com.plmhome.createFolder.menus.sampleCommand">8 V1 S( o/ U$ C, l" p/ i; }4 c6 F* l
</command>7 ^# S. K, @+ |8 D
</menuContribution>9 F" ?9 Q7 m9 t( y8 l
% d& f3 n7 e x) Z7 i& ^
<menuContribution4 d) E+ n) h- G( Y8 \+ r& j: N0 i
locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">( L) y) l; j: V$ q
<menu6 m4 O& Q* i& E1 `
label="PLMHomeToolKits"
2 Z" `1 |) @. e6 X' g mnemonic="M", g# t1 Y' Z. L" ]( y, u) [- v1 Q
id="com.plmhome.createFolder.menus.sampleMenu">
7 X# f/ e& p7 G- H <command# R! p9 w5 z" p/ x
commandId="com.plmhome.createFolder.commands.sampleCommand"$ S: Y- L* `4 K. F* ?+ T4 `
mnemonic="S"
7 k, E, ?2 N" ^4 k1 {$ z% H" o id="com.plmhome.createFolder.menus.sampleCommand">& q8 P7 {* t' T) @
</command># ?; E+ o, ^% ` C1 y6 ^
</menu>
% X0 z& h0 n( z. W </menuContribution>
, L6 s- i$ ^1 ]" G- v& `& b$ U* Z$ Y
<menuContribution, r' j( }, d' A2 ?% r0 u! J( ]
locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
, q( a/ N5 q) a, u$ | <command2 B0 K- V( n- x/ y
commandId="com.plmhome.createFolder.commands.sampleCommand"
9 D: ]; x5 q' b6 S icon="icons/sample.gif"+ |. m, G% R* t( @
tooltip="Say hello world"
, p% d. N7 G1 ^* o4 P id="com.plmhome.createFolder.menus.sampleCommand">; Z, Z: t! J6 `: J2 J$ @% e
</command>9 I9 Q+ t6 V4 |! E: w9 M' A& u
</menuContribution>; S) O7 P, N* N* ]7 b8 M
1 {6 G7 R* [7 s& R2 ^4 w) S. L: X
+ f- ^) T) J: x. s <menuContribution6 O6 n# b* G; Q- ~
locationURI="toolbar:navigator_Toolbar?after=additions">- T8 Y0 o: k! K' M4 Q$ g
<toolbar$ A5 a- s/ V a+ F) ]
id="com.plmhome.createFolder.toolbars.sampleToolbar">& T$ p$ ^) }4 \) d
<command
. ?- ?( n9 ^1 p0 O) ^ commandId="com.plmhome.createFolder.commands.sampleCommand"2 o, q( q+ _6 K4 B9 b, d; L
icon="icons/sample.gif"
* _) Y+ t* W" v: |' m7 V tooltip="Say hello world" Z( F( _, g$ R; \7 y1 P& A
id="com.plmhome.createFolder.toolbars.sampleCommand">* n$ W; @4 W: I" K+ b! |
</command>
: R: ^ D) d! _5 M# C8 {& O </toolbar>% @, d. H$ g0 a! p
</menuContribution>* w0 \4 v T+ l$ Z2 V8 i3 N. \. G5 h: N
+ r( Q- @- d# A$ [! Y' W' @
! C/ C0 }' p$ _: n
</extension>
T6 X9 @) W& ?7 I: r8 `9 m, I& M' u
</plugin>
4 \. b9 R- o/ y5 Z4 u* O4 q/ f
v1 W; s; ^ p# H: [: g/ Q0 M% J1 i" ~ G: t
/ j$ l& y: _5 y: p/ m/ k |
|