Example usage for org.eclipse.jface.dialogs ProgressMonitorDialog run

List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog run

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs ProgressMonitorDialog run.

Prototype

@Override
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable)
        throws InvocationTargetException, InterruptedException 

Source Link

Document

This implementation of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) runs the given IRunnableWithProgress using the progress monitor for this progress dialog and blocks until the runnable has been run, regardless of the value of fork.

Usage

From source file:org.dawnsci.processing.ui.slice.DataFileSliceView.java

License:Open Source License

private void createActions(IContributionManager rightClick) {

    final IAction run = new Action("Process all files",
            Activator.getImageDescriptor("icons/run_workflow.gif")) {
        public void run() {
            IOperation<? extends IOperationModel, ? extends OperationData>[] ops = getOperations();

            if (ops != null) {

                final IOperation<? extends IOperationModel, ? extends OperationData>[] fop = ops;

                fileManager.setProcessingConversionInfo(new IProcessingConversionInfo() {

                    @Override//ww w.ja  v a  2  s .c  o  m
                    public IOperation<? extends IOperationModel, ? extends OperationData>[] getOperationSeries() {
                        return fop;
                    }

                    @Override
                    public IExecutionVisitor getExecutionVisitor(String fileName) {
                        return new HierarchicalFileExecutionVisitor(fileName);
                    }

                    @Override
                    public ProcessingOutputType getProcessingOutputType() {
                        return processingOutputType;
                    }

                });
            }

            ExtendedFileSelectionDialog fsd = new ExtendedFileSelectionDialog(
                    Display.getCurrent().getActiveShell());
            if (lastPath == null) {
                final File source = new File(fileManager.getFilePaths().get(0));
                lastPath = source.getParent();
            }

            fsd.setPath(lastPath);
            fsd.create();
            if (fsd.open() == Dialog.CANCEL)
                return;
            lastPath = fsd.getPath();

            File f = new File(lastPath);
            if (!f.canWrite()) {
                MessageBox dialog = new MessageBox(getViewSite().getShell(), SWT.ICON_ERROR | SWT.OK);
                dialog.setText("File save error!");
                dialog.setMessage(
                        "Could not save calibration file! (Do you have write access to this directory?)");

                dialog.open();
                return;
            }

            fileManager.setOutputPath(fsd.getPath());

            ProgressMonitorDialog dia = new ProgressMonitorDialog(Display.getCurrent().getActiveShell());

            try {
                dia.run(true, true, new IRunnableWithProgress() {

                    @Override
                    public void run(IProgressMonitor monitor)
                            throws InvocationTargetException, InterruptedException {
                        monitor.beginTask("Processing", getAmountOfWork(fileManager.getContext()));
                        fileManager.getContext().setMonitor(new ProgressMonitorWrapper(monitor));
                        try {
                            cservice.process(fileManager.getContext());
                        } catch (final Exception e) {
                            Display.getDefault().asyncExec(new Runnable() {
                                public void run() {
                                    MessageDialog.openError(DataFileSliceView.this.getViewSite().getShell(),
                                            "Error processing files!", e.getMessage());
                                }
                            });

                            logger.error(e.getMessage(), e);
                        }
                    }
                });
            } catch (InvocationTargetException e1) {
                logger.error(e1.getMessage(), e1);
            } catch (InterruptedException e1) {
                logger.error(e1.getMessage(), e1);
            }
        }
    };
    getViewSite().getActionBars().getToolBarManager().add(run);
    getViewSite().getActionBars().getMenuManager().add(run);
    rightClick.add(run);

    final IAction clear = new Action("Clear selected file", Activator.getImageDescriptor("icons/delete.gif")) {
        public void run() {
            clearSelected();
        }
    };

    final IAction clearAll = new Action("Clear all files",
            Activator.getImageDescriptor("icons/deleteAll.gif")) {
        public void run() {

            fileManager.clear();
            csw.disable();
            eventManager.sendInitialDataUpdate(null);
            job = null;
            currentSliceLabel.setText("Current slice of data: [ - - - - -]");
            try {
                input.reset();
                output.reset();

            } catch (Exception e1) {
                logger.error("Could not clear plotting systems");
            }

            viewer.refresh();
        }
    };

    final IAction edit = new Action("Edit slice configuration",
            Activator.getImageDescriptor("icons/book-brown-setting.png")) {
        public void run() {
            fileManager.setUpContext();
        }
    };

    final IAction export = new OperationExportAction("Export to Workflow",
            Activator.getImageDescriptor("icons/flow.png")) {
        public IOperationContext createContext() {

            IOperationContext ocontext = oservice.createContext();
            ocontext.setSeries(getOperations());

            final String selectedPath = (String) ((IStructuredSelection) viewer.getSelection())
                    .getFirstElement();
            if (selectedPath == null) {
                MessageDialog.openWarning(Display.getDefault().getActiveShell(), "Please Choose File",
                        "Please select a file to use with export.\n\nOne file only may be exported to workflows at a time.");
                return null;
            }
            ocontext.setFilePath(selectedPath);

            IConversionContext ccontext = fileManager.getContext();
            if (ccontext == null) {
                MessageDialog.openWarning(Display.getDefault().getActiveShell(), "Please Choose File",
                        "Please ensure that a slice and file have been chosen.");
                return null;
            }
            ocontext.setSlicing(ccontext.getSliceDimensions());
            ocontext.setDatasetPath(ccontext.getDatasetNames().get(0));

            return ocontext;
        }
    };

    getViewSite().getActionBars().getToolBarManager().add(clear);
    getViewSite().getActionBars().getMenuManager().add(clear);
    rightClick.add(clear);

    getViewSite().getActionBars().getToolBarManager().add(clearAll);
    getViewSite().getActionBars().getMenuManager().add(clearAll);
    rightClick.add(clearAll);

    getViewSite().getActionBars().getToolBarManager().add(edit);
    getViewSite().getActionBars().getMenuManager().add(edit);
    rightClick.add(edit);

    getViewSite().getActionBars().getToolBarManager().add(new Separator());
    getViewSite().getActionBars().getMenuManager().add(new Separator());
    rightClick.add(new Separator());

    getViewSite().getActionBars().getToolBarManager().add(export);
    getViewSite().getActionBars().getMenuManager().add(export);
    rightClick.add(export);

}

