Prevent showing File menu in Spell Shop

This commit is contained in:
drdev
2014-01-03 02:46:53 +00:00
parent e7a9492200
commit a2b75c2072
3 changed files with 24 additions and 18 deletions

View File

@@ -29,10 +29,8 @@ import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
import javax.swing.KeyStroke;
import javax.swing.Popup;
@@ -55,14 +53,12 @@ import forge.gui.deckeditor.controllers.CEditorConstructed;
import forge.gui.deckeditor.controllers.CProbabilities;
import forge.gui.deckeditor.controllers.CStatistics;
import forge.gui.deckeditor.controllers.DeckController;
import forge.gui.deckeditor.menus.CDeckEditorUIMenus;
import forge.gui.deckeditor.views.VCardCatalog;
import forge.gui.deckeditor.views.VCurrentDeck;
import forge.gui.framework.FScreen;
import forge.gui.framework.ICDoc;
import forge.gui.match.controllers.CDetail;
import forge.gui.match.controllers.CPicture;
import forge.gui.menus.IMenuProvider;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FMouseAdapter;
import forge.gui.toolbox.FSkin;
@@ -81,7 +77,7 @@ import forge.util.ItemPool;
*
* <br><br><i>(C at beginning of class name denotes a control class.)</i>
*/
public enum CDeckEditorUI implements ICDoc, IMenuProvider {
public enum CDeckEditorUI implements ICDoc {
/** */
SINGLETON_INSTANCE;
@@ -332,6 +328,7 @@ public enum CDeckEditorUI implements ICDoc, IMenuProvider {
*/
private void setCurrentEditorController(ACEditorBase<? extends InventoryItem, ? extends DeckBase> childController0) {
this.childController = childController0;
Singletons.getControl().getForgeMenu().setProvider(childController0);
if (childController == null) { return; }
@@ -624,14 +621,6 @@ public enum CDeckEditorUI implements ICDoc, IMenuProvider {
}
}
/* (non-Javadoc)
* @see forge.gui.menubar.IMenuProvider#getMenus()
*/
@Override
public List<JMenu> getMenus() {
return new CDeckEditorUIMenus().getMenus();
}
/* (non-Javadoc)
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
*/
@@ -645,8 +634,6 @@ public enum CDeckEditorUI implements ICDoc, IMenuProvider {
*/
@Override
public void initialize() {
Singletons.getControl().getForgeMenu().setProvider(this);
//change to previously open child controller based on screen
FScreen screen = Singletons.getControl().getCurrentScreen();
ACEditorBase<? extends InventoryItem, ? extends DeckBase> screenChildController = screenChildControllers.get(screen);

View File

@@ -17,19 +17,23 @@
*/
package forge.gui.deckeditor.controllers;
import java.util.List;
import java.util.Map.Entry;
import javax.swing.JMenu;
import javax.swing.SwingUtilities;
import forge.Command;
import forge.deck.DeckBase;
import forge.deck.DeckSection;
import forge.gui.deckeditor.CDeckEditorUI;
import forge.gui.deckeditor.menus.CDeckEditorUIMenus;
import forge.gui.framework.DragCell;
import forge.gui.framework.FScreen;
import forge.gui.framework.ICDoc;
import forge.gui.framework.IVDoc;
import forge.gui.framework.SRearrangingUtil;
import forge.gui.menus.IMenuProvider;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.itemmanager.ItemManager;
@@ -52,7 +56,7 @@ import forge.view.FView;
* @param <TItem> extends {@link forge.item.InventoryItem}
* @param <TModel> extends {@link forge.deck.DeckBase}
*/
public abstract class ACEditorBase<TItem extends InventoryItem, TModel extends DeckBase> {
public abstract class ACEditorBase<TItem extends InventoryItem, TModel extends DeckBase> implements IMenuProvider {
public interface ContextMenuBuilder {
/**
* Adds move-related items to the context menu
@@ -119,6 +123,17 @@ public abstract class ACEditorBase<TItem extends InventoryItem, TModel extends D
return this.sectionMode;
}
/* (non-Javadoc)
* @see forge.gui.menubar.IMenuProvider#getMenus()
*/
@Override
public List<JMenu> getMenus() {
if (this.getDeckController() == null) {
return null;
}
return new CDeckEditorUIMenus().getMenus();
}
public final void addItem(TItem item) {
onAddItems(createPoolForItem(item, 1), false);
}

View File

@@ -43,9 +43,13 @@ public final class DeckFileMenu {
private static JMenuItem menuItem_Save, menuItem_SaveAs;
public static void updateSaveEnabled() {
if (menuItem_Save != null) {
menuItem_Save.setEnabled(CDeckEditorUI.SINGLETON_INSTANCE.hasChanges());
}
if (menuItem_SaveAs != null) {
menuItem_SaveAs.setEnabled(CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController() != null);
}
}
private static JMenuItem getMenuItem_New() {
JMenuItem menuItem = new JMenuItem("New Deck");