您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页Teamcenter2007 开发培训RC

Teamcenter2007 开发培训RC

来源:意榕旅游网


目 录

1

2

3

Registry的用法 ............................................................................................................................................................................................ 2 1.1 语法 .............................................................................................................................................................................................. 3 1.2 常见用法 ...................................................................................................................................................................................... 4 覆盖系统properties文件 ............................................................................................................................................................................ 5 2.1 直接覆盖源文件 .......................................................................................................................................................................... 5 2.2 插件方式覆盖 .............................................................................................................................................................................. 5 应用程序和组成部分 ................................................................................................................................................................................ 16 3.1 应用程序 .................................................................................................................................................................................... 16

3.1.1 为应用程序Eclipse-plug创建工程 .................................................................................... 17 3.1.2 增加扩展点com.teamcenter.rac.aifrcp.application ............................................................. 18 3.1.3 提供与语言相关的显示字符串 .......................................................................................... 22

3.2 应用程序菜单 ............................................................................................................................................................................ 24 3.3 动作和命令处理 ........................................................................................................................................................................ 26 3.4 对话框 ........................................................................................................................................................................................ 28 3.5 操作Operation ........................................................................................................................................................................... 28 3.6 Kernel API .................................................................................................................................................................................. 29

1

1 Registry的用法

Registry在整个Teamcenter rich client中有着重要的作用。Teamcenter使用properties文件定义类的注册、图标、本地化语言(国际化语言)、查询顺序、外观、字体等等。

Teamcenter使用三种不同的properties文件来保存这些配置信息。

 主要文件

规律:文件名和包名的最后一段一样

作用:存放主要配置信息

举例:access.properties

2

 User文件

规律:带_user后缀

作用:一般这个文件为空,留给客户化时覆盖

举例:access_locale.properties

 语言文件

规律:带_locale_XXX后缀,但对于Teamcenter来说只有一个选定的语言文件被起作用作用:存放与语言相关的配置信息

举例:access_locale_zh_CN.properties

1.1 语法

 以定义图标为例:

information.ICON=images/info_16.png

 如果属性名中包含空格必需用\\符号转义

Adobe\\ Acrobat=images/acrobat.gif

3

 导入Teamcenter已经定义的properties文件

improt=com.teamcenter.rac.common,com.teamcenter.rac.common.actions.actions

1.2 常见用法

 注册应用程序相关的菜单条

tc2007test.test.MENUBAR=tc2007test.TestMenu

 注册应用程序相关的菜单条

tc2007test.test.TOOLBAR=tc2007test.TestToolBar

 注册应用程序相关的主面版

tc2007test.test.PANEL=tc2007test.TestPanel

 定义应用程序标题

tc2007test.test.TITLE=TESTApp

 定义菜单的名称

testMenu.NAME=Test

4

2 覆盖系统properties文件

我们可以通过覆盖系统properties文件中定义的值来完成部分客户化工作。覆盖系统properties文件的方法有两种:

 直接覆盖源文件

 插件方式覆盖

2.1 直接覆盖源文件

可以通过下面的步骤完成该操作

 解压缩系统jar文件

 找到并修改其中的properties文件

 压缩回jar

2.2 插件方式覆盖

下面举一个例子来说明这个方法的操作过程。例子的目的是完成PDF浏览工具的嵌入封装。 要求:

安装Embedded Viewer模块

5

安装Pdf浏览工具Adobe Acrobat Reader

 打开Eclipse

 新建一个插件项目

6

1.出现对话框,选择Plug-in Project后继续

2.输入Project Name例如PDFViewer后继续

7

3.出现如下画面,确认并继续

8

4.出现如下画面,去掉默认选中的勾:“Create a plug-in using one of the templates”后完成

 添加依赖的插件7个

切换到Dependencies标签页,点击添加,选中下面的插件

com.teamcenter.rac.common

com.teamcenter.rac.external

com.teamcenter.rac.kernel

com.teamcenter.rac.neva

com.teamcenter.rac.tcapps

com.teamcenter.rac.util

com.teamcenter.rac.aifrcp

9

 增加扩展点com.teamcenter.rac.util.tc_properties

切换到Extensions标签页

1.点击Add…

10

2.选中并双击com.teamcenter.rac.util.tc_properties对话框自动关闭3.回到Extensions标签页

