package com.vci.client.portal.Formdesign;
|
|
import java.awt.BorderLayout;
|
import java.awt.Component;
|
import java.awt.FlowLayout;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.swing.JButton;
|
import javax.swing.JDialog;
|
import javax.swing.JLabel;
|
import javax.swing.JPanel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.border.EmptyBorder;
|
|
import com.vci.client.LogonApplication;
|
import com.vci.client.portal.Formdesign.object.CompnentGroup;
|
import com.vci.client.portal.platformPortal.PortalTableModel;
|
import com.vci.client.portal.utility.PRM;
|
import com.vci.client.portal.utility.PRMItem;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
import com.vci.client.ui.swing.components.VCIJButton;
|
import com.vci.corba.omd.atm.AttribItem;
|
import com.vci.corba.portal.data.PortalVI;
|
|
public class AttrListDialog extends JDialog {
|
|
private final JPanel contentPanel = new JPanel();
|
private VCIJButton delBtn;
|
private VCIJButton editBtn;
|
private JTable table;
|
private JButton cancelButton;
|
private Object selectNodeObject;
|
private PortalTableModel portalTableModel;
|
private PortalVI pvi;
|
private PRM prm;
|
/**
|
* 保存组件和属性的关系
|
*/
|
private Map<String, PRMItem> comPRMItemMap = null;//(Map<String, PRMItem>)new ListOrderedMap();
|
|
/**
|
* 存储组件
|
*/
|
private ArrayList<CompnentGroup> groupList = new ArrayList<CompnentGroup>();
|
public AttrListDialog(Object object,PortalVI pvi,Map<String, PRMItem> comPRMItemMap,ArrayList<CompnentGroup> groupList) {
|
super(LogonApplication.frame, true);
|
this.selectNodeObject = object;
|
this.pvi = pvi;
|
this.comPRMItemMap = comPRMItemMap;
|
this.groupList = groupList;
|
init();
|
actionListener();
|
initData();
|
this.setLocationRelativeTo(null);
|
this.setVisible(true);
|
}
|
|
private void init() {
|
setBounds(100, 100, 514, 389);
|
getContentPane().setLayout(new BorderLayout());
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
contentPanel.setLayout(new BorderLayout(0, 0));
|
{
|
JPanel tablePanel = new JPanel();
|
contentPanel.add(tablePanel, BorderLayout.CENTER);
|
tablePanel.setLayout(new BorderLayout(0, 0));
|
{
|
JScrollPane scrollPane = new JScrollPane();
|
tablePanel.add(scrollPane);
|
{
|
table = new JTable();
|
portalTableModel = new PortalTableModel();
|
table.setModel(portalTableModel);
|
scrollPane.setViewportView(table);
|
}
|
}
|
}
|
{
|
JPanel btnPanel = new JPanel();
|
contentPanel.add(btnPanel, BorderLayout.SOUTH);
|
}
|
{
|
JPanel buttonPane = new JPanel();
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
{
|
editBtn = new VCIJButton("修改");
|
buttonPane.add(editBtn);
|
}
|
{
|
delBtn = new VCIJButton("删除");
|
buttonPane.add(delBtn);
|
}
|
{
|
cancelButton = new JButton("关闭");
|
buttonPane.add(cancelButton);
|
}
|
}
|
}
|
|
private void actionListener(){
|
editBtn.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
int selectedRow = table.getSelectedRowCount();
|
if(selectedRow>1){
|
VCIOptionPane.showMessage(LogonApplication.frame, "只能修改一条记录");
|
return;
|
}
|
if(selectedRow == -1){
|
VCIOptionPane.showMessage(LogonApplication.frame, "请选择一条记录");
|
return;
|
}
|
PRMItem selectedValue = portalTableModel.getValue(table.getSelectedRow());
|
CustomWidgetDialog dialog = new CustomWidgetDialog(pvi, selectedValue, selectNodeObject, null);
|
dialog.setVisible(true);
|
CompnentGroup gg = new CompnentGroup();
|
AttribItem attriItem = null;
|
gg.setAItem(attriItem);
|
gg.setPrmItem(dialog.getPrmItem());
|
String arrtName = dialog.getArrtName();
|
if ("".equals(arrtName)) {
|
return;
|
}
|
String attrDisType = dialog.getAttrDisType();
|
groupList.add(gg);
|
}
|
});
|
delBtn.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
int selectedRow = table.getSelectedRowCount();
|
if(selectedRow==0){
|
VCIOptionPane.showMessage(LogonApplication.frame, "请选择数据!");
|
return;
|
}
|
// if(selectedRow>1){
|
// VCIOptionPane.showMessage(LogonApplication.frame, "只能修改一条记录");
|
// return;
|
// }
|
PRMItem selectedValue = portalTableModel.getValue(table.getSelectedRow());
|
comPRMItemMap.remove(selectedValue.getItemField());
|
groupList.remove(table.getSelectedRow());
|
initData();
|
}
|
});
|
|
cancelButton.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
dispose();
|
}
|
});
|
}
|
|
public void initData() {
|
// if(pvi == null){
|
// return;
|
// }
|
// String prmText = pvi.prm;
|
// prm = Tool.getPRM(prmText);
|
// PRMItem[] dataObjs = prm.getPrmItemList().toArray(new PRMItem[]{});
|
// portalTableModel.setData(dataObjs);
|
// table.removeAll();
|
// table.setModel(portalTableModel);
|
List<PRMItem> list = new ArrayList<PRMItem>();
|
for(Map.Entry<String, PRMItem> entry : comPRMItemMap.entrySet()){
|
PRMItem value = entry.getValue();
|
list.add(value);
|
}
|
PRMItem[] dataObjs = list.toArray(new PRMItem[]{});
|
portalTableModel.setData(dataObjs);
|
table.removeAll();
|
table.setModel(portalTableModel);
|
}
|
}
|