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

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

Introduction

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

Prototype

public CheckboxTableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:de.anbos.eclipse.logviewer.plugin.preferences.rule.RulePreferencePage.java

License:Apache License

protected Control createContents(Composite parent) {
    Font font = parent.getFont();
    // define default grid
    Composite pageComponent = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from   w  w  w .  ja v a2 s  .  c  o m
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    pageComponent.setLayout(layout);

    // list
    GridData data = new GridData(GridData.FILL_BOTH);
    // create table
    table = new Table(pageComponent, SWT.MULTI | SWT.CHECK | SWT.FULL_SELECTION);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setFont(parent.getFont());

    TableColumn column1 = new TableColumn(table, SWT.LEFT);
    column1.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.table.header.column0.title")); //$NON-NLS-1$
    column1.setResizable(false);

    TableColumn column2 = new TableColumn(table, SWT.LEFT);
    column2.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.table.header.column1.title")); //$NON-NLS-1$
    column2.setResizable(false);

    int availableRows = availableRows(pageComponent);
    data.heightHint = table.getItemHeight() * (availableRows / 8);
    data.widthHint = TABLE_WIDTH;
    table.setLayoutData(data);

    @SuppressWarnings("unused")
    TableItemColorController tableItemColorController = new TableItemColorController(table);
    //tableItemColorController.notifyAll();

    tableViewer = new CheckboxTableViewer(table);
    tableViewer.setLabelProvider(new RuleLabelProvider());
    tableViewer.setContentProvider(new RuleContentProvider());
    store = new RuleStore(LogViewerPlugin.getDefault().getPreferenceStore());
    store.load();
    tableViewer.setInput(store);
    tableViewer.setAllChecked(false);
    tableViewer.setCheckedElements(store.getAllCheckedRuleDetails());

    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            edit();
        }
    });

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            RulePreferenceData data = (RulePreferenceData) event.getElement();
            data.setEnabled(event.getChecked());
        }
    });

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            boolean selected = !selection.isEmpty();
            editButton.setEnabled(selected);
            removeButton.setEnabled(selected);
            upButton.setEnabled(selected);
            downButton.setEnabled(selected);
            exportSelectedButton.setEnabled(selected);
        }
    });

    tableViewer.setSorter(new ViewerSorter() {
        public int compare(Viewer viewer, Object object1, Object object2) {
            if (!(object1 instanceof RulePreferenceData) || !(object2 instanceof RulePreferenceData)) {
                return super.compare(viewer, object1, object2);
            }
            RulePreferenceData data1 = (RulePreferenceData) object1;
            RulePreferenceData data2 = (RulePreferenceData) object2;
            if (data1.getPosition() > data2.getPosition()) {
                return 1;
            }
            if (data1.getPosition() < data2.getPosition()) {
                return -1;
            }
            if (data1.getPosition() == data2.getPosition()) {
                return 0;
            }
            return super.compare(viewer, object1, object2);
        }

        public boolean isSorterProperty(Object element, String property) {
            return true;
        }
    });

    itemMover = new ItemMover(table, store);

    // button pageComponent
    Composite groupComponent = new Composite(pageComponent, SWT.NULL);
    GridLayout groupLayout = new GridLayout();
    groupLayout.marginWidth = 0;
    groupLayout.marginHeight = 0;
    groupComponent.setLayout(groupLayout);
    data = new GridData();
    data.verticalAlignment = GridData.FILL;
    data.horizontalAlignment = GridData.FILL;
    groupComponent.setLayoutData(data);
    groupComponent.setFont(font);

    // buttons
    addButton = new Button(groupComponent, SWT.PUSH);
    addButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.add")); //$NON-NLS-1$
    addButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            add();
        }
    });
    addButton.setLayoutData(data);
    addButton.setFont(font);
    setButtonLayoutData(addButton);

    editButton = new Button(groupComponent, SWT.PUSH);
    editButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.edit")); //$NON-NLS-1$
    editButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            edit();
        }
    });
    editButton.setLayoutData(data);
    editButton.setFont(font);
    setButtonLayoutData(editButton);

    removeButton = new Button(groupComponent, SWT.PUSH);
    removeButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.remove")); //$NON-NLS-1$
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            remove();
        }
    });
    removeButton.setFont(font);
    setButtonLayoutData(removeButton);

    upButton = new Button(groupComponent, SWT.PUSH);
    upButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.up")); //$NON-NLS-1$
    upButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            up();
        }
    });
    upButton.setFont(font);
    setButtonLayoutData(upButton);

    downButton = new Button(groupComponent, SWT.PUSH);
    downButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.down")); //$NON-NLS-1$
    downButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            down();
        }
    });
    downButton.setFont(font);
    setButtonLayoutData(downButton);

    exportSelectedButton = new Button(groupComponent, SWT.PUSH);
    exportSelectedButton
            .setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.export.selected")); //$NON-NLS-1$
    exportSelectedButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            exportSelected();
        }
    });
    exportSelectedButton.setFont(font);
    setButtonLayoutData(exportSelectedButton);

    exportAllButton = new Button(groupComponent, SWT.PUSH);
    exportAllButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.export.all")); //$NON-NLS-1$
    exportAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            exportAll();
        }
    });
    exportAllButton.setFont(font);
    setButtonLayoutData(exportAllButton);

    importButton = new Button(groupComponent, SWT.PUSH);
    importButton.setText(LogViewerPlugin.getResourceString("preferences.ruleseditor.button.import")); //$NON-NLS-1$
    importButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            inport();
        }
    });
    importButton.setFont(font);
    setButtonLayoutData(importButton);

    configureTableResizing(table);

    Dialog.applyDialogFont(pageComponent);
    // trigger the resize
    table.getHorizontalBar().setVisible(true);

    // send event to refresh tableViewer
    Event event = new Event();
    event.item = null;
    tableViewer.getTable().notifyListeners(SWT.Selection, event);
    //tableViewer.getControl().setEnabled(true);

    return pageComponent;
}