From source file:org.dbeclipse.ui.internal.browser.WebBrowserPreferencePage.java

License:Open Source License

/**
 * Create the preference options./*from   ww w.j a  va  2 s .c  o  m*/
 * 
 * @param parent
 *            org.eclipse.swt.widgets.Composite
 * @return org.eclipse.swt.widgets.Control
 */
protected Control createContents(Composite parent) {
    initializeDialogUnits(parent);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.PREF_BROWSER);

    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
    layout.verticalSpacing = convertVerticalDLUsToPixels(3);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
    composite.setLayoutData(data);

    Label label = new Label(composite, SWT.WRAP);
    label.setText(Messages.preferenceWebBrowserDescription);
    data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    data.horizontalSpan = 2;
    label.setLayoutData(data);

    label = new Label(composite, SWT.WRAP);
    data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    data.horizontalSpan = 2;
    label.setLayoutData(data);

    internal = new Button(composite, SWT.RADIO);
    internal.setText(Messages.prefInternalBrowser);
    data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    data.horizontalSpan = 2;
    internal.setLayoutData(data);

    if (!WebBrowserUtil.canUseInternalWebBrowser())
        internal.setEnabled(false);

    external = new Button(composite, SWT.RADIO);
    external.setText(Messages.prefExternalBrowser);
    data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    data.horizontalSpan = 2;
    external.setLayoutData(data);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.browserList);
    data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
    data.horizontalSpan = 2;
    label.setLayoutData(data);

    table = new Table(composite,
            SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
    data = new GridData(GridData.FILL_BOTH);
    table.setLayoutData(data);
    table.setHeaderVisible(false);
    table.setLinesVisible(false);

    TableLayout tableLayout = new TableLayout();
    new TableColumn(table, SWT.NONE);
    tableLayout.addColumnData(new ColumnWeightData(100));
    table.setLayout(tableLayout);

    tableViewer = new CheckboxTableViewer(table);
    tableViewer.setContentProvider(new BrowserContentProvider());
    tableViewer.setLabelProvider(new BrowserTableLabelProvider());
    tableViewer.setInput("root"); //$NON-NLS-1$

    // uncheck any other elements that might be checked and leave only the
    // element checked to remain checked since one can only chose one
    // brower at a time to be current.
    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent e) {
            checkNewDefaultBrowser(e.getElement());
            checkedBrowser = (IBrowserDescriptor) e.getElement();

            // if no other browsers are checked, don't allow the single one
            // currently checked to become unchecked, and lose a current
            // browser. That is, don't permit unchecking if no other item
            // is checked which is supposed to be the case.
            Object[] obj = tableViewer.getCheckedElements();
            if (obj.length == 0)
                tableViewer.setChecked(e.getElement(), true);
        }
    });

    // set a default, checked browser based on the current browser. If there
    // is not a current browser, but the first item exists, use that instead.
    // This will work currently until workbench shutdown, because current
    // browser is not yet persisted.
    checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser();
    if (checkedBrowser != null)
        tableViewer.setChecked(checkedBrowser, true);
    else {
        Object obj = tableViewer.getElementAt(0);
        if (obj != null)
            tableViewer.setChecked(obj, true);
    }

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sele = ((IStructuredSelection) tableViewer.getSelection());
            boolean sel = sele.getFirstElement() != null
                    && !(sele.getFirstElement() instanceof SystemBrowserDescriptor);
            remove.setEnabled(sel);
            edit.setEnabled(sel);
        }
    });

    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection());
            Object firstElem = sel.getFirstElement();
            if (firstElem != null && !(firstElem instanceof SystemBrowserDescriptor)) {
                IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement();
                IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy();
                BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell(), wc);
                if (dialog.open() != Window.CANCEL) {
                    try {
                        tableViewer.refresh(wc.save());
                    } catch (Exception ex) {
                        // ignore
                    }
                }
            }
        }
    });

    table.addKeyListener(new KeyListener() {
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.DEL) {
                IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection());
                if (sel.getFirstElement() != null) {
                    IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement();
                    try {
                        browser2.delete();
                        tableViewer.remove(browser2);

                        // need here to ensure that if the item deleted was
                        // checked, ie. was
                        // the current browser, that the new current browser
                        // will be the first in the
                        // list, typically, the internal browser, which
                        // cannot be
                        // deleted, and be current
                        BrowserManager manager = BrowserManager.getInstance();
                        if (browser2 == checkedBrowser) {
                            if (manager.browsers.size() > 0) {
                                checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
                                tableViewer.setChecked(checkedBrowser, true);
                            }
                        }
                    } catch (Exception ex) {
                        // ignore
                    }
                }
            }
        }

        public void keyReleased(KeyEvent e) {
            // ignore
        }
    });

    Composite buttonComp = new Composite(composite, SWT.NONE);
    layout = new GridLayout();
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = convertVerticalDLUsToPixels(3);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    layout.numColumns = 1;
    buttonComp.setLayout(layout);
    data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
    buttonComp.setLayoutData(data);

    final Button add = SWTUtil.createButton(buttonComp, Messages.add);
    add.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell());
            if (dialog.open() == Window.CANCEL)
                return;
            tableViewer.refresh();
            if (checkedBrowser != null)
                tableViewer.setChecked(checkedBrowser, true);
        }
    });

    edit = SWTUtil.createButton(buttonComp, Messages.edit);
    edit.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection());
            IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement();
            IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy();
            BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell(), wc);
            if (dialog.open() != Window.CANCEL) {
                try {
                    tableViewer.refresh(wc.save());
                } catch (Exception ex) {
                    // ignore
                }
            }
        }
    });

    remove = SWTUtil.createButton(buttonComp, Messages.remove);
    remove.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection());
            IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement();
            try {
                browser2.delete();
                tableViewer.remove(browser2);

                // need here to ensure that if the item deleted was checked,
                // ie. was
                // the current browser, that the new current browser will be
                // the first in the
                // list, typically, the internal browser, which cannot be
                // deleted, and be current
                BrowserManager manager = BrowserManager.getInstance();
                if (browser2 == checkedBrowser) {
                    if (manager.browsers.size() > 0) {
                        checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
                        tableViewer.setChecked(checkedBrowser, true);
                    }
                }
            } catch (Exception ex) {
                // ignore
            }
        }
    });

    search = SWTUtil.createButton(buttonComp, Messages.search);
    data = (GridData) search.getLayoutData();
    data.verticalIndent = 9;
    search.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            final List foundBrowsers = new ArrayList();
            final List existingPaths = WebBrowserUtil.getExternalBrowserPaths();

            // select a target directory for the search
            DirectoryDialog dialog = new DirectoryDialog(getShell());
            dialog.setMessage(Messages.selectDirectory);
            dialog.setText(Messages.directoryDialogTitle);

            String path = dialog.open();
            if (path == null)
                return;

            final File rootDir = new File(path);
            ProgressMonitorDialog pm = new ProgressMonitorDialog(getShell());

            IRunnableWithProgress r = new IRunnableWithProgress() {
                public void run(IProgressMonitor monitor) {
                    monitor.beginTask(Messages.searchingTaskName, IProgressMonitor.UNKNOWN);
                    search(rootDir, existingPaths, foundBrowsers, monitor);
                    monitor.done();
                }
            };

            try {
                pm.run(true, true, r);
            } catch (InvocationTargetException ex) {
                Trace.trace(Trace.SEVERE, "Invocation Exception occured running monitor: " //$NON-NLS-1$
                        + ex);
            } catch (InterruptedException ex) {
                Trace.trace(Trace.SEVERE, "Interrupted exception occured running monitor: " //$NON-NLS-1$
                        + ex);
                return;
            }

            if (pm.getProgressMonitor().isCanceled())
                return;

            List browsersToCreate = foundBrowsers;

            if (browsersToCreate == null) // cancelled
                return;

            if (browsersToCreate.isEmpty()) { // no browsers found
                WebBrowserUtil.openMessage(Messages.searchingNoneFound);
                return;
            }

            Iterator iterator = browsersToCreate.iterator();
            while (iterator.hasNext()) {
                IBrowserDescriptorWorkingCopy browser2 = (IBrowserDescriptorWorkingCopy) iterator.next();
                browser2.save();
            }
            tableViewer.refresh();

            if (checkedBrowser != null)
                tableViewer.setChecked(checkedBrowser, true);
        }
    });

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent e) {
            checkNewDefaultBrowser(e.getElement());
            checkedBrowser = (IBrowserDescriptor) e.getElement();
        }
    });

    /*external.addSelectionListener(new SelectionListener() {
       public void widgetSelected(SelectionEvent e) {
    boolean sel = !tableViewer.getSelection().isEmpty();
    edit.setEnabled(sel);
    remove.setEnabled(sel);
       }
            
       public void widgetDefaultSelected(SelectionEvent e) {
    // ignore
       }
    });*/
    internal.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL);
    external.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL);

    //boolean sel = !tableViewer.getSelection().isEmpty();
    IStructuredSelection sele = ((IStructuredSelection) tableViewer.getSelection());
    boolean sel = sele.getFirstElement() != null
            && !(sele.getFirstElement() instanceof SystemBrowserDescriptor);
    edit.setEnabled(sel);
    remove.setEnabled(sel);

    Dialog.applyDialogFont(composite);

    return composite;
}

