Example usage for org.eclipse.jface.viewers TreeViewer TreeViewer

List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer

Introduction

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

Prototype

public TreeViewer(Composite parent, int style) 

Source Link

Document

Creates a tree viewer on a newly-created tree control under the given parent.

Usage

From source file:com.sap.dirigible.ide.workspace.wizard.project.sample.SampleProjectWizardGitTemplatePage.java

License:Open Source License

private void createTypeField(Composite parent) {
    final Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.SampleProjectWizardGitTemplatePage_AVAILABLE_GIT_TEMPLATES);
    label.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, false, false));

    typeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    typeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    typeViewer.setContentProvider(new SamplesContentProvider());
    typeViewer.setLabelProvider(new SamplesLabelProvider());
    typeViewer.setSorter(new ViewerSorter());
    typeViewer.setInput(createGitTemplateTypes());

    typeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override//from   www . ja va2s.  com
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection.getFirstElement() == null
                    || !(selection.getFirstElement() instanceof SamplesProject)) {
                setPageComplete(false);
                setErrorMessage(SELECT_TEMPLATE_TYPE_FORM_THE_LIST);
                labelPreview.setImage(previewImage);
                labelPreview.pack(true);
            } else {
                setErrorMessage(null);
                SamplesProject gitTemplate = ((SamplesProject) selection.getFirstElement());
                getModel().setTemplate(gitTemplate.getTemplate());
                checkPageStatus();
                labelPreview.setImage(gitTemplate.getTemplate().getImagePreview());
                labelPreview.pack(true);
            }
        }
    });
}

From source file:com.siemens.ct.mp3m.ui.views.logical.LogicalView.java

License:Open Source License

/**
 * Creates the main window's contents//from  ww  w.ja v  a2 s  . c  o  m
 * 
 * @param parent
 *            the main window
 * 
 * @return Control
 */
protected Control createContents(Composite parent) {
    // Create the table viewer to display the Artists
    treeViewer = new TreeViewer(parent, SWT.FULL_SELECTION);
    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));

    // Set the content and label providers
    treeViewer.setContentProvider(new ArtistTreeContentProvider(this));
    treeViewer.setLabelProvider(new ArtistTreeLabelProvider());
    treeViewer.setInput(Artists.getArtists());

    String[] columnTitles = { Messages.getString("LogicalView.Artist_Album_Song"),
            Messages.getString("LogicalView.Track"), Messages.getString("LogicalView.Duration") };
    Tree tree1 = treeViewer.getTree();
    for (int i = 0; i < columnTitles.length; i++) {
        TreeColumn treeColumn = new TreeColumn(tree1, SWT.NONE);
        treeColumn.setText(columnTitles[i]);
    }
    tree1.setSortColumn(tree1.getColumn(0));
    int columnCount = tree1.getColumnCount();
    for (int i = 0; i < columnCount; i++) {
        TreeColumn treeColumn = tree1.getColumn(i);
        treeColumn.pack();
    }
    tree1.setHeaderVisible(true);
    tree1.setLinesVisible(true);

    // Create a context menu and register it with the Workbench
    MenuManager menuManager = new MenuManager("FileSystemPopup");
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    Menu menu = menuManager.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
    getSite().registerContextMenu(menuManager, treeViewer);

    getSite().setSelectionProvider(treeViewer);

    return treeViewer.getTree();
}

From source file:com.siemens.ct.mp3m.ui.views.physical.FileSystemView.java

License:Open Source License

public void createPartControl(Composite parent) {
    treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
    getSite().setSelectionProvider(treeViewer);
    Platform.getAdapterManager().registerAdapters(adapterFactory, Mp3File.class);
    treeViewer.setLabelProvider(new WorkbenchLabelProvider());
    treeViewer.setContentProvider(new BaseWorkbenchContentProvider());
    treeViewer.setInput(MusicFolders.getRoot());

    // Create a context menu and register it with the Workbench
    MenuManager menuManager = new MenuManager("FileSystemPopup");
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    Menu menu = menuManager.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
    getSite().registerContextMenu(menuManager, treeViewer);

    Mp3DoubleclickListener listener = new Mp3DoubleclickListener();
    treeViewer.addDoubleClickListener(listener);

    MusicFolders.addChangeListener(new MusicFoldersChangeListener() {
        public void musicFoldersChanged(List<String> folders) {
            treeViewer.refresh();/* www .  j a v  a 2  s.c  o  m*/
        }
    });

}