From source file:de.bmw.yamaica.franca.ui.DeploymentSpecificationNewPage.java

License:Mozilla Public License

@Override
protected void extendFilenameGroup(Composite parent) {
    parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Font font = parent.getFont();

    Label packageLabel = new Label(parent, SWT.LEAD);
    packageLabel.setText(NA_ME);/* w w w  . j  a  va2  s .  c  om*/
    packageLabel.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, false, false));
    packageLabel.setFont(font);

    nameText = new Text(parent, SWT.SINGLE | SWT.BORDER);
    nameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
    nameText.addListener(SWT.Modify, this);
    nameText.setFont(font);

    Label propertyHostsLabel = new Label(parent, SWT.LEAD);
    propertyHostsLabel.setText(PROPERTY_HOSTS);
    propertyHostsLabel.setLayoutData(new GridData(SWT.LEAD, SWT.TOP, false, false));
    propertyHostsLabel.setFont(font);

    GridData propertyHostsTableGridData = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    propertyHostsTableGridData.heightHint = 140;

    ViewerToolBar viewerToolBar = new ViewerToolBar(parent, SWT.BORDER, ViewerToolBar.SELECT);
    viewerToolBar.setLayoutData(propertyHostsTableGridData);

    Table propertyHostsTable = new Table(viewerToolBar, SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    propertyHostsTable.setFont(font);
    propertyHostsTable.addControlListener(new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent e) {
            Table table = (Table) e.widget;
            table.getColumn(0).setWidth(table.getClientArea().width);
        }
    });

    propertyHostsTableViewer = new CheckboxTableViewer(propertyHostsTable);
    propertyHostsTableViewer.setContentProvider(new ArrayContentProvider());

    TableViewerColumn propertyHostNameViewerColumn = new TableViewerColumn(propertyHostsTableViewer, SWT.LEAD);
    propertyHostNameViewerColumn.setLabelProvider(new DeploymentSpecificationLabelProvider());

    viewerToolBar.setViewer(propertyHostsTableViewer);

    propertyHostsTableViewer.setInput(FDPropertyHost.VALUES);
}

From source file:de.byteholder.geoclipse.mapprovider.DialogMPWms.java

License:Open Source License

