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