删除“.plugin_properties1”并点击保存,确认修改结果如下:

11

 在MENIFEST.MF文件中添加一行配置

在“Bundle-Activator: pdfviewer.Activator”行下增加一行

Eclipse-RegisterBuddy: com.teamcenter.rac.util

 新建包用来存放覆盖系统文件

12

在src文件夹下新建包“com.teamcenter.rac.common.tcviewer”

(过程略)

 新建需要覆盖的_user.properties文件

1.在包“com.teamcenter.rac.common.tcviewer”下新建文件tcviewer_user.properties

(过程略)

2.在新建的tcviewer_user.properties文件中输入下面内容:

DatasetViewer.TYPES=DirectModel,DirectModelMotion,DirectModelMarkup,DirectModel3DMarkup,SnapShotViewData,Sheet,DrawingSheet,Image,Markup,Item,ItemRevision,BOMView

Revision,MSWord,MSWordX,FullText,MSExcel,MSExcelX,Text,MSPowerPoint,MSPowerPointX,WPPSession,NetworkImage,TCPublishingPage,TCPublishingTechnicalPortfolio,PCBCircuit,PCBPanel,PCBFATF,PCBMarkup,SE Part,SE Draft,SE SheetMetal,PDF,Photoshop

NevaIEViewer.VIEWSEARCHORDER=Text,word,excel,powerpoint,PDF_Reference,Photoshop

PDF.VIEWPANEL=com.teamcenter.rac.common.tcviewer.NevaIEViewer

Photoshop.VIEWPANEL=com.teamcenter.rac.common.tcviewer.NevaIEViewer

13

3.保存所有文件

 配置需要导出的包

1. 切换到Runtime标签页

2. 添加导出包

 导出该工程到portal目录

(过程略)

 使用BMIDE配置PDF数据集和命名的引用(复习)

1.打开BMIDE在新建一个工程或使用一个现有工程

14

(过程略)

2.创建工具

a.工具名称是PDF_Tool

b.输入输出设备格式都是BINARY

c.MIME/Type值为application/pdf

3.创建数据集类型

a.数据集类型名称是PDF

b.命名的引用名称是PDF_Reference

c.文件类型是*.pdf

d.文件格式是BINARY

e.定义打开动作(过程略)

4.Deploy到本机测试服务器

(过程略)

15

3 应用程序和组成部分

3.1 应用程序

Teamcenter的应用程序,通常会有一下几个组成部分(组件):主应用程序、菜单、工具栏、主面版。

我们需要通过properties文件来注册与应用程序相关的其他组成部分,这种注册方法是Teamcenter Rich Client开发所特有的方式。在一个应用程序中,甚至是一个包中,都会有如下的属性文件结构:

16

应用程序的加载是按照一个固定的顺序进行的,应用程序和它相关的组件在的初始化过程:

下面介绍一下创建应用程序的一般过程。

3.1.1 为应用程序Eclipse-plug创建工程

 新建Eclipse-plug工程(过程略)

17

 添加依赖的插件7个(过程略)

 增加扩展点com.teamcenter.rac.util.tc_properties(过程略)

 在MENIFEST.MF文件中添加一行配置(过程略)

 配置需要导出的包(过程略)

3.1.2 增加扩展点com.teamcenter.rac.aifrcp.application

 切换到Extensions标签页

 添加com.teamcenter.rac.aifrcp.application扩展点,出现对话框

各需要填写的属性含义:

1.id是在插件项目中唯一标示插件的字符串

18

2.name是应用程序的显示名称,可以直接填入中文

3.groupName应用程序分组位置,可选的组有:TeamCenter,CME,TCAdministrator和Utilities

4.perspective_id透视图名称,不填写,留着

5.session为登录的应用程序提供session支持。通常情况下会使用系统为我们提供的

com.teamcenter.rac.kernel.TCSession

6.class主应用程序类,

7.icon图标文件的位置

8.tooltip提示字符串

9.taskpanelID任务栏号,不填写、留空

10.displayMode显示模式,“主要的”、“次要”的和“备选”三种模式

11.ordinality顺序号,这个号码越小,在导航栏显示位置越往前

 添加主应用程序类

1.点击上图中红色的class弹出创建对话框

19

2.填写“包位置”和“类名”

3.确定完成,创建该应用程序类

package tc2007test;

