Example usage for org.eclipse.jface.action IAction RESULT

List of usage examples for org.eclipse.jface.action IAction RESULT

Introduction

In this page you can find the example usage for org.eclipse.jface.action IAction RESULT.

Prototype

String RESULT

To view the source code for org.eclipse.jface.action IAction RESULT.

Click Source Link

Document

Property name of an action's success/fail result (value "result").

Usage

From source file:com.github.haixing_hu.swt.action.ActionContributionItemEx.java

License:Open Source License

/**
 * Handles a widget selection event.//from  ww  w  .ja  v  a  2s .  co  m
 */
private void handleWidgetSelection(Event e, boolean selection) {

    final Widget item = e.widget;
    if (item != null) {
        final int style = item.getStyle();

        if ((style & (SWT.TOGGLE | SWT.CHECK)) != 0) {
            if (action.getStyle() == IAction.AS_CHECK_BOX) {
                action.setChecked(selection);
            }
        } else if ((style & SWT.RADIO) != 0) {
            if (action.getStyle() == IAction.AS_RADIO_BUTTON) {
                action.setChecked(selection);
            }
        } else if ((style & SWT.DROP_DOWN) != 0) {
            if (e.detail == 4) { // on drop-down button
                if (action.getStyle() == IAction.AS_DROP_DOWN_MENU) {
                    final IMenuCreator mc = action.getMenuCreator();
                    menuCreatorCalled = true;
                    final ToolItem ti = (ToolItem) item;
                    // we create the menu as a sub-menu of "dummy" so that
                    // we can use
                    // it in a cascading menu too.
                    // If created on a SWT control we would get an SWT
                    // error...
                    // Menu dummy= new Menu(ti.getParent());
                    // Menu m= mc.getMenu(dummy);
                    // dummy.dispose();
                    if (mc != null) {
                        final Menu m = mc.getMenu(ti.getParent());
                        if (m != null) {
                            // position the menu below the drop down item
                            final Point point = ti.getParent().toDisplay(new Point(e.x, e.y));
                            m.setLocation(point.x, point.y); // waiting
                            // for SWT
                            // 0.42
                            m.setVisible(true);
                            return; // we don't fire the action
                        }
                    }
                }
            }
        }

        ExternalActionManager.IExecuteCallback callback = null;
        final String actionDefinitionId = action.getActionDefinitionId();
        if (actionDefinitionId != null) {
            final Object obj = ExternalActionManager.getInstance().getCallback();
            if (obj instanceof ExternalActionManager.IExecuteCallback) {
                callback = (ExternalActionManager.IExecuteCallback) obj;
            }
        }

        // Ensure action is enabled first.
        // See 1GAN3M6: ITPUI:WINNT - Any IAction in the workbench can be
        // executed while disabled.
        if (action.isEnabled()) {
            final boolean trace = Policy.TRACE_ACTIONS;

            long ms = 0L;
            if (trace) {
                ms = System.currentTimeMillis();
                System.out.println("Running action: " + action.getText()); //$NON-NLS-1$
            }

            IPropertyChangeListener resultListener = null;
            if (callback != null) {
                resultListener = new IPropertyChangeListener() {
                    @Override
                    public void propertyChange(PropertyChangeEvent event) {
                        // Check on result
                        if (event.getProperty().equals(IAction.RESULT)) {
                            if (event.getNewValue() instanceof Boolean) {
                                result = (Boolean) event.getNewValue();
                            }
                        }
                    }
                };
                action.addPropertyChangeListener(resultListener);
                callback.preExecute(action, e);
            }

            action.runWithEvent(e);

            if (callback != null) {
                if ((result == null) || result.equals(Boolean.TRUE)) {
                    callback.postExecuteSuccess(action, Boolean.TRUE);
                } else {
                    callback.postExecuteFailure(action,
                            new ExecutionException(action.getText() + " returned failure.")); //$NON-NLS-1$
                }
            }

            if (resultListener != null) {
                result = null;
                action.removePropertyChangeListener(resultListener);
            }
            if (trace) {
                System.out
                        .println((System.currentTimeMillis() - ms) + " ms to run action: " + action.getText()); //$NON-NLS-1$
            }
        } else {
            if (callback != null) {
                callback.notEnabled(action, new NotEnabledException(action.getText() + " is not enabled.")); //$NON-NLS-1$
            }
        }
    }
}

