类org.eclipse.ui.dialogs.ListDialog源码实例Demo

下面列出了怎么用org.eclipse.ui.dialogs.ListDialog的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: xtext-eclipse   文件: OpenXtextElementHandler.java
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
	Shell activeShell = HandlerUtil.getActiveShell(event);
	ListDialog searchDialog = createSearchDialog(event, activeShell, searchEngine);
	int result = searchDialog.open();
	if (result == Window.OK) {
		try {
			Object[] selections = searchDialog.getResult();
			if (selections != null && selections.length > 0) {
				Object selection = selections[0];
				if (selection instanceof IEObjectDescription) {
					IEObjectDescription selectedObjectDescription = (IEObjectDescription) selection;
					uriEditorOpener.open(selectedObjectDescription.getEObjectURI(), true);
				}
			}
		} catch (Exception e) {
			LOG.error("Error opening editor", e);
			throw new ExecutionException("Error opening editor", e);
		}
	}
	return null;
}
 
private Runnable createQueryRunnable(final String question, final Object[] elements, final int[] result) {
	return new Runnable() {
		public void run() {
			ListDialog dialog= new YesNoListDialog(fShell, true);
			dialog.setAddCancelButton(false);
			dialog.setBlockOnOpen(true);
			dialog.setContentProvider(new ArrayContentProvider());
			dialog.setLabelProvider(new JavaElementLabelProvider());
			dialog.setTitle(fDialogTitle);
			dialog.setMessage(question);
			dialog.setInput(elements);

			dialog.open();
			result[0]= dialog.getReturnCode();
		}
	};
}
 
private Runnable createQueryRunnable(final String question, final Object[] elements, final int[] result) {
	return new Runnable() {
		public void run() {
			ListDialog dialog= new YesNoListDialog(fShell, false);
			dialog.setAddCancelButton(false);
			dialog.setBlockOnOpen(true);
			dialog.setContentProvider(new ArrayContentProvider());
			dialog.setLabelProvider(new JavaElementLabelProvider());
			dialog.setTitle(fDialogTitle);
			dialog.setMessage(question);
			dialog.setInput(elements);

			dialog.open();
			result[0]= dialog.getReturnCode();
		}
	};
}
 
源代码4 项目: birt   文件: ResourceCloseManagement.java
private static boolean showSaveDirtyFileDialog(
		List<IEditorPart> dirtyEditors )
{
	AdaptableList input = new AdaptableList( dirtyEditors );

	ListDialog dlg = new ListDialog( PlatformUI.getWorkbench( )
			.getActiveWorkbenchWindow( )
			.getShell( ) );
	dlg.setContentProvider( new BaseWorkbenchContentProvider( ) );
	dlg.setLabelProvider( new WorkbenchPartLabelProvider( ) );
	dlg.setInput( input );
	dlg.setMessage( Messages.getString( "renameChecker.saveResourcesMessage" ) ); //$NON-NLS-1$
	dlg.setTitle( Messages.getString( "renameChecker.saveResourcesTitle" ) ); //$NON-NLS-1$

	// Just return false to prevent the operation continuing
	return dlg.open( ) == IDialogConstants.OK_ID;
}
 
/**
 * {@inheritDoc}
 */
@Override
public void run(IAction action) {

  IProject[] projects = CheckstyleUIPlugin.getWorkspace().getRoot().getProjects();
  List<IProject> filteredProjects = new ArrayList<>();
  for (int i = 0; i < projects.length; i++) {
    filteredProjects.add(projects[i]);
  }

  filteredProjects.removeAll(mSelectedProjects);

  ListDialog dialog = new ListDialog(mPart.getSite().getShell());
  dialog.setInput(filteredProjects);
  dialog.setContentProvider(new ArrayContentProvider());
  dialog.setLabelProvider(new WorkbenchLabelProvider());
  dialog.setMessage(Messages.ConfigureProjectFromBluePrintAction_msgSelectBlueprintProject);
  dialog.setTitle(Messages.ConfigureProjectFromBluePrintAction_titleSelectBlueprintProject);
  if (Window.OK == dialog.open()) {

    Object[] result = dialog.getResult();

    if (result.length > 0) {

      BulkConfigureJob job = new BulkConfigureJob((IProject) result[0], mSelectedProjects);
      job.schedule();
    }

  }
}
 