import com.teamcenter.rac.aif.AIFDesktop;

import com.teamcenter.rac.aif.AbstractAIFUIApplication;

20

import com.teamcenter.rac.util.Registry;

public class test extends AbstractAIFUIApplication {

public test(AIFDesktop arg0) throws Exception {

super(arg0);

Registry r = Registry.getRegistry(this);

System.out.println(\"#\"+r.getString(\"tc2007test.test.TITLE\"));

}

public test(AIFDesktop arg0, String arg1) throws Exception {

super(arg0, arg1);

}

public test(AIFDesktop arg0, int arg1) throws Exception {

super(arg0, arg1);

}

21

public test(AIFDesktop arg0, String arg1, int arg2) throws Exception {

super(arg0, arg1, arg2);

}

}

3.1.3 提供与语言相关的显示字符串

 打开与语言相关的tc2007test_locale_zh_CN.properties文件

 添加应用程序Title字符串定义

tc2007test.test.TITLE=\测\试App

注意,这里的中文需要转换成Unicode内码。

当这个步骤完成后,一个空的应用程序就创建完成了。我们可以写一段程序来测试运行效果。在

22

Eclipse的运行控制台可以看到打印的字符串。

23

3.2 应用程序菜单

在Teamcenter中,每个不同的应用程序都有各自的菜单。所以我们需要为应用程序提供管理菜单的一个Java类。

我们定义的菜单类一般继承系统的AbstractTCApplicationMenuBar类。这个类为我们提供了一些基础的菜单和菜单里面的菜单项。

 把菜单类注册到应用程序

在tc2007test.properties文件中加入

tc2007test.test.MENUBAR=tc2007test.TestMenu

 导入必要的系统包

在tc2007test.properties文件中加入

24

import=com.teamcenter.rac.common,com.teamcenter.rac.common.actions.actions

 为菜单提供相应的显示字符串

如果在中文环境修改tc2007test_locale_zh_CN.properties

testMenu.NAME=\测\试

如果是英文环境修改tc2007test_locale.properties(只有英文不带后缀)

testMenu.NAME=Test

 在菜单类中加入下面代码来初始化菜单

package tc2007test;

import javax.swing.JMenu;

import com.teamcenter.rac.aif.AbstractAIFUIApplication;

import com.teamcenter.rac.common.AbstractTCApplicationMenuBar;

public class TestMenu extends AbstractTCApplicationMenuBar {

private static final long serialVersionUID = 1L;

25

protected JMenu testMenu;

public TestMenu(AbstractAIFUIApplication app) {

super(app);

testMenu = new JMenu(registry.getString(\"testMenu.NAME\"));

testMenu.setMnemonic(registry.getChar(\"testMenu.MNEMONIC\", 'P'));addMenuItem(testMenu, \"cusActionString\");

add(testMenu);

}

public void suppressMenus()

{

}

}

3.3 动作和命令处理

26

当菜单项被点下,就会出发一个动作。所以我们需要为每个菜单项提供一个动作(Action)处理类。所有这样的动作处理类必需包含在同一个包下。

s

同时,我们可以看到,与这个动作相关的所有配置也都包含在这个包下。

 创建动作类

父类是AbstractAIFAction

 动作关联到菜单项

在actions.properties文件中加入

cusActionString=tc2007test.actions.CusAction

cusActionString.ICON=images/cus_16.png

 动作相关的文字显示

 创建命令类

27

父类是AbstractAIFCommand

 在代码中调用命令类

 把动作类关联到命令类

cusActionString.COMMAND=cusCmdString

cusCmdString=tc2007test.commands.cus.CusCommand

 命令类相关文字显示

 命令类如果需要对话框,需要在代码中创建对话框

 在应用程序properties文件中import定义的包actions等

3.4 对话框

3.5 操作Operation

AbstractAIFOperation类是Teamcenter为我们提供的支持多线程的抽象操作类。我们可以把操作对象排列在队列中执行。执行语法:

CusOperation c = new CusOperation(session);

session.queueOperation(c);

28

在Operation执行过程中,软中断按钮会变亮。我们可以随时中断该操作。

3.6 Kernel API

Kernel API为我们提供了与服务相关的功能函数使用接口。Kernel API的中心是TCSession类。我们可以通过application对象或者component对象来获得应用程序运行时的TCSession类。具体方法是getSession()。

29

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务