Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

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

Prototype

public TreeColumn getColumn() 

Source Link

Usage

From source file:org.openscada.ca.ui.importer.wizard.PreviewPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    final Composite wrapper = new Composite(parent, SWT.NONE);
    wrapper.setLayout(new GridLayout(1, false));

    this.viewer = new TreeViewer(wrapper, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);
    this.viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    final TableLayout layout = new TableLayout();
    this.viewer.getTree().setLayout(layout);

    TreeViewerColumn col;
    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.PreviewPage_ColFactoryText);
    layout.addColumnData(new ColumnWeightData(10));
    col.setLabelProvider(new DiffEntryLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.PreviewPage_ColConfigurationText);
    layout.addColumnData(new ColumnWeightData(20));
    col.setLabelProvider(new DiffEntryLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.PreviewPage_ColOperationText);
    layout.addColumnData(new ColumnWeightData(10));
    col.setLabelProvider(new DiffEntryLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.PreviewPage_ColDataText);
    layout.addColumnData(new ColumnWeightData(20));
    col.setLabelProvider(new DiffEntryLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.PreviewPage_ColCurrentDataText);
    layout.addColumnData(new ColumnWeightData(20));
    col.setLabelProvider(new DiffEntryLabelProvider());

    this.viewer.getTree().setHeaderVisible(true);

    this.viewer.setContentProvider(new LazyDiffEntryTreeProvider());
    this.viewer.setUseHashlookup(true);

    this.statsLabel = new Label(wrapper, SWT.NONE);
    this.statsLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    setControl(wrapper);// w  ww .j  a va2s . c  o m
}

From source file:org.openscada.da.ui.widgets.realtime.RealTimeListViewer.java

License:Open Source License

public void createControl(final Composite parent) {
    parent.addDisposeListener(new DisposeListener() {

        @Override/*from w ww .  ja  v  a2  s. c om*/
        public void widgetDisposed(final DisposeEvent e) {
            dispose();
        }
    });

    this.viewer = new TreeViewer(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);

    TreeViewerColumn col;

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Id);
    col.setLabelProvider(new ItemCellLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_State);
    col.setLabelProvider(new ItemCellLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Type);
    col.setLabelProvider(new ItemCellLabelProvider());

    col = new TreeViewerColumn(this.viewer, SWT.NONE);
    col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Value);
    col.setLabelProvider(new ItemCellLabelProvider());

    this.viewer.getTree().setHeaderVisible(true);

    final TableLayout tableLayout = new TableLayout();
    applyInitialColWidth(tableLayout);
    this.viewer.getTree().setLayout(tableLayout);

    this.viewer.setContentProvider(this.contentProvider = new ItemListContentProvider());
    this.viewer.setComparator(new ListEntryComparator());
    this.viewer.setInput(this.list);

    this.viewer.addSelectionChangedListener(this.removeAction);

    addDragSupport();
    addDropSupport();
}

From source file:org.ow2.petals.client.swt.tabs.HistoryTab.java

License:Open Source License

/**
 * Constructor./*from www. j  a  v  a 2  s. c  o m*/
 * @param parent
 * @param clientApp
 */
