Example usage for org.eclipse.jface.dialogs MessageDialogWithToggle open

List of usage examples for org.eclipse.jface.dialogs MessageDialogWithToggle open

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialogWithToggle open.

Prototype

public static MessageDialogWithToggle open(int kind, Shell parent, String title, String message,
        String toggleMessage, boolean toggleState, IPreferenceStore store, String key, int style) 

Source Link

Document

Convenience method to open a simple dialog as specified by the kind flag, with a "don't show again' toggle.

Usage

From source file:com.vectrace.MercurialEclipse.MercurialEclipsePlugin.java

License:Open Source License

/**
 * Show a dialog only if the user hasn't selected "don't show again" for it.
 *
 * @param title The title/* w  w  w. jav  a  2 s. c  om*/
 * @param message The message
 * @param type The type, for example MessageDialog.CONFIRM
 * @param key The preference key
 * @param shell The shell to use
 * @return True of ok was pressed
 */
public static boolean showDontShowAgainConfirmDialog(final String title, final String message, int type,
        String key, Shell shell) {
    IPreferenceStore store = getDefault().getPreferenceStore();
    String pref = store.getString(key);
    if (MessageDialogWithToggle.PROMPT.equals(pref)) {
        String toggleMessage = Messages.getString("Dialogs.DontShowAgain");
        MessageDialogWithToggle confirmDialog = MessageDialogWithToggle.open(type, shell, title, message,
                toggleMessage, false, store, key, SWT.NONE);
        int returnCode = confirmDialog.getReturnCode();
        return returnCode == Window.OK;
    }
    return true;
}

From source file:org.camunda.bpm.modeler.core.validation.Bpmn2ProjectValidator.java

License:Open Source License

public static boolean validateAfterSave(Resource resource, IProgressMonitor monitor) {

    boolean needValidation = false;

    IFile file = getFile(resource);/*from w ww .ja v a 2s . c  o m*/

    IProject project = file.getProject();

    if (project != null) {
        try {
            IProjectNature nature = project.getNature(Bpmn2Nature.NATURE_ID);
            if (nature == null) {
                Bpmn2Preferences preferences = Bpmn2Preferences.getInstance(project);
                if (preferences.getCheckProjectNature()) {
                    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
                    String title = "Configure BPMN2 Project Nature";
                    String message = "The project '" + project.getName()
                            + "' has not been configured with the BPMN2 Project Nature.\n\n"
                            + "Adding the BPMN2 Project Nature will cause all BPMN2 files in this project "
                            + "to be validated automatically whenever the project is built.\n\n"
                            + "Do you want to add this Nature to the Project now?";
                    MessageDialogWithToggle result = MessageDialogWithToggle.open(MessageDialog.QUESTION, shell,
                            title, message, "Don't ask me again", // toggle message
                            false, // toggle state
                            null, // pref store
                            null, // pref key
                            SWT.NONE);
                    if (result.getReturnCode() == IDialogConstants.YES_ID) {
                        IProjectDescription description = project.getDescription();
                        String[] natures = description.getNatureIds();
                        String[] newNatures = new String[natures.length + 1];
                        System.arraycopy(natures, 0, newNatures, 0, natures.length);
                        newNatures[natures.length] = Bpmn2Nature.NATURE_ID;
                        description.setNatureIds(newNatures);
                        project.setDescription(description, null);
                        needValidation = true;
                    }
                    if (result.getToggleState()) {
                        // don't ask again
                        preferences.setCheckProjectNature(false);
                    }
                }
            } else
                needValidation = true;

        } catch (CoreException e) {
            e.printStackTrace();
        }
    }

    if (needValidation) {
        validate(file, monitor);
        return true;
    }

    return false;
}

From source file:org.eclipse.bpmn2.modeler.core.validation.BPMN2ProjectValidator.java

License:Open Source License

public static boolean validateOnSave(Resource resource, IProgressMonitor monitor) {

    boolean needValidation = false;
    URI uri = resource.getURI();//  w ww  . j a  v a2s  . c o  m
    if (uri.isPlatformResource()) {
        String pathString = uri.toPlatformString(true);
        IPath path = Path.fromOSString(pathString);
        IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
        IProject project = file.getProject();

        if (project != null) {
            try {
                IProjectNature nature = project.getNature(BPMN2Nature.NATURE_ID);
                if (nature == null) {
                    Bpmn2Preferences preferences = Bpmn2Preferences.getInstance(project);
                    if (preferences.getCheckProjectNature()) {
                        Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
                        String title = Messages.BPMN2ProjectValidator_Title;
                        String message = NLS.bind(Messages.BPMN2ProjectValidator_No_Project_Nature,
                                project.getName());
                        MessageDialogWithToggle result = MessageDialogWithToggle.open(MessageDialog.QUESTION,
                                shell, title, message, Messages.BPMN2ProjectValidator_Dont_Ask_Again, // toggle message
                                false, // toggle state
                                null, // pref store
                                null, // pref key
                                SWT.NONE);
                        if (result.getReturnCode() == IDialogConstants.YES_ID) {
                            IProjectDescription description = project.getDescription();
                            String[] natures = description.getNatureIds();
                            String[] newNatures = new String[natures.length + 1];
                            System.arraycopy(natures, 0, newNatures, 0, natures.length);
                            newNatures[natures.length] = BPMN2Nature.NATURE_ID;
                            description.setNatureIds(newNatures);
                            project.setDescription(description, null);
                            needValidation = true;
                        }
                        if (result.getToggleState()) {
                            // don't ask again
                            preferences.setCheckProjectNature(false);
                        }
                    }
                } else
                    needValidation = true;

            } catch (CoreException e) {
                e.printStackTrace();
            }
        }

        if (needValidation) {
            // validation will be done by the Project Validation builder
            return true;
        }
    }

    return false;
}

