svn commit: r19897 - trunk/src/argouml-app/src/org/argouml: i18n ui/cmd uml/generator/ui uml/ui
[email protected] Fri, 3 Aug 2012 06:00:53 -0700 (PDT)
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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]].