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

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

Introduction

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

Prototype

public ColumnPixelData(int widthInPixels, boolean resizable, boolean addTrim) 

Source Link

Document

Creates a column width of the given number of pixels.

Usage

From source file:ch.acanda.eclipse.pmd.properties.RuleSetConfigurationTable.java

License:Open Source License

public RuleSetConfigurationTable(final Composite parent, final PMDPropertyPageViewModel model) {
    super(parent, SWT.NONE);
    this.model = model;

    setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2));
    final TableColumnLayout tableColumnLayout = new TableColumnLayout();
    setLayout(tableColumnLayout);//from  www .  j  av  a  2s  .c o  m

    tableViewer = CheckboxTableViewer.newCheckList(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    table = tableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE);
    SWTBotID.set(table, SWTBotID.RULESETS);

    final TableViewerColumn nameViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn nameColumn = nameViewerColumn.getColumn();
    tableColumnLayout.setColumnData(nameColumn, new ColumnWeightData(1, 50, true));
    nameColumn.setText("Name");
    nameViewerColumn.setLabelProvider(new NameLabelProvider(model));

    final TableViewerColumn typeViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn typeColumn = typeViewerColumn.getColumn();
    tableColumnLayout.setColumnData(typeColumn, new ColumnPixelData(75, true, true));
    typeColumn.setText("Type");
    typeViewerColumn.setLabelProvider(new TypeLabelProvider(model));

    final TableViewerColumn locationViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn locationColumn = locationViewerColumn.getColumn();
    tableColumnLayout.setColumnData(locationColumn, new ColumnWeightData(2, 50, true));
    locationColumn.setText("Location");
    locationViewerColumn.setLabelProvider(new LocationLabelProvider(model));

    initDataBindings();
    initListeners();
}

From source file:ch.elexis.core.ui.views.rechnung.InvoiceListView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(1, false));

    invoiceListHeaderComposite = new InvoiceListHeaderComposite(parent, SWT.NONE, this);

    Composite compositeInvoiceList = new Composite(parent, SWT.NONE);
    compositeInvoiceList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    TableColumnLayout tcl_compositeInvoiceList = new TableColumnLayout();
    compositeInvoiceList.setLayout(tcl_compositeInvoiceList);

    tableViewerInvoiceList = new TableViewer(compositeInvoiceList,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI | SWT.VIRTUAL);
    tableViewerInvoiceList.addSelectionChangedListener(selection -> {
        StructuredSelection ss = (StructuredSelection) selection.getSelection();
        if (!ss.isEmpty()) {
            InvoiceEntry firstElement = (InvoiceEntry) ss.getFirstElement();
            Rechnung load = Rechnung.load(firstElement.getInvoiceId());
            ElexisEventDispatcher.fireSelectionEvent(load);
            Fall f = load.getFall();// w ww .  jav a  2s .co  m
            if (f != null) {
                ElexisEventDispatcher.fireSelectionEvent(f);
            }
        }
    });
    Table tableInvoiceList = tableViewerInvoiceList.getTable();
    tableInvoiceList.setHeaderVisible(true);
    tableInvoiceList.setLinesVisible(false);

    tableViewerInvoiceList.getControl().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.keyCode == SWT.F5) {
                refresh();
            }
        }
    });

    TableViewerColumn tvcInvoiceNo = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnInvoiceNo = tvcInvoiceNo.getColumn();
    tblclmnInvoiceNo.setData(VIEW_FLD_INVOICENO);
    tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceNo, new ColumnPixelData(50, true, true));
    tblclmnInvoiceNo.setText(Messages.InvoiceListView_tblclmnInvoiceNo_text);
    tvcInvoiceNo.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getInvoiceNumber();
            }
            return super.getText(element);
        }
    });
    tblclmnInvoiceNo.addSelectionListener(sortAdapter);

    TableViewerColumn tvcInvoiceState = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnInvoiceState = tvcInvoiceState.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceState, new ColumnPixelData(90, true, true));
    tblclmnInvoiceState.setText(Messages.InvoiceListView_tblclmnInvoiceState_text);
    tvcInvoiceState.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getInvoiceState().getLocaleText();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn tvcInvoiceStateDateSince = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnInvoiceStateDateSince = tvcInvoiceStateDateSince.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnInvoiceStateDateSince, new ColumnPixelData(50, true, true));
    tblclmnInvoiceStateDateSince.setText(Messages.InvoiceListView_tblclmnInvoiceStateDateSince_text);
    tvcInvoiceStateDateSince.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getInvoiceStateSinceDays() + "d";
            }
            return super.getText(element);
        }
    });
    tblclmnInvoiceStateDateSince.setData(InvoiceListSqlQuery.VIEW_FLD_INVOICESTATEDATE);
    tblclmnInvoiceStateDateSince.addSelectionListener(sortAdapter);

    TableViewerColumn tvcPatient = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnPatient = tvcPatient.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnPatient, new ColumnWeightData(10, 100, true));
    tblclmnPatient.setText(Messages.InvoiceListView_tblclmnPatient_text);
    tblclmnPatient.setData(Kontakt.FLD_NAME1);
    tvcPatient.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getPatientName();
            }
            return super.getText(element);
        }
    });
    tblclmnPatient.addSelectionListener(sortAdapter);

    TableViewerColumn tvcLaw = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnLaw = tvcLaw.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnLaw, new ColumnPixelData(50, true, true));
    tblclmnLaw.setText(Messages.InvoiceListView_tblclmnLaw_text);
    tvcLaw.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getLaw();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn tvcPayerType = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnType = tvcPayerType.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnType, new ColumnPixelData(50, true, true));
    tblclmnType.setText(Messages.InvoiceListView_tblclmnType_text);
    tvcPayerType.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getPayerType();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn tvcReceiver = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnReceiver = tvcReceiver.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnReceiver, new ColumnPixelData(150, true, true));
    tblclmnReceiver.setText(Messages.InvoiceListView_tblclmnReceiver_text);
    tvcReceiver.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getReceiverLabel();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn tvcTreatmentPeriod = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnTreatmentperiod = tvcTreatmentPeriod.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnTreatmentperiod, new ColumnPixelData(100, true, true));
    tblclmnTreatmentperiod.setText(Messages.InvoiceListView_tblclmnTreatmentperiod_text);
    tblclmnTreatmentperiod.setData(Rechnung.BILL_DATE_FROM);
    tvcTreatmentPeriod.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                return ((InvoiceEntry) element).getTreatmentPeriod();
            }
            return super.getText(element);
        }
    });
    tblclmnTreatmentperiod.addSelectionListener(sortAdapter);

    TableViewerColumn tvcOpenAmount = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnOpenAmount = tvcOpenAmount.getColumn();
    tcl_compositeInvoiceList.setColumnData(tblclmnOpenAmount, new ColumnPixelData(60, true, true));
    tblclmnOpenAmount.setText(Messages.InvoiceListView_tblclmnOpenAmount_text);
    tblclmnOpenAmount.setData(VIEW_FLD_OPENAMOUNT);
    tvcOpenAmount.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                int openAmount = ((InvoiceEntry) element).getOpenAmount();
                return new Money(openAmount).getAmountAsString();
            }
            return super.getText(element);
        }
    });
    tblclmnOpenAmount.addSelectionListener(sortAdapter);

    TableViewerColumn tvcTotalAmount = new TableViewerColumn(tableViewerInvoiceList, SWT.NONE);
    TableColumn tblclmnTotalAmount = tvcTotalAmount.getColumn();
    tblclmnTotalAmount.setData(VIEW_FLD_INVOICETOTAL);
    tcl_compositeInvoiceList.setColumnData(tblclmnTotalAmount, new ColumnPixelData(60, true, true));
    tblclmnTotalAmount.setText(Messages.InvoiceListView_tblclmnTotalAmount_text);
    tvcTotalAmount.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof InvoiceEntry) {
                int totalAmountInCents = ((InvoiceEntry) element).getTotalAmount();
                return new Money(totalAmountInCents).getAmountAsString();
            }
            return super.getText(element);
        }
    });
    tblclmnTotalAmount.addSelectionListener(sortAdapter);

    invoiceListBottomComposite = new InvoiceListBottomComposite(parent, SWT.NONE, rnStellerSettings);

    invoiceListContentProvider = new InvoiceListContentProvider(tableViewerInvoiceList,
            invoiceListHeaderComposite, invoiceListBottomComposite);
    tableViewerInvoiceList.setContentProvider(invoiceListContentProvider);

    InvoiceActions invoiceActions = new InvoiceActions(tableViewerInvoiceList, getViewSite());
    IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
    tbm.add(reloadViewAction);
    tbm.add(invoiceActions.mahnWizardAction);
    tbm.add(invoiceListContentProvider.rnFilterAction);
    tbm.add(new Separator());
    tbm.add(invoiceActions.rnExportAction);

    IMenuManager viewMenuManager = getViewSite().getActionBars().getMenuManager();
    viewMenuManager.add(invoiceActions.printListeAction);
    viewMenuManager.add(invoiceActions.addAccountExcessAction);

    MenuManager menuManager = new MenuManager();
    menuManager.add(invoiceActions.rnExportAction);
    menuManager.add(invoiceActions.addPaymentAction);
    menuManager.add(invoiceActions.addExpenseAction);
    menuManager.add(invoiceActions.increaseLevelAction);
    menuManager.add(new Separator());
    menuManager.add(invoiceActions.changeStatusAction);
    menuManager.add(invoiceActions.stornoAction);

    Menu contextMenu = menuManager.createContextMenu(tableViewerInvoiceList.getTable());
    tableInvoiceList.setMenu(contextMenu);
    getSite().registerContextMenu(menuManager, tableViewerInvoiceList);
    getSite().setSelectionProvider(tableViewerInvoiceList);

    setSortOrder(tblclmnPatient, SWT.UP);

    refresh();
}

From source file:com.android.ide.eclipse.adt.internal.lint.LintList.java

License:Open Source License

private void createColumns() {
    LintColumn[] columns = getVisibleColumns();
    TableLayout layout = new TableLayout();

    for (int i = 0; i < columns.length; i++) {
        LintColumn column = columns[i];//from   ww w .j a va2 s  .c om
        TreeViewerColumn viewerColumn = null;
        TreeColumn treeColumn;
        viewerColumn = new TreeViewerColumn(mTreeViewer, SWT.NONE);
        treeColumn = viewerColumn.getColumn();
        treeColumn.setData(KEY_COLUMN, column);
        treeColumn.setResizable(true);
        treeColumn.addSelectionListener(getHeaderListener());
        if (!column.isLeftAligned()) {
            treeColumn.setAlignment(SWT.RIGHT);
        }
        viewerColumn.setLabelProvider(new LintColumnLabelProvider(column));
        treeColumn.setText(column.getColumnHeaderText());
        treeColumn.setImage(column.getColumnHeaderImage());
        IMemento columnWidths = null;
        if (mMemento != null && !mSingleFile) {
            columnWidths = mMemento.getChild(KEY_WIDTHS);
        }
        int columnWidth = getColumnWidth(column, false);
        if (columnWidths != null) {
            columnWidths.putInteger(getKey(column), columnWidth);
        }
        if (i == 0) {
            // The first column should use layout -weights- to get all the
            // remaining room
            layout.addColumnData(new ColumnWeightData(1, true));
        } else if (columnWidth < 0) {
            int defaultColumnWidth = column.getPreferredWidth();
            layout.addColumnData(new ColumnPixelData(defaultColumnWidth, true, true));
        } else {
            layout.addColumnData(new ColumnPixelData(columnWidth, true));
        }
    }
    mTreeViewer.getTree().setLayout(layout);
    mTree.layout(true);
}

From source file:com.bluexml.side.Requirements.modeler.views.internal.TableView.java

License:Open Source License

/**
 * Get the pixel data for the columns.//from  w w w  .  jav  a2  s.c o  m
 * 
 * @return ColumnPixelData[]
 */
public ColumnPixelData[] getSavedColumnData() {
    ColumnPixelData[] defaultData = getDefaultColumnLayouts();

    ColumnPixelData[] result = new ColumnPixelData[defaultData.length];
    for (int i = 0; i < defaultData.length; i++) {

        ColumnPixelData defaultPixelData = defaultData[i];
        boolean addTrim = defaultPixelData.addTrim;
        int width = defaultPixelData.width;
        // non-resizable columns are always left at their default width
        if (defaultPixelData.resizable) {
            if (memento != null) {
                Integer widthInt = memento.getInteger(TAG_COLUMN_WIDTH + i);

                if (widthInt != null && widthInt.intValue() > 0) {
                    width = widthInt.intValue();
                    addTrim = false;
                }
            }
        }

        result[i] = new ColumnPixelData(width, defaultPixelData.resizable, addTrim);
    }

    return result;
}

From source file:com.bluexml.side.Requirements.modeler.views.internal.TableView.java

License:Open Source License

/**
 * Return the column sizes from the actual widget. Returns the saved column
 * sizes if the widget hasn't been created yet or its columns haven't been
 * initialized yet. (Note that TableLayout only initializes the column
 * widths after the first layout, so it is possible for the widget to exist
 * but have all its columns incorrectly set to zero width - see bug 86329)
 * //from w  ww.j a v  a2s .c  om
 * @return ColumnPixelData
 */
public ColumnPixelData[] getColumnData() {
    ColumnPixelData[] defaultData = getSavedColumnData();

    Tree tree = getTree();

    if (tree != null && (tree.isDisposed() || tree.getBounds().width == 0)) {
        tree = null;
    }

    TreeColumn[] column = null;
    if (tree != null) {
        column = tree.getColumns();
    }

    ColumnPixelData[] result = new ColumnPixelData[defaultData.length];
    for (int i = 0; i < defaultData.length; i++) {
        ColumnPixelData defaultPixelData = defaultData[i];
        int width = defaultData[i].width;

        if (column != null && i < column.length) {
            TreeColumn col = column[i];

            if (col.getWidth() > 0) {
                width = col.getWidth();
            }
        }

        result[i] = new ColumnPixelData(width, defaultPixelData.resizable, defaultPixelData.addTrim);
    }

    return result;
}

From source file:com.bluexml.side.Requirements.modeler.views.internal.TableView.java

License:Open Source License

protected ColumnPixelData[] getDefaultColumnLayouts() {

    IField[] fields = getAllFields();//from  www .j  a va  2s .  c o  m
    ColumnPixelData[] datas = new ColumnPixelData[fields.length];

    for (int i = 0; i < fields.length; i++) {
        int width = getWidth(fields[i]);
        boolean resizable = width > 0;
        datas[i] = new ColumnPixelData(width, resizable, resizable);
    }
    return datas;
}

From source file:com.ecfeed.ui.dialogs.SelectCompatibleMethodDialog.java

License:Open Source License

/**
 * Create contents of the dialog./*from  ww  w.jav  a  2  s .com*/
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    setTitle(Messages.DIALOG_RENAME_METHOD_TITLE);
    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new GridLayout(1, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    Text infoText = new Text(container, SWT.READ_ONLY | SWT.WRAP);
    infoText.setText(Messages.DIALOG_RENAME_METHOD_MESSAGE);
    infoText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));

    Composite tableComposite = new Composite(container, SWT.NONE);
    tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    TableColumnLayout tableCompositeLayout = new TableColumnLayout();
    tableComposite.setLayout(tableCompositeLayout);

    fMethodViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    Table methodsTable = fMethodViewer.getTable();
    methodsTable.setHeaderVisible(true);
    methodsTable.setLinesVisible(true);

    TableViewerColumn methodViewerColumn = new TableViewerColumn(fMethodViewer, SWT.NONE);
    TableColumn methodColumn = methodViewerColumn.getColumn();
    tableCompositeLayout.setColumnData(methodColumn, new ColumnPixelData(150, true, true));
    methodColumn.setText("Method");
    fMethodViewer.setContentProvider(new ArrayContentProvider());
    fMethodViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((MethodNode) element).toString();
        }
    });
    fMethodViewer.setInput(fCompatibleMethods);
    fMethodViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) fMethodViewer.getSelection();
            fSelectedMethod = (MethodNode) selection.getFirstElement();
            fOkButton.setEnabled(true);
        }
    });
    fMethodViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) fMethodViewer.getSelection();
            fSelectedMethod = (MethodNode) selection.getFirstElement();
            okPressed();
        }
    });

    return area;
}

