Example usage for org.eclipse.jface.viewers ViewerSorter ViewerSorter

List of usage examples for org.eclipse.jface.viewers ViewerSorter ViewerSorter

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerSorter ViewerSorter.

Prototype

public ViewerSorter(Collator collator) 

Source Link

Document

Creates a new viewer sorter, which uses the given collator to sort strings.

Usage

From source file:de.loskutov.fs.properties.ProjectSyncPropertyPage.java

License:Open Source License

public void initSyncPage() {

    PathContainerAdapter adapter = new PathContainerAdapter();

    boolean disabled = !ProjectHelper.hasBuilder(project) || ProjectHelper.isBuilderDisabled(project);
    enableFileSyncField = new SelectionButtonDialogField(SWT.CHECK);
    enableFileSyncField.setSelection(!disabled);
    enableFileSyncField.setLabelText("Enable FileSync builder for project");
    enableFileSyncField.setDialogFieldListener(adapter);

    String[] buttonLabels;//from  www . j a v a2 s .co  m

    buttonLabels = new String[] { /* 0 = IDX_ADDEXIST */"&Add Folder...", /* 1 */null,
            /* 2 = IDX_EDIT */"Edit...", /* 3 = IDX_REMOVE */"Remove" };

    foldersList = new TreeListDialogField(adapter, buttonLabels, new PathListLabelProvider());
    foldersList.setDialogFieldListener(adapter);
    foldersList.setLabelText("Available synchronization mappings:");

    /*
     * the small hack to have all entries sorted in alphab. order except
     * of "include/exclude" branches - they should be inversed
     */
    foldersList.setViewerSorter(new ViewerSorter(new Collator() {
        private final Collator delegate = Collator.getInstance();

        @Override
        public int compare(String source, String target) {
            return PathListLabelProvider.compare(source, target);
        }

        @Override
        public CollationKey getCollationKey(String source) {
            return delegate.getCollationKey(source);
        }

        @Override
        public int hashCode() {
            return delegate.hashCode();
        }
    }));
    foldersList.enableButton(IDX_EDIT, false);

    useFolderOutputsField = new SelectionButtonDialogField(SWT.CHECK);
    useFolderOutputsField.setSelection(false);
    useFolderOutputsField.setLabelText("Allow different target folders");
    useFolderOutputsField.setDialogFieldListener(adapter);

    //        useVariablesField = new SelectionButtonDialogField(SWT.CHECK);
    //        useVariablesField.setSelection(false);
    //        useVariablesField.setLabelText("Allow different variables files");
    //        useVariablesField.setDialogFieldListener(adapter);

    useCurrentDateField = new SelectionButtonDialogField(SWT.CHECK);
    useCurrentDateField.setSelection(false);
    useCurrentDateField.setLabelText("Use current date for destination files");
    useCurrentDateField.setDialogFieldListener(adapter);

    includeTeamFilesField = new SelectionButtonDialogField(SWT.CHECK);
    includeTeamFilesField.setSelection(false);
    includeTeamFilesField.setLabelText("Sync team private files (like .svn)");
    includeTeamFilesField.setDialogFieldListener(adapter);

    enableInputControls(!disabled);
}

From source file:net.sf.eclipsecs.ui.config.widgets.ConfigPropertyWidgetMultiCheck.java

License:Open Source License

private void installSorter(boolean sort) {
    if (sort) {/*w  w w.j a v  a2  s .c  o m*/
        Collator collator = Collator.getInstance(CheckstyleUIPlugin.getPlatformLocale());
        mTable.setSorter(new ViewerSorter(collator));
    } else {
        mTable.setSorter(null);
    }
    mTable.refresh();
}