From source file:com.redhat.ceylon.eclipse.code.wizard.CreateMultipleResourceFoldersDialog.java

License:Open Source License

@Override
public int open() {
    Class<?>[] acceptedClasses = new Class<?>[] { IProject.class, IFolder.class };
    List<IResource> existingContainers = getExistingContainers(fExistingElements);

    IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    ArrayList<IProject> rejectedElements = new ArrayList<IProject>(allProjects.length);
    IProject currProject = fJavaProject.getProject();
    for (int i = 0; i < allProjects.length; i++) {
        if (!allProjects[i].equals(currProject)) {
            rejectedElements.add(allProjects[i]);
        }/* ww  w  . ja v a2s  .co m*/
    }
    ViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedElements.toArray()) {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IFolder && ((IFolder) element).isVirtual()) {
                return false;
            }
            return super.select(viewer, parentElement, element);
        }
    };

    ILabelProvider lp = new WorkbenchLabelProvider();
    ITreeContentProvider cp = new FakeFolderBaseWorkbenchContentProvider();

    String title = type + " Folder Selection";
    String message = "&Select the folder:";

    MultipleFolderSelectionDialog dialog = new MultipleFolderSelectionDialog(getShell(), lp, cp) {
        @Override
        protected Control createDialogArea(Composite parent) {
            Control result = super.createDialogArea(parent);
            PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
                    IJavaHelpContextIds.BP_CHOOSE_EXISTING_FOLDER_TO_MAKE_SOURCE_FOLDER);
            return result;
        }

        @Override
        protected Object createFolder(final IContainer container) {
            final Object[] result = new Object[1];
            final CPListElement newElement = new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE);
            final AddResourceFolderWizard wizard = newResourceFolderWizard(newElement, fExistingElements,
                    fOutputLocation, container);
            AbstractOpenWizardAction action = new AbstractOpenWizardAction() {
                @Override
                protected INewWizard createWizard() throws CoreException {
                    return wizard;
                }
            };
            action.addPropertyChangeListener(new IPropertyChangeListener() {
                public void propertyChange(PropertyChangeEvent event) {
                    if (event.getProperty().equals(IAction.RESULT)) {
                        if (event.getNewValue().equals(Boolean.TRUE)) {
                            result[0] = addFakeFolder(fJavaProject.getProject(), newElement);
                        } else {
                            wizard.cancel();
                        }
                    }
                }
            });
            action.run();
            return result[0];
        }
    };
    dialog.setExisting(existingContainers.toArray());
    dialog.setTitle(title);
    dialog.setMessage(message);
    dialog.addFilter(filter);
    dialog.setInput(fJavaProject.getProject().getParent());
    dialog.setInitialFocus(fJavaProject.getProject());

    if (dialog.open() == Window.OK) {
        Object[] elements = dialog.getResult();
        for (int i = 0; i < elements.length; i++) {
            IResource res = (IResource) elements[i];
            fInsertedElements
                    .add(new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE, res.getFullPath(), res));
        }

        if (fExistingElements.length == 1) {
            CPListElement existingElement = fExistingElements[0];
            if (existingElement.getResource() instanceof IProject) {
                if (!removeProjectFromBP(existingElement)) {
                    ArrayList<CPListElement> added = new ArrayList<CPListElement>(fInsertedElements);
                    HashSet<CPListElement> updatedEclusionPatterns = new HashSet<CPListElement>();
                    addExlusionPatterns(added, updatedEclusionPatterns);
                    fModifiedElements.addAll(updatedEclusionPatterns);
                }
            }
        } else {
            ArrayList<CPListElement> added = new ArrayList<CPListElement>(fInsertedElements);
            HashSet<CPListElement> updatedEclusionPatterns = new HashSet<CPListElement>();
            addExlusionPatterns(added, updatedEclusionPatterns);
            fModifiedElements.addAll(updatedEclusionPatterns);
        }
        return Window.OK;
    } else {
        return Window.CANCEL;
    }
}

