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:at.bestsolution.eclipse.properties.PropertyContentOutlinePage.java

License:Open Source License

private void setSorted(boolean sorted) {
    // FIXME We should delay until visible!
    if (sorted) {
        getTreeViewer().setComparator(new ViewerComparator() {
            @Override/*from w ww . j  av  a2  s  . c  om*/
            public int compare(Viewer viewer, Object e1, Object e2) {
                if (e1 instanceof PropertyGroup && e2 instanceof PropertyGroup) {
                    return ((PropertyGroup) e1).name.compareTo(((PropertyGroup) e2).name);
                } else if (e1 instanceof Property && e2 instanceof Property) {
                    String k1 = ((Property) e1).pair.key.replaceAll(groupRegexp, "");
                    String k2 = ((Property) e2).pair.key.replaceAll(groupRegexp, "");
                    return k1.compareTo(k2);
                } else if (e1 instanceof Property) {
                    return -1;
                } else if (e2 instanceof Property) {
                    return -1;
                }
                return super.compare(viewer, e1, e2);
            }
        });
    } else {
        getTreeViewer().setComparator(null);
    }
}

From source file:at.bitandart.zoubek.mervin.patchset.history.PatchSetHistoryView.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent, EModelService modelService, MPart part) {

    syncMenuAndToolbarItemState(modelService, part);

    initializeColors();//  www.j a va  2s.co  m
    highlightStyler = new HighlightStyler(display);

    mainPanel = new Composite(parent, SWT.NONE);
    mainPanel.setLayout(new GridLayout());

    // progress information panel

    progressPanel = new ProgressPanel(mainPanel, SWT.BORDER);
    progressPanel.setBackground(progressBackgroundColor);
    progressPanel.setForeground(progressForegroundColor);
    progressPanel.setVisible(false);
    progressPanel.setLayout(new GridLayout());
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
    gridData.exclude = true;
    progressPanel.setLayoutData(gridData);

    // initialize tree viewer

    historyTreeViewer = new TreeViewer(mainPanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    historyTreeViewer.setComparator(new ViewerComparator());
    historyTreeViewer.setContentProvider(new PatchSetHistoryContentProvider());
    historyTreeViewer.addSelectionChangedListener(new HighlightSelectionListener(this));
    Tree histroryTree = historyTreeViewer.getTree();
    histroryTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    histroryTree.setLinesVisible(false);
    histroryTree.setHeaderVisible(true);
    histroryTree.addMouseTrackListener(new HighlightHoveredTreeItemMouseTracker(this));

    // set up all columns of the tree

    labelColumn = new TreeViewerColumn(historyTreeViewer, SWT.NONE);
    labelColumn.getColumn().setResizable(true);
    labelColumn.getColumn().setMoveable(true);
    labelColumn.getColumn().setText("Diff");
    labelColumn.getColumn().setWidth(400);

    DiffNameColumnLabelProvider labelColumnLabelProvider = new DiffNameColumnLabelProvider();
    labelColumn.setLabelProvider(labelColumnLabelProvider);
    labelColumn.getColumn().addSelectionListener(
            new ThreeWayObjectTreeViewerComparator(historyTreeViewer, labelColumn, labelColumnLabelProvider));

    viewInitialized = true;

    // refresh the viewer highlights if highlighting is requested
    highlightService.addHighlightServiceListener(new IReviewHighlightServiceListener() {

        @Override
        public void elementRemoved(ModelReview review, Object element) {

            historyTreeViewer.refresh();

        }

        @Override
        public void elementAdded(ModelReview review, Object element) {

            historyTreeViewer.refresh();

        }
    });
}

From source file:at.bitandart.zoubek.mervin.review.ReviewExplorer.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent, EModelService modelService, MPart part) {

    syncMenuAndToolbarItemState(modelService, part);

    highlightStyler = new HighlightStyler(display);

    mainPanel = new Composite(parent, SWT.NONE);
    mainPanel.setLayout(new GridLayout());

    // initialize tree viewer

    reviewTreeViewer = new TreeViewer(mainPanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    reviewTreeViewer.setComparator(new ViewerComparator());
    reviewTreeViewer.setContentProvider(new ModelReviewContentProvider());
    reviewTreeViewer.addSelectionChangedListener(new HighlightSelectionListener(this) {

        @Override/*from  w  w w.ja  v a 2  s  . c  o  m*/
        public void selectionChanged(SelectionChangedEvent event) {

            super.selectionChanged(event);
            ISelection selection = event.getSelection();
            selectionService.setSelection(selection);
        }
    });

    Tree reviewTree = reviewTreeViewer.getTree();
    reviewTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    reviewTree.setLinesVisible(false);
    reviewTree.setHeaderVisible(true);
    reviewTree.addMouseTrackListener(new HighlightHoveredTreeItemMouseTracker(this));

    // set up all columns of the tree

    // main label column
    TreeViewerColumn labelColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    labelColumn.getColumn().setResizable(true);
    labelColumn.getColumn().setMoveable(true);
    labelColumn.getColumn().setText("Element");
    labelColumn.getColumn().setWidth(200);
    ModelReviewExplorerMainColumnLabelProvider labelColumnLabelProvider = new ModelReviewExplorerMainColumnLabelProvider();
    labelColumn.setLabelProvider(labelColumnLabelProvider);
    labelColumn.getColumn().addSelectionListener(
            new ThreeWayObjectTreeViewerComparator(reviewTreeViewer, labelColumn, labelColumnLabelProvider));

    // change count column
    TreeViewerColumn changeCountColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    changeCountColumn.getColumn().setResizable(true);
    changeCountColumn.getColumn().setMoveable(false);
    changeCountColumn.getColumn().setText("#C");
    changeCountColumn.getColumn().setAlignment(SWT.CENTER);
    changeCountColumn.getColumn().setToolTipText("Number of changed elements");
    ChangeCountColumnLabelProvider changeCountColumnLabelProvider = new ChangeCountColumnLabelProvider(
            reviewTreeViewer, Display.getCurrent().getSystemColor(SWT.COLOR_WHITE),
            Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
    changeCountColumn.setLabelProvider(changeCountColumnLabelProvider);
    changeCountColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            changeCountColumn, changeCountColumnLabelProvider));

    // reference count column
    TreeViewerColumn refCountColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    refCountColumn.getColumn().setResizable(true);
    refCountColumn.getColumn().setMoveable(false);
    refCountColumn.getColumn().setText("#RC");
    refCountColumn.getColumn().setAlignment(SWT.CENTER);
    refCountColumn.getColumn().setToolTipText("Number of references to the tgiven elements");
    ReferencedChangeCountColumnLabelProvider refChangeCountColumnlabelProvider = new ReferencedChangeCountColumnLabelProvider(
            reviewTreeViewer, Display.getCurrent().getSystemColor(SWT.COLOR_WHITE),
            Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
    refCountColumn.setLabelProvider(refChangeCountColumnlabelProvider);
    refCountColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            refCountColumn, refChangeCountColumnlabelProvider));

    // the resource column
    TreeViewerColumn resourceColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    resourceColumn.getColumn().setResizable(true);
    resourceColumn.getColumn().setMoveable(true);
    resourceColumn.getColumn().setText("Resource");
    resourceColumn.getColumn().setWidth(200);
    ModelReviewExplorerResourceColumnLabelProvider resourceColumnLabelProvider = new ModelReviewExplorerResourceColumnLabelProvider();
    resourceColumn.setLabelProvider(resourceColumnLabelProvider);
    resourceColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            resourceColumn, resourceColumnLabelProvider));

    // all controls updated, now update them with the given values
    viewInitialized = true;

    // refresh the viewer highlights if highlighting is requested
    highlightService.addHighlightServiceListener(new IReviewHighlightServiceListener() {

        @Override
        public void elementRemoved(ModelReview review, Object element) {

            updatesObjectToHighlight();
            reviewTreeViewer.refresh();

        }

        @Override
        public void elementAdded(ModelReview review, Object element) {

            updatesObjectToHighlight();
            reviewTreeViewer.refresh();

        }
    });

    updateValues();
}

From source file:at.spardat.xma.gui.mapper.MapperDialog.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 */// w w w. j  a  v  a  2  s  .co m
protected Control createDialogArea(Composite parent) {

    // set help
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "xmaMapper.MapperDialog");

    Composite myComposite = new Composite(parent, SWT.NULL);
    GridData gd = new GridData(GridData.FILL_BOTH);
    myComposite.setLayoutData(gd);

    FormLayout layout = new FormLayout();
    layout.marginHeight = 10;
    layout.marginWidth = 10;
    myComposite.setLayout(layout);

    FormData data;

    sashForm = new SashForm(myComposite, SWT.HORIZONTAL);

    widgetTreeW = new Tree(sashForm, SWT.BORDER | SWT.SINGLE);
    widgetTreeViewer = new MyTreeViewer(widgetTreeW);
    WidgetTreeProvider wtProv = new WidgetTreeProvider();
    WidgetTreeProvider.setShowLeftAttachSep(showSepLabels);
    widgetTreeViewer.setLabelProvider(wtProv);
    widgetTreeViewer.setContentProvider(wtProv);
    widgetTreeViewer.setInput(xmaC_);
    widgetTreeViewer.expandAll();
    widgetTreeLabel = new Label(myComposite, SWT.NULL);

    relArea = new Canvas(sashForm, SWT.NULL);

    bdTree = new Tree(sashForm, SWT.BORDER | SWT.MULTI);
    bdTreeViewer = new MyTreeViewer(bdTree);
    BDTreeProvider bdTreeProvider = new BDTreeProvider();
    bdTreeViewer.setLabelProvider(bdTreeProvider);
    bdTreeViewer.setContentProvider(bdTreeProvider);
    bdTreeViewer.setInput(mdlRoot_);
    bdTreeViewer.expandAll();
    bdTreeLabel = new Label(myComposite, SWT.NULL);
    bdTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            stateChanged();
        }
    });

    newBDW = new Button(myComposite, SWT.PUSH | SWT.CENTER);
    bdDeleteW = new Button(myComposite, SWT.PUSH | SWT.CENTER);
    upW = new Button(myComposite, SWT.PUSH | SWT.CENTER);
    downW = new Button(myComposite, SWT.PUSH | SWT.CENTER);

    separator = new Label(myComposite, SWT.SEPARATOR | SWT.HORIZONTAL);

    chkShowSepLabels = new Button(myComposite, SWT.CHECK | SWT.LEFT);
    chkorder = new Button(myComposite, SWT.CHECK | SWT.LEFT);

    widgetTreeLabel.setText("Widgets:");
    bdTreeLabel.setText("Attributes:");
    data = new FormData();
    data.right = new FormAttachment(100, 0);
    bdTreeLabel.setLayoutData(data);

    data = new FormData();
    data.left = new FormAttachment(0, 0);
    data.right = new FormAttachment(100, 0);
    data.top = new FormAttachment(widgetTreeLabel, 5);
    data.bottom = new FormAttachment(newBDW, -5, SWT.TOP);
    sashForm.setLayoutData(data);
    sashForm.setWeights(new int[] { 48, 22, 30 });
    sashForm.setLayout(new FormLayout());

    downW.setText("Down");
    data = new FormData();
    //data.width = 70;
    data.right = new FormAttachment(100, 0);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    downW.setLayoutData(data);
    downW.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            down_Selected();
        }
    });

    upW.setText("Up");
    data = new FormData();
    //data.width = 70;
    data.right = new FormAttachment(downW, -5, SWT.LEFT);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    upW.setLayoutData(data);
    upW.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            up_Selected();
        }
    });

    newBDW.setText("New...");
    data = new FormData();
    data.width = 70;
    data.right = new FormAttachment(upW, -5, SWT.LEFT);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    newBDW.setLayoutData(data);
    newBDW.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            newBD_Selected();
        }
    });

    bdDeleteW.setText("Delete");
    data = new FormData();
    data.width = 70;
    data.right = new FormAttachment(newBDW, -5, SWT.LEFT);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    bdDeleteW.setLayoutData(data);
    bdDeleteW.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            deleteBD_Selected();
        }
    });

    // separator
    data = new FormData();
    data.left = new FormAttachment(0, 0);
    data.right = new FormAttachment(100, 0);
    data.bottom = new FormAttachment(100, 0);
    separator.setLayoutData(data);

    // chkbox for seperator labels
    chkShowSepLabels.setText("Show Sep.leftAttach");
    chkShowSepLabels.setToolTipText("Show to which seperator the widgets are left attached");
    data = new FormData();
    data.width = 130;
    data.left = new FormAttachment(0, 0);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    chkShowSepLabels.setLayoutData(data);
    chkShowSepLabels.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (showSepLabels) {
                showSepLabels = false;
            } else {
                showSepLabels = true;
            }
            WidgetTreeProvider.setShowLeftAttachSep(showSepLabels);
            widgetTreeViewer.refresh(true);
        }
    });

    // chkbox for wtree in lexical order
    chkorder.setText("Order widgets");
    chkorder.setToolTipText("Show the widgets inside each hierachical group in lexical order");
    data = new FormData();
    data.width = 100;
    data.left = new FormAttachment(chkShowSepLabels, 5, SWT.RIGHT);
    data.bottom = new FormAttachment(separator, -5, SWT.TOP);
    chkorder.setLayoutData(data);
    chkorder.addSelectionListener(new SelectionAdapter() {
        private ViewerComparator myViewerComperator = new ViewerComparator() {
            Comparator comp = new Comparator() {
                public int compare(Object o1, Object o2) {
                    String s1 = ((String) o1).substring(0, ((String) o1).indexOf(" : "));
                    String s2 = ((String) o2).substring(0, ((String) o2).indexOf(" : "));
                    if (s1 == null)
                        s1 = "";
                    if (s2 == null)
                        s2 = "";
                    return s1.compareToIgnoreCase(s2);
                }
            };

            protected Comparator getComparator() {
                return comp;
            }
        };

        public void widgetSelected(SelectionEvent e) {
            if (showWTreeOrdered) {
                showWTreeOrdered = false;
                widgetTreeViewer.setComparator(null);
            } else {
                showWTreeOrdered = true;
                widgetTreeViewer.setComparator(myViewerComperator);
            }
            widgetTreeViewer.refresh(true);
        }
    });

    mapGraphics_ = new TreeMapGraphics(widgetTreeW, relArea, bdTree, this);

    //        tabOrder = new Control[3];
    //        tabOrder[1] = newBDW;
    //        tabOrder[2] = bdDeleteW;
    //        myComposite.setTabList (tabOrder);

    /**
     * dnd support
     */
    widgetTreeViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK,
            new Transfer[] { TextTransfer.getInstance() }, new WidgetTreeDragSource());

    bdTreeViewer.addDropSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK,
            new Transfer[] { TextTransfer.getInstance() }, new BDTreeDropTarget());

    bdTreeViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK,
            new Transfer[] { TextTransfer.getInstance() }, new BDTreeDragSource());

    widgetTreeViewer.addDropSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK,
            new Transfer[] { TextTransfer.getInstance() }, new WidgetTreeDropTarget());

    // register selection listener on the widget tree
    widgetTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            widgetTreeSelectionChanged(event);
        }
    });

    // register selection listener on the business data tree
    bdTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            bdTreeSelectionChanged(event);
        }
    });

    return myComposite;
}

From source file:au.gov.ga.earthsci.application.handlers.ShowPreferencesHandler.java

License:Apache License

@Execute
public void execute(IEclipseContext context, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell)
        throws InvocationTargetException, InterruptedException {
    PreferenceManager pm = PreferenceUtil.createLegacyPreferenceManager(context, registry);
    PreferenceDialog dialog = new PreferenceDialog(shell, pm);
    dialog.setPreferenceStore(//  w w w. j  ava 2s. c  om
            new ScopedPreferenceStore(InstanceScope.INSTANCE, PreferenceConstants.QUALIFIER_ID));
    dialog.create();
    dialog.getTreeViewer().setComparator(new ViewerComparator());
    dialog.getTreeViewer().expandAll();
    dialog.open();
}

From source file:cc.warlock.rcp.prefs.VariablesPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    createProfileDropDown(parent);/*from  w  ww  .j  a  v  a  2  s  . c  o  m*/

    Composite main = new Composite(parent, SWT.NONE);
    main.setLayout(new GridLayout(2, false));

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

    new Label(filterComposite, SWT.NONE).setText("Filter: ");
    filterText = new Text(filterComposite, SWT.BORDER);
    filterText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            variableTable.refresh();
        }
    });
    filterText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    new Label(main, SWT.NONE);

    variableTable = new TableViewer(main, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);

    TableViewerColumn varName = new TableViewerColumn(variableTable, SWT.NONE);
    varName.getColumn().setWidth(200);
    varName.getColumn().setText("Variable Name");
    varName.setEditingSupport(new TextEditingSupport(variableTable) {
        protected Object getValue(Object element) {
            return ((Variable) element).getIdentifier();
        }

        protected void setValue(Object element, Object value) {
            ((Variable) element).setIdentifier(value.toString());
            variableTable.refresh(element);
        }
    });

    TableViewerColumn value = new TableViewerColumn(variableTable, SWT.NONE);
    value.getColumn().setWidth(150);
    value.getColumn().setText("Value");
    value.setEditingSupport(new TextEditingSupport(variableTable) {
        protected Object getValue(Object element) {
            return ((Variable) element).getValue();
        }

        protected void setValue(Object element, Object value) {
            ((Variable) element).setValue(value.toString());
            variableTable.refresh(element);
        }
    });
    variableTable.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
    variableTable.getTable().setHeaderVisible(true);
    variableTable.setUseHashlookup(true);
    variableTable.setContentProvider(ArrayContentProvider.getInstance());
    variableTable.setLabelProvider(new VariableLabelProvider());
    variableTable.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            Variable var = (Variable) element;

            if (filterText.getText().equals(""))
                return true;

            return (var.getIdentifier().toLowerCase().contains(filterText.getText().toLowerCase())
                    || var.getValue().toLowerCase().contains(filterText.getText().toLowerCase()));
        }
    });
    variableTable.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            Variable v1 = (Variable) e1;
            Variable v2 = (Variable) e2;
            return v1.getIdentifier().compareTo(v2.getIdentifier());
        }
    });

    variableTable.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (variableTable.getSelection().isEmpty()) {
                currentVariable = null;
                removeButton.setEnabled(false);
            } else {
                currentVariable = (Variable) ((IStructuredSelection) variableTable.getSelection())
                        .getFirstElement();
                removeButton.setEnabled(true);
            }
        }
    });

    int listHeight = variableTable.getTable().getItemHeight() * 8;
    Rectangle trim = variableTable.getTable().computeTrim(0, 0, 0, listHeight);
    GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
    data.heightHint = trim.height;

    variableTable.getTable().setLayoutData(data);

    Composite buttonsComposite = new Composite(main, SWT.NONE);
    buttonsComposite.setLayout(new GridLayout(1, true));
    buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));

    Button addButton = new Button(buttonsComposite, SWT.PUSH);
    addButton.setText("Add Variable");
    addButton.setImage(WarlockSharedImages.getImage(WarlockSharedImages.IMG_ADD));
    addButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            addVariableSelected();
        }
    });
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    removeButton = new Button(buttonsComposite, SWT.PUSH);
    removeButton.setText("Remove Variable");
    removeButton.setImage(WarlockSharedImages.getImage(WarlockSharedImages.IMG_REMOVE));
    removeButton.setEnabled(false);
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            removeVariableSelected();
        }
    });
    removeButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    /*for (IVariable var : settings.getAllVariables())
    {
       if (var instanceof Variable) {
    variables.add(new Variable((Variable)var));
       }
    }*/

    updateData();

    return main;
}

From source file:ch.elexis.core.ui.dialogs.OrderImportDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite mainArea = new Composite(parent, SWT.NONE);
    mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    mainArea.setLayout(new GridLayout());

    Composite scannerArea = new Composite(mainArea, SWT.NONE);
    scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    scannerArea.setLayout(new GridLayout());

    Group scannerGroup = new Group(scannerArea, SWT.NONE);
    scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    scannerGroup.setLayout(new GridLayout(4, false));
    scannerGroup.setText("Einlesen mit Barcode-Scanner");

    diffSpinner = new Spinner(scannerGroup, SWT.NONE);
    diffSpinner.setMinimum(DIFF_SPINNER_MIN);
    diffSpinner.setSelection(DIFF_SPINNER_DEFAULT);

    Label eanLabel = new Label(scannerGroup, SWT.NONE);
    eanLabel.setText("EAN:");
    eanText = new ElexisText(scannerGroup, SWT.NONE);
    eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

    eanText.addKeyListener(new KeyAdapter() {
        @Override//ww  w . j  a  va  2  s.  c o  m
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.CR) {
                applyScanner();
            }
        }
    });

    Button button = new Button(scannerGroup, SWT.PUSH);
    button.setText("bernehmen");
    button.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            applyScanner();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            // do nothing
        }
    });

    Composite tableArea = new Composite(mainArea, SWT.NONE);
    tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tableArea.setLayout(new GridLayout());

    viewer = new TableViewer(tableArea, SWT.FULL_SELECTION);
    Table table = viewer.getTable();
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    table.setLinesVisible(true);
    table.setHeaderVisible(true);

    verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN);
    boldFont = createBoldFont(table.getFont());

    final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer,
            new FocusCellOwnerDrawHighlighter(viewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && (event.keyCode == SWT.CR || event.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TableViewerEditor.create(viewer, mgr, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    createViewerColumns();

    viewer.setContentProvider(new ViewerContentProvider());
    viewer.setInput(this);
    viewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            Artikel a1 = ((OrderElement) e1).getArticle();
            Artikel a2 = ((OrderElement) e2).getArticle();

            if (a1 != null && a2 != null) {
                return a1.getName().compareTo(a2.getName());
            }
            return 0;
        };
    });

    Composite cButtons = new Composite(mainArea, SWT.NONE);
    cButtons.setLayout(new GridLayout(2, false));
    final Button clickAllButton = new Button(cButtons, SWT.PUSH);
    clickAllButton.setText(ALLE_MARKIEREN);
    clickAllButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean bv = true;
            if (clickAllButton.getText().equals(ALLE_MARKIEREN)) {
                bv = true;
                clickAllButton.setText("Alle demarkieren");
            } else {
                bv = false;
                clickAllButton.setText(ALLE_MARKIEREN);
            }

            for (OrderElement oe : orderElements) {
                oe.setVerified(bv);
            }
            viewer.refresh(true);
        }

    });
    Button importButton = new Button(cButtons, SWT.PUSH);
    GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
    importButton.setLayoutData(gd);
    importButton.setText("Lagerbestnde anpassen");
    importButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            doImport();
        }
    });
    cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    return mainArea;
}