From source file:net.sf.eclipsensis.dialogs.NSISTaskTagsPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 0;//from  ww  w  .j  ava  2s . c  o  m
    layout.marginWidth = 0;
    composite.setLayout(layout);
    Table table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = convertWidthInCharsToPixels(65);
    data.heightHint = convertHeightInCharsToPixels(10);
    table.setLayoutData(data);

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn[] columns = new TableColumn[2];
    columns[0] = new TableColumn(table, SWT.NONE);
    columns[0].setText(EclipseNSISPlugin.getResourceString("task.tag.label")); //$NON-NLS-1$

    columns[1] = new TableColumn(table, SWT.NONE);
    columns[1].setText(EclipseNSISPlugin.getResourceString("task.tag.priority.label")); //$NON-NLS-1$
    mTableViewer = new CheckboxTableViewer(table);
    mTableViewer.setLabelProvider(new TaskTagLabelProvider());
    mTableViewer.setContentProvider(new CollectionContentProvider());

    Collator collator = Collator.getInstance();
    collator.setStrength(Collator.PRIMARY);
    mTableViewer.setSorter(new ViewerSorter(collator));

    mTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            edit();
        }
    });

    mTableViewer.addCheckStateListener(new ICheckStateListener() {
        @SuppressWarnings("unchecked")
        public void checkStateChanged(CheckStateChangedEvent event) {
            NSISTaskTag taskTag = (NSISTaskTag) event.getElement();
            boolean checked = event.getChecked();
            if (checked) {
                Collection<NSISTaskTag> taskTags = (Collection<NSISTaskTag>) mTableViewer.getInput();
                for (Iterator<NSISTaskTag> iter = taskTags.iterator(); iter.hasNext();) {
                    NSISTaskTag t = iter.next();
                    if (!t.equals(taskTag) && t.isDefault()) {
                        t.setDefault(false);
                        mTableViewer.setChecked(t, false);
                        mTableViewer.refresh(t, true);
                        break;
                    }
                }
            }
            taskTag.setDefault(checked);
            mTableViewer.setChecked(taskTag, checked);
            mTableViewer.refresh(taskTag, true);
            updateButtons();
        }
    });

    mTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent e) {
            updateButtons();
        }
    });

    Composite buttons = new Composite(composite, SWT.NONE);
    buttons.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);

    Button addButton = new Button(buttons, SWT.PUSH);
    addButton.setImage(CommonImages.ADD_ICON);
    addButton.setToolTipText(EclipseNSISPlugin.getResourceString("new.tooltip")); //$NON-NLS-1$
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    addButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            add();
        }
    });

    mEditButton = new Button(buttons, SWT.PUSH);
    mEditButton.setImage(CommonImages.EDIT_ICON);
    mEditButton.setToolTipText(EclipseNSISPlugin.getResourceString("edit.tooltip")); //$NON-NLS-1$
    mEditButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    mEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            edit();
        }
    });

    mRemoveButton = new Button(buttons, SWT.PUSH);
    mRemoveButton.setImage(CommonImages.DELETE_ICON);
    mRemoveButton.setToolTipText(EclipseNSISPlugin.getResourceString("remove.tooltip")); //$NON-NLS-1$
    mRemoveButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    mRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            remove();
        }
    });

    mCaseSensitiveButton = new Button(composite, SWT.CHECK);
    mCaseSensitiveButton.setText(EclipseNSISPlugin.getResourceString("task.tags.case.sensitive.label")); //$NON-NLS-1$
    mCaseSensitiveButton.setSelection(NSISPreferences.getInstance().isCaseSensitiveTaskTags());
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    data.horizontalSpan = 2;

    Dialog.applyDialogFont(composite);
    FontData[] fd = table.getFont().getFontData();
    for (int i = 0; i < fd.length; i++) {
        fd[i].setStyle(fd[i].getStyle() | SWT.BOLD);
    }
    mBoldFont = new Font(getShell().getDisplay(), fd);

    mOriginalTags = NSISPreferences.getInstance().getTaskTags();
    Collection<NSISTaskTag> taskTags = NSISPreferences.getInstance().getTaskTags();
    mTableViewer.setInput(NSISPreferences.getInstance().getTaskTags());
    mTableViewer.setAllChecked(false);
    for (Iterator<NSISTaskTag> iter = taskTags.iterator(); iter.hasNext();) {
        NSISTaskTag t = iter.next();
        if (t.isDefault()) {
            mTableViewer.setChecked(t, true);
            break;
        }
    }

    updateButtons();
    table.addControlListener(new TableResizer());

    return composite;
}

From source file:net.sf.eclipsensis.installoptions.wizard.InstallOptionsWizardPage.java

License:Open Source License

private Group createTemplatesGroup(Composite parent) {
    Group group = NSISWizardDialogUtil.createGroup(parent, 1, null, null, false);
    ((GridLayout) group.getLayout()).makeColumnsEqualWidth = true;
    GridData data = (GridData) group.getLayoutData();
    data.grabExcessVerticalSpace = true;
    data.verticalAlignment = GridData.FILL;

    final Button b = NSISWizardDialogUtil.createCheckBox(group, "create.from.template.button.text", false, true, //$NON-NLS-1$
            null, false);/*w ww  .  ja v a2s . c  om*/

    MasterSlaveController m = new MasterSlaveController(b);
    SashForm form = new SashForm(group, SWT.HORIZONTAL);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    form.setLayoutData(data);

    MasterSlaveEnabler mse = new MasterSlaveEnabler() {
        public boolean canEnable(Control control) {
            return true;
        }

        public void enabled(Control control, boolean flag) {
            int id = (flag ? SWT.COLOR_LIST_BACKGROUND : SWT.COLOR_WIDGET_BACKGROUND);
            control.setBackground(getShell().getDisplay().getSystemColor(id));
        }
    };

    Composite composite = new Composite(form, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    Label l = NSISWizardDialogUtil.createLabel(composite,
            InstallOptionsPlugin.getResourceString("create.from.template.label"), b.getSelection(), m, true); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final List list = new List(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = Common.calculateControlSize(l, SWT.DEFAULT, 6).y;
    list.setLayoutData(data);
    m.addSlave(list, mse);

    composite = new Composite(form, SWT.NONE);
    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    l = NSISWizardDialogUtil.createLabel(composite,
            InstallOptionsPlugin.getResourceString("template.description.label"), true, m, false); //$NON-NLS-1$
    l.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final StyledText t = new StyledText(composite, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = Common.calculateControlSize(t, SWT.DEFAULT, 6).y;
    t.setLayoutData(data);
    t.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    t.setCursor(null);
    t.setCaret(null);
    m.addSlave(t, mse);

    final ListViewer viewer = new ListViewer(list);
    viewer.setContentProvider(new CollectionContentProvider());
    viewer.setLabelProvider(new CollectionLabelProvider());
    viewer.setInput(InstallOptionsTemplateManager.INSTANCE.getTemplates());
    Collator collator = Collator.getInstance();
    collator.setStrength(Collator.PRIMARY);
    viewer.setSorter(new ViewerSorter(collator));

    ViewerFilter filter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IInstallOptionsTemplate) {
                IInstallOptionsTemplate template = (IInstallOptionsTemplate) element;
                return template.isAvailable() && template.isEnabled() && !template.isDeleted();
            }
            return true;
        }
    };
    viewer.addFilter(filter);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();
            InstallOptionsWizard wizard = (InstallOptionsWizard) getWizard();
            if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) sel).getFirstElement();
                if (obj instanceof IInstallOptionsTemplate) {
                    wizard.setTemplate((IInstallOptionsTemplate) obj);
                    t.setText(wizard.getTemplate().getDescription());
                }
            } else {
                wizard.setTemplate(null);
            }
            setPageComplete(validatePage());
        }
    });
    viewer.getList().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (canFlipToNextPage()) {
                IWizardPage nextPage = getNextPage();
                if (nextPage != null) {
                    getContainer().showPage(nextPage);
                }
            }
        }
    });

    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mCreateFromTemplate = b.getSelection();
            setPageComplete(validatePage());
        }
    });

    m.updateSlaves();
    return group;
}