public HistoryTab(Composite parent, final ClientApplication clientApp) {

    // Root elements
    super(parent, SWT.NONE);
    setLayout(new GridLayout());
    setLayoutData(new GridData(GridData.FILL_BOTH));

    SashForm sashForm = new SashForm(this, SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
    sashForm.setSashWidth(5);

    // Create the bold font
    FontData[] fd = getFont().getFontData();
    fd = SwtUtils.getModifiedFontData(fd, SWT.BOLD);
    this.boldFont = new Font(getDisplay(), fd);

    // The header, with the search bar
    Composite container = new Composite(sashForm, SWT.NONE);
    container.setLayout(new GridLayout());
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    Composite subContainer = new Composite(container, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(3).applyTo(subContainer);
    subContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("The Requests that were previously sent to Petals Services.");
    final Text searchText = new Text(subContainer, SWT.SINGLE | SWT.BORDER);
    searchText.setText(SEARCH_TEXT);
    GridDataFactory.swtDefaults().grab(true, false).align(SWT.END, SWT.CENTER).hint(200, SWT.DEFAULT)
            .applyTo(searchText);

    Label l = new Label(subContainer, SWT.NONE);
    l.setImage(JFaceResources.getImage(ImageIds.SEARCH_16x16));
    GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).applyTo(l);

    // The history viewer
    this.historyViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE);
    this.historyViewer.setContentProvider(new HistoryContentProvider());

    // Columns
    TreeViewerColumn column = new TreeViewerColumn(this.historyViewer, SWT.BEGINNING);
    column.getColumn().setText("Interface Name");
    column.setLabelProvider(new HistoryFirstColumnLabelProvider(0, this.boldFont));

    column = new TreeViewerColumn(this.historyViewer, SWT.CENTER);
    column.getColumn().setText("Service Name");
    column.setLabelProvider(new HistoryFirstColumnLabelProvider(1, this.boldFont));

    column = new TreeViewerColumn(this.historyViewer, SWT.CENTER);
    column.getColumn().setText("End-point Name");
    column.setLabelProvider(new HistoryFirstColumnLabelProvider(2, this.boldFont));

    column = new TreeViewerColumn(this.historyViewer, SWT.CENTER);
    column.getColumn().setText("Time");
    column.setLabelProvider(new HistorySecondColumnLabelProvider());

    // Remaining properties
    final HistoryViewerFilter historyViewerFilter = new HistoryViewerFilter();
    this.historyViewer.addFilter(historyViewerFilter);
    this.historyViewer.setInput(PreferencesManager.INSTANCE.getHistoryDirectory());
    this.historyViewer.expandAll();

    this.historyViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    this.historyViewer.getTree().setHeaderVisible(true);
    this.historyViewer.getTree().setLinesVisible(true);

    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(30, 75, true));
    layout.addColumnData(new ColumnWeightData(30, 75, true));
    layout.addColumnData(new ColumnWeightData(30, 75, true));
    layout.addColumnData(new ColumnWeightData(10, 75, true));
    this.historyViewer.getTree().setLayout(layout);

    Link clearHistoryLink = new Link(container, SWT.NONE);
    clearHistoryLink.setText("<a>Clear All the History</a>");
    clearHistoryLink.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
    clearHistoryLink.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            SwtUtils.clearHistoryWithProgressBar(getShell(), -1, clientApp);
            refreshHistory();
        }
    });

    // The preview part
    container = new Composite(sashForm, SWT.NONE);
    GridLayoutFactory.swtDefaults().spacing(15, 5).equalWidth(true).numColumns(2).applyTo(container);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    new Label(container, SWT.NONE).setText("Quick Overview of the XML Payload");
    new Label(container, SWT.NONE).setText("The Request Properties");
    final StyledText xmlPayloadStyledText = SwtUtils.createXmlViewer(container, clientApp.getColorManager(),
            true);

    subContainer = new Composite(container, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(2).applyTo(subContainer);
    subContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label sepLabel = new Label(subContainer, SWT.HORIZONTAL | SWT.SEPARATOR);
    GridDataFactory.fillDefaults().span(2, 1).applyTo(sepLabel);

    new Label(subContainer, SWT.NONE).setText("Interface Name:");
    final Label itfNameLabel = new Label(subContainer, SWT.NONE);
    itfNameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("Service Name:");
    final Label srvNameLabel = new Label(subContainer, SWT.NONE);
    srvNameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("End-point Name:");
    final Label edptNameLabel = new Label(subContainer, SWT.NONE);
    edptNameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("Operation Name:");
    final Label opNameLabel = new Label(subContainer, SWT.NONE);
    opNameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("MEP:");
    final Label mepLabel = new Label(subContainer, SWT.NONE);
    mepLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("Properties Count:");
    final Label propsCountLabel = new Label(subContainer, SWT.NONE);
    propsCountLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("Attachments Count:");
    final Label attCountLabel = new Label(subContainer, SWT.NONE);
    attCountLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setText("Sent On:");
    final Label dateLabel = new Label(subContainer, SWT.NONE);
    dateLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    final Button loadButton = new Button(subContainer, SWT.PUSH);
    loadButton.setText("Load this Request");
    loadButton.setVisible(false);
    GridDataFactory.swtDefaults().span(2, 1).indent(0, 10).grab(true, false).align(SWT.FILL, SWT.CENTER)
            .applyTo(loadButton);
    loadButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event e) {
            clientApp.displayRequest(HistoryTab.this.shownRequest);
        }
    });

    // Define the sash weights
    sashForm.setWeights(new int[] { 50, 50 });

    // Add the listeners
    this.historyViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent e) {

            Object o = ((IStructuredSelection) e.getSelection()).getFirstElement();
            String date = null;
            RequestMessageBean req = null;
            if (o instanceof File) {
                try {
                    InputStream is = new FileInputStream((File) o);
                    Properties props = new Properties();
                    props.load(is);

                    req = RequestMessageBeanUtils.read(props);
                    date = HistoryFirstColumnLabelProvider.formatDateStr(((File) o).lastModified(), true);

                } catch (Exception e1) {
                    clientApp.log("Error while reading a history entry.", e1, Level.INFO);

                } finally {
                    HistoryTab.this.shownRequest = req;
                    loadButton.setEnabled(HistoryTab.this.shownRequest != null);
                }
            }

            if (req != null) {
                loadButton.setVisible(true);
                xmlPayloadStyledText.setText(req.getXmlPayload() != null ? req.getXmlPayload() : "");
                itfNameLabel.setText(req.getInterfaceName().getLocalPart() + " - "
                        + req.getInterfaceName().getNamespaceURI());
                edptNameLabel.setText(Utils.isEmptyString(req.getEndpointName()) ? "-" : req.getEndpointName());
                if (req.getServiceName() != null)
                    srvNameLabel.setText(req.getServiceName().getLocalPart() + " - "
                            + req.getServiceName().getNamespaceURI());
                else
                    srvNameLabel.setText("-");

                mepLabel.setText(req.getMep() != null ? req.getMep().toString() : "-");
                dateLabel.setText(date != null ? date : "-");
                propsCountLabel
                        .setText(String.valueOf(req.getProperties() != null ? req.getProperties().size() : 0));
                attCountLabel.setText(
                        String.valueOf(req.getAttachments() != null ? req.getAttachments().size() : 0));
                if (req.getOperation() != null)
                    opNameLabel.setText(
                            req.getOperation().getLocalPart() + " - " + req.getOperation().getNamespaceURI());
                else
                    opNameLabel.setText("-");

            } else {
                xmlPayloadStyledText.setText("");
                itfNameLabel.setText("");
                srvNameLabel.setText("");
                edptNameLabel.setText("");
                opNameLabel.setText("");
                mepLabel.setText("");
                propsCountLabel.setText("");
                attCountLabel.setText("");
                dateLabel.setText("");
                loadButton.setVisible(false);
            }
        }
    });

    searchText.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            searchText.selectAll();
        }
    });

    searchText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {

            String txt = searchText.getText().trim();
            if (txt.length() == 0) {
                searchText.setText(SEARCH_TEXT);
            } else {
                historyViewerFilter.setSearchText(SEARCH_TEXT.equals(txt) ? null : txt);
                HistoryTab.this.historyViewer.refresh();
            }
        }
    });

    searchText.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {

            Text text = (Text) e.widget;
            if (text.getText().equals(SEARCH_TEXT)) {
                e.doit = false;
                text.setText(String.valueOf(e.character));
                text.setSelection(1);
            }
        }
    });
}

From source file:org.pentaho.ui.xul.swt.tags.SwtTree.java

License:Open Source License

private void setupTree() {

    final Composite parentComposite = ((Composite) parentComponent.getManagedObject());
    parentComposite.addControlListener(new ControlAdapter() {
        public void controlResized(ControlEvent e) {
            resizeTreeColumn();//from   w ww  . ja va 2s .  c o m

        }
    });

    TreeViewerColumn treeCol = new TreeViewerColumn(tree, SWT.LEFT);

    treeCol.getColumn().setMoveable(true);
    treeCol.getColumn().setText("Column 3");
    treeCol.setLabelProvider(new XulTreeCellLabelProvider(this, this.domContainer));
    ColumnViewerToolTipSupport.enableFor(tree);

    tree.setCellEditors(new CellEditor[] { new XulTreeTextCellEditor(tree.getTree()) });
    tree.setCellModifier(new XulTreeColumnModifier(this));

    // tree.setLabelProvider(new XulTreeLabelProvider(this, this.domContainer));
    tree.setContentProvider(new XulTreeContentProvider(this));

    tree.setInput(this);
    tree.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    tree.setColumnProperties(new String[] { "0" });

    TreeViewerEditor.create(tree, new ColumnViewerEditorActivationStrategy(tree) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return super.isEditorActivationEvent(event);
        }

    }, ColumnViewerEditor.DEFAULT);

    tree.getTree().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            switch (event.keyCode) {
            case SWT.CTRL:
                SwtTree.this.controlDown = true;
                break;
            case SWT.ESC:
                // End editing session
                tree.getTree().deselectAll();
                setSelectedRows(new int[] {});
                break;
            }
        }

        @Override
        public void keyReleased(KeyEvent event) {
            switch (event.keyCode) {
            case SWT.CTRL:
                SwtTree.this.controlDown = false;
                break;
            }
        }

    });

    // Add a focus listener to clear the contol down selector
    tree.getTree().addFocusListener(new FocusListener() {

        public void focusGained(FocusEvent arg0) {
        }

        public void focusLost(FocusEvent arg0) {
            if (tree.getCellEditors()[0].isActivated() == false) {
                SwtTree.this.controlDown = false;
            }
        }

    });

    tree.addTreeListener(new ITreeViewerListener() {
        public void treeCollapsed(TreeExpansionEvent arg0) {
            if (arg0.getElement() instanceof XulTreeItem) {
                XulTreeItem t = (XulTreeItem) arg0.getElement();
                t.setExpanded(false);
            }
        }

        public void treeExpanded(TreeExpansionEvent arg0) {
            if (arg0.getElement() instanceof XulTreeItem) {
                XulTreeItem t = (XulTreeItem) arg0.getElement();
                t.setExpanded(true);
            }
        }
    });

    tree.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent arg0) {
            if (command != null) {
                if (elements != null) {
                    // Invoke with selected elements as parameter
                    invoke(command, new Object[] { getSelectedItems().toArray() });
                } else {
                    // Invoke with selected indexes as parameter
                    invoke(command, new Object[] { getSelectedRows() });
                }
            }
        }

    });

    tree.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // if the selection is empty clear the label
            if (event.getSelection().isEmpty()) {
                SwtTree.this.setSelectedIndex(-1);
                return;
            }
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();

                int[] selected = new int[selection.size()];
                List selectedItems = new ArrayList();

                int i = 0;
                for (Object o : selection.toArray()) {
                    XulTreeItem selectedItem = (XulTreeItem) o;
                    SearchBundle b = findSelectedIndex(new SearchBundle(), getRootChildren(), selectedItem);
                    selected[i++] = b.curPos;
                    selectedItems.add(b.selectedItem);
                }

                if (selected.length == 0) {
                    setSelectedIndex(-1);
                } else {
                    setSelectedIndex(selected[0]);
                }

                int[] selectedRows = null;
                if (SwtTree.this.controlDown && Arrays.equals(selected, selectedRows)
                        && tree.getCellEditors()[0].isActivated() == false) {
                    tree.getTree().deselectAll();
                    selectedRows = new int[] {};
                } else {
                    selectedRows = selected;
                }

                changeSupport.firePropertyChange("selectedRows", null, selectedRows);
                changeSupport.firePropertyChange("absoluteSelectedRows", null, selectedRows);
                changeSupport.firePropertyChange("selectedItems", null, selectedItems);
                currentSelectedItems = selectedItems;

                // Single selection binding.
                Object selectedItem = (selectedItems.size() > 0) ? selectedItems.get(0) : null;
                changeSupport.firePropertyChange("selectedItem", null, selectedItem);

            }
        }
    });

    sortProperties.setSortColumn(null);
    sortProperties.setSortable(false);

    for (XulComponent col : this.columns.getChildNodes()) {
        XulTreeCol xulCol = (XulTreeCol) col;

        // Only process the first column that is deemed sortActive,
        // since only one column is allowed sortActive at a time
        if (xulCol.isSortActive() && sortProperties.getSortColumn() == null) {
            sortProperties.setSortColumn(treeCol.getColumn());
            sortProperties.setSortDirection(SortDirection.valueOf(xulCol.getSortDirection()));
        }
        sortProperties.setSortMethod(treeCol.getColumn(), toGetter(xulCol.getComparatorbinding()));
    }

    TreeColumnSorter sorter = new TreeColumnSorter(tree, sortProperties);
}

