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:uk.ac.gda.epics.client.pixium.views.PixiumView.java

License:Open Source License

private void setSelectionValue(final TableViewer control, final ISelection selection) {
    if (control != null && !control.getControl().isDisposed()) {
        control.getControl().getDisplay().asyncExec(new Runnable() {
            @Override/*from ww  w  .j  a  va 2 s . c o m*/
            public void run() {
                if (!control.getControl().isDisposed()) {
                    control.setSelection(selection);
                }
            }
        });
    }
}

From source file:v9t9.gui.client.swt.shells.disk.DiskCatalogDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);
    ((GridLayout) composite.getLayout()).numColumns = 2;

    Label label = new Label(composite, SWT.WRAP);
    label.setText(catalog.deviceName + "\n\nName: " + catalog.volumeName + "; Total: " + catalog.totalSectors
            + "; Used: " + catalog.usedSectors);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(label);

    final TableViewer viewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new CatalogLabelProvider());

    final CatalogSorter comparator = new CatalogSorter();
    viewer.setComparator(comparator);//from  w w w. ja  v  a2 s  .  c  o  m

    final Table table = viewer.getTable();
    table.setHeaderVisible(true);

    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());

    TableColumn fileColumn = new TableColumn(table, SWT.LEFT);
    fileColumn.setText("Filename");
    setSortListener(viewer, fileColumn, COLUMN_NAME);
    TableColumn sizeColumn = new TableColumn(table, SWT.LEFT);
    sizeColumn.setText("Sectors");
    setSortListener(viewer, sizeColumn, COLUMN_SIZE);
    TableColumn typeColumn = new TableColumn(table, SWT.LEFT);
    typeColumn.setText("Type");
    setSortListener(viewer, typeColumn, COLUMN_TYPE);
    TableColumn lenColumn = new TableColumn(table, SWT.LEFT);
    lenColumn.setText("RecLen");
    setSortListener(viewer, lenColumn, COLUMN_RECLEN);
    TableColumn protColumn = new TableColumn(table, SWT.CENTER);
    protColumn.setText("Prot?");
    setSortListener(viewer, protColumn, COLUMN_PROT);
    TableColumn commentColumn = new TableColumn(table, SWT.LEFT);
    commentColumn.setText("Comment");
    setSortListener(viewer, commentColumn, COLUMN_COMMENT);

    viewer.setInput(entries);

    fileColumn.pack();
    sizeColumn.pack();
    typeColumn.pack();
    lenColumn.pack();
    commentColumn.pack();

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.isEmpty()) {
                selectedEntry = null;
            } else {
                selectedEntry = (CatalogEntry) sel.getFirstElement();
            }
            pastePathButton.setEnabled(selectedEntry != null);
            pasteFileNameButton.setEnabled(selectedEntry != null);
            viewContentButton.setEnabled(selectedEntry != null);
        }
    });
    ///

    Composite buttons = new Composite(composite, SWT.NONE);
    GridLayoutFactory.fillDefaults().applyTo(buttons);
    GridDataFactory.fillDefaults().applyTo(buttons);
    pastePathButton = new Button(buttons, SWT.PUSH);
    pastePathButton.setText("Paste Path");

    GridDataFactory.fillDefaults().applyTo(pastePathButton);
    pasteFileNameButton = new Button(buttons, SWT.PUSH);
    pasteFileNameButton.setText("Paste Filename");
    GridDataFactory.fillDefaults().applyTo(pasteFileNameButton);
    viewContentButton = new Button(buttons, SWT.PUSH);
    GridDataFactory.fillDefaults().applyTo(viewContentButton);
    viewContentButton.setText("View Content");

    pastePathButton.setEnabled(selectedEntry != null);
    pasteFileNameButton.setEnabled(selectedEntry != null);
    viewContentButton.setEnabled(selectedEntry != null);

    pastePathButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectedEntry == null)
                return;
            doPaste(selectedEntry, true);
        }
    });
    pasteFileNameButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectedEntry == null)
                return;
            doPaste(selectedEntry, false);
        }
    });
    viewContentButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectedEntry == null)
                return;
            doViewContent(selectedEntry.getFile());
        }
    });
    table.addMenuDetectListener(new MenuDetectListener() {

        @Override
        public void menuDetected(MenuDetectEvent e) {
            final Item item = viewer.getTable().getItem(viewer.getControl().toControl(new Point(e.x, e.y)));
            if (item == null)
                return;

            Menu menu = new Menu(viewer.getControl());

            if (item.getData() instanceof CatalogEntry) {

                final CatalogEntry entry = (CatalogEntry) item.getData();

                final MenuItem pasteFullPathItem;
                pasteFullPathItem = new MenuItem(menu, SWT.NONE);
                pasteFullPathItem.setText("Paste path into emulator");

                pasteFullPathItem.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        doPaste(entry, true);
                    }
                });

                final MenuItem pasteNameItem;
                pasteNameItem = new MenuItem(menu, SWT.NONE);
                pasteNameItem.setText("Paste filename into emulator");

                pasteNameItem.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        doPaste(entry, false);
                    }
                });

                final MenuItem viewItem;
                viewItem = new MenuItem(menu, SWT.NONE);
                viewItem.setText("View content");

                viewItem.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        doViewContent(entry.getFile());
                    }
                });

            }

            if (menu.getItemCount() == 0) {
                menu.dispose();
                return;
            }

            menu.setLocation(e.x, e.y);
            menu.setVisible(true);

            while (!menu.isDisposed() && menu.isVisible()) {
                if (!getShell().getDisplay().readAndDispatch())
                    getShell().getDisplay().sleep();
            }

        }
    });

    return composite;
}