Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

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

Prototype

public TreeColumn getColumn() 

Source Link

Usage

From source file:scouter.client.maria.views.DbLockListView.java

License:Apache License

private TreeViewerColumn createTreeViewerColumn(String title, int width, int alignment, boolean resizable,
        boolean moveable, final boolean isNumber) {
    final TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    final TreeColumn column = viewerColumn.getColumn();
    column.setText(title);/*from   w w  w. j ava 2  s .c  o m*/
    column.setAlignment(alignment);
    column.setMoveable(moveable);
    columnLayout.setColumnData(column, new ColumnPixelData(width, resizable));
    return viewerColumn;
}

From source file:scouter.client.maria.views.DigestTableView.java

License:Apache License

private TreeViewerColumn createTreeViewerColumn(String title, int width, int alignment, boolean resizable,
        boolean moveable, final boolean isNumber) {
    final TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    final TreeColumn column = viewerColumn.getColumn();
    column.setText(title);/*  w w w  .  j av  a2  s.  co m*/
    column.setAlignment(alignment);
    column.setMoveable(moveable);
    columnLayout.setColumnData(column, new ColumnPixelData(width, resizable));
    column.setData("isNumber", isNumber);
    column.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            TreeLabelSorter sorter = (TreeLabelSorter) viewer.getComparator();
            TreeColumn selectedColumn = (TreeColumn) e.widget;
            sorter.setColumn(selectedColumn);
        }
    });
    return viewerColumn;
}

From source file:sernet.gs.ui.rcp.main.bsi.views.DocumentView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    super.createPartControl(parent);

    final int colum1Width = 200;
    final int colum2Width = 100;
    final int colum3Width = colum2Width;

    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.NONE);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override/*  w ww  .  j  av  a 2 s.c o  m*/
        public String getText(Object element) {
            if (element instanceof DocumentLink) {
                return ((DocumentLink) element).getName();
            }
            return ""; //$NON-NLS-1$
        }
    });
    column.getColumn().setText(Messages.DocumentView_2);

    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.NONE);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof DocumentLink) {
                return ((DocumentLink) element).getHref();
            }
            return ""; //$NON-NLS-1$
        }
    });
    column2.getColumn().setText(Messages.DocumentView_4);

    TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.NONE);
    column3.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof DocumentReference) {
                DocumentReference docref = (DocumentReference) element;
                return docref.getCnaTreeElement().getTitle();
            }
            return ""; //$NON-NLS-1$
        }
    });
    column3.getColumn().setText(Messages.DocumentView_6);

    viewer.setContentProvider(new DocumentContentProvider(viewer));
    viewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof DocumentLink && e2 instanceof DocumentLink) {
                DocumentLink link1 = (DocumentLink) e1;
                DocumentLink link2 = (DocumentLink) e2;
                return link1.getName().compareTo(link2.getName());
            }
            if (e1 instanceof DocumentReference && e2 instanceof DocumentReference) {
                DocumentReference ref1 = (DocumentReference) e1;
                DocumentReference ref2 = (DocumentReference) e2;
                return ref1.getCnaTreeElement().getTitle().compareTo(ref2.getCnaTreeElement().getTitle());
            }
            return 0;
        }
    });

    setInput();

    column.getColumn().setWidth(colum1Width);
    column2.getColumn().setWidth(colum2Width);
    column3.getColumn().setWidth(colum3Width);

    makeActions();
    hookActions();
    getSite().setSelectionProvider(viewer);
    CnAElementFactory.getInstance().addLoadListener(loadListener);
    fillLocalToolBar();
    addPartLister();
}

From source file:tern.eclipse.ide.linter.ui.properties.TernLinterOptionsBlock.java

License:Open Source License

/**
 * Create tree of tern linter config options.
 * /*  w w  w . j a  va2 s  .com*/
 * @param ancestor
 */
private void createOptionsMaster(Composite ancestor) {
    Composite parent = new Composite(ancestor, SWT.NONE);
    parent.setLayoutData(new GridData(GridData.FILL_BOTH));
    TreeColumnLayout layout = new TreeColumnLayout();
    parent.setLayout(layout);
    Font font = ancestor.getFont();
    parent.setFont(font);

    // Create Tree
    treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
    Tree tree = treeViewer.getTree();
    tree.setHeaderVisible(false);
    tree.setLinesVisible(true);

    GridData data = new GridData(GridData.FILL_BOTH);
    data.minimumHeight = 400;
    tree.setLayoutData(data);

    treeViewer.setContentProvider(LinterConfigContentProvider.getInstance());

    // Create label column
    TreeViewerColumn labelColumnViewer = new TreeViewerColumn(treeViewer, SWT.LEFT);
    labelColumnViewer
            .setLabelProvider(new TreeColumnViewerLabelProvider(LinterConfigLabelProvider.getInstance()));
    layout.setColumnData(labelColumnViewer.getColumn(), new ColumnWeightData(1, 150));

    // Create value column
    TreeViewerColumn valueColumnViewer = new TreeViewerColumn(treeViewer, SWT.LEFT);
    valueColumnViewer
            .setLabelProvider(new TreeColumnViewerLabelProvider(LinterConfigLabelProvider.getInstance()));
    valueColumnViewer.setEditingSupport(new LinterOptionEditingSupport(valueColumnViewer.getViewer()));
    layout.setColumnData(valueColumnViewer.getColumn(), new ColumnWeightData(1, 100));

    // Add tree selection listener to refresh the detail information of teh
    // selected option
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent e) {
            if (!e.getSelection().isEmpty()) {
                ITernLinterOption option = (ITernLinterOption) ((IStructuredSelection) e.getSelection())
                        .getFirstElement();
                refreshOption(option);
            } else {
                refreshOption(null);
            }
        }
    });
    restoreColumnSettings();
}

From source file:uk.ac.diamond.scisoft.analysis.rcp.hdf5.HDF5TableTree.java

License:Open Source License

/**
 * @param parent/*from  ww  w .j a  v  a2 s  . c  o  m*/
 * @param slistener for single clicks
 * @param dlistener for double clicks
 * @param clistener for context click
 */
public HDF5TableTree(Composite parent, Listener slistener, Listener dlistener, Listener clistener) {
    super(parent, SWT.NONE);
    setLayout(new FillLayout());
    this.slistener = slistener;
    this.dlistener = dlistener;
    this.clistener = clistener;

    // set up tree filter to omit following node names
    treeFilter = new TreeFilter(new String[] { "target", NexusTreeUtils.NX_CLASS });

    // set up tree and its columns
    tViewer = new TreeViewer(this, SWT.BORDER | SWT.VIRTUAL);
    tViewer.setUseHashlookup(true);

    final Tree tree = tViewer.getTree();
    tree.setHeaderVisible(true);

    String[] titles = { "Name", "Class", "Dims", "Type", "Data" };
    int[] widths = { 250, 120, 80, 60, 300 };

    TreeViewerColumn tVCol;
    headerMenu = new Menu(parent.getShell(), SWT.POP_UP);

    for (int i = 0; i < titles.length; i++) {
        tVCol = new TreeViewerColumn(tViewer, SWT.NONE);
        final TreeColumn tCol = tVCol.getColumn();
        tCol.setText(titles[i]);
        tCol.setWidth(widths[i]);
        tCol.setMoveable(true);
        final MenuItem item = new MenuItem(headerMenu, SWT.CHECK);
        item.setText(titles[i]);
        item.setSelection(true);
        item.addListener(SWT.Selection, new Listener() {
            @Override
            public void handleEvent(Event event) {
                if (!item.getSelection()) {
                    int width = tCol.getWidth();
                    tCol.setData("restoredWidth", Integer.valueOf(width));
                    tCol.setWidth(0);
                } else {
                    int width = (Integer) tCol.getData("restoredWidth");
                    tCol.setWidth(width);
                }
            }
        });
    }

    treeMenu = new Menu(parent.getShell(), SWT.POP_UP);

    // TODO make context menu dependent on node (use a SWT.Show listener on menu)
    if (clistener != null) {
        treeMenu.addListener(SWT.Show, new Listener() {
            @Override
            public void handleEvent(Event event) {
                // get selection and decide
                ITreeSelection sel = (ITreeSelection) tViewer.getSelection();
                Object obj = sel.getFirstElement();
                boolean enable = false;
                if (obj instanceof NodeLink) {
                    NodeLink link = (NodeLink) obj;
                    enable = link.isDestinationData() && !((DataNode) link.getDestination()).isString();
                } else if (obj instanceof Attribute) {
                    enable = !((Attribute) obj).isString();
                }

                for (MenuItem m : treeMenu.getItems()) {
                    m.setEnabled(enable);
                    m.setText(enable ? MSG_ENABLED : MSG_DISABLED);
                }
            }
        });
        MenuItem item = new MenuItem(treeMenu, SWT.PUSH);
        item.addListener(SWT.Selection, clistener);
    }

    tree.addListener(SWT.MenuDetect, new Listener() {
        @Override
        public void handleEvent(Event event) {
            Point pt = getDisplay().map(null, tree, new Point(event.x, event.y));
            Rectangle clientArea = tree.getClientArea();
            boolean header = clientArea.y <= pt.y && pt.y < (clientArea.y + tree.getHeaderHeight());
            tree.setMenu(header ? headerMenu : treeMenu);
        }
    });

    tViewer.setContentProvider(new HDF5LazyContentProvider(tViewer, treeFilter));
    tViewer.setLabelProvider(new HDF5LabelProvider());
    if (slistener != null)
        tree.addListener(SWT.MouseUp, slistener);
    if (dlistener != null)
        tree.addListener(SWT.MouseDoubleClick, dlistener);
}

