From 8cfd0d0242624d063a02eaf39dd3a5c3c515861a Mon Sep 17 00:00:00 2001 From: Florian Hoelzl <hoelzl@fortiss.org> Date: Mon, 14 Nov 2011 16:23:07 +0000 Subject: [PATCH] fixed saveable for editors refs 151 --- .../ui/internal/editor/BindingEditor.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java index 007bf67f4..cecbb5c3f 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java @@ -18,11 +18,13 @@ $Id$ package org.fortiss.tooling.kernel.ui.internal.editor; import java.util.Collection; +import java.util.EventObject; import org.conqat.ide.commons.ui.logging.LoggingUtils; import org.conqat.lib.commons.collections.IdentityHashSet; import org.eclipse.core.resources.IMarker; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.common.command.CommandStackListener; import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.impl.AdapterImpl; @@ -30,6 +32,8 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.ISaveablePart; +import org.eclipse.ui.IWorkbenchPartConstants; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.MultiPageEditorPart; import org.eclipse.ui.views.properties.IPropertySheetPage; @@ -55,10 +59,11 @@ import org.fortiss.tooling.kernel.ui.service.IPropertiesService; * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 1924980FA5DF4510707A559F25799E8A + * @ConQAT.Rating RED Hash: 67AEFFDC48991458A33D3BF44819965E */ public class BindingEditor extends MultiPageEditorPart implements - ITabbedPropertySheetPageContributor { + ITabbedPropertySheetPageContributor, CommandStackListener, + ISaveablePart { /** The editor's ID. */ public static String ID = BindingEditor.class.getName(); @@ -154,6 +159,9 @@ public class BindingEditor extends MultiPageEditorPart implements setTitleImage(handler.getIcon()); editedObject.eAdapters().add(editedObjectChangeAdapter); + + ICommandStackService.INSTANCE.addCommandStackListener(editedObject, + this); } /** {@inheritDoc} */ @@ -196,6 +204,8 @@ public class BindingEditor extends MultiPageEditorPart implements /** {@inheritDoc} */ @Override public void dispose() { + ICommandStackService.INSTANCE.removeCommandStackListener(editedObject, + this); editedObject.eAdapters().remove(editedObjectChangeAdapter); super.dispose(); } @@ -244,4 +254,10 @@ public class BindingEditor extends MultiPageEditorPart implements public void gotoMarker(@SuppressWarnings("unused") IMarker marker) { // TODO (FH): implement marker goto } + + /** {@inheritDoc} */ + @Override + public void commandStackChanged(EventObject event) { + firePropertyChange(IWorkbenchPartConstants.PROP_DIRTY); + } } -- GitLab