From source file:net.sf.eclipsensis.template.AbstractTemplateSettings.java

License:Open Source License

protected void createContents() {
    GC gc = new GC(this);
    Font old = gc.getFont();/*from   w  w  w .  j  a v  a 2  s  . c om*/
    gc.setFont(JFaceResources.getDialogFont());
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.setFont(old);
    gc.dispose();

    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    this.setLayout(layout);

    Composite innerParent = new Composite(this, SWT.NONE);
    GridLayout innerLayout = new GridLayout();
    innerLayout.numColumns = 2;
    innerLayout.marginHeight = 0;
    innerLayout.marginWidth = 0;
    innerParent.setLayout(innerLayout);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.horizontalSpan = 2;
    innerParent.setLayoutData(gd);

    final Table table = new Table(innerParent,
            SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL);

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = fontMetrics.getAverageCharWidth() * 3;
    data.heightHint = fontMetrics.getHeight() * 10;
    table.setLayoutData(data);

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn[] columns = { new TableColumn(table, SWT.NONE) };
    columns[0].setText(EclipseNSISPlugin.getResourceString("template.settings.name.label")); //$NON-NLS-1$

    mTableViewer = new CheckboxTableViewer(table);
    mTableViewer.setLabelProvider(new CollectionLabelProvider());
    mTableViewer.setContentProvider(new EmptyContentProvider() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        @Override
        public Object[] getElements(Object inputElement) {
            if (inputElement != null && inputElement.equals(mTemplateManager)) {
                return mTemplateManager.getTemplates().toArray();
            }
            return super.getElements(inputElement);
        }
    });

    Collator collator = Collator.getInstance();
    collator.setStrength(Collator.PRIMARY);
    mTableViewer.setSorter(new ViewerSorter(collator));

    ViewerFilter filter = new ViewerFilter() {
        @Override
        @SuppressWarnings("unchecked")
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element != null && mTemplateManager.getTemplateClass().isAssignableFrom(element.getClass())) {
                T template = (T) element;
                return template.isAvailable() && !template.isDeleted();
            }
            return true;
        }
    };
    mTableViewer.addFilter(filter);

    final INSISHomeListener nsisHomeListener = new INSISHomeListener() {
        public void nsisHomeChanged(IProgressMonitor monitor, NSISHome oldHome, NSISHome newHome) {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    mTableViewer.refresh();
                    mTableViewer.setCheckedElements(getEnabledTemplates());
                }
            });
        }
    };
    NSISPreferences.getInstance().addListener(nsisHomeListener);
    table.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            NSISPreferences.getInstance().removeListener(nsisHomeListener);
        }
    });

    mTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            edit();
        }
    });

    mTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent e) {
            doSelectionChanged();
        }
    });

    mTableViewer.addCheckStateListener(new ICheckStateListener() {
        @SuppressWarnings("unchecked")
        public void checkStateChanged(CheckStateChangedEvent event) {
            T oldTemplate = (T) event.getElement();
            T newTemplate = (T) oldTemplate.clone();
            newTemplate.setEnabled(!oldTemplate.isEnabled());
            getTemplateManager().updateTemplate(oldTemplate, newTemplate);
            mTableViewer.refresh(true);
            mTableViewer.setSelection(new StructuredSelection(newTemplate));
            mTableViewer.setChecked(newTemplate, newTemplate.isEnabled());
            doSelectionChanged();
        }
    });

    Composite buttons = new Composite(innerParent, SWT.NONE);
    buttons.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);

    createButtons(buttons);

    Label label = new Label(this, SWT.NONE);
    label.setText(EclipseNSISPlugin.getResourceString("template.settings.description.label")); //$NON-NLS-1$
    data = new GridData();
    data.horizontalSpan = 2;
    label.setLayoutData(data);

    mDescriptionText = new StyledText(this, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP);
    mDescriptionText.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    mDescriptionText.setCursor(null);
    mDescriptionText.setCaret(null);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.horizontalSpan = 2;
    data.heightHint = fontMetrics.getHeight() * 5;
    mDescriptionText.setLayoutData(data);

    mTableViewer.setInput(mTemplateManager);
    mTableViewer.setCheckedElements(getEnabledTemplates());

    updateButtons();
    table.addControlListener(new TableResizer());

    Dialog.applyDialogFont(this);
}

From source file:net.sf.eclipsensis.wizard.NSISWizardAttributesPage.java

License:Open Source License

