Author: DartPeng
Date: 2009-05-21 01:43:30 -0400 (Thu, 21 May 2009)
New Revision: 15378
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/ISmooksGraphChangeListener.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/SmooksGraphicsExtType.java
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/impl/SmooksGraphicsExtTypeImpl.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/StructuredDataSelectionWizardDailog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ResourceConfigTypeUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
Log:
JBIDE-4348
Add a link to open input message wizard dialog
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/ISmooksGraphChangeListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/ISmooksGraphChangeListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/ISmooksGraphChangeListener.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.model.graphics.ext;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public interface ISmooksGraphChangeListener {
+ public void saveComplete(SmooksGraphicsExtType extType);
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/ISmooksGraphChangeListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/SmooksGraphicsExtType.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/SmooksGraphicsExtType.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/SmooksGraphicsExtType.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -6,6 +6,8 @@
*/
package org.jboss.tools.smooks.model.graphics.ext;
+import java.util.List;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
@@ -29,6 +31,13 @@
* @generated
*/
public interface SmooksGraphicsExtType extends EObject {
+
+ List<ISmooksGraphChangeListener> getChangeListeners();
+
+ void addSmooksGraphChangeListener(ISmooksGraphChangeListener listener);
+
+ void removeSmooksGraphChangeListener(ISmooksGraphChangeListener listener);
+
/**
* Returns the value of the '<em><b>Input</b></em>'
containment reference list.
* The list contents are of type {@link
org.jboss.tools.smooks.model.graphics.ext.InputType}.
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/impl/SmooksGraphicsExtTypeImpl.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/impl/SmooksGraphicsExtTypeImpl.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/graphics/ext/impl/SmooksGraphicsExtTypeImpl.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -6,7 +6,9 @@
*/
package org.jboss.tools.smooks.model.graphics.ext.impl;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
@@ -22,6 +24,7 @@
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
import org.jboss.tools.smooks.model.graphics.ext.InputType;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtPackage;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
@@ -42,6 +45,9 @@
* @generated
*/
public class SmooksGraphicsExtTypeImpl extends EObjectImpl implements
SmooksGraphicsExtType {
+
+ private List<ISmooksGraphChangeListener> changeListeners;
+
/**
* The cached value of the '{@link #getInput() <em>Input</em>}'
containment reference list.
* <!-- begin-user-doc -->
@@ -277,4 +283,32 @@
return result.toString();
}
+ /**
+ * @return the changeListeners
+ */
+ public List<ISmooksGraphChangeListener> getChangeListeners() {
+ if(changeListeners == null){
+ changeListeners = new ArrayList<ISmooksGraphChangeListener>();
+ }
+ return changeListeners;
+ }
+
+ /**
+ * @param changeListeners the changeListeners to set
+ */
+ public void setChangeListeners(List<ISmooksGraphChangeListener> changeListeners)
{
+ this.changeListeners = changeListeners;
+ }
+
+ public void addSmooksGraphChangeListener(ISmooksGraphChangeListener listener) {
+ this.getChangeListeners().add(listener);
+
+ }
+
+ public void removeSmooksGraphChangeListener(ISmooksGraphChangeListener listener) {
+ this.getChangeListeners().remove(listener);
+ }
+
+
+
} //SmooksGraphicsExtTypeImpl
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -180,7 +180,7 @@
SmooksMultiFormEditor formEditor) {
SmooksGraphicsExtType ext = formEditor.getSmooksGraphicsExt();
if (ext != null) {
- return SmooksUIUtils.createSelectorFieldEditor(toolkit, parent, propertyDescriptor,
model, ext);
+ return SmooksUIUtils.createSelectorFieldEditor(toolkit, parent, propertyDescriptor,
model, ext,formEditor);
}
return null;
}
@@ -354,7 +354,7 @@
name += "*";
}
AttributeFieldEditPart editPart1 = SmooksUIUtils.createSelectorFieldEditor(name,
toolkit, container,
- createOnElementFeature, model, formEditor.getSmooksGraphicsExt());
+ createOnElementFeature, model, formEditor.getSmooksGraphicsExt(),formEditor);
editPart1.setAttribute(createOnElementFeature.getFeature(model));
String namespace = "Namespace";
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -23,6 +23,7 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -36,11 +37,17 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Hyperlink;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModelFactory;
import org.jboss.tools.smooks.configuration.editors.uitls.ProjectClassLoader;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import
org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
import org.jboss.tools.smooks.configuration.editors.xml.AbstractXMLObject;
import org.jboss.tools.smooks.configuration.editors.xml.TagList;
import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
@@ -61,15 +68,17 @@
private Button onlyNameButton;
private Button fullPathButton;
private SelectorAttributes selectorAttributes = null;
+ private IEditorPart editorPart = null;
public SelectoreSelectionDialog(IShellProvider parentShell) {
super(parentShell);
}
- public SelectoreSelectionDialog(Shell parentShell, SmooksGraphicsExtType graphicsExt) {
+ public SelectoreSelectionDialog(Shell parentShell, SmooksGraphicsExtType graphicsExt,
IEditorPart editorPart) {
super(parentShell);
this.graphicsExt = graphicsExt;
selectorAttributes = new SelectorAttributes();
+ this.editorPart = editorPart;
}
/*
@@ -92,23 +101,55 @@
layout.marginWidth = 10;
layout.makeColumnsEqualWidth = false;
composite.setLayout(layout);
-
- Label label = new Label(composite,SWT.NONE);
- label.setText("Sperator Char : ");
- final Combo speratorCombo = new Combo(composite,SWT.BORDER|SWT.READ_ONLY);
- speratorCombo.add(" ");
- speratorCombo.add("/");
- speratorCombo.select(1);
-// speratorCombo.setEditable(false);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- speratorCombo.setLayoutData(gd);
- speratorCombo.addModifyListener(new ModifyListener(){
- public void modifyText(ModifyEvent e) {
- selectorAttributes.setSelectorSperator(speratorCombo.getText());
+ Label viewerLabel = new Label(composite, SWT.NONE);
+ viewerLabel.setText("Input Message:");
+
+ FormToolkit toolkit = new FormToolkit(getShell().getDisplay());
+
+ Hyperlink link = toolkit.createHyperlink(composite, "Click to add Input
Data", SWT.NONE);// new
+ // Hyperlink(composite,SWT.NONE);
+ link.setBackground(composite.getBackground());
+ link.addHyperlinkListener(new IHyperlinkListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(
+ * org.eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkActivated(HyperlinkEvent e) {
+ showInputDataWizard();
}
-
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkEntered(org
+ * .eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkEntered(HyperlinkEvent e) {
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkExited(org
+ * .eclipse.ui.forms.events.HyperlinkEvent)
+ */
+ public void linkExited(HyperlinkEvent e) {
+
+ }
+
});
+ gd = new GridData();
+ gd.horizontalAlignment = GridData.END;
+ link.setLayoutData(gd);
+
viewer = new TreeViewer(composite, SWT.BORDER);
viewer.setContentProvider(new CompoundStructuredDataContentProvider());
viewer.setLabelProvider(new CompoundStructuredDataLabelProvider());
@@ -124,51 +165,69 @@
currentSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
}
});
-
+
gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 2;
viewer.getTree().setLayoutData(gd);
-
- Label l = new Label(composite,SWT.NONE);
+
+ Label label = new Label(composite, SWT.NONE);
+ label.setText("Sperator Char : ");
+ final Combo speratorCombo = new Combo(composite, SWT.BORDER | SWT.READ_ONLY);
+ speratorCombo.add(" ");
+ speratorCombo.add("/");
+ speratorCombo.select(1);
+ // speratorCombo.setEditable(false);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ speratorCombo.setLayoutData(gd);
+ speratorCombo.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ selectorAttributes.setSelectorSperator(speratorCombo.getText());
+ }
+
+ });
+
+ Label l = new Label(composite, SWT.NONE);
l.setText("Selector generate policy : ");
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
l.setLayoutData(gd);
-
- Composite com = new Composite(composite,SWT.NONE);
+
+ Composite com = new Composite(composite, SWT.NONE);
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
com.setLayoutData(gd);
-
+
GridLayout gl = new GridLayout();
gl.numColumns = 2;
com.setLayout(gl);
- fullPathButton = new Button(com,SWT.RADIO);
+ fullPathButton = new Button(com, SWT.RADIO);
fullPathButton.setText("Full Path");
- onlyNameButton = new Button(com,SWT.RADIO);
+ onlyNameButton = new Button(com, SWT.RADIO);
onlyNameButton.setText("Only Name");
-// Button containtParentButton = new Button(com,SWT.RADIO);
-// containtParentButton.setText("Containt Parent Name");
+ // Button containtParentButton = new Button(com,SWT.RADIO);
+ // containtParentButton.setText("Containt Parent Name");
fullPathButton.setSelection(true);
-
+
handleButtons();
-
+
getShell().setText("Selector generate dialog");
-
+
SmooksUIUtils.expandSelectorViewer(inputList, viewer);
-
+
return composite;
}
+
private void handleButtons() {
- fullPathButton.addSelectionListener(new SelectionAdapter(){
+ fullPathButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
selectorAttributes.setSelectorPolicy(SelectorAttributes.FULL_PATH);
}
});
-
- onlyNameButton.addSelectionListener(new SelectionAdapter(){
+
+ onlyNameButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
selectorAttributes.setSelectorPolicy(SelectorAttributes.ONLY_NAME);
@@ -191,8 +250,8 @@
path = path.trim();
if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(type)) {
try {
- JavaBeanModel model = JavaBeanModelFactory
- .getJavaBeanModelWithLazyLoad(classLoader.loadClass(path));
+ JavaBeanModel model =
JavaBeanModelFactory.getJavaBeanModelWithLazyLoad(classLoader
+ .loadClass(path));
if (model != null) {
list.add(model);
}
@@ -216,8 +275,8 @@
list.add(model);
}
}
- } catch(Throwable e){
-
+ } catch (Throwable e) {
+
}
}
}
@@ -229,6 +288,23 @@
return list;
}
+ protected void showInputDataWizard() {
+ StructuredDataSelectionWizard wizard = new StructuredDataSelectionWizard();
+ if (this.editorPart != null) {
+ wizard.setInput(editorPart.getEditorInput());
+ wizard.setSite(editorPart.getEditorSite());
+ }
+
+ wizard.setForcePreviousAndNextButtons(true);
+ StructuredDataSelectionWizardDailog dialog = new
StructuredDataSelectionWizardDailog(this.getShell(), wizard,
+ this.graphicsExt);
+ if(dialog.show() == WizardDialog.OK){
+ List<Object> input = this.generateInputData();
+ this.viewer.setInput(input);
+ SmooksUIUtils.expandSelectorViewer(input, viewer);
+ }
+ }
+
/**
* @return the currentSelection
*/
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksActionBarContributor.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -43,6 +43,7 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Widget;
@@ -362,9 +363,21 @@
((Text) widget).cut();
return;
}
+ if (widget instanceof Combo) {
+ ((Combo) widget).cut();
+ return;
+ }
super.runWithEvent(event);
}
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#isEnabled()
+ */
+ @Override
+ public boolean isEnabled() {
+ return super.isEnabled();
+ }
+
};
cutAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), cutAction);
@@ -377,6 +390,10 @@
((Text) widget).copy();
return;
}
+ if (widget instanceof Combo) {
+ ((Combo) widget).copy();
+ return;
+ }
super.runWithEvent(event);
}
@@ -392,6 +409,10 @@
((Text) widget).paste();
return;
}
+ if (widget instanceof Combo) {
+ ((Combo) widget).paste();
+ return;
+ }
super.runWithEvent(event);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -11,12 +11,9 @@
package org.jboss.tools.smooks.configuration.editors;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Enumeration;
import java.util.List;
-import java.util.Properties;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.ecore.EObject;
@@ -25,7 +22,6 @@
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -42,20 +38,17 @@
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.Section;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
-import
org.jboss.tools.smooks.configuration.editors.wizard.IStructuredDataSelectionWizard;
import
org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
+import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
import org.jboss.tools.smooks.model.graphics.ext.InputType;
-import org.jboss.tools.smooks.model.graphics.ext.ParamType;
-import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtFactory;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
-import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
/**
* @author Dart Peng (dpeng(a)redhat.com) Date Apr 1, 2009
*/
-public class SmooksConfigurationFormPage extends FormPage implements
ISmooksModelValidateListener {
+public class SmooksConfigurationFormPage extends FormPage implements
ISmooksModelValidateListener , ISmooksGraphChangeListener {
private SmooksMasterDetailBlock masterDetailBlock = null;
@@ -63,6 +56,7 @@
public SmooksConfigurationFormPage(FormEditor editor, String id, String title) {
super(editor, id, title);
+ ((SmooksMultiFormEditor)editor).getSmooksGraphicsExt().addSmooksGraphChangeListener(this);
}
public SmooksConfigurationFormPage(String id, String title) {
@@ -216,54 +210,10 @@
wizard.setSite(getEditorSite());
wizard.setForcePreviousAndNextButtons(true);
StructuredDataSelectionWizardDailog dialog = new StructuredDataSelectionWizardDailog(
- getEditorSite().getShell(), wizard);
- if (dialog.open() == WizardDialog.OK) {
- IStructuredDataSelectionWizard wizard1 = dialog.getCurrentCreationWizard();
- String type = wizard1.getInputDataTypeID();
- String path = wizard1.getStructuredDataSourcePath();
- SmooksGraphicsExtType extType = getSmooksGraphicsExtType();
- if (type != null && path != null && extType != null) {
- String[] values = path.split(";");
- for (int i = 0; i < values.length; i++) {
- String value = values[i];
- value = value.trim();
- if (value.length() == 0)
- continue;
- InputType input = SmooksGraphicsExtFactory.eINSTANCE.createInputType();
- input.setType(type);
- ParamType param = SmooksGraphicsExtFactory.eINSTANCE.createParamType();
- param.setValue(value);
- param.setName(SmooksModelUtils.PARAM_NAME_PATH);
- input.getParam().add(param);
- List<ParamType> params = generateExtParams(type, path,
wizard1.getProperties());
- input.getParam().addAll(params);
- extType.getInput().add(input);
- }
- try {
- extType.eResource().save(Collections.emptyMap());
- inputDataViewer.refresh();
- } catch (IOException e) {
- SmooksConfigurationActivator.getDefault().log(e);
- }
- }
- }
+ getEditorSite().getShell(), wizard , getSmooksGraphicsExtType());
+ dialog.show();
}
-
- private List<ParamType> generateExtParams(String type, String path, Properties
properties) {
- List<ParamType> lists = new ArrayList<ParamType>();
- if (properties != null) {
- Enumeration<?> enumerations = properties.keys();
- while (enumerations.hasMoreElements()) {
- Object key = (Object) enumerations.nextElement();
- ParamType param = SmooksGraphicsExtFactory.eINSTANCE.createParamType();
- param.setValue(properties.getProperty(key.toString()));
- param.setName(key.toString());
- lists.add(param);
- }
- }
- return lists;
- }
-
+
public void setSelectionToViewer(final Collection<?> collection) {
if (masterDetailBlock != null && masterDetailBlock.getSmooksTreeViewer() !=
null) {
// I don't know if this should be run this deferred
@@ -297,4 +247,8 @@
}
+ public void saveComplete(SmooksGraphicsExtType extType) {
+ inputDataViewer.refresh();
+ }
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -180,8 +180,6 @@
}
},
SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
- if(true)
- {
smooksTreeViewer.setComparer(new IElementComparer() {
/*
@@ -210,7 +208,6 @@
}
});
- }
smooksTreeViewer.setFilters(new ViewerFilter[] { new TextEObjectModelFilter() });
Object smooksModel = ((SmooksMultiFormEditor) this.formEditor).getSmooksModel();
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -37,8 +37,11 @@
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.DefaultDOMHandlerImpl;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.DeleteCommand;
import org.eclipse.emf.edit.command.SetCommand;
@@ -84,6 +87,7 @@
import org.jboss.tools.smooks.model.smooks.provider.SmooksItemProviderAdapterFactory;
import org.jboss.tools.smooks.model.xsl.provider.XslItemProviderAdapterFactory;
import org.jboss.tools.smooks10.model.smooks.util.SmooksResourceFactoryImpl;
+import org.w3c.dom.Node;
/**
*
@@ -114,6 +118,8 @@
private SmooksMarkerHelper markerHelper = new SmooksMarkerHelper();
private List<Diagnostic> diagnosticList;
+
+ private Object smooksDOMModel;
public SmooksMultiFormEditor() {
super();
@@ -417,9 +423,21 @@
editingDomain.getResourceSet().getResources().add(smooksResource);
super.init(site, input);
+
validator = new SmooksModelValidator();
addValidateListener(this);
setDiagnosticList(validator.validate(smooksModel.eResource().getContents(),
editingDomain));
+// ((XMLResource)smooksResource).save(null, Collections.emptyMap(), new
DefaultDOMHandlerImpl(){
+//
+// /* (non-Javadoc)
+// * @see org.eclipse.emf.ecore.xmi.DOMHandler#recordValues(org.w3c.dom.Node,
org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature,
java.lang.Object)
+// */
+// public void recordValues(Node node, EObject container, EStructuralFeature feature,
Object value) {
+// super.recordValues(node, container, feature, value);
+// System.out.println(value + ":" + node);
+// }
+//
+// });
// if success to open editor , check if there isn't ext file and create
// a new one
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/StructuredDataSelectionWizardDailog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/StructuredDataSelectionWizardDailog.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/StructuredDataSelectionWizardDailog.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -10,10 +10,25 @@
******************************************************************************/
package org.jboss.tools.smooks.configuration.editors;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
+import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import
org.jboss.tools.smooks.configuration.editors.wizard.IStructuredDataSelectionWizard;
+import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
+import org.jboss.tools.smooks.model.graphics.ext.InputType;
+import org.jboss.tools.smooks.model.graphics.ext.ParamType;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtFactory;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
/**
* @author Dart Peng
@@ -21,9 +36,12 @@
*/
public class StructuredDataSelectionWizardDailog extends WizardDialog {
+ protected SmooksGraphicsExtType smooksGraphicsExtType;
+
public StructuredDataSelectionWizardDailog(Shell parentShell,
- IWizard newWizard) {
+ IWizard newWizard,SmooksGraphicsExtType extType) {
super(parentShell, newWizard);
+ this.setSmooksGraphicsExtType(extType);
}
public IStructuredDataSelectionWizard getCurrentCreationWizard(){
@@ -33,5 +51,78 @@
}
return null;
}
+
+
+
+ /**
+ * @return the smooksGraphicsExtType
+ */
+ public SmooksGraphicsExtType getSmooksGraphicsExtType() {
+ return smooksGraphicsExtType;
+ }
+ /**
+ * @param smooksGraphicsExtType the smooksGraphicsExtType to set
+ */
+ public void setSmooksGraphicsExtType(SmooksGraphicsExtType smooksGraphicsExtType) {
+ this.smooksGraphicsExtType = smooksGraphicsExtType;
+ }
+
+
+ private List<ParamType> generateExtParams(String type, String path, Properties
properties) {
+ List<ParamType> lists = new ArrayList<ParamType>();
+ if (properties != null) {
+ Enumeration<?> enumerations = properties.keys();
+ while (enumerations.hasMoreElements()) {
+ Object key = (Object) enumerations.nextElement();
+ ParamType param = SmooksGraphicsExtFactory.eINSTANCE.createParamType();
+ param.setValue(properties.getProperty(key.toString()));
+ param.setName(key.toString());
+ lists.add(param);
+ }
+ }
+ return lists;
+ }
+
+
+ public int show() {
+ int openResult = this.open();
+ if (openResult == WizardDialog.OK) {
+ IStructuredDataSelectionWizard wizard1 = this.getCurrentCreationWizard();
+ String type = wizard1.getInputDataTypeID();
+ String path = wizard1.getStructuredDataSourcePath();
+ SmooksGraphicsExtType extType = getSmooksGraphicsExtType();
+ if (type != null && path != null && extType != null) {
+ String[] values = path.split(";");
+ for (int i = 0; i < values.length; i++) {
+ String value = values[i];
+ value = value.trim();
+ if (value.length() == 0)
+ continue;
+ InputType input = SmooksGraphicsExtFactory.eINSTANCE.createInputType();
+ input.setType(type);
+ ParamType param = SmooksGraphicsExtFactory.eINSTANCE.createParamType();
+ param.setValue(value);
+ param.setName(SmooksModelUtils.PARAM_NAME_PATH);
+ input.getParam().add(param);
+ List<ParamType> params = generateExtParams(type, path,
wizard1.getProperties());
+ input.getParam().addAll(params);
+ extType.getInput().add(input);
+ }
+ try {
+ extType.eResource().save(Collections.emptyMap());
+ List<ISmooksGraphChangeListener> listeners = extType.getChangeListeners();
+ for (Iterator<?> iterator = listeners.iterator(); iterator.hasNext();) {
+ ISmooksGraphChangeListener smooksGraphChangeListener = (ISmooksGraphChangeListener)
iterator
+ .next();
+ smooksGraphChangeListener.saveComplete(extType);
+ }
+ } catch (IOException e) {
+ SmooksConfigurationActivator.getDefault().log(e);
+ }
+ }
+ }
+ return openResult;
+ }
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ResourceConfigTypeUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ResourceConfigTypeUICreator.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ResourceConfigTypeUICreator.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -44,7 +44,7 @@
if (feature == SmooksPackage.eINSTANCE.getResourceConfigType_Selector()) {
SmooksGraphicsExtType ext = formEditor.getSmooksGraphicsExt();
if (ext != null) {
- return SmooksUIUtils.createSelectorFieldEditor(toolkit, parent, propertyDescriptor,
model, ext);
+ return SmooksUIUtils.createSelectorFieldEditor(toolkit, parent, propertyDescriptor,
model, ext,formEditor);
}
}
if (feature == SmooksPackage.eINSTANCE.getResourceConfigType_SelectorNamespace()) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-20
19:17:15 UTC (rev 15377)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-21
05:43:30 UTC (rev 15378)
@@ -68,6 +68,7 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.forms.IFormColors;
@@ -123,7 +124,7 @@
public static int VALUE_TYPE_CDATA = 0;
public static final int SELECTOR_EXPAND_MAX_LEVEL = 5;
-
+
public static void createMixedTextFieldEditor(String label, AdapterFactoryEditingDomain
editingdomain,
FormToolkit toolkit, Composite parent, Object model, boolean linkLabel,
IHyperlinkListener listener) {
createMixedTextFieldEditor(label, editingdomain, toolkit, parent, model, false, 0,
linkLabel, false, listener,
@@ -589,16 +590,17 @@
}
public static AttributeFieldEditPart createSelectorFieldEditor(FormToolkit toolkit,
Composite parent,
- final IItemPropertyDescriptor propertyDescriptor, Object model, final
SmooksGraphicsExtType extType) {
- return createSelectorFieldEditor(null, toolkit, parent, propertyDescriptor, model,
extType);
+ final IItemPropertyDescriptor propertyDescriptor, Object model, final
SmooksGraphicsExtType extType,
+ final IEditorPart currentEditorPart) {
+ return createSelectorFieldEditor(null, toolkit, parent, propertyDescriptor, model,
extType, currentEditorPart);
}
public static AttributeFieldEditPart createSelectorFieldEditor(String labelText,
FormToolkit toolkit,
Composite parent, final IItemPropertyDescriptor propertyDescriptor, Object model,
- final SmooksGraphicsExtType extType) {
+ final SmooksGraphicsExtType extType, final IEditorPart currentEditorPart) {
return createDialogFieldEditor(labelText, parent, toolkit, propertyDescriptor,
"Browse", new IFieldDialog() {
public Object open(Shell shell) {
- SelectoreSelectionDialog dialog = new SelectoreSelectionDialog(shell, extType);
+ SelectoreSelectionDialog dialog = new SelectoreSelectionDialog(shell, extType,
currentEditorPart);
if (dialog.open() == Dialog.OK) {
Object currentSelection = dialog.getCurrentSelection();
SelectorAttributes sa = dialog.getSelectorAttributes();
@@ -1137,19 +1139,21 @@
}
}
}
-
- private static void expandSelectorViewer(IXMLStructuredObject model,TreeViewer viewer ,
List<String> expandedModel , int level){
- if(level >= SELECTOR_EXPAND_MAX_LEVEL) return;
+
+ private static void expandSelectorViewer(IXMLStructuredObject model, TreeViewer viewer,
List<String> expandedModel,
+ int level) {
+ if (level >= SELECTOR_EXPAND_MAX_LEVEL)
+ return;
level++;
- if(expandedModel.contains(model.getNodeName())){
+ if (expandedModel.contains(model.getNodeName())) {
return;
- }else{
+ } else {
expandedModel.add(model.getNodeName());
viewer.expandToLevel(model, 0);
List<IXMLStructuredObject> children = model.getChildren();
for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
IXMLStructuredObject structuredObject = (IXMLStructuredObject) iterator.next();
- expandSelectorViewer(structuredObject, viewer,expandedModel,level);
+ expandSelectorViewer(structuredObject, viewer, expandedModel, level);
}
}
}
@@ -1158,7 +1162,7 @@
for (Iterator<?> iterator = models.iterator(); iterator.hasNext();) {
Object model = (Object) iterator.next();
if (model instanceof IXMLStructuredObject) {
- expandSelectorViewer((IXMLStructuredObject)model,viewer,new
ArrayList<String>(),0);
+ expandSelectorViewer((IXMLStructuredObject) model, viewer, new
ArrayList<String>(), 0);
}
}
}