Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetSetWidget.java100
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetWidget.java95
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateOperationWidget.java94
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetElementTypeWidget.java79
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetExtendedMetaclassWidget.java84
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetSubTypingTypeWidget.java88
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/SelectSubTypingTypeWidget.java161
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetChangeableWidget.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetDerivedWidget.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetOrderedWidget.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetTransientWidget.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetUniqueWidget.java59
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetVolatileWidget.java57
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetLowerBoundWidget.java56
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetUpperBoundWidget.java56
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetAttributeNameWidget.java56
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetOperationNameWidget.java47
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetReferenceNameWidget.java48
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/CreateQueryWidget.java105
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanBeCachedWidget.java50
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanHaveSideEffectsWidget.java50
21 files changed, 1513 insertions, 0 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetSetWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetSetWidget.java
new file mode 100644
index 00000000000..bdf7c575d17
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetSetWidget.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.getorcreate;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.dialog.composite.GetOrCreateFacetSetDialog;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.component.getorcreate.IGetOrCreateFacetSetWidget;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.creation.IGetOrCreateFilteredFacetSetWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IWithResultDialogCallback;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithDialogButtonWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class provide the selection or the creation of a FacetSet.</p>
+ *
+ * FaceSet : [ TextField ][...]</p>
+ *
+ * The {@link GetOrCreateFacetSetDialog} dialog will be displayed when the
+ * button is pressed.
+ *
+ * @see GetOrCreateFacetSetDialog
+ */
+public class GetOrCreateFacetSetWidget extends
+ AbstractGetOrCreateElementWithDialogButtonWidget<FacetSet, IGetOrCreateFilteredFacetSetWidget>
+ implements IGetOrCreateFacetSetWidget {
+
+ private final EditingDomain editingdoamin;
+ private final PropertyElement2<FacetSet> facetSetProperty;
+ private final FacetSet reject;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param facetSetProperty
+ * the property element that be edited with this composite.
+ * @param properties
+ * the map of properties of the parent.
+ */
+ public GetOrCreateFacetSetWidget(final Composite parent,
+ final PropertyElement2<FacetSet> facetSetProperty,
+ final EditingDomain editingDomain, final FacetSet reject) {
+ super(parent, facetSetProperty);
+ this.facetSetProperty = facetSetProperty;
+ this.editingdoamin = editingDomain;
+ this.reject = reject;
+ }
+
+ @Override
+ protected IDialog<IGetOrCreateFilteredFacetSetWidget> getCreationDialog(
+ final IWithResultDialogCallback<FacetSet> callback) {
+ return new GetOrCreateFacetSetDialog(callback, this.editingdoamin,
+ this.facetSetProperty, this.reject);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.FacetSet;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.FacetSet_mustSelectFacetSet;
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return this.getPropertyElement().getValue2().getName();
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ public FacetSet getFacetSet() {
+ return this.facetSetProperty.getValue2();
+ }
+
+ @Override
+ protected void onCanceled() {
+ // Nothing to do.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetWidget.java
new file mode 100644
index 00000000000..346deb79f5b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateFacetWidget.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.getorcreate;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.dialog.composite.GetOrCreateFacetDialog;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.IFacetWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IWithResultDialogCallback;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.command.IGetOrCreateFilteredElementCommmandWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithDialogButtonWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class provide the selection or the creation of a Facet.</p>
+ *
+ * Facet : [ TextField ][...]</p>
+ *
+ * The {@link GetOrCreateFacetDialog} dialog will be displayed when the button
+ * is pressed.
+ *
+ * @see GetOrCreateFacetDialog
+ */
+public class GetOrCreateFacetWidget extends
+ AbstractGetOrCreateElementWithDialogButtonWidget<Facet, IGetOrCreateFilteredElementCommmandWidget<Facet, IFacetWidget>> {
+
+ private final EditingDomain editingDomain;
+ private final FacetSet container;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param facetProperty
+ * the property element that be edited with this composite.
+ * @param container
+ * @param properties
+ * the map of properties of the parent.
+ */
+ public GetOrCreateFacetWidget(final Composite parent,
+ final PropertyElement2<Facet> facetProperty,
+ final EditingDomain editingDomain, final FacetSet container) {
+ super(parent, facetProperty);
+ this.editingDomain = editingDomain;
+ this.container = container;
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Facet;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Facet_mustSelectFacet;
+ }
+
+ @Override
+ protected IDialog<IGetOrCreateFilteredElementCommmandWidget<Facet, IFacetWidget>> getCreationDialog(
+ final IWithResultDialogCallback<Facet> callback) {
+ return new GetOrCreateFacetDialog(callback, this.editingDomain,
+ this.container);
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return ((Facet) this.getPropertyElement().getValue()).getName();
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ protected void onCanceled() {
+ // Nothing to do.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateOperationWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateOperationWidget.java
new file mode 100644
index 00000000000..0225c66043a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/getorcreate/GetOrCreateOperationWidget.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.getorcreate;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetOperation;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.dialog.composite.GetOrCreateOperationDialog;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.IDerivedTypedElementWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IWithResultDialogCallback;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.command.IGetOrCreateFilteredElementCommmandWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithDialogButtonWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class provide the selection or the creation of a Operation.</p>
+ *
+ * Operation : [ TextField ][...]</p>
+ *
+ * The {@link GetOrCreateOperationDialog} dialog will be displayed when the
+ * button is pressed.
+ *
+ * @see GetOrCreateOperationDialog
+ */
+public class GetOrCreateOperationWidget extends
+ AbstractGetOrCreateElementWithDialogButtonWidget<FacetOperation, IGetOrCreateFilteredElementCommmandWidget<FacetOperation, IDerivedTypedElementWidget>> {
+
+ private final EditingDomain editingDomain;
+ private final Facet context;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param facetOpProp
+ * the property element that be edited with this composite.
+ * @param properties
+ * the map of properties of the parent.
+ */
+ public GetOrCreateOperationWidget(final Composite parent,
+ final PropertyElement2<FacetOperation> facetOpProp,
+ final EditingDomain editingDomain, final Facet context) {
+ super(parent, facetOpProp);
+ this.editingDomain = editingDomain;
+ this.context = context;
+ }
+
+ @Override
+ protected IDialog<IGetOrCreateFilteredElementCommmandWidget<FacetOperation, IDerivedTypedElementWidget>> getCreationDialog(
+ final IWithResultDialogCallback<FacetOperation> callback) {
+ return new GetOrCreateOperationDialog(callback, this.editingDomain,
+ this.context);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Operation;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Operation_mustSelectOperation;
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return this.getPropertyElement().getValue2().getName();
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ protected void onCanceled() {
+ // Nothing to do.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetElementTypeWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetElementTypeWidget.java
new file mode 100644
index 00000000000..03cdd5dd2d3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetElementTypeWidget.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.metaclass;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.creation.AddOperationInFacetWidget;
+import org.eclipse.emf.facet.util.emf.ui.internal.exported.util.widget.component.metaclass.AbstractGetMetaclassWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * Concrete implementation of {@link AbstractGetMetaclassWidget} abstract
+ * class.</p>
+ *
+ * Create a simple Label {@link #getLabel()}TextField and a button.</p> The type
+ * used {@link ETypeSelectionOptions} depends of the element created.
+ *
+ * @see AddOperationInFacetWidget
+ */
+public class GetElementTypeWidget extends
+ AbstractGetMetaclassWidget<EClassifier> {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param propertyElement
+ * the property element that will be edited by this composite.
+ * @param facetSetProp
+ * the property element to get the super, main, facetSet of the
+ * model.
+ * @param eTypeOption
+ * @param eTypeOption
+ * the type of the elements displayed in the selection wizard.
+ */
+ public GetElementTypeWidget(final Composite parent,
+ final PropertyElement2<EClassifier> propertyElement,
+ final PropertyElement2<FacetSet> facetSetProp,
+ final Class<? extends EClassifier> eTypeOption) {
+ super(parent, propertyElement, facetSetProp, eTypeOption);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Type;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Type_mustSelectType;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ protected EPackage getEPackage() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetExtendedMetaclassWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetExtendedMetaclassWidget.java
new file mode 100644
index 00000000000..9715e65b3da
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetExtendedMetaclassWidget.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.metaclass;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.FacetSet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.component.metaclass.IGetExtendedMetaclassWidget;
+import org.eclipse.emf.facet.util.emf.ui.internal.exported.util.widget.component.metaclass.AbstractGetMetaclassWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * Concrete implementation of {@link AbstractGetMetaclassWidget} abstract
+ * class.</p>
+ *
+ * Create a simple Label {@link #getLabel()}TextField and a button.</p> This
+ * class provide the selection the extended metaclass. The type used is
+ * {@link ETypeSelectionOptions#ECLASS}
+ *
+ * @see CreateFacetInFacetSetWidget
+ * @since 0.3
+ */
+public class GetExtendedMetaclassWidget extends
+ AbstractGetMetaclassWidget<EClass> implements
+ IGetExtendedMetaclassWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param editingDomain
+ * the current editing domain.
+ * @param propertyElement
+ * the property element that will be edited by this composite.
+ * @param facetSetProp
+ * the property element to get the super, main, facetSet of the
+ * model.
+ */
+ public GetExtendedMetaclassWidget(final Composite parent,
+ final PropertyElement2<EClass> propertyElement,
+ final PropertyElement2<FacetSet> facetSetProp) {
+ super(parent, propertyElement, facetSetProp, EClass.class);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.ExtendedMetaClass;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Metaclass_mustSelectMetaclass;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return getPropertyElement().getValue2().getName();
+ }
+
+ @Override
+ protected EPackage getEPackage() {
+ return this.getEPackageProperty().getValue2();
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetSubTypingTypeWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetSubTypingTypeWidget.java
new file mode 100644
index 00000000000..9de5c89ced1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/GetSubTypingTypeWidget.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.metaclass;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.dialog.composite.GetSubTypingTypeDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IWithResultDialogCallback;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.command.IGetOrCreateFilteredElementCommmandWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithDialogButtonWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * @author amenager_stage
+ *
+ */
+public class GetSubTypingTypeWidget extends
+ AbstractGetOrCreateElementWithDialogButtonWidget<ETypedElement, IGetOrCreateFilteredElementCommmandWidget<ETypedElement, Object>> {
+
+ private final EditingDomain editingDoamin;
+ private final EClass context;
+ private final Facet facet;
+
+ /**
+ * @param parent
+ * @param editingDomain
+ * @param propertyElement
+ */
+ protected GetSubTypingTypeWidget(final Composite parent,
+ final PropertyElement2<ETypedElement> propertyElement,
+ final EditingDomain editingDomain, final EClass context,
+ final Facet facet) {
+ super(parent, propertyElement);
+ this.editingDoamin = editingDomain;
+ this.context = context;
+ this.facet = facet;
+ }
+
+ @Override
+ protected String getLabel() {
+ return null;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Facet_mustSelectConformanceType;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return getPropertyElement().getValue2().getName();
+ }
+
+ @Override
+ protected void onCanceled() {
+ fireChanged();
+ }
+
+ // protected IDialog<GetFilteredSubTypingTypeWidget> getCreationDialog(
+
+ @Override
+ protected IDialog<IGetOrCreateFilteredElementCommmandWidget<ETypedElement, Object>> getCreationDialog(
+ final IWithResultDialogCallback<ETypedElement> callback) {
+ return new GetSubTypingTypeDialog(callback, this.editingDoamin,
+ this.facet, this.context);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/SelectSubTypingTypeWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/SelectSubTypingTypeWidget.java
new file mode 100644
index 00000000000..2128193cecf
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/metaclass/SelectSubTypingTypeWidget.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.metaclass;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialog;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.AbstractWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.command.IGetOrCreateFilteredElementCommmandWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.emf.facet.util.ui.utils.UIUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class provide the composite:</p>
+ *
+ * Label : [x] [/TextField/] [...]</p>
+ *
+ * The text field is not directly editable by will be edit by the result of the
+ * type selection. The {@link GetConformanceMetaclassWidget} composite is used
+ * in this composite.</p>
+ *
+ * When the checkbox is selected, the button for the conformance type selection
+ * is enabled.
+ *
+ * @see GetConformanceMetaclassWidget
+ */
+public class SelectSubTypingTypeWidget extends AbstractWidget {
+
+ private static final int COLUMN_NUMBER = 2;
+ private final PropertyElement2<ETypedElement> propertyElement;
+ private GetSubTypingTypeWidget conformanceWidget;
+ private Button checkbox;
+ private final EditingDomain editingDomain;
+ private final EClass context;
+ private final Facet facet;
+
+ public SelectSubTypingTypeWidget(final Composite parent,
+ final PropertyElement2<ETypedElement> propertyElement,
+ final EditingDomain editingDomain, final EClass context,
+ final Facet facet) {
+ super(parent);
+ this.setLayout(new GridLayout(COLUMN_NUMBER, false));
+ this.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ this.propertyElement = propertyElement;
+ this.editingDomain = editingDomain;
+ this.context = context;
+ this.facet = facet;
+ }
+
+ /**
+ * @return the checkbox
+ */
+ public Button getCheckbox() {
+ return this.checkbox;
+ }
+
+ @Override
+ protected void addSubWidgets() {
+ boolean enabled = false;
+ if (this.propertyElement.getValue() != null) {
+ enabled = true;
+ }
+ createCheckbox(enabled);
+ this.conformanceWidget = new GetSubTypingTypeWidget(this,
+ this.propertyElement, this.editingDomain, this.context,
+ this.facet);
+ addSubWidget(this.conformanceWidget);
+ }
+
+ /**
+ * Create a checkbox in the composite. When the checkbox is selected, the
+ * button for the conformance type selection is enabled.
+ *
+ * @param enabled
+ */
+ private void createCheckbox(final boolean enabled) {
+ final Composite composite = new Composite(this, SWT.NONE);
+ final GridLayout gridLayout = new GridLayout(COLUMN_NUMBER, false);
+ gridLayout.marginWidth = 0;
+ composite.setLayout(gridLayout);
+
+ UIUtils.createLabel(composite,
+ Messages.CreateFacetInFacetSetWizardPage_Sub_Typing_Facet);
+
+ final SelectionListener selectionListener = new SelectionListener() {
+
+ public void widgetSelected(final SelectionEvent event) {
+ onWidgetSelected();
+ }
+
+ public void widgetDefaultSelected(final SelectionEvent event) {
+ // NOTHING
+ }
+ };
+ this.checkbox = UIUtils.createCheckbox(composite, true, enabled,
+ selectionListener);
+ }
+
+ @Override
+ public String getError() {
+ String error = null;
+
+ if (SelectSubTypingTypeWidget.this.getCheckbox().getSelection()) {
+ error = this.conformanceWidget.getError();
+ }
+
+ return error;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ /**
+ * Set the value of the checkbox.
+ *
+ * @param selected
+ * the value of the selection.
+ */
+ public void setSelection(final boolean selected) {
+ this.checkbox.setSelection(selected);
+ onWidgetSelected();
+ }
+
+ public IDialog<IGetOrCreateFilteredElementCommmandWidget<ETypedElement, Object>> pressButton() {
+ return this.conformanceWidget.pressButton();
+ }
+
+ public String getSubTypingText() {
+ return this.conformanceWidget.getText();
+ }
+
+ protected void onWidgetSelected() {
+ SelectSubTypingTypeWidget.this.conformanceWidget.getButton()
+ .setEnabled(
+ SelectSubTypingTypeWidget.this.getCheckbox()
+ .getSelection());
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetChangeableWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetChangeableWidget.java
new file mode 100644
index 00000000000..8ec339ecc07
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetChangeableWidget.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * Changeable property.
+ */
+public class GetChangeableWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetChangeableWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Changeable;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetDerivedWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetDerivedWidget.java
new file mode 100644
index 00000000000..a15a76de594
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetDerivedWidget.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * Derived property.
+ */
+public class GetDerivedWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetDerivedWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Derived;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetOrderedWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetOrderedWidget.java
new file mode 100644
index 00000000000..c2a7044a9d9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetOrderedWidget.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the Ordered
+ * property.
+ */
+public class GetOrderedWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetOrderedWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Ordered;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetTransientWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetTransientWidget.java
new file mode 100644
index 00000000000..0ab8f72e7b4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetTransientWidget.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * Transient property.
+ */
+public class GetTransientWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetTransientWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Transient;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetUniqueWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetUniqueWidget.java
new file mode 100644
index 00000000000..4773c6805cb
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetUniqueWidget.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * Unique property.
+ */
+public class GetUniqueWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param editingDomain
+ * the current editing domain.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetUniqueWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Unique;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetVolatileWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetVolatileWidget.java
new file mode 100644
index 00000000000..7fd277065d7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/GetVolatileWidget.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * Volatile property.
+ */
+public class GetVolatileWidget extends AbstractGetPropertyWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetVolatileWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Volatile;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetLowerBoundWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetLowerBoundWidget.java
new file mode 100644
index 00000000000..995a385c9f6
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetLowerBoundWidget.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties.bounds;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.bounds.AbstractGetBoundsWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetBoundsWidget} for the
+ * LowerBound.
+ */
+public class GetLowerBoundWidget extends AbstractGetBoundsWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetLowerBoundWidget(final Composite parent,
+ final PropertyElement2<Integer> propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Lower_bound;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a Spinner, the default value of a Spinner is "0"
+ // so the value can't be null.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetUpperBoundWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetUpperBoundWidget.java
new file mode 100644
index 00000000000..cc0e4854871
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/bounds/GetUpperBoundWidget.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties.bounds;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.bounds.AbstractGetBoundsWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetBoundsWidget} for the
+ * UpperBound.
+ */
+public class GetUpperBoundWidget extends AbstractGetBoundsWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent containing this composite.
+ * @param style
+ * the style of the composite.
+ * @param propertyElement
+ * the property element that this composite will edit.
+ */
+ public GetUpperBoundWidget(final Composite parent,
+ final PropertyElement2<Integer> propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Upper_bound;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a Spinner, the default value of a Spinner is "0"
+ // so the value can't be null.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetAttributeNameWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetAttributeNameWidget.java
new file mode 100644
index 00000000000..45babd46801
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetAttributeNameWidget.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties.name;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractGetElementNameWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * The concrete implementation of {@link AbstractGetElementNameWidget} for the
+ * Attribute Name.
+ *
+ * @see AbstractGetElementNameWidget
+ */
+public class GetAttributeNameWidget extends AbstractGetElementNameWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this composite.
+ * @param propertyElement
+ * the property element that be edited with this composite.
+ */
+ public GetAttributeNameWidget(final Composite parent,
+ final PropertyElement2<String> propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Attribute_name;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Facet_mustGiveAttributeName;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetOperationNameWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetOperationNameWidget.java
new file mode 100644
index 00000000000..5fcc980a4a8
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetOperationNameWidget.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties.name;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractGetElementNameWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * The concrete implementation of {@link AbstractGetElementNameWidget} for the
+ * Operation Name.
+ *
+ * @see AbstractGetElementNameWidget
+ */
+public class GetOperationNameWidget extends AbstractGetElementNameWidget {
+
+ public GetOperationNameWidget(final Composite parent,
+ final PropertyElement2<String> propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Operation_name;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Facet_mustGiveOperationName;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetReferenceNameWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetReferenceNameWidget.java
new file mode 100644
index 00000000000..9cf541570a4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/properties/name/GetReferenceNameWidget.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.properties.name;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractGetElementNameWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * The concrete implementation of {@link AbstractGetElementNameWidget} for the
+ * Reference Name.
+ *
+ * @see AbstractGetElementNameWidget
+ */
+public class GetReferenceNameWidget extends AbstractGetElementNameWidget {
+
+ public GetReferenceNameWidget(final Composite parent,
+ final PropertyElement2<String> propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Reference_name;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.Facet_mustGiveReferenceName;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/CreateQueryWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/CreateQueryWidget.java
new file mode 100644
index 00000000000..950c56810a7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/CreateQueryWidget.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.query;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.IQueryDialogFactoryStrategy;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.exported.widget.component.query.ICreateQueryWidget;
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.query.AbstractQueryDialogFactory;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.command.AbstractCommandWidget;
+import org.eclipse.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This widget is the base of the query creation widget.</p>
+ *
+ * The name, canBeCashed and canHavSideEffects are originally present and the
+ * others properties needed by the query are returned by the concrete widget
+ * returned by {@link AbstractQueryDialogFactory#createWidget()}.
+ *
+ * @see AbstractQueryDialogFactory
+ */
+public class CreateQueryWidget extends AbstractCommandWidget implements
+ ICreateQueryWidget {
+
+ private final IQueryDialogFactoryStrategy strategy;
+ // Widgets
+ private GetCanBeCachedWidget canBeCachedWidget;
+ private GetCanHaveSideEffectsWidget sideEffectsWidget;
+ private IAbstractWidget queryWidget;
+ // Properties
+ private final PropertyElement canBeCachedProp;
+ private final PropertyElement sideEffectsProp;
+ private final IQueryContext queryContext;
+
+
+ public CreateQueryWidget(final Composite parent,
+ final IQueryDialogFactoryStrategy strategy,
+ final PropertyElement canBeCachedProp,
+ final PropertyElement sideEffectsProp,
+ final IQueryContext queryContext) {
+ super(parent);
+ this.strategy = strategy;
+ this.canBeCachedProp = canBeCachedProp;
+ this.sideEffectsProp = sideEffectsProp;
+ this.queryContext = queryContext;
+ }
+
+ @Override
+ public Command getCommand() {
+ return null;
+ }
+
+ @Override
+ protected void addSubWidgets() {
+ this.canBeCachedWidget = new GetCanBeCachedWidget(this,
+ this.canBeCachedProp);
+ addSubWidget(this.canBeCachedWidget);
+ this.sideEffectsWidget = new GetCanHaveSideEffectsWidget(this,
+ this.sideEffectsProp);
+ addSubWidget(this.sideEffectsWidget);
+ this.queryWidget = this.strategy.createWidget(this, this.queryContext);
+ addSubWidget(this.queryWidget);
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public void onDialogValidation() {
+ // Nothing.
+ }
+
+ /**
+ * @return CanBeCached value.
+ */
+ public boolean isCanBeCached() {
+ return this.canBeCachedWidget.isSelected();
+ }
+
+ /**
+ * @return HasSideEffect value.
+ */
+ public boolean isHasSideEffect() {
+ return this.sideEffectsWidget.isSelected();
+ }
+
+ public IAbstractWidget getCreateQueryWidget() {
+ return this.queryWidget;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanBeCachedWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanBeCachedWidget.java
new file mode 100644
index 00000000000..abe4768988c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanBeCachedWidget.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.query;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the can be
+ * cached property.
+ */
+public class GetCanBeCachedWidget extends AbstractGetPropertyWidget {
+
+ private static final int LABEL_WIDTH_HINT = 110;
+
+ public GetCanBeCachedWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ setLabelWidthHint(LABEL_WIDTH_HINT);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Query_Can_be_cached;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanHaveSideEffectsWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanHaveSideEffectsWidget.java
new file mode 100644
index 00000000000..5b307dbb47c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.efacet.sdk.ui/src/org/eclipse/papyrus/emf/facet/efacet/sdk/ui/internal/widget/component/query/GetCanHaveSideEffectsWidget.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.emf.facet.efacet.sdk.ui.internal.widget.component.query;
+
+import org.eclipse.emf.facet.efacet.sdk.ui.internal.Messages;
+import org.eclipse.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractGetPropertyWidget} for the
+ * can have side effects property.
+ */
+public class GetCanHaveSideEffectsWidget extends AbstractGetPropertyWidget {
+
+ private static final int LABEL_WIDTH_HINT = 110;
+
+ public GetCanHaveSideEffectsWidget(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ setLabelWidthHint(LABEL_WIDTH_HINT);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Query_has_side_effect;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // No action has to be done if a change appends.
+ }
+
+ @Override
+ public String getError() {
+ // A property widget is a checkbox, so the values can be "true" or
+ // "false" so, no error can be throws because a value will be always
+ // put.
+ return null;
+ }
+}

Back to the top