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

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

Introduction

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

Prototype

public ViewerComparator() 

Source Link

Document

Creates a new ViewerComparator , which uses the default comparator to sort strings.

Usage

From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavadocConfigurationBlock.java

License:Open Source License

private String internalChooseArchivePath() {
    ZipFile zipFile = null;/*w  ww .jav  a2  s.co m*/
    try {
        if (fWorkspaceRadio.isSelected()) {
            IResource resource = ResourcesPlugin.getWorkspace().getRoot()
                    .findMember(new Path(fArchiveField.getText()));
            if (resource != null) {
                IPath location = resource.getLocation();
                if (location != null) {
                    zipFile = new ZipFile(location.toOSString());
                }
            }
        } else {
            zipFile = new ZipFile(fArchiveField.getText());
        }
        if (zipFile == null) {
            return null;
        }

        ZipFileStructureProvider provider = new ZipFileStructureProvider(zipFile);

        ILabelProvider lp = new ZipDialogLabelProvider(provider);
        ZipDialogContentProvider cp = new ZipDialogContentProvider(provider);

        ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(fShell, lp, cp);
        dialog.setAllowMultiple(false);
        dialog.setValidator(new ZipDialogValidator());
        dialog.setTitle(PreferencesMessages.JavadocConfigurationBlock_browse_jarorzip_path_title);
        dialog.setMessage(PreferencesMessages.JavadocConfigurationBlock_location_in_jarorzip_message);
        dialog.setComparator(new ViewerComparator());

        String init = fArchivePathField.getText();
        if (init.length() == 0) {
            init = "docs/api"; //$NON-NLS-1$
        }
        dialog.setInitialSelection(cp.findElement(new Path(init)));

        dialog.setInput(this);
        if (dialog.open() == Window.OK) {
            String name = provider.getFullPath(dialog.getFirstResult());
            return new Path(name).removeTrailingSeparator().toString();
        }
    } catch (IOException e) {
        JavaPlugin.log(e);
    } finally {
        if (zipFile != null) {
            try {
                zipFile.close();
            } catch (IOException e1) {
                // ignore
            }
        }
    }
    return null;
}

From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavaEditorColoringConfigurationBlock.java

License:Open Source License