From source file:ch.elexis.core.ui.dialogs.SelectBestellungDialog.java

License:Open Source License

private void setComparator() {
    fTableViewer.setComparator(new ViewerComparator() {
        private TimeTool t1 = new TimeTool();
        private TimeTool t2 = new TimeTool();

        @Override//from  www  .j  a  va2  s. c  o m
        public int compare(Viewer viewer, Object b1, Object b2) {
            setTimeTool((Bestellung) b1, t1);
            setTimeTool((Bestellung) b2, t2);
            if (t1.after(t2))
                return -1;
            if (t2.after(t1))
                return 1;
            return 0;
        }

        private void setTimeTool(Bestellung bestellung, TimeTool timeTool) {
            try {
                String[] i = bestellung.getId().split(":"); //$NON-NLS-1$
                timeTool.set(i[1]);
            } catch (Exception e) {
                timeTool.set("1.1.1970");
            }
        }
    });
}

From source file:ch.hsr.ifs.cutelauncher.ui.LibReferencePage.java

License:Open Source License

public void createControl(Composite parent) {
    libProjects = getLibProjects();/*from w ww.j a v  a  2 s .  c  o m*/
    composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.grabExcessHorizontalSpace = true;
    listViewer.getTable().setLayoutData(data);

    listViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    listViewer.setContentProvider(getContentProvider());
    listViewer.setComparator(new ViewerComparator());
    listViewer.setInput(libProjects);
    listViewer.addCheckStateListener(this);
}

