Fixed QuitWarningPanel event handling and disabling of UI
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@518 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
087f8f7267
commit
b0fedc9808
3 changed files with 55 additions and 37 deletions
|
@ -51,7 +51,7 @@ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel {
|
|||
|
||||
c.gridy = 1;
|
||||
c.gridwidth = 1;
|
||||
quitButton = createButton("Beenden", quitEvent);
|
||||
quitButton = createButton("Fortfahren", quitEvent);
|
||||
cancelButton = createButton("Abbrechen", cancelEvent);
|
||||
add(cancelButton, c);
|
||||
c.gridx = 1;
|
||||
|
|
|
@ -86,6 +86,7 @@ public class View extends JFrame implements IView {
|
|||
private Event1<File> loadFileEvent = new Event1<File>();
|
||||
private Event1<File> saveEvent = new Event1<File>();
|
||||
private Event quitEvent = new Event();
|
||||
private JFrame quitWarningFrame;
|
||||
|
||||
private static int even(double d) {
|
||||
return 2 * (int) (d / 2);
|
||||
|
@ -296,7 +297,9 @@ public class View extends JFrame implements IView {
|
|||
addWindowListener(new WindowAdapter() {
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
quitEvent.emit();
|
||||
if (isEnabled()) {
|
||||
quitEvent.emit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -318,6 +321,10 @@ public class View extends JFrame implements IView {
|
|||
public void componentResized(ComponentEvent e) {
|
||||
rescale();
|
||||
}
|
||||
@Override
|
||||
public void componentMoved(ComponentEvent e) {
|
||||
quitWarningFrame.setLocationRelativeTo(View.this);
|
||||
}
|
||||
});
|
||||
|
||||
setVisible(true);
|
||||
|
@ -343,10 +350,15 @@ public class View extends JFrame implements IView {
|
|||
layeredPane.add(connectPanel);
|
||||
|
||||
quitWarningPanel = new QuitWarningPanel();
|
||||
quitWarningPanel.setVisible(false);
|
||||
layeredPane.setLayer(quitWarningPanel, JLayeredPane.POPUP_LAYER);
|
||||
layeredPane.add(quitWarningPanel);
|
||||
|
||||
quitWarningFrame = new JFrame();
|
||||
quitWarningFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
|
||||
quitWarningFrame.add(quitWarningPanel);
|
||||
quitWarningFrame.setAlwaysOnTop(true);
|
||||
quitWarningFrame.setUndecorated(true);
|
||||
|
||||
//layeredPane.setLayer(quitWarningPanel, JLayeredPane.POPUP_LAYER);
|
||||
//layeredPane.add(quitWarningPanel);
|
||||
//quitWarningPanel.setVisible(true);
|
||||
scorePanel = new ScorePanel();
|
||||
scorePanel.setVisible(false);
|
||||
layeredPane.setLayer(scorePanel, JLayeredPane.POPUP_LAYER);
|
||||
|
@ -446,6 +458,9 @@ public class View extends JFrame implements IView {
|
|||
rescaleSubpanel(loginPanel, 1 / 3.0, 1 / 3.0, 200, 200);
|
||||
rescaleSubpanel(gameListPanel, 1 / 2.0, 1 / 2.0, 475, 300);
|
||||
rescaleSubpanel(quitWarningPanel, 1 / 2.0, 1 / 6.0, 400, 150);
|
||||
quitWarningPanel.setLocation(0, 0);
|
||||
quitWarningFrame.setSize(quitWarningPanel.getSize());
|
||||
quitWarningFrame.setLocationRelativeTo(this);
|
||||
rescaleSubpanel(connectPanel, 1 / 2.0, 1 / 6.0, 400, 150);
|
||||
}
|
||||
|
||||
|
@ -508,7 +523,17 @@ public class View extends JFrame implements IView {
|
|||
}
|
||||
|
||||
public void showQuitWarningPanel(boolean show) {
|
||||
quitWarningPanel.setVisible(show);
|
||||
quitWarningFrame.setLocationRelativeTo(this);
|
||||
quitWarningFrame.setVisible(show);
|
||||
|
||||
setEnabled(!show);
|
||||
/*mainLayer.setEnabled(!show);
|
||||
menuBar.setEnabled(!show);
|
||||
settingsPanel.setEnabled(!show);
|
||||
loginPanel.setEnabled(!show);
|
||||
scorePanel.setEnabled(!show);
|
||||
gameListPanel.setEnabled(!show);
|
||||
connectPanel.setEnabled(!show);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Reference in a new issue