private Control createSyntaxPage(final Composite parent) {

    Composite colorComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;/*from   ww  w. ja v  a2s  .co m*/
    layout.marginWidth = 0;
    colorComposite.setLayout(layout);

    Link link = new Link(colorComposite, SWT.NONE);
    link.setText(PreferencesMessages.JavaEditorColoringConfigurationBlock_link);
    link.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if ("org.eclipse.ui.preferencePages.GeneralTextEditor".equals(e.text)) //$NON-NLS-1$
                PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null, null);
            else if ("org.eclipse.ui.preferencePages.ColorsAndFonts".equals(e.text)) //$NON-NLS-1$
                PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null,
                        "selectFont:org.eclipse.jdt.ui.editors.textfont"); //$NON-NLS-1$
        }
    });

    GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
    gridData.widthHint = 150; // only expand further if anyone else requires it
    gridData.horizontalSpan = 2;
    link.setLayoutData(gridData);

    addFiller(colorComposite, 1);

    Label label;
    label = new Label(colorComposite, SWT.LEFT);
    label.setText(PreferencesMessages.JavaEditorPreferencePage_coloring_element);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Composite editorComposite = new Composite(colorComposite, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    editorComposite.setLayout(layout);
    GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
    editorComposite.setLayoutData(gd);

    fTreeViewer = new TreeViewer(editorComposite, SWT.SINGLE | SWT.BORDER);
    fTreeViewer.setLabelProvider(new ColorListLabelProvider());
    fTreeViewer.setContentProvider(new ColorListContentProvider());
    fTreeViewer.setComparator(new ViewerComparator() {
        @Override
        public int category(Object element) {
            // don't sort the top level categories
            if (fJavaCategory.equals(element))
                return 0;
            if (fJavadocCategory.equals(element))
                return 1;
            if (fCommentsCategory.equals(element))
                return 2;
            // to sort semantic settings after partition based ones:
            //            if (element instanceof SemanticHighlightingColorListItem)
            //               return 1;
            return 0;
        }
    });
    gd = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, true);
    gd.heightHint = convertHeightInCharsToPixels(9);
    int maxWidth = 0;
    for (Iterator<HighlightingColorListItem> it = fListModel.iterator(); it.hasNext();) {
        HighlightingColorListItem item = it.next();
        maxWidth = Math.max(maxWidth, convertWidthInCharsToPixels(item.getDisplayName().length()));
    }
    ScrollBar vBar = ((Scrollable) fTreeViewer.getControl()).getVerticalBar();
    if (vBar != null)
        maxWidth += vBar.getSize().x * 3; // scrollbars and tree indentation guess
    gd.widthHint = maxWidth;

    fTreeViewer.getControl().setLayoutData(gd);
    installDoubleClickListener();

    Composite stylesComposite = new Composite(editorComposite, SWT.NONE);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.numColumns = 2;
    stylesComposite.setLayout(layout);
    stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

    fEnableCheckbox = new Button(stylesComposite, SWT.CHECK);
    fEnableCheckbox.setText(PreferencesMessages.JavaEditorPreferencePage_enable);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = GridData.BEGINNING;
    gd.horizontalSpan = 2;
    fEnableCheckbox.setLayoutData(gd);

    fColorEditorLabel = new Label(stylesComposite, SWT.LEFT);
    fColorEditorLabel.setText(PreferencesMessages.JavaEditorPreferencePage_color);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalIndent = 20;
    fColorEditorLabel.setLayoutData(gd);

    fSyntaxForegroundColorEditor = new ColorSelector(stylesComposite);
    Button foregroundColorButton = fSyntaxForegroundColorEditor.getButton();
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    foregroundColorButton.setLayoutData(gd);

    fBoldCheckBox = new Button(stylesComposite, SWT.CHECK);
    fBoldCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_bold);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalIndent = 20;
    gd.horizontalSpan = 2;
    fBoldCheckBox.setLayoutData(gd);

    fItalicCheckBox = new Button(stylesComposite, SWT.CHECK);
    fItalicCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_italic);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalIndent = 20;
    gd.horizontalSpan = 2;
    fItalicCheckBox.setLayoutData(gd);

    fStrikethroughCheckBox = new Button(stylesComposite, SWT.CHECK);
    fStrikethroughCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_strikethrough);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalIndent = 20;
    gd.horizontalSpan = 2;
    fStrikethroughCheckBox.setLayoutData(gd);

    fUnderlineCheckBox = new Button(stylesComposite, SWT.CHECK);
    fUnderlineCheckBox.setText(PreferencesMessages.JavaEditorPreferencePage_underline);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalIndent = 20;
    gd.horizontalSpan = 2;
    fUnderlineCheckBox.setLayoutData(gd);

    label = new Label(colorComposite, SWT.LEFT);
    label.setText(PreferencesMessages.JavaEditorPreferencePage_preview);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Control previewer = createPreviewer(colorComposite);
    gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = convertWidthInCharsToPixels(20);
    gd.heightHint = convertHeightInCharsToPixels(5);
    previewer.setLayoutData(gd);

    fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleSyntaxColorListSelection();
        }
    });

    foregroundColorButton.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            PreferenceConverter.setValue(getPreferenceStore(), item.getColorKey(),
                    fSyntaxForegroundColorEditor.getColorValue());
        }
    });

    fBoldCheckBox.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            getPreferenceStore().setValue(item.getBoldKey(), fBoldCheckBox.getSelection());
        }
    });

    fItalicCheckBox.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            getPreferenceStore().setValue(item.getItalicKey(), fItalicCheckBox.getSelection());
        }
    });
    fStrikethroughCheckBox.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            getPreferenceStore().setValue(item.getStrikethroughKey(), fStrikethroughCheckBox.getSelection());
        }
    });

    fUnderlineCheckBox.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            getPreferenceStore().setValue(item.getUnderlineKey(), fUnderlineCheckBox.getSelection());
        }
    });

    fEnableCheckbox.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetSelected(SelectionEvent e) {
            HighlightingColorListItem item = getHighlightingColorListItem();
            if (item instanceof SemanticHighlightingColorListItem) {
                boolean enable = fEnableCheckbox.getSelection();
                getPreferenceStore().setValue(((SemanticHighlightingColorListItem) item).getEnableKey(),
                        enable);
                fEnableCheckbox.setSelection(enable);
                fSyntaxForegroundColorEditor.getButton().setEnabled(enable);
                fColorEditorLabel.setEnabled(enable);
                fBoldCheckBox.setEnabled(enable);
                fItalicCheckBox.setEnabled(enable);
                fStrikethroughCheckBox.setEnabled(enable);
                fUnderlineCheckBox.setEnabled(enable);
                uninstallSemanticHighlighting();
                installSemanticHighlighting();
            }
        }
    });

    colorComposite.layout(false);

    return colorComposite;
}

