/* * Copyright (c) 1998-2017 by Richard A. Wilkes. All rights reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, version 2.0. If a copy of the MPL was not distributed with * this file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This Source Code Form is "Incompatible With Secondary Licenses", as * defined by the Mozilla Public License, version 2.0. */ package com.trollworks.gcs.menu.item; import com.trollworks.toolkit.annotation.Localize; import com.trollworks.toolkit.ui.menu.Command; import com.trollworks.toolkit.ui.menu.DynamicMenuEnabler; import com.trollworks.toolkit.ui.menu.DynamicMenuItem; import com.trollworks.toolkit.ui.menu.MenuProvider; import com.trollworks.toolkit.utility.Localization; import java.util.HashSet; import java.util.Set; import javax.swing.JMenu; /** Provides the "Item" menu. */ public class ItemMenuProvider implements MenuProvider { @Localize("Item") @Localize(locale = "de", value = "Element") @Localize(locale = "ru", value = "Элемент") @Localize(locale = "es", value = "Elemento") private static String ITEM; static { Localization.initialize(); } public static final String NAME = "Item"; //$NON-NLS-1$ @Override public Set<Command> getModifiableCommands() { Set<Command> cmds = new HashSet<>(); cmds.add(OpenEditorCommand.INSTANCE); cmds.add(CopyToSheetCommand.INSTANCE); cmds.add(CopyToTemplateCommand.INSTANCE); cmds.add(ApplyTemplateCommand.INSTANCE); cmds.add(OpenPageReferenceCommand.OPEN_ONE_INSTANCE); cmds.add(OpenPageReferenceCommand.OPEN_EACH_INSTANCE); cmds.add(NewAdvantageCommand.INSTANCE); cmds.add(NewAdvantageCommand.CONTAINER_INSTANCE); cmds.add(NewSkillCommand.INSTANCE); cmds.add(NewSkillCommand.CONTAINER_INSTANCE); cmds.add(NewSkillCommand.TECHNIQUE_INSTANCE); cmds.add(NewSpellCommand.INSTANCE); cmds.add(NewSpellCommand.CONTAINER_INSTANCE); cmds.add(NewEquipmentCommand.CARRIED_INSTANCE); cmds.add(NewEquipmentCommand.CARRIED_CONTAINER_INSTANCE); cmds.add(NewNoteCommand.INSTANCE); cmds.add(NewNoteCommand.CONTAINER_INSTANCE); return cmds; } @Override public JMenu createMenu() { JMenu menu = new JMenu(ITEM); menu.setName(NAME); menu.add(new DynamicMenuItem(OpenEditorCommand.INSTANCE)); menu.add(new DynamicMenuItem(CopyToSheetCommand.INSTANCE)); menu.add(new DynamicMenuItem(CopyToTemplateCommand.INSTANCE)); menu.add(new DynamicMenuItem(ApplyTemplateCommand.INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(OpenPageReferenceCommand.OPEN_ONE_INSTANCE)); menu.add(new DynamicMenuItem(OpenPageReferenceCommand.OPEN_EACH_INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(NewAdvantageCommand.INSTANCE)); menu.add(new DynamicMenuItem(NewAdvantageCommand.CONTAINER_INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(NewSkillCommand.INSTANCE)); menu.add(new DynamicMenuItem(NewSkillCommand.CONTAINER_INSTANCE)); menu.add(new DynamicMenuItem(NewSkillCommand.TECHNIQUE_INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(NewSpellCommand.INSTANCE)); menu.add(new DynamicMenuItem(NewSpellCommand.CONTAINER_INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(NewEquipmentCommand.CARRIED_INSTANCE)); menu.add(new DynamicMenuItem(NewEquipmentCommand.CARRIED_CONTAINER_INSTANCE)); menu.addSeparator(); menu.add(new DynamicMenuItem(NewNoteCommand.INSTANCE)); menu.add(new DynamicMenuItem(NewNoteCommand.CONTAINER_INSTANCE)); DynamicMenuEnabler.add(menu); return menu; } }