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

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

Introduction

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

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:org.dawnsci.internal.intro.universal.CustomizationContentsArea.java

License:Open Source License

private void createPopupMenu(final TableViewer viewer) {
    MenuManager manager = new MenuManager();
    manager.createContextMenu(viewer.getControl());
    viewer.getControl().setMenu(manager.getMenu());
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            fillPopupMenu(manager, viewer);
        }/*w  w  w  .  j  a v a 2 s.com*/
    });
}

From source file:org.dawnsci.plotting.tools.powderlines.PowderLineTool.java

License:Open Source License

private void createColumns(final TableViewer viewer) {

    // Set the tooltip to not created more than once in the same area
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    TableColumnLayout tcl = new TableColumnLayout();
    viewer.getControl().getParent().setLayout(tcl);

    // Create the columns
    TableViewerColumn colvarTheMagnificent;
    int iCol = 0;

    colvarTheMagnificent = new TableViewerColumn(lineTableViewer, SWT.CENTER, iCol++);
    colvarTheMagnificent.getColumn().setText("d spacing ()");
    colvarTheMagnificent.getColumn().setWidth(300); // a reasonable width
    colvarTheMagnificent/* ww w.  java  2  s .c  o m*/
            .setLabelProvider(new PowderLineLabelProvider(PowderLineModel.PowderLineCoord.D_SPACING));
    tcl.setColumnData(colvarTheMagnificent.getColumn(), new ColumnWeightData(1));

    colvarTheMagnificent = new TableViewerColumn(lineTableViewer, SWT.CENTER, iCol++);
    colvarTheMagnificent.getColumn().setText("Q (?)");
    colvarTheMagnificent.getColumn().setWidth(300); // a reasonable width
    colvarTheMagnificent.setLabelProvider(new PowderLineLabelProvider(PowderLineModel.PowderLineCoord.Q));
    tcl.setColumnData(colvarTheMagnificent.getColumn(), new ColumnWeightData(1));

    colvarTheMagnificent = new TableViewerColumn(lineTableViewer, SWT.CENTER, iCol++);
    colvarTheMagnificent.getColumn().setText("2 ()");
    colvarTheMagnificent.getColumn().setWidth(300); // a reasonable width
    colvarTheMagnificent.setLabelProvider(new PowderLineLabelProvider(PowderLineModel.PowderLineCoord.ANGLE));
    tcl.setColumnData(colvarTheMagnificent.getColumn(), new ColumnWeightData(1));

}

From source file:org.eclipse.b3.aggregator.presentation.FixVersionsDialog.java

License:Open Source License

