Author: DartPeng
Date: 2009-08-05 13:21:47 -0400 (Wed, 05 Aug 2009)
New Revision: 16968
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.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/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
Log:
JBIDE-4712
add new tab
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs 2009-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/.settings/org.eclipse.jdt.core.prefs 2009-08-05
17:21:47 UTC (rev 16968)
@@ -1,7 +1,8 @@
-#Tue Jul 15 15:08:51 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+#Wed Aug 05 22:55:22 CST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java 2009-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/FieldMarkerComposite.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -44,6 +44,7 @@
public FieldMarkerComposite(Composite parent, int style) {
super(parent, style);
+ this.setBackground(new Color(null,255,255,255));
errorImage = SmooksConfigurationActivator.getDefault().getImageRegistry()
.get(GraphicsConstants.IMAGE_OVR_ERROR);
waringImage = SmooksConfigurationActivator.getDefault().getImageRegistry().get(
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * 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.configuration.editors;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+
+/**
+ * @author Dart
+ *
+ */
+public class NewOrModifySmooksElementDialog extends Dialog {
+
+ private EObject model;
+
+ private FormToolkit toolkit;
+
+ private ISmooksModelProvider modelProvider = null;
+
+ private boolean modify = false;
+
+ private EObject parentModel;
+
+ private EStructuralFeature feature;
+
+ private IEditorPart editorPart;
+
+ public NewOrModifySmooksElementDialog(IShellProvider parentShell, EStructuralFeature
feature, EObject model,
+ EObject parentModel, FormToolkit toolkit, ISmooksModelProvider modelProvider,
IEditorPart editorPart,
+ boolean modify) {
+ super(parentShell);
+ this.feature = feature;
+ this.model = model;
+ this.toolkit = toolkit;
+ this.modelProvider = modelProvider;
+ this.modify = modify;
+ this.editorPart = editorPart;
+ this.parentModel = parentModel;
+ }
+
+ public NewOrModifySmooksElementDialog(Shell parentShell, EStructuralFeature feature,
EObject model,
+ EObject parentModel, FormToolkit toolkit, ISmooksModelProvider modelProvider,
IEditorPart editorPart,
+ boolean modify) {
+ super(parentShell);
+ this.feature = feature;
+ this.model = model;
+ this.toolkit = toolkit;
+ this.modelProvider = modelProvider;
+ this.modify = modify;
+ this.editorPart = editorPart;
+ this.parentModel = parentModel;
+ }
+
+ protected void createButtonsForButtonBar(Composite parent) {
+ // create OK and Cancel buttons by default
+ String okLabel = IDialogConstants.OK_LABEL;
+ if(modify){
+ okLabel = "Close";
+ }
+ createButton(parent, IDialogConstants.OK_ID, okLabel, true);
+ if (!modify) {
+ createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL,
false);
+ }
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite mainComposite = (Composite) super.createDialogArea(parent);
+ // parent.setBackground(toolkit.getColors().getBackground());
+ mainComposite.setBackground(toolkit.getColors().getBackground());
+ Composite mc = new Composite(mainComposite, SWT.NONE);
+ mc.setBackground(toolkit.getColors().getBackground());
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 500;
+ gd.widthHint = 400;
+ mc.setLayoutData(gd);
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ gl.verticalSpacing = 1;
+ mc.setLayout(gl);
+
+ ModelPanelCreator creator = new ModelPanelCreator();
+
+ if (modelProvider != null && model instanceof EObject) {
+ AdapterFactoryEditingDomain editDomain = (AdapterFactoryEditingDomain)
modelProvider.getEditingDomain();
+ IItemPropertySource propertySource = (IItemPropertySource)
editDomain.getAdapterFactory().adapt(model,
+ IItemPropertySource.class);
+ creator.createModelPanel((EObject) model, toolkit, mc, propertySource, modelProvider,
editorPart);
+ }
+ return mainComposite;
+ }
+
+ @Override
+ protected void okPressed() {
+ try {
+ if (!modify && parentModel != null && modelProvider != null &&
feature != null) {
+ EditingDomain editingDomain = modelProvider.getEditingDomain();
+ Command command = AddCommand.create(editingDomain, parentModel, feature, model);
+ editingDomain.getCommandStack().execute(command);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ super.okPressed();
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/NewOrModifySmooksElementDialog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationFormPage.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -41,6 +41,7 @@
import
org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
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.SmooksGraphicsExtType;
@@ -49,7 +50,7 @@
/**
* @author Dart Peng (dpeng(a)redhat.com) Date Apr 1, 2009
*/
-public class SmooksConfigurationFormPage extends FormPage implements
ISmooksModelValidateListener , ISmooksGraphChangeListener {
+public class SmooksConfigurationFormPage extends FormPage implements
ISmooksModelValidateListener , ISmooksGraphChangeListener , ISourceSynchronizeListener{
private SmooksMasterDetailBlock masterDetailBlock = null;
@@ -258,4 +259,8 @@
inputDataViewer.refresh();
}
+ public void sourceChange(Object model) {
+ this.setSmooksModel(model);
+ }
+
}
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -0,0 +1,877 @@
+/*******************************************************************************
+ * 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.configuration.editors;
+
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.command.MoveCommand;
+import org.eclipse.emf.edit.command.RemoveCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.viewers.DecoratingLabelProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+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.SmooksConstants;
+import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
+import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.editor.ISourceSynchronizeListener;
+import org.jboss.tools.smooks.model.common.AbstractAnyType;
+import org.jboss.tools.smooks.model.graphics.ext.ISmooksGraphChangeListener;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.smooks.ConditionType;
+import org.jboss.tools.smooks.model.smooks.ConditionsType;
+import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.ParamType;
+import org.jboss.tools.smooks.model.smooks.ParamsType;
+import org.jboss.tools.smooks.model.smooks.SmooksFactory;
+import org.jboss.tools.smooks.model.smooks.SmooksPackage;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksConfigurationOverviewPage extends FormPage implements
ISmooksModelValidateListener,
+ ISmooksGraphChangeListener, ISourceSynchronizeListener {
+
+ private ISmooksModelProvider smooksModelProvider;
+ private Button newParamButton;
+ private Button removeParamButton;
+ private Button upParamButton;
+ private Button downParamButton;
+ private Button paramPropertiesButton;
+ private TableViewer paramViewer;
+ private TableViewer conditionViewer;
+ private Button newConditionButton;
+ private Button removeConditionButton;
+ private Button upConditionButton;
+ private Button downConditionButton;
+ private Button conditionPropertiesButton;
+ private Composite defaultSettingComposite;
+
+ public SmooksConfigurationOverviewPage(FormEditor editor, String id, String title,
ISmooksModelProvider provider) {
+ super(editor, id, title);
+ this.smooksModelProvider = provider;
+ ((SmooksMultiFormEditor)
editor).getSmooksGraphicsExt().addSmooksGraphChangeListener(this);
+
+ }
+
+ public SmooksConfigurationOverviewPage(String id, String title, ISmooksModelProvider
provider) {
+ super(id, title);
+ this.smooksModelProvider = provider;
+ }
+
+ protected void createFormContent(IManagedForm managedForm) {
+ final ScrolledForm form = managedForm.getForm();
+ FormToolkit toolkit = managedForm.getToolkit();
+ toolkit.decorateFormHeading(form.getForm());
+ String title = getTitle();
+ form.setText(title);
+ GridLayout gl = new GridLayout();
+ gl.marginHeight = 0;
+ gl.marginWidth = 0;
+ form.getBody().setLayout(gl);
+ Composite mainComposite = toolkit.createComposite(form.getBody());
+
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ mainComposite.setLayoutData(gd);
+
+ GridLayout mgl = new GridLayout();
+ mgl.numColumns = 2;
+ mgl.marginHeight = 13;
+ mainComposite.setLayout(mgl);
+
+ Section generalSettingSection = toolkit.createSection(mainComposite,
Section.DESCRIPTION | Section.TITLE_BAR);
+ generalSettingSection.setLayout(new FillLayout());
+ generalSettingSection.setText("Default Setting");
+ defaultSettingComposite = toolkit.createComposite(generalSettingSection);
+ generalSettingSection.setClient(defaultSettingComposite);
+ gd = new GridData();
+ gd.widthHint = 500;
+ generalSettingSection.setLayoutData(gd);
+
+ GridLayout ggl = new GridLayout();
+ defaultSettingComposite.setLayout(ggl);
+ ggl.numColumns = 2;
+ ggl.verticalSpacing = 0;
+
+ createDefaultSection(defaultSettingComposite, toolkit);
+
+ createSmooksEditorNavigator(mainComposite, toolkit);
+
+ Section globalParamSection = toolkit.createSection(mainComposite, Section.DESCRIPTION |
Section.TITLE_BAR);
+ globalParamSection.setText("Global Paramters");
+ globalParamSection.setLayout(new FillLayout());
+ Composite globalParamComposite = toolkit.createComposite(globalParamSection);
+ globalParamSection.setClient(globalParamComposite);
+ gd = new GridData();
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.widthHint = 500;
+ globalParamSection.setLayoutData(gd);
+
+ GridLayout gpgl = new GridLayout();
+ globalParamComposite.setLayout(gpgl);
+ gpgl.numColumns = 2;
+
+ createGlobalParamterSection(globalParamComposite, toolkit);
+
+ Section conditionSection = toolkit.createSection(mainComposite, Section.DESCRIPTION |
Section.TITLE_BAR
+ | Section.TWISTIE);
+ conditionSection.setText("Conditions");
+ conditionSection.setLayout(new FillLayout());
+ Composite conditionComposite = toolkit.createComposite(conditionSection);
+ conditionSection.setClient(conditionComposite);
+ gd = new GridData();
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.widthHint = 500;
+ conditionSection.setLayoutData(gd);
+
+ GridLayout cgl = new GridLayout();
+ conditionComposite.setLayout(cgl);
+ cgl.numColumns = 2;
+
+ createConditionsSection(conditionComposite, toolkit);
+
+ }
+
+ private ConditionsType getConditionsType() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ EObject m = ((DocumentRoot) smooksModel).getSmooksResourceList().getConditions();
+ return (ConditionsType) m;
+ }
+ }
+ return null;
+ }
+
+ private void createConditionsSection(Composite conditionComposite, FormToolkit toolkit)
{
+ if (smooksModelProvider != null) {
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
smooksModelProvider
+ .getEditingDomain();
+ ConditionsType conditions = getConditionsType();
+ // if (m == null)
+ // return;
+
+ conditionViewer = new TableViewer(conditionComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ conditionViewer.getControl().setLayoutData(gd);
+ toolkit.paintBordersFor(conditionComposite);
+ Composite buttonArea = toolkit.createComposite(conditionComposite);
+ gd = new GridData(GridData.FILL_VERTICAL);
+ gd.widthHint = 30;
+ GridLayout bgl = new GridLayout();
+ buttonArea.setLayout(bgl);
+
+ newConditionButton = toolkit.createButton(buttonArea, "New", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ newConditionButton.setLayoutData(gd);
+
+ removeConditionButton = toolkit.createButton(buttonArea, "Remove",
SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ removeConditionButton.setLayoutData(gd);
+
+ upConditionButton = toolkit.createButton(buttonArea, "Up", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ upConditionButton.setLayoutData(gd);
+
+ downConditionButton = toolkit.createButton(buttonArea, "Down", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ downConditionButton.setLayoutData(gd);
+
+ conditionPropertiesButton = toolkit.createButton(buttonArea, "Properties..",
SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ conditionPropertiesButton.setLayoutData(gd);
+
+ conditionViewer.setContentProvider(new
AdapterFactoryContentProvider(editingDomain.getAdapterFactory()) {
+
+ @Override
+ public boolean hasChildren(Object object) {
+ return false;
+ }
+
+ });
+
+ conditionViewer.setLabelProvider(new DecoratingLabelProvider(new
AdapterFactoryLabelProvider(editingDomain
+ .getAdapterFactory()) {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+ * # getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object object) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(object);
+ if (obj instanceof AbstractAnyType) {
+ return super.getText(obj);
+ }
+ return super.getText(object);
+ }
+
+ },
SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
+
+ if (conditions != null) {
+ conditionViewer.setInput(conditions);
+ }
+
+ conditionViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+ public void doubleClick(DoubleClickEvent event) {
+ openConditionPropertiesModifyDialog();
+ }
+ });
+
+ conditionViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateConditionsButtons();
+ }
+ });
+
+ hookConditionsButtons();
+ updateConditionsButtons();
+ }
+ }
+
+ protected void hookConditionsButtons() {
+ newConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (getSmooksVersion() == null ||
getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ return;
+ }
+ ConditionType condition = SmooksFactory.eINSTANCE.createConditionType();
+ ConditionsType parent = getConditionsType();
+ boolean newParent = false;
+ if (parent == null) {
+ newParent = true;
+ parent = SmooksFactory.eINSTANCE.createConditionsType();
+
+ }
+ NewOrModifySmooksElementDialog dialog = new
NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.CONDITIONS_TYPE__CONDITION, condition, parent,
getManagedForm()
+ .getToolkit(), smooksModelProvider, SmooksConfigurationOverviewPage.this,
false);
+ if (dialog.open() == Dialog.OK && newParent) {
+ EObject resource = getSmooksResourceList();
+ if (resource == null)
+ return;
+ Command command = SetCommand.create(smooksModelProvider.getEditingDomain(),
resource,
+ SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE__CONDITIONS, parent);
+ if (command.canExecute()) {
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ conditionViewer.setInput(parent);
+ }
+ }
+ super.widgetSelected(e);
+ }
+
+ });
+ removeConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection)
conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionType condition = (ConditionType) obj;
+ ConditionsType parent = getConditionsType();
+ if (parent == null)
+ return;
+ CompoundCommand compoundCommand = new CompoundCommand();
+ Command command = RemoveCommand.create(smooksModelProvider.getEditingDomain(),
condition);
+ compoundCommand.append(command);
+ if (parent.getCondition().size() == 1) {
+ // remove parent;
+ Command command1 = RemoveCommand.create(smooksModelProvider.getEditingDomain(),
parent);
+ compoundCommand.append(command1);
+ }
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(compoundCommand);
+ }
+ }
+
+ });
+ upConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection)
conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index - 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ downConditionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection)
conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index + 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ conditionPropertiesButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ openConditionPropertiesModifyDialog();
+ super.widgetSelected(e);
+ }
+
+ });
+
+ }
+
+ protected void updateConditionsButtons() {
+ if (getSmooksVersion() == null ||
getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ conditionPropertiesButton.setEnabled(false);
+ newConditionButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ return;
+ }
+ conditionPropertiesButton.setEnabled(true);
+ removeConditionButton.setEnabled(true);
+ IStructuredSelection selection = (IStructuredSelection)
conditionViewer.getSelection();
+ if (selection == null) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ } else {
+ if (selection.getFirstElement() == null) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ upConditionButton.setEnabled(false);
+ downConditionButton.setEnabled(false);
+ return;
+ }
+
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionsType conditionsType = getConditionsType();
+ if (conditionsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index - 1);
+ upConditionButton.setEnabled(command.canExecute());
+
+ Command command1 = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index + 1);
+ downConditionButton.setEnabled(command1.canExecute());
+ }
+
+ if (selection.size() > 1) {
+ conditionPropertiesButton.setEnabled(false);
+ removeConditionButton.setEnabled(false);
+ }
+ }
+ }
+
+ protected void openConditionPropertiesModifyDialog() {
+ IStructuredSelection selection = (IStructuredSelection)
conditionViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ConditionType) {
+ ConditionType condition = (ConditionType) obj;
+ ConditionsType parent = getConditionsType();
+ NewOrModifySmooksElementDialog dialog = new
NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.CONDITIONS_TYPE__CONDITION, condition, parent,
+ getManagedForm().getToolkit(), smooksModelProvider,
SmooksConfigurationOverviewPage.this, true);
+ dialog.open();
+ }
+ }
+
+ private ParamsType getParamsType() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ EObject m = ((DocumentRoot) smooksModel).getSmooksResourceList().getParams();
+ return (ParamsType) m;
+ }
+ }
+ return null;
+ }
+
+ private void createGlobalParamterSection(Composite globalParamComposite, FormToolkit
toolkit) {
+ // ModelPanelCreator creator = new ModelPanelCreator();
+ if (smooksModelProvider != null) {
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
smooksModelProvider
+ .getEditingDomain();
+ ParamsType m = getParamsType();
+ // if (m == null)
+ // return;
+
+ paramViewer = new TableViewer(globalParamComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ paramViewer.getControl().setLayoutData(gd);
+ toolkit.paintBordersFor(globalParamComposite);
+ Composite buttonArea = toolkit.createComposite(globalParamComposite);
+ gd = new GridData(GridData.FILL_VERTICAL);
+ gd.widthHint = 30;
+ GridLayout bgl = new GridLayout();
+ buttonArea.setLayout(bgl);
+
+ newParamButton = toolkit.createButton(buttonArea, "New", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ newParamButton.setLayoutData(gd);
+
+ removeParamButton = toolkit.createButton(buttonArea, "Remove", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ removeParamButton.setLayoutData(gd);
+
+ upParamButton = toolkit.createButton(buttonArea, "Up", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ upParamButton.setLayoutData(gd);
+
+ downParamButton = toolkit.createButton(buttonArea, "Down", SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ downParamButton.setLayoutData(gd);
+
+ paramPropertiesButton = toolkit.createButton(buttonArea, "Properties..",
SWT.NONE);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ paramPropertiesButton.setLayoutData(gd);
+
+ paramViewer.setContentProvider(new
AdapterFactoryContentProvider(editingDomain.getAdapterFactory()) {
+
+ @Override
+ public boolean hasChildren(Object object) {
+ return false;
+ }
+
+ });
+
+ paramViewer.setLabelProvider(new DecoratingLabelProvider(new
AdapterFactoryLabelProvider(editingDomain
+ .getAdapterFactory()) {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+ * # getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object object) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(object);
+ if (obj instanceof AbstractAnyType) {
+ return super.getText(obj);
+ }
+ return super.getText(object);
+ }
+
+ },
SmooksConfigurationActivator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
+ if (m != null) {
+ paramViewer.setInput(m);
+ }
+
+ paramViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+ public void doubleClick(DoubleClickEvent event) {
+ openParamPropertiesModifyDialog();
+ }
+ });
+
+ paramViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateParamButtons();
+ }
+ });
+
+ hookGlobalParamterButtons();
+ updateParamButtons();
+ }
+
+ }
+
+ protected void updateParamButtons() {
+ if (getSmooksVersion() == null ||
getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ paramPropertiesButton.setEnabled(false);
+ newParamButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ return;
+ }
+ paramPropertiesButton.setEnabled(true);
+ removeParamButton.setEnabled(true);
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ } else {
+ if (selection.getFirstElement() == null) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ upParamButton.setEnabled(false);
+ downParamButton.setEnabled(false);
+ return;
+ }
+
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index - 1);
+ upParamButton.setEnabled(command.canExecute());
+
+ Command command1 = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index + 1);
+ downParamButton.setEnabled(command1.canExecute());
+ }
+
+ if (selection.size() > 1) {
+ paramPropertiesButton.setEnabled(false);
+ removeParamButton.setEnabled(false);
+ }
+ }
+
+ }
+
+ private String getSmooksVersion() {
+ if (smooksModelProvider != null) {
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof DocumentRoot) {
+ return SmooksConstants.VERSION_1_1;
+ }
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ return SmooksConstants.VERSION_1_0;
+ }
+ }
+ return null;
+ }
+
+ private void hookGlobalParamterButtons() {
+ newParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (getSmooksVersion() == null ||
getSmooksVersion().equals(SmooksConstants.VERSION_1_0)) {
+ return;
+ }
+ ParamType param = SmooksFactory.eINSTANCE.createParamType();
+ ParamsType parent = getParamsType();
+ boolean newParent = false;
+ if (parent == null) {
+ newParent = true;
+ parent = SmooksFactory.eINSTANCE.createParamsType();
+ EObject resource = getSmooksResourceList();
+ if (resource == null)
+ return;
+ Command command = SetCommand.create(smooksModelProvider.getEditingDomain(),
resource,
+ SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE__PARAMS, parent);
+ if (command.canExecute()) {
+ ((SmooksResourceListType) resource).setParams((ParamsType) parent);
+ paramViewer.setInput(parent);
+ }
+ }
+ NewOrModifySmooksElementDialog dialog = new
NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.PARAMS_TYPE__PARAM, param, parent,
getManagedForm().getToolkit(),
+ smooksModelProvider, SmooksConfigurationOverviewPage.this, false);
+ if (dialog.open() == Dialog.CANCEL && newParent) {
+ EObject resource = getSmooksResourceList();
+ ((SmooksResourceListType) resource).setParams(null);
+ paramViewer.setInput(null);
+ }
+ super.widgetSelected(e);
+ }
+
+ });
+ removeParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamType param = (ParamType) obj;
+ ParamsType parent = getParamsType();
+ if (parent == null)
+ return;
+ CompoundCommand compoundCommand = new CompoundCommand();
+ Command command = RemoveCommand.create(smooksModelProvider.getEditingDomain(),
param);
+ compoundCommand.append(command);
+ if (parent.getParam().size() == 1) {
+ // remove parent;
+ Command command1 = RemoveCommand.create(smooksModelProvider.getEditingDomain(),
parent);
+ compoundCommand.append(command1);
+ }
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(compoundCommand);
+ }
+ }
+
+ });
+ upParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index - 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ downParamButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamsType paramsType = getParamsType();
+ if (paramsType == null)
+ return;
+ EObject v = (EObject) AdapterFactoryEditingDomain.unwrap(obj);
+ EObject parent = v.eContainer();
+ int index = parent.eContents().indexOf(v);
+ Command command = MoveCommand.create(smooksModelProvider.getEditingDomain(), parent,
null, obj,
+ index + 1);
+ smooksModelProvider.getEditingDomain().getCommandStack().execute(command);
+ }
+ }
+
+ });
+ paramPropertiesButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ openParamPropertiesModifyDialog();
+ super.widgetSelected(e);
+ }
+
+ });
+ }
+
+ protected void openParamPropertiesModifyDialog() {
+ IStructuredSelection selection = (IStructuredSelection) paramViewer.getSelection();
+ if (selection == null)
+ return;
+ Object obj = selection.getFirstElement();
+ if (obj instanceof ParamType) {
+ ParamType param = (ParamType) obj;
+ ParamsType parent = getParamsType();
+ NewOrModifySmooksElementDialog dialog = new
NewOrModifySmooksElementDialog(getEditorSite().getShell(),
+ SmooksPackage.Literals.PARAMS_TYPE__PARAM, param, parent,
getManagedForm().getToolkit(),
+ smooksModelProvider, SmooksConfigurationOverviewPage.this, true);
+ dialog.open();
+ }
+ }
+
+ private void createSmooksEditorNavigator(Composite mainComposite, FormToolkit toolkit)
{
+ Composite mainNavigatorComposite = toolkit.createComposite(mainComposite);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.verticalSpan = 3;
+ mainNavigatorComposite.setLayoutData(gd);
+
+ GridLayout gl = new GridLayout();
+ gl.numColumns = 2;
+ gl.marginWidth = 0;
+ gl.marginHeight = 0;
+ mainNavigatorComposite.setLayout(gl);
+
+ Section navigator = toolkit.createSection(mainNavigatorComposite, Section.DESCRIPTION |
Section.TITLE_BAR);
+ navigator.setText("Smooks Editor Navigator");
+ navigator.setLayout(new FillLayout());
+ Composite navigatorComposite = toolkit.createComposite(navigator);
+ navigator.setClient(navigatorComposite);
+
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.verticalAlignment = GridData.BEGINNING;
+ navigator.setLayoutData(gd);
+
+ navigatorComposite.setLayout(new FormLayout());
+
+ Label label1 = toolkit.createLabel(navigatorComposite, "Define the ");
+ FormData data = new FormData ();
+ data.left = new FormAttachment(label1);
+ Hyperlink defaultSettingLink = toolkit.createHyperlink(navigatorComposite,
"default setting", SWT.NONE);
+ defaultSettingLink.setLayoutData(data);
+
+ Label label2 = toolkit.createLabel(navigatorComposite, " and ");
+ data = new FormData ();
+ data.left = new FormAttachment(defaultSettingLink);
+ label2.setLayoutData(data);
+
+ data = new FormData ();
+ data.left = new FormAttachment(label2);
+ Hyperlink paramLink = toolkit.createHyperlink(navigatorComposite, "global
paramters", SWT.NONE);
+ paramLink.setLayoutData(data);
+
+ data = new FormData ();
+ data.left = new FormAttachment(paramLink);
+ Label label3 = toolkit.createLabel(navigatorComposite, " at this page.");
+ label3.setLayoutData(data);
+ }
+
+ private EObject getSmooksResourceList() {
+ if (smooksModelProvider != null) {
+ EObject m = null;
+ EObject smooksModel = smooksModelProvider.getSmooksModel();
+ if (smooksModel instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) {
+ m = ((org.jboss.tools.smooks10.model.smooks.DocumentRoot)
smooksModel).getSmooksResourceList();
+ }
+ if (smooksModel instanceof DocumentRoot) {
+ m = ((DocumentRoot) smooksModel).getSmooksResourceList();
+ }
+ return m;
+ }
+ return null;
+ }
+
+ private void createDefaultSection(Composite parent, FormToolkit toolkit) {
+ ModelPanelCreator creator = new ModelPanelCreator();
+ EObject model = getSmooksResourceList();
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain)
smooksModelProvider
+ .getEditingDomain();
+ IItemPropertySource itemPropertySource = (IItemPropertySource)
editingDomain.getAdapterFactory().adapt(model,
+ IItemPropertySource.class);
+ if (model != null) {
+ creator.createModelPanel(model, toolkit, parent, itemPropertySource,
smooksModelProvider, getEditor());
+ }
+
+ }
+
+ public void saveComplete(SmooksGraphicsExtType extType) {
+
+ }
+
+ public void validateEnd(List<Diagnostic> diagnosticResult) {
+
+ }
+
+ public void validateStart() {
+
+ }
+
+ public void sourceChange(Object model) {
+ disposeDefaultSettingCompositeControls();
+ createDefaultSection(defaultSettingComposite, this.getManagedForm().getToolkit());
+ defaultSettingComposite.getParent().layout();
+
+ paramViewer.setInput(getParamsType());
+ conditionViewer.setInput(getConditionsType());
+ }
+
+ protected void disposeCompositeControls(Composite composite, Control[] ignoreControl) {
+ if (composite != null) {
+ Control[] children = composite.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ Control child = children[i];
+ if (ignoreControl != null) {
+ for (int j = 0; j < ignoreControl.length; j++) {
+ if (child == ignoreControl[j]) {
+ continue;
+ }
+ }
+ }
+ child.dispose();
+ child = null;
+ }
+ }
+ }
+
+ private void disposeDefaultSettingCompositeControls() {
+ disposeCompositeControls(defaultSettingComposite, null);
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksConfigurationOverviewPage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -60,6 +60,7 @@
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.common.AbstractAnyType;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.ParamsType;
/**
* @author Dart Peng (dpeng(a)redhat.com)
@@ -401,6 +402,9 @@
public boolean select(Viewer viewer, Object parentElement, Object element) {
Object obj = element;
obj = AdapterFactoryEditingDomain.unwrap(obj);
+ if(obj instanceof ParamsType){
+ return false;
+ }
if (obj instanceof BasicFeatureMapEntry) {
EStructuralFeature sf = ((BasicFeatureMapEntry) obj).getEStructuralFeature();
if (sf.equals(XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT)
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-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMultiFormEditor.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -33,6 +33,8 @@
private SmooksGraphicalEditorPart graphicalPage;
+ private SmooksConfigurationOverviewPage overViewPage;
+
/*
* (non-Javadoc)
*
@@ -40,8 +42,19 @@
*/
@Override
protected void addPages() {
+ overViewPage = createSmooksConfigurationOverviewPage();
+ addValidateListener(overViewPage);
+ addSourceSynchronizeListener(overViewPage);
+ try {
+ int index = this.addPage(overViewPage);
+ setPageText(index, "Overview");
+ } catch (PartInitException e) {
+ e.printStackTrace();
+ }
+
configurationPage = createSmooksConfigurationFormPage();
addValidateListener(configurationPage);
+ addSourceSynchronizeListener(configurationPage);
try {
int index = this.addPage(configurationPage);
setPageText(index, "Design");
@@ -49,17 +62,21 @@
e.printStackTrace();
}
-// graphicalPage = new SmooksGraphicalEditorPart(this);
-// try {
-// int index = this.addPage(graphicalPage, getEditorInput());
-// setPageText(index, "Graph");
-// } catch (PartInitException e) {
-// e.printStackTrace();
-// }
+ // graphicalPage = new SmooksGraphicalEditorPart(this);
+ // try {
+ // int index = this.addPage(graphicalPage, getEditorInput());
+ // setPageText(index, "Graph");
+ // } catch (PartInitException e) {
+ // e.printStackTrace();
+ // }
super.addPages();
}
+ private SmooksConfigurationOverviewPage createSmooksConfigurationOverviewPage() {
+ return new SmooksConfigurationOverviewPage(this, "Overview",
"Overview", this);
+ }
+
@Override
public void doSave(IProgressMonitor monitor) {
super.doSave(monitor);
@@ -110,6 +127,5 @@
@Override
protected void createNewModelViaTextPage() {
super.createNewModelViaTextPage();
- configurationPage.setSmooksModel(this.smooksModel);
}
}
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-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -825,11 +825,11 @@
Object editValue = getEditValue(itemPropertyDescriptor, fm);
if (editValue != null) {
String vt = valueText.getText();
- if (valueText.getText() == null || valueText.getText().length() == 0) {
+ if (vt == null || vt.length() == 0) {
itemPropertyDescriptor.setPropertyValue(fm, null);
} else {
- if (!editValue.equals(valueText.getText())) {
- itemPropertyDescriptor.setPropertyValue(fm, valueText.getText());
+ if (!editValue.equals(vt)) {
+ itemPropertyDescriptor.setPropertyValue(fm, vt);
}
}
} else {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2009-08-05
10:51:10 UTC (rev 16967)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/AbstractSmooksFormEditor.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -3,6 +3,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.EventObject;
@@ -86,6 +87,9 @@
public class AbstractSmooksFormEditor extends FormEditor implements
IEditingDomainProvider,
ISmooksModelValidateListener , ISmooksModelProvider{
+
+ protected List<ISourceSynchronizeListener> sourceSynchronizeListener = new
ArrayList<ISourceSynchronizeListener>();
+
public static final String EDITOR_ID =
"org.jboss.tools.smooks.edimap.editors.MultiPageEditor";
protected StructuredTextEditor textEditor = null;
@@ -114,6 +118,14 @@
super();
initEditingDomain();
}
+
+ public void addSourceSynchronizeListener(ISourceSynchronizeListener listener){
+ this.sourceSynchronizeListener.add(listener);
+ }
+
+ public void removeSourceSynchronizeListener(ISourceSynchronizeListener listener){
+ this.sourceSynchronizeListener.remove(listener);
+ }
private void handleCommandStack(BasicCommandStack commandStack) {
commandStack.addCommandStackListener(new CommandStackListener() {
@@ -353,6 +365,10 @@
smooksModel = null;
SmooksConfigurationActivator.getDefault().log(e);
}
+ for (Iterator<?> iterator = this.sourceSynchronizeListener.iterator();
iterator.hasNext();) {
+ ISourceSynchronizeListener l = (ISourceSynchronizeListener) iterator.next();
+ l.sourceChange(smooksModel);
+ }
}
protected void handleDocumentChange() {
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java 2009-08-05
17:21:47 UTC (rev 16968)
@@ -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.editor;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISourceSynchronizeListener {
+ public void sourceChange(Object model);
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/editor/ISourceSynchronizeListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain