CHAS中各种action,view,dialog,listener
调用公共类的View,dialog:
业务层依赖于公共类(比如bean),导入包之后直接调用
FormView:FormView 用于表单的显示。 每个View和Dialog都关联这个类的实例 该类通过配置文件按定义的布局显示所有控件,并可以通过ID找到每个控件,对控件进行操作
把控件加载进hashMap,通过getKey的方式取到控件
View:
新写的view要继承DraftView,DraftView继承GeneralView,GeneralView继承AbstractView,AbstractView继承ViewPart。
DraftView:使用visitor(new EditableVisitor())来处理界面是否已经被编辑,
GeneralView:依据xml配置文件创建Formview 在创建时,对界面做如下一些处理: 第一,使用xml文件构造一个view,第二,设置该view中的widgets的Listener 第三,设置空白view中应显示的数据 第四,设置view中可编辑属性 第五,设置焦点位置
AbstractView:根据XML来创建FormView
ViewPart:eclipse.ui.part系统类,作用是创建view
AccessControlDraftView:添加权限功能,可以实现带权限的页面控件(没太理解权限)
EMREditorView:这个类是通用的EMREditor的视图,这个视图创建的原因在于 使用了HTML完成EMREditor展示之后,所有的EMREditor的界面都相同。都是一个ToolBar + 一个EMREditor Composite
SearchableView:用来分页查找view
Action:
showViewTreeAction:
<SelectAction ID="" Class="com.ibm.rcp.common.actions.tree.ShowViewTreeAction"> <Parameters> <Parameter>com.ibm.chas.adt.admission.ui.views.AdmissionCheckinView</Parameter> <Parameter>TCD</Parameter> </Parameters> </SelectAction>
调用view = (ViewPart)ViewUtil.showView(paras[0]);打开参数传的View
Self_Defined_Action,参数传action,然后打开对应action。
三种action:
CustomizeTreeAction: 在tree中调用的action,比如com.ibm.rcp.common.actions.tree.ShowViewTreeAction
CustomizeFormAction:Xml中配置的Action菜单选项定义的action一般继承CustomizeAction,配置在plugin中的com.ibm.rcp.customizeform.ApplicationCustomizeForm
menu.dialog.action:对外接口调用定义的action一般继承action类,配置在plugin中的com.ibm.chas.menu.dialog.action,如检验和检查
公共action:比如放在rcp.common.actions.form中的ExitFormAction可以直接引用使用
listener:
可以添加
CustomizeSelectionListner:作为一个父类供其他类继承使用,类里面的信息是定义了treeNode,treeViewer,parameters[]
PageAddSelectionListener:下拉滚动条时,监听到滚动条到最后位置,就调用resetInputList();方法进行调用
ValidOnlyChangedListener:有效更改的监听器,监听更改选中事件(table中的)
KeyListener:包括按下和松开,分别执行操作:
return new KeyListener(){ public void keyPressed(KeyEvent arg0) { if(arg0.keyCode==SWT.CR||arg0.keyCode==SWT.KEYPAD_CR) tbvTemperature.editElement(getSelectedTemperatureRecord(), COULMN_DATE); } public void keyReleased(KeyEvent arg0) { } };