diff options
| author | Benjamin Grouhan | 2015-04-08 14:52:10 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2015-04-09 12:29:50 +0000 |
| commit | 0a64eb1bc2399e8d72a6b2be8fb3f6acb794589c (patch) | |
| tree | d12c7d2b7a4ba2f5f7212b48f47699b1c13460b0 | |
| parent | df4adcc82a9fdca8eb13e1b4b19011455454430c (diff) | |
| download | org.eclipse.sirius-0a64eb1bc2399e8d72a6b2be8fb3f6acb794589c.tar.gz org.eclipse.sirius-0a64eb1bc2399e8d72a6b2be8fb3f6acb794589c.tar.xz org.eclipse.sirius-0a64eb1bc2399e8d72a6b2be8fb3f6acb794589c.zip | |
[463456] Add multiline support in property sections of interpreted
expressions.
Modify all property sections of interpreted expression to have a push
button next to the text field that open a dialog containing a text area
with content proposal.
Also add an abstract property section
(AbstractTextWithButtonPropertySection) which is very similar to
AbstractTextPropertySection but with a button next to the text field and
an abstract method to creation the listener on the button.
Bug: 463456
Change-Id: I514ab9f0af6a711b8eea449d79d86ff2f7fa0f01
Signed-off-by: Benjamin Grouhan <benjamin.grouhan@obeo.fr>
122 files changed, 2806 insertions, 5924 deletions
diff --git a/plugins/org.eclipse.sirius.doc/doc/Release Notes.html b/plugins/org.eclipse.sirius.doc/doc/Release Notes.html index a541b2a592..86a6799112 100644 --- a/plugins/org.eclipse.sirius.doc/doc/Release Notes.html +++ b/plugins/org.eclipse.sirius.doc/doc/Release Notes.html @@ -55,6 +55,7 @@ <li>The default icons paths of Selection Wizard and Pane Based Selection Wizard used to reference invalid icons, so the corresponding tools had no icon per default in the palette. The default icons paths have been corrected to reference the icons displayed for those elements in the VSM editor.</li> <li>«*» can now be used as feature name of a FeatureColumn to skip the feature name validation during the cell creation. This allow to compute the label of cells for lines whose semantic element types have no common EStructuralFeatures (inherited or with same name).</li> <li>A quick outline is now accessible in the VSM editor by using the shortcut «Ctrl» + «O».</li> + <li>Property sections for interpreted expressions (yellow background) now have a button next to the text field to open a dialog with a bigger text area (also providing auto-completion).</li> </ul> <h3 id="APIChanges">API Changes</h3> <h4 id="Changesinorg.eclipse.sirius">Changes in diff --git a/plugins/org.eclipse.sirius.doc/doc/Release Notes.textile b/plugins/org.eclipse.sirius.doc/doc/Release Notes.textile index f272253e18..766137d923 100644 --- a/plugins/org.eclipse.sirius.doc/doc/Release Notes.textile +++ b/plugins/org.eclipse.sirius.doc/doc/Release Notes.textile @@ -18,6 +18,7 @@ h3. Specifier-Visible Changes * The default icons paths of Selection Wizard and Pane Based Selection Wizard used to reference invalid icons, so the corresponding tools had no icon per default in the palette. The default icons paths have been corrected to reference the icons displayed for those elements in the VSM editor. * "*" can now be used as feature name of a FeatureColumn to skip the feature name validation during the cell creation. This allow to compute the label of cells for lines whose semantic element types have no common EStructuralFeatures (inherited or with same name). * A quick outline is now accessible in the VSM editor by using the shortcut "Ctrl" + "O". +* Property sections for interpreted expressions (yellow background) now have a button next to the text field to open a dialog with a bigger text area (also providing auto-completion). h3. API Changes diff --git a/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.html b/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.html index 9573f754d0..125743fb67 100644 --- a/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.html +++ b/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.html @@ -317,6 +317,10 @@ <p> <img border="0" src="images/interpreted_expressions.png"/> </p> + <p>Also, by clicking on the button next to the text field, you can open a dialog with a bigger text area (providing auto-completion too) to type your expression more comfortably. Note that you can add line feeds or tabulations if you want, since they are removed when clicking on the «OK» button.</p> + <p> + <img border="0" src="images/textAreaDialog.png"/> + </p> <h3 id="model_operations">Model Operations</h3> <p>Whenever a <em>VSM</em> requires you to specify a behavior, for example inside any diff --git a/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.textile b/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.textile index dedff0cad8..360aa2acf3 100644 --- a/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.textile +++ b/plugins/org.eclipse.sirius.doc/doc/specifier/general/Specifying_Viewpoints.textile @@ -110,6 +110,10 @@ You can easily identify _Interpreted Expressions_ by their yellow background in !images/interpreted_expressions.png! +Also, by clicking on the button next to the text field, you can open a dialog with a bigger text area (providing auto-completion too) to type your expression more comfortably. Note that you can add line feeds or tabulations if you want, since they are removed when clicking on the "OK" button. + +!images/textAreaDialog.png! + h3(#model_operations). Model Operations Whenever a _VSM_ requires you to specify a behavior, for example inside any _Tool_ definition, you can use any of the available _Model Operations_ to do so. Refer to the "Model Operations documentation":Model_Operations.html for more details. diff --git a/plugins/org.eclipse.sirius.doc/doc/specifier/general/images/textAreaDialog.png b/plugins/org.eclipse.sirius.doc/doc/specifier/general/images/textAreaDialog.png Binary files differnew file mode 100644 index 0000000000..ef9fc8d42c --- /dev/null +++ b/plugins/org.eclipse.sirius.doc/doc/specifier/general/images/textAreaDialog.png diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionPreconditionExpressionPropertySection.java index 1932c66942..1b13faf169 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.diagra // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a DiagramDescription * object. */ -public class DiagramDescriptionPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DiagramDescriptionPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DiagramDescriptionPreconditionExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DiagramDescriptionPreconditionExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDiagramDescription_PreconditionExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DiagramDescriptionPreconditionExpressionPropertySection extends Abs help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DiagramDescriptionPreconditionExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DiagramDescriptionPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionRootExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionRootExpressionPropertySection.java index 424e82e5e7..90fe066b62 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionRootExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramdescription/DiagramDescriptionRootExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.diagra // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the rootExpression property of a DiagramDescription object. */ -public class DiagramDescriptionRootExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DiagramDescriptionRootExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class DiagramDescriptionRootExpressionPropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "RootExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class DiagramDescriptionRootExpressionPropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDiagramDescription_RootExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class DiagramDescriptionRootExpressionPropertySection extends AbstractTex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class DiagramDescriptionRootExpressionPropertySection extends AbstractTex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DiagramDescriptionRootExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingPreconditionExpressionPropertySection.java index 132857337b..b982b9a345 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.diagra // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a DiagramElementMapping * object. */ -public class DiagramElementMappingPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DiagramElementMappingPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DiagramElementMappingPreconditionExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DiagramElementMappingPreconditionExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDiagramElementMapping_PreconditionExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DiagramElementMappingPreconditionExpressionPropertySection extends help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DiagramElementMappingPreconditionExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DiagramElementMappingPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticCandidatesExpressionPropertySection.java index 8d74060d4c..6facd2d529 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.diagra // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a * DiagramElementMapping object. */ -public class DiagramElementMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DiagramElementMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DiagramElementMappingSemanticCandidatesExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DiagramElementMappingSemanticCandidatesExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDiagramElementMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DiagramElementMappingSemanticCandidatesExpressionPropertySection ex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DiagramElementMappingSemanticCandidatesExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DiagramElementMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticElementsPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticElementsPropertySection.java index a7741aad8c..561040aa0a 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticElementsPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/diagramelementmapping/DiagramElementMappingSemanticElementsPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.diagra // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticElements property of a DiagramElementMapping * object. */ -public class DiagramElementMappingSemanticElementsPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DiagramElementMappingSemanticElementsPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DiagramElementMappingSemanticElementsPropertySection extends Abstra } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticElements"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DiagramElementMappingSemanticElementsPropertySection extends Abstra } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDiagramElementMapping_SemanticElements(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DiagramElementMappingSemanticElementsPropertySection extends Abstra help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DiagramElementMappingSemanticElementsPropertySection extends Abstra } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DiagramElementMappingSemanticElementsPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingPathExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingPathExpressionPropertySection.java index a84313089a..1ececca309 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingPathExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingPathExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.edgema // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the pathExpression property of a EdgeMapping object. */ -public class EdgeMappingPathExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeMappingPathExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class EdgeMappingPathExpressionPropertySection extends AbstractTextProper } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PathExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class EdgeMappingPathExpressionPropertySection extends AbstractTextProper } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getEdgeMapping_PathExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class EdgeMappingPathExpressionPropertySection extends AbstractTextProper help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class EdgeMappingPathExpressionPropertySection extends AbstractTextProper } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeMappingPathExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingSourceFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingSourceFinderExpressionPropertySection.java index 63ae3254bb..55ef93a627 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingSourceFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingSourceFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.edgema // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the sourceFinderExpression property of a EdgeMapping object. */ -public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SourceFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getEdgeMapping_SourceFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTe help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class EdgeMappingSourceFinderExpressionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeMappingSourceFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetExpressionPropertySection.java index 1fc80da401..79757920f9 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.edgema // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the targetExpression property of a EdgeMapping object. */ -public class EdgeMappingTargetExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeMappingTargetExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class EdgeMappingTargetExpressionPropertySection extends AbstractTextProp } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TargetExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class EdgeMappingTargetExpressionPropertySection extends AbstractTextProp } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getEdgeMapping_TargetExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class EdgeMappingTargetExpressionPropertySection extends AbstractTextProp help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class EdgeMappingTargetExpressionPropertySection extends AbstractTextProp } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeMappingTargetExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetFinderExpressionPropertySection.java index 30d03187f1..4da05b3ae7 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/edgemapping/EdgeMappingTargetFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.edgema // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the targetFinderExpression property of a EdgeMapping object. */ -public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TargetFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getEdgeMapping_TargetFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTe help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class EdgeMappingTargetFinderExpressionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeMappingTargetFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/orderedtreelayout/OrderedTreeLayoutChildrenExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/orderedtreelayout/OrderedTreeLayoutChildrenExpressionPropertySection.java index 9849521e36..f45335c02e 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/orderedtreelayout/OrderedTreeLayoutChildrenExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/description/orderedtreelayout/OrderedTreeLayoutChildrenExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.description.ordere // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the childrenExpression property of a OrderedTreeLayout object. */ -public class OrderedTreeLayoutChildrenExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class OrderedTreeLayoutChildrenExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class OrderedTreeLayoutChildrenExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ChildrenExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class OrderedTreeLayoutChildrenExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getOrderedTreeLayout_ChildrenExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class OrderedTreeLayoutChildrenExpressionPropertySection extends Abstract help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class OrderedTreeLayoutChildrenExpressionPropertySection extends Abstract } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), OrderedTreeLayoutChildrenExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterSemanticConditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterSemanticConditionExpressionPropertySection.java index df43384b53..57a6b1e490 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterSemanticConditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterSemanticConditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.filter.mappingfilt // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.filter.FilterPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticConditionExpression property of a MappingFilter * object. */ -public class MappingFilterSemanticConditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class MappingFilterSemanticConditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class MappingFilterSemanticConditionExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticConditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class MappingFilterSemanticConditionExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return FilterPackage.eINSTANCE.getMappingFilter_SemanticConditionExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class MappingFilterSemanticConditionExpressionPropertySection extends Abs help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class MappingFilterSemanticConditionExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), MappingFilterSemanticConditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterViewConditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterViewConditionExpressionPropertySection.java index 7678fe458e..8ab3a91629 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterViewConditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/mappingfilter/MappingFilterViewConditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.filter.mappingfilt // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.filter.FilterPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the viewConditionExpression property of a MappingFilter object. */ -public class MappingFilterViewConditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class MappingFilterViewConditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class MappingFilterViewConditionExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ViewConditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class MappingFilterViewConditionExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return FilterPackage.eINSTANCE.getMappingFilter_ViewConditionExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class MappingFilterViewConditionExpressionPropertySection extends Abstrac help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class MappingFilterViewConditionExpressionPropertySection extends Abstrac } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), MappingFilterViewConditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/variablefilter/VariableFilterSemanticConditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/variablefilter/VariableFilterSemanticConditionExpressionPropertySection.java index b50fcd9ded..a93f996606 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/variablefilter/VariableFilterSemanticConditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/filter/variablefilter/VariableFilterSemanticConditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.filter.variablefil // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.filter.FilterPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticConditionExpression property of a VariableFilter * object. */ -public class VariableFilterSemanticConditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class VariableFilterSemanticConditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class VariableFilterSemanticConditionExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticConditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class VariableFilterSemanticConditionExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return FilterPackage.eINSTANCE.getVariableFilter_SemanticConditionExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class VariableFilterSemanticConditionExpressionPropertySection extends Ab help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class VariableFilterSemanticConditionExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), VariableFilterSemanticConditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/borderedstyledescription/BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/borderedstyledescription/BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection.java index 5153e29c52..5b8dfe2925 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/borderedstyledescription/BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/borderedstyledescription/BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection.java @@ -11,30 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.borderedstyl // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; -import org.eclipse.sirius.common.tools.api.util.StringUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -43,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the borderSizeComputationExpression property of a * BorderedStyleDescription object. */ -public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -61,14 +51,14 @@ public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySect } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "BorderSizeComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -80,27 +70,21 @@ public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySect } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getBorderedStyleDescription_BorderSizeComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) - * - * @generated NOT + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { - if (StringUtil.isEmpty(newText)) { - return getDefaultFeatureAsText(); - } else { - return newText; - } + return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -126,30 +110,7 @@ public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySect help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -157,13 +118,16 @@ public class BorderedStyleDescriptionBorderSizeComputationExpressionPropertySect } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), BorderedStyleDescriptionBorderSizeComputationExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/dotdescription/DotDescriptionStrokeSizeComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/dotdescription/DotDescriptionStrokeSizeComputationExpressionPropertySection.java index 33c5b1b90f..51c9296b6e 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/dotdescription/DotDescriptionStrokeSizeComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/dotdescription/DotDescriptionStrokeSizeComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.dotdescripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the strokeSizeComputationExpression property of a * DotDescription object. */ -public class DotDescriptionStrokeSizeComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DotDescriptionStrokeSizeComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DotDescriptionStrokeSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "StrokeSizeComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DotDescriptionStrokeSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getDotDescription_StrokeSizeComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DotDescriptionStrokeSizeComputationExpressionPropertySection extend help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DotDescriptionStrokeSizeComputationExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DotDescriptionStrokeSizeComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/edgestyledescription/EdgeStyleDescriptionSizeComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/edgestyledescription/EdgeStyleDescriptionSizeComputationExpressionPropertySection.java index 487eec239d..5c2e26638c 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/edgestyledescription/EdgeStyleDescriptionSizeComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/edgestyledescription/EdgeStyleDescriptionSizeComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.edgestyledes // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the sizeComputationExpression property of a * EdgeStyleDescription object. */ -public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SizeComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getEdgeStyleDescription_SizeComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extend help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class EdgeStyleDescriptionSizeComputationExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeStyleDescriptionSizeComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection.java index 111cda968e..0e4a605b3c 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.ellipsenoded // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the horizontalDiameterComputationExpression property of a * EllipseNodeDescription object. */ -public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionProper } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "HorizontalDiameterComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionProper } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getEllipseNodeDescription_HorizontalDiameterComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionProper help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class EllipseNodeDescriptionHorizontalDiameterComputationExpressionProper } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EllipseNodeDescriptionHorizontalDiameterComputationExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection.java index ec0327079a..7ce3479010 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/ellipsenodedescription/EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.ellipsenoded // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the verticalDiameterComputationExpression property of a * EllipseNodeDescription object. */ -public class EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class EllipseNodeDescriptionVerticalDiameterComputationExpressionProperty } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "VerticalDiameterComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class EllipseNodeDescriptionVerticalDiameterComputationExpressionProperty } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getEllipseNodeDescription_VerticalDiameterComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class EllipseNodeDescriptionVerticalDiameterComputationExpressionProperty help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class EllipseNodeDescriptionVerticalDiameterComputationExpressionProperty } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EllipseNodeDescriptionVerticalDiameterComputationExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMaxValueExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMaxValueExpressionPropertySection.java index f6bb61ce48..cf5781c42f 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMaxValueExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMaxValueExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.gaugesection // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the maxValueExpression property of a GaugeSectionDescription * object. */ -public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "MaxValueExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getGaugeSectionDescription_MaxValueExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends Ab help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class GaugeSectionDescriptionMaxValueExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), GaugeSectionDescriptionMaxValueExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMinValueExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMinValueExpressionPropertySection.java index 03e394c6a4..a7f208c293 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMinValueExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionMinValueExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.gaugesection // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the minValueExpression property of a GaugeSectionDescription * object. */ -public class GaugeSectionDescriptionMinValueExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class GaugeSectionDescriptionMinValueExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class GaugeSectionDescriptionMinValueExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "MinValueExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class GaugeSectionDescriptionMinValueExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getGaugeSectionDescription_MinValueExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class GaugeSectionDescriptionMinValueExpressionPropertySection extends Ab help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class GaugeSectionDescriptionMinValueExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), GaugeSectionDescriptionMinValueExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionValueExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionValueExpressionPropertySection.java index 5c408b6515..9492a7a1dc 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionValueExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/gaugesectiondescription/GaugeSectionDescriptionValueExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.gaugesection // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the valueExpression property of a GaugeSectionDescription * object. */ -public class GaugeSectionDescriptionValueExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class GaugeSectionDescriptionValueExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class GaugeSectionDescriptionValueExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ValueExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class GaugeSectionDescriptionValueExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getGaugeSectionDescription_ValueExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class GaugeSectionDescriptionValueExpressionPropertySection extends Abstr help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class GaugeSectionDescriptionValueExpressionPropertySection extends Abstr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), GaugeSectionDescriptionValueExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionHeightComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionHeightComputationExpressionPropertySection.java index ae79becd4f..7317b7a7b5 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionHeightComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionHeightComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.lozengenoded // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the heightComputationExpression property of a * LozengeNodeDescription object. */ -public class LozengeNodeDescriptionHeightComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class LozengeNodeDescriptionHeightComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class LozengeNodeDescriptionHeightComputationExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "HeightComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class LozengeNodeDescriptionHeightComputationExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getLozengeNodeDescription_HeightComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class LozengeNodeDescriptionHeightComputationExpressionPropertySection ex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class LozengeNodeDescriptionHeightComputationExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), LozengeNodeDescriptionHeightComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionWidthComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionWidthComputationExpressionPropertySection.java index af287d4343..c816ce30cd 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionWidthComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/lozengenodedescription/LozengeNodeDescriptionWidthComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.lozengenoded // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the widthComputationExpression property of a * LozengeNodeDescription object. */ -public class LozengeNodeDescriptionWidthComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class LozengeNodeDescriptionWidthComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class LozengeNodeDescriptionWidthComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "WidthComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class LozengeNodeDescriptionWidthComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getLozengeNodeDescription_WidthComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class LozengeNodeDescriptionWidthComputationExpressionPropertySection ext help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class LozengeNodeDescriptionWidthComputationExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), LozengeNodeDescriptionWidthComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/nodestyledescription/NodeStyleDescriptionSizeComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/nodestyledescription/NodeStyleDescriptionSizeComputationExpressionPropertySection.java index 7c46e00603..eff5c6b2d1 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/nodestyledescription/NodeStyleDescriptionSizeComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/nodestyledescription/NodeStyleDescriptionSizeComputationExpressionPropertySection.java @@ -11,32 +11,23 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.nodestyledes // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.diagram.description.style.WorkspaceImageDescription; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; import com.google.common.collect.Iterables; @@ -47,7 +38,7 @@ import com.google.common.collect.Iterables; * A section for the sizeComputationExpression property of a * NodeStyleDescription object. */ -public class NodeStyleDescriptionSizeComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class NodeStyleDescriptionSizeComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -65,14 +56,14 @@ public class NodeStyleDescriptionSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SizeComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -84,21 +75,21 @@ public class NodeStyleDescriptionSizeComputationExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getNodeStyleDescription_SizeComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -124,30 +115,7 @@ public class NodeStyleDescriptionSizeComputationExpressionPropertySection extend help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -155,13 +123,15 @@ public class NodeStyleDescriptionSizeComputationExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), NodeStyleDescriptionSizeComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection.java index 286a815213..e1aaf79e34 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.sizecomputat // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the heightComputationExpression property of a * SizeComputationContainerStyleDescription object. */ -public class SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SizeComputationContainerStyleDescriptionHeightComputationExpression } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "HeightComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SizeComputationContainerStyleDescriptionHeightComputationExpression } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getSizeComputationContainerStyleDescription_HeightComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class SizeComputationContainerStyleDescriptionHeightComputationExpression help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class SizeComputationContainerStyleDescriptionHeightComputationExpression } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SizeComputationContainerStyleDescriptionHeightComputationExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection.java index 5b4efc9304..6459a1f0db 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/style/sizecomputationcontainerstyledescription/SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.style.sizecomputat // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.style.StylePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the widthComputationExpression property of a * SizeComputationContainerStyleDescription object. */ -public class SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SizeComputationContainerStyleDescriptionWidthComputationExpressionP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "WidthComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SizeComputationContainerStyleDescriptionWidthComputationExpressionP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getSizeComputationContainerStyleDescription_WidthComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class SizeComputationContainerStyleDescriptionWidthComputationExpressionP help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class SizeComputationContainerStyleDescriptionWidthComputationExpressionP } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SizeComputationContainerStyleDescriptionWidthComputationExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewSourceExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewSourceExpressionPropertySection.java index 5fd7637579..3fbb8632a8 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewSourceExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewSourceExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.createedgevie // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the sourceExpression property of a CreateEdgeView object. */ -public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SourceExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getCreateEdgeView_SourceExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextP help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class CreateEdgeViewSourceExpressionPropertySection extends AbstractTextP } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), CreateEdgeViewSourceExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewTargetExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewTargetExpressionPropertySection.java index 6fe07329f3..e151940060 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewTargetExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createedgeview/CreateEdgeViewTargetExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.createedgevie // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the targetExpression property of a CreateEdgeView object. */ -public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TargetExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextP } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getCreateEdgeView_TargetExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextP help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class CreateEdgeViewTargetExpressionPropertySection extends AbstractTextP } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), CreateEdgeViewTargetExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createview/CreateViewContainerViewExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createview/CreateViewContainerViewExpressionPropertySection.java index f88e2e09c6..3c08ae0549 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createview/CreateViewContainerViewExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/createview/CreateViewContainerViewExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.createview; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the containerViewExpression property of a CreateView object. */ -public class CreateViewContainerViewExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class CreateViewContainerViewExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class CreateViewContainerViewExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ContainerViewExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class CreateViewContainerViewExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getCreateView_ContainerViewExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class CreateViewContainerViewExpressionPropertySection extends AbstractTe help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class CreateViewContainerViewExpressionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), CreateViewContainerViewExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/deletehookparameter/DeleteHookParameterValuePropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/deletehookparameter/DeleteHookParameterValuePropertySection.java index b04c265afc..3f7a2c4a91 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/deletehookparameter/DeleteHookParameterValuePropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/deletehookparameter/DeleteHookParameterValuePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.deletehookpar // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the value property of a DeleteHookParameter object. */ -public class DeleteHookParameterValuePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DeleteHookParameterValuePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class DeleteHookParameterValuePropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Value"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class DeleteHookParameterValuePropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getDeleteHookParameter_Value(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class DeleteHookParameterValuePropertySection extends AbstractTextPropert help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class DeleteHookParameterValuePropertySection extends AbstractTextPropert } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DeleteHookParameterValuePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/directeditlabel/DirectEditLabelInputLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/directeditlabel/DirectEditLabelInputLabelExpressionPropertySection.java index 5230d05c07..519c6d85d2 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/directeditlabel/DirectEditLabelInputLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/directeditlabel/DirectEditLabelInputLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.directeditlab // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the inputLabelExpression property of a DirectEditLabel object. */ -public class DirectEditLabelInputLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DirectEditLabelInputLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class DirectEditLabelInputLabelExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "InputLabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class DirectEditLabelInputLabelExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getDirectEditLabel_InputLabelExpression(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class DirectEditLabelInputLabelExpressionPropertySection extends Abstract help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class DirectEditLabelInputLabelExpressionPropertySection extends Abstract } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DirectEditLabelInputLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/edgecreationdescription/EdgeCreationDescriptionConnectionStartPreconditionPropertySection.java b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/edgecreationdescription/EdgeCreationDescriptionConnectionStartPreconditionPropertySection.java index bbc87b95a1..015703b3b9 100644 --- a/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/edgecreationdescription/EdgeCreationDescriptionConnectionStartPreconditionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.diagram/src-gen/org/eclipse/sirius/diagram/editor/properties/sections/tool/edgecreationdescription/EdgeCreationDescriptionConnectionStartPreconditionPropertySection.java @@ -11,30 +11,21 @@ package org.eclipse.sirius.diagram.editor.properties.sections.tool.edgecreationd // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.description.tool.ToolPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -43,7 +34,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the connectionStartPrecondition property of a * EdgeCreationDescription object. */ -public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -61,14 +52,14 @@ public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection e } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ConnectionStartPrecondition"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -80,21 +71,21 @@ public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection e } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getEdgeCreationDescription_ConnectionStartPrecondition(); } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection e help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class EdgeCreationDescriptionConnectionStartPreconditionPropertySection e } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EdgeCreationDescriptionConnectionStartPreconditionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingFinishingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingFinishingEndFinderExpressionPropertySection.java index 009678a911..ac66f5d5ea 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingFinishingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingFinishingEndFinderExpressionPropertySection.java @@ -11,30 +11,21 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.diagram.sequence.description.StateMapping; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -43,7 +34,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the finishingEndFinderExpression property of a * DelimitedEventMapping object. */ -public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -61,14 +52,14 @@ public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "FinishingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -80,21 +71,21 @@ public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDelimitedEventMapping_FinishingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -121,30 +112,7 @@ public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection ex help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -152,13 +120,15 @@ public class DelimitedEventMappingFinishingEndFinderExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DelimitedEventMappingFinishingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingStartingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingStartingEndFinderExpressionPropertySection.java index a9a58da9f7..339d017e0f 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingStartingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/delimitedeventmapping/DelimitedEventMappingStartingEndFinderExpressionPropertySection.java @@ -11,30 +11,21 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.diagram.sequence.description.StateMapping; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -43,7 +34,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the startingEndFinderExpression property of a * DelimitedEventMapping object. */ -public class DelimitedEventMappingStartingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DelimitedEventMappingStartingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -61,14 +52,14 @@ public class DelimitedEventMappingStartingEndFinderExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "StartingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -80,21 +71,21 @@ public class DelimitedEventMappingStartingEndFinderExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDelimitedEventMapping_StartingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -121,30 +112,7 @@ public class DelimitedEventMappingStartingEndFinderExpressionPropertySection ext help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -152,13 +120,15 @@ public class DelimitedEventMappingStartingEndFinderExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DelimitedEventMappingStartingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCenterLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCenterLabelExpressionPropertySection.java index 1a16ed7918..cff292c251 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCenterLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCenterLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the centerLabelExpression property of a FrameMapping object. */ -public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "CenterLabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getFrameMapping_CenterLabelExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTe help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class FrameMappingCenterLabelExpressionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), FrameMappingCenterLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCoveredLifelinesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCoveredLifelinesExpressionPropertySection.java index 29558e2d37..f3afeec855 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCoveredLifelinesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/framemapping/FrameMappingCoveredLifelinesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the coveredLifelinesExpression property of a FrameMapping * object. */ -public class FrameMappingCoveredLifelinesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class FrameMappingCoveredLifelinesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class FrameMappingCoveredLifelinesExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "CoveredLifelinesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class FrameMappingCoveredLifelinesExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getFrameMapping_CoveredLifelinesExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class FrameMappingCoveredLifelinesExpressionPropertySection extends Abstr help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class FrameMappingCoveredLifelinesExpressionPropertySection extends Abstr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), FrameMappingCoveredLifelinesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingReceivingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingReceivingEndFinderExpressionPropertySection.java index 5bc621722c..3a778c64ba 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingReceivingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingReceivingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the receivingEndFinderExpression property of a MessageMapping * object. */ -public class MessageMappingReceivingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class MessageMappingReceivingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class MessageMappingReceivingEndFinderExpressionPropertySection extends A } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ReceivingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class MessageMappingReceivingEndFinderExpressionPropertySection extends A } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getMessageMapping_ReceivingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class MessageMappingReceivingEndFinderExpressionPropertySection extends A help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class MessageMappingReceivingEndFinderExpressionPropertySection extends A } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), MessageMappingReceivingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingSendingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingSendingEndFinderExpressionPropertySection.java index ec0c8e77e2..7790a4d946 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingSendingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/messagemapping/MessageMappingSendingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the sendingEndFinderExpression property of a MessageMapping * object. */ -public class MessageMappingSendingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class MessageMappingSendingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class MessageMappingSendingEndFinderExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SendingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class MessageMappingSendingEndFinderExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getMessageMapping_SendingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class MessageMappingSendingEndFinderExpressionPropertySection extends Abs help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class MessageMappingSendingEndFinderExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), MessageMappingSendingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/returnmessagemapping/ReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/returnmessagemapping/ReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java index d7ac8d059b..46e6b62895 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/returnmessagemapping/ReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/returnmessagemapping/ReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the invocationMessageFinderExpression property of a * ReturnMessageMapping object. */ -public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySectio } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "InvocationMessageFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySectio } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getReturnMessageMapping_InvocationMessageFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySectio help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,16 @@ public class ReturnMessageMappingInvocationMessageFinderExpressionPropertySectio } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ReturnMessageMappingInvocationMessageFinderExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionEndsOrderingPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionEndsOrderingPropertySection.java index d838776f75..8af42993fa 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionEndsOrderingPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionEndsOrderingPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the endsOrdering property of a SequenceDiagramDescription * object. */ -public class SequenceDiagramDescriptionEndsOrderingPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SequenceDiagramDescriptionEndsOrderingPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SequenceDiagramDescriptionEndsOrderingPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "EndsOrdering"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SequenceDiagramDescriptionEndsOrderingPropertySection extends Abstr } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getSequenceDiagramDescription_EndsOrdering(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class SequenceDiagramDescriptionEndsOrderingPropertySection extends Abstr help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class SequenceDiagramDescriptionEndsOrderingPropertySection extends Abstr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SequenceDiagramDescriptionEndsOrderingPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionInstanceRolesOrderingPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionInstanceRolesOrderingPropertySection.java index 69276fec41..f2994c0525 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionInstanceRolesOrderingPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/description/sequencediagramdescription/SequenceDiagramDescriptionInstanceRolesOrderingPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.descripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the instanceRolesOrdering property of a * SequenceDiagramDescription object. */ -public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection exte } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "InstanceRolesOrdering"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection exte } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getSequenceDiagramDescription_InstanceRolesOrdering(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection exte help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class SequenceDiagramDescriptionInstanceRolesOrderingPropertySection exte } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SequenceDiagramDescriptionInstanceRolesOrderingPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tabstractmapping/TAbstractMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tabstractmapping/TAbstractMappingSemanticCandidatesExpressionPropertySection.java index 236f69ce2a..8d4ed04778 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tabstractmapping/TAbstractMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tabstractmapping/TAbstractMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a TAbstractMapping * object. */ -public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTAbstractMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TAbstractMappingSemanticCandidatesExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TAbstractMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalexecutionstyle/TConditionalExecutionStylePredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalexecutionstyle/TConditionalExecutionStylePredicateExpressionPropertySection.java index 35695e72d5..73535184fa 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalexecutionstyle/TConditionalExecutionStylePredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalexecutionstyle/TConditionalExecutionStylePredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a * TConditionalExecutionStyle object. */ -public class TConditionalExecutionStylePredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TConditionalExecutionStylePredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TConditionalExecutionStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TConditionalExecutionStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTConditionalExecutionStyle_PredicateExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TConditionalExecutionStylePredicateExpressionPropertySection extend help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TConditionalExecutionStylePredicateExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TConditionalExecutionStylePredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionallifelinestyle/TConditionalLifelineStylePredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionallifelinestyle/TConditionalLifelineStylePredicateExpressionPropertySection.java index faf249356c..7bb048e23d 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionallifelinestyle/TConditionalLifelineStylePredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionallifelinestyle/TConditionalLifelineStylePredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a TConditionalLifelineStyle * object. */ -public class TConditionalLifelineStylePredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TConditionalLifelineStylePredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TConditionalLifelineStylePredicateExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TConditionalLifelineStylePredicateExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTConditionalLifelineStyle_PredicateExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TConditionalLifelineStylePredicateExpressionPropertySection extends help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TConditionalLifelineStylePredicateExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TConditionalLifelineStylePredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalmessagestyle/TConditionalMessageStylePredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalmessagestyle/TConditionalMessageStylePredicateExpressionPropertySection.java index 0d4227cbde..2b3a3bf33b 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalmessagestyle/TConditionalMessageStylePredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tconditionalmessagestyle/TConditionalMessageStylePredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a TConditionalMessageStyle * object. */ -public class TConditionalMessageStylePredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TConditionalMessageStylePredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TConditionalMessageStylePredicateExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TConditionalMessageStylePredicateExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTConditionalMessageStyle_PredicateExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TConditionalMessageStylePredicateExpressionPropertySection extends help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TConditionalMessageStylePredicateExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TConditionalMessageStylePredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingFinishingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingFinishingEndFinderExpressionPropertySection.java index 22fdf2029d..7cf2584a32 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingFinishingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingFinishingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the finishingEndFinderExpression property of a * TExecutionMapping object. */ -public class TExecutionMappingFinishingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TExecutionMappingFinishingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TExecutionMappingFinishingEndFinderExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "FinishingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TExecutionMappingFinishingEndFinderExpressionPropertySection extend } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTExecutionMapping_FinishingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TExecutionMappingFinishingEndFinderExpressionPropertySection extend help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TExecutionMappingFinishingEndFinderExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TExecutionMappingFinishingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingStartingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingStartingEndFinderExpressionPropertySection.java index e63b5c575c..6a8654ba4b 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingStartingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionmapping/TExecutionMappingStartingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the startingEndFinderExpression property of a TExecutionMapping * object. */ -public class TExecutionMappingStartingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TExecutionMappingStartingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TExecutionMappingStartingEndFinderExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "StartingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TExecutionMappingStartingEndFinderExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTExecutionMapping_StartingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TExecutionMappingStartingEndFinderExpressionPropertySection extends help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TExecutionMappingStartingEndFinderExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TExecutionMappingStartingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionstyle/TExecutionStyleBorderSizeComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionstyle/TExecutionStyleBorderSizeComputationExpressionPropertySection.java index 5553f335bb..a713ada2d0 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionstyle/TExecutionStyleBorderSizeComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/texecutionstyle/TExecutionStyleBorderSizeComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the borderSizeComputationExpression property of a * TExecutionStyle object. */ -public class TExecutionStyleBorderSizeComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TExecutionStyleBorderSizeComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TExecutionStyleBorderSizeComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "BorderSizeComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TExecutionStyleBorderSizeComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTExecutionStyle_BorderSizeComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TExecutionStyleBorderSizeComputationExpressionPropertySection exten help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TExecutionStyleBorderSizeComputationExpressionPropertySection exten } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TExecutionStyleBorderSizeComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinemapping/TLifelineMappingEolVisibleExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinemapping/TLifelineMappingEolVisibleExpressionPropertySection.java index 35709f9255..2a3a029e62 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinemapping/TLifelineMappingEolVisibleExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinemapping/TLifelineMappingEolVisibleExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the eolVisibleExpression property of a TLifelineMapping object. */ -public class TLifelineMappingEolVisibleExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TLifelineMappingEolVisibleExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class TLifelineMappingEolVisibleExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "EolVisibleExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class TLifelineMappingEolVisibleExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTLifelineMapping_EolVisibleExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TLifelineMappingEolVisibleExpressionPropertySection extends Abstrac help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TLifelineMappingEolVisibleExpressionPropertySection extends Abstrac } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TLifelineMappingEolVisibleExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinestyle/TLifelineStyleLifelineWidthComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinestyle/TLifelineStyleLifelineWidthComputationExpressionPropertySection.java index f53d737189..6ac2f94f4a 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinestyle/TLifelineStyleLifelineWidthComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tlifelinestyle/TLifelineStyleLifelineWidthComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the lifelineWidthComputationExpression property of a * TLifelineStyle object. */ -public class TLifelineStyleLifelineWidthComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TLifelineStyleLifelineWidthComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TLifelineStyleLifelineWidthComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LifelineWidthComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TLifelineStyleLifelineWidthComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTLifelineStyle_LifelineWidthComputationExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TLifelineStyleLifelineWidthComputationExpressionPropertySection ext help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TLifelineStyleLifelineWidthComputationExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TLifelineStyleLifelineWidthComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingReceivingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingReceivingEndFinderExpressionPropertySection.java index 583a10508b..0751b40531 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingReceivingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingReceivingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the receivingEndFinderExpression property of a TMessageMapping * object. */ -public class TMessageMappingReceivingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TMessageMappingReceivingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TMessageMappingReceivingEndFinderExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ReceivingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TMessageMappingReceivingEndFinderExpressionPropertySection extends } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTMessageMapping_ReceivingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TMessageMappingReceivingEndFinderExpressionPropertySection extends help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TMessageMappingReceivingEndFinderExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TMessageMappingReceivingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingSendingEndFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingSendingEndFinderExpressionPropertySection.java index f5c9889f11..1781d54662 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingSendingEndFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagemapping/TMessageMappingSendingEndFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the sendingEndFinderExpression property of a TMessageMapping * object. */ -public class TMessageMappingSendingEndFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TMessageMappingSendingEndFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TMessageMappingSendingEndFinderExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SendingEndFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TMessageMappingSendingEndFinderExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTMessageMapping_SendingEndFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TMessageMappingSendingEndFinderExpressionPropertySection extends Ab help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TMessageMappingSendingEndFinderExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TMessageMappingSendingEndFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagestyle/TMessageStyleLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagestyle/TMessageStyleLabelExpressionPropertySection.java index 38927f1b89..a29da92cd8 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagestyle/TMessageStyleLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tmessagestyle/TMessageStyleLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the labelExpression property of a TMessageStyle object. */ -public class TMessageStyleLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TMessageStyleLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class TMessageStyleLabelExpressionPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class TMessageStyleLabelExpressionPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTMessageStyle_LabelExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class TMessageStyleLabelExpressionPropertySection extends AbstractTextPro help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class TMessageStyleLabelExpressionPropertySection extends AbstractTextPro } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TMessageStyleLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/treturnmessagemapping/TReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/treturnmessagemapping/TReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java index 682947de54..2a7125b836 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/treturnmessagemapping/TReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/treturnmessagemapping/TReturnMessageMappingInvocationMessageFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the invocationMessageFinderExpression property of a * TReturnMessageMapping object. */ -public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySecti } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "InvocationMessageFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySecti } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTReturnMessageMapping_InvocationMessageFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySecti help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,16 @@ public class TReturnMessageMappingInvocationMessageFinderExpressionPropertySecti } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TReturnMessageMappingInvocationMessageFinderExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsequencediagram/TSequenceDiagramEndsOrderingPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsequencediagram/TSequenceDiagramEndsOrderingPropertySection.java index cacfb2d161..8276e359e4 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsequencediagram/TSequenceDiagramEndsOrderingPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsequencediagram/TSequenceDiagramEndsOrderingPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the endsOrdering property of a TSequenceDiagram object. */ -public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "EndsOrdering"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTSequenceDiagram_EndsOrdering(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextPro help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TSequenceDiagramEndsOrderingPropertySection extends AbstractTextPro } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TSequenceDiagramEndsOrderingPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingSourceFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingSourceFinderExpressionPropertySection.java index ea00d30bc6..7bdb8d1147 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingSourceFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingSourceFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the sourceFinderExpression property of a * TSourceTargetMessageMapping object. */ -public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SourceFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTSourceTargetMessageMapping_SourceFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection ex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TSourceTargetMessageMappingSourceFinderExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TSourceTargetMessageMappingSourceFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingTargetFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingTargetFinderExpressionPropertySection.java index 71c682b4a9..f8872946fa 100644 --- a/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingTargetFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.sequence/src-gen/org/eclipse/sirius/diagram/sequence/editor/properties/sections/template/tsourcetargetmessagemapping/TSourceTargetMessageMappingTargetFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.diagram.sequence.editor.properties.sections.template. // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.diagram.sequence.template.TemplatePackage; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the targetFinderExpression property of a * TSourceTargetMessageMapping object. */ -public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TargetFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection ex } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return TemplatePackage.eINSTANCE.getTSourceTargetMessageMapping_TargetFinderExpression(); } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.diagram.sequence.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection ex help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class TSourceTargetMessageMappingTargetFinderExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TSourceTargetMessageMappingTargetFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/backgroundconditionalstyle/BackgroundConditionalStylePredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/backgroundconditionalstyle/BackgroundConditionalStylePredicateExpressionPropertySection.java index f4448c8580..78b8469656 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/backgroundconditionalstyle/BackgroundConditionalStylePredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/backgroundconditionalstyle/BackgroundConditionalStylePredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.backgrou // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a * BackgroundConditionalStyle object. */ -public class BackgroundConditionalStylePredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class BackgroundConditionalStylePredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class BackgroundConditionalStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class BackgroundConditionalStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getBackgroundConditionalStyle_PredicateExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class BackgroundConditionalStylePredicateExpressionPropertySection extend help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class BackgroundConditionalStylePredicateExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), BackgroundConditionalStylePredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/cellupdater/CellUpdaterCanEditPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/cellupdater/CellUpdaterCanEditPropertySection.java index 030084ee53..3166695383 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/cellupdater/CellUpdaterCanEditPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/cellupdater/CellUpdaterCanEditPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.cellupda // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the canEdit property of a CellUpdater object. */ -public class CellUpdaterCanEditPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class CellUpdaterCanEditPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class CellUpdaterCanEditPropertySection extends AbstractTextPropertySecti } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "CanEdit"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class CellUpdaterCanEditPropertySection extends AbstractTextPropertySecti } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getCellUpdater_CanEdit(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class CellUpdaterCanEditPropertySection extends AbstractTextPropertySecti help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class CellUpdaterCanEditPropertySection extends AbstractTextPropertySecti } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), CellUpdaterCanEditPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/columnmapping/ColumnMappingHeaderLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/columnmapping/ColumnMappingHeaderLabelExpressionPropertySection.java index 203de4efe0..f2bef59a4c 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/columnmapping/ColumnMappingHeaderLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/columnmapping/ColumnMappingHeaderLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.columnma // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the headerLabelExpression property of a ColumnMapping object. */ -public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "HeaderLabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getColumnMapping_HeaderLabelExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractT help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class ColumnMappingHeaderLabelExpressionPropertySection extends AbstractT } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ColumnMappingHeaderLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/elementcolumnmapping/ElementColumnMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/elementcolumnmapping/ElementColumnMappingSemanticCandidatesExpressionPropertySection.java index 304384e7bc..74c756e8de 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/elementcolumnmapping/ElementColumnMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/elementcolumnmapping/ElementColumnMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.elementc // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a * ElementColumnMapping object. */ -public class ElementColumnMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ElementColumnMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class ElementColumnMappingSemanticCandidatesExpressionPropertySection ext } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class ElementColumnMappingSemanticCandidatesExpressionPropertySection ext } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getElementColumnMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ElementColumnMappingSemanticCandidatesExpressionPropertySection ext help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ElementColumnMappingSemanticCandidatesExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ElementColumnMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingFeatureParentExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingFeatureParentExpressionPropertySection.java index 61b9b1873f..7d4ad52050 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingFeatureParentExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingFeatureParentExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.featurec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the featureParentExpression property of a FeatureColumnMapping * object. */ -public class FeatureColumnMappingFeatureParentExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class FeatureColumnMappingFeatureParentExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class FeatureColumnMappingFeatureParentExpressionPropertySection extends } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "FeatureParentExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class FeatureColumnMappingFeatureParentExpressionPropertySection extends } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getFeatureColumnMapping_FeatureParentExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class FeatureColumnMappingFeatureParentExpressionPropertySection extends help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class FeatureColumnMappingFeatureParentExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), FeatureColumnMappingFeatureParentExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingLabelExpressionPropertySection.java index 27cac9a318..2ca959723e 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/featurecolumnmapping/FeatureColumnMappingLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.featurec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the labelExpression property of a FeatureColumnMapping object. */ -public class FeatureColumnMappingLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class FeatureColumnMappingLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class FeatureColumnMappingLabelExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class FeatureColumnMappingLabelExpressionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getFeatureColumnMapping_LabelExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class FeatureColumnMappingLabelExpressionPropertySection extends Abstract help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class FeatureColumnMappingLabelExpressionPropertySection extends Abstract } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), FeatureColumnMappingLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/foregroundconditionalstyle/ForegroundConditionalStylePredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/foregroundconditionalstyle/ForegroundConditionalStylePredicateExpressionPropertySection.java index c0cde1d0ce..38d3ed8e6f 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/foregroundconditionalstyle/ForegroundConditionalStylePredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/foregroundconditionalstyle/ForegroundConditionalStylePredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.foregrou // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a * ForegroundConditionalStyle object. */ -public class ForegroundConditionalStylePredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ForegroundConditionalStylePredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class ForegroundConditionalStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class ForegroundConditionalStylePredicateExpressionPropertySection extend } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getForegroundConditionalStyle_PredicateExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class ForegroundConditionalStylePredicateExpressionPropertySection extend help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class ForegroundConditionalStylePredicateExpressionPropertySection extend } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ForegroundConditionalStylePredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingColumnFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingColumnFinderExpressionPropertySection.java index 65ec488542..3ce72bad62 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingColumnFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingColumnFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.intersec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the columnFinderExpression property of a IntersectionMapping * object. */ -public class IntersectionMappingColumnFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IntersectionMappingColumnFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class IntersectionMappingColumnFinderExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ColumnFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class IntersectionMappingColumnFinderExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getIntersectionMapping_ColumnFinderExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class IntersectionMappingColumnFinderExpressionPropertySection extends Ab help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class IntersectionMappingColumnFinderExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IntersectionMappingColumnFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLabelExpressionPropertySection.java index 7fde190af2..363783dbae 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.intersec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the labelExpression property of a IntersectionMapping object. */ -public class IntersectionMappingLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IntersectionMappingLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class IntersectionMappingLabelExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class IntersectionMappingLabelExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getIntersectionMapping_LabelExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class IntersectionMappingLabelExpressionPropertySection extends AbstractT help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class IntersectionMappingLabelExpressionPropertySection extends AbstractT } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IntersectionMappingLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLineFinderExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLineFinderExpressionPropertySection.java index 1575b4c3d8..9be6b76efe 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLineFinderExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingLineFinderExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.intersec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the lineFinderExpression property of a IntersectionMapping * object. */ -public class IntersectionMappingLineFinderExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IntersectionMappingLineFinderExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class IntersectionMappingLineFinderExpressionPropertySection extends Abst } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LineFinderExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class IntersectionMappingLineFinderExpressionPropertySection extends Abst } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getIntersectionMapping_LineFinderExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class IntersectionMappingLineFinderExpressionPropertySection extends Abst help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class IntersectionMappingLineFinderExpressionPropertySection extends Abst } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IntersectionMappingLineFinderExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingPreconditionExpressionPropertySection.java index c0922eff49..4e7a440393 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.intersec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a IntersectionMapping * object. */ -public class IntersectionMappingPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IntersectionMappingPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class IntersectionMappingPreconditionExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class IntersectionMappingPreconditionExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getIntersectionMapping_PreconditionExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class IntersectionMappingPreconditionExpressionPropertySection extends Ab help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class IntersectionMappingPreconditionExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IntersectionMappingPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingSemanticCandidatesExpressionPropertySection.java index a68759813f..b57834487d 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/intersectionmapping/IntersectionMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.intersec // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a * IntersectionMapping object. */ -public class IntersectionMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IntersectionMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class IntersectionMappingSemanticCandidatesExpressionPropertySection exte } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class IntersectionMappingSemanticCandidatesExpressionPropertySection exte } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getIntersectionMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class IntersectionMappingSemanticCandidatesExpressionPropertySection exte help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class IntersectionMappingSemanticCandidatesExpressionPropertySection exte } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IntersectionMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingHeaderLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingHeaderLabelExpressionPropertySection.java index 616a339422..aa63ed9aaa 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingHeaderLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingHeaderLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.linemapp // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the headerLabelExpression property of a LineMapping object. */ -public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "HeaderLabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getLineMapping_HeaderLabelExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class LineMappingHeaderLabelExpressionPropertySection extends AbstractTex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), LineMappingHeaderLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingSemanticCandidatesExpressionPropertySection.java index 425d54b7d6..a79de2a18d 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/linemapping/LineMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.linemapp // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a LineMapping * object. */ -public class LineMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class LineMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class LineMappingSemanticCandidatesExpressionPropertySection extends Abst } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class LineMappingSemanticCandidatesExpressionPropertySection extends Abst } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getLineMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class LineMappingSemanticCandidatesExpressionPropertySection extends Abst help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class LineMappingSemanticCandidatesExpressionPropertySection extends Abst } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), LineMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tabledescription/TableDescriptionPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tabledescription/TableDescriptionPreconditionExpressionPropertySection.java index 81d7dcf3b9..593752f342 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tabledescription/TableDescriptionPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tabledescription/TableDescriptionPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.tabledes // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a TableDescription * object. */ -public class TableDescriptionPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TableDescriptionPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TableDescriptionPreconditionExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TableDescriptionPreconditionExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTableDescription_PreconditionExpression(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TableDescriptionPreconditionExpressionPropertySection extends Abstr help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TableDescriptionPreconditionExpressionPropertySection extends Abstr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TableDescriptionPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tablemapping/TableMappingSemanticElementsPropertySection.java b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tablemapping/TableMappingSemanticElementsPropertySection.java index b25c800e3f..d5778ab3ad 100644 --- a/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tablemapping/TableMappingSemanticElementsPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.table/src-gen/org/eclipse/sirius/table/editor/properties/sections/description/tablemapping/TableMappingSemanticElementsPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.table.editor.properties.sections.description.tablemap // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the semanticElements property of a TableMapping object. */ -public class TableMappingSemanticElementsPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TableMappingSemanticElementsPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class TableMappingSemanticElementsPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticElements"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class TableMappingSemanticElementsPropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTableMapping_SemanticElements(); } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.table.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class TableMappingSemanticElementsPropertySection extends AbstractTextPro help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class TableMappingSemanticElementsPropertySection extends AbstractTextPro } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TableMappingSemanticElementsPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treedescription/TreeDescriptionPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treedescription/TreeDescriptionPreconditionExpressionPropertySection.java index 693c0eb5b3..f10928c670 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treedescription/TreeDescriptionPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treedescription/TreeDescriptionPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.tree.editor.properties.sections.description.treedescr // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.tree.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a TreeDescription * object. */ -public class TreeDescriptionPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TreeDescriptionPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TreeDescriptionPreconditionExpressionPropertySection extends Abstra } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TreeDescriptionPreconditionExpressionPropertySection extends Abstra } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTreeDescription_PreconditionExpression(); } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TreeDescriptionPreconditionExpressionPropertySection extends Abstra help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TreeDescriptionPreconditionExpressionPropertySection extends Abstra } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TreeDescriptionPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingPreconditionExpressionPropertySection.java index 279a2ca8cc..c2f9f9ce97 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.tree.editor.properties.sections.description.treeitemm // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.tree.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a TreeItemMapping * object. */ -public class TreeItemMappingPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TreeItemMappingPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TreeItemMappingPreconditionExpressionPropertySection extends Abstra } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TreeItemMappingPreconditionExpressionPropertySection extends Abstra } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTreeItemMapping_PreconditionExpression(); } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TreeItemMappingPreconditionExpressionPropertySection extends Abstra help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TreeItemMappingPreconditionExpressionPropertySection extends Abstra } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TreeItemMappingPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingSemanticCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingSemanticCandidatesExpressionPropertySection.java index 49a5a39e1a..7ce8219884 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingSemanticCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treeitemmapping/TreeItemMappingSemanticCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.tree.editor.properties.sections.description.treeitemm // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.tree.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the semanticCandidatesExpression property of a TreeItemMapping * object. */ -public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTreeItemMapping_SemanticCandidatesExpression(); } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TreeItemMappingSemanticCandidatesExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TreeItemMappingSemanticCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treemapping/TreeMappingSemanticElementsPropertySection.java b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treemapping/TreeMappingSemanticElementsPropertySection.java index 1af41dc0bc..b81e263077 100644 --- a/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treemapping/TreeMappingSemanticElementsPropertySection.java +++ b/plugins/org.eclipse.sirius.editor.tree/src-gen/org/eclipse/sirius/tree/editor/properties/sections/description/treemapping/TreeMappingSemanticElementsPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.tree.editor.properties.sections.description.treemappi // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.tree.description.DescriptionPackage; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the semanticElements property of a TreeMapping object. */ -public class TreeMappingSemanticElementsPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TreeMappingSemanticElementsPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class TreeMappingSemanticElementsPropertySection extends AbstractTextProp } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "SemanticElements"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class TreeMappingSemanticElementsPropertySection extends AbstractTextProp } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getTreeMapping_SemanticElements(); } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.tree.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class TreeMappingSemanticElementsPropertySection extends AbstractTextProp help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class TreeMappingSemanticElementsPropertySection extends AbstractTextProp } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TreeMappingSemanticElementsPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/common/AbstractTextWithButtonPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/common/AbstractTextWithButtonPropertySection.java new file mode 100644 index 0000000000..eb7bbf26a0 --- /dev/null +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/common/AbstractTextWithButtonPropertySection.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2007, 2013 THALES GLOBAL SERVICES. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.editor.properties.sections.common; + +import java.util.Iterator; +import java.util.Map.Entry; + +import org.eclipse.emf.common.command.CompoundCommand; +import org.eclipse.emf.ecore.EAnnotation; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.command.SetCommand; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.sirius.common.tools.api.util.StringUtil; +import org.eclipse.sirius.editor.properties.ViewpointPropertySheetPage; +import org.eclipse.sirius.editor.utils.TextWithContentAssistChangeHelper; +import org.eclipse.sirius.ext.swt.TextChangeListener; +import org.eclipse.sirius.viewpoint.description.DescriptionPackage; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; + +/** + * An abstract implementation of a section displaying a text field. + */ +public abstract class AbstractTextWithButtonPropertySection extends AbstractViewpointPropertySection implements ModelViewBinding { + + private final String RETURN_TYPE = "http://www.eclipse.org/sirius/interpreted/expression/returnType"; + + private final String VARIABLES = "http://www.eclipse.org/sirius/interpreted/expression/variables"; + + /** Text control of the section. */ + protected Text text; + + /** The button control for the section. */ + protected Button button; + + /** Label control of the section. */ + protected CLabel nameLabel; + + /** Main composite */ + protected Composite composite; + + /** The main listener */ + protected TextChangeListener listener; + + private boolean handleModifications; + + /** + * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, + * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) + */ + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + if (tabbedPropertySheetPage instanceof ViewpointPropertySheetPage) + super.createControls(parent, (ViewpointPropertySheetPage) tabbedPropertySheetPage); + else + super.createControls(parent, tabbedPropertySheetPage); + + composite = getWidgetFactory().createFlatFormComposite(parent); + FormData data; + + text = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$ + data = new FormData(); + data.left = new FormAttachment(0, LABEL_WIDTH); + data.right = new FormAttachment(95, 0); + data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE); + text.setLayoutData(data); + + button = getWidgetFactory().createButton(composite, "...", SWT.PUSH); + data = new FormData(); + data.left = new FormAttachment(95, 0); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(text, 0, SWT.CENTER); + button.setLayoutData(data); + + nameLabel = getWidgetFactory().createCLabel(composite, getLabelText()); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(text, -ITabbedPropertyConstants.HSPACE - 20); + data.top = new FormAttachment(text, 0, SWT.CENTER); + nameLabel.setLayoutData(data); + + button.addSelectionListener(createButtonListener()); + + listener = new TextWithContentAssistChangeHelper() { + public void textChanged(Text control) { + handleTextModified(); + } + }; + listener.startListeningTo(text); + listener.startListeningForEnter(text); + enableModelUpdating(); + } + + /** + * Method creating the listener for the button. + * + * @return The listener. + */ + protected abstract SelectionListener createButtonListener(); + + /** + * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#aboutToBeShown() + */ + @Override + public void aboutToBeShown() { + super.aboutToBeShown(); + PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "org.eclipse.sirius." + eObject.eClass().getName()); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.sirius.editor.properties.sections.common.AbstractViewpointPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, + * org.eclipse.jface.viewers.ISelection) + */ + @Override + public void setInput(IWorkbenchPart part, ISelection selection) { + super.setInput(part, selection); + nameLabel.setText(getLabelText()); + } + + public TextChangeListener getListener() { + return this.listener; + } + + /** + * Handle the text modified event. + */ + protected void handleTextModified() { + if (isActive()) { + String newText = text.getText(); + boolean equals = isEqual(newText); + + if (!equals) { + EditingDomain editingDomain = ((IEditingDomainProvider) getPart()).getEditingDomain(); + Object value = getFeatureValue(newText); + if (value instanceof String && StringUtil.isEmpty((String) value)) { + if (getFeature() != null && !StringUtil.isEmpty(getFeature().getDefaultValueLiteral())) + value = ""; + else + value = null; + } + if (eObjectList.size() == 1) { + // apply the property change to single selected object + editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, eObject, getFeature(), value)); + } else { + CompoundCommand compoundCommand = new CompoundCommand(); + /* apply the property change to all selected elements */ + for (Iterator<EObject> i = eObjectList.iterator(); i.hasNext();) { + EObject nextObject = i.next(); + compoundCommand.append(SetCommand.create(editingDomain, nextObject, getFeature(), value)); + } + editingDomain.getCommandStack().execute(compoundCommand); + } + } + } + } + + /** + * {@inheritDoc} + */ + public void disableModelUpdating() { + handleModifications = false; + } + + /** + * {@inheritDoc} + */ + public void enableModelUpdating() { + handleModifications = true; + } + + /** + * {@inheritDoc} + */ + protected boolean isActive() { + return handleModifications; + } + + /** + * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh() + */ + public void refresh() { + final String value = getFeatureAsText(); + if (!StringUtil.equals(value, text.getText())) { + text.setText(value); + } + + final String tooltip = getToolTipText(); + if (tooltip != null) { + text.setToolTipText(getToolTipText()); + } + } + + /** + * Determine if the provided string value is an equal representation of the + * current setting of the text property. + * + * @param newText + * the new string value. + * @return <code>True</code> if the new string value is equal to the current + * property setting, <code>False</code> otherwise. + */ + protected abstract boolean isEqual(String newText); + + /** + * Get the feature for the text field of this section. + * + * @return The feature for the text. + */ + public abstract EAttribute getFeature(); + + /** + * Get the base description. + * + * @return The description for the feature. + */ + protected abstract String getPropertyDescription(); + + protected String getToolTipText() { + EAttribute exp = getFeature(); + if (!DescriptionPackage.eINSTANCE.getInterpretedExpression().equals(exp.getEAttributeType())) { + return getPropertyDescription(); + } + + StringBuilder sb = new StringBuilder(); + sb.append(getPropertyDescription()); + addNewLine(sb); + + appendReturnTypeDetails(exp, sb); + + appendVariablesDetails(exp, sb); + + return sb.toString(); + } + + protected void appendReturnTypeDetails(EAttribute exp, StringBuilder sb) { + EAnnotation returnTypes = exp.getEAnnotation(RETURN_TYPE); + if (returnTypes != null && !returnTypes.getDetails().isEmpty()) { + addNewLine(sb); + sb.append("Expected return type: "); + sb.append(returnTypes.getDetails().iterator().next().getValue()); + sb.append("\n"); + } + } + + protected void appendVariablesDetails(EAttribute exp, StringBuilder sb) { + final EAnnotation variables = exp.getEAnnotation(VARIABLES); + if (variables != null && !variables.getDetails().isEmpty()) { + addNewLine(sb); + sb.append("Available variables:"); + for (final Entry<String, String> variable : variables.getDetails().entrySet()) { + sb.append("\n . "); + sb.append(variable.getKey()); + sb.append(": "); + sb.append(variable.getValue()); + } + } + } + + private void addNewLine(StringBuilder sb) { + if (!StringUtil.isEmpty(sb.toString())) { + sb.append("\n"); + } + } + + protected String getDefaultFeatureAsText() { + String value = new String(); + if (eObject.eGet(getFeature()) != null) { + value = eObject.eGet(getFeature()).toString(); + } + return value; + } + + /** + * Get the value of the feature as text for the text field of the section. + * + * @return The value of the feature as text. + */ + protected String getFeatureAsText() { + final EStructuralFeature eFeature = getFeature(); + final IItemPropertyDescriptor propertyDescriptor = getPropertyDescriptor(eFeature); + if (propertyDescriptor != null) + return propertyDescriptor.getLabelProvider(eObject).getText(eObject.eGet(eFeature)); + return getDefaultFeatureAsText(); + } + + /** + * Get the new value of the feature for the text field of the section. + * + * @param newText + * The new value of the feature as a string. + * @return The new value of the feature. + */ + protected abstract Object getFeatureValue(String newText); + + protected abstract String getDefaultLabelText(); + + /** + * Get the label for the text field of the section. + * + * @return The label for the text field. + */ + protected String getLabelText() { + if (eObject != null) { + final EStructuralFeature eFeature = getFeature(); + final IItemPropertyDescriptor propertyDescriptor = getPropertyDescriptor(eFeature); + if (propertyDescriptor != null) + return propertyDescriptor.getDisplayName(eObject); + } + return getDefaultLabelText(); + } + + /** + * {@inheritDoc} + */ + protected void makeReadonly() { + text.setEnabled(false); + } + + /** + * {@inheritDoc} + */ + protected void makeWrittable() { + text.setEnabled(true); + } +} diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/colorstep/ColorStepAssociatedValuePropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/colorstep/ColorStepAssociatedValuePropertySection.java index 4e858e71de..8d75f381e4 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/colorstep/ColorStepAssociatedValuePropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/colorstep/ColorStepAssociatedValuePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.colorstep; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the associatedValue property of a ColorStep object. */ -public class ColorStepAssociatedValuePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ColorStepAssociatedValuePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ColorStepAssociatedValuePropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "AssociatedValue"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ColorStepAssociatedValuePropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getColorStep_AssociatedValue(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ColorStepAssociatedValuePropertySection extends AbstractTextPropert help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ColorStepAssociatedValuePropertySection extends AbstractTextPropert } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ColorStepAssociatedValuePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorBluePropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorBluePropertySection.java index 9d87fc58de..2e8732cdc5 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorBluePropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorBluePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.computedcolor; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the blue property of a ComputedColor object. */ -public class ComputedColorBluePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ComputedColorBluePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ComputedColorBluePropertySection extends AbstractTextPropertySectio } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Blue"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ComputedColorBluePropertySection extends AbstractTextPropertySectio } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getComputedColor_Blue(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ComputedColorBluePropertySection extends AbstractTextPropertySectio help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ComputedColorBluePropertySection extends AbstractTextPropertySectio } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ComputedColorBluePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorGreenPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorGreenPropertySection.java index 902d06849a..8e16846fb8 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorGreenPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorGreenPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.computedcolor; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the green property of a ComputedColor object. */ -public class ComputedColorGreenPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ComputedColorGreenPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ComputedColorGreenPropertySection extends AbstractTextPropertySecti } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Green"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ComputedColorGreenPropertySection extends AbstractTextPropertySecti } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getComputedColor_Green(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ComputedColorGreenPropertySection extends AbstractTextPropertySecti help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ComputedColorGreenPropertySection extends AbstractTextPropertySecti } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ComputedColorGreenPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorRedPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorRedPropertySection.java index 678337ba44..06064933fc 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorRedPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/computedcolor/ComputedColorRedPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.computedcolor; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the red property of a ComputedColor object. */ -public class ComputedColorRedPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ComputedColorRedPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ComputedColorRedPropertySection extends AbstractTextPropertySection } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Red"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ComputedColorRedPropertySection extends AbstractTextPropertySection } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getComputedColor_Red(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ComputedColorRedPropertySection extends AbstractTextPropertySection help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ComputedColorRedPropertySection extends AbstractTextPropertySection } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ComputedColorRedPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/conditionalstyledescription/ConditionalStyleDescriptionPredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/conditionalstyledescription/ConditionalStyleDescriptionPredicateExpressionPropertySection.java index 6fcc132862..388b54977b 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/conditionalstyledescription/ConditionalStyleDescriptionPredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/conditionalstyledescription/ConditionalStyleDescriptionPredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.conditionalsty // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a * ConditionalStyleDescription object. */ -public class ConditionalStyleDescriptionPredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ConditionalStyleDescriptionPredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class ConditionalStyleDescriptionPredicateExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class ConditionalStyleDescriptionPredicateExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getConditionalStyleDescription_PredicateExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class ConditionalStyleDescriptionPredicateExpressionPropertySection exten help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class ConditionalStyleDescriptionPredicateExpressionPropertySection exten } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ConditionalStyleDescriptionPredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/decorationdescription/DecorationDescriptionPreconditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/decorationdescription/DecorationDescriptionPreconditionExpressionPropertySection.java index 4fce4e3456..f7c58d2485 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/decorationdescription/DecorationDescriptionPreconditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/decorationdescription/DecorationDescriptionPreconditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.decorationdesc // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preconditionExpression property of a DecorationDescription * object. */ -public class DecorationDescriptionPreconditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class DecorationDescriptionPreconditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class DecorationDescriptionPreconditionExpressionPropertySection extends } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreconditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class DecorationDescriptionPreconditionExpressionPropertySection extends } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getDecorationDescription_PreconditionExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class DecorationDescriptionPreconditionExpressionPropertySection extends help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class DecorationDescriptionPreconditionExpressionPropertySection extends } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), DecorationDescriptionPreconditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/eattributecustomization/EAttributeCustomizationValuePropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/eattributecustomization/EAttributeCustomizationValuePropertySection.java index cfc7b653b4..dad95a0f91 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/eattributecustomization/EAttributeCustomizationValuePropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/eattributecustomization/EAttributeCustomizationValuePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.eattributecust // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the value property of a EAttributeCustomization object. */ -public class EAttributeCustomizationValuePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class EAttributeCustomizationValuePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class EAttributeCustomizationValuePropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Value"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class EAttributeCustomizationValuePropertySection extends AbstractTextPro } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getEAttributeCustomization_Value(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class EAttributeCustomizationValuePropertySection extends AbstractTextPro help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class EAttributeCustomizationValuePropertySection extends AbstractTextPro } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), EAttributeCustomizationValuePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorColorValueComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorColorValueComputationExpressionPropertySection.java index 04df7fab4f..9f73a5fdeb 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorColorValueComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorColorValueComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.interpolatedco // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the colorValueComputationExpression property of a * InterpolatedColor object. */ -public class InterpolatedColorColorValueComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class InterpolatedColorColorValueComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class InterpolatedColorColorValueComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ColorValueComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class InterpolatedColorColorValueComputationExpressionPropertySection ext } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getInterpolatedColor_ColorValueComputationExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class InterpolatedColorColorValueComputationExpressionPropertySection ext help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class InterpolatedColorColorValueComputationExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), InterpolatedColorColorValueComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMaxValueComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMaxValueComputationExpressionPropertySection.java index 2316a6d344..a6a20893ce 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMaxValueComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMaxValueComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.interpolatedco // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the maxValueComputationExpression property of a * InterpolatedColor object. */ -public class InterpolatedColorMaxValueComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class InterpolatedColorMaxValueComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class InterpolatedColorMaxValueComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "MaxValueComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class InterpolatedColorMaxValueComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getInterpolatedColor_MaxValueComputationExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class InterpolatedColorMaxValueComputationExpressionPropertySection exten help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class InterpolatedColorMaxValueComputationExpressionPropertySection exten } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), InterpolatedColorMaxValueComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMinValueComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMinValueComputationExpressionPropertySection.java index e4e436f3fc..e2d5b1ff32 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMinValueComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/interpolatedcolor/InterpolatedColorMinValueComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.interpolatedco // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the minValueComputationExpression property of a * InterpolatedColor object. */ -public class InterpolatedColorMinValueComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class InterpolatedColorMinValueComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class InterpolatedColorMinValueComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "MinValueComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class InterpolatedColorMinValueComputationExpressionPropertySection exten } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getInterpolatedColor_MinValueComputationExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class InterpolatedColorMinValueComputationExpressionPropertySection exten help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class InterpolatedColorMinValueComputationExpressionPropertySection exten } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), InterpolatedColorMinValueComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/representationdescription/RepresentationDescriptionTitleExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/representationdescription/RepresentationDescriptionTitleExpressionPropertySection.java index 502c7a580a..000f077526 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/representationdescription/RepresentationDescriptionTitleExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/representationdescription/RepresentationDescriptionTitleExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.representation // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the titleExpression property of a RepresentationDescription * object. */ -public class RepresentationDescriptionTitleExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RepresentationDescriptionTitleExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class RepresentationDescriptionTitleExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TitleExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class RepresentationDescriptionTitleExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getRepresentationDescription_TitleExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RepresentationDescriptionTitleExpressionPropertySection extends Abs help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class RepresentationDescriptionTitleExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RepresentationDescriptionTitleExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionCandidatesExpressionPropertySection.java index 43aea902ff..41d3e1fd95 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.selectiondescr // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the candidatesExpression property of a SelectionDescription * object. */ -public class SelectionDescriptionCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SelectionDescriptionCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SelectionDescriptionCandidatesExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "CandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SelectionDescriptionCandidatesExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getSelectionDescription_CandidatesExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class SelectionDescriptionCandidatesExpressionPropertySection extends Abs help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,15 @@ public class SelectionDescriptionCandidatesExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectionDescriptionCandidatesExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionChildrenExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionChildrenExpressionPropertySection.java index e956f5ffe9..f2f08fcdd9 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionChildrenExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionChildrenExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.selectiondescr // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the childrenExpression property of a SelectionDescription * object. */ -public class SelectionDescriptionChildrenExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SelectionDescriptionChildrenExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class SelectionDescriptionChildrenExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ChildrenExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class SelectionDescriptionChildrenExpressionPropertySection extends Abstr } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getSelectionDescription_ChildrenExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class SelectionDescriptionChildrenExpressionPropertySection extends Abstr help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class SelectionDescriptionChildrenExpressionPropertySection extends Abstr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectionDescriptionChildrenExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionRootExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionRootExpressionPropertySection.java index eef2225180..66ea02efc3 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionRootExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/selectiondescription/SelectionDescriptionRootExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.selectiondescr // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the rootExpression property of a SelectionDescription object. */ -public class SelectionDescriptionRootExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SelectionDescriptionRootExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class SelectionDescriptionRootExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "RootExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class SelectionDescriptionRootExpressionPropertySection extends AbstractT } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getSelectionDescription_RootExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class SelectionDescriptionRootExpressionPropertySection extends AbstractT help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class SelectionDescriptionRootExpressionPropertySection extends AbstractT } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectionDescriptionRootExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/vsmelementcustomization/VSMElementCustomizationPredicateExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/vsmelementcustomization/VSMElementCustomizationPredicateExpressionPropertySection.java index 0fe851c659..4c1e777ea4 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/vsmelementcustomization/VSMElementCustomizationPredicateExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/description/vsmelementcustomization/VSMElementCustomizationPredicateExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.description.vsmelementcust // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the predicateExpression property of a VSMElementCustomization * object. */ -public class VSMElementCustomizationPredicateExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class VSMElementCustomizationPredicateExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class VSMElementCustomizationPredicateExpressionPropertySection extends A } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PredicateExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class VSMElementCustomizationPredicateExpressionPropertySection extends A } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return DescriptionPackage.eINSTANCE.getVSMElementCustomization_PredicateExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class VSMElementCustomizationPredicateExpressionPropertySection extends A help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class VSMElementCustomizationPredicateExpressionPropertySection extends A } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), VSMElementCustomizationPredicateExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/basiclabelstyledescription/BasicLabelStyleDescriptionLabelExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/basiclabelstyledescription/BasicLabelStyleDescriptionLabelExpressionPropertySection.java index 91e3903265..7edeafe5f1 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/basiclabelstyledescription/BasicLabelStyleDescriptionLabelExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/basiclabelstyledescription/BasicLabelStyleDescriptionLabelExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.style.basiclabelstyledescr // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.style.StylePackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the labelExpression property of a BasicLabelStyleDescription * object. */ -public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "LabelExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends Ab } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getBasicLabelStyleDescription_LabelExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends Ab help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class BasicLabelStyleDescriptionLabelExpressionPropertySection extends Ab } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), BasicLabelStyleDescriptionLabelExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/tooltipstyledescription/TooltipStyleDescriptionTooltipExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/tooltipstyledescription/TooltipStyleDescriptionTooltipExpressionPropertySection.java index 95f134f8d0..967158b5d6 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/tooltipstyledescription/TooltipStyleDescriptionTooltipExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/style/tooltipstyledescription/TooltipStyleDescriptionTooltipExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.style.tooltipstyledescript // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.style.StylePackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the tooltipExpression property of a TooltipStyleDescription * object. */ -public class TooltipStyleDescriptionTooltipExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class TooltipStyleDescriptionTooltipExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class TooltipStyleDescriptionTooltipExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TooltipExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class TooltipStyleDescriptionTooltipExpressionPropertySection extends Abs } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return StylePackage.eINSTANCE.getTooltipStyleDescription_TooltipExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class TooltipStyleDescriptionTooltipExpressionPropertySection extends Abs help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class TooltipStyleDescriptionTooltipExpressionPropertySection extends Abs } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), TooltipStyleDescriptionTooltipExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/abstracttooldescription/AbstractToolDescriptionPreconditionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/abstracttooldescription/AbstractToolDescriptionPreconditionPropertySection.java index b1139555b5..8060768c65 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/abstracttooldescription/AbstractToolDescriptionPreconditionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/abstracttooldescription/AbstractToolDescriptionPreconditionPropertySection.java @@ -11,32 +11,23 @@ package org.eclipse.sirius.editor.properties.sections.tool.abstracttooldescripti // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; import org.eclipse.sirius.common.tools.api.interpreter.IInterpreterSiriusVariables; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; import org.eclipse.sirius.viewpoint.description.tool.PasteDescription; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -44,7 +35,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the precondition property of a AbstractToolDescription object. */ -public class AbstractToolDescriptionPreconditionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class AbstractToolDescriptionPreconditionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -62,14 +53,14 @@ public class AbstractToolDescriptionPreconditionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Precondition"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -81,21 +72,21 @@ public class AbstractToolDescriptionPreconditionPropertySection extends Abstract } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getAbstractToolDescription_Precondition(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -121,30 +112,7 @@ public class AbstractToolDescriptionPreconditionPropertySection extends Abstract help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -152,13 +120,15 @@ public class AbstractToolDescriptionPreconditionPropertySection extends Abstract } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), AbstractToolDescriptionPreconditionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/acceleovariable/AcceleoVariableComputationExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/acceleovariable/AcceleoVariableComputationExpressionPropertySection.java index 7ba4c13884..84d16aabce 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/acceleovariable/AcceleoVariableComputationExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/acceleovariable/AcceleoVariableComputationExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.acceleovariable; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the computationExpression property of a AcceleoVariable object. */ -public class AcceleoVariableComputationExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class AcceleoVariableComputationExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class AcceleoVariableComputationExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ComputationExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class AcceleoVariableComputationExpressionPropertySection extends Abstrac } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getAcceleoVariable_ComputationExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class AcceleoVariableComputationExpressionPropertySection extends Abstrac help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class AcceleoVariableComputationExpressionPropertySection extends Abstrac } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), AcceleoVariableComputationExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/case_/CaseConditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/case_/CaseConditionExpressionPropertySection.java index b78a5df8a3..a7b40b89d6 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/case_/CaseConditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/case_/CaseConditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.case_; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the conditionExpression property of a Case object. */ -public class CaseConditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class CaseConditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class CaseConditionExpressionPropertySection extends AbstractTextProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ConditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class CaseConditionExpressionPropertySection extends AbstractTextProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getCase_ConditionExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class CaseConditionExpressionPropertySection extends AbstractTextProperty help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class CaseConditionExpressionPropertySection extends AbstractTextProperty } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), CaseConditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/changecontext/ChangeContextBrowseExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/changecontext/ChangeContextBrowseExpressionPropertySection.java index f947988b4b..cb3b0c7859 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/changecontext/ChangeContextBrowseExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/changecontext/ChangeContextBrowseExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.changecontext; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the browseExpression property of a ChangeContext object. */ -public class ChangeContextBrowseExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ChangeContextBrowseExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ChangeContextBrowseExpressionPropertySection extends AbstractTextPr } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "BrowseExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ChangeContextBrowseExpressionPropertySection extends AbstractTextPr } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getChangeContext_BrowseExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class ChangeContextBrowseExpressionPropertySection extends AbstractTextPr help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class ChangeContextBrowseExpressionPropertySection extends AbstractTextPr } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ChangeContextBrowseExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/externaljavaactionparameter/ExternalJavaActionParameterValuePropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/externaljavaactionparameter/ExternalJavaActionParameterValuePropertySection.java index 19ad83ffa8..1b7b947e4a 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/externaljavaactionparameter/ExternalJavaActionParameterValuePropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/externaljavaactionparameter/ExternalJavaActionParameterValuePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.externaljavaactionpar // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the value property of a ExternalJavaActionParameter object. */ -public class ExternalJavaActionParameterValuePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ExternalJavaActionParameterValuePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ExternalJavaActionParameterValuePropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Value"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ExternalJavaActionParameterValuePropertySection extends AbstractTex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getExternalJavaActionParameter_Value(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class ExternalJavaActionParameterValuePropertySection extends AbstractTex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class ExternalJavaActionParameterValuePropertySection extends AbstractTex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ExternalJavaActionParameterValuePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/for_/ForExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/for_/ForExpressionPropertySection.java index d9d741398b..2461b0f404 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/for_/ForExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/for_/ForExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.for_; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the expression property of a For object. */ -public class ForExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ForExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ForExpressionPropertySection extends AbstractTextPropertySection im } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Expression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ForExpressionPropertySection extends AbstractTextPropertySection im } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getFor_Expression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ForExpressionPropertySection extends AbstractTextPropertySection im help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ForExpressionPropertySection extends AbstractTextPropertySection im } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ForExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/if_/IfConditionExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/if_/IfConditionExpressionPropertySection.java index bd313e05b9..dceff3ffcb 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/if_/IfConditionExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/if_/IfConditionExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.if_; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the conditionExpression property of a If object. */ -public class IfConditionExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class IfConditionExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class IfConditionExpressionPropertySection extends AbstractTextPropertySe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ConditionExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class IfConditionExpressionPropertySection extends AbstractTextPropertySe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getIf_ConditionExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class IfConditionExpressionPropertySection extends AbstractTextPropertySe help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class IfConditionExpressionPropertySection extends AbstractTextPropertySe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), IfConditionExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/moveelement/MoveElementNewContainerExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/moveelement/MoveElementNewContainerExpressionPropertySection.java index 4d8d972a09..dda360db08 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/moveelement/MoveElementNewContainerExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/moveelement/MoveElementNewContainerExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.moveelement; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the newContainerExpression property of a MoveElement object. */ -public class MoveElementNewContainerExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class MoveElementNewContainerExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class MoveElementNewContainerExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "NewContainerExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class MoveElementNewContainerExpressionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getMoveElement_NewContainerExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class MoveElementNewContainerExpressionPropertySection extends AbstractTe help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class MoveElementNewContainerExpressionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), MoveElementNewContainerExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection.java index cca1b69b0e..048f96c13e 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.panebasedselectionwiz // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the candidatesExpression property of a * PaneBasedSelectionWizardDescription object. */ -public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySect } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "CandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySect } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getPaneBasedSelectionWizardDescription_CandidatesExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -120,30 +111,7 @@ public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySect help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -151,13 +119,16 @@ public class PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySect } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PaneBasedSelectionWizardDescriptionCandidatesExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection.java index fb81bc0828..bebc88d469 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.panebasedselectionwiz // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the childrenExpression property of a * PaneBasedSelectionWizardDescription object. */ -public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySectio } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ChildrenExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySectio } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getPaneBasedSelectionWizardDescription_ChildrenExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySectio help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySectio } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PaneBasedSelectionWizardDescriptionChildrenExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection.java index 2255601573..56101aa6bf 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.panebasedselectionwiz // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the preSelectedCandidatesExpression property of a * PaneBasedSelectionWizardDescription object. */ -public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionP } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "PreSelectedCandidatesExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionP } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getPaneBasedSelectionWizardDescription_PreSelectedCandidatesExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionP help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionP } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PaneBasedSelectionWizardDescriptionPreSelectedCandidatesExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionRootExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionRootExpressionPropertySection.java index 503ec31783..14f3bcf3af 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionRootExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/panebasedselectionwizarddescription/PaneBasedSelectionWizardDescriptionRootExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.panebasedselectionwiz // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the rootExpression property of a * PaneBasedSelectionWizardDescription object. */ -public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection ex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "RootExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection ex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getPaneBasedSelectionWizardDescription_RootExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection ex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class PaneBasedSelectionWizardDescriptionRootExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), PaneBasedSelectionWizardDescriptionRootExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionBrowseExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionBrowseExpressionPropertySection.java index b6e285059c..14470e94bf 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionBrowseExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionBrowseExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.representationcreatio // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the browseExpression property of a * RepresentationCreationDescription object. */ -public class RepresentationCreationDescriptionBrowseExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RepresentationCreationDescriptionBrowseExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class RepresentationCreationDescriptionBrowseExpressionPropertySection ex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "BrowseExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class RepresentationCreationDescriptionBrowseExpressionPropertySection ex } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getRepresentationCreationDescription_BrowseExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RepresentationCreationDescriptionBrowseExpressionPropertySection ex help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class RepresentationCreationDescriptionBrowseExpressionPropertySection ex } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RepresentationCreationDescriptionBrowseExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionTitleExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionTitleExpressionPropertySection.java index 48647b57b7..99e5929817 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionTitleExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationcreationdescription/RepresentationCreationDescriptionTitleExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.representationcreatio // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the titleExpression property of a * RepresentationCreationDescription object. */ -public class RepresentationCreationDescriptionTitleExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RepresentationCreationDescriptionTitleExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class RepresentationCreationDescriptionTitleExpressionPropertySection ext } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "TitleExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class RepresentationCreationDescriptionTitleExpressionPropertySection ext } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getRepresentationCreationDescription_TitleExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RepresentationCreationDescriptionTitleExpressionPropertySection ext help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class RepresentationCreationDescriptionTitleExpressionPropertySection ext } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RepresentationCreationDescriptionTitleExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionBrowseExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionBrowseExpressionPropertySection.java index eeb8f7c79b..19de27a588 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionBrowseExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionBrowseExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.representationnavigat // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the browseExpression property of a * RepresentationNavigationDescription object. */ -public class RepresentationNavigationDescriptionBrowseExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RepresentationNavigationDescriptionBrowseExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class RepresentationNavigationDescriptionBrowseExpressionPropertySection } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "BrowseExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class RepresentationNavigationDescriptionBrowseExpressionPropertySection } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getRepresentationNavigationDescription_BrowseExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RepresentationNavigationDescriptionBrowseExpressionPropertySection help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class RepresentationNavigationDescriptionBrowseExpressionPropertySection } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RepresentationNavigationDescriptionBrowseExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionNavigationNameExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionNavigationNameExpressionPropertySection.java index dde5a1afbf..f5e8ea1aa8 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionNavigationNameExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/representationnavigationdescription/RepresentationNavigationDescriptionNavigationNameExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.representationnavigat // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the navigationNameExpression property of a * RepresentationNavigationDescription object. */ -public class RepresentationNavigationDescriptionNavigationNameExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RepresentationNavigationDescriptionNavigationNameExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class RepresentationNavigationDescriptionNavigationNameExpressionProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "NavigationNameExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class RepresentationNavigationDescriptionNavigationNameExpressionProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getRepresentationNavigationDescription_NavigationNameExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RepresentationNavigationDescriptionNavigationNameExpressionProperty help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,16 @@ public class RepresentationNavigationDescriptionNavigationNameExpressionProperty } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RepresentationNavigationDescriptionNavigationNameExpressionPropertySection.this, + text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/setvalue/SetValueValueExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/setvalue/SetValueValueExpressionPropertySection.java index f93d9d26df..3ac5c42003 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/setvalue/SetValueValueExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/setvalue/SetValueValueExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.setvalue; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the valueExpression property of a SetValue object. */ -public class SetValueValueExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class SetValueValueExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class SetValueValueExpressionPropertySection extends AbstractTextProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ValueExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class SetValueValueExpressionPropertySection extends AbstractTextProperty } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getSetValue_ValueExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class SetValueValueExpressionPropertySection extends AbstractTextProperty help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class SetValueValueExpressionPropertySection extends AbstractTextProperty } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SetValueValueExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionElementsToListenPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionElementsToListenPropertySection.java index f37c2ae925..8d171e78fc 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionElementsToListenPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionElementsToListenPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.toolfilterdescription // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -42,7 +33,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; * A section for the elementsToListen property of a ToolFilterDescription * object. */ -public class ToolFilterDescriptionElementsToListenPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ToolFilterDescriptionElementsToListenPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -60,14 +51,14 @@ public class ToolFilterDescriptionElementsToListenPropertySection extends Abstra } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ElementsToListen"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -79,21 +70,21 @@ public class ToolFilterDescriptionElementsToListenPropertySection extends Abstra } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getToolFilterDescription_ElementsToListen(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class ToolFilterDescriptionElementsToListenPropertySection extends Abstra help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class ToolFilterDescriptionElementsToListenPropertySection extends Abstra } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ToolFilterDescriptionElementsToListenPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionPreconditionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionPreconditionPropertySection.java index 5821060146..5759c3ec33 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionPreconditionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/toolfilterdescription/ToolFilterDescriptionPreconditionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.toolfilterdescription // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the precondition property of a ToolFilterDescription object. */ -public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Precondition"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getToolFilterDescription_Precondition(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTe help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class ToolFilterDescriptionPreconditionPropertySection extends AbstractTe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ToolFilterDescriptionPreconditionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/unset/UnsetElementExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/unset/UnsetElementExpressionPropertySection.java index 8d400c092e..3c03dcec43 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/unset/UnsetElementExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/tool/unset/UnsetElementExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.tool.unset; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the elementExpression property of a Unset object. */ -public class UnsetElementExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class UnsetElementExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class UnsetElementExpressionPropertySection extends AbstractTextPropertyS } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "ElementExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class UnsetElementExpressionPropertySection extends AbstractTextPropertyS } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ToolPackage.eINSTANCE.getUnset_ElementExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class UnsetElementExpressionPropertySection extends AbstractTextPropertyS help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class UnsetElementExpressionPropertySection extends AbstractTextPropertyS } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), UnsetElementExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/ruleaudit/RuleAuditAuditExpressionPropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/ruleaudit/RuleAuditAuditExpressionPropertySection.java index 12365d6066..0769044ba0 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/ruleaudit/RuleAuditAuditExpressionPropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/ruleaudit/RuleAuditAuditExpressionPropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.validation.ruleaudit; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the auditExpression property of a RuleAudit object. */ -public class RuleAuditAuditExpressionPropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class RuleAuditAuditExpressionPropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class RuleAuditAuditExpressionPropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "AuditExpression"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class RuleAuditAuditExpressionPropertySection extends AbstractTextPropert } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ValidationPackage.eINSTANCE.getRuleAudit_AuditExpression(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -119,30 +110,7 @@ public class RuleAuditAuditExpressionPropertySection extends AbstractTextPropert help.setToolTipText(getToolTipText()); nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -150,13 +118,15 @@ public class RuleAuditAuditExpressionPropertySection extends AbstractTextPropert } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), RuleAuditAuditExpressionPropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** diff --git a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/validationrule/ValidationRuleMessagePropertySection.java b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/validationrule/ValidationRuleMessagePropertySection.java index 787c57b841..c3b58eed09 100644 --- a/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/validationrule/ValidationRuleMessagePropertySection.java +++ b/plugins/org.eclipse.sirius.editor/src-gen/org/eclipse/sirius/editor/properties/sections/validation/validationrule/ValidationRuleMessagePropertySection.java @@ -11,29 +11,20 @@ package org.eclipse.sirius.editor.properties.sections.validation.validationrule; // Start of user code imports -import java.util.List; - import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.jface.bindings.Trigger; -import org.eclipse.jface.bindings.TriggerSequence; -import org.eclipse.jface.bindings.keys.KeyStroke; -import org.eclipse.jface.fieldassist.ContentProposalAdapter; -import org.eclipse.jface.fieldassist.TextContentAdapter; -import org.eclipse.sirius.common.tools.api.util.EclipseUtil; import org.eclipse.sirius.editor.editorPlugin.SiriusEditor; -import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection; -import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient; -import org.eclipse.sirius.ui.tools.api.assist.IAssistContentProvider; +import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection; +import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider; +import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog; import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; -import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; -import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; // End of user code imports @@ -41,7 +32,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; /** * A section for the message property of a ValidationRule object. */ -public class ValidationRuleMessagePropertySection extends AbstractTextPropertySection implements ContentProposalClient { +public class ValidationRuleMessagePropertySection extends AbstractTextWithButtonPropertySection { /** Help control of the section. */ protected CLabel help; @@ -59,14 +50,14 @@ public class ValidationRuleMessagePropertySection extends AbstractTextPropertySe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText() */ protected String getDefaultLabelText() { return "Message"; //$NON-NLS-1$ } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getLabelText() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText() */ protected String getLabelText() { String labelText; @@ -78,21 +69,21 @@ public class ValidationRuleMessagePropertySection extends AbstractTextPropertySe } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeature() + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature() */ public EAttribute getFeature() { return ValidationPackage.eINSTANCE.getValidationRule_Message(); } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String) */ protected Object getFeatureValue(String newText) { return newText; } /** - * @see org.eclipse.sirius.editor.properties.sections.AbstractTextPropertySection#isEqual(String) + * @see org.eclipse.sirius.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String) */ protected boolean isEqual(String newText) { return getFeatureAsText().equals(newText); @@ -118,30 +109,7 @@ public class ValidationRuleMessagePropertySection extends AbstractTextPropertySe help.setImage(getHelpIcon()); help.setToolTipText(getToolTipText()); - List<IAssistContentProvider> extension = EclipseUtil.getExtensionPlugins(IAssistContentProvider.class, IAssistContentProvider.ID, IAssistContentProvider.CLASS_ATTRIBUTE); - if (!(extension.size() == 0)) { - IAssistContentProvider contentProposalAdapter = extension.get(0); - contentProposalAdapter.setView(this); - IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getService(IBindingService.class); // gives - // the - // user - // content - // assist - // binding - TriggerSequence[] activeBindinds = bindingService.getActiveBindingsFor(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); - if (activeBindinds != null && activeBindinds.length > 0) { - TriggerSequence sequence = activeBindinds[0]; - KeyStroke keyStroke = getKeyStroke(sequence); - - TextContentAdapter textContentAdapter = new TextContentAdapter(); - ContentProposalAdapter adapter = new ContentProposalAdapter(text, textContentAdapter, contentProposalAdapter, keyStroke, IAssistContentProvider.AUTO_ACTIVATION_CHARACTERS); - adapter.setPopupSize(new Point(300, 100)); // set content - // proposal popup - // size - adapter.addContentProposalListener(contentProposalAdapter); // close - // popup - } - } + TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text); // Start of user code create controls @@ -149,13 +117,15 @@ public class ValidationRuleMessagePropertySection extends AbstractTextPropertySe } - private KeyStroke getKeyStroke(TriggerSequence sequence) { - for (Trigger trigger : sequence.getTriggers()) { - if (trigger instanceof KeyStroke) { - return (KeyStroke) trigger; + @Override + protected SelectionListener createButtonListener() { + return new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ValidationRuleMessagePropertySection.this, text.getText()); + dialog.open(); + text.setText(dialog.getResult()); } - } - return null; + }; } /** |