@Override
public Control createDialogArea(Composite parent) {
    setTitle(B3Messages.FixVersionDialog_Title);
    setMessage(B3Messages.FixVersionDialog_UpdateMessage);

    Composite res = new Composite(parent, SWT.NONE);
    res.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    res.setLayout(new GridLayout(1, false));

    Label summaryLabel = new Label(res, SWT.NONE);
    summaryLabel.setText(this.suggestedVersions.size() + " versions to update.");

    final TableViewer viewer = new TableViewer(res);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);
    TableViewerColumn nameColumn = new TableViewerColumn(viewer, SWT.DEFAULT);
    nameColumn.getColumn().setText("Feature");
    nameColumn.getColumn().setResizable(true);
    nameColumn.getColumn().setWidth(200);
    nameColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override//  w  w  w .ja  v  a2  s.  c  o m
        public String getText(Object o) {
            return ((InstallableUnitRequest) o).getName();
        }
    });
    TableViewerColumn previousVersion = new TableViewerColumn(viewer, SWT.DEFAULT);
    previousVersion.getColumn().setResizable(true);
    previousVersion.getColumn().setWidth(200);
    previousVersion.getColumn().setText("Current Version");
    previousVersion.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object o) {
            VersionRange range = ((InstallableUnitRequest) o).getVersionRange();
            if (range != null) {
                return range.toString();
            }
            return ""; //$NON-NLS-1$
        }
    });
    TableViewerColumn suggestedVersion = new TableViewerColumn(viewer, SWT.DEFAULT);
    suggestedVersion.getColumn().setText("Suggested Version");
    suggestedVersion.getColumn().setResizable(true);
    suggestedVersion.getColumn().setWidth(200);
    suggestedVersion.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public Color getForeground(Object o) {
            InstallableUnitRequest feature = (InstallableUnitRequest) o;
            VersionRange range = feature.getVersionRange();
            if (range != null) {
                if (!range.isIncluded(suggestedVersions.get(feature))) {
                    return viewer.getControl().getDisplay().getSystemColor(SWT.COLOR_RED);
                }
            }
            return viewer.getControl().getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN);
        }

        @Override
        public String getText(Object o) {
            InstallableUnitRequest feature = (InstallableUnitRequest) o;
            return suggestedVersions.get(feature).toString();
        }
    });
    suggestedVersion.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected boolean canEdit(Object element) {
            return ((InstallableUnitRequest) element).getAvailableVersions().size() > 1;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            InstallableUnitRequest feature = (InstallableUnitRequest) element;
            ComboBoxViewerCellEditor comboCellEditor = new ComboBoxViewerCellEditor(viewer.getTable());
            comboCellEditor.setContentProvider(new ArrayContentProvider());
            List<Version> content = new ArrayList<Version>();
            for (AvailableVersion version : feature.getAvailableVersions()) {
                content.add(version.getVersion());
            }
            comboCellEditor.setInput(content);
            return comboCellEditor;
        }

        @Override
        protected Version getValue(Object element) {
            InstallableUnitRequest feature = (InstallableUnitRequest) element;
            return suggestedVersions.get(feature);
        }

        @Override
        protected void setValue(Object element, Object value) {
            suggestedVersions.put((InstallableUnitRequest) element, (Version) value);
            viewer.refresh(element);
        }
    });
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(this.suggestedVersions.keySet());

    return res;
}

From source file:org.eclipse.cdt.examples.dsf.dataviewer.ACPMSumDataViewer.java

License:Open Source License

/**
 * The entry point for the example./*from   w w  w . j  a  v a 2s  . c  o  m*/
 * @param args Program arguments.
 */
public static void main(String[] args) {
    // Create the shell to hold the viewer.
    Display display = new Display();
    Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    shell.setLayoutData(data);
    Font font = new Font(display, "Courier", 10, SWT.NORMAL);

    // Create the table viewer.
    TableViewer tableViewer = new TableViewer(shell, SWT.BORDER | SWT.VIRTUAL);
    tableViewer.getControl().setLayoutData(data);

    DsfExecutor executor = new DefaultDsfExecutor("Example executor");

    // Create the data generator.
    final IDataGenerator[] generators = new IDataGenerator[5];
    for (int i = 0; i < generators.length; i++) {
        generators[i] = new DataGeneratorWithExecutor(executor);
    }
    final IDataGenerator sumGenerator = new ACPMSumDataGenerator(executor, generators);

    // Create the content provider which will populate the viewer.
    ACPMSumDataViewer contentProvider = new ACPMSumDataViewer(tableViewer, new ImmediateInDsfExecutor(executor),
            generators, sumGenerator);
    tableViewer.setContentProvider(contentProvider);
    tableViewer.setInput(new Object());

    // Open the shell and service the display dispatch loop until user
    // closes the shell.
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    // The IDataGenerator.shutdown() method is asynchronous, this requires
    // using a query again in order to wait for its completion.
    Query<Object> shutdownQuery = new Query<Object>() {
        @Override
        protected void execute(DataRequestMonitor<Object> rm) {
            CountingRequestMonitor crm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm);
            for (int i = 0; i < generators.length; i++) {
                generators[i].shutdown(crm);
            }
            sumGenerator.shutdown(crm);
            crm.setDoneCount(generators.length);
        }
    };

    executor.execute(shutdownQuery);
    try {
        shutdownQuery.get();
    } catch (Exception e) {
    }

    // Shut down the display.
    font.dispose();
    display.dispose();
}

