Example usage for org.eclipse.jface.viewers TableViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider

Introduction

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

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this AbstractTableViewer.

Usage

From source file:org.csstudio.opibuilder.visualparts.PropertiesEditDialog.java

License:Open Source License

private TableViewer createPropertiesViewer(Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Property");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);//w  w  w .  j  a  v  a  2  s.c  om
    tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);
    EditingSupport editingSupport = new PropertyDataEditingSupport(viewer, viewer.getTable());
    tvColumn.setEditingSupport(editingSupport);

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PropertyDataLabelProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}

From source file:org.csstudio.opibuilder.visualparts.PVTupleTableEditor.java

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent/*from  w  w w .j  a va  2 s .c o m*/
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createPVTupleListTableViewer(final Composite parent) {
    final TableViewer viewer = new TableViewer(parent,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);

    final TableViewerColumn numColumn = new TableViewerColumn(viewer, SWT.NONE);
    numColumn.getColumn().setText("#");
    numColumn.getColumn().setMoveable(false);
    numColumn.getColumn().setWidth(50);

    final TableViewerColumn pvColumn = new TableViewerColumn(viewer, SWT.NONE);
    pvColumn.getColumn().setText("PV Name");
    pvColumn.getColumn().setMoveable(false);
    pvColumn.getColumn().setWidth(220);
    pvColumn.setEditingSupport(new PVColumnEditingSupport(viewer, viewer.getTable()));

    final TableViewerColumn TrigColumn = new TableViewerColumn(viewer, SWT.NONE);
    TrigColumn.getColumn().setText("Trigger");
    TrigColumn.getColumn().setMoveable(false);
    TrigColumn.getColumn().pack();
    TrigColumn.setEditingSupport(new TriggerColumnEditingSupport(viewer, viewer.getTable()));

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PVTupleLabelProvider(pvTupleList));

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            refreshToolbarOnSelection();
        }
    });
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    DropTarget target = new DropTarget(viewer.getControl(), DND.DROP_MOVE | DND.DROP_COPY);
    target.setTransfer(new Transfer[] { TextTransfer.getInstance() });
    target.addDropListener(new DropTargetListener() {
        @Override
        public void dragEnter(DropTargetEvent event) {
        }

        @Override
        public void dragLeave(DropTargetEvent event) {
        }

        @Override
        public void dragOperationChanged(DropTargetEvent event) {
        }

        @Override
        public void dragOver(DropTargetEvent event) {
        }

        @Override
        public void drop(DropTargetEvent event) {
            if (event == null || !(event.data instanceof String))
                return;

            String txt = (String) event.data;
            String[] names = txt.split("[\r\n]+");
            PVTuple[] tuples = new PVTuple[names.length];
            int i = 0;
            for (String name : names) {
                tuples[i] = new PVTuple(name, true);
                pvTupleList.add(tuples[i]);
                i++;
            }

            refreshTableViewerFromAction(tuples);
        }

        @Override
        public void dropAccept(DropTargetEvent event) {
        }
    });

    return viewer;
}

From source file:org.csstudio.opibuilder.visualparts.RuleDataEditDialog.java

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent//from   w ww.  j  a  va 2  s  .co m
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createExpressionsTableViewer(final Composite parent) {
    final TableViewer viewer = new TableViewer(parent,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableViewerColumn expressionColumn = new TableViewerColumn(viewer, SWT.NONE);
    expressionColumn.getColumn().setText("Boolean Expression");
    expressionColumn.getColumn().setMoveable(false);
    expressionColumn.getColumn().setWidth(200);
    expressionColumn.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof Expression)
                ((Expression) element).setBooleanExpression(value.toString());
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof Expression)
                return ((Expression) element).getBooleanExpression();
            return null;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    valueColumn = new TableViewerColumn(viewer, SWT.NONE);
    valueColumn.getColumn().setText(ruleData.isOutputExpValue() ? "Output Expression" : "Output Value");
    valueColumn.getColumn().setMoveable(false);
    valueColumn.getColumn().setWidth(200);
    EditingSupport editingSupport = new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof Expression) {
                ((Expression) element).setValue(value);
            }
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof Expression) {
                if (((Expression) element).getValue() == null)
                    return ""; //$NON-NLS-1$
                return ((Expression) element).getValue();
            }
            return null;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            if (element instanceof Expression) {
                if (ruleData.isOutputExpValue() || ruleData.getProperty().getPropertyDescriptor() == null)
                    return new TextCellEditor(viewer.getTable());
                else
                    return ruleData.getProperty().getPropertyDescriptor()
                            .createPropertyEditor(viewer.getTable());
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    };
    valueColumn.setEditingSupport(editingSupport);

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new ExpressionLabelProvider());
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    viewer.getTable().setLayoutData(gd);
    return viewer;
}

From source file:org.csstudio.opibuilder.visualparts.RuntimePropertiesEditDialog.java

License:Open Source License

private TableViewer createPropertiesViewer(Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Property");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);//w  w  w .j av a  2 s  .c om
    tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(200);
    EditingSupport editingSupport = new PropertyDataEditingSupport(viewer, viewer.getTable());
    tvColumn.setEditingSupport(editingSupport);

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PropertyDataLabelProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}

From source file:org.csstudio.opibuilder.visualparts.ScriptsInputDialog.java

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent//from  w ww. j a v  a2 s  .co m
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createScriptsTableViewer(final Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE);
    viewer.setContentProvider(new BaseWorkbenchContentProvider() {
        @SuppressWarnings("unchecked")
        @Override
        public Object[] getElements(final Object element) {
            return (((List<ScriptData>) element).toArray());
        }
    });
    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            refreshGUIOnSelection();
        }
    });
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}

From source file:org.csstudio.opibuilder.visualparts.WidgetsSelectDialog.java

License:Open Source License

private TableViewer createWidgetsViewer(Composite parent) {
    final TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new WidgetsListLableProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            selectedWidget = (String) ((StructuredSelection) viewer.getSelection()).getFirstElement();
        }/*from  ww w.  j  a  v  a2 s  . c om*/
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });

    return viewer;
}

From source file:org.csstudio.opibuilder.widgets.properties.ColorMapEditDialog.java

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent/*www . j a  v  a 2 s  .c om*/
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createColorListViewer(final Composite parent) {
    final TableViewer viewer = new TableViewer(parent,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);

    final TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(100);
    tvColumn.setEditingSupport(new ValueColumnEditingSupport(viewer, viewer.getTable()));

    tvColumn.getColumn().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Table table = viewer.getTable();
            int dir = table.getSortDirection();
            dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
            viewer.getTable().setSortDirection(dir);
            Object[] colorTupleArray = colorList.toArray();
            Arrays.sort(colorTupleArray);
            colorList.clear();
            int i = 0;
            ColorTuple[] array = new ColorTuple[colorTupleArray.length];
            for (Object o : colorTupleArray) {
                if (dir == SWT.UP)
                    array[i++] = (ColorTuple) o;
                else
                    array[colorTupleArray.length - 1 - i++] = (ColorTuple) o;
            }
            colorList.addAll(Arrays.asList(array));
            viewer.refresh();
        }
    });

    final TableViewerColumn colorColumn = new TableViewerColumn(viewer, SWT.NONE);
    colorColumn.getColumn().setText("Color");
    colorColumn.getColumn().setMoveable(false);
    colorColumn.getColumn().setWidth(100);
    colorColumn.setEditingSupport(new ColorColumnEditingSupport(viewer, viewer.getTable()));

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new ColorListLabelProvider());
    viewer.getTable().setSortColumn(tvColumn.getColumn());
    viewer.getTable().setSortDirection(SWT.UP);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            refreshToolbarOnSelection();
        }
    });
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}

From source file:org.csstudio.sds.ui.internal.dynamicswizard.SimpleChannelPage.java

License:Open Source License