From source file:ext.org.eclipse.jdt.internal.ui.preferences.TypeFilterPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    initializeDialogUnits(parent);// w ww  . j  a  v  a2  s . c  o  m

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setFont(parent.getFont());

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

    composite.setLayout(layout);

    fFilterListField.doFillIntoGrid(composite, 3);
    LayoutUtil.setHorizontalSpan(fFilterListField.getLabelControl(null), 2);
    LayoutUtil.setWidthHint(fFilterListField.getLabelControl(null), convertWidthInCharsToPixels(40));
    LayoutUtil.setHorizontalGrabbing(fFilterListField.getListControl(null));

    fFilterListField.getTableViewer().setComparator(new ViewerComparator());

    Label spacer = new Label(composite, SWT.LEFT);
    GridData gd = new GridData(SWT.DEFAULT, convertHeightInCharsToPixels(1) / 2);
    gd.horizontalSpan = 2;
    spacer.setLayoutData(gd);

    String label = PreferencesMessages.TypeFilterPreferencePage_restricted_link;
    Map<String, String> targetInfo = new java.util.HashMap<String, String>(2);
    targetInfo.put(ProblemSeveritiesPreferencePage.DATA_SELECT_OPTION_KEY,
            JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE);
    targetInfo.put(ProblemSeveritiesPreferencePage.DATA_SELECT_OPTION_QUALIFIER, JavaCore.PLUGIN_ID);
    createPreferencePageLink(composite, label, targetInfo);

    fHideForbiddenField.doFillIntoGrid(composite, 2);
    fHideDiscouragedField.doFillIntoGrid(composite, 2);

    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:ext.org.eclipse.jdt.internal.ui.refactoring.nls.search.NLSSearchResultPage.java

License:Open Source License

@Override
protected void configureTableViewer(TableViewer viewer) {
    viewer.setComparator(new ViewerComparator() {
        @Override/*  w ww.j a  va  2s .com*/
        public int category(Object element) {
            if (element instanceof FileEntry) {
                return 0;
            } else {
                return 1;
            }
        }
    });
    viewer.setLabelProvider(new ColoringLabelProvider(new NLSSearchResultLabelProvider2(this)));
    fContentProvider = new TextSearchTableContentProvider();
    viewer.setContentProvider(fContentProvider);
}

From source file:ext.org.eclipse.jdt.internal.ui.refactoring.ReferencesInBinaryStatusContextViewer.java

License:Open Source License

/**
 * {@inheritDoc}/*w w w .  j  a  va 2 s.  co m*/
 */