From source file:com.hangum.tadpole.rdb.core.editors.main.parameter.ParameterDialog.java

License:Open Source License

private void createTableColumn(TableViewer tableViewer, TableColumnLayout tcl_composite) {
    TableViewerColumn tvcSeq = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tcSeq = tvcSeq.getColumn();
    tcl_composite.setColumnData(tcSeq, new ColumnPixelData(30, true, true));
    tcSeq.setText("Seq");

    TableViewerColumn tvcName = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tcName = tvcName.getColumn();
    tcl_composite.setColumnData(tcName, new ColumnPixelData(80, true, true));
    tcName.setText("Param Name");

    TableViewerColumn tvcType = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tcType = tvcType.getColumn();
    tcl_composite.setColumnData(tcType, new ColumnPixelData(80, true, true));
    tcType.setText("Data Type");
    tvcType.setEditingSupport(new ParameterEditingSupport(tableViewer, 2, this.userDB));

    TableViewerColumn tvcValue = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tcValue = tvcValue.getColumn();
    tcl_composite.setColumnData(tcValue, new ColumnPixelData(150, true, true));
    tcValue.setText("Param Value");
    tvcValue.setEditingSupport(new ParameterEditingSupport(tableViewer, 3, this.userDB));
}

From source file:com.netxforge.netxstudio.callflow.screens.CallFlows.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    @SuppressWarnings("unused")
    int widgetStyle = SWT.None;
    if (ScreenUtil.isReadOnlyOperation(getOperation())) {
        widgetStyle |= SWT.READ_ONLY;//from w  w  w  .jav  a2s.  com
    }

    // Create the form.
    frmCallFlows = toolkit.createForm(this);
    frmCallFlows.setSeparatorVisible(true);

    frmCallFlows.setText(this.getScreenName());

    // frmCallFlows.getToolBarManager().add(
    // new EditCallFlowsAction("Visual Editor"));
    frmCallFlows.getToolBarManager().add(new NewCallFlowAction(""));
    frmCallFlows.getToolBarManager().update(true);
    frmCallFlows.setToolBarVerticalAlignment(SWT.TOP);

    toolkit.decorateFormHeading(frmCallFlows);
    toolkit.paintBordersFor(frmCallFlows);

    // Body of the form.
    FillLayout fl = new FillLayout();
    frmCallFlows.getBody().setLayout(fl);

    // FILTER
    Composite composite = toolkit.createComposite(frmCallFlows.getBody(), SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(2, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            ViewerFilter[] filters = callFlowTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
            callFlowTreeViewer.refresh();

            // TODO, somehow find out which objects are shown, and expand
            // for these.
            // callFlowTreeViewer.expandAll();
        }
    });

    Composite cmpCallFlows = new Composite(composite, SWT.NONE);
    toolkit.adapt(cmpCallFlows);
    toolkit.paintBordersFor(cmpCallFlows);

    cmpCallFlows.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));

    TreeColumnLayout treeColumnLayout = new TreeColumnLayout();
    cmpCallFlows.setLayout(treeColumnLayout);

    callFlowTreeViewer = new TreeViewer(cmpCallFlows, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    callFlowTree = callFlowTreeViewer.getTree();
    callFlowTree.setHeaderVisible(true);
    callFlowTree.setLinesVisible(true);

    toolkit.paintBordersFor(callFlowTree);

    callFlowTreeViewer.addFilter(new TreeSearchFilter());

    /**
     * Set a comparator to sort our columns, only sort the objects of type
     * 
     */
    callFlowTreeViewer.setComparator(new ViewerComparator() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#category(java.lang
         * .Object)
         */
        @Override
        public int category(Object element) {

            // Set categories for our objects, only interrested in Service
            // flows for now.
            if (element instanceof ServiceFlow)
                return 1;
            return super.category(element);
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse
         * .jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            int cat1 = category(e1);
            int cat2 = category(e2);

            if (cat1 != cat2) {
                return cat1 - cat2;
            }

            if (e1 instanceof ServiceFlow && e2 instanceof ServiceFlow) {
                ServiceFlow eq1 = (ServiceFlow) e1;
                ServiceFlow eq2 = (ServiceFlow) e2;

                if (eq1.getName() != null && eq2.getName() != null) {
                    return eq1.getName().compareTo(eq2.getName());
                }
            }
            return 0; // Do not compare other types.
            // return super.compare(viewer, e1, e2);
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#isSorterProperty(java
         * .lang.Object, java.lang.String)
         */
        @Override
        public boolean isSorterProperty(Object element, String property) {
            return super.isSorterProperty(element, property);
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#sort(org.eclipse.jface
         * .viewers.Viewer, java.lang.Object[])
         */
        @Override
        public void sort(Viewer viewer, Object[] elements) {
            super.sort(viewer, elements);
        }

    });

    TreeViewerColumn treeViewerColumnIndex = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnIndex = treeViewerColumnIndex.getColumn();
    treeColumnLayout.setColumnData(trclmnIndex, new ColumnPixelData(107, true, true));
    trclmnIndex.setText("Index");

    treeViewerColumnName = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnName = treeViewerColumnName.getColumn();
    treeColumnLayout.setColumnData(trclmnName, new ColumnPixelData(107, true, true));
    trclmnName.setText("Name");

    treeViewerColumnLink = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnLink = treeViewerColumnLink.getColumn();
    treeColumnLayout.setColumnData(trclmnLink, new ColumnPixelData(100, true, true));
    trclmnLink.setText("Link");

    treeViewerColumnA = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnA = treeViewerColumnA.getColumn();
    treeColumnLayout.setColumnData(trclmnA, new ColumnPixelData(100, true, true));
    trclmnA.setText("A");

    treeViewerColumnDirection = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnDirection = treeViewerColumnDirection.getColumn();
    treeColumnLayout.setColumnData(trclmnDirection, new ColumnPixelData(100, true, true));
    trclmnDirection.setText("Direction");

    treeViewerColumnB = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnB = treeViewerColumnB.getColumn();
    treeColumnLayout.setColumnData(trclmnB, new ColumnPixelData(100, true, true));
    trclmnB.setText("B");

    treeViewerColumnProtocol = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);

    TreeColumn trclmnProtocol = treeViewerColumnProtocol.getColumn();
    treeColumnLayout.setColumnData(trclmnProtocol, new ColumnPixelData(150, true, true));
    trclmnProtocol.setText("Protocol");

    treeViewerColumnMessage = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);

    TreeColumn trclmnMessage = treeViewerColumnMessage.getColumn();
    treeColumnLayout.setColumnData(trclmnMessage, new ColumnPixelData(100, true, true));
    trclmnMessage.setText("Message");

}