private void createUILayer20Viewer(final Composite parent, final PixelConverter pixelConverter) {

    final TableColumnLayout tableLayout = new TableColumnLayout();
    _viewerContainer = new Composite(parent, SWT.NONE);
    _viewerContainer.setLayout(tableLayout);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(_viewerContainer);

    /*//from w  w w  .  j  a  va  2 s .c o m
     * create table
     */
    final Table table = new Table(_viewerContainer, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);

    table.setLayout(new TableLayout());
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    _layerViewer = new CheckboxTableViewer(table);

    /*
     * create columns
     */
    TableViewerColumn tvc;
    TableColumn tvcColumn;

    // column: layer title
    tvc = new TableViewerColumn(_layerViewer, SWT.LEAD);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_WmsConfig_Column_LayerName);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MtLayer mtLayer = (MtLayer) cell.getElement();

            cell.setText(mtLayer.getGeoLayer().getTitle());
        }
    });
    tableLayout.setColumnData(tvcColumn, new ColumnWeightData(20, true));

    // column: layer id
    tvc = new TableViewerColumn(_layerViewer, SWT.LEAD);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_WmsConfig_Column_LayerId);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MtLayer mtLayer = (MtLayer) cell.getElement();

            cell.setText(mtLayer.getGeoLayer().getName());
        }
    });
    tableLayout.setColumnData(tvcColumn, new ColumnWeightData(10, true));

    // column: bbox
    tvc = new TableViewerColumn(_layerViewer, SWT.LEAD);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_WmsConfig_Column_Bbox);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {

            final MtLayer mtLayer = (MtLayer) cell.getElement();

            final GeoPosition lowerPosition = mtLayer.getLowerGeoPosition();
            final GeoPosition upperPosition = mtLayer.getUpperGeoPosition();

            final StringBuilder sb = new StringBuilder();

            sb.append(lowerPosition.latitude);
            sb.append(", "); //$NON-NLS-1$
            sb.append(lowerPosition.longitude);
            sb.append(" / "); //$NON-NLS-1$
            sb.append(upperPosition.latitude);
            sb.append(", "); //$NON-NLS-1$
            sb.append(upperPosition.longitude);

            cell.setText(sb.toString());
        }
    });
    tableLayout.setColumnData(tvcColumn, new ColumnWeightData(20, true));

    _layerViewer.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public Object[] getElements(final Object inputElement) {
            final int mtLayerSize = _allMtLayers.size();
            if (mtLayerSize == 0) {
                return null;
            } else {
                return _allMtLayers.toArray(new MtLayer[mtLayerSize]);
            }
        }

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

    _layerViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {

            // select the checked item
            _layerViewer.setSelection(new StructuredSelection(event.getElement()));

            // set focus to selected layer
            table.setSelection(table.getSelectionIndex());

            onCheckLayer(event.getElement());
        }
    });

    _layerViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            onSelectLayer();
        }
    });

    /*
     * set drag adapter
     */
    _layerViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            new DragSourceListener() {

                public void dragFinished(final DragSourceEvent event) {

                    final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();

                    if (event.doit == false) {
                        return;
                    }

                    transfer.setSelection(null);
                    transfer.setSelectionSetTime(0);
                }

                public void dragSetData(final DragSourceEvent event) {
                    // data are set in LocalSelectionTransfer
                }

                public void dragStart(final DragSourceEvent event) {

                    final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();
                    final ISelection selection = _layerViewer.getSelection();

                    transfer.setSelection(selection);
                    transfer.setSelectionSetTime(_dragStartViewerLeft = event.time & 0xFFFFFFFFL);

                    event.doit = !selection.isEmpty();
                }
            });

    /*
     * set drop adapter
     */
    final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_layerViewer) {

        private Widget fTableItem;

        @Override
        public void dragOver(final DropTargetEvent event) {

            // keep table item
            fTableItem = event.item;

            super.dragOver(event);
        }

        @Override
        public boolean performDrop(final Object droppedData) {

            if (droppedData instanceof StructuredSelection) {

                final Object firstElement = ((StructuredSelection) droppedData).getFirstElement();
                if (firstElement instanceof MtLayer) {

                    final MtLayer mtLayer = (MtLayer) firstElement;

                    final int location = getCurrentLocation();
                    final Table layerTable = _layerViewer.getTable();

                    /*
                     * check if drag was startet from this filter, remove the filter item before
                     * the new filter is inserted
                     */
                    if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dragStartViewerLeft) {
                        _layerViewer.remove(mtLayer);
                    }

                    int tableIndex;

                    if (fTableItem == null) {

                        _layerViewer.add(mtLayer);
                        tableIndex = layerTable.getItemCount() - 1;

                    } else {

                        // get index of the target in the table
                        tableIndex = layerTable.indexOf((TableItem) fTableItem);
                        if (tableIndex == -1) {
                            return false;
                        }

                        if (location == LOCATION_BEFORE) {
                            _layerViewer.insert(mtLayer, tableIndex);
                        } else if (location == LOCATION_AFTER) {
                            _layerViewer.insert(mtLayer, ++tableIndex);
                        }
                    }

                    // set check state
                    _layerViewer.setChecked(mtLayer, mtLayer.isDisplayedInMap());

                    // reselect filter item
                    _layerViewer.setSelection(new StructuredSelection(mtLayer));

                    // set focus to selection
                    layerTable.setSelection(tableIndex);
                    layerTable.setFocus();

                    // update new layer topology in the map
                    updateMap(false);

                    return true;
                }
            }

            return false;
        }

        @Override
        public boolean validateDrop(final Object target, final int operation, final TransferData transferType) {

            final ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
            if (selection instanceof StructuredSelection) {
                final Object draggedItem = ((StructuredSelection) selection).getFirstElement();
                if (target == draggedItem) {
                    return false;
                }
            }

            if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) == false) {
                return false;
            }

            // check drop location
            final int location = getCurrentLocation();
            if (((location == LOCATION_AFTER) || (location == LOCATION_BEFORE)) == false) {
                return false;
            }

            return true;
        }

    };

    _layerViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            viewerDropAdapter);
}

From source file:de.jaret.util.ui.table.util.action.ConfigureColumnsAction.java

License:Open Source License

/**
 * Create the dialog area. TODO can be done much nicer ... but works for the first draft
 * /*from  ww  w. j  a v  a 2s .c  o m*/
 * @param parent parent composite
 * @return initialized control
 */
private Control createColumnControlPanel(Composite parent) {
    Composite panel = new Composite(parent, SWT.NULL);
    panel.setLayout(new RowLayout());

    Label l = new Label(panel, SWT.NULL);
    l.setText("Configure the columns");

    Table table = new Table(parent, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL);
    _chkBoxViewer = new CheckboxTableViewer(table);
    _chkBoxViewer.setContentProvider(new ColTableContentProvider());
    _chkBoxViewer.setLabelProvider(new ColTableLabelProvider());

    TableColumn column = new TableColumn(_chkBoxViewer.getTable(), SWT.LEFT);
    column.setText("Column");
    column.setWidth(100);

    _chkBoxViewer.getTable().setHeaderVisible(true);
    _chkBoxViewer.setInput("x");

    final int firstColIdx = _allowFixedColumns ? 0 : _table.getFixedColumns();

    for (int i = 0; i < _table.getTableModel().getColumnCount(); i++) {
        IColumn col = _table.getTableModel().getColumn(i);
        _chkBoxViewer.setChecked(col, _tvs.getColumnVisible(col));
    }

    table.getColumn(0).pack();

    table.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            if (event.detail == SWT.CHECK) {
                TableItem item = (TableItem) event.item;
                IColumn col = (IColumn) item.getData();
                int idx = _tvs.getSortedColumns().indexOf(col);
                if (_allowFixedColumns || idx >= _table.getFixedColumns()) {
                    _tvs.setColumnVisible(col, item.getChecked());
                } else {
                    _chkBoxViewer.setChecked(col, _tvs.getColumnVisible(col));
                }
            }
        }
    });

    Button upButton = new Button(panel, SWT.PUSH);
    upButton.setText("up");
    upButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent arg0) {
            if (_chkBoxViewer.getTable().getSelectionCount() > 0) {
                TableItem item = _chkBoxViewer.getTable().getItem(_chkBoxViewer.getTable().getSelectionIndex());
                IColumn col = (IColumn) item.getData();
                int idx = _tvs.getSortedColumns().indexOf(col);
                if (idx > firstColIdx) {
                    _tvs.getSortedColumns().remove(col);
                    _tvs.getSortedColumns().add(idx - 1, col);
                    _table.updateColumnList();
                    _table.redraw();
                    _chkBoxViewer.refresh();
                }
            }
        }

        public void widgetDefaultSelected(SelectionEvent arg0) {
        }

    });
    Button downButton = new Button(panel, SWT.PUSH);
    downButton.setText("down");
    downButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent arg0) {
            if (_chkBoxViewer.getTable().getSelectionCount() > 0) {
                TableItem item = _chkBoxViewer.getTable().getItem(_chkBoxViewer.getTable().getSelectionIndex());
                IColumn col = (IColumn) item.getData();
                int idx = _tvs.getSortedColumns().indexOf(col);
                if (idx < _tvs.getSortedColumns().size() - 1) {
                    _tvs.getSortedColumns().remove(col);
                    _tvs.getSortedColumns().add(idx + 1, col);
                    _table.updateColumnList();
                    _table.redraw();
                    _chkBoxViewer.refresh();
                }
            }
        }

        public void widgetDefaultSelected(SelectionEvent arg0) {
        }

    });

    return panel;
}