From source file:org.eclipse.m2e.core.ui.internal.wizards.MavenDiscoveryProposalWizard.java

License:Open Source License

private boolean warnIncompleteMapping() {
    if (!skipIncompleteWarning()) {
        MessageDialogWithToggle dialog = MessageDialogWithToggle.open(MessageDialog.CONFIRM, getShell(),
                Messages.MavenImportWizard_titleIncompleteMapping,
                Messages.MavenImportWizard_messageIncompleteMapping,
                Messages.MavenImportWizard_hideWarningMessage, false, null, null, SWT.SHEET);
        if (dialog.getReturnCode() == Window.OK) {
            M2EUIPluginActivator.getDefault().getPreferenceStore()
                    .setValue(MavenPreferenceConstants.P_WARN_INCOMPLETE_MAPPING, dialog.getToggleState());
            return true;
        }//from  w  w  w.j ava2s .  c o m
        return false;
    }
    return true;
}

From source file:org.eclipse.ui.internal.handlers.ResetPerspectiveHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) {

    IWorkbenchWindow activeWorkbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event);
    if (activeWorkbenchWindow != null) {
        WorkbenchPage page = (WorkbenchPage) activeWorkbenchWindow.getActivePage();
        if (page != null) {
            IPerspectiveDescriptor descriptor = page.getPerspective();
            if (descriptor != null) {
                boolean offerRevertToBase = false;
                if (descriptor instanceof PerspectiveDescriptor) {
                    PerspectiveDescriptor desc = (PerspectiveDescriptor) descriptor;
                    offerRevertToBase = desc.isPredefined() && desc.hasCustomDefinition();
                }//  ww w.j  ava 2 s  .c om

                if (offerRevertToBase) {
                    String message = NLS.bind(WorkbenchMessages.RevertPerspective_message,
                            descriptor.getLabel());
                    boolean toggleState = false;
                    MessageDialogWithToggle dialog = MessageDialogWithToggle.open(MessageDialog.QUESTION,
                            activeWorkbenchWindow.getShell(), WorkbenchMessages.RevertPerspective_title,
                            message, WorkbenchMessages.RevertPerspective_option, toggleState, null, null,
                            SWT.SHEET);
                    if (dialog.getReturnCode() == IDialogConstants.YES_ID) {
                        if (dialog.getToggleState()) {
                            PerspectiveRegistry reg = (PerspectiveRegistry) PlatformUI.getWorkbench()
                                    .getPerspectiveRegistry();
                            reg.revertPerspective(descriptor);
                        }
                        page.resetPerspective();
                    }
                } else {
                    String message = NLS.bind(WorkbenchMessages.ResetPerspective_message,
                            descriptor.getLabel());
                    boolean result = MessageDialog.open(MessageDialog.QUESTION,
                            activeWorkbenchWindow.getShell(), WorkbenchMessages.ResetPerspective_title, message,
                            SWT.SHEET);
                    if (result) {
                        page.resetPerspective();
                    }
                }
            }
        }
    }

    return null;
}

From source file:org.eclipse.ui.internal.statushandlers.InternalDialog.java

License:Open Source License

private boolean isPromptToClose() {
    IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
    if (!store.contains(PREF_SKIP_GOTO_ACTION_PROMPT)
            || !store.getString(PREF_SKIP_GOTO_ACTION_PROMPT).equals(MessageDialogWithToggle.ALWAYS)) {
        MessageDialogWithToggle dialog = MessageDialogWithToggle.open(MessageDialog.CONFIRM, getShell(),
                ProgressMessages.JobErrorDialog_CloseDialogTitle,
                ProgressMessages.JobErrorDialog_CloseDialogMessage,
                ProgressMessages.JobErrorDialog_DoNotShowAgainMessage, false, store,
                PREF_SKIP_GOTO_ACTION_PROMPT, SWT.SHEET);
        return dialog.getReturnCode() == Window.OK;
    }//from   ww  w  .ja  va2 s  .  c o m
    return true;
}

From source file:org.symbian.tools.tmw.previewer.preview.PreviewView.java

License:Open Source License

public boolean promptUserToToggle(IProject project, boolean toggle) {
    IPreferenceStore preferenceStore = PreviewerPlugin.getDefault().getPreferenceStore();
    String value = preferenceStore.getString(IEditingPreferences.PREF_AUTO_REFRESH);
    synchronized (autorefresh) {
        if (!autorefresh.containsKey(project)) {
            if (value == null || value.trim().length() == 0 || MessageDialogWithToggle.PROMPT.equals(value)) {
                boolean setting = MessageDialogWithToggle.open(MessageDialogWithToggle.QUESTION,
                        getSite().getShell(), "Preview",
                        "The preview window can refresh (reinitialize and restart) whenever a project file is saved.\n"
                                + "This setting for each project can be toggled from the preview toolbar.\n\n"
                                + "Do you want to enable automatic refresh for this project?",
                        "Keep this setting for new projects", false, preferenceStore,
                        IEditingPreferences.PREF_AUTO_REFRESH, SWT.SHEET)
                        .getReturnCode() == IDialogConstants.YES_ID;
                setProjectAutorefresh(project, setting);
                return setting;
            }//from   w w w  .jav  a  2  s  . c o m
        }
    }
    return toggle;
}