package com.vci.client.portal.UI.v3.comptdesign.compt.popupcompt;
|
|
import java.awt.BorderLayout;
|
import java.awt.Color;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
|
import javax.swing.JRootPane;
|
import javax.swing.border.LineBorder;
|
|
import com.vci.client.portal.UI.v3.comptdesign.UIComptDesignDialog;
|
import com.vci.client.ui.swing.VCISwingUtil;
|
import com.vci.client.ui.swing.components.VCIJButton;
|
import com.vci.client.ui.swing.components.VCIJOptionPane;
|
import com.vci.client.ui.swing.components.VCIJPanel;
|
import com.vci.client.ui.swing.components.VCIJTextField;
|
import com.vci.corba.omd.btm.BtmItem;
|
import com.vci.mw.ClientContextVariable;
|
|
public class BtmTypePopupDialog extends BasePopupDialog {
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 7777846452758890109L;
|
|
private BtmTypePopupTablePanel btmTypeTablePanel = null;
|
|
private VCIJButton btnOk = VCISwingUtil.createVCIJButton("ok", "确定", "确定", "accept.png", new ActionListener() {
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
btnOk_actionPerformed(e, true);
|
}
|
});
|
private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "取消", "取消", "cancel.png", new ActionListener() {
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
btnCancel_actionPerformed(e);
|
}
|
});
|
|
public BtmTypePopupDialog(UIComptDesignDialog ownedUIComptDesignDialog,
|
VCIJTextField searchInputTxt){
|
super(ownedUIComptDesignDialog, searchInputTxt);
|
}
|
|
@Override
|
public void buildDialog(){
|
init();
|
super.setBuildCompleted(true);
|
}
|
|
private void init(){
|
initUI();
|
}
|
|
private void initUI(){
|
setUndecorated(true);
|
getRootPane().setWindowDecorationStyle(JRootPane.NONE);
|
setLayout(new BorderLayout());
|
|
VCIJPanel pal = new VCIJPanel(new BorderLayout());
|
pal.setBorder(new LineBorder(Color.black));
|
|
btmTypeTablePanel = new BtmTypePopupTablePanel(this);
|
btmTypeTablePanel.buildTablePanel();
|
btmTypeTablePanel.getTablePanel().getTable().addMouseListener(new MouseAdapter() {
|
public void mouseClicked(MouseEvent e) {
|
int row = btmTypeTablePanel.getTablePanel().getTable().rowAtPoint(e.getPoint());
|
int column = btmTypeTablePanel.getTablePanel().getTable().columnAtPoint(e.getPoint());
|
if(row < 0 || column <= 0){
|
return;
|
}
|
setBtmTypeNameTableRowIndex(row);
|
}
|
});
|
pal.add(btmTypeTablePanel, BorderLayout.CENTER);
|
pal.add(getSouthButtonPanel(), BorderLayout.SOUTH);
|
add(pal, BorderLayout.CENTER);
|
}
|
|
private VCIJPanel getSouthButtonPanel(){
|
VCIJPanel pal = new VCIJPanel();
|
pal.add(btnOk);
|
pal.add(btnCancel);
|
return pal;
|
}
|
|
private void btnOk_actionPerformed(ActionEvent e, boolean fromBtnOk){
|
if(fromBtnOk){
|
BtmItem[] sels = btmTypeTablePanel.getTablePanel().getSelectedRowObjectsList().toArray(new BtmItem[]{});
|
if(sels.length == 0 && !isSelected()){
|
VCIJOptionPane.showMessage(ClientContextVariable.getFrame(), "请先选择数据");
|
return;
|
}
|
if(sels.length >= 2){
|
VCIJOptionPane.showMessage(ClientContextVariable.getFrame(), "只能选择一条数据");
|
return;
|
}
|
setBtmTypeName(sels[0]);
|
close(DialogResult.OK);
|
} else {
|
int row = btmTypeTablePanel.getTablePanel().getTable().getSelectedRow();
|
setBtmTypeNameTableRowIndex(row);
|
}
|
}
|
private void setBtmTypeNameTableRowIndex(int rowIndex){
|
if(rowIndex >= 0 && rowIndex < btmTypeTablePanel.getTablePanel().getTableModel().getList().size()){
|
BtmItem bi = btmTypeTablePanel.getTablePanel().getSpecialObjectByRowIndex(rowIndex);
|
setBtmTypeName(bi);
|
close(DialogResult.OK);
|
}
|
}
|
private void setBtmTypeName(BtmItem bi){
|
selectedBtmTypeName = bi.name;
|
}
|
private String selectedBtmTypeName = "";
|
public String getSelectedBtmTypeName(){
|
return selectedBtmTypeName;
|
}
|
private boolean isSelected(){
|
return btmTypeTablePanel.getTablePanel().getTable().getSelectedRow() >= 0;
|
}
|
private void btnCancel_actionPerformed(ActionEvent e){
|
close(DialogResult.CANCEL);
|
}
|
private void close(DialogResult dialogRes){
|
setDialogResult(dialogRes);
|
if(getDialogCallback() != null){
|
getDialogCallback().run();
|
}
|
setVisible(false);
|
}
|
|
public BtmTypePopupTablePanel getBtmTypeTablePanel() {
|
return btmTypeTablePanel;
|
}
|
|
public void setBtmTypeTablePanel(BtmTypePopupTablePanel btmTypeTablePanel) {
|
this.btmTypeTablePanel = btmTypeTablePanel;
|
}
|
|
@Override
|
public void loadData(){
|
btmTypeTablePanel.getTablePanel().refreshTableData();
|
}
|
|
}
|