private boolean askSaveAllDirtyEditors(Shell shell, IEditorPart[] dirtyEditors) {
	final boolean canSaveAutomatically= fSaveMode != SAVE_ALL_ALWAYS_ASK;
	if (canSaveAutomatically && RefactoringSavePreferences.getSaveAllEditors()) //must save everything
		return true;
	ListDialog dialog= new ListDialog(shell) {
		{
			setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL);
		}
		@Override
		protected Control createDialogArea(Composite parent) {
			Composite result= (Composite) super.createDialogArea(parent);
			if (canSaveAutomatically) {
				final Button check= new Button(result, SWT.CHECK);
				check.setText(RefactoringMessages.RefactoringStarter_always_save);
				check.setSelection(RefactoringSavePreferences.getSaveAllEditors());
				check.addSelectionListener(new SelectionAdapter() {
					@Override
					public void widgetSelected(SelectionEvent e) {
						RefactoringSavePreferences.setSaveAllEditors(check.getSelection());
					}
				});
				applyDialogFont(result);
			}
			return result;
		}
	};
	dialog.setTitle(RefactoringMessages.RefactoringStarter_save_all_resources);
	dialog.setAddCancelButton(true);
	dialog.setLabelProvider(createDialogLabelProvider());
	dialog.setMessage(RefactoringMessages.RefactoringStarter_must_save);
	dialog.setContentProvider(new ArrayContentProvider());
	dialog.setInput(Arrays.asList(dirtyEditors));
	return dialog.open() == Window.OK;
}
 
private boolean askSaveAllDirtyEditors(Shell shell, IEditorPart[] dirtyEditors) {
	final boolean canSaveAutomatically= fSaveMode != SAVE_ALL_ALWAYS_ASK;
	if (canSaveAutomatically && RefactoringSavePreferences.getSaveAllEditors()) //must save everything
		return true;
	ListDialog dialog= new ListDialog(shell) {
		{
			setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL);
		}
		@Override
		protected Control createDialogArea(Composite parent) {
			Composite result= (Composite) super.createDialogArea(parent);
			if (canSaveAutomatically) {
				final Button check= new Button(result, SWT.CHECK);
				check.setText(RefactoringMessages.RefactoringStarter_always_save);
				check.setSelection(RefactoringSavePreferences.getSaveAllEditors());
				check.addSelectionListener(new SelectionAdapter() {
					@Override
					public void widgetSelected(SelectionEvent e) {
						RefactoringSavePreferences.setSaveAllEditors(check.getSelection());
					}
				});
				applyDialogFont(result);
			}
			return result;
		}
	};
	dialog.setTitle(RefactoringMessages.RefactoringStarter_save_all_resources);
	dialog.setLabelProvider(createDialogLabelProvider());
	dialog.setMessage(RefactoringMessages.RefactoringStarter_must_save);
	dialog.setContentProvider(new ArrayContentProvider());
	dialog.setInput(Arrays.asList(dirtyEditors));
	return dialog.open() == Window.OK;
}
 
源代码8 项目: xtext-eclipse   文件: OpenXtextElementHandler.java
protected ListDialog createSearchDialog(ExecutionEvent event, Shell activeShell, IXtextEObjectSearch searchEngine) {
	return new XtextEObjectSearchDialog(activeShell, searchEngine, globalDescriptionLabelProvider, isEnableStyledLabels());
}
 
private void addVariables(Text target, Map bindings) {

        final List variables = new ArrayList(bindings.size());

        ILabelProvider labelProvider = new LabelProvider() {
            public String getText(Object element) {
                return ((StringPair) element).s1
                        + " - " + ((StringPair) element).s2; //$NON-NLS-1$
            }
        };

        IStructuredContentProvider contentsProvider = new IStructuredContentProvider() {
            public Object[] getElements(Object inputElement) {
                return variables.toArray(new StringPair[variables.size()]);
            }

            public void dispose() {
            }

            public void inputChanged(Viewer viewer, Object oldInput,
                    Object newInput) {
            }
        };

        for (Iterator it = bindings.keySet().iterator(); it.hasNext();) {
            StringPair variable = new StringPair();
            variable.s1 = (String) it.next(); // variable
            variable.s2 = (String) bindings.get(variable.s1); // description
            variables.add(variable);
        }

        ListDialog dialog = new ListDialog(this.getShell());
        dialog.setContentProvider(contentsProvider);
        dialog.setAddCancelButton(true);
        dialog.setLabelProvider(labelProvider);
        dialog.setInput(variables);
        dialog.setTitle(Policy
                .bind("DiffMergePreferencePage.addVariableDialogTitle")); //$NON-NLS-1$
        if (dialog.open() != ListDialog.OK)
            return;

        Object[] result = dialog.getResult();

        for (int i = 0; i < result.length; i++) {
            target.insert("${" + ((StringPair) result[i]).s1 + "}"); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }
 
源代码10 项目: APICloud-Studio   文件: DiffMergePreferencePage.java
/**
 * Add another variable to the given target. The variable is inserted at
 * current position A ListSelectionDialog is shown and the choose the
 * variables to add
 */
private void addVariables(Text target, Map bindings) {

    final List variables = new ArrayList(bindings.size());

    ILabelProvider labelProvider = new LabelProvider() {
        public String getText(Object element) {
            return ((StringPair) element).s1
                    + " - " + ((StringPair) element).s2; //$NON-NLS-1$
        }
    };

    IStructuredContentProvider contentsProvider = new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            return variables.toArray(new StringPair[variables.size()]);
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput,
                Object newInput) {
        }
    };

    for (Iterator it = bindings.keySet().iterator(); it.hasNext();) {
        StringPair variable = new StringPair();
        variable.s1 = (String) it.next(); // variable
        variable.s2 = (String) bindings.get(variable.s1); // description
        variables.add(variable);
    }

    ListDialog dialog = new ListDialog(this.getShell());
    dialog.setContentProvider(contentsProvider);
    dialog.setAddCancelButton(true);
    dialog.setLabelProvider(labelProvider);
    dialog.setInput(variables);
    dialog.setTitle(Policy
            .bind("DiffMergePreferencePage.addVariableDialogTitle")); //$NON-NLS-1$
    if (dialog.open() != ListDialog.OK)
        return;

    Object[] result = dialog.getResult();

    for (int i = 0; i < result.length; i++) {
        target.insert("${" + ((StringPair) result[i]).s1 + "}"); //$NON-NLS-1$ //$NON-NLS-2$
    }
}
 
private void addVariables(Text target, Map bindings) {

        final List variables = new ArrayList(bindings.size());

        ILabelProvider labelProvider = new LabelProvider() {
            public String getText(Object element) {
                return ((StringPair) element).s1
                        + " - " + ((StringPair) element).s2; //$NON-NLS-1$
            }
        };

        IStructuredContentProvider contentsProvider = new IStructuredContentProvider() {
            public Object[] getElements(Object inputElement) {
                return variables.toArray(new StringPair[variables.size()]);
            }

            public void dispose() {
            }

            public void inputChanged(Viewer viewer, Object oldInput,
                    Object newInput) {
            }
        };

        for (Iterator it = bindings.keySet().iterator(); it.hasNext();) {
            StringPair variable = new StringPair();
            variable.s1 = (String) it.next(); // variable
            variable.s2 = (String) bindings.get(variable.s1); // description
            variables.add(variable);
        }

        ListDialog dialog = new ListDialog(this.getShell());
        dialog.setContentProvider(contentsProvider);
        dialog.setAddCancelButton(true);
        dialog.setLabelProvider(labelProvider);
        dialog.setInput(variables);
        dialog.setTitle(Policy
                .bind("DiffMergePreferencePage.addVariableDialogTitle")); //$NON-NLS-1$
        if (dialog.open() != ListDialog.OK)
            return;

        Object[] result = dialog.getResult();

        for (int i = 0; i < result.length; i++) {
            target.insert("${" + ((StringPair) result[i]).s1 + "}"); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }
 
源代码12 项目: Pydev   文件: AbstractInterpreterEditor.java
public void restoreInterpreterInfos(boolean editorChanged,
        Shell shell, IInterpreterManager iInterpreterManager) {
    final Set<String> interpreterNamesToRestore = this.getInterpreterExeOrJarToRestoreAndClear();
    final IInterpreterInfo[] exesList = this.getExesList();

    if (!editorChanged && interpreterNamesToRestore.size() == 0) {
        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        SelectionDialog listDialog = AbstractInterpreterPreferencesPage.createChooseIntepreterInfoDialog(
                workbenchWindow, exesList,
                "Select interpreters to be restored", true);

        int open = listDialog.open();
        if (open != ListDialog.OK) {
            return;
        }
        Object[] result = listDialog.getResult();
        if (result == null || result.length == 0) {
            return;

        }
        for (Object o : result) {
            interpreterNamesToRestore.add(((IInterpreterInfo) o).getExecutableOrJar());
        }

    }

    //this is the default interpreter
    ProgressMonitorDialog monitorDialog = new AsynchronousProgressMonitorDialog(shell);
    monitorDialog.setBlockOnOpen(false);

    try {
        IRunnableWithProgress operation = new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                monitor.beginTask("Restoring PYTHONPATH", IProgressMonitor.UNKNOWN);
                try {
                    pushExpectedSetInfos();
                    //clear all but the ones that appear
                    iInterpreterManager.setInfos(exesList, interpreterNamesToRestore, monitor);
                } finally {
                    popExpectedSetInfos();
                    monitor.done();
                }
            }
        };

        monitorDialog.run(true, true, operation);

    } catch (Exception e) {
        Log.log(e);
    }
}
 
源代码13 项目: Pydev   文件: PySelectInterpreter.java
@Override
public void run(IAction action) {
    try {
        PyEdit editor = getPyEdit();
        IPythonNature nature = editor.getPythonNature();
        if (nature != null) {
            IInterpreterManager interpreterManager = nature.getRelatedInterpreterManager();

            final IInterpreterInfo[] interpreterInfos = interpreterManager.getInterpreterInfos();
            if (interpreterInfos == null || interpreterInfos.length == 0) {
                PyDialogHelpers.openWarning("No interpreters available",
                        "Unable to change default interpreter because no interpreters are available (add more interpreters in the related preferences page).");
                return;
            }
            if (interpreterInfos.length == 1) {
                PyDialogHelpers.openWarning("Only 1 interpreters available",
                        "Unable to change default interpreter because only 1 interpreter is configured (add more interpreters in the related preferences page).");
                return;
            }
            // Ok, more than 1 found.
            IWorkbenchWindow workbenchWindow = EditorUtils.getActiveWorkbenchWindow();
            Assert.isNotNull(workbenchWindow);
            SelectionDialog listDialog = AbstractInterpreterPreferencesPage.createChooseIntepreterInfoDialog(
                    workbenchWindow, interpreterInfos,
                    "Select interpreter to be made the default.", false);

            int open = listDialog.open();
            if (open != ListDialog.OK || listDialog.getResult().length != 1) {
                return;
            }
            Object[] result = listDialog.getResult();
            if (result == null || result.length == 0) {
                return;

            }
            final IInterpreterInfo selectedInterpreter = ((IInterpreterInfo) result[0]);
            if (selectedInterpreter != interpreterInfos[0]) {
                // Ok, some interpreter (which wasn't already the default) was selected.
                Arrays.sort(interpreterInfos, (a, b) -> {
                    if (a == selectedInterpreter) {
                        return -1;
                    }
                    if (b == selectedInterpreter) {
                        return 1;
                    }
                    return 0; // Don't change order for the others.
                });

                Shell shell = EditorUtils.getShell();

                setInterpreterInfosWithProgressDialog(interpreterManager, interpreterInfos, shell);
            }
        }
    } catch (Exception e) {
        Log.log(e);
    }
}
 
 类所在包
 同包方法