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:
parent
3ffad85972
commit
1b9c7c4778
7 changed files with 119 additions and 8 deletions
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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());
|
||||
|
|
Reference in a new issue