From source file:de.loskutov.anyedit.ui.preferences.AnyEditPreferencePage.java

License:Open Source License

/**
 * Create a group to contain the step filter related widgetry
 *//* www.  j  a  v  a 2s.co m*/
private void createFilterPreferences(Composite parent) {
    // top level container
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
    container.setLayoutData(gd);

    // table label
    Label tableLabel = new Label(container, SWT.WRAP);
    tableLabel.setText(Messages.pref_Defined_file_filters);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    tableLabel.setLayoutData(gd);

    filterTable = new Table(container,
            SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    filterTable.setHeaderVisible(false);
    // fFilterTable.setLinesVisible(true);
    filterTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(100, true));
    filterTable.setLayout(tlayout);

    TableColumn tableCol = new TableColumn(filterTable, SWT.LEFT);
    tableCol.setResizable(true);

    filterViewer = new CheckboxTableViewer(filterTable);
    tableEditor = new TableEditor(filterTable);
    filterViewer.setLabelProvider(new FilterLabelProvider());
    filterViewer.setComparator(new FilterViewerSorter());
    fileFilterContentProvider = new FilterContentProvider(filterViewer);
    filterViewer.setContentProvider(fileFilterContentProvider);
    // @todo table width input just needs to be non-null
    filterViewer.setInput(this);

    filterViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fileFilterContentProvider.toggleFilter(filter);
        }
    });
    filterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty()) {
                removeFilterButton.setEnabled(false);
            } else {
                removeFilterButton.setEnabled(true);
            }
        }
    });

    createFilterButtons(container);
}

From source file:de.loskutov.anyedit.ui.preferences.ProjectPreferencePage.java

License:Open Source License

/**
 * Create a group to contain the step filter related widgetry
 *///from   www .j  a  v  a2 s.c o  m
private void createFilterPreferences(Composite parent) {
    // top level container
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
    container.setLayoutData(gd);

    // table label
    fTableLabel = new Label(container, SWT.WRAP);
    fTableLabel.setText(Messages.pref_Defined_file_filters);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fTableLabel.setLayoutData(gd);

    fFilterTable = new Table(container,
            SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    fFilterTable.setHeaderVisible(false);
    // fFilterTable.setLinesVisible(true);
    fFilterTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(100, true));
    fFilterTable.setLayout(tlayout);

    TableColumn tableCol = new TableColumn(fFilterTable, SWT.LEFT);
    tableCol.setResizable(true);

    fFilterViewer = new CheckboxTableViewer(fFilterTable);
    fTableEditor = new TableEditor(fFilterTable);
    fFilterViewer.setLabelProvider(new FilterLabelProvider());
    fFilterViewer.setComparator(new FilterViewerSorter());
    fStepFilterContentProvider = new FilterContentProvider(fFilterViewer);
    fFilterViewer.setContentProvider(fStepFilterContentProvider);
    // @todo table width input just needs to be non-null
    fFilterViewer.setInput(this);

    fFilterViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fStepFilterContentProvider.toggleFilter(filter);
        }
    });
    fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty()) {
                fRemoveFilterButton.setEnabled(false);
            } else {
                fRemoveFilterButton.setEnabled(true);
            }
        }
    });

    createFilterButtons(container);
}

From source file:de.loskutov.dh.preferences.FilterListEditor.java

License:Open Source License

private void createTableControl(Composite container, int numColumns) {
    filterTable = new Table(container,
            SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    filterTable.setHeaderVisible(false);
    // fFilterTable.setLinesVisible(true);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.verticalAlignment = GridData.FILL;
    gd.horizontalSpan = numColumns - 1;/*from  w  w w  .j ava2 s .c o  m*/
    gd.grabExcessHorizontalSpace = true;
    filterTable.setLayoutData(gd);

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(100, true));
    filterTable.setLayout(tlayout);

    TableColumn tableCol = new TableColumn(filterTable, SWT.LEFT);
    tableCol.setResizable(true);

    filterViewer = new CheckboxTableViewer(filterTable);
    tableEditor = new TableEditor(filterTable);
    filterViewer.setLabelProvider(new FilterLabelProvider());
    filterViewer.setComparator(new FilterViewerSorter());
    fileFilterContentProvider = new FilterContentProvider(filterViewer);
    filterViewer.setContentProvider(fileFilterContentProvider);
    // @todo table width input just needs to be non-null
    filterViewer.setInput(this);

    filterViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fileFilterContentProvider.toggleFilter(filter);
        }
    });
    filterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty()) {
                removeButton.setEnabled(false);
            } else {
                removeButton.setEnabled(true);
            }
        }
    });
}

From source file:de.loskutov.eclipse.jdepend.preferences.JDependPreferencePage.java

License:Open Source License

/**
 * Create a group to contain the step filter related widgetry
 *///from www  .  jav  a  2 s .  c  o  m
private void createFilterPreferences(Composite parent) {
    // top level container
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    container.setLayoutData(gd);

    // use filters checkbox
    fUseFiltersCheckbox = new Button(container, SWT.CHECK);
    fUseFiltersCheckbox
            .setText(JDepend4EclipsePlugin.getResourceString("JDependPreferencePage.Use_package_filters")); //$NON-NLS-1$
    fUseFiltersCheckbox.setToolTipText("Default is true");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fUseFiltersCheckbox.setLayoutData(gd);

    fUseFiltersCheckbox.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            toggleFilterWidgetsEnabled(fUseFiltersCheckbox.getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent se) {
            /** ignored */
        }
    });

    fUseAllCyclesSearchCheckbox = new Button(container, SWT.CHECK);
    fUseAllCyclesSearchCheckbox.setText(JDepend4EclipsePlugin
            .getResourceString("JDependPreferencePage.Use_more_comprehensive_cycles_search")); //$NON-NLS-1$
    fUseAllCyclesSearchCheckbox.setToolTipText("Default is true");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fUseAllCyclesSearchCheckbox.setLayoutData(gd);

    saveAsXml = new Button(container, SWT.CHECK);
    saveAsXml.setText(JDepend4EclipsePlugin.getResourceString("Save as XML (and not as plain text)")); //$NON-NLS-1$
    saveAsXml.setToolTipText("JDepend output can be saved as XML or plain text, default is XML");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    saveAsXml.setLayoutData(gd);

    askBeforeSave = new Button(container, SWT.CHECK);
    askBeforeSave.setText(JDepend4EclipsePlugin.getResourceString("Ask before save")); //$NON-NLS-1$
    askBeforeSave.setToolTipText("Default is true");
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    askBeforeSave.setLayoutData(gd);
    askBeforeSave.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent se) {
            saveAsXml.setEnabled(!askBeforeSave.getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent se) {
            /** ignored */
        }
    });

    //table label
    fTableLabel = new Label(container, SWT.NONE);
    fTableLabel
            .setText(JDepend4EclipsePlugin.getResourceString("JDependPreferencePage.Defined_package_filters")); //$NON-NLS-1$
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fTableLabel.setLayoutData(gd);

    fFilterTable = new Table(container,
            SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    fFilterTable.setHeaderVisible(true);
    // fFilterTable.setLinesVisible(true);
    fFilterTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(100, 200));
    fFilterTable.setLayout(tlayout);

    TableColumn tableCol = new TableColumn(fFilterTable, SWT.LEFT);
    tableCol.setResizable(true);
    tableCol.setText(JDepend4EclipsePlugin.getResourceString("JDependPreferencePage.Enable_disable_package")); //$NON-NLS-1$

    fFilterViewer = new CheckboxTableViewer(fFilterTable);
    fTableEditor = new TableEditor(fFilterTable);
    fFilterViewer.setLabelProvider(new FilterLabelProvider());
    fFilterViewer.setComparator(new FilterViewerSorter());
    fStepFilterContentProvider = new FilterContentProvider(fFilterViewer);
    fFilterViewer.setContentProvider(fStepFilterContentProvider);
    //@todo table width input just needs to be non-null
    fFilterViewer.setInput(this);

    fFilterViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fStepFilterContentProvider.toggleFilter(filter);
        }
    });
    fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty()) {
                fRemoveFilterButton.setEnabled(false);
            } else {
                fRemoveFilterButton.setEnabled(true);
            }
        }
    });

    createFilterButtons(container);
    boolean enabled = getPreferenceStore().getBoolean(JDependConstants.PREF_USE_FILTERS);
    fUseFiltersCheckbox.setSelection(enabled);
    toggleFilterWidgetsEnabled(enabled);

    enabled = getPreferenceStore().getBoolean(JDependConstants.PREF_USE_ALL_CYCLES_SEARCH);
    fUseAllCyclesSearchCheckbox.setSelection(enabled);

    enabled = getPreferenceStore().getBoolean(JDependConstants.SAVE_TO_SHOW_OPTIONS);
    askBeforeSave.setSelection(enabled);

    enabled = getPreferenceStore().getBoolean(JDependConstants.SAVE_AS_XML);
    saveAsXml.setSelection(enabled);
    saveAsXml.setEnabled(!askBeforeSave.getSelection());
}