private void createLanguagesGroup(Composite parent) {
    final Group langGroup = NSISWizardDialogUtil.createGroup(parent, 1, "language.support.group.label", null, //$NON-NLS-1$
            false);/*from ww  w .ja  va  2 s .  c  om*/
    GridData data = (GridData) langGroup.getLayoutData();
    data.verticalAlignment = SWT.FILL;
    data.grabExcessVerticalSpace = true;
    data.horizontalAlignment = SWT.FILL;
    data.grabExcessHorizontalSpace = true;

    NSISWizardSettings settings = mWizard.getSettings();

    final Button enableLangSupport = NSISWizardDialogUtil.createCheckBox(langGroup,
            "enable.language.support.label", settings.isEnableLanguageSupport(), true, null, false); //$NON-NLS-1$
    enableLangSupport.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean selection = enableLangSupport.getSelection();
            mWizard.getSettings().setEnableLanguageSupport(selection);
            validateField(LANG_CHECK);
        }
    });

    final MasterSlaveController m = new MasterSlaveController(enableLangSupport);

    final Composite listsComposite = new Composite(langGroup, SWT.NONE);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    listsComposite.setLayoutData(data);

    GridLayout layout = new GridLayout(2, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    listsComposite.setLayout(layout);

    java.util.List<NSISLanguage> selectedLanguages = settings.getLanguages();
    if (selectedLanguages.isEmpty()) {
        NSISLanguage defaultLanguage = NSISLanguageManager.getInstance().getDefaultLanguage();
        if (defaultLanguage != null) {
            selectedLanguages.add(defaultLanguage);
        }
    }
    java.util.List<NSISLanguage> availableLanguages = NSISLanguageManager.getInstance().getLanguages();
    availableLanguages.removeAll(selectedLanguages);

    Composite leftComposite = new Composite(listsComposite, SWT.NONE);
    leftComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    leftComposite.setLayout(layout);

    ((GridData) NSISWizardDialogUtil.createLabel(leftComposite, "available.languages.label", //$NON-NLS-1$
            true, m, false).getLayoutData()).horizontalSpan = 2;

    final List availableLangList = new List(leftComposite,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    Dialog.applyDialogFont(availableLangList);
    data.heightHint = Common.calculateControlSize(availableLangList, 0, 12).y;
    availableLangList.setLayoutData(data);
    m.addSlave(availableLangList);

    final ListViewer availableLangViewer = new ListViewer(availableLangList);
    CollectionContentProvider collectionContentProvider = new CollectionContentProvider();
    availableLangViewer.setContentProvider(collectionContentProvider);
    availableLangViewer.setInput(availableLanguages);
    availableLangViewer.setSorter(new ViewerSorter(cLanguageCollator));

    final Composite buttonsComposite1 = new Composite(leftComposite, SWT.NONE);
    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttonsComposite1.setLayout(layout);
    data = new GridData(SWT.FILL, SWT.CENTER, false, false);
    buttonsComposite1.setLayoutData(data);

    final Button allRightButton = new Button(buttonsComposite1, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    allRightButton.setLayoutData(data);
    allRightButton.setImage(EclipseNSISPlugin.getImageManager()
            .getImage(EclipseNSISPlugin.getResourceString("all.right.icon"))); //$NON-NLS-1$
    allRightButton.setToolTipText(EclipseNSISPlugin.getResourceString("all.right.tooltip")); //$NON-NLS-1$

    final Button rightButton = new Button(buttonsComposite1, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    rightButton.setLayoutData(data);
    rightButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("right.icon"))); //$NON-NLS-1$
    rightButton.setToolTipText(EclipseNSISPlugin.getResourceString("right.tooltip")); //$NON-NLS-1$

    final Button leftButton = new Button(buttonsComposite1, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    leftButton.setLayoutData(data);
    leftButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("left.icon"))); //$NON-NLS-1$
    leftButton.setToolTipText(EclipseNSISPlugin.getResourceString("left.tooltip")); //$NON-NLS-1$

    final Button allLeftButton = new Button(buttonsComposite1, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    allLeftButton.setLayoutData(data);
    allLeftButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("all.left.icon"))); //$NON-NLS-1$
    allLeftButton.setToolTipText(EclipseNSISPlugin.getResourceString("all.left.tooltip")); //$NON-NLS-1$

    Composite rightComposite = new Composite(listsComposite, SWT.NONE);
    rightComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    rightComposite.setLayout(layout);

    ((GridData) NSISWizardDialogUtil.createLabel(rightComposite, "selected.languages.label", //$NON-NLS-1$
            true, m, isScriptWizard()).getLayoutData()).horizontalSpan = 2;

    final List selectedLangList = new List(rightComposite,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    Dialog.applyDialogFont(selectedLangList);
    data.heightHint = Common.calculateControlSize(selectedLangList, 0, 12).y;
    selectedLangList.setLayoutData(data);
    m.addSlave(selectedLangList);

    final ListViewer selectedLangViewer = new ListViewer(selectedLangList);
    selectedLangViewer.setContentProvider(collectionContentProvider);
    selectedLangViewer.setInput(selectedLanguages);

    final ListViewerUpDownMover<java.util.List<NSISLanguage>, NSISLanguage> mover = new ListViewerUpDownMover<java.util.List<NSISLanguage>, NSISLanguage>() {
        @Override
        @SuppressWarnings("unchecked")
        protected java.util.List<NSISLanguage> getAllElements() {
            return (java.util.List<NSISLanguage>) ((ListViewer) getViewer()).getInput();
        }

        @Override
        protected void updateStructuredViewerInput(java.util.List<NSISLanguage> input,
                java.util.List<NSISLanguage> elements, java.util.List<NSISLanguage> move, boolean isDown) {
            (input).clear();
            (input).addAll(elements);
        }
    };

    mover.setViewer(selectedLangViewer);

    final Composite buttonsComposite2 = new Composite(rightComposite, SWT.NONE);
    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttonsComposite2.setLayout(layout);
    data = new GridData(SWT.FILL, SWT.CENTER, false, false);
    buttonsComposite2.setLayoutData(data);

    final Button upButton = new Button(buttonsComposite2, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    upButton.setLayoutData(data);
    upButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("up.icon"))); //$NON-NLS-1$
    upButton.setToolTipText(EclipseNSISPlugin.getResourceString("up.tooltip")); //$NON-NLS-1$
    m.addSlave(upButton);

    final Button downButton = new Button(buttonsComposite2, SWT.PUSH);
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    downButton.setLayoutData(data);
    downButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("down.icon"))); //$NON-NLS-1$
    downButton.setToolTipText(EclipseNSISPlugin.getResourceString("down.tooltip")); //$NON-NLS-1$
    m.addSlave(downButton);

    Composite langOptions = langGroup;
    boolean showSupportedLangOption = NSISPreferences.getInstance().getNSISVersion()
            .compareTo(INSISVersions.VERSION_2_26) >= 0;
    if (showSupportedLangOption) {
        langOptions = new Composite(langGroup, SWT.None);
        layout = new GridLayout(2, false);
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        langOptions.setLayout(layout);
        data = new GridData(SWT.FILL, SWT.FILL, true, false);
        langOptions.setLayoutData(data);
    }

    final Button selectLang = NSISWizardDialogUtil.createCheckBox(langOptions, "select.language.label", //$NON-NLS-1$
            settings.isSelectLanguage(), true, m, false);

    final Button displaySupported;
    if (showSupportedLangOption) {
        ((GridData) selectLang.getLayoutData()).horizontalSpan = 1;
        displaySupported = NSISWizardDialogUtil.createCheckBox(langOptions, "display.supported.languages.label", //$NON-NLS-1$
                settings.isDisplaySupportedLanguages(), true, m, false);
        ((GridData) displaySupported.getLayoutData()).horizontalSpan = 1;
        displaySupported.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                mWizard.getSettings().setDisplaySupportedLanguages(displaySupported.getSelection());
            }
        });
    } else {
        displaySupported = null;
    }

    final MasterSlaveEnabler mse = new MasterSlaveEnabler() {
        public void enabled(Control control, boolean flag) {
        }

        @SuppressWarnings("unchecked")
        public boolean canEnable(Control control) {
            NSISWizardSettings settings = mWizard.getSettings();

            if (control == allRightButton) {
                return settings.isEnableLanguageSupport() && availableLangViewer.getList().getItemCount() > 0;
            } else if (control == rightButton) {
                return settings.isEnableLanguageSupport() && !availableLangViewer.getSelection().isEmpty();
            } else if (control == allLeftButton) {
                return settings.isEnableLanguageSupport() && selectedLangViewer.getList().getItemCount() > 0;
            } else if (control == leftButton) {
                return settings.isEnableLanguageSupport() && !selectedLangViewer.getSelection().isEmpty();
            } else if (control == upButton) {
                return settings.isEnableLanguageSupport() && mover.canMoveUp();
            } else if (control == downButton) {
                return settings.isEnableLanguageSupport() && mover.canMoveDown();
            } else if (control == selectLang) {
                java.util.List<NSISLanguage> selectedLanguages = (java.util.List<NSISLanguage>) selectedLangViewer
                        .getInput();
                return settings.getInstallerType() != INSTALLER_TYPE_SILENT
                        && settings.isEnableLanguageSupport() && selectedLanguages.size() > 1;
            } else if (control == displaySupported && displaySupported != null) {
                java.util.List<NSISLanguage> selectedLanguages = (java.util.List<NSISLanguage>) selectedLangViewer
                        .getInput();
                return settings.getInstallerType() != INSTALLER_TYPE_SILENT
                        && settings.isEnableLanguageSupport() && selectedLanguages.size() > 1
                        && selectLang.getSelection();
            } else {
                return true;
            }
        }
    };
    m.addSlave(rightButton, mse);
    m.addSlave(allRightButton, mse);
    m.addSlave(leftButton, mse);
    m.addSlave(allLeftButton, mse);
    m.setEnabler(upButton, mse);
    m.setEnabler(downButton, mse);
    m.setEnabler(selectLang, mse);
    if (displaySupported != null) {
        m.setEnabler(displaySupported, mse);
    }

    selectLang.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mWizard.getSettings().setSelectLanguage(selectLang.getSelection());
            if (displaySupported != null) {
                displaySupported.setEnabled(mse.canEnable(displaySupported));
            }
        }
    });

    final Runnable langRunnable = new Runnable() {
        public void run() {
            availableLangViewer.refresh(false);
            selectedLangViewer.refresh(false);
            allRightButton.setEnabled(mse.canEnable(allRightButton));
            allLeftButton.setEnabled(mse.canEnable(allLeftButton));
            rightButton.setEnabled(mse.canEnable(rightButton));
            leftButton.setEnabled(mse.canEnable(leftButton));
            upButton.setEnabled(mse.canEnable(upButton));
            downButton.setEnabled(mse.canEnable(downButton));
            selectLang.setEnabled(mse.canEnable(selectLang));
            if (displaySupported != null) {
                displaySupported.setEnabled(mse.canEnable(displaySupported));
            }
            setPageComplete(validateField(LANG_CHECK));
        }
    };

    rightButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            moveAcross(availableLangViewer, selectedLangViewer, Common.makeGenericList(NSISLanguage.class,
                    ((IStructuredSelection) availableLangViewer.getSelection()).toList()));
            langRunnable.run();
        }
    });
    allRightButton.addSelectionListener(new SelectionAdapter() {
        @Override
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent se) {
            moveAcross(availableLangViewer, selectedLangViewer,
                    (java.util.List<NSISLanguage>) availableLangViewer.getInput());
            langRunnable.run();
        }
    });
    leftButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            moveAcross(selectedLangViewer, availableLangViewer, Common.makeGenericList(NSISLanguage.class,
                    ((IStructuredSelection) selectedLangViewer.getSelection()).toList()));
            langRunnable.run();
        }
    });
    allLeftButton.addSelectionListener(new SelectionAdapter() {
        @Override
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent se) {
            moveAcross(selectedLangViewer, availableLangViewer,
                    (java.util.List<NSISLanguage>) selectedLangViewer.getInput());
            langRunnable.run();
        }
    });
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            mover.moveUp();
            langRunnable.run();
        }
    });
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            mover.moveDown();
            langRunnable.run();
        }
    });

    availableLangViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            rightButton.setEnabled(mse.canEnable(rightButton));
            allRightButton.setEnabled(mse.canEnable(allRightButton));
        }
    });
    availableLangViewer.getList().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            IStructuredSelection sel = (IStructuredSelection) availableLangViewer.getSelection();
            if (!sel.isEmpty()) {
                moveAcross(availableLangViewer, selectedLangViewer,
                        Common.makeGenericList(NSISLanguage.class, sel.toList()));
                selectedLangViewer.reveal(sel.getFirstElement());
                langRunnable.run();
            }
        }
    });
    selectedLangViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            leftButton.setEnabled(mse.canEnable(leftButton));
            allLeftButton.setEnabled(mse.canEnable(allLeftButton));
            upButton.setEnabled(mse.canEnable(upButton));
            downButton.setEnabled(mse.canEnable(downButton));
            selectLang.setEnabled(mse.canEnable(selectLang));
            if (displaySupported != null) {
                displaySupported.setEnabled(mse.canEnable(displaySupported));
            }
        }
    });
    selectedLangViewer.getList().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            IStructuredSelection sel = (IStructuredSelection) selectedLangViewer.getSelection();
            if (!sel.isEmpty()) {
                moveAcross(selectedLangViewer, availableLangViewer,
                        Common.makeGenericList(NSISLanguage.class, sel.toList()));
                availableLangViewer.reveal(sel.getFirstElement());
                langRunnable.run();
            }
        }
    });

    m.updateSlaves();

    listsComposite.addListener(SWT.Resize, new Listener() {
        boolean init = false;

        public void handleEvent(Event e) {
            if (!init) {
                // Stupid hack so that the height hint doesn't get changed
                // on the first resize,
                // i.e., when the page is drawn for the first time.
                init = true;
            } else {
                Point size = listsComposite.getSize();
                GridLayout layout = (GridLayout) listsComposite.getLayout();
                int heightHint = size.y - 2 * layout.marginHeight;
                ((GridData) availableLangList.getLayoutData()).heightHint = heightHint;
                ((GridData) selectedLangList.getLayoutData()).heightHint = heightHint;
                int totalWidth = size.x - 2 * layout.marginWidth - 3 * layout.horizontalSpacing;
                int listWidth = (int) (totalWidth * 0.4);
                int buttonWidth = (int) (0.5 * (totalWidth - 2 * listWidth));
                size = availableLangList.computeSize(listWidth, SWT.DEFAULT);
                int delta = 0;
                if (size.x > listWidth) {
                    delta = size.x - listWidth;
                    listWidth = listWidth - delta;
                }
                ((GridData) availableLangList.getLayoutData()).widthHint = listWidth;
                ((GridData) buttonsComposite1.getLayoutData()).widthHint = totalWidth - 2 * (listWidth + delta)
                        - buttonWidth;
                ((GridData) selectedLangList.getLayoutData()).widthHint = listWidth;
                ((GridData) buttonsComposite2.getLayoutData()).widthHint = buttonWidth;
                listsComposite.layout();
            }
        }
    });

    addPageChangedRunnable(new Runnable() {
        public void run() {
            if (isCurrentPage()) {
                selectLang.setEnabled(mse.canEnable(selectLang));
                if (displaySupported != null) {
                    displaySupported.setEnabled(mse.canEnable(displaySupported));
                }
            }
        }
    });

    mWizard.addSettingsListener(new INSISWizardSettingsListener() {
        public void settingsChanged(NSISWizardSettings oldSettings, NSISWizardSettings newSettings) {
            enableLangSupport.setSelection(newSettings.isEnableLanguageSupport());
            m.updateSlaves();
            selectLang.setSelection(newSettings.isSelectLanguage());
            if (displaySupported != null) {
                displaySupported.setSelection(newSettings.isDisplaySupportedLanguages());
            }
            java.util.List<NSISLanguage> selectedLanguages = newSettings.getLanguages();
            java.util.List<NSISLanguage> availableLanguages = NSISLanguageManager.getInstance().getLanguages();
            if (selectedLanguages.isEmpty()) {
                NSISWizardWelcomePage welcomePage = (NSISWizardWelcomePage) mWizard
                        .getPage(NSISWizardWelcomePage.NAME);
                if (welcomePage != null) {
                    if (!welcomePage.isCreateFromTemplate()) {
                        NSISLanguage defaultLanguage = NSISLanguageManager.getInstance().getDefaultLanguage();
                        if (defaultLanguage != null && availableLanguages.contains(defaultLanguage)) {
                            selectedLanguages.add(defaultLanguage);
                        }
                    }
                }
            }
            selectedLangViewer.setInput(selectedLanguages);
            availableLanguages.removeAll(selectedLanguages);
            availableLangViewer.setInput(availableLanguages);
        }
    });
}