From source file:com.rcpcompany.uibindings.internal.ViewerBindingImpl.java

License:Open Source License

@Override
public IViewerBinding viewer(ColumnViewer viewer) {
    assertTrue(viewer != null, "viewer must be non-null");
    setViewer(viewer);/*from www. j a  va2 s .c o m*/

    if (getControl() instanceof Table) {
        /*
         * Add an empty first column to the table to avoid alignment problems
         */
        // TODO: only for Windows?
        final Table table = (Table) getControl();
        final TableColumn column = new TableColumn(table, SWT.NONE, 0);
        setFirstTableColumnOffset(1);
        column.setText("__SPARE__"); //$NON-NLS-1$
        column.setWidth(0);
        column.setMoveable(false);
        column.setResizable(false);

        /*
         * Check whether the table uses any special layout
         */
        Layout l = table.getParent().getLayout();
        if (l instanceof AbstractColumnLayout) {
            final AbstractColumnLayout layout = (AbstractColumnLayout) l;
            layout.setColumnData(column, new ColumnPixelData(0, false, false));
        }
        l = table.getLayout();
        if (l instanceof TableLayout) {
            final TableLayout layout = (TableLayout) l;
            layout.addColumnData(new ColumnPixelData(0, false, false));
        }
    }

    return this;
}