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