Author: DartPeng
Date: 2008-11-11 04:50:46 -0500 (Tue, 11 Nov 2008)
New Revision: 11656
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/ISaveListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SaveResult.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksTextEdtor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java
Log:
JBIDE-3143
Add a source text page/
if there are any errors during parsing the smooks configuration file , the mulit editor
will show the xml text editor , other page will be disable.
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksTextEdtor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksTextEdtor.java 2008-11-11
09:29:54 UTC (rev 11655)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksTextEdtor.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -4,38 +4,106 @@
package org.jboss.tools.smooks.ui;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
-import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.jboss.tools.smooks.ui.editors.ISaveListener;
+import org.jboss.tools.smooks.ui.editors.SaveResult;
import org.jboss.tools.smooks.utils.SmooksGraphConstants;
/**
* @author Dart
*
*/
-public class SmooksTextEdtor extends TextEditor {
+public class SmooksTextEdtor extends StructuredTextEditor {
+ private List<ISaveListener> saveListenerList = new
ArrayList<ISaveListener>();
+
private Throwable error;
+ private Composite errorComposite;
+ private Label messageLabel;
public SmooksTextEdtor(Throwable error) {
super();
- Assert.isNotNull(error);
+ this.setErrorMessage(error);
+ }
+
+ public SmooksTextEdtor() {
+ this(null);
+ }
+
+ public void addSaveListener(ISaveListener listener) {
+ if (listener != null)
+ this.saveListenerList.add(listener);
+ }
+
+ public void removeSaveListener(ISaveListener listener){
+ if (listener != null)
+ this.saveListenerList.remove(listener);
+ }
+
+ public void cleanSaveListenerList(){
+ saveListenerList.clear();
+ }
+
+ public void setErrorMessage(Throwable error) {
+ if (error == null)
+ return;
this.error = error;
- while(this.error != null && this.error instanceof InvocationTargetException){
- this.error = ((InvocationTargetException)this.error).getTargetException();
+ while (this.error != null
+ && this.error instanceof InvocationTargetException) {
+ this.error = ((InvocationTargetException) this.error)
+ .getTargetException();
}
+ String errorMessage = null;
+ if (error != null)
+ errorMessage = error.getLocalizedMessage();
+ if (errorMessage == null)
+ errorMessage = Messages
+ .getString("SmooksTextEdtor.UnKnownErrorMessage"); //$NON-NLS-1$
+ if (messageLabel != null)
+ messageLabel.setText(errorMessage);
}
+ public void setErrorMessage(String message) {
+ if (message == null) {
+ GridData gd = new GridData();
+ gd.exclude = true;
+ this.errorComposite.setLayoutData(gd);
+ } else {
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ errorComposite.setLayoutData(gd);
+ messageLabel.setText(message);
+ }
+ }
+
+ public void doSave(IProgressMonitor monitor) {
+ SaveResult result = new SaveResult();
+ result.setSourceEdtior(this);
+ for (Iterator<ISaveListener> iterator = saveListenerList.iterator();
iterator.hasNext();) {
+ ISaveListener l = (ISaveListener) iterator.next();
+ l.preSave(result);
+ }
+ super.doSave(monitor);
+ for (Iterator<ISaveListener> iterator = saveListenerList.iterator();
iterator.hasNext();) {
+ ISaveListener l = (ISaveListener) iterator.next();
+ l.endSave(result);
+ }
+ }
+
public void createPartControl(Composite parent) {
GridLayout gridLayout = new GridLayout();
parent.setLayout(gridLayout);
- Composite errorComposite = new Composite(parent, SWT.BORDER);
+ errorComposite = new Composite(parent, SWT.BORDER);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
errorComposite.setLayoutData(gd);
@@ -43,8 +111,8 @@
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
noticeLabel.setLayoutData(gd);
- noticeLabel
- .setText(Messages.getString("SmooksTextEdtor.NotifyTitleMessage"));
//$NON-NLS-1$
+ noticeLabel.setText(Messages
+ .getString("SmooksTextEdtor.NotifyTitleMessage")); //$NON-NLS-1$
GridLayout gl = new GridLayout();
gl.numColumns = 2;
@@ -56,13 +124,23 @@
imagelabel.setImage(SmooksUIActivator.getDefault().getImageRegistry()
.get(SmooksGraphConstants.IMAGE_ERROR));
- Label messageLabel = new Label(errorComposite, SWT.NONE);
- String errorMessage = error.getLocalizedMessage();
- if(errorMessage == null ) errorMessage =
Messages.getString("SmooksTextEdtor.UnKnownErrorMessage"); //$NON-NLS-1$
+ messageLabel = new Label(errorComposite, SWT.NONE);
+ String errorMessage = null;
+ if (error != null)
+ errorMessage = error.getLocalizedMessage();
+ if (errorMessage == null)
+ errorMessage = Messages
+ .getString("SmooksTextEdtor.UnKnownErrorMessage"); //$NON-NLS-1$
messageLabel.setText(errorMessage);
gd = new GridData(GridData.FILL_HORIZONTAL);
messageLabel.setLayoutData(gd);
+ if (error == null) {
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.exclude = true;
+ errorComposite.setLayoutData(gd);
+ }
+
Composite textComposite = new Composite(parent, SWT.NONE);
gd = new GridData(GridData.FILL_BOTH);
textComposite.setLayoutData(gd);
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/ISaveListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/ISaveListener.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/ISaveListener.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -0,0 +1,14 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.ui.editors;
+
+/**
+ * @author Dart
+ *
+ */
+public interface ISaveListener {
+ public void preSave(SaveResult result);
+
+ public void endSave(SaveResult result);
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/ISaveListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SaveResult.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SaveResult.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SaveResult.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.ui.editors;
+
+import org.eclipse.ui.IEditorPart;
+
+/**
+ * @author Dart
+ *
+ */
+public class SaveResult {
+ private Throwable error;
+
+ private IEditorPart sourceEdtior;
+
+ public IEditorPart getSourceEdtior() {
+ return sourceEdtior;
+ }
+
+ public void setSourceEdtior(IEditorPart sourceEdtior) {
+ this.sourceEdtior = sourceEdtior;
+ }
+
+ public Throwable getError() {
+ return error;
+ }
+
+ public void setError(Throwable error) {
+ this.error = error;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SaveResult.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java 2008-11-11
09:29:54 UTC (rev 11655)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksFormEditor.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -34,7 +34,6 @@
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
import org.jboss.tools.smooks.analyzer.NormalSmooksModelBuilder;
import org.jboss.tools.smooks.analyzer.NormalSmooksModelPackage;
@@ -53,7 +52,7 @@
public class SmooksFormEditor extends FormEditor implements
ITabbedPropertySheetPageContributor {
- private StructuredTextEditor xmlTextEditor;
+ private SmooksTextEdtor xmlTextEditor;
private SmooksGraphicalFormPage graphicalPage = null;
@@ -109,6 +108,7 @@
// Set a default NormalPacakge to Normal Page
MappingResourceConfigList mappingResourceConfig = graphicalPage
.getMappingResourceConfigList();
+ normalPage.setDisableGUI(this.showTextEditorReason != null);
if (mappingResourceConfig != null) {
refreshNormalPage(mappingResourceConfig
.getRelationgResourceConfigList());
@@ -116,7 +116,7 @@
}
private void createXMLTextEditor() throws PartInitException {
- this.xmlTextEditor = new StructuredTextEditor();
+ this.xmlTextEditor = new SmooksTextEdtor(this.showTextEditorReason);
xmlTextEditor.setEditorPart(this);
int index = this.addPage(xmlTextEditor, getEditorInput());
this.setPageText(index, "Source");
@@ -128,17 +128,20 @@
createGraphicalEditor();
createConfigurationEditor();
createXMLTextEditor();
- if (onlyShowTextEditor) {
- removeGraphicalFormPage();
- }
+ assosiateEditors();
+ if (showTextEditorReason != null)
+ this.setActiveEditor(xmlTextEditor);
} catch (Exception e) {
UIUtils.showErrorDialog(getSite().getShell(), UIUtils
.createErrorStatus(e));
}
}
+
+ protected void assosiateEditors(){
+ xmlTextEditor.addSaveListener(graphicalPage);
+ }
- public void setOnlyShowTextEditor(boolean onlyShowTextEditor,
- Throwable reason) {
+ public void setParseException(boolean onlyShowTextEditor, Throwable reason) {
this.onlyShowTextEditor = onlyShowTextEditor;
this.showTextEditorReason = reason;
}
@@ -234,15 +237,12 @@
@Override
public void doSave(IProgressMonitor monitor) {
- if (onlyShowTextEditor) {
- if (textEdtior != null) {
- textEdtior.doSave(monitor);
- fireEditorDirty(false);
- return;
- }
- }
- graphicalPage.doSave(monitor);
- fireEditorDirty(false);
+ this.graphicalPage.doSave(monitor);
+// IEditorPart activeEditor = this.getEditor(this.getCurrentPage());
+// if (activeEditor != normalPage && activeEditor != null) {
+// activeEditor.doSave(monitor);
+// fireEditorDirty(false);
+// }
}
public void fireEditorDirty(boolean dirty) {
@@ -252,19 +252,12 @@
@Override
public void doSaveAs() {
- if (onlyShowTextEditor) {
- if (textEdtior != null) {
- textEdtior.doSaveAs();
- }
- }
}
@Override
public boolean isSaveAsAllowed() {
- // TODO Auto-generated method stub
return false;
}
-
@Override
protected IEditorSite createSite(IEditorPart editor) {
@@ -272,16 +265,18 @@
}
public Object getAdapter(Class adapter) {
- if(adapter == IPropertySheetPage.class){
+ if (adapter == IPropertySheetPage.class) {
System.out.println();
}
- if (adapter == IPropertySheetPage.class && this.getActiveEditor() ==
graphicalPage) {
+ if (adapter == IPropertySheetPage.class
+ && this.getActiveEditor() == graphicalPage) {
tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
return tabbedPropertySheetPage;
}
- if (adapter == IContentOutlinePage.class && this.getActiveEditor() ==
xmlTextEditor){
+ if (adapter == IContentOutlinePage.class
+ && this.getActiveEditor() == xmlTextEditor) {
return super.getAdapter(adapter);
- }else{
+ } else {
}
return super.getAdapter(adapter);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-11-11
09:29:54 UTC (rev 11655)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -86,6 +86,7 @@
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.IWorkbenchActionConstants;
@@ -99,6 +100,7 @@
import org.eclipse.ui.forms.widgets.Hyperlink;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
import org.jboss.tools.smooks.analyzer.AnalyzerFactory;
import org.jboss.tools.smooks.analyzer.DesignTimeAnalyzeResult;
import org.jboss.tools.smooks.analyzer.IMappingAnalyzer;
@@ -146,8 +148,10 @@
*/
public class SmooksGraphicalFormPage extends FormPage implements
ISelectionChangedListener, ISelectionProvider,
- org.eclipse.emf.common.command.CommandStackListener {
+ org.eclipse.emf.common.command.CommandStackListener, ISaveListener {
+ protected boolean disableMappingGUI = false;
+
private List<DesignTimeAnalyzeResult> analyzeResultList = new
ArrayList<DesignTimeAnalyzeResult>();
private static final String REFERENCE_MODEL = "__reference_model";
@@ -163,6 +167,7 @@
protected Hyperlink sourceLink = null;
protected Hyperlink targetLink = null;
protected String sourceDataTypeID = null;
+
public String getSourceDataTypeID() {
return sourceDataTypeID;
}
@@ -192,7 +197,7 @@
private List selectionChangeListener = new ArrayList();
private ISelection selection;
protected MappingResourceConfigList mappingResourceConfigList;
-
+
public MappingResourceConfigList getMappingResourceConfigList() {
return mappingResourceConfigList;
}
@@ -202,6 +207,8 @@
private Composite designTimeAnalyzeResultRegion;
+ private Section mappingGUISection;
+
public ISelection getSelection() {
return selection;
}
@@ -279,13 +286,13 @@
form.getBody().setLayout(gridLayout);
Composite rootMainControl = form.getBody();
form.setText("Data Mapping Page");
- Section section = this.createPageSectionHeader(rootMainControl,
+ mappingGUISection = this.createPageSectionHeader(rootMainControl,
Section.TITLE_BAR | Section.DESCRIPTION,
"Mapping Graph Edit Panel",
"Edit the source and target assosiation");
- Composite mainComposite = toolkit.createComposite(section);
- section.setClient(mainComposite);
+ Composite mainComposite = toolkit.createComposite(mappingGUISection);
+ mappingGUISection.setClient(mainComposite);
GridLayout mainLayout = new GridLayout();
mainComposite.setLayout(mainLayout);
@@ -306,7 +313,7 @@
// under the eclipse3.3
// mappingMainComposite.setSashWidth(1);
GridData sgd = new GridData(GridData.FILL_BOTH);
- section.setLayoutData(sgd);
+ mappingGUISection.setLayoutData(sgd);
{
Composite composite1 = toolkit
.createComposite(mappingMainComposite);
@@ -434,8 +441,50 @@
}
this.hookGraphicalViewer();
this.initGraphicalViewer();
+ initMappingGUIStates();
}
+ public void refreshAllGUI() {
+ sourceTreeViewerInputModel = null;
+ targetTreeViewerInputModel = null;
+ Throwable throwable = null;
+ try {
+ this.getSmooksResource().unload();
+ this.initTransformViewerModel((IEditorSite) getSite(),
+ getEditorInput());
+ } catch (IOWrappedException ex) {
+ MessageDialog.openWarning(getSite().getShell(), "Waring",
+ "Exceptions occurd during parsing Smooks file, no worries");
+ } catch (Throwable e) {
+ throwable = e;
+ }
+ if (throwable == null) {
+ this.disableMappingGUI = false;
+ if (mappingGUISection != null)
+ mappingGUISection.setEnabled(true);
+ if (initSourceTreeViewerProviders()) {
+ initSourceTreeViewer();
+ expandSourceConnectionModel();
+ }
+ if (initTargetTreeViewerProviders()) {
+ initTargetTreeViewer();
+ expandTargetConnectionModel();
+ }
+
+ this.redrawMappingPanel();
+ } else {
+ cleanMappingPanel();
+ this.disableMappingGUI = true;
+ mappingGUISection.setEnabled(false);
+ }
+ }
+
+ protected void initMappingGUIStates() {
+ if (this.disableMappingGUI) {
+ mappingGUISection.setEnabled(false);
+ }
+ }
+
protected void createOtherSmooksGUI(Composite parent, FormToolkit tool) {
Composite mainComposite = tool.createComposite(parent);
GridLayout gridLayout = new GridLayout();
@@ -610,6 +659,11 @@
}
}
+ /**
+ *
+ * @param clazz
+ * SourceModel/TargetModel
+ */
private void clearExsitingGraphModels(Class<? extends Object> clazz) {
if (rootModel != null) {
List children = rootModel.getChildren();
@@ -671,8 +725,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.forms.editor.FormPage#doSave(org.eclipse.core.runtime.
- * IProgressMonitor)
+ * @see
+ * org.eclipse.ui.forms.editor.FormPage#doSave(org.eclipse.core.runtime.
+ * IProgressMonitor)
*/
@Override
public void doSave(IProgressMonitor monitor) {
@@ -966,8 +1021,7 @@
}
smooksResource = this.getSmooksResource();
if (smooksResource != null) {
- if (!smooksResource.isLoaded())
- smooksResource.load(Collections.EMPTY_MAP);
+ smooksResource.load(Collections.EMPTY_MAP);
if (smooksResource.getContents().isEmpty())
return;
SmooksResourceListType listType = ((DocumentRoot) smooksResource
@@ -994,8 +1048,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.forms.editor.FormPage#init(org.eclipse.ui.IEditorSite,
- * org.eclipse.ui.IEditorInput)
+ * @see
+ * org.eclipse.ui.forms.editor.FormPage#init(org.eclipse.ui.IEditorSite,
+ * org.eclipse.ui.IEditorInput)
*/
public void init(IEditorSite site, IEditorInput input) {
super.init(site, input);
@@ -1017,9 +1072,9 @@
try {
this.initTransformViewerModel((IEditorSite) getSite(),
getEditorInput());
-// if (mappingResourceConfigList != null)
-// callParentRefillNormalModelInfor(mappingResourceConfigList
-// .getRelationgResourceConfigList());
+ // if (mappingResourceConfigList != null)
+ // callParentRefillNormalModelInfor(mappingResourceConfigList
+ // .getRelationgResourceConfigList());
} catch (IOWrappedException ex) {
MessageDialog.openWarning(getSite().getShell(), "Waring",
"Exceptions occurd during parsing Smooks file, no worries");
@@ -1027,8 +1082,8 @@
throwable = e;
}
if (throwable != null) {
- ((SmooksFormEditor) getEditor()).setOnlyShowTextEditor(true,
- throwable);
+ this.disableMappingGUI = true;
+ ((SmooksFormEditor) getEditor()).setParseException(true, throwable);
}
}
@@ -1080,7 +1135,8 @@
try {
if (viewer == this.sourceViewer) {
this.createSourceGraphModels();
- this.getSmooksConfigurationFileGenerateContext()
+ this
+ .getSmooksConfigurationFileGenerateContext()
.getProperties()
.setProperty(
SmooksConfigFileNewWizard.PRO_SOURCE_DATA_PATH,
@@ -1090,11 +1146,12 @@
if (viewer == this.targetViewer) {
this.createTargetGraphModels();
targetDataTypeID = typeID;
- this.getSmooksConfigurationFileGenerateContext()
- .getProperties()
- .setProperty(
- SmooksConfigFileNewWizard.PRO_TARGET_DATA_PATH,
- cw.getStructuredDataSourcePath());
+ this
+ .getSmooksConfigurationFileGenerateContext()
+ .getProperties()
+ .setProperty(
+ SmooksConfigFileNewWizard.PRO_TARGET_DATA_PATH,
+ cw.getStructuredDataSourcePath());
}
commandStackChanged = true;
firePropertyChange(PROP_DIRTY);
@@ -1110,6 +1167,19 @@
}
}
+ public void cleanMappingPanel() {
+ sourceViewer.setInput(Collections.EMPTY_LIST);
+ targetViewer.setInput(Collections.EMPTY_LIST);
+ clearExsitingGraphModels(SourceModel.class);
+ clearExsitingGraphModels(TargetModel.class);
+ }
+
+ public void redrawMappingPanel() {
+ this.createSourceGraphModels();
+ this.createTargetGraphModels();
+ createConnectionModels();
+ }
+
protected void createActions() {
ActionRegistry registry = getActionRegistry();
IAction action;
@@ -1142,8 +1212,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(org.
- * eclipse.ui.forms.events.HyperlinkEvent)
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkActivated(org.
+ * eclipse.ui.forms.events.HyperlinkEvent)
*/
public void linkActivated(HyperlinkEvent e) {
showCreationWizard(viewer);
@@ -1152,8 +1223,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.forms.events.IHyperlinkListener#linkEntered(org.eclipse
- * .ui.forms.events.HyperlinkEvent)
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkEntered(org.eclipse
+ * .ui.forms.events.HyperlinkEvent)
*/
public void linkEntered(HyperlinkEvent e) {
@@ -1162,8 +1234,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.ui.forms.events.IHyperlinkListener#linkExited(org.eclipse
- * .ui.forms.events.HyperlinkEvent)
+ * @see
+ * org.eclipse.ui.forms.events.IHyperlinkListener#linkExited(org.eclipse
+ * .ui.forms.events.HyperlinkEvent)
*/
public void linkExited(HyperlinkEvent e) {
@@ -1195,8 +1268,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets
- * .Event)
+ * @see
+ * org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets
+ * .Event)
*/
public void handleEvent(Event event) {
TreeItem item = (TreeItem) event.item;
@@ -1229,8 +1303,9 @@
/*
* (non-Javadoc)
*
- * @see org.eclipse.swt.events.PaintListener#paintControl(org.eclipse.swt
- * .events.PaintEvent)
+ * @see
+ * org.eclipse.swt.events.PaintListener#paintControl(org.eclipse.swt
+ * .events.PaintEvent)
*/
public void paintControl(PaintEvent e) {
Tree tree = (Tree) e.getSource();
@@ -1418,4 +1493,15 @@
this.editingDomain = editingDomain;
}
+ public void endSave(SaveResult result) {
+ IEditorPart editor = result.getSourceEdtior();
+ if (editor instanceof StructuredTextEditor) {
+ this.refreshAllGUI();
+ }
+ }
+
+ public void preSave(SaveResult result) {
+
+ }
+
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java 2008-11-11
09:29:54 UTC (rev 11655)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksNormalContentEditFormPage.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -59,6 +59,19 @@
private List hidenResourceConfigs;
+ private boolean disableGUI = false;
+
+ public boolean isDisableGUI() {
+ return disableGUI;
+ }
+
+ public void setDisableGUI(boolean disableGUI) {
+ this.disableGUI = disableGUI;
+ setGUIStates();
+ }
+
+ private Section parseTypeSection;
+
public SmooksNormalContentEditFormPage(FormEditor editor, String id,
String title, NormalSmooksModelPackage modelPacakge) {
super(editor, id, title);
@@ -98,8 +111,20 @@
form.pack();
this.initTransformTypeResourceConfig();
resourceBlock.initViewers(transformType);
+
+ setGUIStates();
}
+ public void setGUIStates() {
+ if(resourceBlock != null){
+ resourceBlock.setSectionStates(!disableGUI);
+ }
+
+ if(this.parseTypeSection != null && !parseTypeSection.isDisposed()){
+ parseTypeSection.setEnabled(!disableGUI);
+ }
+ }
+
private ResourceConfigType createTransformType() {
ResourceConfigType transformType = SmooksFactory.eINSTANCE
.createResourceConfigType();
@@ -151,12 +176,12 @@
protected void createSmooksTypeGUI(Composite mainComposite, FormToolkit tool) {
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- Section section = tool.createSection(mainComposite, Section.TITLE_BAR
+ parseTypeSection = tool.createSection(mainComposite, Section.TITLE_BAR
| Section.DESCRIPTION | Section.TWISTIE);
- section.setLayoutData(gd);
- Composite typeSelectComposite = tool.createComposite(section);
- section.setClient(typeSelectComposite);
- section.setText("Smooks Parse Type");
+ parseTypeSection.setLayoutData(gd);
+ Composite typeSelectComposite = tool.createComposite(parseTypeSection);
+ parseTypeSection.setClient(typeSelectComposite);
+ parseTypeSection.setText("Smooks Parse Type");
GridLayout layout1 = new GridLayout();
typeSelectComposite.setLayout(layout1);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java 2008-11-11
09:29:54 UTC (rev 11655)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksResourceConfigFormBlock.java 2008-11-11
09:50:46 UTC (rev 11656)
@@ -86,6 +86,8 @@
private Button downButton;
+ private Section configurationSection;
+
public SmooksResourceConfigFormBlock() {
super();
}
@@ -213,14 +215,14 @@
protected void createDataTypeGUI(Composite rootMainControl,
FormToolkit tool, final IManagedForm managedForm) {
- Section section = tool.createSection(rootMainControl, Section.TITLE_BAR
+ configurationSection = tool.createSection(rootMainControl, Section.TITLE_BAR
| Section.DESCRIPTION);
- section.setText("Data Type");
- sectionPart = new SectionPart(section);
+ configurationSection.setText("Data Type");
+ sectionPart = new SectionPart(configurationSection);
managedForm.addPart(sectionPart);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- Composite dataTypeComposite = tool.createComposite(section);
- section.setClient(dataTypeComposite);
+ Composite dataTypeComposite = tool.createComposite(configurationSection);
+ configurationSection.setClient(dataTypeComposite);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
layout.marginHeight = 0;
@@ -263,6 +265,12 @@
hookButtons();
}
+
+ public void setSectionStates(boolean state){
+ if(configurationSection != null && !configurationSection.isDisposed()){
+ configurationSection.setEnabled(state);
+ }
+ }
private void hookButtons() {
addButton.addSelectionListener(new SelectionAdapter() {