From source file:net.sf.eclipsensis.wizard.NSISWizardWelcomePage.java

License:Open Source License

private Group createTemplatesGroup(Composite parent) {
    Group templatesGroup = NSISWizardDialogUtil.createGroup(parent, 1, null, null, false);
    ((GridLayout) templatesGroup.getLayout()).makeColumnsEqualWidth = true;
    GridData data = (GridData) templatesGroup.getLayoutData();
    data.grabExcessVerticalSpace = true;
    data.verticalAlignment = GridData.FILL;

    final Button createFromTemplate = NSISWizardDialogUtil.createCheckBox(templatesGroup,
            "create.from.template.button.text", false, true, null, false); //$NON-NLS-1$

    MasterSlaveController m = new MasterSlaveController(createFromTemplate);
    SashForm templatesSashForm = new SashForm(templatesGroup, SWT.HORIZONTAL);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    templatesSashForm.setLayoutData(data);

    MasterSlaveEnabler mse = new MasterSlaveEnabler() {
        public boolean canEnable(Control control) {
            return true;
        }//from   w ww  . j  av a 2s. c o m

        public void enabled(Control control, boolean flag) {
            int id = (flag ? SWT.COLOR_LIST_BACKGROUND : SWT.COLOR_WIDGET_BACKGROUND);
            control.setBackground(getShell().getDisplay().getSystemColor(id));
        }
    };

    Composite composite = new Composite(templatesSashForm, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    final Label availableTemplatesLabel = NSISWizardDialogUtil.createLabel(composite,
            "available.templates.label", createFromTemplate.getSelection(), m, true); //$NON-NLS-1$
    data = (GridData) availableTemplatesLabel.getLayoutData();
    data.horizontalAlignment = SWT.FILL;
    data.grabExcessHorizontalSpace = true;

    final List list = new List(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    list.setLayoutData(data);
    m.addSlave(list, mse);

    composite = new Composite(templatesSashForm, SWT.NONE);
    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    Label templateDescLabel = NSISWizardDialogUtil.createLabel(composite, "template.description.label", true, m, //$NON-NLS-1$
            false);
    templateDescLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    final StyledText description = new StyledText(composite, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.WRAP);
    description.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    description.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    description.setCursor(null);
    description.setCaret(null);
    m.addSlave(description, mse);

    final ListViewer templatesViewer = new ListViewer(list);
    templatesViewer.setContentProvider(new CollectionContentProvider());
    templatesViewer.setLabelProvider(new CollectionLabelProvider());
    final NSISWizardTemplateManager templateManager = ((NSISScriptWizard) mWizard).getTemplateManager();
    templatesViewer.setInput(templateManager.getTemplates());
    Collator collator = Collator.getInstance();
    collator.setStrength(Collator.PRIMARY);
    templatesViewer.setSorter(new ViewerSorter(collator));

    ViewerFilter filter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof NSISWizardTemplate) {
                NSISWizardTemplate template = (NSISWizardTemplate) element;
                return template.isAvailable() && template.isEnabled() && !template.isDeleted();
            }
            return true;
        }
    };
    templatesViewer.addFilter(filter);

    templatesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();
            if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) sel).getFirstElement();
                if (obj instanceof NSISWizardTemplate) {
                    mTemplate = (NSISWizardTemplate) obj;
                    description.setText(mTemplate.getDescription());
                }
            } else {
                mTemplate = null;
            }
            validatePage(VALIDATE_ALL);
        }
    });

    templatesViewer.getList().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (canFlipToNextPage()) {
                IWizardPage nextPage = getNextPage();
                if (nextPage != null) {
                    getContainer().showPage(nextPage);
                }
            }
        }
    });

    createFromTemplate.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mCreateFromTemplate = createFromTemplate.getSelection();
            validatePage(VALIDATE_ALL);
        }
    });

    m.updateSlaves();

    addPageChangedRunnable(new Runnable() {
        public void run() {
            if (isPreviousPage() && !isCurrentPage()) {
                if (getSelectedPage() instanceof AbstractNSISWizardPage) {
                    NSISScriptWizard scriptWizard = (NSISScriptWizard) mWizard;
                    if (!mCreateFromTemplate) {
                        if (mUsingTemplate) {
                            scriptWizard.initSettings();
                            scriptWizard.setTemplate(null);
                            mUsingTemplate = false;
                        }
                    } else {
                        if (mTemplate != null) {
                            scriptWizard.loadTemplate(mTemplate);
                            mTemplate = null;
                            mUsingTemplate = true;
                        }
                    }
                }
            }
        }
    });
    return templatesGroup;
}