/**
 * Creates a table viewer, which enables the user to enter typed input
 * channels.// w  w w.  j a  v a2 s.c  o  m
 *
 * @param parent
 *            the parent composite
 *
 * @return the created viewer
 */
private TableViewer createInputChannelsTable(final Composite parent) {
    final Group group = new Group(parent, SWT.NONE);
    group.setLayout(LayoutUtil.createGridLayout(1, 0, 0, 0));
    group.setText("Input Channels");
    group.setLayoutData(LayoutUtil.createGridDataForHorizontalFillingCell(300));

    final TableViewer viewer = createChannelTable(group);

    // enable Tooltip support
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    // cell modifiers
    final ICellModifier cellModifier = new ChannelTableCellModifier() {
        @Override
        protected void setChannelHook(final ParameterDescriptor descriptor, final String channel) {
            if (_isLinkOutput) {
                if (_dynamicsDescriptor.getOutputChannel() != null
                        && _dynamicsDescriptor.getOutputChannel().equals(descriptor)) {
                    _dynamicsDescriptor.getOutputChannel().setChannel(channel);
                }
            }

            viewer.setSelection(null);
        }

    };

    viewer.setCellModifier(cellModifier);

    viewer.setContentProvider(new ChannelTableContentProvider());
    viewer.setLabelProvider(new ChannelTableLabelProvider());

    // Input aufbereiten
    _inputChannelTableModel = createChannelTableModel(_dynamicsDescriptor);
    viewer.setInput(_inputChannelTableModel);

    createPopupMenu(viewer.getControl());
    return viewer;
}

From source file:org.csstudio.sds.ui.internal.preferences.MaintenanceRulePathTableFieldEditor.java

License:Open Source License

/**
 * {@inheritDoc}/*from w w w. j  av  a 2s.c  om*/
 */
