|author||Christian W. Damus||2016-08-23 17:07:27 -0400|
|committer||Christian W. Damus||2016-08-23 17:07:27 -0400|
Bug 497865: [Control Mode] UI for dependent controlled units
https://bugs.eclipse.org/bugs/show_bug.cgi?id=497865 Add an option to the standard control (create fragment) dialog for option to create sub-model unit (independently openable) or not (in which case it's a 'shard'). Add an approver interface to the participant protocols for validation of control/uncontrol requests and also to determine whether an object supports the sub-model unit form of controlled resource. Use this to let the UML participant disable the sub-model unit option for non-packages. Add a label decorator for controlled unit resources in the Project Explorer, with different presentation for 'shards' as for sub-model units that are independently openable. Add a context menu on model elements to toggle their independent sub-model status when they are currently controlled units. This is supported by another optional participant protocol for changing sub-unit mode so that for UML we can add/remove redundant profile applications on packages as necessary. (cherry-picked from streams/2.0-maintenance) Change-Id: I08ac9cc64d70432851f8e7e815f352f4b00d50f2
Diffstat (limited to 'plugins/doc')
|-rw-r--r--||plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlAction.png||bin||20669 -> 78105 bytes|
|-rw-r--r--||plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlDialog.png||bin||15203 -> 31434 bytes|
|-rw-r--r--||plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/Decorations.png||bin||0 -> 97131 bytes|
|-rw-r--r--||plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ToggleSubmodelAction.png||bin||0 -> 89416 bytes|
|-rw-r--r--||plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/UncontrolAction.png||bin||21812 -> 85197 bytes|
6 files changed, 35 insertions, 4 deletions
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/controlMode.mediawiki
index cca9840a0ac..6598fad7c1f 100644
@@ -10,22 +10,53 @@ This is specially helpful working in collaborative environments, since the Team
==Create a submodel==
To create a submodel:
#Right click on the element which you wish to move to a different resource (a Package in the common case)
-#Select ''Create Submodel''[[Image:images/ControlAction.png]]
+#Select ''Create Submodel''<br/>[[Image:images/ControlAction.png]]
#The following dialog appears.<br/>[[Image:images/ControlDialog.png]]
#Select the desired location for the new resource
+'''Important:''' The selected element has not been moved just yet. The model editor will be dirty i.e. there will be an asterisk next to its name in the tab. In order to complete the submodel creation, you need to '''save''' your model.
+The new resource is created in the chosen location with the chosen file name, whilst a green decorator is shown in the Model Explorer view of the parent model to indicate this element is in a submodel.
-'''Important:''' The selected element has not been moved just yet. The model editor will be dirty i.e. there will be an asterisk next to its name in the tab. In order to complete the submodel creation, you need to '''save''' your model.
+Note that, for a package, the dialog shows an option to have it be openable and editable in its own editor, independently of the package containing it (and the one containing that, etc.).
+This can be convenient, but it does mean that the package has to redundantly apply all of the
+profile applications applied to the packages containing it, so that stereotypes can properly be
+manipulated in the editor. This can result in inconsistencies if a profile definition changes
+over time and not all applications in all packages are kept up-to-date consistently with
+stereotype migrations. This option is available only for packages, because only they can have
+profile applications. For other kinds of elements, this option is disabled and the resources
+created for them will always open in the context of the containing model.
+When this option is not selected, then the resulting submodel cannot be opened separately.
+Attempting to open it, usually by double-clicking it in the Project Explorer, will instead
+open the top-most independent submodel (or the root model package). Or, if that is already
+open, just activate its editor. This ensures that the nesting package context, and especially
+its profile applications, is always available to properly manage stereotypes.
+==Toggle the Independent Submodel Support==
+Once a package has been stored in a submodel resource, the support for editing it independently
+can be added and removed at any time:
+#Right-click on the submodel package in the Model Explorer.
+#If the package is independently editable, the ''Independent Submodel'' menu item will have a check mark. Otherwise, it will not.
+#Click the ''Independent Submodel'' menu item to change whether the package can be edited independently or not.
+'''Important:''' These changes will only take permanent effect on the next '''save''' action. Until then, the resource on disk is not changed and so what happens when it is opened in an editor will not change.
+In the Project Explorer view, the submodel resource is indicated by a filled blue
+note-paper decoration or a hollow blue decoration in the case that it is not an independently
-The new resource is created in the chosen location with the chosen file name, whilst a green decorator is shown in the model explorer view of the parent model to indicate this element is in a submodel.
==Reintegrate a submodel into the main model==
To reintegrate a submodel into the main model:
#Open the parent model
-#Right click on the submodel element in the model explorer (recognizable with the green decorator).
+#Right click on the submodel element in the Model Explorer (recognizable with the green decorator).
#Select ''Reintegrate Submodel''
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlAction.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlAction.pngBinary files differ
index e367d368785..d2ae4b42e11 100644
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlDialog.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ControlDialog.pngBinary files differ
index 6070123c5f1..73cb67e17db 100644
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/Decorations.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/Decorations.pngBinary files differ
new file mode 100644
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ToggleSubmodelAction.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/ToggleSubmodelAction.pngBinary files differ
new file mode 100644
diff --git a/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/UncontrolAction.png b/plugins/doc/org.eclipse.papyrus.infra.services.controlmode.doc/resource/images/UncontrolAction.pngBinary files differ
index 9a8573519e3..5b525e97731 100644