@Override public IStatus runInUIThread(IProgressMonitor monitor) { Object[] deltas; synchronized(BreakpointManagerProxy.this) { deltas = fPendingDeltas.toArray(); fPendingDeltas.clear(); fFireModelChangedJob = null; } for (int i = 0; i < deltas.length; i++) { fireModelChanged( ((DeltaInfo)deltas[i]).fDelta ); } return Status.OK_STATUS; } };
/** * Fire model change event for the input. * * @param delta the model delta. * @param select if the viewer selection should change */ synchronized private void postModelChanged(final IModelDelta delta, boolean select) { for (int i = 0; fProxies != null && i < fProxies.size(); i++) { fProxies.get(i).postModelChanged(delta, select); } }
if (isDisposed()) { return; Widget viewerControl = getViewer().getControl(); if (viewerControl == null) { return;
return new BreakpointManagerProxy(element, context); } else if (element instanceof IBreakpoint) { return new BreakpointProxy((IBreakpoint)element);
void proxyInstalled(BreakpointManagerProxy proxy) { ModelDelta rootDelta = null; synchronized(this) { fProxies.add(proxy); // Generate an install delta rootDelta = new ModelDelta(fInput, 0, IModelDelta.NO_CHANGE, -1); buildInstallDelta(rootDelta, fContainer); if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) { DebugUIPlugin.trace("PROXY INSTALLED (" + proxy + ")\n"); //$NON-NLS-1$ //$NON-NLS-2$ } proxy.postModelChanged(rootDelta, false); } }
proxies[i].postModelChanged(delta, true);