查看: 8223|回复: 0

【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2015-4-1 14:48:17 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
【Teamcenter胖客户端开发】teamcenter菜单添加图文教程<1>: u2 ?& v  `& D; Z) d5 ~7 J1 l
这部分内容实际上是eclipse的插件开发的功能, 这里做个简单分类,菜单文件的扩展点都是  <extensionpoint="org.eclipse.ui.menus">,添加菜单就是在这里面添加内容。这里只要注意location即可!9 O1 R+ z3 Y$ X7 Y  H8 l
(1)在主工具条上添加菜单。
! C$ M4 h1 J4 ?, Z9 C. ~: t  G  <menuContribution" ?6 g" T/ f& v8 E; }* _
            locationURI="menu:org.eclipse.ui.main.menu?after=additions">7 l+ X. d: t7 U% h
            <menu id="com.plmhome.plmhomeTool"  label="PLMHome ToolKits">$ t8 F: r2 [8 u1 Q& A
            <command
$ @/ J4 Z! P" i( p2 Y) f9 \: g                  commandId="com.plmhome.createFolder.commands.sampleCommand") i7 b6 y2 k! z7 o3 S$ O
                  mnemonic="S": C* U5 W! \" a7 D+ X1 E( w
                  id="com.plmhome.createFolder.menus.sampleCommand">6 T3 E+ J, L7 |0 V1 O
            </command>  @$ d7 m4 Y3 O/ A/ ?% L% W6 {
            </menu>' ?+ Z# @& {* q. M4 X0 L$ f$ j$ b3 U
      </menuContribution>- M! L5 r2 M" {1 U+ T! _

. N, D. r' R. j% G% N( a(2)在工具功能的后面添加按钮。
" N% Z7 G; r+ m( H  <menuContribution
# `+ o4 p" l3 A* m3 B$ l$ M8 x            locationURI="menu:tools?after=additions">: ]$ v+ ^6 j7 e  Z( Q5 r) t
            <command! E: [+ S0 O0 O% O" w
                  commandId="com.plmhome.createFolder.commands.sampleCommand") ~. S- ]7 s2 V: l. g( j" Z& D
                  mnemonic="S"
% W$ |& Y1 F, K: M) E, y                  id="com.plmhome.createFolder.menus.sampleCommand">
- E( o* R6 B* L5 H) @% l9 W4 _! |            </command>0 ]7 G: q/ ^9 ^( ?  i' P" h  \
   </menuContribution>8 r4 o5 O; t* H, Z

0 `6 N  l2 h  Q4 J(3)在右键弹出菜单加按钮
' z7 d- U/ U6 o: n4 N2 u7 D/ |1 _      <menuContribution
7 P0 p$ s; e: w0 D1 B6 f            locationURI="popup:org.eclipse.ui.popup.any?after=additions">$ r1 S- s* k. }' M# Q
            <command! h7 ?( ]' C+ z3 C- y
                  commandId="com.plmhome.createFolder.commands.sampleCommand"
6 z5 p9 K) F' K& X- D1 K6 R4 v                  mnemonic="S"
% g* U: \* A: v5 x1 N0 [% `                  id="com.plmhome.createFolder.menus.sampleCommand">
+ Y5 t6 G* I4 z4 p$ r: H" G            </command>% ?7 f# q, m. S  f, [/ i# J! b
      </menuContribution># G9 m1 [+ M# J8 q
(4)在具体的菜单后面加功能按钮1 v6 g9 [+ s! g( L/ u; N
      <menuContribution% ~' [  I4 Y) {0 N. G; Q
            locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4"># W8 _- t/ s5 }' K* `% M
         <menu: f' h" ^$ I9 f8 V- F6 s+ D# y/ H
               label="PLMHomeToolKits": _$ n) }; n3 J1 X* G6 h
               mnemonic="M"
% G: e% l: Z8 l, z. \, T& d( w: j               id="com.plmhome.createFolder.menus.sampleMenu">
% C) @- m) O2 L6 R! ]            <command8 U$ u( X" ~% u% F) L
                  commandId="com.plmhome.createFolder.commands.sampleCommand"
) b! B! i8 q" K0 u                  mnemonic="S". z5 |' o6 k6 f% U- [' z
                  id="com.plmhome.createFolder.menus.sampleCommand">
* {% Y: y  u, C$ W            </command>
, X0 v. f3 e) f% Q, {- ?         </menu>
& r+ b+ m6 w- ?2 O- \      </menuContribution>$ k2 o1 u  z* {+ e
8 N! l3 z/ l: V$ f0 O
(5)指定位置,直接加按钮' t3 i4 T- z; b; }* M7 U
      <menuContribution& ^) D2 }8 F2 h- r3 ?
            locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">
/ Z1 ^# P7 j" H* M) a/ {            <command+ a: X# E2 h$ L8 E6 H6 C
                  commandId="com.plmhome.createFolder.commands.sampleCommand". }  u6 r3 ]+ b) n
                  icon="icons/sample.gif"# @2 f$ Y8 \$ M- E/ J/ c1 E+ C
                  tooltip="Say hello world"' p, L& k$ _( c. g! r+ U
                  id="com.plmhome.createFolder.toolbars.sampleCommand">
5 h) h9 A5 ~9 k: g" Q" |9 Y" p, J            </command>
$ q) `! B8 T9 _) Y          </menuContribution>, M, K8 X; R% q/ E( z) U( y1 p

' F$ a  ~! l) W9 H. H% e" M(6)加工具条按钮* c" D3 n# M$ @! v" @+ J
  <menuContribution
* K2 [) ?9 B5 k0 ?' h5 o) v            locationURI="toolbar:navigator_Toolbar?after=additions">
2 v# N0 t& C# j& t! `              <toolbar
  }3 O, s+ x0 T, }( m               id="com.plmhome.createFolder.toolbars.sampleToolbar">( e3 M: ^8 I. w8 t
            <command
$ {& n9 C4 @+ [8 r; a* e                  commandId="com.plmhome.createFolder.commands.sampleCommand"
  ]& ^2 S, @! g# @6 f                  icon="icons/sample.gif"
& Q& a% [3 L1 a$ w" g1 k                  tooltip="Say hello world"$ b. f- W. u3 M- d' i, P( \# j
                  id="com.plmhome.createFolder.toolbars.sampleCommand">4 e/ g* f! Q6 |8 P3 W- g5 q
            </command>
) ^5 E. i0 F3 E+ l0 J            </toolbar>* S; W, T# y+ l
          </menuContribution>
8 p+ m% _5 j5 u5 o8 ~" L4 n1 I
/ G% D! `! L$ C" a' Y5 D% ^) [
% I6 a: C  p' F, C# @  v5 ?% Z完整的例子如下:
% B- w. q: p! B$ n. e" o% d; G( l2 t: t& @( s# [4 ]& y4 B! o
<?xml version="1.0" encoding="UTF-8"?>
& j# v' {" u( H  P4 A<?eclipse version="3.4"?>' }$ a% r! R. {3 Q" _
<plUGin>8 b# W: ~& m" G9 t9 ]2 _2 u
8 a- ?* o) ]6 M) S. w) R% F
   <extension
: Q0 M% z  C( H6 Q7 \, h3 M7 ~         point="org.eclipse.ui.commands">
# z$ u/ ]7 V' _/ k( B; k: j      <category
: _9 K$ r, k  a, ^$ ]: j            name="Sample Category"
& X2 A( T2 I! M- p% }            id="com.plmhome.createFolder.commands.category">2 T; Q* c9 P4 H" ?* K2 |8 s# y
      </category>
$ @$ E( G; [1 [4 R
8 q7 I# g% P8 L9 Y- i      <command8 F* g! @, E+ U' A7 C' d8 K
            name="PLMHome CreateFolder"
2 S# ^- T0 _+ O4 Q' _( g* ?            categoryId="com.plmhome.createFolder.commands.category"
, ^  ?5 d; I/ V7 y, r3 ]1 \2 m4 W            id="com.plmhome.createFolder.commands.sampleCommand">
$ v( ?0 }8 w" P# y9 e9 `      </command>1 g- i/ ]5 H' [9 {! D+ Y+ p& T

$ h2 q6 h# H& A  e  Q   </extension>; R; M/ X5 x3 \% `5 C
   <extension
0 K- I4 W6 B7 [- c         point="org.eclipse.ui.handlers">
) s$ N: C$ ]& A9 d8 O% w      <handler& c8 b7 P. V& t9 Z: G5 n1 I6 Z+ H
            commandId="com.plmhome.createFolder.commands.sampleCommand"
$ n" }  B/ U3 M* v: [- i' ], w            class="com.plmhome.createfolder.handlers.SampleHandler">
2 t1 N/ o  v1 z1 R) y) d      </handler># q6 P( r: C/ k& \6 m. m8 m
   </extension>2 {% a: Z" D/ e3 s1 A( @6 O
   <extension, C0 F: ~1 `* @& [
         point="org.eclipse.ui.bindings">
0 e! T9 u3 e+ Y: g      <key! R9 {8 C3 X* G/ f# ~
            commandId="com.plmhome.createFolder.commands.sampleCommand"% G, ?9 N# ^8 p) O
            contextId="org.eclipse.ui.contexts.window"
5 Y, }( c2 j; u. s& |6 `            sequence="M1+6"6 L' W* [/ h) T7 }0 z% [/ U9 x1 H
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
  p5 l% |# B# F7 F      </key>
. o) M* [' V/ m, D! L, A   </extension># b' f/ N  X: V- v# a/ N! |6 p
   <extension
& e" f# O0 t' ?3 {& f         point="org.eclipse.ui.menus">% ^8 i+ _( \0 d4 x5 u' j

6 S) `* O& l, V' A           <menuContribution
* y# Y; j& s3 Y2 F# F( F5 m            locationURI="menu:org.eclipse.ui.main.menu?after=additions">; N9 b5 b8 _+ Q  ~
            <menu id="com.plmhome.plmhomeTool"  label="PLMHome ToolKits">6 {; S  I+ o* R- K# x% {
            <command
4 ~" F3 ]  K3 }$ f7 u                  commandId="com.plmhome.createFolder.commands.sampleCommand"
. W" X& e% F7 @; @' O                  mnemonic="S"
3 y% @2 C0 p0 D/ o  f4 s+ j                  id="com.plmhome.createFolder.menus.sampleCommand"># [3 z6 t2 H/ d! I7 z
            </command>
$ C: l. ]) ]7 V+ P            </menu>: C  y! D5 U* M! @2 S; t7 [
      </menuContribution>/ B+ j) u. \; _7 Y

, Y3 Z: I. {/ h$ i0 h( h
, S+ c* p! J9 b) W) m
- B$ R  V' c# x: K9 ]       <menuContribution
$ t: s$ f7 i/ T( A5 v  n8 }            locationURI="menu:tools?after=additions">( L- U2 `& P- }( }! Q: m
            <command+ z3 m; o3 M6 n. r9 Y+ x  E! q
                  commandId="com.plmhome.createFolder.commands.sampleCommand"