From source file:de.plugins.eclipse.depclipse.preferences.JDependPreferencePage.java

License:Open Source License

/**
 * Create a group to contain the step filter related widgetry
 *///ww w.j  a v a 2 s . co  m
private void createFilterPreferences(Composite parent) {
    // top level container
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    container.setLayoutData(gd);

    // use filters checkbox
    fUseFiltersCheckbox = new Button(container, SWT.CHECK);
    fUseFiltersCheckbox.setText(Messages.JDependPreferencePage_Use_package_filters);
    fUseFiltersCheckbox.setToolTipText(Messages.JDependPreferencePage_Default_is_true);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fUseFiltersCheckbox.setLayoutData(gd);

    fUseFiltersCheckbox.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent se) {
            toggleFilterWidgetsEnabled(fUseFiltersCheckbox.getSelection());
        }

        public void widgetDefaultSelected(SelectionEvent se) {
            /** ignored */
        }
    });

    fUseAllCyclesSearchCheckbox = new Button(container, SWT.CHECK);
    fUseAllCyclesSearchCheckbox.setText(Messages.JDependPreferencePage_Use_more_comprehensive_cycles_search);
    fUseAllCyclesSearchCheckbox.setToolTipText(Messages.JDependPreferencePage_Default_is_true);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fUseAllCyclesSearchCheckbox.setLayoutData(gd);

    saveAsXml = new Button(container, SWT.CHECK);
    saveAsXml.setText(Messages.JDependPreferencePage_Save_as_XML);
    saveAsXml.setToolTipText(Messages.JDependPreferencePage_Save_as_XML_ToolTip);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    saveAsXml.setLayoutData(gd);

    askBeforeSave = new Button(container, SWT.CHECK);
    askBeforeSave.setText(Messages.JDependPreferencePage_Ask_before_save);
    askBeforeSave.setToolTipText(Messages.JDependPreferencePage_Default_is_true);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    askBeforeSave.setLayoutData(gd);
    askBeforeSave.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent se) {
            saveAsXml.setEnabled(!askBeforeSave.getSelection());
        }

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

    useForbiddenDependencies = new Button(container, SWT.CHECK);
    useForbiddenDependencies.setText(Messages.JDependPreferencePage_Search_project_for_prohibited_dependencies);
    useForbiddenDependencies.setToolTipText(Messages.JDependPreferencePage_ForbiddenDependenciesToolTip
            + "the prohibited dependencies for a Project"); //$NON-NLS-1$
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    useForbiddenDependencies.setLayoutData(gd);

    Label fileDescription = new Label(container, SWT.LEFT);
    fileDescription.setText(Messages.JDependPreferencePage_Set_Filename_for_Prohbibited_Dependencies);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fileDescription.setLayoutData(gd);

    fFDFileText = new Text(container, SWT.LEFT);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    fFDFileText.setLayoutData(gd);

    //table label
    fTableLabel = new Label(container, SWT.NONE);
    fTableLabel.setText(Messages.JDependPreferencePage_Defined_package_filters);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    fTableLabel.setLayoutData(gd);

    fFilterTable = new Table(container,
            SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    fFilterTable.setHeaderVisible(true);
    // fFilterTable.setLinesVisible(true);
    fFilterTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(100, 200));
    fFilterTable.setLayout(tlayout);

    TableColumn tableCol = new TableColumn(fFilterTable, SWT.LEFT);
    tableCol.setResizable(true);
    tableCol.setText(Messages.JDependPreferencePage_EnableDisable_package);

    fFilterViewer = new CheckboxTableViewer(fFilterTable);
    fTableEditor = new TableEditor(fFilterTable);
    fFilterViewer.setLabelProvider(new FilterLabelProvider());
    fFilterViewer.setComparator(new FilterViewerSorter());
    fStepFilterContentProvider = new FilterContentProvider(fFilterViewer);
    fFilterViewer.setContentProvider(fStepFilterContentProvider);
    //@todo table width input just needs to be non-null
    fFilterViewer.setInput(this);

    fFilterViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fStepFilterContentProvider.toggleFilter(filter);
        }
    });
    fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty()) {
                fRemoveFilterButton.setEnabled(false);
            } else {
                fRemoveFilterButton.setEnabled(true);
            }
        }
    });

    createFilterButtons(container);
    boolean enabled = getPreferenceStore().getBoolean(JDependPreferenceConstants.PREF_USE_FILTERS);
    fUseFiltersCheckbox.setSelection(enabled);
    toggleFilterWidgetsEnabled(enabled);

    enabled = getPreferenceStore().getBoolean(JDependPreferenceConstants.PREF_USE_ALL_CYCLES_SEARCH);
    fUseAllCyclesSearchCheckbox.setSelection(enabled);

    enabled = getPreferenceStore().getBoolean(JDependPreferenceConstants.SAVE_TO_SHOW_OPTIONS);
    askBeforeSave.setSelection(enabled);

    enabled = getPreferenceStore().getBoolean(JDependPreferenceConstants.SAVE_AS_XML);
    saveAsXml.setSelection(enabled);
    saveAsXml.setEnabled(!askBeforeSave.getSelection());

    enabled = getPreferenceStore().getBoolean(JDependPreferenceConstants.USE_FORBIDDEN_DEPENDENCIES);
    useForbiddenDependencies.setSelection(enabled);

    String fileName = getPreferenceStore().getString(JDependPreferenceConstants.FORBIDDEN_DEPENDENCIES_FILE);
    fFDFileText.setText(fileName);
}

