package com.vci.client.portal.platformPortal;
|
|
import java.awt.BorderLayout;
|
import java.awt.FlowLayout;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
|
import javax.swing.JButton;
|
import javax.swing.JDialog;
|
import javax.swing.JPanel;
|
import javax.swing.border.EmptyBorder;
|
import javax.swing.JLabel;
|
import javax.swing.JTextField;
|
import javax.swing.JTable;
|
import javax.swing.JScrollPane;
|
|
import com.vci.client.LogonApplication;
|
import com.vci.client.omd.btm.wrapper.BtmItemWrapper;
|
import com.vci.client.omd.linktype.LinkTypeWrapper;
|
import com.vci.client.portal.utility.PRM;
|
import com.vci.client.portal.utility.PRMItem;
|
import com.vci.client.portal.utility.UITools;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
import com.vci.client.ui.swing.components.VCIJButton;
|
import com.vci.common.utility.ObjectUtility;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.portal.data.PortalVI;
|
|
public class PlatformPortalDialog extends JDialog {
|
|
private final JPanel contentPanel = new JPanel();
|
private JTextField textField;
|
|
private VCIJButton addBtn;
|
private VCIJButton editBtn;
|
private VCIJButton delBtn;
|
private JTable table;
|
private JButton okButton;
|
private JButton cancelButton;
|
private Object selectNodeObject;
|
private PortalTableModel portalTableModel;
|
private PortalVI pvi;
|
private PRM prm;
|
private Boolean editFlag;
|
private short type;
|
public PlatformPortalDialog(Object object,PortalVI pvi,Boolean editFlag,short type) {
|
super(LogonApplication.frame, true);
|
this.selectNodeObject = object;
|
this.editFlag = editFlag;
|
this.pvi = pvi;
|
this.type = type;
|
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 attrPanel = new JPanel();
|
contentPanel.add(attrPanel, BorderLayout.NORTH);
|
attrPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
|
{
|
JLabel lblNewLabel = new JLabel("名称");
|
attrPanel.add(lblNewLabel);
|
}
|
{
|
textField = new JTextField();
|
attrPanel.add(textField);
|
textField.setColumns(20);
|
}
|
}
|
{
|
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);
|
{
|
addBtn = new VCIJButton("新增");
|
btnPanel.add(addBtn);
|
}
|
{
|
editBtn = new VCIJButton("修改");
|
btnPanel.add(editBtn);
|
}
|
{
|
delBtn = new VCIJButton("删除");
|
btnPanel.add(delBtn);
|
}
|
}
|
{
|
JPanel buttonPane = new JPanel();
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
{
|
okButton = new JButton("保存");
|
buttonPane.add(okButton);
|
}
|
{
|
cancelButton = new JButton("关闭");
|
buttonPane.add(cancelButton);
|
}
|
}
|
}
|
|
private void actionListener(){
|
addBtn.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent paramActionEvent) {
|
if(textField.getText().trim().equals("")){
|
VCIOptionPane.showMessage(LogonApplication.frame, "请填写名称");
|
return;
|
}
|
if(pvi==null){
|
pvi = new PortalVI();
|
}
|
pvi.viName = textField.getText().trim();
|
WidgetDialog dialog = new WidgetDialog(pvi,null,-1,selectNodeObject);
|
dialog.setVisible(true);
|
pvi.prm = dialog.getPrmText();
|
prm = UITools.getPRM(pvi.prm);
|
initData();
|
}
|
});
|
editBtn.addActionListener(new ActionListener() {
|
|
@Override
|
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[] data = portalTableModel.getData();
|
WidgetDialog dialog = new WidgetDialog(pvi,data[table.getSelectedRow()],table.getSelectedRow(),selectNodeObject);
|
dialog.setVisible(true);
|
pvi.prm = dialog.getPrmText();
|
prm = UITools.getPRM(pvi.prm);
|
initData();
|
}
|
});
|
|
delBtn.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
int selectedRow = table.getSelectedRowCount();
|
if(selectedRow>1){
|
VCIOptionPane.showMessage(LogonApplication.frame, "只能修改一条记录");
|
return;
|
}
|
PRMItem[] data = portalTableModel.getData();
|
prm = UITools.getPRM(pvi.prm);
|
prm.getPrmItemList().remove(table.getSelectedRow());
|
try {
|
pvi.prm = UITools.getPRMText(prm);
|
prm = UITools.getPRM(pvi.prm);
|
} catch (Throwable e) {
|
e.printStackTrace();
|
}
|
initData();
|
}
|
});
|
|
okButton.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
try {
|
if(editFlag == true){
|
pvi.viName = textField.getText();
|
UITools.getService().updatePortalVI(pvi);
|
}else{
|
pvi.id = ObjectUtility.getNewObjectID36();
|
String btmName = "";
|
if(selectNodeObject instanceof BtmItemWrapper){
|
btmName = ((BtmItemWrapper)selectNodeObject).btmItem.name;
|
}else if(selectNodeObject instanceof LinkTypeWrapper){
|
btmName = ((LinkTypeWrapper)selectNodeObject).linkType.name;
|
}
|
pvi.typeName = btmName;
|
pvi.viType =type;
|
UITools.getService().savePortalVI(pvi);
|
}
|
VCIOptionPane.showMessage(LogonApplication.frame, "保存成功");
|
dispose();
|
} catch (VCIError e) {
|
e.printStackTrace();
|
VCIOptionPane.showMessage(LogonApplication.frame, "保存失败");
|
}
|
}
|
});
|
|
cancelButton.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
dispose();
|
}
|
});
|
}
|
|
public void initData() {
|
if(pvi == null){
|
return;
|
}
|
textField.setText(pvi.viName);
|
String prmText = pvi.prm;
|
prm = UITools.getPRM(prmText);
|
PRMItem[] dataObjs = prm.getPrmItemList().toArray(new PRMItem[]{});
|
portalTableModel.setData(dataObjs);
|
table.removeAll();
|
table.setModel(portalTableModel);
|
}
|
}
|