From source file:uk.ac.diamond.scisoft.analysis.rcp.nexus.NexusTableTree.java

License:Apache License

/**
 * @param parent//  w w  w.ja  v  a2s.c o m
 * @param slistener for single clicks
 * @param dlistener for double clicks
 */
public NexusTableTree(Composite parent, Listener slistener, Listener dlistener) {

    super(parent, SWT.NONE);
    setLayout(new FillLayout());
    this.slistener = slistener;
    this.dlistener = dlistener;

    // set up tree filter to omit following node names
    final String[] nodeNames = new String[] { "target" };
    treeFilter = new TreeFilter(nodeNames);

    // set up tree and its columns
    tViewer = new TreeViewer(this, SWT.BORDER | SWT.VIRTUAL);
    tViewer.setUseHashlookup(true);

    Tree tree = tViewer.getTree();
    tree.setHeaderVisible(true);

    String[] titles = { "Name", "Class", "Dims", "Type", "Data" };
    int[] widths = { 250, 120, 80, 60, 300 };

    TreeViewerColumn tVCol;
    for (int i = 0; i < titles.length; i++) {
        tVCol = new TreeViewerColumn(tViewer, SWT.NONE);
        TreeColumn tCol = tVCol.getColumn();
        tCol.setText(titles[i]);
        tCol.setWidth(widths[i]);
        tCol.setMoveable(true);
    }

    tViewer.setContentProvider(new NexusLazyContentProvider(tViewer, treeFilter));
    tViewer.setLabelProvider(new NexusLabelProvider());
    if (slistener != null)
        tree.addListener(SWT.MouseUp, slistener);
    if (dlistener != null)
        tree.addListener(SWT.MouseDoubleClick, dlistener);
    addMenu(tViewer);
}

From source file:uk.ac.diamond.scisoft.analysis.rcp.results.navigator.DataNavigator.java

License:Apache License

/**
 * Create contents of the view part./*from   w w w .  ja  va 2 s  . c  o m*/
 * @param parent
 */
@Override
public void createPartControl(Composite parent) {

    this.resultsViewer = new TreeViewer(parent,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);

    ColumnViewerToolTipSupport.enableFor(resultsViewer);

    final TreeViewerColumn name = new TreeViewerColumn(resultsViewer, SWT.NONE, 0);
    name.setLabelProvider(new IFileTreeColumnProvider());
    name.getColumn().setText("Name");
    name.getColumn().setWidth(350);
    name.getColumn().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            resultsViewer.setComparator(new AlphaNumericFileSorter());
        }
    });

    final TreeViewerColumn size = new TreeViewerColumn(resultsViewer, SWT.NONE, 1);
    size.getColumn().setText("Size");
    size.getColumn().setWidth(100);
    size.getColumn().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            resultsViewer.setComparator(new SizeFileSorter());
        }
    });

    final TreeViewerColumn date = new TreeViewerColumn(resultsViewer, SWT.NONE, 2);
    date.getColumn().setText("Date Modified");
    date.getColumn().setWidth(250);
    date.getColumn().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            resultsViewer.setComparator(new DateFileSorter());
        }
    });

    resultsViewer.setColumnProperties(new String[] { "Name", "Size", "Date Modified" });
    resultsViewer.setUseHashlookup(true);
    resultsViewer.setContentProvider(new IFileTreeContentProvider(project));
    resultsViewer.setLabelProvider(new IFileTreeLabelProvider());
    resultsViewer.getTree().setHeaderVisible(true);

    //resultsViewer.setInput(rootFile);
    //resultsViewer.expandToLevel(3);
    try {
        setupProject(project, null);
    } catch (Exception e1) {
        logger.error("Cannot create project", e1);
    }
    IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
    if (workingSetManager.getWorkingSet(DATA_WORKINGSET_NAME) == null) {
        workingSetManager.addWorkingSet(
                workingSetManager.createWorkingSet(DATA_WORKINGSET_NAME, new IAdaptable[] { project }));
    }

    getSite().setSelectionProvider(resultsViewer);

    createRightClickMenu();
    createDragSupport(resultsViewer);
    createActions();
    initializeToolBar();
    initializeMenu();

    addSelectionListener(resultsViewer);

}