From source file:com.siteview.mde.internal.ui.editor.feature.IncludedFeaturesSection.java

License:Open Source License

public void propertyChange(PropertyChangeEvent event) {
    if (fSortAction.equals(event.getSource()) && IAction.RESULT.equals(event.getProperty())) {
        updateButtons();//from ww  w . ja  va  2  s .com
    }
}

From source file:com.siteview.mde.internal.ui.editor.monitor.DependencyManagementSection.java

License:Open Source License

public void propertyChange(PropertyChangeEvent event) {
    if (fSortAction.equals(event.getSource()) && IAction.RESULT.equals(event.getProperty())) {
        updateUpDownButtons();//from  www.  j a va 2s .  c  om
    }
}

From source file:com.siteview.mde.internal.ui.editor.monitor.ExtensionsSection.java

License:Open Source License

public void propertyChange(PropertyChangeEvent event) {
    if (fSortAction.equals(event.getSource()) && IAction.RESULT.equals(event.getProperty())) {
        StructuredViewer viewer = getStructuredViewerPart().getViewer();
        IStructuredSelection ssel = (IStructuredSelection) viewer.getSelection();
        updateButtons(ssel);//from  w  ww.  jav  a 2s.  co m
    }
}

From source file:com.siteview.mde.internal.ui.editor.product.FeatureSection.java

License:Open Source License

public void propertyChange(PropertyChangeEvent event) {
    if (fSortAction.equals(event.getSource()) && IAction.RESULT.equals(event.getProperty())) {
        updateButtons(true, true);/*from   w w  w  . ja v a2 s  . c  o  m*/
    }
}

From source file:descent.internal.ui.wizards.buildpaths.CreateMultipleSourceFoldersDialog.java

License:Open Source License