From source file:org.projectusus.ui.viewer.UsusTreeViewer.java

License:Open Source License

private void createColumns(TableLayout layout, IColumnDesc<T>[] columns) {
    for (int i = 0; i < columns.length; i++) {
        IColumnDesc<T> desc = columns[i];
        UsusTreeColumn ususTreeColumn = new AnnotationReader(desc).compute();
        TreeViewerColumn column = createColumn(ususTreeColumn.align().toSwtStyle());
        column.getColumn().setText(ususTreeColumn.header());
        if (ususTreeColumn.sortable()) {
            new ColumnByLabelSorter(this, column.getColumn(), i, ususTreeColumn.numeric());
        }//  w ww  .  j  a  v a2  s  . c  o  m
        layout.addColumnData(new ColumnWeightData(ususTreeColumn.weight()));
    }
}

From source file:org.projectusus.ui.viewer.UsusTreeViewer.java

License:Open Source License

private TreeViewerColumn createColumn(int style) {
    TreeViewerColumn column = new TreeViewerColumn(this, style);
    column.getColumn().setResizable(true);
    column.getColumn().setMoveable(true);
    return column;
}

From source file:org.rssowl.ui.internal.editors.feed.NewsTableControl.java

License:Open Source License

private void showColumns(NewsColumnViewModel newModel, boolean update, boolean refresh) {
    if (fCustomTree.getControl().isDisposed())
        return;/*from  w  ww .  j  a v a  2 s  .co m*/

    /* Return early if no change is required */
    if (newModel.equals(fColumnModel))
        return;

    /* Dispose Old */
    fBlockColumMoveEvent = true;
    try {
        fCustomTree.clear();
    } finally {
        fBlockColumMoveEvent = false;
    }

    /* Keep as current */
    fColumnModel = newModel;

    /* Create Columns */
    List<NewsColumn> cols = newModel.getColumns();
    for (int i = 0; i < cols.size(); i++) {
        NewsColumn col = cols.get(i);
        TreeViewerColumn viewerColumn = new TreeViewerColumn(fViewer, SWT.LEFT);
        fCustomTree.manageColumn(viewerColumn.getColumn(), newModel.getLayoutData(col),
                col.showName() ? col.getName() : null, col.showTooltip() ? col.getName() : null, null,
                col.isMoveable(), col.isResizable());
        if (i == 0)
            viewerColumn.getColumn().setResizable(true); //Need to override this due to bug on windows
        viewerColumn.getColumn().setData(NewsColumnViewModel.COL_ID, col);

        if (newModel.getSortColumn() == col && col.showSortIndicator()) {
            fCustomTree.getControl().setSortColumn(viewerColumn.getColumn());
            fCustomTree.getControl().setSortDirection(newModel.isAscending() ? SWT.UP : SWT.DOWN);
        }
    }

    /* Remember Column Order */
    fOldColumnOrder = fCustomTree.getControl().getColumnOrder();

    /* Update Tree */
    if (update)
        fCustomTree.update();

    /* Update Sorter */
    fNewsSorter.setAscending(newModel.isAscending());
    fNewsSorter.setSortBy(newModel.getSortColumn());

    /* Set Label Provider */
    fNewsTableLabelProvider.init(newModel);
    fViewer.setLabelProvider(fNewsTableLabelProvider);

    /* Refresh if necessary */
    if (refresh)
        fViewer.refresh(true);

    /* Enable Sorting adding listeners to Columns */
    TreeColumn[] columns = fCustomTree.getControl().getColumns();
    for (final TreeColumn column : columns) {
        column.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                NewsColumn oldSortBy = fNewsSorter.getSortBy();
                NewsColumn newSortBy = (NewsColumn) column.getData(NewsColumnViewModel.COL_ID);
                boolean defaultAscending = newSortBy.prefersAscending();
                boolean ascending = (oldSortBy != newSortBy) ? defaultAscending : !fNewsSorter.isAscending();

                /* Update Model */
                fColumnModel.setSortColumn(newSortBy);
                fColumnModel.setAscending(ascending);

                /* Update Sorter */
                fNewsSorter.setSortBy(newSortBy);
                fNewsSorter.setAscending(ascending);

                /* Indicate Sort-Column in UI for Columns that have a certain width */
                if (newSortBy.showSortIndicator()) {
                    fCustomTree.getControl().setSortColumn(column);
                    fCustomTree.getControl().setSortDirection(ascending ? SWT.UP : SWT.DOWN);
                } else {
                    fCustomTree.getControl().setSortColumn(null);
                }

                /* Refresh UI */
                fViewer.refresh(false);

                /* Save Column Model in Background */
                saveColumnModelInBackground();
            }
        });

        /* Listen to moved columns */
        column.addListener(SWT.Move, new Listener() {
            public void handleEvent(Event event) {
                if (fCustomTree.getControl().isDisposed() || fBlockColumMoveEvent)
                    return;

                int[] columnOrder = fCustomTree.getControl().getColumnOrder();
                if (!Arrays.equals(fOldColumnOrder, columnOrder)) {

                    /* Remember Old */
                    fOldColumnOrder = columnOrder;

                    /* Create Column Model from Control */
                    NewsColumnViewModel currentModel = NewsColumnViewModel
                            .initializeFrom(fCustomTree.getControl());
                    currentModel.setSortColumn(fNewsSorter.getSortBy());
                    currentModel.setAscending(fNewsSorter.isAscending());

                    /* Save in case the model changed */
                    if (!currentModel.equals(fColumnModel)) {
                        fColumnModel = currentModel;
                        saveColumnModelInBackground();
                    }
                }
            }
        });
    }
}

From source file:org.spotter.eclipse.ui.viewers.ExtensionsGroupViewer.java

License:Apache License

/**
 * Create a tree viewer under the given parent. Initializes the viewer with
 * the given input. Uses SpotterExtensionsContentProvider as content
 * provider and SpotterExtensionsLabelProvider as label provider.
 * //from   ww  w.j av  a2 s  .  c  om
 * @param parent
 *            The parent composite. Must not be <code>null</code>.
 * @param input
 *            The input of the viewer. Must not be <code>null</code>.
 * 
 * @return the created table viewer
 * 
 * @see SpotterExtensionsContentProvider
 * @see SpotterExtensionsLabelProvider
 */
public static TreeViewer createTreeViewer(Composite parent, ExtensionItem input) {
    if (parent == null) {
        throw new IllegalArgumentException("parent must not be null");
    }
    if (input == null) {
        throw new IllegalArgumentException("parent must not be null");
    }
    // configure tree layout
    Composite treeExtensionsComp = new Composite(parent, SWT.NONE);
    treeExtensionsComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TreeColumnLayout treeExtensionsColLayout = new TreeColumnLayout();
    treeExtensionsComp.setLayout(treeExtensionsColLayout);
    // create tree
    Tree tree = new Tree(treeExtensionsComp, VIEWER_CONTROL_STYLE);
    tree.setHeaderVisible(false);
    tree.setLinesVisible(false);
    // create viewer for tree
    TreeViewer treeViewer = new TreeViewer(tree);
    ColumnViewerToolTipSupport.enableFor(treeViewer, ToolTip.NO_RECREATE);
    TreeViewerColumn extensionsColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    treeExtensionsColLayout.setColumnData(extensionsColumn.getColumn(), new ColumnWeightData(1));
    treeViewer.setContentProvider(new SpotterExtensionsContentProvider());
    treeViewer.setLabelProvider(new SpotterExtensionsLabelProvider());
    treeViewer.setInput(input);

    return treeViewer;
}

