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 9eb3c66bad506397b274801cee3a2b49c4a2513d..c15b3cf2871b9bf7943d67544e9c6db8f280de6b 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 9b32436b132acd5c6cbebdd8346906d185804ffa..8dc821c739b14763ed613c4f3a269be1aad6e58f 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 531ab2b3d57d2301bbe427089603a2d1b714b462..829d303e7dd7d71a5608cb1cf2e23a7586b3d714 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 ede7a5265309179c6e63c5c31753b0c6fd1f5a86..2c53dbbdd20f557b1db86b7a8fb38d49c73316f7 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 0cc40bcc3a405ec6e68d231da56d2f1c99dd2005..e2e8e37fa5896c5911094e4c41e17e3e576bc122 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 673ae2a49853cbcc53cba97781f06a817937475c..c1ef9e8f58a9ba132aded1ef24ffe276e4951b0b 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 0000000000000000000000000000000000000000..82211c07d0571541fb642a4639ba44f6c7f88ad8 --- /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 7f1a39bcc436055595d66bd90871bfd375146d0e..3f72c67b7cd67b3de85df1c7c6b11f8b2db96953 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 f980d25ae21d2899f0fdb9b42abcef15ee3f0749..fecdc43f2f95617cd07eb84431a137b5591fc740 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 0000000000000000000000000000000000000000..02a7ab3836e0c81a619d526c920263ccb4a4809e --- /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 527ff75d3d106dc07ef249fb1ec45ad5b81d8a59..5d0c683644e48ac5e3d93227d2ca681923c06e02 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 93f6a7cfa56b0ad9e86ce1a891a92ec57e3ae55c..e92e42acd16e8b30213640002081401746262d08 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 34f75dabd987a12328a9c1d0e759b65bb1652659..f6fc12f51eeadb4c93630b93bf3247de5c953346 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 0000000000000000000000000000000000000000..89fc8b8d68ef0e6cf3904c662667fb79530a0659 --- /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>