public void createControl(Composite parent) {
    fForm = new ViewForm(parent, SWT.BORDER | SWT.FLAT);
    fForm.marginWidth = 0;
    fForm.marginHeight = 0;

    fLabel = new CLabel(fForm, SWT.NONE);
    fLabel.setText(RefactoringMessages.ReferencesInBinaryStatusContextViewer_title);
    fForm.setTopLeft(fLabel);

    Composite composite = new Composite(fForm, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(1, false);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);

    fTreeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    final AppearanceAwareLabelProvider labelProvider = new AppearanceAwareLabelProvider();
    fTreeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(labelProvider));
    fTreeViewer.setComparator(new ViewerComparator() {
        private Collator fCollator = Collator.getInstance();

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            String l1 = labelProvider.getText(e1);
            String l2 = labelProvider.getText(e2);
            return fCollator.compare(l1, l2);
        }
    });
    fTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    fButton = new Button(composite, SWT.PUSH);
    fButton.setText(RefactoringMessages.ReferencesInBinaryStatusContextViewer_show_as_search_button);
    GridData layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
    layoutData.widthHint = SWTUtil.getButtonWidthHint(fButton);
    fButton.setLayoutData(layoutData);
    fButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            fillInSearchView();
        }
    });
    fButton.setEnabled(false);

    fForm.setContent(composite);

    Dialog.applyDialogFont(parent);
}

From source file:ext.org.eclipse.jdt.internal.ui.search.OccurrencesSearchResultPage.java

License:Open Source License

@Override
protected void configureTableViewer(TableViewer viewer) {
    viewer.setComparator(new ViewerComparator() {
        @Override//from  w  ww.ja v a2s  . co  m
        public int compare(Viewer v, Object e1, Object e2) {
            JavaElementLine jel1 = (JavaElementLine) e1;
            JavaElementLine jel2 = (JavaElementLine) e2;
            return jel1.getLine() - jel2.getLine();
        }
    });
    viewer.setLabelProvider(new ColoringLabelProvider(new OccurrencesSearchLabelProvider(this)));
    fContentProvider = new TextSearchTableContentProvider();
    viewer.setContentProvider(fContentProvider);
}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerSelectionPage.java

License:Open Source License

public void createControl(Composite parent) {
    fListViewer = new ListViewer(parent, SWT.SINGLE | SWT.BORDER);
    fListViewer.setLabelProvider(new ClasspathContainerLabelProvider());
    fListViewer.setContentProvider(new ArrayContentProvider());
    fListViewer.setComparator(new ViewerComparator());
    fListViewer.setInput(Arrays.asList(fContainers));
    fListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            validatePage();//from w  w  w  .j a  va2 s  . c  om
        }
    });
    fListViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            doDoubleClick();
        }
    });

    int selectionIndex = fDialogSettings.getInt(DIALOGSTORE_CONTAINER_IDX);
    if (selectionIndex >= fContainers.length) {
        selectionIndex = 0;
    }
    fListViewer.getList().select(selectionIndex);
    validatePage();
    setControl(fListViewer.getList());
    Dialog.applyDialogFont(fListViewer.getList());

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
            IJavaHelpContextIds.BP_SELECT_CLASSPATH_CONTAINER);
}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathFixSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);

    ListenerMix listener = new ListenerMix();

    int count = fClasspathFixProposals.length;
    if (count == 0) {
        Link link = createLink(composite, listener);
        String[] args = { BasicElementLabels.getJavaElementName(fMissingType),
                BasicElementLabels.getJavaElementName(fProject.getElementName()) };
        link.setText(Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_no_proposals_message, args));
        updateStatus(new StatusInfo(IStatus.ERROR, new String()));
    } else {//  ww w  .  j  a  v  a  2 s . c  om
        Label label = new Label(composite, SWT.WRAP);
        GridData layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false);
        layoutData.widthHint = convertWidthInCharsToPixels(80);
        label.setLayoutData(layoutData);

        String[] args = { BasicElementLabels.getJavaElementName(fMissingType) };
        label.setText(Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_proposals_message, args));

        fFixSelectionTable = new TableViewer(composite, SWT.SINGLE | SWT.BORDER);
        fFixSelectionTable.setContentProvider(new ArrayContentProvider());
        fFixSelectionTable.setLabelProvider(new ClasspathFixLabelProvider());
        fFixSelectionTable.setComparator(new ViewerComparator() {
            @Override
            public int category(Object element) {
                return -((ClasspathFixProposal) element).getRelevance();
            }
        });
        fFixSelectionTable.addDoubleClickListener(listener);
        fFixSelectionTable.setInput(fClasspathFixProposals);
        Table table = fFixSelectionTable.getTable();
        table.select(0);
        fFixSelectionTable.addSelectionChangedListener(listener);

        Dialog.applyDialogFont(table);

        GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
        gridData.heightHint = table.getItemHeight() * Math.max(4, Math.min(10, count));
        gridData.widthHint = convertWidthInCharsToPixels(50);
        table.setLayoutData(gridData);

        Link link = createLink(composite, listener);
        link.setText(
                Messages.format(NewWizardMessages.ClasspathFixSelectionDialog_open_buld_path_dialog_message,
                        BasicElementLabels.getJavaElementName(fProject.getElementName())));

        performSelectionChanged();
    }

    Dialog.applyDialogFont(composite);

    return composite;
}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.ExclusionInclusionDialog.java

