List of usage examples for org.eclipse.jface.dialogs ProgressMonitorDialog getProgressMonitor
public IProgressMonitor getProgressMonitor()
From source file:org.eclipse.n4js.ui.dialog.ModuleSpecifierSelectionDialog.java
License:Open Source License
@Override protected void createPressed() { InputDialog dialog = new InputDialog(getShell(), CREATE_A_NEW_FOLDER_TITLE, CREATE_A_NEW_FOLDER_MESSAGE, "", new ModuleFolderValidator()); dialog.open();/*from w w w .j a v a 2s . c o m*/ Object selection = treeViewer.getStructuredSelection().getFirstElement(); // Infer parent folder from selection IContainer parent; if (selection instanceof IFile) { parent = ((IFile) selection).getParent(); } else if (selection instanceof IContainer) { parent = (IContainer) selection; } else { // Use the source folder as default parent = this.sourceFolder; } String dialogValue = dialog.getValue(); if (OSInfo.isWindows()) { dialogValue = convertToUnixPath(dialogValue); } if (Window.OK == dialog.getReturnCode()) { IPath folderPath = new Path(dialogValue); IContainer createdFolder = null; ProgressMonitorDialog progressMonitorDialog = new ProgressMonitorDialog(getShell()); progressMonitorDialog.open(); IProgressMonitor progressMonitor = progressMonitorDialog.getProgressMonitor(); createdFolder = createFolderPath(folderPath, parent, null); progressMonitor.done(); progressMonitorDialog.close(); if (null != createdFolder) { treeViewer.setSelection(new StructuredSelection(createdFolder)); } } }
From source file:org.eclipse.papyrus.infra.services.resourceloading.util.LoadingUtils.java
License:Open Source License
/** * Load corresponding resources in model set for all its existing models. * // ww w . j a v a 2 s . c om * @param modelSet * the model set * @param uriWithoutFileExtension * path of resources to load without file extension */ public static void loadResourcesInModelSet(ModelSet modelSet, URI uriWithoutFileExtension) { // initiate progress dialog ProgressMonitorDialog dialog = new ProgressMonitorDialog(Display.getCurrent().getActiveShell()); dialog.open(); IProgressMonitor monitor = dialog.getProgressMonitor(); IEditorPart editor = getEditor(); if (editor instanceof CoreMultiDiagramEditor) { CoreMultiDiagramEditor core = (CoreMultiDiagramEditor) editor; try { DiSashModelMngr sashModelMngr = core.getServicesRegistry().getService(DiSashModelMngr.class); IPageMngr pageMngr = sashModelMngr.getIPageMngr(); List<Object> allPages = pageMngr.allPages(); // mark progress monitor.beginTask(Messages.LoadingUtils_RefreshPagesTask, allPages.size()); // the uri is added after getting all the pages. If it is done before, the eobjects are resolved NotificationBuilder error = NotificationBuilder .createAsyncPopup(Messages.LoadingUtils_ErrorTitle, String .format(Messages.LoadingUtils_ErrorMessage, uriWithoutFileExtension.toString())) .setType(Type.ERROR).setDelay(2000); for (Object o : allPages) { // refresh pages to display proxy diagrams if (o instanceof EObject) { EObject eobject = (EObject) o; if (eobject.eIsProxy()) { InternalEObject internal = (InternalEObject) eobject; URI uriProxy = internal.eProxyURI(); URI trimFragment = uriProxy.trimFragment(); if (uriWithoutFileExtension.equals(trimFragment.trimFileExtension())) { try { Resource r = modelSet.getResource(trimFragment, true); if (r != null) { EObject newEObject = r.getEObject(uriProxy.fragment()); if (pageMngr.isOpen(newEObject)) { pageMngr.closePage(newEObject); pageMngr.openPage(newEObject); } } else { error.run(); } } catch (Exception e) { error.run(); Activator.logError(e); } } } } // mark progress monitor.worked(1); } Set<String> extensions = getExtensions(modelSet); // mark progress monitor.beginTask(Messages.LoadingUtils_LoadModelsTask, extensions.size()); for (String s : extensions) { try { URI uriToLoad = uriWithoutFileExtension.appendFileExtension(s); Resource r = modelSet.getResource(uriToLoad, true); if (r == null) { error.run(); } } catch (Exception re) { error.run(); Activator.logError(re); } // mark progress monitor.worked(1); } } catch (ServiceException e) { Activator.logError(e); } } // mark progress monitor.done(); dialog.close(); }
From source file:org.eclipse.papyrus.infra.services.resourceloading.util.LoadingUtils.java
License:Open Source License
/** * Unload corresponding resources from model set for all its existing models. * //from w w w. java 2s . c o m * @param modelSet * the model set * @param uriWithoutFileExtension * path of resources to unload without file extension * @param refreshDiagramsWithProxies * true if we must refresh necessary diagrams, false to skip it. */ public static void unloadResourcesFromModelSet(ModelSet modelSet, URI uriWithoutFileExtension, boolean refreshDiagramsWithProxies) { // initiate progress dialog ProgressMonitorDialog dialog = new ProgressMonitorDialog(Display.getCurrent().getActiveShell()); dialog.open(); IProgressMonitor monitor = dialog.getProgressMonitor(); IEditorPart editor = getEditor(); if (editor instanceof CoreMultiDiagramEditor) { CoreMultiDiagramEditor core = (CoreMultiDiagramEditor) editor; try { DiSashModelMngr sashModelMngr = core.getServicesRegistry().getService(DiSashModelMngr.class); IPageMngr pageMngr = sashModelMngr.getIPageMngr(); List<Object> allPages = pageMngr.allPages(); List<URI> pagesURIToOpen = new ArrayList<URI>(allPages.size()); List<URI> pagesURIToRefresh = new ArrayList<URI>(allPages.size()); if (refreshDiagramsWithProxies) { // mark progress monitor.beginTask(Messages.LoadingUtils_RefreshPagesTask, allPages.size()); for (Object o : allPages) { // refresh pages to cancel display of proxified elements if (o instanceof EObject) { EObject eobject = (EObject) o; if (!eobject.eIsProxy()) { URI trimFragment = eobject.eResource().getURI(); String frag = eobject.eResource().getURIFragment(eobject); if (uriWithoutFileExtension.equals(trimFragment.trimFileExtension())) { // diagram was in unloaded resource. Refresh it. if (pageMngr.isOpen(eobject)) { pageMngr.closePage(eobject); pagesURIToOpen.add(trimFragment.appendFragment(frag)); } } else if (pageMngr.isOpen(eobject)) { // diagram is still loaded but may display proxified elements pagesURIToRefresh.add(trimFragment.appendFragment(frag)); } } } // mark progress monitor.worked(1); } } // mark progress monitor.beginTask(Messages.LoadingUtils_UnloadModelsTask, modelSet.getResources().size()); // unload resource for (Resource res : new ArrayList<Resource>(modelSet.getResources())) { if (res.getURI().trimFileExtension().equals(uriWithoutFileExtension)) { // unload this resource modelSet.getResources().remove(res); res.unload(); res.eAdapters().clear(); } // mark progress monitor.worked(1); } // // mark progress // monitor.beginTask("Resolve", 1); // EcoreUtil.resolveAll(modelSet); // monitor.worked(1); if (refreshDiagramsWithProxies) { // mark progress monitor.beginTask(Messages.LoadingUtils_RefreshPagesTask, allPages.size()); // reopen pages from proxies and refresh necessary pages for (Object page : allPages) { if (page instanceof EObject) { EObject eobject = (EObject) page; if (eobject.eIsProxy()) { // reopen page from proxy if needed InternalEObject internal = (InternalEObject) eobject; URI uriProxy = internal.eProxyURI(); if (pagesURIToOpen.contains(uriProxy)) { pageMngr.openPage(eobject); } } else if (eobject instanceof Diagram) { // refresh page's diagram if needed Diagram diag = ((Diagram) eobject); if (pageMngr.isOpen(diag)) { Object part = core.getDiagramGraphicalViewer().getEditPartRegistry().get(diag); if (part instanceof GraphicalEditPart) { // refresh nodes for (Object child : EditPartUtilities .getAllChildren((GraphicalEditPart) part)) { if (child instanceof EditPart) { ((EditPart) child).refresh(); } } // refresh edges for (Object child : EditPartUtilities .getAllNestedConnectionEditParts((GraphicalEditPart) part)) { if (child instanceof EditPart) { ((EditPart) child).refresh(); } } } } } } // mark progress monitor.worked(1); } } } catch (ServiceException e) { Activator.logError(e); } } // mark progress monitor.done(); dialog.close(); }
From source file:org.eclipse.scada.configuration.generator.ui.AbstractFileRunner.java
License:Open Source License
@Override public Object execute(final ExecutionEvent event) throws ExecutionException { final List<IFile> files = SelectionHelper.list(getSelection(), IFile.class); final ProgressMonitorDialog dlg = new ProgressMonitorDialog(getShell()); dlg.open();//from w ww . ja v a 2 s .co m try { ModalContext.run(new IRunnableWithProgress() { @Override public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { monitor.beginTask("Running generator", files.size()); for (final IFile file : files) { final SubProgressMonitor sub = new SubProgressMonitor(monitor, 1); try { runFile(file, sub); } catch (final Exception e) { throw new InvocationTargetException(e); } finally { sub.done(); } } } finally { monitor.done(); } } }, true, dlg.getProgressMonitor(), getShell().getDisplay()); } catch (final Exception e) { e.printStackTrace(); ErrorDialog.openError(getShell(), null, null, StatusHelper.convertStatus(Activator.PLUGIN_ID, e)); } finally { dlg.close(); } return null; }
From source file:org.eclipse.ui.internal.browser.WebBrowserPreferencePage.java
License:Open Source License
/** * Create the preference options./*from w w w .j a v a 2s. co 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(SWT.FILL, SWT.FILL, true, false); composite.setLayoutData(data); Label label = new Label(composite, SWT.WRAP); label.setText(Messages.preferenceWebBrowserDescription); data = new GridData(SWT.FILL, SWT.NONE, false, false); data.horizontalSpan = 2; data.widthHint = 275; label.setLayoutData(data); internal = new Button(composite, SWT.RADIO); internal.setText(Messages.prefInternalBrowser); data = new GridData(SWT.FILL, SWT.NONE, true, false); 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(SWT.FILL, SWT.NONE, true, false); data.horizontalSpan = 2; external.setLayoutData(data); label = new Label(composite, SWT.NONE); label.setText(Messages.browserList); data = new GridData(SWT.FILL, SWT.CENTER, true, false); 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(SWT.FILL, SWT.FILL, true, true); 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 = 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 = 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<IBrowserDescriptorWorkingCopy> foundBrowsers = new ArrayList<IBrowserDescriptorWorkingCopy>(); final List<String> 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, new HashSet<String>(), 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<IBrowserDescriptorWorkingCopy> browsersToCreate = foundBrowsers; if (browsersToCreate.isEmpty()) { // no browsers found WebBrowserUtil.openMessage(Messages.searchingNoneFound); return; } Iterator<IBrowserDescriptorWorkingCopy> iterator = browsersToCreate.iterator(); while (iterator.hasNext()) { IBrowserDescriptorWorkingCopy browser2 = 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.eclipse.ui.internal.dialogs.WorkbenchEditorsDialog.java
License:Open Source License
/** * Saves the specified editors/*from ww w.jav a 2 s. c o m*/ */ private void saveItems(TableItem items[]) { if (items.length == 0) { return; } ProgressMonitorDialog pmd = new ProgressMonitorJobsDialog(getShell()); pmd.open(); for (int i = 0; i < items.length; i++) { Adapter editor = (Adapter) items[i].getData(); editor.save(pmd.getProgressMonitor()); updateItem(items[i], editor); } pmd.close(); updateItems(); }
From source file:org.eclipse.ui.tests.concurrency.TestBug269121.java
License:Open Source License
public void testBug() throws InterruptedException, InvocationTargetException { Job job = new UIJob("UI job") { @Override// w w w . ja v a2 s. c o m public IStatus runInUIThread(IProgressMonitor monitor) { return Status.OK_STATUS; }; }; job.setRule(ResourcesPlugin.getWorkspace().getRoot()); final int[] status = new int[] { -1 }; WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { @Override protected void execute(IProgressMonitor monitor) { status[0] = TestBarrier.STATUS_DONE; } }; final ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell()); Job statusJob = new Job("Checking for deadlock") { @Override protected IStatus run(IProgressMonitor monitor) { try { TestBarrier.waitForStatus(status, TestBarrier.STATUS_DONE); return Status.OK_STATUS; } catch (AssertionFailedError e) { // syncExecs are processed by // UILockListener.aboutToWait(Thread) without running the // event loop so we can cancel the dialog to stop the test dialog.getShell().getDisplay().syncExec(new Runnable() { @Override public void run() { dialog.getProgressMonitor().setCanceled(true); } }); return Status.CANCEL_STATUS; } } }; job.schedule(); statusJob.schedule(); try { dialog.run(false, true, operation); } catch (InterruptedException e) { // expected if operation was cancelled } statusJob.join(); // run the event loop until the UI job is finished while (job.getResult() == null) { Display.getCurrent().readAndDispatch(); } job.join(); assertTrue("Deadlock occurred", statusJob.getResult().isOK()); }
From source file:org.eclipse.wst.server.ui.internal.RuntimePreferencePage.java
License:Open Source License
/** * Create the preference options./*from ww w . j av a 2 s . co 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_GENERAL); Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); layout.verticalSpacing = convertVerticalDLUsToPixels(3); layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 2; composite.setLayout(layout); GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); composite.setLayoutData(data); Label label = new Label(composite, SWT.WRAP); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); data.horizontalSpan = 2; label.setLayoutData(data); label.setText(Messages.preferenceRuntimesDescription); label = new Label(composite, SWT.WRAP); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); data.horizontalSpan = 2; data.verticalIndent = 5; label.setLayoutData(data); label.setText(Messages.preferenceRuntimesTable); runtimeComp = new RuntimeComposite(composite, SWT.NONE, new RuntimeComposite.RuntimeSelectionListener() { public void runtimeSelected(IRuntime runtime) { if (runtime == null) { edit.setEnabled(false); remove.setEnabled(false); pathLabel.setText(""); } else { IStatus status = runtime.validate(new NullProgressMonitor()); if (status != null && status.getSeverity() == IStatus.ERROR) { Color c = pathLabel.getDisplay().getSystemColor(SWT.COLOR_RED); pathLabel.setForeground(c); pathLabel.setText(status.getMessage()); } else if (runtime.getLocation() != null) { pathLabel.setForeground(edit.getForeground()); pathLabel.setText(runtime.getLocation() + ""); } else pathLabel.setText(""); if (runtime.isReadOnly()) { edit.setEnabled(false); remove.setEnabled(false); } else { if (runtime.getRuntimeType() != null) edit.setEnabled(ServerUIPlugin.hasWizardFragment(runtime.getRuntimeType().getId())); else edit.setEnabled(false); remove.setEnabled(true); } } } }); runtimeComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); 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); Button add = SWTUtil.createButton(buttonComp, Messages.add); final RuntimeComposite runtimeComp2 = runtimeComp; add.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (showWizard(null) == Window.CANCEL) return; runtimeComp2.refresh(); } }); edit = SWTUtil.createButton(buttonComp, Messages.edit); edit.setEnabled(false); edit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IRuntime runtime = runtimeComp2.getSelectedRuntime(); if (runtime != null) { IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy(); if (showWizard(runtimeWorkingCopy) != Window.CANCEL) { try { runtimeComp2.refresh(runtime); } catch (Exception ex) { // ignore } } } } }); remove = SWTUtil.createButton(buttonComp, Messages.remove); remove.setEnabled(false); remove.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IRuntime runtime = runtimeComp.getSelectedRuntime(); if (removeRuntime(runtime)) runtimeComp2.remove(runtime); } }); Button search = SWTUtil.createButton(buttonComp, Messages.search); data = (GridData) search.getLayoutData(); data.verticalIndent = 9; search.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { try { // select a target directory for the search DirectoryDialog directoryDialog = new DirectoryDialog(getShell()); directoryDialog.setMessage(Messages.dialogRuntimeSearchMessage); directoryDialog.setText(Messages.dialogRuntimeSearchTitle); String pathStr = directoryDialog.open(); if (pathStr == null) return; final IPath path = new Path(pathStr); final ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); dialog.setBlockOnOpen(false); dialog.setCancelable(true); dialog.open(); final IProgressMonitor monitor = dialog.getProgressMonitor(); final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators(); monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10); final List<IRuntimeWorkingCopy> list = new ArrayList<IRuntimeWorkingCopy>(); final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() { public void runtimeFound(final IRuntimeWorkingCopy runtime) { dialog.getShell().getDisplay().syncExec(new Runnable() { public void run() { monitor.subTask(runtime.getName()); } }); list.add(runtime); } }; IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor2) { int size = locators.length; for (int i = 0; i < size; i++) { if (!monitor2.isCanceled()) try { locators[i].searchForRuntimes(path, listener, monitor2); } catch (CoreException ce) { if (Trace.WARNING) { Trace.trace(Trace.STRING_WARNING, "Error locating runtimes: " + locators[i].getId(), ce); } } } if (Trace.INFO) { Trace.trace(Trace.STRING_INFO, "Done search"); } } }; dialog.run(true, true, runnable); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Found runtimes: " + list.size()); } if (!monitor.isCanceled()) { if (list.isEmpty()) { EclipseUtil.openError(getShell(), Messages.infoNoRuntimesFound); return; } monitor.worked(5); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Removing duplicates"); } List<IRuntime> good = new ArrayList<IRuntime>(); Iterator iterator2 = list.iterator(); while (iterator2.hasNext()) { boolean dup = false; IRuntime wc = (IRuntime) iterator2.next(); IRuntime[] runtimes = ServerCore.getRuntimes(); if (runtimes != null) { int size = runtimes.length; for (int i = 0; i < size; i++) { if (runtimes[i].getLocation() != null && runtimes[i].getLocation().equals(wc.getLocation())) dup = true; } } if (!dup) good.add(wc); } monitor.worked(5); if (Trace.FINER) { Trace.trace(Trace.STRING_FINER, "Adding runtimes: " + good.size()); } Iterator iterator = good.iterator(); while (iterator.hasNext()) { IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) iterator.next(); wc.save(false, monitor); } monitor.done(); } dialog.close(); } catch (Exception ex) { if (Trace.SEVERE) { Trace.trace(Trace.STRING_SEVERE, "Error finding runtimes", ex); } } runtimeComp2.refresh(); } }); Button columnsButton = SWTUtil.createButton(buttonComp, Messages.actionColumns); data = (GridData) columnsButton.getLayoutData(); final RuntimePreferencePage thisClass = this; columnsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ConfigureColumns.forTable(runtimeComp.getTable(), thisClass); } }); pathLabel = new Label(parent, SWT.NONE); pathLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Dialog.applyDialogFont(composite); return composite; }
From source file:org.eclipse.zest.examples.cloudio.application.actions.LoadFileAction.java
License:Open Source License
@Override public void run(IAction action) { FileDialog dialog = new FileDialog(getShell(), SWT.OPEN); dialog.setText("Select text file..."); String sourceFile = dialog.open(); if (sourceFile == null) return;/*from www .j a v a 2s .co m*/ ProgressMonitorDialog pd = new ProgressMonitorDialog(getShell()); try { List<Type> types = TypeCollector.getData(new File(sourceFile), "UTF-8"); pd.setBlockOnOpen(false); pd.open(); pd.getProgressMonitor().beginTask("Generating cloud...", 200); TagCloudViewer viewer = getViewer(); viewer.setInput(types, pd.getProgressMonitor()); viewer.getCloud().layoutCloud(pd.getProgressMonitor(), false); } catch (IOException e) { e.printStackTrace(); } finally { pd.close(); } }
From source file:org.eclipse.zest.examples.cloudio.application.ui.TagCloudViewPart.java
License:Open Source License
private void createSideTab(SashForm form) { Composite parent = new Composite(form, SWT.NONE); parent.setLayout(new GridLayout()); parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); options = new CloudOptionsComposite(parent, SWT.NONE, viewer) { protected Group addLayoutButtons(Composite parent) { Group buttons = super.addLayoutButtons(parent); Label l = new Label(buttons, SWT.NONE); l.setText("X Axis Variation"); final Combo xAxis = new Combo(buttons, SWT.DROP_DOWN | SWT.READ_ONLY); xAxis.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); xAxis.setItems(new String[] { "0", "10", "20", "30", "40", "50", "60", "70", "80", "90", "100" }); xAxis.select(2);//from w w w . jav a2 s. com xAxis.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { String item = xAxis.getItem(xAxis.getSelectionIndex()); layouter.setOption(DefaultLayouter.X_AXIS_VARIATION, Integer.parseInt(item)); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); l = new Label(buttons, SWT.NONE); l.setText("Y Axis Variation"); final Combo yAxis = new Combo(buttons, SWT.DROP_DOWN | SWT.READ_ONLY); yAxis.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); yAxis.setItems(new String[] { "0", "10", "20", "30", "40", "50", "60", "70", "80", "90", "100" }); yAxis.select(1); yAxis.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { String item = yAxis.getItem(yAxis.getSelectionIndex()); layouter.setOption(DefaultLayouter.Y_AXIS_VARIATION, Integer.parseInt(item)); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); Button run = new Button(buttons, SWT.NONE); run.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); run.setText("Re-Position"); run.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { final ProgressMonitorDialog dialog = new ProgressMonitorDialog( viewer.getControl().getShell()); dialog.setBlockOnOpen(false); dialog.open(); dialog.getProgressMonitor().beginTask("Layouting tag cloud...", 100); viewer.reset(dialog.getProgressMonitor(), false); dialog.close(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); Button layout = new Button(buttons, SWT.NONE); layout.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout.setText("Re-Layout"); layout.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { ProgressMonitorDialog dialog = new ProgressMonitorDialog(viewer.getControl().getShell()); dialog.setBlockOnOpen(false); dialog.open(); dialog.getProgressMonitor().beginTask("Layouting tag cloud...", 200); viewer.setInput(viewer.getInput(), dialog.getProgressMonitor()); viewer.reset(dialog.getProgressMonitor(), false); dialog.close(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); return buttons; }; }; GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false); options.setLayoutData(gd); }