From source file:org.deved.antlride.internal.ui.editor.AntlrInterpreterPage.java

License:Open Source License

@Override
public void setInput(Object input) {
    rebuild = false;//from   w w w. j a v a 2s.co  m
    if (grammar != input) {
        grammar = (IGrammar) input;
        enabled(!grammar.isTreeParserGrammar());
        rebuild = true;
        sourceViewer.setInput("");
        sourceViewer.setGrammar(grammar);
        nativeLaunchersEnabled = grammar.isCombinedGrammar() || grammar.isParserGrammar();
        evalViewer.clear();
        if (interpreter != null) {
            interpreter.endSession();
        }
        ProgressMonitorDialog dlg = new ProgressMonitorDialog(getControl().getShell());
        try {
            dlg.run(true, false, new IRunnableWithProgress() {
                public void run(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
                    interpreter = new DefaultAntlrInterpreter();
                    final IStatus status = interpreter.beginSession(monitor, grammar);
                    if (status.isOK()) {
                        testSuite = interpreter.getTestSuite();
                        Display.getDefault().asyncExec(new Runnable() {
                            public void run() {
                                setRules(grammar);
                            }
                        });
                    } else {
                        Display.getDefault().asyncExec(new Runnable() {
                            public void run() {
                                enabled(false);
                                updateRuleSelection(null);
                                ErrorDialog.openError(getControl().getShell(), "Interpreter",
                                        "The interpreter is disabled", status);
                            }
                        });
                    }
                }
            });
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

From source file:org.deved.antlride.jdt.launch.AntlrAbstractJavaLauncher.java

License:Open Source License

public final void launch(final boolean rebuild, final AntlrBuildUnit unit, final AntlrTestCase testCase)
        throws CoreException {
    try {/*from  w w  w  .  ja va 2  s .com*/
        final IJavaProject javaProject = JavaCore.create(unit.getFile().getProject());
        if (javaProject != null /* && javaProject.exists() */) {
            ProgressMonitorDialog dialog = new ProgressMonitorDialog(null);
            dialog.run(true, true, new IRunnableWithProgress() {

                public void run(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
                    try {
                        AntlrDeployer deployer = AntlrDeployerRepository.createDeployer();
                        deployer.deployRuntime();

                        IPath compilerPath = deployCompiler();
                        IGrammar grammar = unit.getGrammar();
                        IPath src = getFolder(grammar, "src", false);
                        IPath classes = getFolder(grammar, "classes", rebuild);

                        final IJavaProject javaProject = JavaCore.create(unit.getFile().getProject());

                        IRuntimeClasspathEntry[] runtimeClassPath;
                        if (javaProject.exists()) {
                            runtimeClassPath = AntlrJavaTargetService
                                    .computeDefaultRuntimeClassPath(javaProject);
                        } else {
                            runtimeClassPath = new IRuntimeClasspathEntry[0];
                        }

                        runtimeClassPath = AntlrJavaTargetService.mergeClasspath(monitor, unit,
                                runtimeClassPath);

                        String[] classpath = AntlrJavaTargetService.getMementoClassPath(runtimeClassPath);
                        // ++++++++++++++++++++++++++++++++++++++++++++++++++++
                        // ++++++++++++++++++++ generate code
                        // ++++++++++++++++++++++++++++++++++++++++++++++++++++
                        if (rebuild) {
                            generateCode(monitor, unit, javaProject, classpath, src);
                            // ++++++++++++++++++++++++++++++++++++++++++++++++++++
                            // ++++++++++++++++++++ compile
                            // ++++++++++++++++++++++++++++++++++++++++++++++++++++
                            compile(monitor, unit, javaProject, runtimeClassPath, compilerPath, src, classes);
                        }

                        doLaunch(monitor, javaProject, runtimeClassPath, rebuild, unit, testCase, compilerPath,
                                src, classes);
                    } catch (CoreException e) {
                        showError(e.getStatus());
                    } catch (UnknownHostException e) {
                        showError(createFailStatus(e));
                    } catch (IOException e) {
                        showError(createFailStatus(e));
                    }

                }
            });
        }
    } catch (Exception ex) {
        showError(createFailStatus(ex));
    }
}

From source file:org.deved.antlride.viz.dfa.AntlrDFAViewer.java

License:Open Source License

@Override
public void setInput(Object input) {
    if (grammar != input) {
        grammar = (IGrammar) input;/*from w w w  . j ava 2  s .c o  m*/
        lineTracker = null;
        ProgressMonitorDialog dlg = new ProgressMonitorDialog(getControl().getShell());
        try {
            dlg.run(true, false, new IRunnableWithProgress() {
                public void run(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
                    DFAGraphProvider graphProvider = DFAGraphProviderRepository.create();
                    final DotGraph[] graphs = graphProvider.dfa(monitor, grammar);
                    monitor.done();
                    Display.getDefault().asyncExec(new Runnable() {
                        public void run() {
                            decisionViewer.setInput(graphs);
                        }
                    });
                }
            });
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

From source file:org.deved.antlride.viz.railroad.RailRoadGraphViewer.java

License:Open Source License

private void exportToHtml() {
    try {//  www .j av a2 s . c o m
        final RailRoadExportDialog options = new RailRoadExportDialog(getControl().getShell());
        if (options.open() == Dialog.OK) {
            ProgressMonitorDialog progress = new ProgressMonitorDialog(getControl().getShell());
            progress.run(false, false, new IRunnableWithProgress() {

                public void run(IProgressMonitor monitor)
                        throws InvocationTargetException, InterruptedException {
                    try {
                        new RailRoadGenerator().export(monitor, grammar, options);
                        MessageDialog.open(MessageDialog.INFORMATION, getControl().getShell(),
                                "Railroad exporter", grammar.getElementName() + " successfully exported.",
                                MessageDialog.OK);
                    } catch (IOException ex) {
                        throw new InvocationTargetException(ex);
                    }
                }
            });
        }
    } catch (InvocationTargetException e) {
        ErrorDialog.openError(getControl().getShell(), "Railroad exporter", null, new Status(IStatus.ERROR,
                AntlrViz.PLUGIN_ID, grammar.getElementName() + " can't be exported", e.getTargetException()));
        AntlrViz.error(e.getTargetException());
    } catch (InterruptedException e) {
        AntlrViz.error(e);
    }
}

From source file:org.dyno.visual.swing.editors.VisualSwingEditor.java

License:Open Source License

public void saveWithProgress() {
    try {//from ww w.ja  va 2  s  . c  om
        IRunnableWithProgress runnable = new IRunnableWithProgress() {
            public void run(IProgressMonitor monitor) {
                safeSave(monitor);
            }
        };
        ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
        dialog.run(true, true, runnable);
    } catch (Exception e) {
        VisualSwingPlugin.getLogger().error(e);
        return;
    }
}

From source file:org.ebayopensource.vjet.eclipse.core.test.ted.TedTypespaceLoadTest.java

License:Open Source License

/**
 * This method is actually works for the first time The latter call will not
 * trigger the job again <job value will be null> as the index is already
 * updated. wait for index to set up/* ww w  . ja va  2 s . co  m*/
 */
private void waitUpdateIndex() {
    // this line of code is to ensure maven index to start load and not
    // depend on maven
    ProgressMonitorDialog dialog = new ProgressMonitorDialog(Display.getCurrent().getActiveShell());
    try {
        dialog.run(true, false, new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("waiting for index updater to finish...", 10);
                Job job = null;// Jobs.getJobByName("Updating indexes");
                if (job != null) {
                    job.join();
                } else {
                    System.err.println(
                            "cannot find job! May be the job has run yet, so ignore the error message if this is a wrong alarm.");
                }
                monitor.done();
            }

        });
    } catch (Exception e) {

    }
}

From source file:org.ebayopensource.vjet.eclipse.internal.ui.preferences.InstalledSdksBlock.java

License:Open Source License

/**
 * Search for installed VMs in the file system
 *///  www. ja  va2 s.  c  o m
protected void search() {

    // choose a root directory for the search 
    DirectoryDialog dialog = new DirectoryDialog(getShell());
    //      dialog.setMessage(JREMessages.InstalledJREsBlock_9); 
    //      dialog.setText(JREMessages.InstalledJREsBlock_10); 
    dialog.setMessage("Temp code");
    dialog.setText("Temp code");
    String path = dialog.open();
    if (path == null) {
        return;
    }

    // ignore installed locations
    final Set exstingLocations = new HashSet();
    Iterator iter = fVMs.iterator();
    while (iter.hasNext()) {
        exstingLocations.add(((ISdkEnvironment) iter.next()).getSdkPaths());
    }

    // search
    final File rootDir = new File(path);
    final List locations = new ArrayList();
    final List types = new ArrayList();

    IRunnableWithProgress r = new IRunnableWithProgress() {
        public void run(IProgressMonitor monitor) {
            //            monitor.beginTask(JREMessages.InstalledJREsBlock_11, IProgressMonitor.UNKNOWN); 
            monitor.beginTask("Temp code", IProgressMonitor.UNKNOWN);
            search(rootDir, locations, types, exstingLocations, monitor);
            monitor.done();
        }
    };

    try {
        ProgressMonitorDialog progress = new ProgressMonitorDialog(getShell()) {
            /*
             * Overridden createCancelButton to replace Cancel label with Stop label
             * More accurately reflects action taken when button pressed.
             * Bug [162902]
             */
            protected void createCancelButton(Composite parent) {
                cancel = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.STOP_LABEL, true);
                if (arrowCursor == null) {
                    arrowCursor = new Cursor(cancel.getDisplay(), SWT.CURSOR_ARROW);
                }
                cancel.setCursor(arrowCursor);
                setOperationCancelButtonEnabled(enableCancelButton);
            }
        };
        progress.run(true, true, r);
    } catch (InvocationTargetException e) {
        VjetPlugin.error("Error", e);
    } catch (InterruptedException e) {
        // canceled
        return;
    }

    if (locations.isEmpty()) {
        //         MessageDialog.openInformation(getShell(), JREMessages.InstalledJREsBlock_12, MessageFormat.format(JREMessages.InstalledJREsBlock_13, new String[]{path})); // 
    } else {
        iter = locations.iterator();
        Iterator iter2 = types.iterator();
        //         while (iter.hasNext()) {
        //            File location = (File)iter.next();
        //            ISdkEnvironmentType type = (ISdkEnvironmentType)iter2.next();
        //            ISdkEnvironment vm = new VMStandin(type, createUniqueId(type));
        //            String name = location.getName();
        //            String nameCopy = new String(name);
        //            int i = 1;
        //            while (isDuplicateName(nameCopy)) {
        //               nameCopy = name + '(' + i++ + ')'; 
        //            }
        //            vm.setName(nameCopy);
        //            vm.setInstallLocation(location);
        //            if (type instanceof AbstractVMInstallType) {
        //               //set default java doc location
        //               AbstractVMInstallType abs = (AbstractVMInstallType)type;
        //               vm.setJavadocLocation(abs.getDefaultJavadocLocation(location));
        //            }
        //            vmAdded(vm);
        //         }
    }

}

From source file:org.eclipse.acceleo.module.OrocosGenerator.ui.handler.GenerateOrocosCodeCommand.java

License:Open Source License

@Override
protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info)
        throws ExecutionException {
    // System.err.println("Model Exlorer generation menu Orocos");
    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
    final ProgressMonitorDialog monitordialog = new ProgressMonitorDialog(shell);
    try {/*from   w  w w  .  j  a v  a2  s.c o m*/
        monitordialog.run(true, true, new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Generating Acceleo files", 100);
                AcceleoOrocosCodeGenerator codeGenerator = new AcceleoOrocosCodeGenerator();
                codeGenerator.runAcceleoTransformation(selectedElement, orocosTargetFolderPath);
                monitor.done();
            }

        });

    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return CommandResult.newOKCommandResult();
}