From source file:org.talend.mdm.repository.ui.widgets.RepositoryViewObjectCheckedWidget.java

License:Open Source License

private void installColumns() {
    treeViewer.getTree().setHeaderVisible(true);
    ////from   www  .  java2 s.  com
    TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    nameColumn.getColumn().setWidth(320);
    nameColumn.getColumn().setText(Messages.ConsistencyConflict_name);
    ILabelDecorator labelDecorator = RepositoryPlugin.getDefault().getWorkbench().getDecoratorManager()
            .getLabelDecorator();
    DecoratingStyledCellLabelProvider consistencyLabelProvider = new DecoratingStyledCellLabelProvider(
            new MDMRepositoryLabelProvider(), labelDecorator, null);
    nameColumn.setLabelProvider(consistencyLabelProvider);
    // compare result
    TreeViewerColumn resultColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    resultColumn.getColumn().setWidth(120);
    resultColumn.getColumn().setText(Messages.ConsistencyConflict_compareResult);
    resultColumn.setLabelProvider(new CompareResultColumnProvider());
    //
    localTimeColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    localTimeColumn.getColumn().setText(Messages.ConsistencyConflict_retrievalTimestamp);
    localTimeColumn.setLabelProvider(new TimeStampColumnProvider(true));
    //
    serverTimeColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    serverTimeColumn.getColumn().setText(Messages.ConsistencyConflict_serverTimestamp);
    serverTimeColumn.setLabelProvider(new TimeStampColumnProvider(false));
    //
    showTimeStampColumns(false);
}

