Returned exit button to main menu.

This commit is contained in:
Doublestrike
2012-03-04 04:49:58 +00:00
parent bdd873797a
commit fe2eb6625c
5 changed files with 121 additions and 3 deletions

2
.gitattributes vendored
View File

@@ -11470,8 +11470,10 @@ src/main/java/forge/gui/home/settings/VSubmenuAvatars.java -text
src/main/java/forge/gui/home/settings/VSubmenuPreferences.java -text src/main/java/forge/gui/home/settings/VSubmenuPreferences.java -text
src/main/java/forge/gui/home/settings/package-info.java svneol=native#text/plain src/main/java/forge/gui/home/settings/package-info.java svneol=native#text/plain
src/main/java/forge/gui/home/utilities/CSubmenuDeckEditor.java -text src/main/java/forge/gui/home/utilities/CSubmenuDeckEditor.java -text
src/main/java/forge/gui/home/utilities/CSubmenuExit.java -text
src/main/java/forge/gui/home/utilities/CSubmenuUtilities.java -text src/main/java/forge/gui/home/utilities/CSubmenuUtilities.java -text
src/main/java/forge/gui/home/utilities/VSubmenuDeckEditor.java -text src/main/java/forge/gui/home/utilities/VSubmenuDeckEditor.java -text
src/main/java/forge/gui/home/utilities/VSubmenuExit.java -text
src/main/java/forge/gui/home/utilities/VSubmenuUtilities.java -text src/main/java/forge/gui/home/utilities/VSubmenuUtilities.java -text
src/main/java/forge/gui/home/utilities/package-info.java svneol=native#text/plain src/main/java/forge/gui/home/utilities/package-info.java svneol=native#text/plain
src/main/java/forge/gui/package-info.java svneol=native#text/plain src/main/java/forge/gui/package-info.java svneol=native#text/plain

View File

@@ -19,5 +19,6 @@ public enum EMenuItem { /** */
SETTINGS_AVATARS, /** */ SETTINGS_AVATARS, /** */
UTILITIES_EDITOR, /** */ UTILITIES_EDITOR, /** */
UTILITIES_DOWNLOADS UTILITIES_DOWNLOADS, /** */
UTILITIES_EXIT
} }

View File

@@ -0,0 +1,35 @@
package forge.gui.home.utilities;
import forge.Command;
import forge.gui.home.ICSubmenu;
/**
* TODO: Write javadoc for this type.
*
*/
public enum CSubmenuExit implements ICSubmenu {
/** */
SINGLETON_INSTANCE;
/* (non-Javadoc)
* @see forge.control.home.IControlSubmenu#update()
*/
@Override
public void initialize() { }
/* (non-Javadoc)
* @see forge.control.home.IControlSubmenu#getCommand()
*/
@SuppressWarnings("serial")
@Override
public Command getMenuCommand() {
return new Command() { @Override
public void execute() { System.exit(0); } };
}
/* (non-Javadoc)
* @see forge.control.home.IControlSubmenu#update()
*/
@Override
public void update() { }
}

View File

@@ -0,0 +1,75 @@
package forge.gui.home.utilities;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
import forge.gui.home.EMenuGroup;
import forge.gui.home.EMenuItem;
import forge.gui.home.ICSubmenu;
import forge.gui.home.IVSubmenu;
import forge.gui.toolbox.FLabel;
/**
* Singleton instance of "Colors" submenu in "Constructed" group.
*
*/
public enum VSubmenuExit implements IVSubmenu {
/** */
SINGLETON_INSTANCE;
/** */
private final JPanel pnl = new JPanel();
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#populate()
*/
@Override
public void populate() {
pnl.setLayout(new MigLayout("insets 0, gap 0, align center"));
pnl.setOpaque(false);
pnl.add(new FLabel.Builder().text("Open Deck Editor").opaque(true)
.hoverable(true).cmdClick(CSubmenuDeckEditor.SINGLETON_INSTANCE.getMenuCommand())
.fontScaleAuto(false).fontSize(16).build(), "w 200px!, h 40px!");
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#getGroup()
*/
@Override
public EMenuGroup getGroupEnum() {
return EMenuGroup.UTILITIES;
}
/* (non-Javadoc)
* @see forge.view.home.IViewSubmenu#getPanel()
*/
@Override
public JPanel getPanel() {
return pnl;
}
/* (non-Javadoc)
* @see forge.gui.home.IVSubmenu#getMenuTitle()
*/
@Override
public String getMenuTitle() {
return "Exit Forge";
}
/* (non-Javadoc)
* @see forge.gui.home.IVSubmenu#getMenuName()
*/
@Override
public String getItemEnum() {
return EMenuItem.UTILITIES_EXIT.toString();
}
/* (non-Javadoc)
* @see forge.gui.home.IVSubmenu#getControl()
*/
@Override
public ICSubmenu getControl() {
return CSubmenuExit.SINGLETON_INSTANCE;
}
}

View File

@@ -57,6 +57,7 @@ import forge.gui.home.quest.VSubmenuQuestPrefs;
import forge.gui.home.settings.VSubmenuAvatars; import forge.gui.home.settings.VSubmenuAvatars;
import forge.gui.home.settings.VSubmenuPreferences; import forge.gui.home.settings.VSubmenuPreferences;
import forge.gui.home.utilities.VSubmenuDeckEditor; import forge.gui.home.utilities.VSubmenuDeckEditor;
import forge.gui.home.utilities.VSubmenuExit;
import forge.gui.home.utilities.VSubmenuUtilities; import forge.gui.home.utilities.VSubmenuUtilities;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
@@ -126,6 +127,7 @@ public enum ViewHomeUI {
allSubmenus.add(VSubmenuAvatars.SINGLETON_INSTANCE); allSubmenus.add(VSubmenuAvatars.SINGLETON_INSTANCE);
allSubmenus.add(VSubmenuDeckEditor.SINGLETON_INSTANCE); allSubmenus.add(VSubmenuDeckEditor.SINGLETON_INSTANCE);
allSubmenus.add(VSubmenuUtilities.SINGLETON_INSTANCE);
allSubmenus.add(VSubmenuExit.SINGLETON_INSTANCE); allSubmenus.add(VSubmenuExit.SINGLETON_INSTANCE);
// Parent layout // Parent layout
@@ -284,8 +286,11 @@ public enum ViewHomeUI {
cards.show(pnlRight, item.getItemEnum()); cards.show(pnlRight, item.getItemEnum());
lblPreviousSelected = lbl; lblPreviousSelected = lbl;
prefs.setPref(FPref.SUBMENU_CURRENTMENU, item.getItemEnum()); // Save for next time Forge is opened (unless it's exit ;) )
if (!item.getItemEnum().equals(EMenuItem.UTILITIES_EXIT.toString())) {
prefs.setPref(FPref.SUBMENU_CURRENTMENU, item.getItemEnum());
Singletons.getModel().getPreferences().save();
} }
// Make sure this is called last, so it doesn't interfere // Make sure this is called last, so it doesn't interfere