From source file:net.sf.eclipsensis.wizard.settings.dialogs.NSISInstallShortcutDialog.java

License:Open Source License

@Override
protected Control createControlContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(3, false);
    layout.marginHeight = 0;/*from   ww  w .j a  va  2  s.c om*/
    layout.marginWidth = 0;
    composite.setLayout(layout);

    final Combo c1;
    if (mWizard.getSettings().isCreateStartMenuGroup()) {
        boolean createInSMGroup = mStore.getBoolean("createInStartMenuGroup"); //$NON-NLS-1$
        Group group = NSISWizardDialogUtil.createGroup(composite, 2, "wizard.location.group.label", null, true); //$NON-NLS-1$
        final Button b1 = NSISWizardDialogUtil.createRadioButton(group, "wizard.smgroup.location.label", //$NON-NLS-1$
                createInSMGroup, true, null, false);
        b1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (b1.getSelection()) {
                    mStore.setValue("createInStartMenuGroup", true); //$NON-NLS-1$
                    validate();
                }
            }
        });
        final Button b2 = NSISWizardDialogUtil.createRadioButton(group, "wizard.other.location.label", //$NON-NLS-1$
                !createInSMGroup, true, null, false);
        b2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (b2.getSelection()) {
                    mStore.setValue("createInStartMenuGroup", false); //$NON-NLS-1$
                    validate();
                }
            }
        });
        ((GridData) b2.getLayoutData()).horizontalSpan = 1;
        MasterSlaveController mse = new MasterSlaveController(b2);
        c1 = NSISWizardDialogUtil.createCombo(group, null, "", //$NON-NLS-1$
                false, null, true, mse, true);
        ((GridData) c1.getLayoutData()).horizontalSpan = 1;
        mse.updateSlaves();
    } else {
        mStore.setValue("createInStartMenuGroup", false); //$NON-NLS-1$
        c1 = NSISWizardDialogUtil.createCombo(composite, null, "", //$NON-NLS-1$
                false, "wizard.location.label", true, null, true); //$NON-NLS-1$
    }
    ((GridData) c1.getLayoutData()).horizontalAlignment = GridData.FILL;
    List<String> input = Common
            .makeList(NSISWizardUtil.getPathConstantsAndVariables(mWizard.getSettings().getTargetPlatform()));
    ComboViewer cv = new ComboViewer(c1);
    cv.setContentProvider(new CollectionContentProvider());
    cv.setLabelProvider(new CollectionLabelProvider());
    Collator coll = Collator.getInstance();
    coll.setStrength(Collator.PRIMARY);
    cv.setSorter(new ViewerSorter(coll));
    cv.setInput(input);
    c1.setText(mStore.getString("location")); //$NON-NLS-1$
    c1.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            mStore.setValue("location", c1.getText().trim()); //$NON-NLS-1$
            validate();
        }
    });

    final Text t1 = NSISWizardDialogUtil.createText(composite, mStore.getString("name"), "wizard.name.label", //$NON-NLS-1$//$NON-NLS-2$
            true, null, true);
    t1.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            mStore.setValue("name", t1.getText().trim()); //$NON-NLS-1$
            validate();
        }
    });

    final Button[] radio = NSISWizardDialogUtil.createRadioGroup(composite,
            NSISWizardDisplayValues.SHORTCUT_TYPE_NAMES, mStore.getInt("shortcutType"), //$NON-NLS-1$
            "wizard.shortcut.type.label", true, null, false); //$NON-NLS-1$
    SelectionAdapter sa = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                int n = -1;
                if (b == radio[0]) {
                    n = 0;
                } else if (b == radio[1]) {
                    n = 1;
                }
                mStore.setValue("shortcutType", n); //$NON-NLS-1$
                validate();
            }
        }
    };
    for (int i = 0; i < radio.length; i++) {
        radio[i].addSelectionListener(sa);
    }
    MasterSlaveController m1 = new MasterSlaveController(radio[SHORTCUT_URL]);
    MasterSlaveController m2 = new MasterSlaveController(radio[SHORTCUT_INSTALLELEMENT]);

    final Text t2 = NSISWizardDialogUtil.createText(composite, mStore.getString("url"), "wizard.url.label", //$NON-NLS-1$//$NON-NLS-2$
            true, m1, true);
    t2.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            mStore.setValue("url", t2.getText().trim()); //$NON-NLS-1$
            validate();
        }
    });

    final Combo c2 = NSISWizardDialogUtil.createContentBrowser(composite, "wizard.path.label", //$NON-NLS-1$
            mStore.getString("path"), //$NON-NLS-1$
            NSISWizardUtil.getPathConstantsAndVariables(mWizard.getSettings().getTargetPlatform()), mWizard,
            true, m2, true);

    c2.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            mStore.setValue("path", c2.getText().trim()); //$NON-NLS-1$
            validate();
        }
    });

    m2.updateSlaves();
    m1.updateSlaves();

    return composite;
}

