From 5e8b053e2be6371a6e6b4b558126eaec8dbe8c79 Mon Sep 17 00:00:00 2001 From: Simon Barner <barner@fortiss.org> Date: Mon, 25 Aug 2014 12:04:56 +0000 Subject: [PATCH] - Introduce sub packages for annotation framework (see org.fortiss.tooling.base.ui.annotation -> package.html for documentation) - Standardize class names --- org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF | 3 +++ org.fortiss.tooling.base.ui/trunk/plugin.xml | 2 +- .../tooling/base/ui/annotation/AnnotationEntry.java | 1 + .../base/ui/annotation/AnnotationValueService.java | 1 + .../ComboBoxEditingSupport.java} | 7 ++++--- .../TextEditingSupport.java} | 7 ++++--- .../base/ui/annotation/editingsupport/package.html | 8 ++++++++ .../org/fortiss/tooling/base/ui/annotation/package.html | 7 ++++++- .../{ => valueprovider}/IAnnotationValueProvider.java | 2 +- .../base/ui/annotation/valueprovider/package.html | 8 ++++++++ .../annotation/{ => view}/AnnotationLabelProvider.java | 3 ++- .../ui/annotation/{ => view}/AnnotationViewPartBase.java | 4 +++- .../ui/annotation/{ => view}/GenericAnnotationView.java | 9 ++++++--- .../fortiss/tooling/base/ui/annotation/view/package.html | 8 ++++++++ 14 files changed, 56 insertions(+), 14 deletions(-) rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{AnnotationEditingSupportCombo.java => editingsupport/ComboBoxEditingSupport.java} (94%) rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{AnnotationEditingSupportStandard.java => editingsupport/TextEditingSupport.java} (94%) create mode 100644 org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/package.html rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{ => valueprovider}/IAnnotationValueProvider.java (98%) create mode 100644 org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/package.html rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{ => view}/AnnotationLabelProvider.java (96%) rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{ => view}/AnnotationViewPartBase.java (95%) rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/{ => view}/GenericAnnotationView.java (94%) create mode 100644 org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/package.html diff --git a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF index 9eb3c66ba..c15b3cf28 100644 --- a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF +++ b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF @@ -12,6 +12,9 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-Vendor: fortiss GmbH Export-Package: org.fortiss.tooling.base.ui, org.fortiss.tooling.base.ui.annotation, + org.fortiss.tooling.base.ui.annotation.editingsupport, + org.fortiss.tooling.base.ui.annotation.valueprovider, + org.fortiss.tooling.base.ui.annotation.view, org.fortiss.tooling.base.ui.compose, org.fortiss.tooling.base.ui.contentprovider, org.fortiss.tooling.base.ui.databinding, diff --git a/org.fortiss.tooling.base.ui/trunk/plugin.xml b/org.fortiss.tooling.base.ui/trunk/plugin.xml index 9b32436b1..8dc821c73 100644 --- a/org.fortiss.tooling.base.ui/trunk/plugin.xml +++ b/org.fortiss.tooling.base.ui/trunk/plugin.xml @@ -13,7 +13,7 @@ <extension point="org.eclipse.ui.views"> <view - class="org.fortiss.tooling.base.ui.annotation.GenericAnnotationView" + class="org.fortiss.tooling.base.ui.annotation.view.GenericAnnotationView" icon="icons/annotation.gif" id="org.fortiss.tooling.base.ui.annotationBase" name="Annotation" diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEntry.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEntry.java index 531ab2b3d..829d303e7 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEntry.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEntry.java @@ -26,6 +26,7 @@ import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.jface.viewers.EditingSupport; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; import org.fortiss.tooling.base.model.element.IModelElement; +import org.fortiss.tooling.base.ui.annotation.valueprovider.IAnnotationValueProvider; /** * The class {@link AnnotationEntry} is responsible for providing those annotations (or annotation diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationValueService.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationValueService.java index ede7a5265..2c53dbbdd 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationValueService.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationValueService.java @@ -25,6 +25,7 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; import org.fortiss.tooling.base.model.element.IModelElement; +import org.fortiss.tooling.base.ui.annotation.valueprovider.IAnnotationValueProvider; import org.fortiss.tooling.kernel.model.IProjectRootElement; import org.fortiss.tooling.kernel.service.base.EObjectAwareServiceBase; import org.fortiss.tooling.kernel.utils.EcoreUtils; diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportCombo.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/ComboBoxEditingSupport.java similarity index 94% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportCombo.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/ComboBoxEditingSupport.java index 0cc40bcc3..e2e8e37fa 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportCombo.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/ComboBoxEditingSupport.java @@ -15,7 +15,7 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.editingsupport; import java.util.List; @@ -29,6 +29,7 @@ import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; +import org.fortiss.tooling.base.ui.annotation.AnnotationEntry; import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; import org.fortiss.tooling.kernel.service.IPersistencyService; @@ -41,7 +42,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService; * @version $Rev$ * @ConQAT.Rating YELLOW Hash: AC8E4395DB075EC3FA9BF290373BBD9B */ -public class AnnotationEditingSupportCombo extends EditingSupport { +public class ComboBoxEditingSupport extends EditingSupport { /** Combo box cell editor */ private ComboBoxViewerCellEditor cellEditor = null; @@ -57,7 +58,7 @@ public class AnnotationEditingSupportCombo extends EditingSupport { * the values for the combo box * @param class1 */ - public AnnotationEditingSupportCombo(ColumnViewer viewer, List<String> values, + public ComboBoxEditingSupport(ColumnViewer viewer, List<String> values, Class<? extends IAnnotatedSpecification> class1) { super(viewer); cellEditor = new ComboBoxViewerCellEditor((Composite)getViewer().getControl()); diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportStandard.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/TextEditingSupport.java similarity index 94% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportStandard.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/TextEditingSupport.java index 673ae2a49..c1ef9e8f5 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationEditingSupportStandard.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/TextEditingSupport.java @@ -15,7 +15,7 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.editingsupport; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.CellEditor; @@ -26,6 +26,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; +import org.fortiss.tooling.base.ui.annotation.AnnotationEntry; import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; import org.fortiss.tooling.kernel.service.IPersistencyService; @@ -39,7 +40,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService; * @version $Rev$ * @ConQAT.Rating YELLOW Hash: 09C91FA1AB55052CD74ECF69E121DD7C */ -public class AnnotationEditingSupportStandard extends EditingSupport { +public class TextEditingSupport extends EditingSupport { /** Text cell editor */ protected TextCellEditor cellEditor = null; @@ -47,7 +48,7 @@ public class AnnotationEditingSupportStandard extends EditingSupport { protected Class<? extends IAnnotatedSpecification> specClass; /** Constructor. */ - public AnnotationEditingSupportStandard(ColumnViewer viewer, + public TextEditingSupport(ColumnViewer viewer, Class<? extends IAnnotatedSpecification> class1) { super(viewer); diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/package.html b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/package.html new file mode 100644 index 000000000..82211c07d --- /dev/null +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/editingsupport/package.html @@ -0,0 +1,8 @@ +<!-- + $Id$ + @version $Rev$ + @ConQAT.Rating YELLOW Hash: 220FF5C80574A4AE88C30A7C56D52CE7 +--> +<body> +Editing support to embed annotations into the generic table-based annotation view. +</body> diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/package.html b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/package.html index 7f1a39bcc..3f72c67b7 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/package.html +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/package.html @@ -4,5 +4,10 @@ @ConQAT.Rating YELLOW Hash: 220FF5C80574A4AE88C30A7C56D52CE7 --> <body> -TODO +Annotation framework. It provide a flexible mechanism to decorate model elements with primitive and complex annotations. + +<ul> +<li><tt>valueprovider.*</tt>, contains an interface (<tt>IAnnotationValueProvider</tt>) and several predefined concrete value providers to couple the model / data storage with the UI</li> +<li><tt>view.*</tt> provides abstract base classes and a generic table-based view part to display annotations.</li> +<li><tt>editingsupport.*</tt> contains editing support to embed annotations into the generic table-based annotation view.</li> </body> diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/IAnnotationValueProvider.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/IAnnotationValueProvider.java similarity index 98% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/IAnnotationValueProvider.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/IAnnotationValueProvider.java index f980d25ae..fecdc43f2 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/IAnnotationValueProvider.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/IAnnotationValueProvider.java @@ -15,7 +15,7 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.valueprovider; import java.util.List; diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/package.html b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/package.html new file mode 100644 index 000000000..02a7ab383 --- /dev/null +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/valueprovider/package.html @@ -0,0 +1,8 @@ +<!-- + $Id$ + @version $Rev$ + @ConQAT.Rating YELLOW Hash: 220FF5C80574A4AE88C30A7C56D52CE7 +--> +<body> +An interface (<tt>IAnnotationValueProvider</tt>) and several predefined concrete value providers to couple the model / data storage with the UI. +</body> diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationLabelProvider.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationLabelProvider.java similarity index 96% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationLabelProvider.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationLabelProvider.java index 527ff75d3..5d0c68364 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationLabelProvider.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationLabelProvider.java @@ -15,12 +15,13 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.view; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.swt.graphics.Color; import org.eclipse.wb.swt.SWTResourceManager; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; +import org.fortiss.tooling.base.ui.annotation.AnnotationEntry; /** * This class provides the labels in the table of the annotation view when no item is selected for diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationViewPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java similarity index 95% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationViewPartBase.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java index 93f6a7cfa..e92e42acd 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/AnnotationViewPartBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java @@ -15,7 +15,7 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.view; import java.util.ArrayList; import java.util.List; @@ -26,6 +26,8 @@ import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.part.ViewPart; import org.fortiss.tooling.base.model.element.IModelElement; +import org.fortiss.tooling.base.ui.annotation.AnnotationEntry; +import org.fortiss.tooling.base.ui.annotation.IAnnotationValueService; import org.fortiss.tooling.base.ui.editpart.DiagramEditPartBase; import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase; import org.fortiss.tooling.kernel.ui.util.SelectionUtils; diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/GenericAnnotationView.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/GenericAnnotationView.java similarity index 94% rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/GenericAnnotationView.java rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/GenericAnnotationView.java index 34f75dabd..f6fc12f51 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/GenericAnnotationView.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/GenericAnnotationView.java @@ -15,7 +15,7 @@ $Id$ | See the License for the specific language governing permissions and | | limitations under the License. | +--------------------------------------------------------------------------*/ -package org.fortiss.tooling.base.ui.annotation; +package org.fortiss.tooling.base.ui.annotation.view; import java.util.HashMap; @@ -33,6 +33,9 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.wb.swt.SWTResourceManager; import org.fortiss.tooling.base.model.element.IAnnotatedSpecification; +import org.fortiss.tooling.base.ui.annotation.AnnotationEntry; +import org.fortiss.tooling.base.ui.annotation.editingsupport.ComboBoxEditingSupport; +import org.fortiss.tooling.base.ui.annotation.editingsupport.TextEditingSupport; import org.fortiss.tooling.kernel.model.INamedCommentedElement; /** @@ -162,12 +165,12 @@ public class GenericAnnotationView extends AnnotationViewPartBase { if(entry.getFixedSpecificationValues(spec.getClass()) == null) { column.setLabelProvider(new AnnotationLabelProvider(spec.getClass(), this)); EditingSupport editingSupport = - new AnnotationEditingSupportStandard(column.getViewer(), spec.getClass()); + new TextEditingSupport(column.getViewer(), spec.getClass()); column.setEditingSupport(editingSupport); } else { column.setLabelProvider(new AnnotationLabelProvider(spec.getClass(), this)); EditingSupport editingSupport = - new AnnotationEditingSupportCombo(column.getViewer(), + new ComboBoxEditingSupport(column.getViewer(), entry.getFixedSpecificationValues(spec.getClass()), spec.getClass()); column.setEditingSupport(editingSupport); } diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/package.html b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/package.html new file mode 100644 index 000000000..89fc8b8d6 --- /dev/null +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/package.html @@ -0,0 +1,8 @@ +<!-- + $Id$ + @version $Rev$ + @ConQAT.Rating YELLOW Hash: 220FF5C80574A4AE88C30A7C56D52CE7 +--> +<body> +Abstract base classes and a generic table-based view part to display annotations. +</body> -- GitLab