Author: koen.aers(a)jboss.com
Date: 2010-01-15 14:42:54 -0500 (Fri, 15 Jan 2010)
New Revision: 19784
Modified:
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/common/properties/NamedElementConfigurationComposite.java
Log:
jBPM Property view doesn't reflect GPD changes and can also overwrite them
(JBIDE-5528)
Modified:
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/common/properties/NamedElementConfigurationComposite.java
===================================================================
---
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/common/properties/NamedElementConfigurationComposite.java 2010-01-15
18:17:03 UTC (rev 19783)
+++
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/common/properties/NamedElementConfigurationComposite.java 2010-01-15
19:42:54 UTC (rev 19784)
@@ -1,5 +1,8 @@
package org.jbpm.gd.common.properties;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.layout.FormAttachment;
@@ -10,7 +13,7 @@
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import org.jbpm.gd.common.model.NamedElement;
-public class NamedElementConfigurationComposite implements FocusListener {
+public class NamedElementConfigurationComposite implements FocusListener,
PropertyChangeListener {
public static NamedElementConfigurationComposite create(TabbedPropertySheetWidgetFactory
widgetFactory, Composite parent) {
NamedElementConfigurationComposite result = new NamedElementConfigurationComposite();
@@ -32,21 +35,25 @@
public void setNamedElement(NamedElement namedElement) {
if (this.namedElement == namedElement) return;
- unhookSelectionListener();
+ unhookListeners();
clearControls();
this.namedElement = namedElement;
- if (namedElement != null) {
- updateControls();
- hookSelectionListener();
- }
+ updateControls();
+ hookListeners();
}
- private void hookSelectionListener() {
+ private void hookListeners() {
nameText.addFocusListener(this);
+ if (namedElement != null) {
+ namedElement.addPropertyChangeListener(this);
+ }
}
- private void unhookSelectionListener() {
+ private void unhookListeners() {
nameText.removeFocusListener(this);
+ if (namedElement != null) {
+ namedElement.removePropertyChangeListener(this);
+ }
}
private void clearControls() {
@@ -54,8 +61,10 @@
}
private void updateControls() {
- String name = namedElement.getName();
- nameText.setText(name == null ? "" : name);
+ if (namedElement != null) {
+ String name = namedElement.getName();
+ nameText.setText(name == null ? "" : name);
+ }
}
private void create() {
@@ -97,4 +106,9 @@
}
}
+ public void propertyChange(PropertyChangeEvent evt) {
+ if ("name".equals(evt.getPropertyName())) {
+ nameText.setText(evt.getNewValue() != null ? (String)evt.getNewValue() :
"");
+ }
+ }
}
Show replies by date