From source file:org.eclipse.cdt.examples.dsf.dataviewer.AsyncDataViewer.java

License:Open Source License

public static void main(String[] args) {
    // Create the shell to hold the viewer.
    Display display = new Display();
    Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    shell.setLayoutData(data);//  w  ww  .j a  v a  2 s.c  o m
    Font font = new Font(display, "Courier", 10, SWT.NORMAL);

    // Create the table viewer.
    TableViewer tableViewer = new TableViewer(shell, SWT.BORDER | SWT.VIRTUAL);
    tableViewer.getControl().setLayoutData(data);

    // Create the data generator.
    final IDataGenerator generator = new DataGeneratorWithExecutor();

    // Create the content provider which will populate the viewer.
    AsyncDataViewer contentProvider = new AsyncDataViewer(tableViewer, generator);
    tableViewer.setContentProvider(contentProvider);
    tableViewer.setInput(new Object());

    // Open the shell and service the display dispatch loop until user
    // closes the shell.
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    // The IDataGenerator.shutdown() method is asynchronous, this requires
    // using a query again in order to wait for its completion.
    Query<Object> shutdownQuery = new Query<Object>() {
        @Override
        protected void execute(DataRequestMonitor<Object> rm) {
            generator.shutdown(rm);
        }
    };
    ImmediateExecutor.getInstance().execute(shutdownQuery);
    try {
        shutdownQuery.get();
    } catch (Exception e) {
    }

    // Shut down the display.
    font.dispose();
    display.dispose();
}

From source file:org.eclipse.cdt.examples.dsf.dataviewer.AsyncSumDataViewer.java

License:Open Source License

/**
 * The entry point for the example./*from ww w. j a v a2s . c  om*/
 * @param args Program arguments.
 */
public static void main(String[] args) {
    // Create the shell to hold the viewer.
    Display display = new Display();
    Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    shell.setLayoutData(data);
    Font font = new Font(display, "Courier", 10, SWT.NORMAL);

    // Create the table viewer.
    TableViewer tableViewer = new TableViewer(shell, SWT.BORDER | SWT.VIRTUAL);
    tableViewer.getControl().setLayoutData(data);

    // Single executor (and single thread) is used by all data generators, 
    // including the sum generator.
    DsfExecutor executor = new DefaultDsfExecutor("Example executor");

    // Create the data generator.
    final IDataGenerator[] generators = new IDataGenerator[5];
    for (int i = 0; i < generators.length; i++) {
        generators[i] = new DataGeneratorWithExecutor(executor);
    }
    final IDataGenerator sumGenerator = new AsyncSumDataGenerator(executor, generators);

    // Create the content provider which will populate the viewer.
    AsyncSumDataViewer contentProvider = new AsyncSumDataViewer(tableViewer, generators, sumGenerator);
    tableViewer.setContentProvider(contentProvider);
    tableViewer.setInput(new Object());

    // Open the shell and service the display dispatch loop until user
    // closes the shell.
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    // The IDataGenerator.shutdown() method is asynchronous, this requires
    // using a query again in order to wait for its completion.
    Query<Object> shutdownQuery = new Query<Object>() {
        @Override
        protected void execute(DataRequestMonitor<Object> rm) {
            CountingRequestMonitor crm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm);
            for (int i = 0; i < generators.length; i++) {
                generators[i].shutdown(crm);
            }
            sumGenerator.shutdown(crm);
            crm.setDoneCount(generators.length);
        }
    };

    executor.execute(shutdownQuery);
    try {
        shutdownQuery.get();
    } catch (Exception e) {
    }

    // Shut down the display.
    font.dispose();
    display.dispose();
}

From source file:org.eclipse.cdt.examples.dsf.dataviewer.SyncDataViewer.java

License:Open Source License

/**
 * The entry point for the example.//from  w  w w  .  j  a v a  2  s . c  o  m
 * @param args Program arguments.
 */