From source file:com.siemens.ct.mp3m.ui.views.physical.VirtualFileSystemView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    treeViewer = new TreeViewer(parent, SWT.VIRTUAL);

    getSite().setSelectionProvider(treeViewer);
    Platform.getAdapterManager().registerAdapters(adapterFactory, Mp3File.class);
    treeViewer.setLabelProvider(new WorkbenchLabelProvider());
    treeViewer.setContentProvider(new TreeContentProvider(treeViewer));
    treeViewer.setUseHashlookup(true);/*  w w w  . j av a  2  s .  c  o m*/

    Mp3Directory root = new Mp3Directory("root");
    File[] roots = File.listRoots();
    for (File fileRoot : roots) {
        Mp3Directory mp3Root = new Mp3Directory(fileRoot.getAbsolutePath());
        mp3Root.setFullPath(fileRoot.getAbsolutePath());
        root.addMp3File(mp3Root);
    }
    treeViewer.setInput(root);
    treeViewer.setChildCount(root, roots.length);

    Mp3DoubleclickListener listener = new Mp3DoubleclickListener();
    treeViewer.addDoubleClickListener(listener);
}

From source file:com.siteview.mde.internal.ui.editor.TreeSection.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent, int style) {
    return new TreeViewer(parent, style);
}

From source file:com.siteview.mde.internal.ui.parts.TreeMessageDialog.java

License:Open Source License

protected Control createCustomArea(Composite parent) {
    TreeViewer viewer = new TreeViewer(parent, SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 150;// w  ww.  j  a v a 2 s .  c o m
    viewer.getTree().setLayoutData(gd);
    viewer.setContentProvider(fContentProvider);
    viewer.setLabelProvider(fLabelProvider);
    viewer.setInput(fInput);
    applyDialogFont(viewer.getControl());
    return viewer.getControl();
}

From source file:com.siteview.mde.internal.ui.views.dependencies.DependenciesViewTreePage.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent) {
    fTreeViewer = new TreeViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    fTreeViewer.setContentProvider(fContentProvider);
    final DependenciesLabelProvider labelProvider = new DependenciesLabelProvider(true);
    fTreeViewer.setLabelProvider(labelProvider);
    fTreeViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            labelProvider.dispose();/*  ww w  .  j av a  2  s .  c  om*/
        }
    });
    fTreeViewer.setAutoExpandLevel(2);

    return fTreeViewer;
}

From source file:com.siteview.mde.internal.ui.views.plugins.PluginsView.java

License:Open Source License

public void createPartControl(Composite parent) {
    fTreeViewer = new TreeViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL);
    fDrillDownAdapter = new DrillDownAdapter(fTreeViewer);
    fTreeViewer.setContentProvider(new PluginsContentProvider(this));
    fTreeViewer.setLabelProvider(new PluginsLabelProvider());
    // need custom comparator so that way PendingUpdateAdapter is at the top.  Using regular PluginComparator the PendingUpdateAdapter
    // will be sorted to the bottom.  When it is removed after the table is initialized, the focus will go to the last item in the table (bug 216339)
    fTreeViewer.setComparator(new ListUtil.PluginComparator() {

        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof PendingUpdateAdapter)
                return -1;
            else if (e2 instanceof PendingUpdateAdapter)
                return 1;
            return super.compare(viewer, e1, e2);
        }/* w w w .  j a  va  2  s  .  co m*/

    });
    initDragAndDrop();
    makeActions();
    initFilters();
    IActionBars actionBars = getViewSite().getActionBars();
    contributeToActionBars(actionBars);
    registerGlobalActions(actionBars);
    hookContextMenu();
    hookDoubleClickAction();
    fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent e) {
            handleSelectionChanged(e.getSelection());
        }
    });
    MDECore.getDefault().getSearchablePluginsManager().addPluginModelListener(this);
    fTreeViewer.setInput(fRoot = getDeferredTreeRoot());

    MDECore.getDefault().getModelManager().addPluginModelListener(this);
    MDEPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPropertyListener);
    getViewSite().setSelectionProvider(fTreeViewer);

    PlatformUI.getWorkbench().getHelpSystem().setHelp(fTreeViewer.getControl(), IHelpContextIds.PLUGINS_VIEW);
}

