https://bugs.eclipse.org/bugs/show_bug.cgi?id=355675 - made the suggested changes
diff --git a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
index 74c6fb1..ae86d2e 100644
--- a/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
+++ b/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/preferences/Bpmn2Preferences.java
@@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Map.Entry;
+import org.eclipse.bpmn2.Activity;
import org.eclipse.bpmn2.AdHocSubProcess;
import org.eclipse.bpmn2.BaseElement;
import org.eclipse.bpmn2.CallActivity;
@@ -102,8 +103,8 @@
public final static String PREF_POPUP_CONFIG_DIALOG = "popup.config.dialog";
public final static String PREF_POPUP_CONFIG_DIALOG_LABEL = "Display element configuration popup dialog after DND of:";
- public final static String PREF_POPUP_CONFIG_DIALOG_FOR_TASKS = "popup.config.dialog.for.tasks";
- public final static String PREF_POPUP_CONFIG_DIALOG_FOR_TASKS_LABEL = "Tasks";
+ public final static String PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES = "popup.config.dialog.for.activities";
+ public final static String PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES_LABEL = "Activities";
public final static String PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS = "popup.config.dialog.for.gateways";
public final static String PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS_LABEL = "Gateways";
public final static String PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS = "popup.config.dialog.for.events";
@@ -256,7 +257,7 @@
globalPreferences.setDefault(PREF_IS_MARKER_VISIBLE, BPMNDIAttributeDefault.DEFAULT_TRUE.name());
globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG, false); // tri-state checkbox
- globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, false);
+ globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, false);
globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, false);
globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, false);
globalPreferences.setDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, false);
@@ -283,7 +284,7 @@
projectPreferences.remove(PREF_IS_MARKER_VISIBLE);
projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG);
- projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS);
+ projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES);
projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS);
projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS);
projectPreferences.remove(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS);
@@ -310,7 +311,7 @@
globalPreferences.setToDefault(PREF_IS_MARKER_VISIBLE);
globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG);
- globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS);
+ globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES);
globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS);
globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS);
globalPreferences.setToDefault(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS);
@@ -387,7 +388,7 @@
connectionTimeout = this.getString(PREF_CONNECTION_TIMEOUT, "60000");
popupConfigDialog = getInt(PREF_POPUP_CONFIG_DIALOG, 0); // tri-state checkbox
- popupConfigDialogFor[0] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, false);
+ popupConfigDialogFor[0] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, false);
popupConfigDialogFor[1] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, false);
popupConfigDialogFor[2] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, false);
popupConfigDialogFor[3] = getBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, false);
@@ -420,7 +421,7 @@
setString(PREF_CONNECTION_TIMEOUT, connectionTimeout);
setInt(PREF_POPUP_CONFIG_DIALOG, popupConfigDialog);
- setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_TASKS, popupConfigDialogFor[0]);
+ setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES, popupConfigDialogFor[0]);
setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_GATEWAYS, popupConfigDialogFor[1]);
setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENTS, popupConfigDialogFor[2]);
setBoolean(PREF_POPUP_CONFIG_DIALOG_FOR_EVENT_DEFS, popupConfigDialogFor[3]);
@@ -597,7 +598,7 @@
}
public boolean hasPopupConfigDialog(Object context) {
- if (context instanceof Task) {
+ if (context instanceof Activity) {
return true;
}
if (context instanceof Gateway) {
diff --git a/org.eclipse.bpmn2.modeler.ui/.options b/org.eclipse.bpmn2.modeler.ui/.options
new file mode 100644
index 0000000..6575425
--- /dev/null
+++ b/org.eclipse.bpmn2.modeler.ui/.options
@@ -0,0 +1,2 @@
+org.eclipse.emf.common.EMFPlugin/debug=false
+org.eclipse.bpmn2.modeler.ui/debug=false
\ No newline at end of file
diff --git a/org.eclipse.bpmn2.modeler.ui/build.properties b/org.eclipse.bpmn2.modeler.ui/build.properties
index 125f872..95e7856 100644
--- a/org.eclipse.bpmn2.modeler.ui/build.properties
+++ b/org.eclipse.bpmn2.modeler.ui/build.properties
@@ -5,5 +5,6 @@
plugin.xml,\
icons/,\
about.html,\
- plugin.properties
+ plugin.properties,\
+ .options
src.includes = icons/bpmn2_editor_16.png
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
index c8fcd3f..9371c5d 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/diagram/BpmnToolBehaviourFeature.java
@@ -18,6 +18,7 @@
import org.eclipse.bpmn2.modeler.core.Activator;
import org.eclipse.bpmn2.modeler.core.features.IBpmn2AddFeature;
import org.eclipse.bpmn2.modeler.core.features.IBpmn2CreateFeature;
+import org.eclipse.bpmn2.modeler.core.features.ShowPropertiesFeature;
import org.eclipse.bpmn2.modeler.core.features.activity.ActivitySelectionBehavior;
import org.eclipse.bpmn2.modeler.core.features.event.EventSelectionBehavior;
import org.eclipse.bpmn2.modeler.core.runtime.CustomTaskDescriptor;
@@ -416,7 +417,8 @@
ICustomFeature[] cf = getFeatureProvider().getCustomFeatures(context);
for (int i = 0; i < cf.length; i++) {
ICustomFeature iCustomFeature = cf[i];
- if (iCustomFeature.canExecute(context)) {
+ if (iCustomFeature instanceof ShowPropertiesFeature &&
+ iCustomFeature.canExecute(context)) {
return iCustomFeature;
}
}
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
index 3e98992..b93be86 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/editor/DesignEditor.java
@@ -17,7 +17,7 @@
import org.eclipse.bpmn2.modeler.core.di.DIUtils;
import org.eclipse.bpmn2.modeler.core.utils.BusinessObjectUtil;
import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
-import org.eclipse.bpmn2.modeler.ui.wizards.Bpmn2DiagramEditorInput;
+import org.eclipse.bpmn2.modeler.ui.Activator;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.TreeIterator;
@@ -38,12 +38,10 @@
import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.ui.editor.DiagramEditorContextMenuProvider;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -63,7 +61,6 @@
protected ResourceSetListener resourceSetListener = null;
private BPMNDiagram bpmnDiagramDeleted = null;
- protected boolean debug;
// the container that holds the tabFolder
protected Composite container;
protected CTabFolder tabFolder;
@@ -455,6 +452,8 @@
@Override
public void resourceSetChanged(ResourceSetChangeEvent event) {
+ boolean debug = Activator.getDefault().isDebugging();
+
for (Notification n : event.getNotifications()) {
int et = n.getEventType();
Object notifier = n.getNotifier();
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
index 285e51d..48bd405 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/activity/subprocess/CallActivityFeatureContainer.java
@@ -24,6 +24,7 @@
import org.eclipse.bpmn2.Process;
import org.eclipse.bpmn2.modeler.core.features.DefaultResizeBPMNShapeFeature;
import org.eclipse.bpmn2.modeler.core.features.MultiUpdateFeature;
+import org.eclipse.bpmn2.modeler.core.features.ShowPropertiesFeature;
import org.eclipse.bpmn2.modeler.core.features.activity.AbstractCreateExpandableFlowNodeFeature;
import org.eclipse.bpmn2.modeler.core.features.activity.LayoutActivityFeature;
import org.eclipse.bpmn2.modeler.core.model.Bpmn2ModelerFactory;
@@ -42,6 +43,7 @@
import org.eclipse.graphiti.features.context.IAddContext;
import org.eclipse.graphiti.features.context.ICreateContext;
import org.eclipse.graphiti.features.context.IUpdateContext;
+import org.eclipse.graphiti.features.custom.ICustomFeature;
import org.eclipse.graphiti.features.impl.AbstractUpdateFeature;
import org.eclipse.graphiti.features.impl.Reason;
import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
@@ -133,6 +135,23 @@
public IResizeShapeFeature getResizeFeature(IFeatureProvider fp) {
return new DefaultResizeBPMNShapeFeature(fp);
}
+
+ @Override
+ public ICustomFeature[] getCustomFeatures(IFeatureProvider fp) {
+ ICustomFeature[] superFeatures = super.getCustomFeatures(fp);
+ ICustomFeature[] thisFeatures = new ICustomFeature[superFeatures.length];
+ int index = 1;
+ for (int i = 0; i < superFeatures.length; ++i) {
+ if (superFeatures[i] instanceof ShowPropertiesFeature) {
+ thisFeatures[0] = superFeatures[i];
+ index = 0;
+ }
+ else {
+ thisFeatures[index + i] = superFeatures[i];
+ }
+ }
+ return thisFeatures;
+ }
public static class CreateCallActivityFeature extends AbstractCreateExpandableFlowNodeFeature<CallActivity> {
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
index 673d0e6..8123efc 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2EditorPreferencePage.java
@@ -74,7 +74,6 @@
Button defaultSize;
FontControl textFont;
ColorControl textColor;
- boolean debug;
public Bpmn2EditorPreferencePage() {
setPreferenceStore(Activator.getDefault().getPreferenceStore());
@@ -184,7 +183,7 @@
for (Class c : allElements) {
ShapeStyle ss = preferences.getShapeStyle(c);
shapeStyles.put(c, ss);
- if (debug) {
+ if (Activator.getDefault().isDebugging()) {
IColorConstant foreground = ss.getShapeForeground();
IColorConstant background = ss.getShapeBackground();
IColorConstant textColor = ss.getTextColor();
diff --git a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
index 16fc0df..e249c52 100644
--- a/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
+++ b/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/preferences/Bpmn2HomePreferencePage.java
@@ -142,8 +142,8 @@
comp.setLayoutData(gd);
TristateCheckboxFieldEditor popupConfigDialogForTasks = new TristateCheckboxFieldEditor(
- Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_TASKS,
- Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_TASKS_LABEL,
+ Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES,
+ Bpmn2Preferences.PREF_POPUP_CONFIG_DIALOG_FOR_ACTIVITIES_LABEL,
comp);
addField(popupConfigDialogForTasks);
popupConfigDialog.addField(popupConfigDialogForTasks);