@Override public Object invoke( Object proxy, final Method method, final Object[] args ) throws Throwable { if ( display.getThread() == Thread.currentThread() ) { try { return method.invoke( delegate, args );
public void fireMenuControlers() { if ( !Display.getDefault().getThread().equals( Thread.currentThread() ) ) { display.syncExec( new Runnable() { @Override public void run() { fireMenuControlers(); } } ); return; } org.pentaho.ui.xul.dom.Document doc; if ( mainSpoonContainer != null ) { doc = mainSpoonContainer.getDocumentRoot(); for ( ISpoonMenuController menuController : menuControllers ) { menuController.updateMenu( doc ); } } }
/** * {@inheritDoc} */ @Override protected void schedule(Runnable runnable) { if(display.getThread() == Thread.currentThread()) { runnable.run(); } else { display.asyncExec(runnable); } } }
/** * Schedule the specified runnable to be run on the proxied thread. */ @Override protected void schedule(Runnable runnable) { if(display.getThread() == Thread.currentThread()) { runnable.run(); } else { display.asyncExec(runnable); } } }
/** * Schedule the specified runnable to be run on the proxied thread. */ @Override protected void schedule(Runnable runnable) { if(display.getThread() == Thread.currentThread()) { runnable.run(); } else { display.asyncExec(runnable); } } }
/** * Schedule the specified runnable to be run on the proxied thread. */ @Override protected void schedule(Runnable runnable) { if(display.getThread() == Thread.currentThread()) { runnable.run(); } else { display.asyncExec(runnable); } } }
private static Thread getDisplayThread() { Thread result = null; Display display = LifeCycleUtil.getSessionDisplay(); if( display != null ) { result = display.getThread(); } return result; }
@SuppressFBWarnings(value = {"LI_LAZY_INIT_STATIC", "LI_LAZY_INIT_UPDATE_STATIC"}, justification = "This race condition is fine, see comment in SwtExec.blocking()") static void initSwtThreads() { if (display == null) { display = Display.getDefault(); swtThread = display.getThread(); } }
boolean isUI() { return (!display.isDisposed()) && (display.getThread() == Thread.currentThread()); }
private Blocking() { display = Display.getDefault(); swtThread = display.getThread(); }
private static void sleep(long milliseconds) { org.eclipse.swt.widgets.Display display = Display.getDisplay(); if(display != null && Thread.currentThread().equals(display.getThread())) { throw new RuntimeException("Tried to execute sleep in UI thread!"); } try { Thread.sleep(milliseconds); } catch (InterruptedException e) { throw new RuntimeException("Sleep interrupted", e); } }
public static boolean isSWTThread() { final Display display = getDisplay(); if (display == null ){ return false; } return( display.getThread() == Thread.currentThread()); }
@Override public void addRequest(ElementMementoRequest request) { Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() ); fRequests.add(request); }
public void refreshTabs(boolean refresh) { if (DebugUIPlugin.getStandardDisplay().getThread().equals(Thread.currentThread())) { refreshTabs0(refresh); } else { DebugUIPlugin.getStandardDisplay().syncExec(() -> refreshTabs0(refresh)); } }
public void setInput(final Object input) { if(DebugUIPlugin.getStandardDisplay().getThread().equals(Thread.currentThread())) { setInput0(input); } else { DebugUIPlugin.getStandardDisplay().syncExec(() -> setInput0(input)); } } /**
@Override public void updateHasChildren(TreePath path) { Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() ); if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) { DebugUIPlugin.trace("updateHasChildren(" + getElement(path)); //$NON-NLS-1$ } doUpdateHasChildren(path); }
@Override public void postInputChanged(IInternalTreeModelViewer viewer, Object oldInput, Object newInput) { Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() ); cancelSubtreeUpdates(TreePath.EMPTY); disposeAllModelProxies(); cancelSubtreeUpdates(TreePath.EMPTY); fTransform.clear(); if (newInput != null) { installModelProxy(newInput, TreePath.EMPTY); fStateTracker.restoreViewerState(newInput); } }
private void doUpdateChildCount(TreePath path) { Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() ); Object element = getElement(path); IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(element); if (contentAdapter != null) { ChildrenCountUpdate request = new ChildrenCountUpdate(this, getViewer().getInput(), path, element, contentAdapter); schedule(request); } }
void doUpdateElement(TreePath parentPath, int modelIndex) { Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() ); Object parent = getElement(parentPath); IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(parent); if (contentAdapter != null) { ChildrenUpdate request = new ChildrenUpdate(this, getViewer().getInput(), parentPath, parent, modelIndex, contentAdapter); schedule(request); } }
@Override public void updateElement(TreePath parentPath, int viewIndex) { Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() ); int modelIndex = viewToModelIndex(parentPath, viewIndex); if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) { DebugUIPlugin.trace("updateElement("+ getElement(parentPath) + ", " + viewIndex + ") > modelIndex = " + modelIndex); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } doUpdateElement(parentPath, modelIndex); }