, s2 r) n0 {9 w1 X2 C                  mnemonic="S"
: ^2 ~; l* o4 ^, u  o                  id="com.plmhome.createFolder.menus.sampleCommand">& t' a* Q8 \$ r
            </command>- b9 f- [& Z7 B: t1 ^& o2 _
      </menuContribution>
; [. A0 m, P/ E. a0 l+ s' m0 Z& T* m9 W- F
" Y3 A7 P) Z/ R" U  \! w# E7 X
- h: _! {0 u: v* A- p! \  e( M+ `: H/ M+ o$ H
      <menuContribution
8 f  S6 z" i" k; G            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
7 z7 @1 r8 p* k/ m! t' U! f            <command; l8 B1 T1 X& H0 [* z! b
                  commandId="com.plmhome.createFolder.commands.sampleCommand"6 I; k9 F' Q6 @9 r, q
                  mnemonic="S"
/ k7 A6 L$ ~) J- ?6 r4 q' i                  id="com.plmhome.createFolder.menus.sampleCommand">
& Z! K/ L  \4 e! p$ G/ c+ Z- ^            </command>9 C2 I5 v4 e4 @% q+ `! Z
      </menuContribution>* v8 J& @8 }/ n: n7 Q/ Y
  n% N  z! a9 [5 z$ `" G7 d
      <menuContribution- d6 d/ A- i- K! E7 C1 Q+ b' t
            locationURI="menu:com.teamcenter.rac.ui.views.DetailsView?after=group4">
. C5 }7 M+ I7 X5 x2 s2 k4 `         <menu7 U: j* }* J! S  }
               label="PLMHomeToolKits"
+ g% q+ J5 O7 H4 Q               mnemonic="M"8 e( q5 k2 s: ^+ G# f
               id="com.plmhome.createFolder.menus.sampleMenu">9 h) C- h$ {$ a
            <command
" Q; C1 r8 y; L# @2 s                  commandId="com.plmhome.createFolder.commands.sampleCommand"
6 g+ ]) w2 G2 Q* W                  mnemonic="S"
4 h: E% M8 l& K. _* @                  id="com.plmhome.createFolder.menus.sampleCommand">% s- C+ m, ]7 T8 r% r
            </command>: s4 b) a; W" e/ \+ j9 v5 W
         </menu>2 r* m  a0 W/ x4 g- S1 x0 _
      </menuContribution>
$ H5 ]$ T. |; i; Z0 x
' Y5 C; Z8 x6 R8 U. ]8 R      <menuContribution: }4 [- @. a& d+ Z9 h  j6 w" ]
            locationURI="toolbar:com.teamcenter.rac.ui.views.DetailsView">" P9 W: \1 X# T  o6 y, c
            <command
4 f. k2 M4 G. x                  commandId="com.plmhome.createFolder.commands.sampleCommand", @* S7 Z% c/ r5 V
                  icon="icons/sample.gif"
8 ^( J9 \: h) @& M8 C( Q0 e                  tooltip="Say hello world"; U- o* \6 n. I" C
                  id="com.plmhome.createFolder.menus.sampleCommand">
: M2 l# ]5 I  W& g/ s2 V            </command>9 X2 j3 Q" w& I( |" [
          </menuContribution>" `. K& i5 b* ]; U( `; N# k5 x
: _2 H$ Y3 E- r( _. k
2 Q5 R& H6 i( A
      <menuContribution
$ A/ ?2 G! D7 f6 ?            locationURI="toolbar:navigator_Toolbar?after=additions">  I  J1 `% a8 P' i4 I! U3 c/ l
              <toolbar
$ l1 M  i* a; r( B: ]$ g               id="com.plmhome.createFolder.toolbars.sampleToolbar">7 P7 [- W; V( F3 E( F
            <command
0 M, \& P+ r& F2 J                  commandId="com.plmhome.createFolder.commands.sampleCommand"5 R" x# Y, Q( U5 G( D; f, G
                  icon="icons/sample.gif"
4 }( c& r, y* G3 q                  tooltip="Say hello world"( Y- C. u  T% n- ~2 K
                  id="com.plmhome.createFolder.toolbars.sampleCommand">7 n/ a4 R, f. Q4 u
            </command>& Z' _( @9 T2 W7 ~
            </toolbar>; g% g2 W5 f( ?7 p3 S
          </menuContribution>
( |) O+ H4 }1 U# F
8 r9 Q8 n# h3 `. G7 i, E' Z
+ Q6 _4 U$ v1 j7 H* t7 s4 a4 N/ v   </extension>
/ z4 z$ M" x/ B/ [8 _+ r9 G$ Y5 w8 `* C
</plugin>
3 ^; p' `4 x! H' G' U5 |" S
) u& w8 f3 s2 c) z1 A# V; S+ y/ g2 x: f
# h( }. z5 M0 F# ~+ K, J0 n
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部