From source file:org.elbe.relations.internal.controls.AbstractSelectionView.java

License:Open Source License

@PostConstruct
public void init(final EMenuService inService) {
    inService.registerContextMenu(viewer.getControl(), getPopupID());

    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setSorter(new ViewerSorter(languageService.getContentLanguage()));
    viewer.setInput(getDBInput());/*  w  w w. j  av a 2  s .  co m*/
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent inEvent) {
            selectionService.setSelection(((IStructuredSelection) inEvent.getSelection()).getFirstElement());
        }
    });

    hookDoubleClickAction();
    hookDragnDrop();
}

From source file:org.elbe.relations.internal.forms.FormAssociate.java

License:Open Source License

private void initialize(final Composite inParent) {
    container = createComposite(inParent, 3, 7);

    // first column
    final Composite lRelatedFill = createTableContainer(container);
    createLabel(RelationsMessages.getString("FormAssociate.list.related"), lRelatedFill); //$NON-NLS-1$
    relatedViewer = new TableViewer(lRelatedFill, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    relatedViewer.getTable().setLayoutData(createListLayoutData());
    relatedViewer.setContentProvider(createRelatedContentProvider());
    relatedViewer.setLabelProvider(createRelatedLabelProvider());
    relatedViewer.setSorter(new ViewerSorter(languageService.getContentLanguage()));

    // second column
    createArrowButtons(container);// w  w  w .  j  a v a 2s  .c  o m

    // third column
    final Composite lSelectionFill = createTableContainer(container);
    createLabel(RelationsMessages.getString("FormAssociate.list.selection"), lSelectionFill); //$NON-NLS-1$
    selectionViewer = new TableViewer(lSelectionFill, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    selectionViewer.getTable().setLayoutData(createListLayoutData());
    selectionViewer.setContentProvider(createContentProvider());
    selectionViewer.setLabelProvider(createLabelProvider());
    selectionViewer.setSorter(new ViewerSorter(languageService.getContentLanguage()));

    createMenusAndToolbars();
}