/*
* OkCancelDialog.java
*
* Created on July 30, 2006, 10:36 PM
*/
package com.floreantpos.ui.dialog;
import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import com.floreantpos.ui.BeanEditor;
/**
*
* @author MShahriar
*/
public class BeanEditorDialog extends javax.swing.JDialog implements WindowListener {
protected BeanEditor beanEditor;
private boolean canceled = false;
/** Creates new form OkCancelDialog */
public BeanEditorDialog(java.awt.Frame parent, boolean modal) {
this(null, parent, modal);
}
public BeanEditorDialog(BeanEditor beanEditor, java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
setBeanEditor(beanEditor);
addWindowListener(this);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
titlePanel = new com.floreantpos.ui.TitlePanel();
jPanel1 = new com.floreantpos.swing.TransparentPanel();
jSeparator1 = new javax.swing.JSeparator();
jPanel2 = new com.floreantpos.swing.TransparentPanel();
btnOk = new javax.swing.JButton();
btnCancel = new javax.swing.JButton();
beanEditorContainer = new com.floreantpos.swing.TransparentPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
getContentPane().add(titlePanel, java.awt.BorderLayout.NORTH);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel1.add(jSeparator1, java.awt.BorderLayout.NORTH);
jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
btnOk.setText("Ok");
btnOk.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
performOk(evt);
}
});
jPanel2.add(btnOk);
btnCancel.setText("Cancel");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
performCancel(evt);
}
});
jPanel2.add(btnCancel);
jPanel1.add(jPanel2, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
beanEditorContainer.setLayout(new java.awt.BorderLayout());
getContentPane().add(beanEditorContainer, java.awt.BorderLayout.CENTER);
}// </editor-fold>//GEN-END:initComponents
@Override
public void dispose() {
if (beanEditor != null) {
beanEditor.dispose();
beanEditor = null;
}
super.dispose();
}
private void performCancel(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_performCancel
canceled = true;
dispose();
}//GEN-LAST:event_performCancel
private void performOk(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_performOk
if (beanEditor == null) {
return;
}
boolean saved = beanEditor.save();
if (saved) {
dispose();
}
}//GEN-LAST:event_performOk
// Variables declaration - do not modify//GEN-BEGIN:variables
private com.floreantpos.swing.TransparentPanel beanEditorContainer;
private javax.swing.JButton btnCancel;
private javax.swing.JButton btnOk;
private com.floreantpos.swing.TransparentPanel jPanel1;
private com.floreantpos.swing.TransparentPanel jPanel2;
private javax.swing.JSeparator jSeparator1;
private com.floreantpos.ui.TitlePanel titlePanel;
// End of variables declaration//GEN-END:variables
public void setTitle(String title) {
super.setTitle(title);
titlePanel.setTitle(title);
}
public void open() {
canceled = false;
this.pack();
this.setLocationRelativeTo(this.getOwner());
super.setVisible(true);
}
public boolean isCanceled() {
return canceled;
}
public Frame getParentFrame() {
return (Frame) getOwner();
}
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
performCancel(null);
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public BeanEditor getBeanEditor() {
return beanEditor;
}
public Object getBean() {
if (beanEditor != null) {
return beanEditor.getBean();
}
return null;
}
public void setBean(Object bean) {
if (beanEditor != null) {
beanEditor.setBean(bean);
}
}
public void setBeanEditor(BeanEditor beanEditor) {
if (this.beanEditor != beanEditor) {
this.beanEditor = beanEditor;
beanEditorContainer.removeAll();
if (beanEditor != null) {
beanEditor.setEditorDialog(this);
beanEditorContainer.add(beanEditor);
setTitle(beanEditor.getDisplayText());
}
beanEditorContainer.revalidate();
}
}
}