public int open() {
    Class[] acceptedClasses = new Class[] { IProject.class, IFolder.class };
    List existingContainers = getExistingContainers(fExistingElements);

    IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    ArrayList rejectedElements = new ArrayList(allProjects.length);
    IProject currProject = fJavaProject.getProject();
    for (int i = 0; i < allProjects.length; i++) {
        if (!allProjects[i].equals(currProject)) {
            rejectedElements.add(allProjects[i]);
        }/*from w w w.ja va2 s  . c  o  m*/
    }
    ViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedElements.toArray());

    ILabelProvider lp = new WorkbenchLabelProvider();
    ITreeContentProvider cp = new FakeFolderBaseWorkbenchContentProvider();

    String title = NewWizardMessages.SourceContainerWorkbookPage_ExistingSourceFolderDialog_new_title;
    String message = NewWizardMessages.SourceContainerWorkbookPage_ExistingSourceFolderDialog_edit_description;

    MultipleFolderSelectionDialog dialog = new MultipleFolderSelectionDialog(getShell(), lp, cp) {
        protected Control createDialogArea(Composite parent) {
            Control result = super.createDialogArea(parent);
            PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
                    IJavaHelpContextIds.BP_CHOOSE_EXISTING_FOLDER_TO_MAKE_SOURCE_FOLDER);
            return result;
        }

        protected Object createFolder(final IContainer container) {
            final Object[] result = new Object[1];
            final CPListElement newElement = new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE);
            final AddSourceFolderWizard wizard = newSourceFolderWizard(newElement, fExistingElements,
                    fOutputLocation, container);
            AbstractOpenWizardAction action = new AbstractOpenWizardAction() {
                protected INewWizard createWizard() throws CoreException {
                    return wizard;
                }
            };
            action.addPropertyChangeListener(new IPropertyChangeListener() {
                public void propertyChange(PropertyChangeEvent event) {
                    if (event.getProperty().equals(IAction.RESULT)) {
                        if (event.getNewValue().equals(Boolean.TRUE)) {
                            result[0] = addFakeFolder(fJavaProject.getProject(), newElement);
                        } else {
                            wizard.cancel();
                        }
                    }
                }
            });
            action.run();
            return result[0];
        }
    };
    dialog.setExisting(existingContainers.toArray());
    dialog.setTitle(title);
    dialog.setMessage(message);
    dialog.addFilter(filter);
    dialog.setInput(fJavaProject.getProject().getParent());
    dialog.setInitialFocus(fJavaProject.getProject());

    if (dialog.open() == Window.OK) {
        Object[] elements = dialog.getResult();
        for (int i = 0; i < elements.length; i++) {
            IResource res = (IResource) elements[i];
            fInsertedElements
                    .add(new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE, res.getFullPath(), res));
        }

        if (fExistingElements.length == 1) {
            CPListElement existingElement = fExistingElements[0];
            if (existingElement.getResource() instanceof IProject) {
                if (!removeProjectFromBP(existingElement)) {
                    ArrayList added = new ArrayList(fInsertedElements);
                    HashSet updatedEclusionPatterns = new HashSet();
                    addExlusionPatterns(added, updatedEclusionPatterns);
                    fModifiedElements.addAll(updatedEclusionPatterns);
                }
            }
        } else {
            ArrayList added = new ArrayList(fInsertedElements);
            HashSet updatedEclusionPatterns = new HashSet();
            addExlusionPatterns(added, updatedEclusionPatterns);
            fModifiedElements.addAll(updatedEclusionPatterns);
        }
        return Window.OK;
    } else {
        return Window.CANCEL;
    }
}

From source file:eu.esdihumboldt.hale.ui.firststeps.ImportAction.java

License:Open Source License

/**
 * @see org.eclipse.jface.action.Action#run()
 */// w ww . ja va 2  s  .c  o m
@Override
public void run() {
    if (Display.getCurrent() == null) {
        // execute in display thread
        PlatformUI.getWorkbench().getDisplay().asyncExec(this);
        return;
    }

    if (actionId == null)
        return;

    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().forceActive();

    IOWizardAction action = new IOWizardAction(actionId);
    if (action.isEnabled()) {
        action.addPropertyChangeListener(new IPropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent event) {
                if (IAction.RESULT.equals(event.getProperty()))
                    notifyResult((Boolean) event.getNewValue());
            }
        });
        action.run();
    } else {
        MessageDialog.openWarning(Display.getCurrent().getActiveShell(), "Action disabled",
                action.getFactory().getDisabledReason());
        notifyResult(false);
    }
    action.dispose();
}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.CreateMultipleSourceFoldersDialog.java

License:Open Source License

