Author: bobtarling
Date: 2008-08-02 10:45:52-0700
New Revision: 15446
Modified:
trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java
trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java
trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java
trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java
Log:
Issue 5264: Disable prop panel controls when model element is readonly
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java?view=diff&rev=15446&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java&r1=15445&r2=15446
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/PropPanel.java 2008-08-02 10:45:52-0700
@@ -665,12 +665,25 @@
return titleLabel;
}
- protected JPanel createBorderPanel(String title) {
- JPanel panel = new JPanel(new GridLayout2());
- TitledBorder border = new TitledBorder(Translator.localize(title));
- border.setTitleFont(stdFont);
- panel.setBorder(border);
- return panel;
+ protected final JPanel createBorderPanel(String title) {
+ return new GroupPanel(Translator.localize(title));
+ }
+
+ private class GroupPanel extends JPanel {
+
+ public GroupPanel(String title) {
+ super(new GridLayout2());
+ TitledBorder border = new TitledBorder(Translator.localize(title));
+ border.setTitleFont(stdFont);
+ setBorder(border);
+ }
+
+ public void setEnabled(boolean enabled) {
+ super.setEnabled(enabled);
+ for (final Component component : getComponents()) {
+ component.setEnabled(enabled);
+ }
+ }
}
/**
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java?view=diff&rev=15446&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java&r1=15445&r2=15446
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/UMLComboBoxNavigator.java 2008-08-02 10:45:52-0700
@@ -172,4 +172,9 @@
theButton.setEnabled(false);
}
}
+
+ public void setEnabled(boolean enabled) {
+ theComboBox.setEnabled(enabled);
+ theComboBox.setEditable(enabled);
+ }
}
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java?view=diff&rev=15446&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java&r1=15445&r2=15446
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/PropPanelModelElement.java 2008-08-02 10:45:52-0700
@@ -24,6 +24,7 @@
package org.argouml.uml.ui.foundation.core;
+import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
@@ -31,6 +32,7 @@
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JComponent;
+import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
@@ -39,6 +41,7 @@
import org.argouml.i18n.Translator;
import org.argouml.kernel.UmlModelMutator;
import org.argouml.model.Model;
+import org.argouml.ui.targetmanager.TargetEvent;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.PropPanel;
import org.argouml.uml.ui.ScrollList;
@@ -52,7 +55,6 @@
/**
* The properties panel for a modelelement.
- *
*/
public abstract class PropPanelModelElement extends PropPanel {
@@ -176,6 +178,20 @@
}
+ /*
+ * @see TargetListener#targetSet(TargetEvent)
+ */
+ public void targetSet(TargetEvent e) {
+ super.targetSet(e);
+ boolean enable =
+ !Model.getModelManagementHelper().isReadOnly(e.getNewTarget());
+ for (final Component component : getComponents()) {
+ if (!(component instanceof JLabel)) {
+ component.setEnabled(enable);
+ }
+ }
+ }
+
/**
* This overrides the behaviour of the base class to filter out any
* actions that could be used to attempt to modify the UML model on
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java?view=diff&rev=15446&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java&r1=15445&r2=15446
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java 2008-08-02 10:45:52-0700
@@ -24,6 +24,7 @@
package org.argouml.uml.ui.foundation.core;
+import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
@@ -105,5 +106,11 @@
}
}
}
+
+ public void setEnabled(boolean enabled) {
+ for (final Component component : getComponents()) {
+ component.setEnabled(enabled);
+ }
+ }
}
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.