Author: closettop_nightlybuild Date: 2012-08-03 06:00:53-0700 New Revision: 19897
Modified: trunk/src/argouml-app/src/org/argouml/i18n/Translator.java trunk/src/argouml-app/src/org/argouml/i18n/action.properties trunk/src/argouml-app/src/org/argouml/i18n/button.properties trunk/src/argouml-app/src/org/argouml/i18n/dialog.properties trunk/src/argouml-app/src/org/argouml/i18n/menu.properties trunk/src/argouml-app/src/org/argouml/ui/cmd/GenericArgoMenuBar.java trunk/src/argouml-app/src/org/argouml/uml/generator/ui/ClassGenerationDialog.java trunk/src/argouml-app/src/org/argouml/uml/ui/ActionGenerateAll.java Log: Rename Generate all classes to Generate code from current diagram. The Generate selected classes is moved to the menu opened. This is the patch from issue 5790 with some slight modifications. Contributed by: shurakai, elbedd Change-Id: Ic774c04225598d711741a83a130a360d8586266a Modified: trunk/src/argouml-app/src/org/argouml/i18n/Translator.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/Translator.java?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/Translator.java (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/Translator.java 2012-08-03 06:00:53-0700 @@ -378,6 +378,7 @@ * @return the localized String with inserted arguments */ public static String messageFormat(String key, Object[] args) { - return new MessageFormat(localize(key)).format(args); + String localized = localize(key); + return new MessageFormat(localized).format(args); } } Modified: trunk/src/argouml-app/src/org/argouml/i18n/action.properties Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/action.properties?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/action.properties (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/action.properties 2012-08-03 06:00:53-0700 @@ -97,7 +97,8 @@ action.find = Find... action.generate-all-classes = Generate All Classes... action.generate-code-for-project = Generate Code for Project... -action.generate-selected-classes = Generate Selected Classes... +action.generate-code = Generate code from current diagram... +action.generate-selected-classes = Generate Selected Classes action.goto-checklist = Checklist action.goto-constraints = Constraints action.goto-diagram = Goto Diagram... @@ -196,8 +197,7 @@ action.set-source-path = Set Source Path... action.set-minimum-size = Size To Fit Contents action.settings = Settings... -action.settings-for-project-code-generation = Settings for Generate for \ - Project... +action.settings-for-project-code-generation = Settings for project code generation... action.setting-size=Setting size for {0} action.show-all-compartments = Show All Compartments action.show-attribute-compartment = Show Attribute Compartment Modified: trunk/src/argouml-app/src/org/argouml/i18n/button.properties Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/button.properties?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/button.properties (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/button.properties 2012-08-03 06:00:53-0700 @@ -214,6 +214,7 @@ button.select = Select button.select-all = Select All button.select-all.mnemonic = A +button.select-currently-selected = Select currently selected button.select-none = Select None button.select-none.mnemonic = N button.sequence-contract = Remove Vertical Space in Diagram Modified: trunk/src/argouml-app/src/org/argouml/i18n/dialog.properties Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/dialog.properties?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/dialog.properties (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/dialog.properties 2012-08-03 06:00:53-0700 @@ -61,6 +61,7 @@ dialog.browse.use-clarifier.if-only-one = If Only One dialog.browse.use-clarifier.never = Never dialog.button.ok = OK +dialog.error.generator.nothing-selected = There is nothing selected in the diagram that could be generated dialog.error.file.version.error = The file selected is from a more up-to-date version \ of ArgoUML and can't be loaded by this version. It has been saved with ArgoUML \ version {0}. Please load with that version of ArgoUML or a later one. Modified: trunk/src/argouml-app/src/org/argouml/i18n/menu.properties Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/menu.properties?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/menu.properties (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/menu.properties 2012-08-03 06:00:53-0700 @@ -209,10 +209,11 @@ menu.generation = Generation menu.generation.mnemonic = G -menu.item.generate-selected-classes.mnemonic = S -menu.item.generate-all-classes.mnemonic = A -menu.item.generate-code-for-project.mnemonic = P -menu.item.settings-for-project-code-generation.mnemonic = E +#menu.item.generate-selected-classes.mnemonic = S +#menu.item.generate-all-classes.mnemonic = A +menu.item.action.generate-code.mnemonic = D +menu.item.action.generate-code-for-project.mnemonic = P +menu.item.action.settings-for-project-code-generation.mnemonic = E # ----------------------menu Critique menu.critique = Critique Modified: trunk/src/argouml-app/src/org/argouml/ui/cmd/GenericArgoMenuBar.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/cmd/GenericArgoMenuBar.java?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/ui/cmd/GenericArgoMenuBar.java (original) +++ trunk/src/argouml-app/src/org/argouml/ui/cmd/GenericArgoMenuBar.java 2012-08-03 06:00:53-0700 @@ -81,7 +81,6 @@ import org.argouml.uml.ui.ActionDeleteModelElements; import org.argouml.uml.ui.ActionDeploymentDiagram; import org.argouml.uml.ui.ActionGenerateAll; -import org.argouml.uml.ui.ActionGenerateOne; import org.argouml.uml.ui.ActionGenerateProjectCode; import org.argouml.uml.ui.ActionGenerationSettings; import org.argouml.uml.ui.ActionImportFromSources; @@ -873,21 +872,18 @@ generate = add(new JMenu(menuLocalize("Generation"))); setMnemonic(generate, "Generation"); - JMenuItem genOne = generate.add(new ActionGenerateOne()); - setMnemonic(genOne, "Generate Selected Classes"); - ShortcutMgr.assignAccelerator(genOne, ShortcutMgr.ACTION_GENERATE_ONE); JMenuItem genAllItem = generate.add(new ActionGenerateAll()); - setMnemonic(genAllItem, "Generate all classes"); + setMnemonic(genAllItem, "action.generate-code"); ShortcutMgr.assignAccelerator(genAllItem, ShortcutMgr.ACTION_GENERATE_ALL_CLASSES); generate.addSeparator(); JMenuItem genProject = generate.add(new ActionGenerateProjectCode()); - setMnemonic(genProject, "Generate code for project"); + setMnemonic(genProject, "action.generate-code-for-project"); ShortcutMgr.assignAccelerator(genProject, ShortcutMgr.ACTION_GENERATE_PROJECT_CODE); JMenuItem generationSettings = generate .add(new ActionGenerationSettings()); - setMnemonic(generationSettings, "Settings for project code generation"); + setMnemonic(generationSettings, "action.settings-for-project-code-generation"); ShortcutMgr.assignAccelerator(generationSettings, ShortcutMgr.ACTION_GENERATION_SETTINGS); // generate.add(Actions.GenerateWeb); Modified: trunk/src/argouml-app/src/org/argouml/uml/generator/ui/ClassGenerationDialog.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/generator/ui/ClassGenerationDialog.java?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/generator/ui/ClassGenerationDialog.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/generator/ui/ClassGenerationDialog.java 2012-08-03 06:00:53-0700 @@ -41,7 +41,6 @@ import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; -import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; @@ -60,6 +59,7 @@ import javax.swing.JComboBox; import javax.swing.JFileChooser; import javax.swing.JLabel; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; @@ -71,10 +71,12 @@ import org.argouml.i18n.Translator; import org.argouml.model.Model; import org.argouml.notation.Notation; +import org.argouml.ui.targetmanager.TargetManager; import org.argouml.uml.generator.CodeGenerator; import org.argouml.uml.generator.GeneratorManager; import org.argouml.uml.generator.Language; import org.argouml.util.ArgoDialog; +import org.tigris.gef.presentation.Fig; import org.tigris.swidgets.Dialog; /** @@ -171,13 +173,45 @@ classTable.repaint(); } }); + + JButton selectCurrentlySelectedButton = new JButton(); + nameButton(selectCurrentlySelectedButton, "button.select-currently-selected"); + selectCurrentlySelectedButton.addActionListener(new ActionListener() { + /** + * Action performed after clicking the button + * @param e + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + public void actionPerformed(ActionEvent e) { + List classes = new ArrayList(); + Collection targets = TargetManager.getInstance().getTargets(); + + // TODO: Should be improved so that it's recognized whether there is something selected that can actually be generated + if (targets.size() < 1) { // Nothing selected in the diagram + JOptionPane.showMessageDialog(null, Translator.localize("dialog.error.generator.nothing-selected"), + Translator.localize("dialog.error.title"), JOptionPane.ERROR_MESSAGE); + } + for (Object target : targets) { + if (target instanceof Fig) { + target = ((Fig) target).getOwner(); + } + if (Model.getFacade().isAClass(target) + || Model.getFacade().isAInterface(target)) { + classes.add(target); + } + } + classTableModel.check(classes); + classTable.repaint(); + } + }); - JPanel selectPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0)); + JPanel selectPanel = new JPanel(new BorderLayout()); selectPanel.setBorder(BorderFactory.createEmptyBorder(8, 0, 0, 0)); JPanel selectButtons = new JPanel(new BorderLayout(5, 0)); selectButtons.add(selectAllButton, BorderLayout.CENTER); selectButtons.add(selectNoneButton, BorderLayout.EAST); - selectPanel.add(selectButtons); + selectPanel.add(selectCurrentlySelectedButton, BorderLayout.WEST); + selectPanel.add(selectButtons, BorderLayout.EAST); JPanel centerPanel = new JPanel(new BorderLayout(0, 2)); centerPanel.add(new JLabel(Translator @@ -696,6 +730,29 @@ } getOkButton().setEnabled(value); } + + /** + * Checks nodes + * @param nodes These will be checked + */ + public void check(List nodes) { + int rows = getRowCount(); + int checks = getLanguagesCount(); + + for (int i = 0; i < rows; ++i) { + Object cls = classes.get(i); + for (int j = 0; j < checks; ++j) { + if (nodes.contains(cls) && (j == languageHistory)) { + checked[j].add(cls); + } else { + checked[j].remove(cls); + } + } + } + if (++languageHistory >= checks) { + languageHistory = 0; + } + } /** * The UID. Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionGenerateAll.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionGenerateAll.java?view=diff&pathrev=19897&r1=19896&r2=19897 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionGenerateAll.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionGenerateAll.java 2012-08-03 06:00:53-0700 @@ -72,10 +72,10 @@ * Constructor. */ public ActionGenerateAll() { - super(Translator.localize("action.generate-all-classes"), null); + super(Translator.localize("action.generate-code"), null); // Set the tooltip string: putValue(Action.SHORT_DESCRIPTION, - Translator.localize("action.generate-all-classes")); + Translator.localize("action.generate-code")); } ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2994794 To unsubscribe from this discussion, e-mail: [[email protected]].