@Override
public int open() {
    Class<?>[] acceptedClasses = new Class<?>[] { IProject.class, IFolder.class };
    List<IResource> existingContainers = getExistingContainers(fExistingElements);

    IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    ArrayList<IProject> rejectedElements = new ArrayList<IProject>(allProjects.length);
    IProject currProject = fJavaProject.getProject();
    for (int i = 0; i < allProjects.length; i++) {
        if (!allProjects[i].equals(currProject)) {
            rejectedElements.add(allProjects[i]);
        }//w w w . j a va  2 s. c  om
    }
    ViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedElements.toArray()) {

        /* (non-Javadoc)
         * @see org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IFolder && ((IFolder) element).isVirtual()) {
                return false;
            }
            return super.select(viewer, parentElement, element);
        }
    };

    ILabelProvider lp = new WorkbenchLabelProvider();
    ITreeContentProvider cp = new FakeFolderBaseWorkbenchContentProvider();

    String title = NewWizardMessages.SourceContainerWorkbookPage_ExistingSourceFolderDialog_new_title;
    String message = NewWizardMessages.SourceContainerWorkbookPage_ExistingSourceFolderDialog_edit_description;

    MultipleFolderSelectionDialog dialog = new MultipleFolderSelectionDialog(getShell(), lp, cp) {
        @Override
        protected Control createDialogArea(Composite parent) {
            Control result = super.createDialogArea(parent);
            PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
                    IJavaHelpContextIds.BP_CHOOSE_EXISTING_FOLDER_TO_MAKE_SOURCE_FOLDER);
            return result;
        }

        @Override
        protected Object createFolder(final IContainer container) {
            final Object[] result = new Object[1];
            final CPListElement newElement = new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE);
            final AddSourceFolderWizard wizard = newSourceFolderWizard(newElement, fExistingElements,
                    fOutputLocation, container);
            AbstractOpenWizardAction action = new AbstractOpenWizardAction() {
                @Override
                protected INewWizard createWizard() throws CoreException {
                    return wizard;
                }
            };
            action.addPropertyChangeListener(new IPropertyChangeListener() {
                public void propertyChange(PropertyChangeEvent event) {
                    if (event.getProperty().equals(IAction.RESULT)) {
                        if (event.getNewValue().equals(Boolean.TRUE)) {
                            result[0] = addFakeFolder(fJavaProject.getProject(), newElement);
                        } else {
                            wizard.cancel();
                        }
                    }
                }
            });
            action.run();
            return result[0];
        }
    };
    dialog.setExisting(existingContainers.toArray());
    dialog.setTitle(title);
    dialog.setMessage(message);
    dialog.addFilter(filter);
    dialog.setInput(fJavaProject.getProject().getParent());
    dialog.setInitialFocus(fJavaProject.getProject());

    if (dialog.open() == Window.OK) {
        Object[] elements = dialog.getResult();
        for (int i = 0; i < elements.length; i++) {
            IResource res = (IResource) elements[i];
            fInsertedElements
                    .add(new CPListElement(fJavaProject, IClasspathEntry.CPE_SOURCE, res.getFullPath(), res));
        }

        if (fExistingElements.length == 1) {
            CPListElement existingElement = fExistingElements[0];
            if (existingElement.getResource() instanceof IProject) {
                if (!removeProjectFromBP(existingElement)) {
                    ArrayList<CPListElement> added = new ArrayList<CPListElement>(fInsertedElements);
                    HashSet<CPListElement> updatedEclusionPatterns = new HashSet<CPListElement>();
                    addExlusionPatterns(added, updatedEclusionPatterns);
                    fModifiedElements.addAll(updatedEclusionPatterns);
                }
            }
        } else {
            ArrayList<CPListElement> added = new ArrayList<CPListElement>(fInsertedElements);
            HashSet<CPListElement> updatedEclusionPatterns = new HashSet<CPListElement>();
            addExlusionPatterns(added, updatedEclusionPatterns);
            fModifiedElements.addAll(updatedEclusionPatterns);
        }
        return Window.OK;
    } else {
        return Window.CANCEL;
    }
}

From source file:gov.redhawk.ide.dcd.internal.ui.editor.DevicesSection.java

License:Open Source License

/**
 * {@inheritDoc}//from   ww  w .  ja  va 2 s  .c  o m
 */
@Override
public void propertyChange(final PropertyChangeEvent event) {
    if (this.fSortAction.equals(event.getSource()) && IAction.RESULT.equals(event.getProperty())) {
        final StructuredViewer viewer = getStructuredViewerPart().getViewer();
        final IStructuredSelection ssel = (IStructuredSelection) viewer.getSelection();
        updateButtons(ssel);
    }
}