SubmenuColors and udpates to submenu interface.

This commit is contained in:
Doublestrike
2012-02-22 09:21:49 +00:00
parent ccf0ba63d7
commit be979d333a
3 changed files with 111 additions and 0 deletions

1
.gitattributes vendored
View File

@@ -11423,6 +11423,7 @@ src/main/java/forge/view/home/ViewQuest.java -text
src/main/java/forge/view/home/ViewSealed.java -text src/main/java/forge/view/home/ViewSealed.java -text
src/main/java/forge/view/home/ViewSettings.java -text src/main/java/forge/view/home/ViewSettings.java -text
src/main/java/forge/view/home/ViewUtilities.java -text src/main/java/forge/view/home/ViewUtilities.java -text
src/main/java/forge/view/home/constructed/SubmenuColors.java -text
src/main/java/forge/view/home/package-info.java svneol=native#text/plain src/main/java/forge/view/home/package-info.java svneol=native#text/plain
src/main/java/forge/view/match/QuestWinLoseCardViewer.java -text src/main/java/forge/view/match/QuestWinLoseCardViewer.java -text
src/main/java/forge/view/match/QuestWinLoseHandler.java -text src/main/java/forge/view/match/QuestWinLoseHandler.java -text

View File

@@ -19,4 +19,7 @@ public interface IViewSubmenu {
* *
* @return {@link javax.swing.JPanel} */ * @return {@link javax.swing.JPanel} */
MenuGroup getGroup(); MenuGroup getGroup();
/** Removes all children and (re)populates panel components, independent of constructor.*/
void populate();
} }

View File

@@ -0,0 +1,107 @@
package forge.view.home.constructed;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Player;
import forge.control.home.IControlSubmenu;
import forge.model.home.MenuGroup;
import forge.view.home.IViewSubmenu;
import forge.view.home.StartButton;
import forge.view.toolbox.FLabel;
import forge.view.toolbox.FList;
import forge.view.toolbox.FScrollPane;
/**
* Singleton instance of "Colors" submenu in "Constructed" group.
*
*/
public enum SubmenuColors implements IViewSubmenu {
/** */
SINGLETON_INSTANCE;
/** */
private final JPanel pnl = new JPanel();
private final StartButton btnStart = new StartButton();
private final List<JList> allLists = new ArrayList<JList>();
private SubmenuColors() {
populate();
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#populate()
*/
@Override
public void populate() {
final String lstConstraints = "w 41%!, h 32%, gap 6% 0 4% 2%";
final String btnConstraints = "newline, ax center, gap 6% 0 0 0, span 2 1";
final List<Player> players = AllZone.getPlayersInGame();
allLists.clear();
pnl.removeAll();
pnl.setOpaque(false);
pnl.setLayout(new MigLayout("insets 0, gap 0"));
for (int i = 0; i < players.size(); i++) {
if (i % 2 == 1) {
pnl.add(new ColorSelectPanel(players.get(i)), lstConstraints + ", wrap");
}
else {
pnl.add(new ColorSelectPanel(players.get(i)), lstConstraints);
}
}
pnl.add(btnStart, btnConstraints);
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#getControl()
*/
@Override
public IControlSubmenu getControl() {
return null;
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#getGroup()
*/
@Override
public MenuGroup getGroup() {
return null;
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#getPanel()
*/
@Override
public JPanel getPanel() {
return pnl;
}
/** @return {@link java.util.List}<{@link javax.swing.JList}> */
public List<JList> getLists() {
return allLists;
}
@SuppressWarnings("serial")
private class ColorSelectPanel extends JPanel {
public ColorSelectPanel(final Player p0) {
allLists.add(new FList());
allLists.get(allLists.size() - 1).setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
this.setOpaque(false);
this.setLayout(new MigLayout("insets 0, gap 0, wrap"));
this.add(new FLabel.Builder().text(p0.getName()).fontSize(14).fontScaleAuto(false).build(), "w 100%!, h 25px!, gap 0 0 0 8px");
this.add(new FScrollPane(allLists.get(allLists.size() - 1)), "w 100%!, pushy, growy");
}
}
}