Example usage for org.eclipse.jface.dialogs Dialog getReturnCode

List of usage examples for org.eclipse.jface.dialogs Dialog getReturnCode

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs Dialog getReturnCode.

Prototype

public int getReturnCode() 

Source Link

Document

Returns this window's return code.

Usage

From source file:com.nextep.designer.vcs.ui.services.impl.VersioningUIService.java

License:Open Source License

@Override
public List<IVersionable<?>> undoCheckOut(IProgressMonitor monitor,
        final IVersionable<?>... checkedOutVersions) {
    final IWorkspaceService workspaceService = CorePlugin.getService(IWorkspaceService.class);
    // Building confirm text
    final List<IVersionable<?>> elts = new ArrayList<IVersionable<?>>();
    for (IVersionable<?> v : checkedOutVersions) {
        if (v.getVersion().getUser() != workspaceService.getCurrentUser()) {
            throw new ErrorException(MessageFormat.format(VCSUIMessages.getString("undoCheckoutInvalidUser"), //$NON-NLS-1$
                    v.getType().getName().toLowerCase(), v.getName(), v.getVersion().getUser().getName()));
        }// w ww .  j a  va2 s. co m
        elts.add(v);
        for (IReferenceable r : v.getReferenceMap().values()) {
            if (r instanceof IVersionable<?>) {
                if (((IVersionable<?>) r).getVersion().getStatus() == IVersionStatus.CHECKED_OUT) {
                    elts.add((IVersionable<?>) r);
                }
            }
        }
    }
    // initializing dialog
    ConfirmUndoCheckoutDialog commitDlg = new ConfirmUndoCheckoutDialog(elts);
    Dialog dlg = new TitleAreaDialogWrapper(UIHelper.getShell(), commitDlg,
            SWT.RESIZE | SWT.TITLE | SWT.BORDER);
    dlg.setBlockOnOpen(true);
    dlg.open();

    // If user confirmed, we start undo checkout
    if (dlg.getReturnCode() == Window.OK) {

        final IVersioningOperationContext context = versioningService
                .createVersioningContext(VersioningOperation.UNDO_CHECKOUT, Arrays.asList(checkedOutVersions));
        // Validation
        validate(context);
        // Execution
        Job j = new BlockingJob(VCSUIMessages.getString("version.ui.undoCheckOutJob")) { //$NON-NLS-1$

            @Override
            protected IStatus run(IProgressMonitor monitor) {
                try {
                    // listenerService.setDispatchMode(IListenerService.ASYNCHED);
                    List<IVersionable<?>> undoCheckouts = versioningService.undoCheckOut(monitor, context);
                    setSelection(undoCheckouts);
                } catch (CancelException e) {
                    return Status.CANCEL_STATUS;
                    // } finally {
                    // listenerService.setDispatchMode(IListenerService.SYNCHED);
                }
                return Status.OK_STATUS;
            }
        };
        j.setUser(true);
        j.schedule();
    }
    return Collections.emptyList();
}

From source file:com.nextep.designer.vcs.ui.validators.VersionSettingsValidator.java

License:Open Source License

@Override
public IStatus validate(IVersioningOperationContext context) {
    List<IUIComponent> components = new ArrayList<IUIComponent>();
    // Adding settings validation dialog if needed
    if (needsSettingsValidation(context)) {
        components.add(new VersionSettingsDialog(context));
    }//from w  ww  .  j  a va 2  s  .c  o m
    // Adding commit confirmation (on commit)
    if (context.getVersioningOperation() == VersioningOperation.COMMIT) {
        List<IVersionable<?>> elementsToConfirm = buildConfirmList(context.getVersionables());
        components.add(new ConfirmCommitDialog(context, elementsToConfirm, components.isEmpty()));
    }
    // Displaying
    Dialog dlg = null;
    if (components.size() == 1) {
        dlg = new TitleAreaDialogWrapper(UIHelper.getShell(), components.iterator().next(),
                SWT.RESIZE | SWT.TITLE | SWT.BORDER);
    } else if (components.size() > 1) {
        final IWizard wiz = new ComponentWizard(VCSUIMessages.getString("dialog.versionSettings.title"), //$NON-NLS-1$
                components);
        dlg = new ComponentWizardDialog(UIHelper.getShell(), wiz, true);
    } else {
        // Nothing to validate
        return Status.OK_STATUS;
    }
    dlg.setBlockOnOpen(true);
    dlg.open();
    return dlg.getReturnCode() == Window.OK ? Status.OK_STATUS : Status.CANCEL_STATUS;
}

From source file:org.dawb.passerelle.common.remote.RemoteWorkbenchImpl.java

License:Open Source License

@Override
public Map<String, String> createUserInput(final UserInputBean bean) throws Exception {

    if (!PlatformUI.isWorkbenchRunning())
        return bean.getScalarValues();

    if (bean.isSilent())
        return bean.getScalarValues();

    final BlockingQueue<Map<String, String>> queue = new LinkedBlockingQueue<Map<String, String>>(1);

    PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {

        @Override/*from w w  w . j  a  v  a2s  .c o  m*/
        public void run() {
            try {

                final IUserInputService service = (IUserInputService) ServiceManager
                        .getService(IUserInputService.class);
                final RemoveWorkbenchPart part = service.openUserInputPart(bean.getPartName(), bean.isDialog());

                if (bean.getPartName() != null)
                    part.setPartName(bean.getPartName());
                part.setQueue(queue);
                part.setConfiguration(bean.getConfigurationXML());
                part.setValues(bean.getScalarValues());

                if (part instanceof Dialog) {
                    Dialog dialog = (Dialog) part;
                    dialog.open();

                    if (dialog.getReturnCode() != Dialog.OK) {
                        queue.add(Collections.EMPTY_MAP);
                    }
                }

                return; // Queue will be notified when they have chosen

            } catch (PartInitException e) {
                // Ignored.
            } catch (Exception e) {
                logger.error("Cannot open editor ", e);
                queue.add(Collections.EMPTY_MAP);
                return;
            }

            // If we drop through to here do nothing
            // adding this to the queue makes the take()
            // call return straight away.
            if (bean.getScalarValues() != null) {
                queue.add(bean.getScalarValues());
            } else {
                queue.add(Collections.EMPTY_MAP);
            }
        }
    });

    final Map<String, String> newValues = queue.take(); // Blocks until user edits this!
    return newValues;
}

From source file:org.eclipse.emf.ecp.rap.spi.util.RAPWrapper.java

License:Open Source License

/**
 * {@inheritDoc}//from www.j  a v a2  s.  c  o  m
 *
 * @see org.eclipse.emf.ecp.edit.internal.swt.util.DialogWrapper#openDialog(org.eclipse.jface.dialogs.Dialog,
 *      org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor)
 * @since 1.5
 */
@Override
public void openDialog(final Dialog dialog, final ECPDialogExecutor callBack) {
    dialog.setBlockOnOpen(false);
    dialog.open();
    dialog.getShell().addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent event) {
            callBack.handleResult(dialog.getReturnCode());
        }
    });
}

From source file:org.eclipse.jubula.client.ui.rcp.businessprocess.ToolkitBP.java

License:Open Source License

/**
 * Showing Info Message if loading old project
 * @param usedToolkits toolkits used in given project
 * @return true if project can be loaded, false otherwise.
 *///from w w w  .j  a va2  s .c  o  m