From source file:com.skratchdot.electribe.fileexplorer.views.TreeView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

    // Add drag support
    int ops = DND.DROP_COPY;
    Transfer[] transfers = new Transfer[] { FileTransfer.getInstance() };
    viewer.addDragSupport(ops, transfers, new FileExplorerDragSourceAdapter(viewer));

    viewer.setUseHashlookup(true); // try to speed things up
    viewer.setContentProvider(new TreeViewContentProvider(
            Activator.getDefault().getPreferenceStore()
                    .getBoolean(PreferenceConstants.PREFNAME_TREEVIEW_ONLYSHOWINGDIRECTORIES),
            Activator.getDefault().getPreferenceStore()
                    .getString(PreferenceConstants.PREFNAME_TREEVIEW_FILEFILTERARRAY)));
    viewer.setLabelProvider(new TreeViewLabelProvider());
    viewer.setSorter(new FileExplorerSorter());
    viewer.setInput(root);/*from  w  w w  .j  a va2  s. c o  m*/

    // This view is a selection provider
    getSite().setSelectionProvider(viewer);

    // Add context menu
    FileExplorerUtil.createContextMenuFor(getSite(), viewer, TableView.ID);

    // listen for preference change events
    Activator.getDefault().getPreferenceStore().addPropertyChangeListener((IPropertyChangeListener) this);
}

From source file:com.smartmonkey.recrep.SMonkeyViewer.java

License:Apache License

/**
 * Create contents of the application window.
 * //from   w ww.j  av  a 2 s  .  c  om
 * @param parent
 */
