+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2007 VTT Technical Research Centre of Finland and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * VTT Technical Research Centre of Finland - initial API and implementation
- *******************************************************************************/
-package org.simantics.utils.threads;
-
-import java.util.concurrent.Executor;
-
-import org.eclipse.swt.widgets.Display;
-
-public class Executors2 {
-
- public static Executor createSWTExecutor(Display display, boolean async) {
- return async ? new SWTExecutorAsync(display) : new SWTExecutorSync(display);
- }
-
-}
-
-class SWTExecutorAsync implements Executor {
-
- Display display;
- public SWTExecutorAsync(Display display)
- {
- this.display = display;
- }
-
- @Override
- public void execute(Runnable command) {
- // Don't accept work if the SWT thread is disposed.
- if (display.isDisposed())
- throw new RuntimeException("The SWT thread has been disposed");
- display.asyncExec(command);
- }
-
-}
-
-class SWTExecutorSync implements Executor {
-
- Display display;
- public SWTExecutorSync(Display display)
- {
- this.display = display;
- }
-
- @Override
- public void execute(Runnable command) {
- // Don't accept work if the SWT thread is disposed.
- if (display.isDisposed())
- throw new RuntimeException("The SWT thread has been disposed");
- display.syncExec(command);
- }
-
-}
-