summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mock/jrummikub/view/MockView.java30
-rw-r--r--src/jrummikub/control/ApplicationControl.java1
-rw-r--r--src/jrummikub/control/SaveControl.java17
-rw-r--r--src/jrummikub/util/Event.java2
-rw-r--r--src/jrummikub/view/IQuitWarningPanel.java7
-rw-r--r--src/jrummikub/view/impl/QuitWarningPanel.java9
-rw-r--r--test/jrummikub/control/SaveControlTest.java2
7 files changed, 40 insertions, 28 deletions
diff --git a/mock/jrummikub/view/MockView.java b/mock/jrummikub/view/MockView.java
index 7c9b18e..f283ebd 100644
--- a/mock/jrummikub/view/MockView.java
+++ b/mock/jrummikub/view/MockView.java
@@ -30,6 +30,8 @@ public class MockView implements IView {
/** */
public MockGameListPanel gameListPanel = new MockGameListPanel();
/** */
+ public MockQuitWarningPanel quitWarningPanel = new MockQuitWarningPanel();
+ /** */
public boolean isSettingsPanelVisible = false;
/** */
public boolean isScorePanelVisible = false;
@@ -59,7 +61,7 @@ public class MockView implements IView {
/** */
public MockEvent menuQuitEvent = new MockEvent();
/** */
- public MockEvent1<File> loadEvent = new MockEvent1<File>();
+ public MockEvent loadEvent = new MockEvent();
/** */
public MockEvent1<File> saveEvent = new MockEvent1<File>();
/** */
@@ -70,6 +72,8 @@ public class MockView implements IView {
public MockEvent networkGameEvent = new MockEvent();
/** */
public MockEvent acknowledgeInvalidEvent = new MockEvent();
+ /** */
+ public MockEvent1<File> loadFileEvent = new MockEvent1<File>();
@Override
public MockTablePanel getTablePanel() {
@@ -167,7 +171,7 @@ public class MockView implements IView {
}
@Override
- public IEvent1<File> getLoadEvent() {
+ public IEvent getLoadEvent() {
return loadEvent;
}
@@ -247,13 +251,13 @@ public class MockView implements IView {
@Override
public void showLoadingError() {
// TODO Auto-generated method stub
-
+
}
@Override
public void enableSave(boolean enable) {
// TODO Auto-generated method stub
-
+
}
@Override
@@ -264,23 +268,31 @@ public class MockView implements IView {
@Override
public void showSidePanel(boolean show) {
// TODO Auto-generated method stub
-
+
}
public void showQuitWarningPanel(boolean show) {
// TODO Auto-generated method stub
-
+
}
@Override
public IEvent getQuitEvent() {
- // TODO Auto-generated method stub
- return null;
+ return quitEvent;
}
@Override
public IQuitWarningPanel getQuitWarningPanel() {
+ return quitWarningPanel;
+ }
+
+ @Override
+ public IEvent1<File> getLoadFileEvent() {
+ return loadFileEvent;
+ }
+
+ @Override
+ public void load() {
// TODO Auto-generated method stub
- return null;
}
}
diff --git a/src/jrummikub/control/ApplicationControl.java b/src/jrummikub/control/ApplicationControl.java
index 87516c0..7a629af 100644
--- a/src/jrummikub/control/ApplicationControl.java
+++ b/src/jrummikub/control/ApplicationControl.java
@@ -109,7 +109,6 @@ public class ApplicationControl {
view);
addGameControlListeners(gameControl);
gameControl.continueGame(gameState, roundState);
-
}
});
saveControl.getLoadErrorEvent().add(new IListener() {
diff --git a/src/jrummikub/control/SaveControl.java b/src/jrummikub/control/SaveControl.java
index 31e7a12..4134aec 100644
--- a/src/jrummikub/control/SaveControl.java
+++ b/src/jrummikub/control/SaveControl.java
@@ -49,14 +49,15 @@ public class SaveControl {
view.getQuitWarningPanel().setMode(QuitMode.QUIT_GAME);
view.showQuitWarningPanel(true);
- tempConnection=view.getQuitWarningPanel().getQuitEvent().add(new IListener() {
- @Override
- public void handle() {
- view.showQuitWarningPanel(false);
- view.load();
- tempConnection.remove();
- }
- });
+ tempConnection = view.getQuitWarningPanel().getQuitEvent()
+ .add(new IListener() {
+ @Override
+ public void handle() {
+ view.showQuitWarningPanel(false);
+ view.load();
+ tempConnection.remove();
+ }
+ });
}
});
view.getLoadFileEvent().add(new IListener1<File>() {
diff --git a/src/jrummikub/util/Event.java b/src/jrummikub/util/Event.java
index aa491da..6d9522b 100644
--- a/src/jrummikub/util/Event.java
+++ b/src/jrummikub/util/Event.java
@@ -25,7 +25,7 @@ public class Event implements IEvent {
/** Generate a single event */
public void emit() {
- for (IListener listener : listeners) {
+ for (IListener listener : new HashSet<IListener>(listeners)) {
listener.handle();
}
}
diff --git a/src/jrummikub/view/IQuitWarningPanel.java b/src/jrummikub/view/IQuitWarningPanel.java
index eddf6b1..b1f4123 100644
--- a/src/jrummikub/view/IQuitWarningPanel.java
+++ b/src/jrummikub/view/IQuitWarningPanel.java
@@ -1,7 +1,6 @@
package jrummikub.view;
-import jrummikub.util.Event;
-import jrummikub.view.IQuitWarningPanel.QuitMode;
+import jrummikub.util.IEvent;
public interface IQuitWarningPanel {
@@ -14,9 +13,9 @@ public interface IQuitWarningPanel {
QUIT_GAME
}
- Event getQuitEvent();
+ public IEvent getQuitEvent();
- Event getCancelEvent();
+ public IEvent getCancelEvent();
public void setMode(QuitMode mode);
diff --git a/src/jrummikub/view/impl/QuitWarningPanel.java b/src/jrummikub/view/impl/QuitWarningPanel.java
index d7a304a..b7992b0 100644
--- a/src/jrummikub/view/impl/QuitWarningPanel.java
+++ b/src/jrummikub/view/impl/QuitWarningPanel.java
@@ -15,6 +15,7 @@ import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import jrummikub.util.Event;
+import jrummikub.util.IEvent;
import jrummikub.view.IQuitWarningPanel;
public class QuitWarningPanel extends JPanel implements IQuitWarningPanel {
@@ -77,19 +78,19 @@ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel {
messageLabel.setText("Der aktuelle Spielstand geht verloren");
}
}
-
+
@Override
- public QuitMode getQuitMode(){
+ public QuitMode getQuitMode() {
return quitMode;
}
@Override
- public Event getQuitEvent() {
+ public IEvent getQuitEvent() {
return quitEvent;
}
@Override
- public Event getCancelEvent() {
+ public IEvent getCancelEvent() {
return cancelEvent;
}
}
diff --git a/test/jrummikub/control/SaveControlTest.java b/test/jrummikub/control/SaveControlTest.java
index 3ff5f42..72dba75 100644
--- a/test/jrummikub/control/SaveControlTest.java
+++ b/test/jrummikub/control/SaveControlTest.java
@@ -66,7 +66,7 @@ public class SaveControlTest {
}
});
- view.loadEvent.emit(file);
+ view.loadEvent.emit();
file.delete();
}