@Override
protected Control createContents(Composite parent) {
    parent.setLayout(new FillLayout());
    SashForm baseSash = new SashForm(parent, SWT.HORIZONTAL | SWT.NONE);
    // draw the canvas with border, so the divider area for sash form can be
    // highlighted
    SashForm leftSash = new SashForm(baseSash, SWT.VERTICAL);
    mScreenshotCanvas = new Canvas(leftSash, SWT.BORDER | SWT.NO_REDRAW_RESIZE);
    mScreenshotCanvas.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            if (e.button == 3) // Right Click
            {
                SMonkeyModel.getModel().toggleExploreMode();
            } else if (e.button == 1) // Left Click
            {
                SMonkeyModel.getModel().touch();
            }
        }
    });

    mScreenshotCanvas.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    mScreenshotCanvas.addPaintListener(new PaintListener() {
        @Override
        public void paintControl(PaintEvent e) {
            Image image = SMonkeyModel.getModel().getScreenshot();
            if (image != null) {
                updateScreenshotTransformation();
                // shifting the image here, so that there's a border around
                // screen shot
                // this makes highlighting red rectangles on the screen shot
                // edges more visible
                Transform t = new Transform(e.gc.getDevice());
                t.translate(mDx, mDy);
                t.scale(mScale, mScale);
                e.gc.setTransform(t);
                e.gc.drawImage(image, 0, 0);
                // this resets the transformation to identity transform,
                // i.e. no change
                // we don't use transformation here because it will cause
                // the line pattern
                // and line width of highlight rect to be scaled, causing to
                // appear to be blurry
                e.gc.setTransform(null);
                if (SMonkeyModel.getModel().shouldShowNafNodes()) {
                    // highlight the "Not Accessibility Friendly" nodes
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    e.gc.setBackground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    for (Rectangle r : SMonkeyModel.getModel().getNafNodes()) {
                        e.gc.setAlpha(50);
                        e.gc.fillRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                        e.gc.setAlpha(255);
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                        e.gc.drawRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                    }
                }
                // draw the mouseover rects
                Rectangle rect = SMonkeyModel.getModel().getCurrentDrawingRect();
                if (rect != null) {
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_RED));
                    if (SMonkeyModel.getModel().isExploreMode()) {
                        // when we highlight nodes dynamically on mouse
                        // move,
                        // use dashed borders
                        e.gc.setLineStyle(SWT.LINE_DASH);
                        e.gc.setLineWidth(1);
                    } else {
                        // when highlighting nodes on tree node selection,
                        // use solid borders
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                    }
                    e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y),
                            getScaledSize(rect.width), getScaledSize(rect.height));
                }
            }
        }
    });
    mScreenshotCanvas.addMouseMoveListener(new MouseMoveListener() {
        @Override
        public void mouseMove(MouseEvent e) {
            if (SMonkeyModel.getModel().isExploreMode()) {
                SMonkeyModel.getModel().updateSelectionForCoordinates(getInverseScaledSize(e.x - mDx),
                        getInverseScaledSize(e.y - mDy));
            }
        }
    });

    // Lower Left Base contains the physical buttons on the phone
    SashForm lowerLeftBase = new SashForm(leftSash, SWT.HORIZONTAL);

    Composite buttonComposite = new Composite(lowerLeftBase, SWT.BORDER);
    ToolBarManager physicalButtonToolbarManager = new ToolBarManager();
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/back_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.BACK);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/menu_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.MENU);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/home_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.HOME);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/noop.png");
        }

        public void run() {
            SMonkeyModel.getModel().noop();
        }
    });
    physicalButtonToolbarManager.add(mFBLoginAction);

    physicalButtonToolbarManager.createControl(buttonComposite);

    Composite textComposite = new Composite(lowerLeftBase, SWT.BORDER);
    mText = new Text(textComposite, SWT.SINGLE);
    mSendTextButton = new Button(textComposite, SWT.PUSH);
    mSendTextButton.setText("Send\nText");
    mSendTextButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            SMonkeyModel.getModel().sendText(mText.getText());
        }
    });
    textComposite.setLayout(new FillLayout());

    leftSash.setWeights(new int[] { 6, 1 });

    // middle sash contains the list of events, which are highlighted as
    // they happen.
    // TODO: Add a fast forward button to perform the next event, skipping
    // the wait
    SashForm middleSash = new SashForm(baseSash, SWT.VERTICAL);

    ToolBarManager replayToolbarManager = new ToolBarManager(SWT.FLAT);
    replayToolbarManager.add(mClearRecordingAction);
    replayToolbarManager.add(mOpenRecordFileAction);
    replayToolbarManager.add(mSaveRecordFileAction);
    replayToolbarManager.add(mToggleAutoRefreshAction);
    replayToolbarManager.add(mReplayAction);

    replayToolbarManager.createControl(middleSash);

    chimpEventTableViewer = new TableViewer(middleSash,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    chimpEventTableViewer.getTable().setMenu(new Menu(chimpEventTableViewer.getTable()));

    TableViewerColumn waitColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    waitColumn.getColumn().setText("Wait time");
    waitColumn.getColumn().setWidth(100);
    waitColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getWait();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn typeColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    typeColumn.getColumn().setText("Type");
    typeColumn.getColumn().setWidth(100);
    typeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getType();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn miscColumn = new TableViewerColumn(getChimpEventTableViewer(), SWT.NONE);
    miscColumn.getColumn().setText("Misc");
    miscColumn.getColumn().setWidth(100);
    miscColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getMisc();
            }
            return super.getText(element);
        }
    });
    chimpEventTableViewer.getTable().setLinesVisible(true);
    chimpEventTableViewer.getTable().setHeaderVisible(true);
    chimpEventTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    chimpEventTableViewer.setInput(SMonkeyModel.getModel().getLog());

    middleSash.setWeights(new int[] { 1, 20 });

    // right sash is split into 2 parts: upper-right and lower-right
    // both are composites with borders, so that the horizontal divider can
    // be highlighted by
    // the borders
    SashForm rightSash = new SashForm(baseSash, SWT.VERTICAL);

    // upper-right base contains the toolbar and the tree
    Composite upperRightBase = new Composite(rightSash, SWT.BORDER);
    upperRightBase.setLayout(new GridLayout(1, false));
    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    toolBarManager.add(mOpenFilesAction);
    toolBarManager.add(mSaveFilesAction);
    toolBarManager.add(mExpandAllAction);
    toolBarManager.add(mScreenshotAction);
    toolBarManager.add(mToggleNafAction);

    // toolBarManager.add(mClearRecordingAction);
    // toolBarManager.add(mSaveRecordingAction);
    toolBarManager.createControl(upperRightBase);

    // Button b = new Button(upperRightBase.getShell(),SWT.CHECK);
    // b.setText("Auto");

    mTreeViewer = new TreeViewer(upperRightBase, SWT.NONE);
    mTreeViewer.setContentProvider(new BasicTreeNodeContentProvider());
    // default LabelProvider uses toString() to generate text to display
    mTreeViewer.setLabelProvider(new LabelProvider());
    mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                SMonkeyModel.getModel().setSelectedNode(null);
            } else if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object o = selection.toArray()[0];
                if (o instanceof BasicTreeNode) {
                    SMonkeyModel.getModel().setSelectedNode((BasicTreeNode) o);
                }
            }
        }
    });
    Tree tree = mTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    // move focus so that it's not on tool bar (looks weird)
    tree.setFocus();

    // lower-right base contains the detail group
    Composite lowerRightBase = new Composite(rightSash, SWT.BORDER);
    lowerRightBase.setLayout(new FillLayout());
    Group grpNodeDetail = new Group(lowerRightBase, SWT.NONE);
    grpNodeDetail.setLayout(new FillLayout(SWT.HORIZONTAL));
    grpNodeDetail.setText("Node Detail");

    Composite tableContainer = new Composite(grpNodeDetail, SWT.NONE);

    TableColumnLayout columnLayout = new TableColumnLayout();
    tableContainer.setLayout(columnLayout);

    mTableViewer = new TableViewer(tableContainer, SWT.NONE | SWT.FULL_SELECTION);
    Table table = mTableViewer.getTable();
    table.setLinesVisible(true);
    // use ArrayContentProvider here, it assumes the input to the
    // TableViewer
    // is an array, where each element represents a row in the table
    mTableViewer.setContentProvider(ArrayContentProvider.getInstance());

    TableViewerColumn tableViewerColumnKey = new TableViewerColumn(mTableViewer, SWT.NONE);
    TableColumn tblclmnKey = tableViewerColumnKey.getColumn();
    tableViewerColumnKey.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // first column, shows the attribute name
                return ((AttributePair) element).key;
            }
            return super.getText(element);
        }
    });
    columnLayout.setColumnData(tblclmnKey, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true));

    TableViewerColumn tableViewerColumnValue = new TableViewerColumn(mTableViewer, SWT.NONE);
    tableViewerColumnValue.setEditingSupport(new AttributeTableEditingSupport(mTableViewer));
    TableColumn tblclmnValue = tableViewerColumnValue.getColumn();
    columnLayout.setColumnData(tblclmnValue, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
    tableViewerColumnValue.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // second column, shows the attribute value
                return ((AttributePair) element).value;
            }
            return super.getText(element);
        }
    });
    // sets the ratio of the vertical split: left 5 vs middle 3 vs right 3
    baseSash.setWeights(new int[] { 5, 5, 3 });
    return baseSash;
}