package com.vci.client.uif.engine.client.mainDataArea; import java.awt.BorderLayout; import java.awt.Component; import com.vci.client.bof.ClientBusinessObject; import com.vci.client.bof.ClientBusinessObjectOperation; import com.vci.client.portal.utility.DataModelFactory; import com.vci.client.ui.swing.components.VCIJPanel; import com.vci.client.uif.actions.client.UIFUtils; import com.vci.client.uif.engine.client.AbstractRegionPanel; import com.vci.client.uif.engine.client.objopt.ObjectAddEditPanel; import com.vci.client.uif.engine.client.objopt.ObjectAddEditDialog.OperateType; import com.vci.corba.common.VCIError; public class MainDataFormPanel extends AbstractRegionPanel { /** * */ private static final long serialVersionUID = -7816429890821261287L; private FormButtonPanel palButtonArea = null; private DataModelFactory factory = new DataModelFactory(); private FormDataModel dataModel = new FormDataModel(this); private ObjectAddEditPanel oaep = null; public MainDataFormPanel(){ setDataModel(dataModel); this.setComponentPanel(this); } @Override public Component init() { setLayout(new BorderLayout(3, 3)); add(initTopButtonArea(), BorderLayout.NORTH); add(initFormDataPanel(), BorderLayout.CENTER); dataModel.setContentPanel(oaep); setComponentPanel(this); setBuilt(true); loadDataToUIControl(); return this; } private VCIJPanel initTopButtonArea(){ VCIJPanel pal = new VCIJPanel(); palButtonArea = new FormButtonPanel(getFactory(), getType(), getContext(), getDefination(), this); palButtonArea.init(); pal = palButtonArea; return pal; } private VCIJPanel initFormDataPanel(){ VCIJPanel pal = new VCIJPanel(); pal = getCenterFormPanel(); return pal; } public DataModelFactory getFactory() { return factory; } public void setFactory(DataModelFactory factory) { this.factory = factory; } private VCIJPanel getCenterFormPanel(){ VCIJPanel pal = new VCIJPanel(); oaep = new ObjectAddEditPanel(getType(), getContext(), getDefination(), getFactory(), getFromDataMap(), OperateType.BROWSER, this); oaep.init(); pal = oaep; return pal; } private void loadDataToUIControl(){ if(getSourceData() == null){ return; } String oid = getBusinessObjectOid(getSourceData()); if(oid == null || oid.equals("")){ return; } String type = getBusinessObjectType(getSourceData()); this.loadDataToUIControl(oid, type); } public void loadDataToUIControl(String oid, String type){ if(UIFUtils.isNullOrEmpty(oid) || UIFUtils.isNullOrEmpty(type)) return; //TODO 刷新界面 ClientBusinessObjectOperation operation = new ClientBusinessObjectOperation(); ClientBusinessObject cbo = null; try { cbo = operation.readBusinessObjectById(oid, type); } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } if (cbo == null || cbo.getOid().equals("")) { return; } this.refreshPanelData(cbo); } private void refreshPanelData(ClientBusinessObject cbo) { if(oaep == null) return; oaep.setValueToUIControl(cbo); oaep.updateUI(); } public ObjectAddEditPanel getOaep() { return oaep; } /** * 刷新界面 */ public void refreshUI(){ } }