1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-09 01:05:38 +02:00

Bug 135118: Modules view is not updated.

This commit is contained in:
Mikhail Khodjaiants 2006-04-05 19:27:15 +00:00
parent 69f829d455
commit ab7dcca459
4 changed files with 50 additions and 7 deletions

View file

@ -1,3 +1,15 @@
2006-04-05 Mikhail Khodjaiants
Bug 135118: Modules view is not updated.
* ModuleProxyFactory.java
* ModulesViewEventHandler.java
* ModulesViewModelProxy.java
2006-04-05 Mikhail Khodjaiants
Corrected the shared library image selection.
* CDebugImages.java
* CDebugModelPresentation.java
- icons/ovr16/symbols_ovr.gif
2006-04-04 Mikhail Khodjaiants
See bug 134871: StackOverflowError using AsynchronousViewer.
* ModulesView.java

View file

@ -28,7 +28,7 @@ public class ModuleProxyFactory implements IModelProxyFactoryAdapter {
String id = part.getSite().getId();
if ( ICDebugUIConstants.ID_MODULES_VIEW.equals( id ) ) {
if ( element instanceof IModuleRetrieval ) {
return new ModulesViewModelProxy();
return new ModulesViewModelProxy( (IModuleRetrieval)element );
}
}
}

View file

@ -11,7 +11,9 @@
package org.eclipse.cdt.debug.internal.ui.views.modules;
import org.eclipse.cdt.debug.core.model.ICModule;
import org.eclipse.cdt.debug.core.model.IModuleRetrieval;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
import org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta;
@ -23,11 +25,14 @@ import org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler;
*/
public class ModulesViewEventHandler extends DebugEventHandler {
private IModuleRetrieval fModuleRetrieval;
/**
* Constructor for ModulesViewEventHandler.
*/
public ModulesViewEventHandler( AbstractModelProxy proxy ) {
public ModulesViewEventHandler( AbstractModelProxy proxy, IModuleRetrieval moduleRetrieval ) {
super( proxy );
fModuleRetrieval = moduleRetrieval;
}
/* (non-Javadoc)
@ -46,7 +51,7 @@ public class ModulesViewEventHandler extends DebugEventHandler {
*/
protected void handleChange( DebugEvent event ) {
if ( event.getSource() instanceof ICModule )
fireDelta( new ModelDelta( event.getSource(), IModelDelta.STATE ) );
fireDelta( (ICModule)event.getSource(), IModelDelta.STATE );
}
/* (non-Javadoc)
@ -57,7 +62,7 @@ public class ModulesViewEventHandler extends DebugEventHandler {
refreshRoot( event );
}
else if ( event.getSource() instanceof ICModule ) {
fireDelta( new ModelDelta( event.getSource(), IModelDelta.ADDED ) );
fireDelta( (ICModule)event.getSource(), IModelDelta.ADDED );
}
}
@ -69,7 +74,21 @@ public class ModulesViewEventHandler extends DebugEventHandler {
refreshRoot( event );
}
else if ( event.getSource() instanceof ICModule ) {
fireDelta( new ModelDelta( event.getSource(), IModelDelta.REMOVED ) );
fireDelta( (ICModule)event.getSource(), IModelDelta.REMOVED );
}
}
private void fireDelta( ICModule module, int flags ) {
ModelDelta root = new ModelDelta( fModuleRetrieval, IModelDelta.NO_CHANGE );
root.addNode( module, flags );
fireDelta( root );
}
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#dispose()
*/
public synchronized void dispose() {
super.dispose();
fModuleRetrieval = null;
}
}

View file

@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.cdt.debug.internal.ui.views.modules;
import org.eclipse.cdt.debug.core.model.IModuleRetrieval;
import org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler;
import org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy;
@ -18,17 +19,28 @@ import org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy;
*/
public class ModulesViewModelProxy extends EventHandlerModelProxy {
private IModuleRetrieval fModuleRetrieval;
/**
* Constructor for ModulesViewModelProxy.
*/
public ModulesViewModelProxy() {
public ModulesViewModelProxy( IModuleRetrieval moduleRetrieval ) {
super();
fModuleRetrieval = moduleRetrieval;
}
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#createEventHandlers()
*/
protected DebugEventHandler[] createEventHandlers() {
return new DebugEventHandler[] { new ModulesViewEventHandler( this ) };
return new DebugEventHandler[] { new ModulesViewEventHandler( this, fModuleRetrieval ) };
}
/* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
*/
public synchronized void dispose() {
super.dispose();
fModuleRetrieval = null;
}
}