Fixed quit warning in network mode
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@543 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
67105d228e
commit
b69608a0d9
5 changed files with 47 additions and 35 deletions
|
@ -63,8 +63,6 @@ public class MockView implements IView {
|
|||
/** */
|
||||
public MockEvent menuNewGameEvent = new MockEvent();
|
||||
/** */
|
||||
public MockEvent menuQuitEvent = new MockEvent();
|
||||
/** */
|
||||
public MockEvent loadEvent = new MockEvent();
|
||||
/** */
|
||||
public MockEvent1<File> saveEvent = new MockEvent1<File>();
|
||||
|
@ -220,11 +218,6 @@ public class MockView implements IView {
|
|||
return menuNewGameEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent getMenuQuitEvent() {
|
||||
return menuQuitEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent getLoadEvent() {
|
||||
return loadEvent;
|
||||
|
|
|
@ -56,9 +56,13 @@ public class ApplicationControl {
|
|||
});
|
||||
}
|
||||
});
|
||||
IListener quitListener = new IListener() {
|
||||
view.getQuitEvent().add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
if (networkControl != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gameControl == null) {
|
||||
System.exit(0);
|
||||
} else {
|
||||
|
@ -73,10 +77,7 @@ public class ApplicationControl {
|
|||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
view.getMenuQuitEvent().add(quitListener);
|
||||
|
||||
view.getQuitEvent().add(quitListener);
|
||||
});
|
||||
|
||||
view.getQuitWarningPanel().getCancelEvent().add(new IListener() {
|
||||
@Override
|
||||
|
|
|
@ -17,6 +17,7 @@ import jrummikub.util.IEvent;
|
|||
import jrummikub.util.IListener;
|
||||
import jrummikub.util.IListener1;
|
||||
import jrummikub.util.LoginData;
|
||||
import jrummikub.view.IQuitWarningPanel.QuitMode;
|
||||
import jrummikub.view.IView;
|
||||
import jrummikub.view.LoginError;
|
||||
|
||||
|
@ -27,6 +28,7 @@ public class NetworkControl {
|
|||
private IConnectionControl connectionControl;
|
||||
private IView view;
|
||||
private List<Connection> connections = new ArrayList<Connection>();
|
||||
Connection tempConnection;
|
||||
private Event stopNetworkEvent = new Event();
|
||||
private Event backToLoginEvent = new Event();
|
||||
|
||||
|
@ -73,6 +75,36 @@ public class NetworkControl {
|
|||
addConnectionSetupListeners(loginData, view);
|
||||
addConnectionControlListeners(view);
|
||||
|
||||
connections.add(view.getQuitEvent().add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
if (gameControl == null) {
|
||||
System.exit(0);
|
||||
} else {
|
||||
view.getQuitWarningPanel().setMode(QuitMode.QUIT_PROCESS);
|
||||
view.showQuitWarningPanel(true);
|
||||
tempConnection = view.getQuitWarningPanel().getQuitEvent()
|
||||
.add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}));
|
||||
connections.add(view.getQuitWarningPanel().getCancelEvent()
|
||||
.add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
view.showQuitWarningPanel(false);
|
||||
if (tempConnection != null) {
|
||||
tempConnection.remove();
|
||||
tempConnection = null;
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
connections.add(view.getGameListPanel().getJoinEvent()
|
||||
.add(new IListener1<GameData>() {
|
||||
@Override
|
||||
|
@ -306,8 +338,7 @@ public class NetworkControl {
|
|||
if (gameOfferControl != null) {
|
||||
return;
|
||||
}
|
||||
gameOfferControl = new GameOfferControl(connectionControl, settings,
|
||||
view);
|
||||
gameOfferControl = new GameOfferControl(connectionControl, settings, view);
|
||||
gameOfferControl.getBackEvent().add(new IListener() {
|
||||
@Override
|
||||
public void handle() {
|
||||
|
|
|
@ -155,13 +155,6 @@ public interface IView {
|
|||
*/
|
||||
public IEvent getMenuNewGameEvent();
|
||||
|
||||
/**
|
||||
* The menu quit event is emitted when the user selects the quit menu entry
|
||||
*
|
||||
* @return the event
|
||||
*/
|
||||
public IEvent getMenuQuitEvent();
|
||||
|
||||
/**
|
||||
* The load event is emitted when the user wants to load a previously saved
|
||||
* game state
|
||||
|
|
|
@ -79,7 +79,6 @@ public class View extends JFrame implements IView {
|
|||
private JFileChooser chooser;
|
||||
|
||||
private Event menuNewGameEvent = new Event();
|
||||
private Event menuQuitEvent = new Event();
|
||||
|
||||
private Event networkGameEvent = new Event();
|
||||
private Event loadEvent = new Event();
|
||||
|
@ -147,11 +146,6 @@ public class View extends JFrame implements IView {
|
|||
return menuNewGameEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent getMenuQuitEvent() {
|
||||
return menuQuitEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent1<File> getLoadFileEvent() {
|
||||
return loadFileEvent;
|
||||
|
@ -246,7 +240,7 @@ public class View extends JFrame implements IView {
|
|||
|
||||
gameMenu.addSeparator();
|
||||
|
||||
gameMenu.add(createMenuItem("Beenden", menuQuitEvent));
|
||||
gameMenu.add(createMenuItem("Beenden", quitEvent));
|
||||
|
||||
setJMenuBar(menuBar);
|
||||
}
|
||||
|
@ -503,11 +497,11 @@ public class View extends JFrame implements IView {
|
|||
|
||||
@Override
|
||||
public void showLoginPanel(boolean show) {
|
||||
loginPanel.setVisible(show);
|
||||
|
||||
if (show) {
|
||||
loginPanel.resetLoginPanel();
|
||||
}
|
||||
|
||||
loginPanel.setVisible(show);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Reference in a new issue