wangting
2024-09-27 a3e87f78ee262ca9bb7d9b0c997639d5f3295890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.vci.client.uif.engine.client;
 
import java.util.List;
 
import com.vci.client.uif.engine.common.IDataNode;
 
/**
 * @author xiongchao
 * modify by zhonggy 2015-07,优化主UI各区域之间的界面刷新机制
 */
public interface IDataModel {
    /**
     * 返回此DataMode实例的唯一ID
     * @return
     */
    public String getKey();
    
    /**
     * 返回选择对象对应的行索引
     * @return
     */
    public int[] getSelectObjectRowIndexs();
    /**
     * 返回当前选择的对象列表
     * @return
     */
    public Object[] getSelectObjects();
    
    /**
     * 设置当前选中对象
     * @param selectObjs
     */
    public void setClickObject(Object selectObjs);
    /**
     * 获取当前点击的对象
     * @return
     */
    public Object getClickObject();
    /**
     * 接收UI框架的刷新请求(原)
     */
    public void refresh(IDataModel fromDataModel);
    
    /**
     * 处理UI组件的UI刷新(先刷新UI Module,通过UI Module刷新UI组件) add by zhonggy 2015-07
     */
    public void refreshUI(IDataModel fromDataModel);
    
    /**
     * 将属性值发生更改后业务对象或链接对象刷新到UIPanel
     * @param clientObject
     */
    public void refreshCache(Object clientObject);
    
    /**
     * 返回当前选择的根对象
     * @return
     */
    public Object getRootObject();
 
    public void setUILayoutModel(IUILayoutModel uiLayoutModel);
    public IUILayoutModel getUILayoutModel();
    
    // add by xcha0 2014.04.16 begin
    // 添加 IDataModel 与 IRegionPanel 之间的单向关联关系
    // 记录 此 model 所在的 regionPanel
    public void setRegionPanel(IRegionPanel regionPanel);
    public IRegionPanel getRegionPanel();
    
    /**
     * 返回最后选择一数据是否是根节点
     * @return
     */
    public boolean lastSelectedIsRoot();
    /**
     * 返回选择的数据中,是否包含根节点
     * @return
     */
    public boolean selectedHasRoot();
    /**
     * 设置此IRegionPanel初始时、唯一恒定不变的SourceData对象
     * @param sourceData 此IRegionPanel初始时、唯一恒定不变的SourceData对象
     */
    public void setSourceData(IDataNode sourceData);
    /**
     * 返回 此IRegionPanel初始时、唯一恒定不变的SourceData对象
     * @return 此IRegionPanel初始时、唯一恒定不变的SourceData对象
     */
    public IDataNode getSourceData();
    
    /**
     * @Title        :来源控件Model(产生时就确定)
     * @Description    :
     * @param sourceModel
     */
    public void setSourceModel(IDataModel  sourceModel);
    
    /**
     * @Title        :来源控件Model(产生时就确定)
     * @Description    :
     * @param sourceModel
     */
    public IDataModel getSourceModel();
    
    /**
     * @Title        :控件是否激活显示(如果激活界面,当源界面数据变化后刷新时,当前界面数据需要及时刷新,否则不用刷新)
     * @Description    :add by zhonggy 2015-07
     * @param isActive
     */
    public void setActive(boolean isActive) ;
    
    /**
     * @Title        :控件是否激活显示(如果激活界面,当源界面数据变化后刷新时,当前界面数据需要及时刷新,否则不用刷新)
     * @Description    :add by zhonggy 2015-07
     * @return
     */
    public boolean isActive();
    
    /**
     * @Title        :界面是否需要刷新
     * @Description    :add by zhonggy 2015-07
     * @return
     */
    public boolean isNeedRefreshUI();
    
    /**
     * 设置界面是否需要刷新
     * @param needRefreshUI
     */
    public void setNeedRefreshUI(boolean needRefreshUI);
 
    /**
     * @Title        :兄弟Models
     * @Description    :
     * @param dataModelsInTabPanel
     */
    public void setBrotherModels(List<IDataModel> dataModelsInTabPanel);
 
    /**
     * @Title        :处理UI组件的UI刷新(先刷新UI Module,通过UI Module刷新UI组件) add by zhonggy 2015-07
     * @Description    :
     */
    public void refreshUI();
 
    /**
     * @Title        :设置嵌套子页签 by zhonggy 2015-07
     * @Description    :
     * @param innerDataModelsInTabPanel
     */
    public void setInnerTabModels(List<IDataModel> innerDataModelsInTabPanel);
}