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:org.eclipse.cdt.debug.ui.breakpoints.CBreakpointPropertyDialogAction.java

License:Open Source License

public void run() {
    CBreakpointContext bpContext = getCBreakpointContext();
    if (bpContext != null) {
        PreferenceDialog dialog = createDialog(bpContext);

        if (dialog != null) {
            TreeViewer viewer = dialog.getTreeViewer();
            if (viewer != null) {
                viewer.setComparator(new ViewerComparator() {
                    @Override/*from w w w.j a v a  2  s .c o m*/
                    public int category(Object element) {
                        if (element instanceof IPreferenceNode) {
                            IPreferenceNode node = (IPreferenceNode) element;
                            if (PAGE_ID_COMMON.equals(node.getId())) {
                                return 0;
                            } else if (node.getSubNodes() == null || node.getSubNodes().length == 0) {
                                // Pages without children (not categories)
                                return super.category(element) + 1;
                            }
                        }
                        // Categories last.
                        return super.category(element) + 2;
                    }
                });
                // Expand all categories
                viewer.expandToLevel(TreeViewer.ALL_LEVELS);
            }

            dialog.open();
        }

    }
}

From source file:org.eclipse.cdt.internal.ui.callhierarchy.CHViewPart.java

License:Open Source License

private void createActions() {
    // action groups
    fOpenViewActionGroup = new OpenViewActionGroup(this);
    fOpenViewActionGroup.setSuppressCallHierarchy(true);
    fOpenViewActionGroup.setSuppressProperties(true);
    fOpenViewActionGroup.setEnableIncludeBrowser(true);
    fSelectionSearchGroup = new SelectionSearchGroup(getSite());
    fRefactoringActionGroup = new CRefactoringActionGroup(this);

    fWorkingSetFilterUI = new WorkingSetFilterUI(this, fMemento, KEY_WORKING_SET_FILTER) {
        @Override//  ww w . j  a  va  2 s  .c om
        protected void onWorkingSetChange() {
            updateWorkingSetFilter(this);
        }

        @Override
        protected void onWorkingSetNameChange() {
            updateDescription();
        }
    };

    fReferencedByAction = new Action(CHMessages.CHViewPart_ShowCallers_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetShowReferencedBy(true);
            }
        }
    };
    fReferencedByAction.setToolTipText(CHMessages.CHViewPart_ShowCallers_tooltip);
    CPluginImages.setImageDescriptors(fReferencedByAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_REF_BY);

    fMakesReferenceToAction = new Action(CHMessages.CHViewPart_ShowCallees_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetShowReferencedBy(false);
            }
        }
    };
    fMakesReferenceToAction.setToolTipText(CHMessages.CHViewPart_ShowCallees_tooltip);
    CPluginImages.setImageDescriptors(fMakesReferenceToAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_RELATES_TO);

    fVariableFilter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof CHNode) {
                CHNode node = (CHNode) element;
                return !node.isVariableOrEnumerator();
            }
            return true;
        }
    };
    fFilterVariablesAction = new Action(CHMessages.CHViewPart_FilterVariables_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            if (isChecked()) {
                fTreeViewer.addFilter(fVariableFilter);
            } else {
                fTreeViewer.removeFilter(fVariableFilter);
            }
        }
    };
    fFilterVariablesAction.setToolTipText(CHMessages.CHViewPart_FilterVariables_tooltip);
    CPluginImages.setImageDescriptors(fFilterVariablesAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_HIDE_FIELDS);

    fSorterAlphaNumeric = new ViewerComparator();
    fSorterReferencePosition = new ViewerComparator() {
        @Override
        public int category(Object element) {
            if (element instanceof CHNode) {
                return 0;
            }
            return 1;
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!(e1 instanceof CHNode)) {
                if (!(e2 instanceof CHNode)) {
                    return 0;
                }
                return -1;
            }
            if (!(e2 instanceof CHNode)) {
                return 1;
            }
            CHNode n1 = (CHNode) e1;
            CHNode n2 = (CHNode) e2;
            int offset1 = n1.getFirstReferenceOffset();
            int offset2 = n2.getFirstReferenceOffset();
            return CoreUtility.compare(offset1, offset2);
        }
    };

    fShowReference = new Action(CHMessages.CHViewPart_ShowReference_label) {
        @Override
        public void run() {
            onShowSelectedReference(fTreeViewer.getSelection());
        }
    };
    fShowReference.setToolTipText(CHMessages.CHViewPart_ShowReference_tooltip);
    fOpenElement = new Action(CHMessages.CHViewPart_Open_label) {
        @Override
        public void run() {
            onOpenElement(fTreeViewer.getSelection());
        }
    };
    fOpenElement.setToolTipText(CHMessages.CHViewPart_Open_tooltip);
    fOpenElement.setActionDefinitionId(ICEditorActionDefinitionIds.OPEN_DECL);

    fShowFilesInLabelsAction = new Action(CHMessages.CHViewPart_ShowFiles_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            onShowFilesInLabels(isChecked());
        }
    };
    fShowFilesInLabelsAction.setToolTipText(CHMessages.CHViewPart_ShowFiles_tooltip);
    fNextAction = new Action(CHMessages.CHViewPart_NextReference_label) {
        @Override
        public void run() {
            onNextOrPrevious(true);
        }
    };
    fNextAction.setToolTipText(CHMessages.CHViewPart_NextReference_tooltip);
    CPluginImages.setImageDescriptors(fNextAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_NEXT);

    fPreviousAction = new Action(CHMessages.CHViewPart_PreviousReference_label) {
        @Override
        public void run() {
            onNextOrPrevious(false);
        }
    };
    fPreviousAction.setToolTipText(CHMessages.CHViewPart_PreviousReference_tooltip);
    CPluginImages.setImageDescriptors(fPreviousAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_PREV);

    fRefreshAction = new Action(CHMessages.CHViewPart_Refresh_label) {
        @Override
        public void run() {
            onRefresh();
        }
    };
    fRefreshAction.setToolTipText(CHMessages.CHViewPart_Refresh_tooltip);
    CPluginImages.setImageDescriptors(fRefreshAction, CPluginImages.T_LCL, CPluginImages.IMG_REFRESH);

    fHistoryAction = new CHHistoryDropDownAction(this);

    fCopyAction = new CopyCallHierarchyAction(this, fTreeViewer);
    fPinViewAction = new CHPinAction(this);

    // setup action bar
    // global action hooks
    IActionBars actionBars = getViewSite().getActionBars();
    fRefactoringActionGroup.fillActionBars(actionBars);
    fOpenViewActionGroup.fillActionBars(actionBars);
    fSelectionSearchGroup.fillActionBars(actionBars);

    actionBars.setGlobalActionHandler(CdtActionConstants.OPEN_DECLARATION, fOpenElement);
    actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAction);
    actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAction);
    actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(), fRefreshAction);
    actionBars.updateActionBars();

    // local toolbar
    IToolBarManager tm = actionBars.getToolBarManager();
    tm.add(fNextAction);
    tm.add(fPreviousAction);
    tm.add(new Separator());
    tm.add(fFilterVariablesAction);
    tm.add(new Separator());
    tm.add(fReferencedByAction);
    tm.add(fMakesReferenceToAction);
    tm.add(fHistoryAction);
    tm.add(fRefreshAction);
    tm.add(fPinViewAction);

    // local menu
    IMenuManager mm = actionBars.getMenuManager();

    fWorkingSetFilterUI.fillActionBars(actionBars);
    mm.add(fReferencedByAction);
    mm.add(fMakesReferenceToAction);
    mm.add(new Separator());
    mm.add(fShowFilesInLabelsAction);
    mm.add(new Separator());
    mm.add(fFilterVariablesAction);
}

