1 package org.simantics.ui.workbench.action;
\r
3 import org.eclipse.swt.widgets.Shell;
\r
4 import org.eclipse.ui.IWorkbenchWindow;
\r
5 import org.eclipse.ui.PlatformUI;
\r
6 import org.simantics.db.Session;
\r
7 import org.simantics.utils.ui.SWTUtils;
\r
8 import org.simantics.utils.ui.workbench.WorkbenchUtils;
\r
11 * @author Tuukka Lehtonen
\r
13 public final class DefaultActions {
\r
16 * Perform a default workbench action on the specified input object using
\r
17 * {@link ChooseActionRequest} from any thread asynchronously.
\r
21 * @param rememberAction
\r
23 * @param neverPromptForAction true to never prompt/run an action if the
\r
24 * action selection is ambiguous
\r
26 public static void asyncPerformDefaultAction(
\r
27 final Session session,
\r
29 final boolean rememberAction,
\r
30 final boolean alwaysAsk,
\r
31 final boolean neverPromptForAction)
\r
33 SWTUtils.asyncExec(PlatformUI.getWorkbench().getDisplay(), new Runnable() {
\r
36 performDefaultAction(session, input, rememberAction, alwaysAsk, neverPromptForAction);
\r
42 * Perform a default workbench action on the specified input object using
\r
43 * {@link ChooseActionRequest} from the current thread. The current thread
\r
44 * must be the SWT UI thread.
\r
48 * @param rememberAction
\r
50 * @param neverPromptForAction true to never prompt/run an action if the
\r
51 * action selection is ambiguous
\r
53 public static void performDefaultAction(
\r
54 final Session session,
\r
56 boolean rememberAction,
\r
58 boolean neverPromptForAction)
\r
60 IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
\r
61 Shell shell = window != null ? window.getShell() : null;
\r
62 session.asyncRequest(new ChooseActionRequest(shell, null, input, WorkbenchUtils.getCurrentPerspectiveId(), rememberAction, alwaysAsk, neverPromptForAction));
\r