public boolean checkXMLVersion(Set<IUsedToolkitPO> usedToolkits) {

    final List<ToolkitPluginError> errors = UsedToolkitBP.getInstance()
            .checkUsedToolkitPluginVersions(usedToolkits);
    if (errors.isEmpty()) {
        return true;
    }
    boolean loadProject = true;
    Integer messageID = null;
    final StringBuilder strBuilder = new StringBuilder();
    strBuilder.append(Messages.OpenProjectActionToolkitVersionConflict1);
    for (ToolkitPluginError error : errors) {
        String toolkitId = error.getToolkitId();
        ToolkitDescriptor desc = ComponentBuilder.getInstance().getCompSystem().getToolkitDescriptor(toolkitId);
        String toolkitName = desc != null ? desc.getName() : toolkitId;
        strBuilder.append(Messages.OpenProjectActionToolkitVersionConflict2).append(toolkitName)
                .append(Messages.OpenProjectActionToolkitVersionConflict3);

        final ERROR errorType = error.getError();
        final String descr = Messages.OpenProjectActionToolkitVersionConflict5;
        switch (errorType) {
        case MAJOR_VERSION_ERROR:
            messageID = MessageIDs.E_LOAD_PROJECT_TOOLKIT_MAJOR_VERSION_ERROR;
            strBuilder.append(Messages.OpenProjectActionToolkitVersionConflict4a);
            strBuilder.append(descr);
            loadProject = false;
            break;

        case MINOR_VERSION_HIGHER:
            messageID = MessageIDs.E_LOAD_PROJECT_TOOLKIT_MAJOR_VERSION_ERROR;
            strBuilder.append(Messages.OpenProjectActionToolkitVersionConflict4b);
            strBuilder.append(descr);
            loadProject = false;
            break;

        case MINOR_VERSION_LOWER:
            if (loadProject) { // do not overwrite if already false!
                messageID = MessageIDs.Q_LOAD_PROJECT_TOOLKIT_MINOR_VERSION_LOWER;
            }
            strBuilder.append(Messages.OpenProjectActionToolkitVersionConflict4c);
            break;

        default:
            Assert.notReached(Messages.UnknownErrorType + StringConstants.COLON + StringConstants.SPACE
                    + String.valueOf(errorType));
        }
    }
    String[] details = null;
    if (!messageID.equals(MessageIDs.Q_LOAD_PROJECT_TOOLKIT_MINOR_VERSION_LOWER)) {

        details = new String[] { strBuilder.toString() };
    }
    final Dialog dialog = ErrorHandlingUtil.createMessageDialog(messageID, null, details);
    if (dialog.getReturnCode() == Window.CANCEL) {
        loadProject = false;
    }
    return loadProject;
}

From source file:org.eclipse.jubula.client.ui.rcp.dialogs.AbstractEditParametersDialog.java

License:Open Source License

/**
 * Creates a Question Dialog for deleting a Parameter
 * @return true if the user clicks OK, false otherwise.
 *///from  w ww . j av  a  2 s . c o  m
private boolean confirmDeleteParam() {
    final Dialog dialog = ErrorHandlingUtil.createMessageDialog(MessageIDs.Q_CHANGE_INTERFACE_REMOVE_PARAM,
            null, null, getShell());
    return dialog.getReturnCode() == Window.OK;
}

From source file:org.eclipse.jubula.client.ui.rcp.dialogs.AbstractEditParametersDialog.java

License:Open Source License

/**
 * Creates a Question Dialog for changing a Parameter type.
 * @return true if the user clicks OK, false otherwise.
 *//*ww w . j a  va  2s .c om*/
private boolean confirmChangeParamType() {
    final Dialog dialog = ErrorHandlingUtil.createMessageDialog(MessageIDs.Q_CHANGE_INTERFACE_CHANGE_PARAM_TYPE,
            null, null, getShell());
    return dialog.getReturnCode() == Window.OK;
}

From source file:org.eclipse.jubula.client.ui.rcp.dialogs.EditParametersTDMDialog.java

License:Open Source License

/** {@inheritDoc} */
protected boolean confirmChangeParamName() {
    if (TestDataCubeBP.isCubeReused(getParamInterfaceObj())) {
        final Dialog dialog = ErrorHandlingUtil
                .createMessageDialog(MessageIDs.Q_CHANGE_INTERFACE_CHANGE_PARAM_NAME, null, null, getShell());
        return dialog.getReturnCode() == Window.OK;
    }/*from   w w  w .j  a  va  2s.  c om*/
    return true;
}

From source file:org.eclipse.jubula.client.ui.rcp.handlers.AbstractRefactorHandler.java

License:Open Source License

/**
 * @param event//from  w w  w .  j ava  2s  .  co  m
 *            the execution event
 * @return the new name for the test case or <code>null</code> to indicate
 *         that this action has been canceled
 */