From source file:org.talend.mdm.repository.ui.wizards.imports.viewer.TreeObjectCheckTreeViewer.java

License:Open Source License

@Override
protected void createTreeViewer(Composite itemComposite) {
    filteredCheckboxTree = new FilteredCheckboxTree(itemComposite,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION) {

        ContainerCheckedTreeViewer treeViewer;

        @Override/* ww w .  java2s.  c  o  m*/
        protected CheckboxTreeViewer doCreateTreeViewer(Composite parent, int style) {
            treeViewer = new ContainerCheckedTreeViewer(parent, style);
            contentProvider = new TreeObjectContentProvider(serverRoot);
            treeViewer.setContentProvider(contentProvider);

            installColumns();
            treeViewer.setInput(serverRoot);

            return treeViewer;
        }

        private void installColumns() {
            treeViewer.getTree().setHeaderVisible(true);
            //
            TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
            nameColumn.getColumn().setWidth(320);
            nameColumn.getColumn().setText(Messages.ConsistencyConflict_name);
            nameColumn.setLabelProvider(new ServerTreeLabelProvider());
            // compare result
            TreeViewerColumn resultColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
            resultColumn.getColumn().setWidth(120);
            resultColumn.getColumn().setText(Messages.ConsistencyConflict_compareResult);
            resultColumn.setLabelProvider(new CompareResultColumnProvider());
            //
            localTimeColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
            localTimeColumn.getColumn().setText(Messages.ConsistencyConflict_retrievalTimestamp);
            localTimeColumn.setLabelProvider(new TimeStampColumnProvider(true));
            //
            serverTimeColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
            serverTimeColumn.getColumn().setText(Messages.ConsistencyConflict_serverTimestamp);
            serverTimeColumn.setLabelProvider(new TimeStampColumnProvider(false));
            //
            showTimeStampColumns(false);
        }

        @Override
        protected boolean isNodeCollectable(TreeItem item) {
            return false;
        }

        @Override
        protected void refreshCompleted() {
            treeViewer.expandToLevel(3);
            restoreCheckedElements();
        }
    };
    filteredCheckboxTree.getViewer().addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            TreeObject node = (TreeObject) element;
            return filterRepositoryNode(node, isOverWrite);
        }
    });
}