From source file:uk.ac.diamond.sda.navigator.views.FileView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {

    parent.setLayout(new GridLayout(1, false));

    final Composite top = new Composite(parent, SWT.NONE);
    top.setLayout(new GridLayout(2, false));
    top.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    final Label fileLabel = new Label(top, SWT.NONE);
    fileLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
    try {/*from www  .j  a v a2  s .c o m*/
        IFileIconService service = FileIconServiceHolder.getFileIconService();
        final Image icon = service.getIconForFile(OSUtils.isWindowsOS() ? "C:/Windows/" : "/");
        fileLabel.setImage(icon);
    } catch (Exception e) {
        logger.error("Cannot get icon for system root!", e);
    }

    this.filePath = new Text(top, SWT.BORDER);
    if (savedSelection != null)
        filePath.setText(savedSelection.toAbsolutePath().toString());
    filePath.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    final FileContentProposalProvider prov = new FileContentProposalProvider();
    final TextContentAdapter adapter = new TextContentAdapter();
    final ContentProposalAdapter ad = new ContentProposalAdapter(filePath, adapter, prov, null, null);
    ad.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    ad.addContentProposalListener(new IContentProposalListener() {
        @Override
        public void proposalAccepted(IContentProposal proposal) {
            final String path = proposal.getContent();
            try {
                updatingTextFromTreeSelections = false;
                setSelectedFile(path);
            } finally {
                updatingTextFromTreeSelections = true;
            }
        }
    });

    filePath.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.character == '\t') {
                if (ad.isProposalPopupOpen()) {
                    if (prov.getFirstPath() != null) {
                        final String path = prov.getFirstPath();

                        filePath.getDisplay().asyncExec(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    updatingTextFromTreeSelections = false;
                                    filePath.setFocus();
                                    filePath.setText(path);
                                    setSelectedFile(path);
                                    filePath.setFocus();
                                    filePath.setSelection(path.length(), path.length());
                                } finally {
                                    updatingTextFromTreeSelections = true;
                                }
                            }
                        });
                    }
                }
            } else if (e.character == '\t' || e.character == '\n' || e.character == '\r') {
                final String path = filePath.getText();
                try {
                    updatingTextFromTreeSelections = false;
                    setSelectedFile(path);
                } finally {
                    updatingTextFromTreeSelections = true;
                }
            }
        }
    });

    tree = new TreeViewer(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
    tree.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tree.getTree().setHeaderVisible(true);
    tree.setUseHashlookup(true);

    tree.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (!updatingTextFromTreeSelections)
                return;
            final Path file = getSelectedPath();
            if (file != null && Files.isDirectory(file)) {
                try {
                    ad.setEnabled(false);
                    filePath.setText(file.toAbsolutePath().toString());
                    filePath.setSelection(filePath.getText().length());
                } finally {
                    ad.setEnabled(true);
                }
            }
        }
    });

    final String[] titles = { "Name", "Date", "Type", "Size", "Comment", "Scan Command" };

    IPreferenceStore store = NavigatorRCPActivator.getDefault().getPreferenceStore();
    boolean showDate = store.getBoolean(FileNavigatorPreferenceConstants.SHOW_DATE_COLUMN);
    boolean showType = store.getBoolean(FileNavigatorPreferenceConstants.SHOW_TYPE_COLUMN);
    boolean showSize = store.getBoolean(FileNavigatorPreferenceConstants.SHOW_SIZE_COLUMN);
    boolean showComment = store.getBoolean(FileNavigatorPreferenceConstants.SHOW_COMMENT_COLUMN);
    boolean showScanCmd = store.getBoolean(FileNavigatorPreferenceConstants.SHOW_SCANCMD_COLUMN);

    // we listen to the preference store property changes
    store.addPropertyChangeListener(new IPropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getProperty().equals(FileNavigatorPreferenceConstants.SHOW_DATE_COLUMN)) {
                setColumnVisible(1, 120, (Boolean) event.getNewValue());
            } else if (event.getProperty().equals(FileNavigatorPreferenceConstants.SHOW_TYPE_COLUMN)) {
                setColumnVisible(2, 80, (Boolean) event.getNewValue());
            } else if (event.getProperty().equals(FileNavigatorPreferenceConstants.SHOW_SIZE_COLUMN)) {
                setColumnVisible(3, 150, (Boolean) event.getNewValue());
            } else if (event.getProperty().equals(FileNavigatorPreferenceConstants.SHOW_COMMENT_COLUMN)) {
                setColumnVisible(4, 250, (Boolean) event.getNewValue());
            } else if (event.getProperty().equals(FileNavigatorPreferenceConstants.SHOW_SCANCMD_COLUMN)) {
                setColumnVisible(5, 300, (Boolean) event.getNewValue());
            }
        }
    });

    int dateWidth = showDate ? 120 : 0;
    int typeWidth = showType ? 80 : 0;
    int sizeWidth = showSize ? 150 : 0;
    int commentWidth = showComment ? 250 : 0;
    int scanCmdWidth = showScanCmd ? 300 : 0;

    final int[] widths = { 350, dateWidth, typeWidth, sizeWidth, commentWidth, scanCmdWidth };
    TreeViewerColumn tVCol;
    for (int i = 0; i < titles.length; i++) {
        tVCol = new TreeViewerColumn(tree, SWT.NONE);
        TreeColumn tCol = tVCol.getColumn();
        tCol.setText(titles[i]);
        tCol.setWidth(widths[i]);
        try {
            tVCol.setLabelProvider(new FileLabelProvider(tree, i));
        } catch (Exception e1) {
            logger.error("Cannot create label provider " + i, e1);
        }
    }
    getSite().setSelectionProvider(tree);

    createContent(true);

    // Make drag source, it can then drag into projects
    final DragSource dragSource = new DragSource(tree.getControl(),
            DND.DROP_MOVE | DND.DROP_DEFAULT | DND.DROP_COPY);
    dragSource.setTransfer(new Transfer[] { FileTransfer.getInstance() });
    dragSource.addDragListener(new DragSourceAdapter() {
        @Override
        public void dragSetData(DragSourceEvent event) {
            if (getSelectedPaths() == null)
                return;
            event.data = getSelectedPaths();
        }
    });

    // Add ability to open any file double clicked on (folders open in Image Monitor View)
    tree.getTree().addListener(SWT.MouseDoubleClick, new Listener() {

        @Override
        public void handleEvent(Event event) {
            openSelectedFile();
        }
    });

    tree.getTree().addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyEvent e) {

        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.character == '\n' || e.character == '\r') {
                openSelectedFile();
            }
        }
    });

    createRightClickMenu();
    createActions();

    if (savedSelection != null) {
        if (savedSelection.toFile().exists()) {
            tree.setSelection(new StructuredSelection(savedSelection));
        } else if (savedSelection.getParent() != null && savedSelection.getParent().toFile().exists()) {
            // If file deleted, select parent.
            tree.setSelection(new StructuredSelection(savedSelection.getParent()));
        }
    }

    Display.getDefault().asyncExec(new Runnable() {
        @Override
        public void run() {
            final TreePath path = new TreePath(new Object[] { NIOUtils.getRoots().get(0) });
            tree.setExpandedState(path, true);
        }
    });

}