@Override
public void createColumns() {
    final TableViewer tableViewer = getTableViewer();

    tableViewer.setContentProvider(new ArrayContentProvider());

    TableViewerColumn tvc;

    tvc = new TableViewerColumn(tableViewer, SWT.NONE);
    tvc.getColumn().setText("R-Typ");
    tvc.getColumn().setWidth(50);
    tvc.setLabelProvider(new ColumnLabelProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getText(Object element) {
            if (element instanceof List) {
                @SuppressWarnings("unchecked")
                List<String> parameterList = (List<String>) element;
                if (parameterList.size() > 1) {
                    return parameterList.get(0);
                }
            }
            return super.getText(element);
        }
    });
    tvc.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            @SuppressWarnings("unchecked")
            List<String> propertList = (List<String>) element;
            propertList.set(0, (String) value);
            tableViewer.refresh(element);
        }

        @Override
        protected Object getValue(Object element) {
            @SuppressWarnings("unchecked")
            List<String> propertList = (List<String>) element;
            return propertList.get(0);
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(tableViewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    tvc = new TableViewerColumn(tableViewer, SWT.NONE);
    tvc.getColumn().setText("Faceplate Path");
    tvc.getColumn().setWidth(250);
    tvc.setLabelProvider(new ColumnLabelProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getText(Object element) {
            if (element instanceof List) {
                @SuppressWarnings("unchecked")
                List<String> propertList = (List<String>) element;
                if (propertList.size() > 1) {
                    return propertList.get(1);
                }
            }
            return super.getText(element);
        }
    });

    tvc.setEditingSupport(new EditingSupport(tableViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            @SuppressWarnings("unchecked")
            List<String> propertList = (List<String>) element;
            switch (propertList.size()) {
            case 0:
                propertList.add("");
                //$FALL-THROUGH$
            case 1:
                propertList.add((String) value);
                break;
            default:
                propertList.set(1, (String) value);
            }
            tableViewer.refresh(element);
        }

        @Override
        protected Object getValue(Object element) {
            @SuppressWarnings("unchecked")
            List<String> propertList = (List<String>) element;
            String path = "";
            if (propertList.size() > 1) {
                path = propertList.get(1);
            }
            return path;
        }

        @Override
        protected CellEditor getCellEditor(Object elem) {
            return new DialogCellEditor(tableViewer.getTable()) {

                @Override
                protected Object openDialogBox(Control cellEditorWindow) {
                    final ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
                            cellEditorWindow.getShell(), new WorkbenchLabelProvider(),
                            new WorkbenchContentProvider());
                    IWorkspace workspace = ResourcesPlugin.getWorkspace();
                    dialog.setInput(workspace.getRoot());
                    dialog.setTitle("Select Maintenance Display");
                    dialog.setAllowMultiple(false);
                    dialog.setBlockOnOpen(true);
                    dialog.setMessage("Choose the Maintenance Display:");
                    dialog.setStatusLineAboveButtons(true);
                    String stringValue = (String) getValue();
                    IResource findMember = workspace.getRoot().findMember(stringValue);
                    dialog.setInitialSelection(findMember);
                    dialog.setValidator(new ISelectionStatusValidator() {

                        @Override
                        public IStatus validate(Object[] selection) {
                            if (selection != null && selection.length > 0) {
                                Object object = selection[0];
                                if (object instanceof IFile) {
                                    return Status.OK_STATUS;
                                }
                            }
                            return new Status(IStatus.ERROR, "org.csstudio.sds.ui", "Please select a SDS-File");
                        }
                    });

                    dialog.addFilter(new ViewerFilter() {

                        @Override
                        public boolean select(Viewer viewer, Object parentElement, Object element) {
                            if (element instanceof IFile) {
                                IFile file = (IFile) element;
                                if (file != null && file.getFileExtension() != null) {
                                    return file.getFileExtension().toLowerCase().equals("css-sds");
                                }
                                return false;
                            }
                            return true;
                        }
                    });

                    int open = dialog.open();
                    switch (open) {
                    case Window.OK:
                        IFile firstResult = (IFile) dialog.getFirstResult();
                        IPath fullPath = firstResult.getFullPath();
                        String string = fullPath.toString();
                        return string;
                    }
                    return null;
                }
            };
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
}

From source file:org.csstudio.sds.ui.internal.statistics.PerformanceMeasuresView.java

License:Open Source License

/**
 * Creates a table viewer, which enables the user to enter aliases.
 *
 * @param parent/*from w ww . j  a va  2s . com*/
 *            the parent composite
 *
 * @return the created viewer
 */
private TableViewer createMeasureResultsTable(final Composite parent) {
    Group group = new Group(parent, SWT.NONE);
    group.setLayout(LayoutUtil.createGridLayout(1, 0, 0, 0));
    group.setText("Performance Measures");
    group.setLayoutData(LayoutUtil.createGridDataForHorizontalFillingCell(100));

    // define column names
    String[] columnNames = new String[] { "PROP_NAME", "PROP_VALUE", "PROP_DESCRIPTION" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

    // create table
    final Table table = new Table(group, SWT.FULL_SELECTION | SWT.SCROLL_PAGE);
    table.setLinesVisible(true);
    table.setLayoutData(LayoutUtil.createGridDataForFillingCell());
    table.setHeaderVisible(true);

    TableColumn column = new TableColumn(table, SWT.CENTER, 0);
    column.setText("Category");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 1);
    column.setText("Exec [Counter]");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 2);
    column.setText("Time [Execution]");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 3);
    column.setText("Time [Total]");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 4);
    column.setText("Avg Exec [ calls / ms");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 5);
    column.setText("Avg Exec Time [ms / call");
    column.setWidth(140);

    column = new TableColumn(table, SWT.LEFT, 6);
    column.setText("Avg Total Time [ms / call");
    column.setWidth(140);

    // create viewer
    final TableViewer viewer = new TableViewer(table);
    // viewer.setUseHashlookup(true);

    // define column properties
    viewer.setColumnProperties(columnNames);

    // content and label provider
    viewer.setContentProvider(new MeasuresTableContentProvider());
    viewer.setLabelProvider(new MeasuresTableLabelProvider());
    viewer.setInput(MeasureCategoriesEnum.values());

    return viewer;
}