package net.seninp.grammarviz.view;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
import net.seninp.grammarviz.session.UserSession;
/* 1.4 example used by DialogDemo.java. */
class GrammarvizGuesserDialog extends JDialog implements ActionListener {
private static final long serialVersionUID = 8146102612457794550L;
private static final String OK_BUTTON_TEXT = "OK";
private static final String CANCEL_BUTTON_TEXT = "Cancel";
//private UserSession session;
private GrammarvizGuesserPane guesserPane;
protected volatile boolean wasCancelled;
/** Creates the reusable dialog. */
public GrammarvizGuesserDialog(JFrame topFrame, JPanel guesserPane, UserSession session) {
super(topFrame, true);
if (topFrame != null) {
Dimension parentSize = topFrame.getSize();
Point p = topFrame.getLocation();
setLocation(p.x + parentSize.width / 4, p.y + parentSize.height / 4);
}
this.setTitle("Sampler interval and parameter ranges verification");
// this.session = session;
this.guesserPane = (GrammarvizGuesserPane) guesserPane;
MigLayout mainFrameLayout = new MigLayout("fill", "[grow,center]", "[grow]5[]");
getContentPane().setLayout(mainFrameLayout);
getContentPane().add(this.guesserPane, "h 200:200:,w 400:400:,growx,growy,wrap");
JPanel buttonPane = new JPanel();
JButton okButton = new JButton(OK_BUTTON_TEXT);
JButton cancelButton = new JButton(CANCEL_BUTTON_TEXT);
buttonPane.add(okButton);
buttonPane.add(cancelButton);
okButton.addActionListener(this);
cancelButton.addActionListener(this);
getContentPane().add(buttonPane, "wrap");
pack();
}
//
// Handles events for the text field.
//
@Override
public void actionPerformed(ActionEvent e) {
if (OK_BUTTON_TEXT.equalsIgnoreCase(e.getActionCommand())) {
// set params
this.wasCancelled = false;
}
else if (CANCEL_BUTTON_TEXT.equalsIgnoreCase(e.getActionCommand())) {
this.wasCancelled = true;
}
this.dispose();
}
/**
* Clears the dialog and hides it.
*/
public void clearAndHide() {
setVisible(false);
}
}