Start implementing color changing over network

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@442 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Matthias Schiffer 2011-06-15 19:02:13 +02:00
parent 3ffad85972
commit 1b9c7c4778
7 changed files with 119 additions and 8 deletions

View file

@ -237,6 +237,8 @@ public interface ISettingsPanel {
*/
public IEvent getOfferGameEvent();
public void setPlayerColors(Set<Color> colors);
/**
* Specifies the different kinds of settings errors that can be displayed
*/

View file

@ -41,6 +41,7 @@ import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.SpinnerNumberModel;
import javax.swing.UIManager;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
@ -67,6 +68,8 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
private List<Boolean> removeButtonsEnabled = Collections.emptyList();
private List<Boolean> playerNamesEditable = Collections.emptyList();
private Set<Color> playerColors;
private SettingsMode settingsMode = SettingsMode.DEFAULT;
private JTabbedPane tabbedPane;
@ -234,6 +237,11 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
playerTypeChoices = choices;
}
@Override
public void setPlayerColors(Set<Color> colors) {
playerColors = colors;
}
@Override
public void setError(SettingsError error) {
switch (error) {
@ -454,7 +462,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
jokerNumberLabel = new JLabel();
jokerNumberSpinner = createOptionSpinner(1, 999, 1, changeJokerNumberEvent);
makeOptionLabel(row++, "Zeit für Spielzug:");
makeOptionLabel(row++, "Zeit f\u00fcr Spielzug:");
timeLabel = new JLabel();
timeSpinner = createOptionSpinner(1, 999, 1, changeTimeEvent);
@ -1019,7 +1027,12 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
JPopupMenu menu = new JPopupMenu();
for (Color c : PLAYER_COLORS) {
add(new ColorButton(c, menu));
if (playerColors.contains(c)) {
add(new ColorButton(c, menu));
} else {
add(new JLabel(ImageUtil.createColorIcon(
UIManager.getColor("PopupMenu.background"), 16, 0)));
}
}
menu.setLayout(new BorderLayout());