public static void main(String[] args) {
    // Create the shell to hold the viewer.
    Display display = new Display();
    Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    shell.setLayoutData(data);
    Font font = new Font(display, "Courier", 10, SWT.NORMAL);

    // Create the table viewer.
    TableViewer tableViewer = new TableViewer(shell, SWT.BORDER);
    tableViewer.getControl().setLayoutData(data);

    // Create the data generator.
    //#ifdef exercises
    // TODO Exercise 5 - Use the DataGeneratorWithExecutor() instead.
    final IDataGenerator generator = new DataGeneratorWithThread();
    //#else
    //#        final IDataGenerator generator = new DataGeneratorWithExecutor();     
    //#endif

    // Create the content provider which will populate the viewer.
    SyncDataViewer contentProvider = new SyncDataViewer(tableViewer, generator);
    tableViewer.setContentProvider(contentProvider);
    tableViewer.setInput(new Object());

    // Open the shell and service the display dispatch loop until user
    // closes the shell.
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    // The IDataGenerator.shutdown() method is asynchronous, this requires
    // using a query again in order to wait for its completion.
    Query<Object> shutdownQuery = new Query<Object>() {
        @Override
        protected void execute(DataRequestMonitor<Object> rm) {
            generator.shutdown(rm);
        }
    };
    ImmediateExecutor.getInstance().execute(shutdownQuery);
    try {
        shutdownQuery.get();
    } catch (Exception e) {
    }

    // Shut down the display.
    font.dispose();
    display.dispose();
}

From source file:org.eclipse.cdt.internal.ui.search.CSearchViewPage.java

License:Open Source License

@Override
protected TableViewer createTableViewer(Composite parent) {
    TableViewer tableViewer = new TableViewer(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    tableViewer.getControl().addDisposeListener(new DisposeListener() {
        @Override//from  w  ww . j  av  a2 s  .  co m
        public void widgetDisposed(DisposeEvent e) {
            saveColumnWidths();
        }
    });
    return tableViewer;
}

From source file:org.eclipse.cdt.internal.ui.search.PDOMSearchViewPage.java

License:Open Source License

@Override
protected TableViewer createTableViewer(Composite parent) {
    TableViewer tableViewer = new TableViewer(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    tableViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            saveColumnWidths();/*w  ww  .  j  a v a  2s  .  co  m*/
        }
    });
    return tableViewer;
}

From source file:org.eclipse.dd.examples.dsf.dataviewer.SyncDataViewer.java

License:Open Source License

public static void main(String[] args) {
    // Create the shell to hold the viewer.
    Display display = new Display();
    Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setLayout(new GridLayout());
    GridData data = new GridData(GridData.FILL_BOTH);
    shell.setLayoutData(data);/*  www  .  j  a  va2  s .  co  m*/
    Font font = new Font(display, "Courier", 10, SWT.NORMAL);

    // Create the table viewer.
    TableViewer tableViewer = new TableViewer(shell, SWT.BORDER);
    tableViewer.getControl().setLayoutData(data);

    // Create the data generator.
    //#ifdef exercises
    // TODO Exercise 5 - Use the DataGeneratorWithExecutor() instead.
    final IDataGenerator generator = new DataGeneratorWithThread();
    //#else
    //#        final IDataGenerator generator = new DataGeneratorWithExecutor();     
    //#endif

    // Create the content provider which will populate the viewer.
    SyncDataViewer contentProvider = new SyncDataViewer(tableViewer, generator);
    tableViewer.setContentProvider(contentProvider);
    tableViewer.setInput(new Object());

    // Open the shell and service the display dispatch loop until user
    // closes the shell.
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }

    // The IDataGenerator.shutdown() method is asynchronous, this requires
    // using a query again in order to wait for its completion.
    Query<Object> shutdownQuery = new Query<Object>() {
        @Override
        protected void execute(DataRequestMonitor<Object> rm) {
            generator.shutdown(rm);
        }
    };
    ImmediateExecutor.getInstance().execute(shutdownQuery);
    try {
        shutdownQuery.get();
    } catch (Exception e) {
    }

    // Shut down the display.
    font.dispose();
    display.dispose();
}