From source file:com.alibaba.antx.config.gui.dialog.SettingsDialog.java

License:Open Source License

private void createFilesGroup(Composite composite) {
    composite.setLayout(new FormLayout());

    // //from www. jav a 2  s. c  om
    filesViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);

    filesViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            if (((File) element).isDirectory()) {
                return Resources.getImageDescriptor("icon.folder").createImage();
            } else {
                return Resources.getImageDescriptor("icon.jar").createImage();
            }
        }

        public String getColumnText(Object element, int columnIndex) {
            return ((File) element).getAbsolutePath();
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    filesViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            return ((Collection) inputElement).toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    filesViewer.setComparator(new ViewerComparator());
    filesViewer.setInput(files);

    // ?
    Button addFolder = new Button(composite, SWT.NULL);
    Button addFile = new Button(composite, SWT.NULL);
    Button remove = new Button(composite, SWT.NULL);

    addFolder.setText(Resources.getText("dialog.settings.addFolder"));
    addFolder.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            addFolder();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    addFile.setText(Resources.getText("dialog.settings.addFile"));
    addFile.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            addFile();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    remove.setText(Resources.getText("dialog.settings.remove"));
    remove.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            remove();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    // layout
    FormData data;

    data = new FormData(400, 300);
    data.top = new FormAttachment(0, 20);
    data.left = new FormAttachment(0, 20);
    data.right = new FormAttachment(80, 0);
    data.bottom = new FormAttachment(100, -20);
    filesViewer.getControl().setLayoutData(data);

    data = new FormData();
    data.top = new FormAttachment(0, 20);
    data.left = new FormAttachment(filesViewer.getControl(), 20);
    data.right = new FormAttachment(100, -20);
    addFolder.setLayoutData(data);

    data = new FormData();
    data.top = new FormAttachment(addFolder, 5);
    data.left = new FormAttachment(filesViewer.getControl(), 20);
    data.right = new FormAttachment(100, -20);
    addFile.setLayoutData(data);

    data = new FormData();
    data.top = new FormAttachment(addFile, 20);
    data.left = new FormAttachment(filesViewer.getControl(), 20);
    data.right = new FormAttachment(100, -20);
    remove.setLayoutData(data);
}