From source file:unc.lib.cdr.workbench.arrange.ArrangementTreeViewPart.java

License:Apache License

/**
 * @param viewer2/*from  ww  w .j a v a  2s  .  c  o m*/
 */
private void createColumns(TreeViewer viewer2) {
    for (int i = 0; i < headers.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.NONE);
        column.getColumn().setText(headers[i]);
        column.getColumn().setWidth(bounds[i]);
        column.getColumn().setResizable(true);
        column.getColumn().setMoveable(true);
    }
    viewer.getTree().setHeaderVisible(true);
    viewer.getTree().setLinesVisible(true);
}

From source file:v9t9.gui.client.swt.shells.PathSetupComposite.java

License:Open Source License

/**
 * /*from w  ww. j a v a2 s .  co m*/
 */
private void createROMTable(Composite parent) {
    viewer = new TreeViewer(parent);

    viewer.setAutoExpandLevel(2);

    Tree tree = viewer.getTree();

    GridDataFactory.fillDefaults().grab(true, true).minSize(-1, 96).applyTo(tree);

    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    nameColumn.getColumn().setText("Name");

    TreeViewerColumn fileColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    fileColumn.getColumn().setText("File(s)");

    TreeViewerColumn dirColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    dirColumn.getColumn().setText("Path(s)");

    romTreeContentProvider = new ROMSetupTreeContentProvider(requiredRoms, optionalRoms, machine);
    viewer.setContentProvider(romTreeContentProvider);
    viewer.setLabelProvider(new ROMSetupLabelProvider(machine, romTreeContentProvider));
    viewer.setInput(new Object());
}