From source file:de.tobject.findbugs.properties.ManagePathsWidget.java

License:Open Source License

public CheckboxTableViewer createViewer(String title, String linkText, boolean withCheckBox) {
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 0;/*from w w  w  .  jav  a 2 s  .  co m*/
    layout.marginWidth = 0;
    this.setLayout(layout);
    this.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    Label titleLabel = new Label(this, SWT.NULL);

    titleLabel.setText(title);
    titleLabel.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, true, false, 2, 1));

    if (linkText != null) {
        Link details = new Link(this, SWT.NULL);
        details.setText(linkText);
        details.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, true, false, 2, 1));
        details.addSelectionListener(new SelectionListener() {
            public void widgetSelected(SelectionEvent e) {
                Program.launch(e.text);
            }

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

    int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
    if (withCheckBox) {
        style |= SWT.CHECK;
    }
    Table table = new Table(this, style);
    CheckboxTableViewer viewer1 = new CheckboxTableViewer(table);
    viewer1.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2));
    final PathElementLabelProvider labelProvider = new PathElementLabelProvider();
    viewer1.setLabelProvider(labelProvider);
    this.viewer = viewer1;
    viewer1.getControl().addMouseTrackListener(new MouseTrackAdapter() {
        @Override
        public void mouseHover(MouseEvent e) {
            String tooltip = "";
            ViewerCell cell = viewer.getCell(new Point(e.x, e.y));
            if (cell != null) {
                tooltip = labelProvider.getToolTip(cell.getElement());
            }
            viewer.getControl().setToolTipText(tooltip);
        }

        @Override
        public void mouseExit(MouseEvent e) {
            viewer.getControl().setToolTipText("");
        }
    });
    return viewer1;
}