From source file:org.eclipse.cdt.internal.ui.includebrowser.IBViewPart.java

License:Open Source License

private void createActions() {
    fWorkingSetFilterUI = new WorkingSetFilterUI(this, fMemento, KEY_WORKING_SET_FILTER) {
        @Override//from ww w.  jav  a2 s.c  o m
        protected void onWorkingSetChange() {
            updateWorkingSetFilter(this);
        }

        @Override
        protected void onWorkingSetNameChange() {
            updateDescription();
        }
    };

    fIncludedByAction = new Action(IBMessages.IBViewPart_showIncludedBy_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetDirection(true);
            }
        }
    };
    fIncludedByAction.setToolTipText(IBMessages.IBViewPart_showIncludedBy_tooltip);
    CPluginImages.setImageDescriptors(fIncludedByAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_REF_BY);

    fIncludesToAction = new Action(IBMessages.IBViewPart_showIncludesTo_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetDirection(false);
            }
        }
    };
    fIncludesToAction.setToolTipText(IBMessages.IBViewPart_showIncludesTo_tooltip);
    CPluginImages.setImageDescriptors(fIncludesToAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_RELATES_TO);

    fInactiveFilter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IBNode) {
                IBNode node = (IBNode) element;
                return node.isActiveCode();
            }
            return true;
        }
    };
    fFilterInactiveAction = new Action(IBMessages.IBViewPart_hideInactive_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            if (isChecked()) {
                fTreeViewer.addFilter(fInactiveFilter);
            } else {
                fTreeViewer.removeFilter(fInactiveFilter);
            }
        }
    };
    fFilterInactiveAction.setToolTipText(IBMessages.IBViewPart_hideInactive_tooltip);
    CPluginImages.setImageDescriptors(fFilterInactiveAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_HIDE_INACTIVE);

    fSystemFilter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IBNode) {
                IBNode node = (IBNode) element;
                return !node.isSystemInclude();
            }
            return true;
        }
    };
    fFilterSystemAction = new Action(IBMessages.IBViewPart_hideSystem_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            if (isChecked()) {
                fTreeViewer.addFilter(fSystemFilter);
            } else {
                fTreeViewer.removeFilter(fSystemFilter);
            }
        }
    };
    fFilterSystemAction.setToolTipText(IBMessages.IBViewPart_hideSystem_tooltip);
    CPluginImages.setImageDescriptors(fFilterSystemAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_HIDE_SYSTEM);

    fSorterAlphaNumeric = new ViewerComparator();
    fSorterReferencePosition = new ViewerComparator() {
        @Override
        public int category(Object element) {
            if (element instanceof IBNode) {
                return 0;
            }
            return 1;
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!(e1 instanceof IBNode)) {
                if (!(e2 instanceof IBNode)) {
                    return 0;
                }
                return -1;
            }
            if (!(e2 instanceof IBNode)) {
                return 1;
            }
            IBNode n1 = (IBNode) e1;
            IBNode n2 = (IBNode) e2;
            return n1.getDirectiveCharacterOffset() - n2.getDirectiveCharacterOffset();
        }
    };

    fShowFolderInLabelsAction = new Action(IBMessages.IBViewPart_showFolders_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            onShowFolderInLabels(isChecked());
        }
    };
    fShowFolderInLabelsAction.setToolTipText(IBMessages.IBViewPart_showFolders_tooltip);
    fNextAction = new Action(IBMessages.IBViewPart_nextMatch_label) {
        @Override
        public void run() {
            onNextOrPrevious(true);
        }
    };
    fNextAction.setToolTipText(IBMessages.IBViewPart_nextMatch_tooltip);
    CPluginImages.setImageDescriptors(fNextAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_NEXT);

    fPreviousAction = new Action(IBMessages.IBViewPart_previousMatch_label) {
        @Override
        public void run() {
            onNextOrPrevious(false);
        }
    };
    fPreviousAction.setToolTipText(IBMessages.IBViewPart_previousMatch_tooltip);
    CPluginImages.setImageDescriptors(fPreviousAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_PREV);

    fRefreshAction = new Action(IBMessages.IBViewPart_refresh_label) {
        @Override
        public void run() {
            onRefresh();
        }
    };
    fRefreshAction.setToolTipText(IBMessages.IBViewPart_refresh_tooltip);
    CPluginImages.setImageDescriptors(fRefreshAction, CPluginImages.T_LCL, CPluginImages.IMG_REFRESH);

    fHistoryAction = new IBHistoryDropDownAction(this);

    // setup action bar
    // global action hooks
    IActionBars actionBars = getViewSite().getActionBars();
    actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAction);
    actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAction);
    actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(), fRefreshAction);
    actionBars.updateActionBars();

    // local toolbar
    IToolBarManager tm = actionBars.getToolBarManager();
    tm.add(fNextAction);
    tm.add(fPreviousAction);
    tm.add(new Separator());
    tm.add(fFilterSystemAction);
    tm.add(fFilterInactiveAction);
    tm.add(new Separator());
    tm.add(fIncludedByAction);
    tm.add(fIncludesToAction);
    tm.add(fHistoryAction);
    tm.add(fRefreshAction);

    // local menu
    IMenuManager mm = actionBars.getMenuManager();

    fWorkingSetFilterUI.fillActionBars(actionBars);
    mm.add(fIncludedByAction);
    mm.add(fIncludesToAction);
    mm.add(new Separator());
    mm.add(fShowFolderInLabelsAction);
    mm.add(new Separator());
    mm.add(fFilterSystemAction);
    mm.add(fFilterInactiveAction);
}

From source file:org.eclipse.cdt.internal.ui.preferences.CodeAssistAdvancedConfigurationBlock.java

License:Open Source License

private void createDefaultViewer(Composite composite, int h_span) {
    fDefaultViewer = CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER);
    Table table = fDefaultViewer.getTable();
    table.setHeaderVisible(true);/*from   ww  w. j a v a 2  s  .c  o m*/
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, h_span, 1));

    TableColumn nameColumn = new TableColumn(table, SWT.NONE);
    nameColumn.setText(
            PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_category_column_title);
    nameColumn.setResizable(false);
    TableColumn keyColumn = new TableColumn(table, SWT.NONE);
    keyColumn.setText(
            PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_keybinding_column_title);
    keyColumn.setResizable(true);

    fDefaultViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            boolean checked = event.getChecked();
            ModelElement element = (ModelElement) event.getElement();
            element.setInDefaultCategory(checked);
        }
    });

    fDefaultViewer.setContentProvider(new ArrayContentProvider());

    DefaultTableLabelProvider labelProvider = new DefaultTableLabelProvider();
    fDefaultViewer.setLabelProvider(labelProvider);
    fDefaultViewer.setInput(fModel.elements);
    fDefaultViewer.setComparator(new ViewerComparator()); // sort alphabetically

    final int ICON_AND_CHECKBOX_WITH = 50;
    final int HEADER_MARGIN = 20;
    int minNameWidth = computeWidth(table, nameColumn.getText()) + HEADER_MARGIN;
    int minKeyWidth = computeWidth(table, keyColumn.getText()) + HEADER_MARGIN;
    for (int i = 0; i < fModel.elements.size(); i++) {
        minNameWidth = Math.max(minNameWidth,
                computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 0))
                        + ICON_AND_CHECKBOX_WITH);
        minKeyWidth = Math.max(minKeyWidth,
                computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 1)));
    }

    nameColumn.setWidth(minNameWidth);
    keyColumn.setWidth(minKeyWidth);
}

From source file:org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigurationBlock.java

License:Open Source License

/**
 * Creates the "working set configurations" pane in the upper part of the sash form.
 * //from w ww .j a va 2s  .  com
 * @param parent
 *            the parent composite
 * @param layoutFactory
 *            a layout-factory to use to lay out the composite in a grid, possibly pre-configured. Its use
 *            is optional
 * 
 * @return the working set configurations pane
 */
protected Composite createWorkingSetConfigsArea(Composite parent, GridLayoutFactory layoutFactory) {
    Composite result = new Composite(parent, SWT.NONE);
    layoutFactory.numColumns(2).applyTo(result);

    GridDataFactory layoutDataFactory = GridDataFactory.fillDefaults();

    Label label = new Label(result, SWT.NONE);
    label.setText(WorkingSetMessages.WSConfigDialog_wsTree_label);
    layoutDataFactory.span(2, 1).applyTo(label);

    controller = new WorkingSetConfigsController(workspace, initialSelection);

    TreeViewer tree = new TreeViewer(result);
    layoutDataFactory.span(1, 1).align(SWT.FILL, SWT.FILL).grab(true, true).hint(250, SWT.DEFAULT)
            .applyTo(tree.getControl());

    tree.setContentProvider(new WSConfigsContentProvider());
    tree.setLabelProvider(new WSConfigsLabelProvider(tree));
    controller.setTreeViewer(tree);

    tree.setComparator(new ViewerComparator() {
        @Override
        public int category(Object element) {
            if (element instanceof IWorkingSetConfiguration.ISnapshot) {
                IWorkingSetConfiguration.ISnapshot config = (IWorkingSetConfiguration.ISnapshot) element;
                if (config.isReadOnly()) {
                    return 0;
                }
            }
            return 1;
        }
    });

    tree.getTree().getAccessible().addAccessibleListener(new AccessibleAdapter() {
        @Override
        public void getName(AccessibleEvent e) {
            e.result = WorkingSetMessages.WSConfigDialog_wsTree_accessible_name;
        }
    });

    Composite buttons = new Composite(result, SWT.NONE);
    layoutDataFactory.grab(false, false).hint(SWT.DEFAULT, SWT.DEFAULT).applyTo(buttons);
    layoutFactory.numColumns(1).extendedMargins(0, 0, 0, 0).applyTo(buttons);

    Button button = new Button(buttons, SWT.PUSH);
    layoutDataFactory.align(SWT.FILL, SWT.BEGINNING).applyTo(button);
    button.setText(WorkingSetMessages.WSConfigDialog_add_label);
    controller.setAddButton(button);

    button = new Button(buttons, SWT.PUSH);
    layoutDataFactory.applyTo(button);
    button.setText(WorkingSetMessages.WSConfigDialog_remove_label);
    controller.setRemoveButton(button);

    button = new Button(buttons, SWT.PUSH);
    layoutDataFactory.applyTo(button);
    button.setText(WorkingSetMessages.WSConfigDialog_rename_label);
    controller.setRenameButton(button);

    button = new Button(buttons, SWT.PUSH);
    layoutDataFactory.applyTo(button);
    button.setText(WorkingSetMessages.WSConfigDialog_activate_label);
    controller.setActivateButton(button);

    button = new Button(buttons, SWT.PUSH);
    layoutDataFactory.applyTo(button);
    button.setText(WorkingSetMessages.WSConfigDialog_build_label);
    controller.setBuildButton(button);

    return result;
}

