List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog ProgressMonitorDialog
public ProgressMonitorDialog(Shell parent)
From source file:SaveHandler.java
License:Open Source License
@Execute public void execute( IEclipseContext context,/*from w w w .ja v a 2 s.c om*/ @Named(IServiceConstants.ACTIVE_SHELL) Shell shell, @Named(IServiceConstants.ACTIVE_PART) final MContribution contribution) throws InvocationTargetException, InterruptedException { final IEclipseContext pmContext = context.createChild(); ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.open(); dialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { pmContext.set(IProgressMonitor.class.getName(), monitor); if (contribution != null) { Object clientObject = contribution.getObject(); // ContextInjectionFactory.invoke(clientObject, Persist.class, //$NON-NLS-1$ // pmContext, null); } } }); if (pmContext instanceof IDisposable) { ((IDisposable) pmContext).dispose(); } }
From source file:$group_id$.core.handlers.SaveHandler.java
License:Open Source License
@Execute public void execute(IEclipseContext context, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell, @Named(IServiceConstants.ACTIVE_PART) final MContribution contribution) throws InvocationTargetException, InterruptedException { final IEclipseContext pmContext = context.createChild(); ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.open();// w w w . j ava 2 s.c o m dialog.run(true, true, new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { pmContext.set(IProgressMonitor.class.getName(), monitor); if (contribution != null) { // Object clientObject = contribution.getObject(); // ContextInjectionFactory.invoke(clientObject, Persist.class, //\$NON-NLS-1\$ // pmContext, null); } } }); pmContext.dispose(); }
From source file:ac.soton.eventb.atomicitydecomposition.generator.actions.GenerateAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart editor = HandlerUtil.getActiveEditorChecked(event); if (editor instanceof RoseEditor) { final RoseEditor roseEditor = (RoseEditor) editor; IStructuredSelection selection = (IStructuredSelection) roseEditor.getSelection(); if (selection.getFirstElement() instanceof EventBElement) { final EventBElement eventBElement = (EventBElement) selection.getFirstElement(); ResourceSet resourceSet = eventBElement.eResource().getResourceSet(); if (editor.isDirty()) editor.doSave(new NullProgressMonitor()); // first validate, then transform // if (ValidateAction.validate(diagramDocumentEditor)){ for (AbstractExtension abs : eventBElement.getExtensions()) { TransactionalEditingDomain editingDomain = TransactionalEditingDomain.Factory.INSTANCE .createEditingDomain(); AbstractExtension absExt; if (abs.eIsProxy()) { absExt = (AbstractExtension) resourceSet.getEObject(EcoreUtil.getURI(abs), false); } else absExt = abs;// w w w .ja v a 2 s. co m if (absExt instanceof FlowDiagram) { //If there is no extension, set as being the name if (absExt.getExtensionId() == null || absExt.getExtensionId().equals("")) { absExt.setExtensionId(((FlowDiagram) absExt).getName()); } final GenerateCommand generateCommand = new GenerateCommand(editingDomain, absExt); if (generateCommand.canExecute()) { // run with progress ProgressMonitorDialog dialog = new ProgressMonitorDialog( roseEditor.getSite().getShell()); try { dialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { monitor.beginTask(Messages.GENERATOR_MSG_05, IProgressMonitor.UNKNOWN); try { generateCommand.execute(monitor, roseEditor); } catch (ExecutionException e) { Activator.logError(Messages.GENERATOR_MSG_06, e); } monitor.done(); } }); } catch (InvocationTargetException e) { Activator.logError(Messages.GENERATOR_MSG_07, e); return null; } catch (InterruptedException e) { Activator.logError(Messages.GENERATOR_MSG_08, e); return null; } // error feedback if (false == generateCommand.getCommandResult().getStatus().isOK()) MessageDialog.openError(editor.getSite().getShell(), Messages.GENERATOR_MSG_09, Messages.GENERATOR_MSG_10); } } } } } return null; }
From source file:ac.soton.eventb.emf.diagrams.generator.actions.GenerateAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart editor = HandlerUtil.getActiveEditorChecked(event); if (editor instanceof DiagramDocumentEditor) { final DiagramDocumentEditor diagramDocumentEditor = (DiagramDocumentEditor) editor; if (diagramDocumentEditor.getDiagram().getElement() instanceof EventBElement) { final EventBElement eventBElement = (EventBElement) diagramDocumentEditor.getDiagram().getElement(); // save before transformation if (editor.isDirty()) editor.doSave(new NullProgressMonitor()); // first validate, then transform if (ValidateAction.validate(diagramDocumentEditor)) { final GenerateCommand generateCommand = new GenerateCommand( diagramDocumentEditor.getDiagramEditPart().getEditingDomain(), eventBElement); if (generateCommand.canExecute()) { // run with progress ProgressMonitorDialog dialog = new ProgressMonitorDialog( diagramDocumentEditor.getSite().getShell()); try { dialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { monitor.beginTask(Messages.GENERATOR_MSG_05, IProgressMonitor.UNKNOWN); try { generateCommand.execute(monitor, diagramDocumentEditor); } catch (ExecutionException e) { Activator.logError(Messages.GENERATOR_MSG_06, e); }/* w w w.ja va 2s . c om*/ monitor.done(); } }); } catch (InvocationTargetException e) { Activator.logError(Messages.GENERATOR_MSG_07, e); return null; } catch (InterruptedException e) { Activator.logError(Messages.GENERATOR_MSG_08, e); return null; } // error feedback if (false == generateCommand.getCommandResult().getStatus().isOK()) MessageDialog.openError(editor.getSite().getShell(), Messages.GENERATOR_MSG_09, Messages.GENERATOR_MSG_10); } } } } return null; }
From source file:ac.soton.eventb.statemachines.transformation.TranslateAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart editor = HandlerUtil.getActiveEditorChecked(event); if (editor instanceof DiagramDocumentEditor) { final DiagramDocumentEditor diagramDocumentEditor = (DiagramDocumentEditor) editor; if (diagramDocumentEditor.getDiagram().getElement() instanceof Statemachine) { final Statemachine statemachine = (Statemachine) diagramDocumentEditor.getDiagram().getElement(); // save before transformation if (editor.isDirty()) editor.doSave(new NullProgressMonitor()); // first validate, then transform if (ValidateAction.validate(diagramDocumentEditor)) { final StatemachineTransformationCommand generateCommand = new StatemachineTransformationCommand( diagramDocumentEditor.getDiagramEditPart().getEditingDomain(), statemachine); if (generateCommand.canExecute()) { // run with progress ProgressMonitorDialog dialog = new ProgressMonitorDialog( diagramDocumentEditor.getSite().getShell()); try { dialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { monitor.beginTask("Translating to Event-B ...", IProgressMonitor.UNKNOWN); try { generateCommand.execute(monitor, diagramDocumentEditor); } catch (ExecutionException e) { Activator.logError("Statemachine transformation failed", e); }//w ww .j ava2s .c om monitor.done(); } }); } catch (InvocationTargetException e) { TransformationPlugin.getDefault().logError("Transformation failed", e); return null; } catch (InterruptedException e) { TransformationPlugin.getDefault().logError("Transformation interrupted", e); return null; } // error feedback if (false == generateCommand.getCommandResult().getStatus().isOK()) MessageDialog.openError(editor.getSite().getShell(), "Translation Information", "Translation encountered problems.\n\nSee log for details."); } } } } return null; }
From source file:ac.soton.fmusim.components.presentation.ComponentsEditor.java
License:Open Source License
/** * This is for implementing {@link IEditorPart} and simply saves the model file. * <!-- begin-user-doc -->/* w w w . ja v a2s. com*/ * <!-- end-user-doc --> * @generated */ @Override public void doSave(IProgressMonitor progressMonitor) { // Save only resources that have actually changed. // final Map<Object, Object> saveOptions = new HashMap<Object, Object>(); saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); // Do the work within an operation because this is a long running activity that modifies the workbench. // WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { // This is the method that gets invoked when the operation runs. // @Override public void execute(IProgressMonitor monitor) { // Save the resources to the file system. // boolean first = true; for (Resource resource : editingDomain.getResourceSet().getResources()) { if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) { try { long timeStamp = resource.getTimeStamp(); resource.save(saveOptions); if (resource.getTimeStamp() != timeStamp) { savedResources.add(resource); } } catch (Exception exception) { resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); } first = false; } } } }; updateProblemIndication = false; try { // This runs the options, and shows progress. // new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); // Refresh the necessary state. // ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone(); firePropertyChange(IEditorPart.PROP_DIRTY); } catch (Exception exception) { // Something went wrong that shouldn't. // ComponentsEditorPlugin.INSTANCE.log(exception); } updateProblemIndication = true; updateProblemIndication(); }
From source file:actions.FileScanningAction.java
License:Open Source License
@Override public void run() { try {/* w w w .j a v a 2 s . c om*/ mainTable.setRedrawEnabled(false); // disable action DirectoryDialog dialog = new DirectoryDialog(shell); dialog.setText("Select a Directory"); dialog.setMessage( "Select a directory of music files. Music files found in that directory will be added to your music library."); final String path = dialog.open(); new ProgressMonitorDialog(shell).run(true, true, new ScanProgressMonitor(path)); } catch (InvocationTargetException e) { MessageDialog.openError(shell, "Error", e.getMessage()); } catch (InterruptedException e) { MessageDialog.openInformation(shell, "Cancelled", e.getMessage()); } finally { mainTable.setRedrawEnabled(true); } }
From source file:actions.FileScanningAction.java
License:Open Source License
public void scanFiles(String[] files) { try {/*from w w w . j a v a 2s. co m*/ ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.run(true, true, new ScanProgressMonitor(files)); } catch (InvocationTargetException e) { MessageDialog.openError(shell, "Error", e.getMessage()); } catch (InterruptedException e) { MessageDialog.openInformation(shell, "Cancelled", e.getMessage()); } }
From source file:ag.ion.noa4e.ui.NOAUIPlugin.java
License:Open Source License
/** * Internal method in order to start the office application. * //w ww .j a v a 2s .c o m * @param shell shell to be used * @param officeApplication office application to be used * * @return status information * * @author Joerg Sigle * @date 24.06.2012 * @date 20.02.2012 00:57 * * @author Andreas Brker * @date 28.06.2006 * * Adopted for Elexis by Joerg Sigle 02/2012, adding the following line. * Changes required because of different preference store layout in Elexis. * There are corresponding changes in: * LocalOfficeApplicationsPreferencesPage.java * PREFS_PREVENT_TERMINATION * initPreferenceValues() * performOk() * NOAUIPlugin.java * PREFERENCE_OFFICE_HOME * PREFERENCE_PREVENT_TERMINATION * internalStartApplication(). */ private static IStatus internalStartApplication(final Shell shell, IOfficeApplication officeApplication) { System.out.println("NOAUIPlugin: internalStartApplication() begin"); if (officeApplication.isActive()) { System.out.println( "NOAUIPlugin: internalStartApplication(): officeApplication.isActive(), so returning immediately."); return Status.OK_STATUS; } System.out.println( "NOAUIPlugin: internalStartApplication(): !officeApplication.isActive(), so starting it up..."); boolean configurationChanged = false; boolean canStart = false; String home = null; HashMap configuration = new HashMap(1); //My warning in the following line referred to the original noa4e code: //System.out.println("NOAUIPlugin: internalStartApplication(): getting officeHome (WARNING: probably from the wrong source)..."); System.out.println("NOAUIPlugin: internalStartApplication(): getting officeHome..."); System.out.println( "NOAUIPlugin: internalStartApplication(): Using js mod adopted for Elexis, reproducing prior GW adoptions, P_OOBASEDIR via ...(Hub.localCfg)"); //JS modified this: //The original code tries to access a preference store which is not used in Elexis, //according to GWs mods in (back then:) LocalOfficeApplicationPreferencesPage.java //Unsuitable original line, removed: //String officeHome = getDefault().getPreferenceStore().getString(PREFERENCE_OFFICE_HOME); //Newly inserted lines: IPreferenceStore preferenceStore = new SettingsPreferenceStore(CoreHub.localCfg); String officeHome = preferenceStore.getString(PreferenceConstants.P_OOBASEDIR); if (officeHome == null) System.out.println("NOAUIPlugin: internalStartApplication(): WARNING: officeHome==null"); else System.out.println("NOAUIPlugin: internalStartApplication(): officeHome=" + officeHome); if (officeHome.length() != 0) { File file = new File(officeHome); if (file.canRead()) { System.out.println( "NOAUIPlugin: internalStartApplication(): Check: officeHome is a valid path. Setting canStart to true."); configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, officeHome); canStart = true; } else { System.out.println( "NOAUIPlugin: internalStartApplication(): WARNING: officeHome is NOT a valid path. Leaving canStart at false."); MessageDialog.openWarning(shell, Messages.NOAUIPlugin_dialog_warning_invalid_path_title, Messages.NOAUIPlugin_dialog_warning_invalid_path_message); } } System.out.println("NOAUIPlugin: internalStartApplication(): canStart=" + canStart); if (!canStart) { System.out.println( "NOAUIPlugin: internalStartApplication(): canStart==false; trying to auto locate available office suite installations..."); configurationChanged = true; ILazyApplicationInfo[] applicationInfos = null; boolean configurationCompleted = false; try { ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(shell); FindApplicationInfosOperation findApplicationInfosOperation = new FindApplicationInfosOperation(); progressMonitorDialog.run(true, true, findApplicationInfosOperation); applicationInfos = findApplicationInfosOperation.getApplicationsInfos(); if (applicationInfos.length == 1) { if (applicationInfos[0].getMajorVersion() == 2 || (applicationInfos[0].getMajorVersion() == 1 && applicationInfos[0].getMinorVersion() == 9)) { configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, applicationInfos[0].getHome()); configurationCompleted = true; } } } catch (Throwable throwable) { System.out.println( "NOAUIPlugin: internalStartApplication(): canStart==false; cannot auto locate an office suite installation. So we must search manually..."); //we must search manually } System.out.println( "NOAUIPlugin: internalStartApplication(): configurationCompleted=" + configurationCompleted); if (!configurationCompleted) { LocalApplicationWizard localApplicationWizard = new LocalApplicationWizard(applicationInfos); if (home != null && home.length() != 0) localApplicationWizard.setHomePath(home); WizardDialog wizardDialog = new WizardDialog(shell, localApplicationWizard); if (wizardDialog.open() == Window.CANCEL) return Status.CANCEL_STATUS; configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, localApplicationWizard.getSelectedHomePath()); } } System.out.println( "NOAUIPlugin: internalStartApplication(): the office suite configuration should now be valid:"); if (officeApplication == null) System.out.println("NOAUIPlugin: internalStartApplication(): officeApplication==null"); else System.out.println( "NOAUIPlugin: internalStartApplication(): officeApplication=" + officeApplication.toString()); if (configuration == null) System.out.println("NOAUIPlugin: internalStartApplication(): configuration==null"); else System.out .println("NOAUIPlugin: internalStartApplication(): configuration=" + configuration.toString()); if (shell == null) System.out.println("NOAUIPlugin: internalStartApplication(): shell==null"); else System.out.println("NOAUIPlugin: internalStartApplication(): shell=" + shell.toString()); System.out.println( "NOAUIPlugin: internalStartApplication(): Finally trying activateOfficeApplication(officeApplication, configuration, shell):"); IStatus status = activateOfficeApplication(officeApplication, configuration, shell); if (configurationChanged) { System.out.println( "NOAUIPlugin: internalStartApplication(): Configuration of PREFERENCE_OFFICE_HOME changed."); System.out.println("NOAUIPlugin: internalStartApplication(): Storing the new configuration."); System.out.println( "NOAUIPlugin: internalStartApplication(): Using js mod adopted for Elexis, reproducing prior GW adoptions, P_OOBASEDIR via ...(Hub.localCfg)"); //JS modified this: //The original code tries to access a preference store which is not used in Elexis, //according to GWs mods in (back then:) LocalOfficeApplicationPreferencesPage.java //Unsuitable original line, removed: //getDefault().getPluginPreferences().setValue(PREFERENCE_OFFICE_HOME, // configuration.get(IOfficeApplication.APPLICATION_HOME_KEY).toString()); //Newly inserted line: preferenceStore.setValue(PreferenceConstants.P_OOBASEDIR, configuration.get(IOfficeApplication.APPLICATION_HOME_KEY).toString()); } System.out.println("NOAUIPlugin: internalStartApplication() end, returning status"); return status; }
From source file:ag.ion.noa4e.ui.NOAUIPlugin.java
License:Open Source License
/** * Activates office application./*from w ww.ja v a 2 s . c o m*/ * * @param officeApplication office application to be activated * @param configuration configuration to be used * @param shell shell to be used * * @return status information of the activation * * @author Andreas Brker * @date 28.08.2006 */ private static IStatus activateOfficeApplication(IOfficeApplication officeApplication, Map configuration, Shell shell) { IStatus status = Status.OK_STATUS; System.out.println("NOAUIPlugin: activateOfficeApplication() begin"); System.out.println("NOAUIPlugin: activateOfficeApplication(): trying to getActiveWorkbenchWindow()"); try { officeApplication.setConfiguration(configuration); boolean useProgressMonitor = true; IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (workbenchWindow == null) useProgressMonitor = false; else { IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); if (workbenchPage == null) useProgressMonitor = false; if (workbenchPage == null) System.out.println("NOAUIPlugin: activateOfficeApplication(): workbenchPage==null"); else System.out.println( "NOAUIPlugin: activateOfficeApplication(): workbenchPage=" + workbenchPage.toString()); } if (workbenchWindow == null) System.out.println("NOAUIPlugin: activateOfficeApplication(): workbenchWindow==null"); else System.out.println( "NOAUIPlugin: activateOfficeApplication(): workbenchWindow=" + workbenchWindow.toString()); System.out.println( "NOAUIPlugin: activateOfficeApplication(): trying to get new ActivateOfficeApplicationOperation()"); ActivateOfficeApplicationOperation activateOfficeApplicationOperation = new ActivateOfficeApplicationOperation( officeApplication); if (activateOfficeApplicationOperation == null) System.out.println( "NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation==null"); else System.out.println("NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation=" + activateOfficeApplicationOperation.toString()); System.out .println("NOAUIPlugin: activateOfficeApplication(): useProgressMonitor=" + useProgressMonitor); if (useProgressMonitor) { System.out.println( "NOAUIPlugin: activateOfficeApplication(): trying to get new ProgressMonitorDialog()"); ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(shell); if (progressMonitorDialog == null) System.out.println("NOAUIPlugin: activateOfficeApplication(): progressMonitorDialog==null"); else System.out.println("NOAUIPlugin: activateOfficeApplication(): progressMonitorDialog=" + progressMonitorDialog.toString()); if (activateOfficeApplicationOperation == null) System.out.println( "NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation==null"); else System.out .println("NOAUIPlugin: activateOfficeApplication(): activateOfficeApplicationOperation=" + activateOfficeApplicationOperation.toString()); System.out.println("NOAUIPlugin: activateOfficeApplication(): trying to run ProgressMonitorDialog"); //in progressMonitorDialog.run() selbst kann ich offenbar kein Monitoring hineinschreiben, //das gehrt zu den eclipse Klassen. Aber vielleicht nach activateOfficeApplicationOperation. progressMonitorDialog.run(true, true, activateOfficeApplicationOperation); System.out.println( "NOAUIPlugin: activateOfficeApplication(): ProgressMonitorDialog should now be running..."); } else activateOfficeApplicationOperation.run(new NullProgressMonitor()); System.out.println("NOAUIPlugin: activateOfficeApplication(): check whether exception occured:"); if (activateOfficeApplicationOperation.getOfficeApplicationException() != null) { System.out.println( "NOAUIPlugin: activateOfficeApplication(): check whether exception occured: YES: so show status in error dialog"); status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, activateOfficeApplicationOperation.getOfficeApplicationException().getMessage(), activateOfficeApplicationOperation.getOfficeApplicationException()); ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION, status); } } catch (InvocationTargetException invocationTargetException) { status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, invocationTargetException.getMessage(), invocationTargetException); ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION, status); } catch (OfficeApplicationException officeApplicationException) { status = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, officeApplicationException.getMessage(), officeApplicationException); ErrorDialog.openError(shell, Messages.NOAUIPlugin_title_error, ERROR_ACTIVATING_APPLICATION, status); } catch (InterruptedException interruptedException) { return Status.CANCEL_STATUS; } System.out.println("NOAUIPlugin: activateOfficeApplication() end, returning status"); return status; }