License:Open Source License

private ListDialogField<String> createListContents(CPListElement entryToEdit, String key, String label,
        ImageDescriptor descriptor, String[] buttonLabels) {
    ExclusionPatternAdapter adapter = new ExclusionPatternAdapter();

    ListDialogField<String> patternList = new ListDialogField<String>(adapter, buttonLabels,
            new ExclusionInclusionLabelProvider(descriptor));
    patternList.setDialogFieldListener(adapter);
    patternList.setLabelText(label);/*from w w  w  .  j  a v a  2  s . c o  m*/
    patternList.setRemoveButtonIndex(IDX_REMOVE);
    patternList.enableButton(IDX_EDIT, false);

    IPath[] pattern = (IPath[]) entryToEdit.getAttribute(key);

    ArrayList<String> elements = new ArrayList<String>(pattern.length);
    for (int i = 0; i < pattern.length; i++) {
        elements.add(pattern[i].toString());
    }
    patternList.setElements(elements);
    patternList.selectFirstElement();
    patternList.enableButton(IDX_ADD_MULTIPLE, fCurrSourceFolder != null);
    patternList.setViewerComparator(new ViewerComparator());
    return patternList;
}

From source file:ext.org.eclipse.jdt.internal.ui.wizards.buildpaths.NewVariableEntryDialog.java

License:Open Source License

public NewVariableEntryDialog(Shell parent) {
    super(parent);
    setTitle(NewWizardMessages.NewVariableEntryDialog_title);

    updateStatus(new StatusInfo(IStatus.ERROR, "")); //$NON-NLS-1$

    String[] buttonLabels = new String[] { NewWizardMessages.NewVariableEntryDialog_vars_extend, };

    VariablesAdapter adapter = new VariablesAdapter();

    CPVariableElementLabelProvider labelProvider = new CPVariableElementLabelProvider(false);

    fVariablesList = new ListDialogField<CPVariableElement>(adapter, buttonLabels, labelProvider);
    fVariablesList.setDialogFieldListener(adapter);
    fVariablesList.setLabelText(NewWizardMessages.NewVariableEntryDialog_vars_label);

    fVariablesList.enableButton(IDX_EXTEND, false);

    fVariablesList.setViewerComparator(new ViewerComparator() {
        @Override//  w  ww.  j  a v  a2s. c  o  m
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof CPVariableElement && e2 instanceof CPVariableElement) {
                return getComparator().compare(((CPVariableElement) e1).getName(),
                        ((CPVariableElement) e2).getName());
            }
            return super.compare(viewer, e1, e2);
        }
    });

    fConfigButton = new SelectionButtonDialogField(SWT.PUSH);
    fConfigButton.setLabelText(NewWizardMessages.NewVariableEntryDialog_configbutton_label);
    fConfigButton.setDialogFieldListener(adapter);

    initializeElements();

    fCanExtend = false;
    fIsValidSelection = false;
    fResultPaths = null;

    fVariablesList.selectFirstElement();
}