Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoberto E. Escobar2014-09-18 03:14:07 +0000
committerAngel Avila2014-09-18 03:14:07 +0000
commitf6d424c186c4a819aa5cd99a5a1e4cee1b728131 (patch)
treef5230ecf2aa7a1303076e793b76e025266dee19e
parent40e841bbeb8a1d5089d8a8c6c36cd9265f9c9bdc (diff)
downloadorg.eclipse.osee-f6d424c186c4a819aa5cd99a5a1e4cee1b728131.tar.gz
org.eclipse.osee-f6d424c186c4a819aa5cd99a5a1e4cee1b728131.tar.xz
org.eclipse.osee-f6d424c186c4a819aa5cd99a5a1e4cee1b728131.zip
feature[ats_ATS47363]: Create non-artifact backed XDslEditorWidget
This will allow grammar editors to be embedded in XWidget enabled editors which don't use artifact as backing data. Change-Id: I887801fd80a48101657e352964f00669a2bf2d0a
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidget.java225
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidgetDam.java179
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XStackedDam.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java4
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/FrameworkXWidgetProvider.java8
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/SwtXWidgetRenderer.java6
6 files changed, 284 insertions, 140 deletions
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidget.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidget.java
index 4878f997b1e..3583c66503a 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidget.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidget.java
@@ -10,26 +10,15 @@
*******************************************************************************/
package org.eclipse.osee.framework.ui.skynet.widgets;
-import java.net.URLEncoder;
-import java.util.logging.Level;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.jface.text.ITextListener;
import org.eclipse.jface.text.TextEvent;
-import org.eclipse.osee.framework.core.data.IAttributeType;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.util.Result;
-import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.validation.IOseeValidator;
-import org.eclipse.osee.framework.skynet.core.validation.OseeValidator;
import org.eclipse.osee.framework.ui.skynet.DslGrammar;
-import org.eclipse.osee.framework.ui.skynet.DslGrammarStorageAdapter;
import org.eclipse.osee.framework.ui.skynet.internal.DslGrammarManager;
import org.eclipse.osee.framework.ui.swt.ALayout;
import org.eclipse.osee.framework.ui.swt.Displays;
@@ -54,25 +43,78 @@ import org.eclipse.xtext.ui.editor.outline.impl.OutlinePage;
* @author Roberto E. Escobar
*/
@SuppressWarnings("restriction")
-public class XDslEditorWidget extends XLabel implements IAttributeWidget {
+public class XDslEditorWidget extends XText {
public static final String WIDGET_ID = XDslEditorWidget.class.getSimpleName();
- private Artifact artifact;
- private IAttributeType attributeType;
private DslGrammar grammar;
private EmbeddedEditorModelAccess model;
private EmbeddedEditor editor;
private URI uri;
+ private String extension;
+
public XDslEditorWidget(String displayLabel) {
super(displayLabel);
}
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+
+ protected String getExtension() {
+ return extension;
+ }
+
+ protected DslGrammar getGrammar() {
+ if (grammar == null && Strings.isValid(extension)) {
+ DslGrammar grammar = DslGrammarManager.getDslByExtension(extension);
+ setGrammar(grammar);
+ }
+ return grammar;
+ }
+
+ protected void setGrammar(DslGrammar grammar) {
+ this.grammar = grammar;
+ }
+
+ protected URI getUri() {
+ if (uri == null && Strings.isValid(extension)) {
+ String uriString = String.format("dslEditor.%s.%s", Lib.generateUuid(), getExtension());
+ uri = URI.createURI(uriString);
+ }
+ return uri;
+ }
+
+ protected void setUri(URI uri) {
+ this.uri = uri;
+ }
+
+ protected EmbeddedEditorModelAccess getModel() {
+ return model;
+ }
+
+ protected EmbeddedEditor getEditor() {
+ return editor;
+ }
+
@Override
protected void createControls(final Composite parent, int horizontalSpan) {
setNotificationsAllowed(false);
try {
+ if (!verticalLabel && horizontalSpan < 2) {
+ horizontalSpan = 2;
+ }
+
+ // Create Text Widgets
+ if (isDisplayLabel() && Strings.isValid(getLabel())) {
+ labelWidget = new Label(parent, SWT.NONE);
+ labelWidget.setText(getLabel() + ":");
+ if (getToolTip() != null) {
+ labelWidget.setToolTipText(getToolTip());
+ }
+ }
+
Composite composite = new Composite(parent, SWT.BORDER);
if (fillVertically) {
@@ -88,17 +130,7 @@ public class XDslEditorWidget extends XLabel implements IAttributeWidget {
gd.horizontalSpan = horizontalSpan;
composite.setLayoutData(gd);
}
-
- // Create Text Widgets
- if (isDisplayLabel() && Strings.isValid(getLabel())) {
- labelWidget = new Label(composite, SWT.NONE);
- labelWidget.setText(getLabel() + ":");
- if (getToolTip() != null) {
- labelWidget.setToolTipText(getToolTip());
- }
- }
-
- createEditor(composite);
+ createEditor(composite, horizontalSpan);
addToolTip(composite, getToolTip());
} finally {
@@ -107,14 +139,15 @@ public class XDslEditorWidget extends XLabel implements IAttributeWidget {
refresh();
}
- private void createEditor(Composite composite) {
+ private void createEditor(Composite composite, int horizontalSpan) {
+ final DslGrammar grammar = getGrammar();
IEditedResourceProvider resourceProvider = new IEditedResourceProvider() {
@Override
public XtextResource createResource() {
try {
ResourceSet resourceSet = new ResourceSetImpl();
- Resource resource = resourceSet.createResource(uri, grammar.getExtension());
+ Resource resource = resourceSet.createResource(getUri(), grammar.getExtension());
return (XtextResource) resource;
} catch (Exception e) {
return null;
@@ -127,11 +160,16 @@ public class XDslEditorWidget extends XLabel implements IAttributeWidget {
builder.readOnly();
}
editor = builder.withParent(composite);
- model = editor.createPartialEditor();
+ try {
+ model = editor.createPartialEditor();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
- GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- gridData.heightHint = 500;
- editor.getViewer().getControl().setLayoutData(gridData);
+ GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+ gd.heightHint = 200;
+
+ editor.getViewer().getControl().setLayoutData(gd);
editor.getViewer().addTextListener(new ITextListener() {
@Override
@@ -182,107 +220,46 @@ public class XDslEditorWidget extends XLabel implements IAttributeWidget {
}
@Override
- public void saveToArtifact() throws OseeCoreException {
- String value = get();
- if (!Strings.isValid(value)) {
- getArtifact().deleteSoleAttribute(getAttributeType());
- } else if (!value.equals(getArtifact().getSoleAttributeValue(getAttributeType(), ""))) {
- getArtifact().setSoleAttributeValue(getAttributeType(), value);
- }
- }
-
- @Override
- public Result isDirty() throws OseeCoreException {
- Result toReturn = Result.FalseResult;
- if (isEditable()) {
- String enteredValue = get();
- String storedValue = getArtifact().getSoleAttributeValue(getAttributeType(), "");
- if (!enteredValue.equals(storedValue)) {
- return new Result(true, attributeType + " is dirty");
- }
- }
- return toReturn;
- }
-
public void setText(String text) {
if (model != null) {
model.updateModel("", text, "");
}
}
- public String get() {
- return model != null ? getStorageAdapter().postProcess(getArtifact(), model.getSerializedModel()) : "";
- }
-
@Override
- public void setAttributeType(Artifact artifact, IAttributeType attributeType) throws OseeCoreException {
- this.artifact = artifact;
- this.attributeType = attributeType;
- this.grammar = DslGrammarManager.getGrammar(attributeType);
- if (grammar == null) {
- OseeLog.log(getClass(), Level.SEVERE, "Could not find a grammar for attribute type " + attributeType);
- } else {
- this.uri = createURI(artifact, grammar.getExtension());
- }
-
- updateTextWidget();
+ public String getText() {
+ return get();
}
- private URI createURI(Artifact artifact, String extension) throws OseeCoreException {
- String encodedName = "";
- try {
- encodedName = URLEncoder.encode(artifact.getSafeName(), "UTF-8");
- } catch (Exception ex) {
- OseeExceptions.wrapAndThrow(ex);
+ @Override
+ public void setFocus() {
+ Control control = getControl();
+ if (control != null) {
+ control.setFocus();
}
- String uriString =
- String.format("branch/%s/artifact/%s/%s.%s", artifact.getBranchUuid(), artifact.getGuid(), encodedName,
- extension);
- return URI.createURI(uriString);
}
+ @Override
protected void updateTextWidget() {
+ EmbeddedEditor editor = getEditor();
if (editor != null) {
XtextSourceViewer viewer = editor.getViewer();
if (viewer != null) {
if (Widgets.isAccessible(viewer.getTextWidget())) {
- String storedValue;
- try {
- storedValue = getArtifact().getSoleAttributeValue(getAttributeType(), "");
- model.updateModel("", getStorageAdapter().preProcess(getArtifact(), storedValue), "");
- // Re-enable Listeners
- validate();
- } catch (OseeCoreException ex) {
- //
- }
+ validate();
}
}
}
}
- private DslGrammarStorageAdapter getStorageAdapter() {
- DslGrammarStorageAdapter storageAdapter = grammar.getStorageAdapter();
- if (storageAdapter == null) {
- storageAdapter = new DslGrammarStorageAdapter() {
-
- @Override
- public String preProcess(Artifact artifact, String storedValue) {
- return storedValue;
- }
-
- @Override
- public String postProcess(Artifact artifact, String serializedModel) {
- return serializedModel;
- }
- };
- }
- return storageAdapter;
+ @Override
+ public String get() {
+ return model != null ? model.getSerializedModel() : "";
}
@Override
- public void refresh() {
- updateTextWidget();
- super.refresh();
+ public Object getData() {
+ return get();
}
@Override
@@ -299,36 +276,16 @@ public class XDslEditorWidget extends XLabel implements IAttributeWidget {
super.dispose();
}
- @Override
- public Artifact getArtifact() {
- return artifact;
- }
-
- @Override
- public IAttributeType getAttributeType() {
- return attributeType;
- }
-
- @Override
- public void revert() throws OseeCoreException {
- setAttributeType(getArtifact(), getAttributeType());
- }
-
- @Override
- public IStatus isValid() {
- IStatus status = super.isValid();
- if (status.isOK()) {
- status = OseeValidator.getInstance().validate(IOseeValidator.SHORT, getArtifact(), getAttributeType(), get());
- }
- return status;
- }
-
public ContentOutlinePage getOutlinePage() {
OutlinePage page = null;
if (editor != null) {
- page = grammar.getObject(OutlinePage.class);
- page.setSourceViewer(editor.getViewer());
+ DslGrammar grammar = getGrammar();
+ if (grammar != null) {
+ page = grammar.getObject(OutlinePage.class);
+ page.setSourceViewer(editor.getViewer());
+ }
}
return page;
}
+
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidgetDam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidgetDam.java
new file mode 100644
index 00000000000..ca69796434d
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XDslEditorWidgetDam.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Boeing.
+ * 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:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.ui.skynet.widgets;
+
+import java.net.URLEncoder;
+import java.util.logging.Level;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.osee.framework.core.data.IAttributeType;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.core.util.Result;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.validation.IOseeValidator;
+import org.eclipse.osee.framework.skynet.core.validation.OseeValidator;
+import org.eclipse.osee.framework.ui.skynet.DslGrammar;
+import org.eclipse.osee.framework.ui.skynet.DslGrammarStorageAdapter;
+import org.eclipse.osee.framework.ui.skynet.internal.DslGrammarManager;
+import org.eclipse.osee.framework.ui.swt.Widgets;
+import org.eclipse.xtext.ui.editor.XtextSourceViewer;
+import org.eclipse.xtext.ui.editor.embedded.EmbeddedEditor;
+import org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorModelAccess;
+
+/**
+ * @author Roberto E. Escobar
+ */
+@SuppressWarnings("restriction")
+public class XDslEditorWidgetDam extends XDslEditorWidget implements IAttributeWidget {
+
+ public static final String WIDGET_ID = XDslEditorWidgetDam.class.getSimpleName();
+
+ private Artifact artifact;
+ private IAttributeType attributeType;
+
+ public XDslEditorWidgetDam(String displayLabel) {
+ super(displayLabel);
+ }
+
+ @Override
+ public void saveToArtifact() throws OseeCoreException {
+ String value = get();
+ if (!Strings.isValid(value)) {
+ getArtifact().deleteSoleAttribute(getAttributeType());
+ } else if (!value.equals(getArtifact().getSoleAttributeValue(getAttributeType(), ""))) {
+ getArtifact().setSoleAttributeValue(getAttributeType(), value);
+ }
+ }
+
+ @Override
+ public Result isDirty() throws OseeCoreException {
+ Result toReturn = Result.FalseResult;
+ if (isEditable()) {
+ String enteredValue = get();
+ String storedValue = getArtifact().getSoleAttributeValue(getAttributeType(), "");
+ if (!enteredValue.equals(storedValue)) {
+ return new Result(true, attributeType + " is dirty");
+ }
+ }
+ return toReturn;
+ }
+
+ @Override
+ public String get() {
+ EmbeddedEditorModelAccess model = getModel();
+ return model != null ? getStorageAdapter().postProcess(getArtifact(), model.getSerializedModel()) : "";
+ }
+
+ @Override
+ public void setAttributeType(Artifact artifact, IAttributeType attributeType) throws OseeCoreException {
+ this.artifact = artifact;
+ this.attributeType = attributeType;
+ DslGrammar grammar = DslGrammarManager.getGrammar(attributeType);
+ if (grammar == null) {
+ OseeLog.log(getClass(), Level.SEVERE, "Could not find a grammar for attribute type " + attributeType);
+ } else {
+ setGrammar(grammar);
+ setExtension(grammar.getExtension());
+ URI uri = createURI(artifact, getExtension());
+ setUri(uri);
+ }
+ updateTextWidget();
+ }
+
+ private URI createURI(Artifact artifact, String extension) throws OseeCoreException {
+ String encodedName = "";
+ try {
+ encodedName = URLEncoder.encode(artifact.getSafeName(), "UTF-8");
+ } catch (Exception ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ String uriString =
+ String.format("branch/%s/artifact/%s/%s.%s", artifact.getBranchUuid(), artifact.getGuid(), encodedName,
+ extension);
+ return URI.createURI(uriString);
+ }
+
+ @Override
+ public void refresh() {
+ updateTextWidget();
+ super.refresh();
+ }
+
+ @Override
+ protected void updateTextWidget() {
+ EmbeddedEditor editor = getEditor();
+ if (editor != null) {
+ XtextSourceViewer viewer = editor.getViewer();
+ if (viewer != null) {
+ if (Widgets.isAccessible(viewer.getTextWidget())) {
+ EmbeddedEditorModelAccess model = getModel();
+ String storedValue;
+ try {
+ storedValue = getArtifact().getSoleAttributeValue(getAttributeType(), "");
+ model.updateModel("", getStorageAdapter().preProcess(getArtifact(), storedValue), "");
+ // Re-enable Listeners
+ validate();
+ } catch (OseeCoreException ex) {
+ //
+ }
+ }
+ }
+ }
+ }
+
+ private DslGrammarStorageAdapter getStorageAdapter() {
+ DslGrammar grammar = getGrammar();
+ DslGrammarStorageAdapter storageAdapter = grammar.getStorageAdapter();
+ if (storageAdapter == null) {
+ storageAdapter = new DslGrammarStorageAdapter() {
+
+ @Override
+ public String preProcess(Artifact artifact, String storedValue) {
+ return storedValue;
+ }
+
+ @Override
+ public String postProcess(Artifact artifact, String serializedModel) {
+ return serializedModel;
+ }
+ };
+ }
+ return storageAdapter;
+ }
+
+ @Override
+ public Artifact getArtifact() {
+ return artifact;
+ }
+
+ @Override
+ public IAttributeType getAttributeType() {
+ return attributeType;
+ }
+
+ @Override
+ public void revert() throws OseeCoreException {
+ setAttributeType(getArtifact(), getAttributeType());
+ }
+
+ @Override
+ public IStatus isValid() {
+ IStatus status = super.isValid();
+ if (status.isOK()) {
+ status = OseeValidator.getInstance().validate(IOseeValidator.SHORT, getArtifact(), getAttributeType(), get());
+ }
+ return status;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XStackedDam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XStackedDam.java
index 43edf7ce89b..4843a2b619d 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XStackedDam.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XStackedDam.java
@@ -281,7 +281,7 @@ public class XStackedDam extends XStackedWidget<String> implements IAttributeWid
}
xWidget = xLabel;
} else if (DslGrammarManager.isDslAttributeType(attributeType)) {
- XDslEditorWidget xEditor = new XDslEditorWidget("");
+ XDslEditorWidgetDam xEditor = new XDslEditorWidgetDam("");
xEditor.setFillHorizontally(true);
xEditor.setFillVertically(true);
xEditor.createWidgets(getManagedForm(), parent, 2);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java
index e4ffae65d98..f9ea84d794c 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/DefaultAttributeXWidgetProvider.java
@@ -23,7 +23,7 @@ import org.eclipse.osee.framework.skynet.core.attribute.BranchReferenceAttribute
import org.eclipse.osee.framework.skynet.core.attribute.WordAttribute;
import org.eclipse.osee.framework.skynet.core.utility.AttributeTypeToXWidgetName;
import org.eclipse.osee.framework.ui.skynet.internal.DslGrammarManager;
-import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidget;
+import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidgetDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XOption;
/**
@@ -59,7 +59,7 @@ public class DefaultAttributeXWidgetProvider implements IAttributeXWidgetProvide
try {
xWidgetName = AttributeTypeToXWidgetName.getXWidgetName(attributeType);
if (DslGrammarManager.isDslAttributeType(attributeType)) {
- xWidgetName = XDslEditorWidget.WIDGET_ID;
+ xWidgetName = XDslEditorWidgetDam.WIDGET_ID;
} else if (useMultiLineWidget(attributeType)) {
xWidgetName = "XStackedDam";
defaultData.getXOptionHandler().add(XOption.NOT_EDITABLE);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/FrameworkXWidgetProvider.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/FrameworkXWidgetProvider.java
index 462e19fe75d..47ecc46ca30 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/FrameworkXWidgetProvider.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/FrameworkXWidgetProvider.java
@@ -56,6 +56,7 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XComboViewer;
import org.eclipse.osee.framework.ui.skynet.widgets.XDate;
import org.eclipse.osee.framework.ui.skynet.widgets.XDateDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidget;
+import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidgetDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XFileTextWithSelectionDialog;
import org.eclipse.osee.framework.ui.skynet.widgets.XFileTextWithSelectionDialog.Type;
import org.eclipse.osee.framework.ui.skynet.widgets.XFloat;
@@ -425,8 +426,15 @@ public final class FrameworkXWidgetProvider {
} else if (xWidgetName.equals(XTextFlatDam.WIDGET_ID)) {
XTextFlatDam widget = new XTextFlatDam();
xWidget = widget;
+ } else if (xWidgetName.equals(XDslEditorWidgetDam.WIDGET_ID)) {
+ XDslEditorWidgetDam widget = new XDslEditorWidgetDam(name);
+ xWidget = widget;
} else if (xWidgetName.equals(XDslEditorWidget.WIDGET_ID)) {
XDslEditorWidget widget = new XDslEditorWidget(name);
+ String defaultType = xWidgetLayoutData.getDefaultValue();
+ if (Strings.isValid(defaultType)) {
+ widget.setExtension(defaultType);
+ }
xWidget = widget;
} else if (xWidgetName.equals("XHyperlinkLabel")) {
xWidget = new XHyperlinkLabel(name);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/SwtXWidgetRenderer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/SwtXWidgetRenderer.java
index 21ce66cf0bf..0c01ae0431a 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/SwtXWidgetRenderer.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/util/SwtXWidgetRenderer.java
@@ -33,7 +33,7 @@ import org.eclipse.osee.framework.ui.skynet.XWidgetParser;
import org.eclipse.osee.framework.ui.skynet.internal.Activator;
import org.eclipse.osee.framework.ui.skynet.widgets.IArtifactWidget;
import org.eclipse.osee.framework.ui.skynet.widgets.IAttributeWidget;
-import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidget;
+import org.eclipse.osee.framework.ui.skynet.widgets.XDslEditorWidgetDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
import org.eclipse.osee.framework.ui.skynet.widgets.XOption;
import org.eclipse.osee.framework.ui.skynet.widgets.XText;
@@ -221,8 +221,8 @@ public class SwtXWidgetRenderer {
xText.setHeight(xWidgetLayoutData.getHeight());
}
xText.setDynamicallyCreated(true);
- } else if (xWidget instanceof XDslEditorWidget) {
- XDslEditorWidget xDslEditorWidget = (XDslEditorWidget) xWidget;
+ } else if (xWidget instanceof XDslEditorWidgetDam) {
+ XDslEditorWidgetDam xDslEditorWidget = (XDslEditorWidgetDam) xWidget;
if (xWidgetLayoutData.getXOptionHandler().contains(XOption.FILL_HORIZONTALLY)) {
xDslEditorWidget.setFillHorizontally(true);
}

Back to the top