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

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

Introduction

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

Prototype

public Table getTable() 

Source Link

Document

Returns this table viewer's table control.

Usage

From source file:org.csstudio.diag.pvfields.gui.GUI.java

License:Open Source License

/** Create table for {@link PVField}s
 *  @param box Container/*from www .  j ava  2  s  . com*/
 *  @return {@link TableViewer}
 */
private static TableViewer createFieldTable(final Composite box) {
    final TableColumnLayout table_layout = new TableColumnLayout();
    box.setLayout(table_layout);

    final TableViewer viewer = new TableViewer(box, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    final Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    ColumnViewerToolTipSupport.enableFor(viewer);
    viewer.setContentProvider(new ArrayContentProvider());

    final Display display = viewer.getTable().getDisplay();
    createColumn(viewer, table_layout, "Field", 40, new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PVField field = (PVField) cell.getElement();
            cell.setText(PVHelper.getField(field.getName()));
        }
    });
    createColumn(viewer, table_layout, "Original Value", 60, new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PVField field = (PVField) cell.getElement();
            cell.setText(field.getOriginalValue());
            if (field.isChanged())
                cell.setBackground(display.getSystemColor(SWT.COLOR_GRAY));
            else
                cell.setBackground(null);
        }
    });
    createColumn(viewer, table_layout, "Current Value", 60, new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PVField field = (PVField) cell.getElement();
            cell.setText(field.getCurrentValue());
            if (field.isChanged())
                cell.setBackground(display.getSystemColor(SWT.COLOR_GRAY));
            else
                cell.setBackground(null);
        }
    });
    return viewer;
}

From source file:org.csstudio.diag.pvutil.view.PVUtilView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    if (model == null) {
        new Label(parent, 0).setText("Cannot initialize"); //$NON-NLS-1$
        return;// www  . j  a  v a  2  s  .  c om
    }
    gui = new GUI(parent, model);

    // Allow Eclipse to listen to PV selection changes
    final TableViewer pv_table = gui.getPVTableViewer();
    getSite().setSelectionProvider(pv_table);

    // Allow dragging PV names
    new ControlSystemDragSource(pv_table.getTable()) {
        @Override
        public Object getSelection() {
            final IStructuredSelection selection = (IStructuredSelection) pv_table.getSelection();
            final Object[] objs = selection.toArray();
            final PV[] pvs = Arrays.copyOf(objs, objs.length, PV[].class);
            return pvs;
        }
    };

    // Enable 'Drop'
    final Text pv_filter = gui.getPVFilterText();
    new ControlSystemDropTarget(pv_filter, ProcessVariable.class, String.class) {
        @Override
        public void handleDrop(final Object item) {
            if (item instanceof ProcessVariable)
                setPVFilter(((ProcessVariable) item).getName());
            else if (item instanceof String)
                setPVFilter(item.toString().trim());
        }
    };

    // Add empty context menu so that other CSS apps can
    // add themselves to it
    MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
    menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    Menu menu = menuMgr.createContextMenu(pv_table.getControl());
    pv_table.getControl().setMenu(menu);
    getSite().registerContextMenu(menuMgr, pv_table);

    // Add context menu to the name table.
    // One reason: Get object contribs for the NameTableItems.
    IWorkbenchPartSite site = getSite();
    MenuManager manager = new MenuManager("#PopupMenu"); //$NON-NLS-1$
    manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    Menu contextMenu = manager.createContextMenu(pv_table.getControl());
    pv_table.getControl().setMenu(contextMenu);
    site.registerContextMenu(manager, pv_table);
}

From source file:org.csstudio.display.pvtable.ui.PVTableCellModifier.java

License:Open Source License

/** Create a CellModifier for the PV Table and attach it to the TableViewer
 *  @param table_viewer The TableViewer to which to attach.
 *  @param pv_list The model on which this cell editor operates.
 *//*from www . j a v a2s .co m*/
public PVTableCellModifier(TableViewer table_viewer, PVListModel pv_list) {
    this.pv_list = pv_list;
    CellEditor editors[] = new CellEditor[PVTableHelper.properties.length];
    Table table = table_viewer.getTable();
    // Clarification:
    // I was expecting to see a checkbox-type display item
    // and editor when using the CheckboxCellEditor.
    // Doesn't happen. One needs a label provoder that returns
    // for example a checked resp. un-checked image for the
    // two states of the item.
    // The CheckboxCellEditor simply expects data of type Boolean,
    // and turns mouse clicks into modify() calls with a new Boolean.
    // It doesn't help at all with the display (label provider).
    for (int i = 0; i < PVTableHelper.properties.length; ++i) {
        if (i == PVTableHelper.SELECT)
            editors[i] = new CheckboxCellEditor(table);
        else
            editors[i] = new TextCellEditor(table);
    }

    // They use 'properties', not column numbers, to identify a column.
    table_viewer.setColumnProperties(PVTableHelper.properties);
    table_viewer.setCellEditors(editors);
    table_viewer.setCellModifier(this);
}

From source file:org.csstudio.domain.common.ui.AbstractTableFieldEditor.java

License:Open Source License

/**
 * @return//from   w  w  w.  jav a  2s .  c o  m
 * @return
 */
public Table getTable() {
    final TableViewer tableViewer = getTableViewer();
    return tableViewer.getTable();
}

From source file:org.csstudio.jaasauthentication.ui.ModuleColumnEditor.java

License:Open Source License

@Override
protected void setValue(Object element, Object value) {
    JAASConfigurationEntry je;//w  w w.  j  a va2 s . c  o m
    if (element == ModuleTableContentProvider.ADD_ELEMENT) {
        je = new JAASConfigurationEntry(value.toString(), JAASPreferenceModel.FLAG_REQUIRED);
        JAASPreferenceModel.configurationEntryList.add(je);
        getViewer().refresh();
        TableViewer tableViewer = (TableViewer) getViewer();
        tableViewer.getTable().select(JAASPreferenceModel.configurationEntryList.size() - 1);
        moduleTableEditor.updateOptionsTable();

        return;
    }
    // else
    final int index = ((Integer) element).intValue();
    je = JAASPreferenceModel.configurationEntryList.get(index);
    je.setLoginModuleName(value.toString());
    getViewer().refresh(element);
}

From source file:org.csstudio.opibuilder.visualparts.ActionsInputDialog.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(100);/*from w ww. ja  va 2  s .  com*/
    tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(300);
    EditingSupport editingSupport = new PropertiesEditingSupport(viewer, viewer.getTable());
    tvColumn.setEditingSupport(editingSupport);

    viewer.setContentProvider(new WidgetPropertiesContentProvider());
    viewer.setLabelProvider(new PropertiesLabelProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.getTable().setEnabled(false);
    return viewer;
}

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

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent//  w w  w.  j a  v a  2  s  . com
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createActionsTableViewer(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<AbstractWidgetAction>) element).toArray());
        }
    });
    viewer.setLabelProvider(new WorkbenchLabelProvider() {
        @Override
        protected String decorateText(String input, Object element) {
            return input + "(index: " + actionsList.indexOf(element) + ")";
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        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.OPIColorDialog.java

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent/*  ww  w.  ja va 2s  .c o m*/
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createPredefinedColorsTableViewer(final Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE);
    viewer.setContentProvider(new BaseWorkbenchContentProvider() {
        @Override
        public Object[] getElements(final Object element) {
            return (Object[]) element;
        }
    });
    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));

    MenuManager menuManager = new MenuManager();
    menuManager.add(new ReloadColorFileAction());
    viewer.getTable().setMenu(menuManager.createContextMenu(viewer.getTable()));
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    return viewer;
}

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

License:Open Source License

/**
 * Creates and configures a {@link TableViewer}.
 *
 * @param parent//from  ww w  . jav a2  s  .c o m
 *            The parent for the table
 * @return The {@link TableViewer}
 */
private TableViewer createPredefinedFontsTableViewer(final Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE);
    viewer.setContentProvider(new BaseWorkbenchContentProvider() {
        @Override
        public Object[] getElements(final Object element) {
            return (Object[]) element;
        }
    });
    viewer.setLabelProvider(new LabelProvider());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            refreshGUIOnSelection();
        }
    });
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    MenuManager menuManager = new MenuManager();
    menuManager.add(new ReloadFontFileAction());
    viewer.getTable().setMenu(menuManager.createContextMenu(viewer.getTable()));
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    return viewer;
}

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);/*from   w  w w  . j av  a2 s  . c  o m*/
    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;
}