svn commit: r17688 - trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2009-12-20 03:55:27-0800
New Revision: 17688

Modified:
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/CheckBox.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java

Log:
Use i18n to set checkbox label

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/CheckBox.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/CheckBox.java?view=diff&pathrev=17688&r1=17687&r2=17688
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/CheckBox.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/CheckBox.java	2009-12-20 03:55:27-0800
@@ -14,6 +14,11 @@
 import org.argouml.ui.LookAndFeelMgr;
 import org.argouml.ui.UndoableAction;
 
+/**
+ * A check box representing a boolean property in the UML model
+ * @author Bob Tarling
+ * @since 0.29.2 19th Dec 2009
+ */
 class CheckBox extends JCheckBox 
     implements PropertyChangeListener {
 
@@ -22,44 +27,60 @@
      */
     private static final long serialVersionUID = 2654856740168885592L;
 
-    private Object target;
-    private String propertyName;
+    private final Object modelElement;
+    
+    private final String propertyName;
     
     /**
      * The action that will be called when the checkbox changes
      */
-    private Action action;
+    private final Action action;
 
     private final GetterSetter getterSetter;
     
     /**
      * Constructor for UMLCheckBox.
      * @param text the text of the check box
-     * @param a the action we're going to listen to
-     * @param name the property set name
-     */
-    public CheckBox(final String propertyName, final Object target, GetterSetter getterSetter) {
-        super(Translator.localize("label." + propertyName));
+     * @param modelElement the model element the check box represents, updates and
+     * is listening for changes to
+     * @param propertyName the property of the target that the checkbox is listening
+     * @param getterSetter the facade used to get and set properties on the model
+     * for and updating
+     */
+    public CheckBox(
+            final String text,
+            final Object modelElement,
+            final String propertyName, 
+            final GetterSetter getterSetter) {
+        super(text);
         
         this.getterSetter = getterSetter;
         this.propertyName = propertyName;
-        this.target = target;
+        this.modelElement = modelElement;
         
         setFont(LookAndFeelMgr.getInstance().getStandardFont());
         
         build();
         
-        action = new SetAction(getterSetter, target, propertyName);
+        action = new SetAction(getterSetter, modelElement, propertyName);
         setActionCommand((String) action.getValue(Action.ACTION_COMMAND_KEY));
     }
     
+    private String propertyToLabel(String propertyName) {
+        if (propertyName.startsWith("is")) {
+            return "checkbox." + propertyName.substring(2).toLowerCase();
+        } else {
+            return "checkbox." + propertyName.toLowerCase();
+        }
+    }
+    
     /**
      * Add listeners when the component is placed on its parent
      */
     public void addNotify() {
         addActionListener(action);
         Model.getPump().addModelEventListener(
-                this, target, propertyName);
+                this, modelElement, propertyName);
     }
     
     /**
@@ -68,7 +89,7 @@
     public void removeNotify() {
         removeActionListener(action);
         Model.getPump().removeModelEventListener(
-                this, target, propertyName);
+                this, modelElement, propertyName);
     }
     
     /*
@@ -84,7 +105,7 @@
      */
     private void build() {
         if (getterSetter != null) {
-            setSelected((Boolean) getterSetter.get(target, propertyName));
+            setSelected((Boolean) getterSetter.get(modelElement, propertyName));
         }
     }
     
@@ -97,17 +118,17 @@
         
         private final GetterSetter getterSetter;
         private final String propertyName;
-        private Object target;
+        private Object modelElement;
         
         /**
          * Constructor for ActionSetElementOwnershipSpecification.
          */
         protected SetAction(
                 final GetterSetter getterSetter, 
-                final Object target,
+                final Object modelElement,
                 final String propertyName) {
             super(Translator.localize("Set"), null);
-            this.target = target;
+            this.modelElement = modelElement;
             this.getterSetter = getterSetter;
             this.propertyName = propertyName;
             // Set the tooltip string:
@@ -121,7 +142,7 @@
         public void actionPerformed(ActionEvent e) {
             super.actionPerformed(e);
             CheckBox source = (CheckBox) e.getSource();
-            this.getterSetter.set(target, source.isSelected(), propertyName);
+            this.getterSetter.set(modelElement, source.isSelected(), propertyName);
         }
     }
 }

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&pathrev=17688&r1=17687&r2=17688
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java	2009-12-20 03:55:27-0800
@@ -278,37 +278,45 @@
         
         final String propertyName = prop.getName();
         
-        GetterSetter getterSetter = GetterSetter.getGetterSetter();
+        final GetterSetter getterSetter = GetterSetter.getGetterSetter();
+
+        String label;
+        if (propertyName.startsWith("is")) {
+            label = "label." + propertyName.substring(2).toLowerCase();
+        } else {
+            label = "label." + propertyName.toLowerCase();
+        }
+        label = Translator.localize(label);        
         
         CheckBox checkbox = null;
         if ("derived".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isAbstract".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isLeaf".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isRoot".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isActive".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("ownerScope".equals(propertyName)) {   
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("targetScope".equals(propertyName)) {
             // TODO: An alternative property name will need to be inserted for
             // UML 2.x
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isQuery".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isNavigable".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("ordering".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isAsynchronous".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("isSynch".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         } else if ("derived".equals(propertyName)) {
-            checkbox = new CheckBox(propertyName, target, getterSetter);
+            checkbox = new CheckBox(label, target, propertyName, getterSetter);
         }
         
         if (checkbox != null) {

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2431789

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.