From source file:org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigurationBlock.java

License:Open Source License

/**
 * Creates the "project configurations" pane in the lower part of the sash form.
 * /*  ww  w. j a va  2  s . c o m*/
 * @param parent
 *            the parent composite
 * @param layoutFactory
 *            a layout-factory to use to lay out the composite in a grid, possibly pre-configured. Its use
 *            is optional
 * 
 * @return the project configurations pane
 */
protected Composite createProjectConfigsArea(Composite parent, GridLayoutFactory layoutFactory) {
    Composite result = new Composite(parent, SWT.NONE);
    layoutFactory.numColumns(1).applyTo(result);

    GridDataFactory layoutDataFactory = GridDataFactory.fillDefaults();

    Label label = new Label(result, SWT.NONE);
    label.setText(WorkingSetMessages.WSConfigDialog_projTree_label);
    layoutDataFactory.applyTo(label);

    ProjectConfigsController projectsController = new ProjectConfigsController();
    CheckboxTreeViewer tree = new CheckboxTreeViewer(result);
    layoutDataFactory.span(1, 1).align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(tree.getControl());

    controller.setProjectConfigsController(projectsController);
    projectsController.setWorkingSetConfigurationsController(controller);

    projectsController.setTreeViewer(tree);

    tree.setComparator(new ViewerComparator());

    tree.getTree().getAccessible().addAccessibleListener(new AccessibleAdapter() {
        @Override
        public void getName(AccessibleEvent e) {
            e.result = WorkingSetMessages.WSConfigDialog_projTree_accessible_name;
        }
    });

    return result;
}

From source file:org.eclipse.debug.internal.ui.preferences.StringVariablePreferencePage.java

License:Open Source License

/**
 * Creates and configures the table containing launch configuration variables
 * and their associated value./*ww w .  j a v  a2  s. c  o m*/
 */
private void createTable(Composite parent) {
    Font font = parent.getFont();
    // Create table composite
    Composite tableComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.numColumns = 1;
    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.heightHint = 150;
    gridData.widthHint = 400;
    tableComposite.setLayout(layout);
    tableComposite.setLayoutData(gridData);
    tableComposite.setFont(font);
    // Create table
    variableTable = new TableViewer(tableComposite,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
    Table table = variableTable.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setFont(font);
    gridData = new GridData(GridData.FILL_BOTH);
    variableTable.getControl().setLayoutData(gridData);
    variableTable.setContentProvider(variableContentProvider);
    variableTable.setColumnProperties(variableTableColumnProperties);
    variableTable.addFilter(new VariableFilter());
    variableTable.setComparator(new ViewerComparator() {
        public int compare(Viewer iViewer, Object e1, Object e2) {
            if (e1 == null) {
                return -1;
            } else if (e2 == null) {
                return 1;
            } else {
                return ((VariableWrapper) e1).getName().compareToIgnoreCase(((VariableWrapper) e2).getName());
            }
        }
    });

    variableTable.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleTableSelectionChanged(event);
        }
    });

    variableTable.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!variableTable.getSelection().isEmpty()) {
                handleEditButtonPressed();
            }
        }
    });
    variableTable.getTable().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                handleRemoveButtonPressed();
            }
        }
    });

    for (int i = 0; i < variableTableColumnHeaders.length; i++) {
        TableColumn tc = new TableColumn(table, SWT.NONE, i);
        tc.setResizable(variableTableColumnLayouts[i].resizable);
        tc.setText(variableTableColumnHeaders[i]);
    }

    // Try restoring column widths from preferences, if widths aren't stored, init columns to default
    if (!restoreColumnWidths()) {
        restoreDefaultColumnWidths();
    }

    variableTable.setInput(getVariableManager());
    variableTable.setLabelProvider(new SimpleVariableLabelProvider());
}

