summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view')
-rw-r--r--src/jrummikub/view/ISettingsPanel.java10
-rw-r--r--src/jrummikub/view/impl/SettingsPanel.java14
2 files changed, 21 insertions, 3 deletions
diff --git a/src/jrummikub/view/ISettingsPanel.java b/src/jrummikub/view/ISettingsPanel.java
index 28faec6..cc1431d 100644
--- a/src/jrummikub/view/ISettingsPanel.java
+++ b/src/jrummikub/view/ISettingsPanel.java
@@ -2,6 +2,8 @@ package jrummikub.view;
import java.awt.Color;
+import jrummikub.control.turn.TurnControlFactory;
+import jrummikub.control.turn.TurnControlFactory.Type;
import jrummikub.model.GameSettings;
import jrummikub.util.IEvent;
import jrummikub.util.IEvent1;
@@ -65,6 +67,14 @@ public interface ISettingsPanel {
public IEvent2<Integer, String> getChangePlayerNameEvent();
/**
+ * The change player color event is emitted when the user wants change a
+ * player's type
+ *
+ * @return the event
+ */
+ public IEvent2<Integer, TurnControlFactory.Type> getChangePlayerTypeEvent();
+
+ /**
* The change initial meld threshold event is emitted when the user wants
* change the initial meld threshold
*
diff --git a/src/jrummikub/view/impl/SettingsPanel.java b/src/jrummikub/view/impl/SettingsPanel.java
index a96c5a7..02dfc10 100644
--- a/src/jrummikub/view/impl/SettingsPanel.java
+++ b/src/jrummikub/view/impl/SettingsPanel.java
@@ -41,6 +41,7 @@ import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import jrummikub.control.turn.TurnControlFactory;
+import jrummikub.control.turn.TurnControlFactory.Type;
import jrummikub.model.GameSettings;
import jrummikub.model.PlayerSettings;
import jrummikub.util.Event;
@@ -312,10 +313,12 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
nameField.setText(settings.getName());
}
// playerType.setSelectedIndex(0);
- playerType.setSelectedIndex(Arrays.binarySearch(
+ int index = Arrays.binarySearch(
TurnControlFactory.Type.values(),
- settings.getTurnControlType()));
-
+ settings.getTurnControlType());
+ if (index != playerType.getSelectedIndex()) {
+ playerType.setSelectedIndex(index);
+ }
colorButton.setIcon(ImageUtil.createColorIcon(settings.getColor(),
16, 2));
}
@@ -494,4 +497,9 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
public void setJokerNumber(int jokerNumber) {
jokerNumberSpinner.setValue(jokerNumber);
}
+
+ @Override
+ public IEvent2<Integer, Type> getChangePlayerTypeEvent() {
+ return changePlayerTypeEvent;
+ }
}