protected String getNewTestCaseName(ExecutionEvent event) {
    String newTcName = null;
    IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
    if (activePart instanceof AbstractTestCaseEditor) {
        final AbstractTestCaseEditor editor = (AbstractTestCaseEditor) activePart;
        if (editor.isDirty()) {
            Dialog editorDirtyDlg = ErrorHandlingUtil.createMessageDialog(MessageIDs.Q_SAVE_AND_EXTRACT);
            if (editorDirtyDlg.getReturnCode() != Window.OK) {
                return null;
            }
            editor.doSave(new NullProgressMonitor());
        }
        String extractedTCName = getNewName(editor);
        InputDialog dialog = new InputDialog(getActiveShell(), Messages.NewTestCaseActionTCTitle,
                extractedTCName, Messages.NewTestCaseActionTCMessage, Messages.RenameActionTCLabel,
                Messages.RenameActionTCError, Messages.NewTestCaseActionDoubleTCName,
                IconConstants.NEW_TC_DIALOG_STRING, Messages.NewTestCaseActionTCShell, false);
        dialog.setHelpAvailable(true);
        dialog.create();
        DialogUtils.setWidgetNameForModalDialog(dialog);
        Plugin.getHelpSystem().setHelp(dialog.getShell(), ContextHelpIds.DIALOG_TESTCASE_EXTRACT);
        dialog.open();
        int retCode = dialog.getReturnCode();
        dialog.close();
        if (retCode == Window.OK) {
            newTcName = dialog.getName();
        }
    }
    return newTcName;
}

From source file:org.eclipse.jubula.client.ui.rcp.handlers.project.DeleteProjectHandler.java

License:Open Source License

/**
 * Opens a dialog to select a project to delete.
 */// ww w. ja  v a2 s . c  om
void selectProject() {
    boolean deleteCurrentProject = false;
    List<IProjectPO> projList;
    try {
        projList = ProjectPM.findAllProjects();
        if (projList.isEmpty()) {
            ErrorHandlingUtil.createMessageDialog(MessageIDs.I_NO_PROJECT_IN_DB);
            return;
        }
        ProjectDialog dialog = getComboSelectionDialog(projList);
        if (dialog.getReturnCode() == Window.CANCEL) {
            return;
        }
        ProjectDialog.ProjectData project = dialog.getSelection();
        IProjectPO projectToDelete = null;
        for (IProjectPO projToDelete : projList) {
            if (projToDelete.getGuid().equals(project.getGUID())
                    && projToDelete.getVersionString().equals(project.getVersionString())) {
                projectToDelete = projToDelete;
            }
        }
        if (projectToDelete == null) {
            Plugin.stopLongRunning();
            return;
        }
        boolean keepTestresults = dialog.keepTestresultSummary();
        Integer questionID = null;
        Object[] param = null;
        IProjectPO actProj = GeneralStorage.getInstance().getProject();
        if (actProj != null && actProj.getId().equals(projectToDelete.getId())) {
            questionID = MessageIDs.Q_DELETE_ACTUAL_PROJECT;
            deleteCurrentProject = true;
        } else {
            questionID = MessageIDs.Q_DELETE_PROJECT;
            param = new Object[] { projectToDelete.getName() };
        }
        Plugin.startLongRunning(Messages.DeleteProjectActionWaitWhileDeleting);
        Dialog qDialog = ErrorHandlingUtil.createMessageDialog(questionID, param, null);
        if (qDialog.getReturnCode() == 0) {
            try {
                PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
                        new DeleteProjectOperation(projectToDelete, deleteCurrentProject, keepTestresults));
            } catch (InvocationTargetException e) {
                // Exception occurred during the operation.
                // The exception was already handled by the operation.
                // Do nothing.
            } catch (InterruptedException e) {
                // Operation was canceled.
                // Do nothing.
            }
        }
    } catch (JBException e) {
        ErrorHandlingUtil.createMessageDialog(e, null, null);
    } finally {
        Plugin.stopLongRunning();
    }
}