From source file:org.eclipse.debug.internal.ui.sourcelookup.AddSourceContainerDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {

    getShell().setText(SourceLookupUIMessages.addSourceLocation_title);
    setTitle(SourceLookupUIMessages.addSourceLocation_description);
    setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_LOC_WIZ));
    setMessage(SourceLookupUIMessages.AddSourceContainerDialog_select_source_container);

    Composite comp = (Composite) super.createDialogArea(parent);
    GridData gd = new GridData(GridData.FILL_BOTH);
    GridLayout topLayout = new GridLayout();
    topLayout.numColumns = 1;/*from   w w  w  .j  ava2  s . c o  m*/
    comp.setLayout(topLayout);
    comp.setLayoutData(gd);

    ISourceContainerType[] types = filterTypes(
            DebugPlugin.getDefault().getLaunchManager().getSourceContainerTypes());

    fViewer = new TableViewer(comp, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE);
    final Table table = fViewer.getTable();
    gd = new GridData(GridData.FILL_BOTH);
    table.setLayoutData(gd);

    fViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });

    fViewer.setLabelProvider(new SourceContainerLabelProvider());
    fViewer.setContentProvider(new ArrayContentProvider());
    fViewer.setComparator(new ViewerComparator());
    fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (!selection.isEmpty()) {
                ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection) selection)
                        .getFirstElement();
                setMessage(type.getDescription());
                getButton(IDialogConstants.OK_ID).setEnabled(true);
            } else {
                getButton(IDialogConstants.OK_ID).setEnabled(false);
                setMessage(SourceLookupUIMessages.AddSourceContainerDialog_select_source_container);
            }
        }
    });
    if (types.length != 0) {
        fViewer.setInput(types);
    }
    Dialog.applyDialogFont(comp);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(),
            IDebugHelpContextIds.ADD_SOURCE_CONTAINER_DIALOG);
    return comp;
}

From source file:org.eclipse.e4.core.internal.contexts.debug.ui.LeaksDialog.java

License:Open Source License

public LeaksDialog(Shell parent) {
    super(parent, new LabelProvider(), new ListenerContentProvider());
    setComparator(new ViewerComparator());
    setTitle(ContextMessages.diffDialogTitle);
    setMessage(ContextMessages.diffDialogMessage);
}

From source file:org.eclipse.e4.demo.simpleide.internal.datatransfer.WizardProjectsImportPage.java

License:Open Source License

/**
 * Create the checkbox list for the found projects.
 * // w w  w . j  av a  2s  .  c  o m
 * @param workArea
 */
private void createProjectsList(Composite workArea) {

    Label title = new Label(workArea, SWT.NONE);
    title.setText(messsagesLookup.WizardProjectsImportPage_ProjectsListTitle());

    Composite listComposite = new Composite(workArea, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = false;
    listComposite.setLayout(layout);

    listComposite.setLayoutData(
            new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH));

    projectsList = new CheckboxTreeViewer(listComposite, SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = new PixelConverter(projectsList.getControl()).convertWidthInCharsToPixels(25);
    gridData.heightHint = new PixelConverter(projectsList.getControl()).convertHeightInCharsToPixels(10);
    projectsList.getControl().setLayoutData(gridData);
    projectsList.setContentProvider(new ITreeContentProvider() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java
         * .lang.Object)
         */
        public Object[] getChildren(Object parentElement) {
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IStructuredContentProvider#getElements
         * (java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return getProjectRecords();
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java
         * .lang.Object)
         */
        public boolean hasChildren(Object element) {
            return false;
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java
         * .lang.Object)
         */
        public Object getParent(Object element) {
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {

        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse
         * .jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });

    projectsList.setLabelProvider(new ProjectLabelProvider());

    projectsList.addCheckStateListener(new ICheckStateListener() {
        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged
         * (org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            ProjectRecord element = (ProjectRecord) event.getElement();
            if (element.hasConflicts) {
                projectsList.setChecked(element, false);
            }
            setPageComplete(projectsList.getCheckedElements().length > 0);
        }
    });

    projectsList.setInput(this);
    projectsList.setComparator(new ViewerComparator());
    createSelectionButtons(listComposite);
}