diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index d8b6d294c66..20a3d71518c 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,10 @@ +2004-06-12 Mikhail Khodjaiants + "CUpdateManager" extends "Observable" to support "Auto-Refresh" toggle actions. + * CRegisterManager.java + * CSharedLibraryManager.java + * CSignalManager.java + * CUpdateManager.jave + 2004-06-12 Mikhail Khodjaiants Changed the comments and copyright text. * ICUpdateManager.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java index e9e7ed78a79..4f04d0b3b13 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java @@ -59,6 +59,7 @@ public class CRegisterManager extends CUpdateManager implements ICRegisterManage public void dispose() { removeAllRegisterGroups(); + super.dispose(); } /* (non-Javadoc) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java index 94a886559a9..9c481401522 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java @@ -104,6 +104,7 @@ public class CSharedLibraryManager extends CUpdateManager implements ICSharedLib ((CSharedLibrary)it.next()).dispose(); } fSharedLibraries.clear(); + super.dispose(); } /* (non-Javadoc) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java index c3853d262a7..576f4bd9821 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java @@ -75,6 +75,7 @@ public class CSignalManager extends CUpdateManager implements ICSignalManager } fSignals = null; fIsDisposed = true; + super.dispose(); } /* (non-Javadoc) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java index d4a5fadf694..b10c74a05c7 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java @@ -6,6 +6,7 @@ package org.eclipse.cdt.debug.internal.core; +import java.util.Observable; import org.eclipse.cdt.debug.core.ICUpdateManager; import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.ICDIManager; @@ -20,7 +21,7 @@ import org.eclipse.debug.core.model.IDebugTarget; * * @since Mar 31, 2003 */ -public abstract class CUpdateManager implements ICUpdateManager, IAdaptable +public abstract class CUpdateManager extends Observable implements ICUpdateManager, IAdaptable { private CDebugTarget fDebugTarget = null; @@ -40,6 +41,9 @@ public abstract class CUpdateManager implements ICUpdateManager, IAdaptable if ( getCDIManager() != null ) { getCDIManager().setAutoUpdate( enable ); + setChanged(); + notifyObservers(); + clearChanged(); } } @@ -96,6 +100,8 @@ public abstract class CUpdateManager implements ICUpdateManager, IAdaptable return getDebugTarget(); if ( ICDebugTarget.class.equals( adapter ) ) return getDebugTarget(); + if ( Observable.class.equals( adapter ) ) + return this; return null; } @@ -104,5 +110,9 @@ public abstract class CUpdateManager implements ICUpdateManager, IAdaptable return fDebugTarget; } + public void dispose() { + deleteObservers(); + } + abstract protected ICDIManager getCDIManager(); }