mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 532058: Add refresh capability to breakpoints view
Change-Id: I831a79260a3666fec62fbd4b74ca668ea4edfc8e
This commit is contained in:
parent
d2d1c00631
commit
7cd1995573
5 changed files with 46 additions and 4 deletions
|
@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: %pluginName
|
Bundle-Name: %pluginName
|
||||||
Bundle-Vendor: %providerName
|
Bundle-Vendor: %providerName
|
||||||
Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.ui;singleton:=true
|
Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.ui;singleton:=true
|
||||||
Bundle-Version: 2.6.500.qualifier
|
Bundle-Version: 2.6.600.qualifier
|
||||||
Bundle-Activator: org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin
|
Bundle-Activator: org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin
|
||||||
Bundle-Localization: plugin
|
Bundle-Localization: plugin
|
||||||
Require-Bundle: org.eclipse.ui,
|
Require-Bundle: org.eclipse.ui,
|
||||||
|
|
|
@ -48,6 +48,7 @@ import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext;
|
||||||
import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
|
import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
|
||||||
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
|
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
|
||||||
import org.eclipse.cdt.dsf.mi.service.MIBreakpointsManager;
|
import org.eclipse.cdt.dsf.mi.service.MIBreakpointsManager;
|
||||||
|
import org.eclipse.cdt.dsf.mi.service.MIBreakpointsSynchronizer;
|
||||||
import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
||||||
import org.eclipse.cdt.dsf.service.DsfSession;
|
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
|
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
|
||||||
|
@ -398,4 +399,26 @@ public class GdbBreakpointVMProvider extends BreakpointVMProvider {
|
||||||
rm.done(true);
|
rm.done(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void refresh() {
|
||||||
|
super.refresh();
|
||||||
|
try {
|
||||||
|
fSession.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(),
|
||||||
|
fSession.getId());
|
||||||
|
MIBreakpointsSynchronizer breakpointsSynchronizer = tracker
|
||||||
|
.getService(MIBreakpointsSynchronizer.class);
|
||||||
|
if (breakpointsSynchronizer != null) {
|
||||||
|
breakpointsSynchronizer.flushCache(null);
|
||||||
|
}
|
||||||
|
tracker.dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (RejectedExecutionException e) {
|
||||||
|
// Session disposed, ignore.
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: %pluginName
|
Bundle-Name: %pluginName
|
||||||
Bundle-Vendor: %providerName
|
Bundle-Vendor: %providerName
|
||||||
Bundle-SymbolicName: org.eclipse.cdt.dsf.ui;singleton:=true
|
Bundle-SymbolicName: org.eclipse.cdt.dsf.ui;singleton:=true
|
||||||
Bundle-Version: 2.5.400.qualifier
|
Bundle-Version: 2.5.500.qualifier
|
||||||
Bundle-Activator: org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin
|
Bundle-Activator: org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin
|
||||||
Bundle-Localization: plugin
|
Bundle-Localization: plugin
|
||||||
Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
|
Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
|
||||||
|
|
|
@ -12,6 +12,19 @@
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension point="org.eclipse.ui.viewActions">
|
<extension point="org.eclipse.ui.viewActions">
|
||||||
|
<!-- Breakpoints View menu contributions -->
|
||||||
|
<viewContribution
|
||||||
|
id="org.eclipse.cdt.dsf.debug.ui.viewmodel.breakpoints.update.Refresh"
|
||||||
|
targetID="org.eclipse.debug.ui.BreakpointView">
|
||||||
|
<action
|
||||||
|
class="org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.actions.RefreshActionDelegate"
|
||||||
|
icon="icons/refresh.gif"
|
||||||
|
id="org.eclipse.cdt.dsf.debug.ui.breakpoints.viewmodel.update.actions.refresh"
|
||||||
|
label="%action.refresh.label"
|
||||||
|
toolbarPath="additions">
|
||||||
|
</action>
|
||||||
|
</viewContribution>
|
||||||
|
|
||||||
<!-- Variables View menu contributions -->
|
<!-- Variables View menu contributions -->
|
||||||
<viewContribution
|
<viewContribution
|
||||||
id="org.eclipse.cdt.dsf.debug.ui.viewmodel.variables.update.Refresh"
|
id="org.eclipse.cdt.dsf.debug.ui.viewmodel.variables.update.Refresh"
|
||||||
|
|
|
@ -29,11 +29,11 @@ import org.eclipse.cdt.dsf.datamodel.IDMContext;
|
||||||
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
|
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
|
||||||
import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin;
|
import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
|
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMProvider;
|
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.IVMModelProxy;
|
import org.eclipse.cdt.dsf.ui.viewmodel.IVMModelProxy;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.IVMNode;
|
import org.eclipse.cdt.dsf.ui.viewmodel.IVMNode;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.datamodel.IDMVMContext;
|
import org.eclipse.cdt.dsf.ui.viewmodel.datamodel.IDMVMContext;
|
||||||
import org.eclipse.cdt.dsf.ui.viewmodel.datamodel.RootDMVMNode;
|
import org.eclipse.cdt.dsf.ui.viewmodel.datamodel.RootDMVMNode;
|
||||||
|
import org.eclipse.cdt.dsf.ui.viewmodel.update.AbstractCachingVMProvider;
|
||||||
import org.eclipse.core.resources.IMarkerDelta;
|
import org.eclipse.core.resources.IMarkerDelta;
|
||||||
import org.eclipse.core.runtime.IAdaptable;
|
import org.eclipse.core.runtime.IAdaptable;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
@ -65,7 +65,7 @@ import org.eclipse.ui.IWorkbenchWindow;
|
||||||
*
|
*
|
||||||
* @since 2.1
|
* @since 2.1
|
||||||
*/
|
*/
|
||||||
public class BreakpointVMProvider extends AbstractVMProvider {
|
public class BreakpointVMProvider extends AbstractCachingVMProvider {
|
||||||
private IPropertyChangeListener fPresentationContextListener = new IPropertyChangeListener() {
|
private IPropertyChangeListener fPresentationContextListener = new IPropertyChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent event) {
|
public void propertyChange(PropertyChangeEvent event) {
|
||||||
|
@ -377,4 +377,10 @@ public class BreakpointVMProvider extends AbstractVMProvider {
|
||||||
}
|
}
|
||||||
fContainerBreakpointsCacheMap.clear();
|
fContainerBreakpointsCacheMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void refresh() {
|
||||||
|
flushCaches();
|
||||||
|
super.refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue