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) {
                
            }
            
        };

 

posted @ 2019-03-27 10:29  白诗  阅读(166)  评论(0编辑  收藏  举报