List of usage examples for org.eclipse.jface.viewers ColumnViewerToolTipSupport enableFor
public static void enableFor(ColumnViewer viewer)
From source file:Snippet015CustomTooltipsForTree.java
License:Open Source License
/** * @param args// ww w. j av a2s. c o m */ public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION); v.getTree().setLinesVisible(true); v.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(v); v.setContentProvider(new MyContentProvider()); CellLabelProvider labelProvider = new CellLabelProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipText(java.lang.Object) */ public String getToolTipText(Object element) { return "Tooltip (" + element + ")"; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipShift(java.lang.Object) */ public Point getToolTipShift(Object object) { return new Point(5, 5); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipDisplayDelayTime(java.lang.Object) */ public int getToolTipDisplayDelayTime(Object object) { return 1000; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipTimeDisplayed(java.lang.Object) */ public int getToolTipTimeDisplayed(Object object) { return 50000; } public void update(ViewerCell cell) { cell.setText(cell.getElement().toString()); } }; v.setLabelProvider(labelProvider); v.setInput(""); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:au.gov.ga.earthsci.bookmark.part.editor.BookmarkEditorDialog.java
License:Apache License
/** * Create the property tree control (left side) used to display available {@link IBookmarkProperty}s * <p/>/*from w ww . ja v a 2s. c om*/ * Expects the {@code parent} to have a {@link GridLayout}. */ private Control createPropertyTree(Composite parent) { PatternFilter filter = new BookmarkPropertyTreeFilter(); filter.setIncludeLeadingWildcard(true); editorFilteredTree = new FilteredTree(parent, SWT.FULL_SELECTION, filter, true); GridData gd = new GridData(GridData.FILL_VERTICAL); editorFilteredTree.setLayoutData(gd); if (editorFilteredTree.getFilterControl() != null) { Composite filterComposite = editorFilteredTree.getFilterControl().getParent(); gd = (GridData) filterComposite.getLayoutData(); gd.verticalIndent = 2; gd.horizontalIndent = 1; } ColumnViewerToolTipSupport.enableFor(editorFilteredTree.getViewer()); editorFilteredTree.getViewer().setContentProvider(new BookmarkPropertyTreeContentProvider()); editorFilteredTree.getViewer().setLabelProvider(new BookmarkPropertyTreeLabelProvider()); editorFilteredTree.getViewer().setComparator(new BookmarkPropertyTreeViewerComparator()); editorFilteredTree.getViewer().setInput(editors); editorFilteredTree.getViewer().setAutoExpandLevel(2); editorFilteredTree.getViewer().setSelection(new StructuredSelection(editors.get(0))); editorFilteredTree.getViewer().addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) { return; } if (!showEditor( (IBookmarkEditor) ((IStructuredSelection) event.getSelection()).getFirstElement())) { handleEditorChangeError(); } } private void handleEditorChangeError() { try { editorFilteredTree.getViewer().removePostSelectionChangedListener(this); editorFilteredTree.getViewer().setSelection(new StructuredSelection(currentEditor)); } finally { editorFilteredTree.getViewer().addPostSelectionChangedListener(this); } } }); return editorFilteredTree; }
From source file:au.gov.ga.earthsci.discovery.darwin.DarwinURLSelectionDialog.java
License:Apache License
@Override protected Control createDialogArea(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(); layout.marginTop = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); comp.setLayout(layout);//w ww . j av a 2 s . c om initializeDialogUnits(comp); viewer = new TableViewer(comp, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); //set max size (actual size is calculated below): gd.widthHint = 600; gd.heightHint = 400; viewer.getTable().setLayoutData(gd); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LabelProvider()); viewer.setInput(urls); DarwinDiscoveryResultURL longestUrl = urlWithLongestName(urls); if (longestUrl != null) { GC gc = new GC(viewer.getTable()); Point point = gc.textExtent(longestUrl.getName()); gc.dispose(); gd.widthHint = Math.min(gd.widthHint, point.x); } int height = viewer.getTable().getItemHeight() * urls.size() + viewer.getTable().getHeaderHeight(); if (height < gd.heightHint) { //if height of all rows is less than the max height, then use the default height: gd.heightHint = SWT.DEFAULT; } //keep the column width in sync with the table width final TableColumn resultsColumn = new TableColumn(viewer.getTable(), SWT.LEFT); Listener resizeListener = new Listener() { @Override public void handleEvent(Event event) { resultsColumn.setWidth(viewer.getTable().getClientArea().width); } }; viewer.getControl().addListener(SWT.Resize, resizeListener); viewer.getControl().addListener(SWT.Paint, resizeListener); if (selected != null) { viewer.setSelection(new StructuredSelection(selected)); } else if (urls.size() == 1) { viewer.getTable().select(0); } else { //if there is a WMS url, select it by default for (DarwinDiscoveryResultURL url : urls) { if (url.getProtocol().toLowerCase().contains("wms")) //$NON-NLS-1$ { viewer.setSelection(new StructuredSelection(url)); break; } } } viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { validate(); } }); ColumnViewerToolTipSupport.enableFor(viewer); urlLabel = new CLabel(comp, SWT.NONE); urlLabel.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false)); Dialog.applyDialogFont(comp); return comp; }
From source file:bndtools.views.resolution.ResolutionView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { this.display = parent.getDisplay(); SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL); splitPanel.setLayout(new FillLayout()); Composite reqsPanel = new Composite(splitPanel, SWT.NONE); reqsPanel.setBackground(parent.getBackground()); GridLayout reqsLayout = new GridLayout(1, false); reqsLayout.marginWidth = 0;/*from www. j a v a2s . com*/ reqsLayout.marginHeight = 0; reqsLayout.verticalSpacing = 2; reqsPanel.setLayout(reqsLayout); new Label(reqsPanel, SWT.NONE).setText("Requirements:"); reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); reqsTree.setHeaderVisible(false); reqsTree.setLinesVisible(false); reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reqsViewer = new TreeViewer(reqsTree); ColumnViewerToolTipSupport.enableFor(reqsViewer); reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true)); reqsViewer.setContentProvider(new CapReqMapContentProvider()); Composite capsPanel = new Composite(splitPanel, SWT.NONE); capsPanel.setBackground(parent.getBackground()); GridLayout capsLayout = new GridLayout(1, false); capsLayout.marginWidth = 0; capsLayout.marginHeight = 0; capsLayout.verticalSpacing = 2; capsPanel.setLayout(capsLayout); new Label(capsPanel, SWT.NONE).setText("Capabilities:"); capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); capsTable.setHeaderVisible(false); capsTable.setLinesVisible(false); capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); capsViewer = new TableViewer(capsTable); ColumnViewerToolTipSupport.enableFor(capsViewer); capsViewer.setLabelProvider(new CapabilityLabelProvider(true)); capsViewer.setContentProvider(new CapReqMapContentProvider()); capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parent, Object element) { return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace()); } } }); hideSelfImportsFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof RequirementWrapper) { RequirementWrapper rw = (RequirementWrapper) element; return !rw.resolved; } return true; } }; reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter }); reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer)); capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer)); reqsViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object item = iter.next(); if (item instanceof Clazz) { Clazz clazz = (Clazz) item; String className = clazz.getFQN(); IType type = null; if (!loaders.isEmpty()) { IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot(); for (CapReqLoader loader : loaders) { if (loader instanceof BndBuilderCapReqLoader) { File loaderFile = ((BndBuilderCapReqLoader) loader).getFile(); IFile[] wsfiles = wsroot.findFilesForLocationURI(loaderFile.toURI()); for (IFile wsfile : wsfiles) { IJavaProject javaProject = JavaCore.create(wsfile.getProject()); try { type = javaProject.findType(className); if (type != null) break; } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat .format("Error opening Java class '{0}'.", className), e)); } } } } } try { if (type != null) JavaUI.openInEditor(type, true, true); } catch (PartInitException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java editor for class '{0}'.", className), e)); } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } }); fillActionBars(); getSite().getPage().addPostSelectionListener(this); getSite().getPage().addPartListener(partAdapter); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // Current selection & part IWorkbenchPart activePart = getSite().getPage().getActivePart(); ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection(); selectionChanged(activePart, activeSelection); }
From source file:bndtools.views.ResolutionView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { this.display = parent.getDisplay(); SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL); splitPanel.setLayout(new FillLayout()); Composite reqsPanel = new Composite(splitPanel, SWT.NONE); reqsPanel.setBackground(parent.getBackground()); GridLayout reqsLayout = new GridLayout(1, false); reqsLayout.marginWidth = 0;//from ww w . j av a 2 s .c o m reqsLayout.marginHeight = 0; reqsLayout.verticalSpacing = 2; reqsPanel.setLayout(reqsLayout); new Label(reqsPanel, SWT.NONE).setText("Requirements:"); reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); reqsTree.setHeaderVisible(false); reqsTree.setLinesVisible(false); reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reqsViewer = new TreeViewer(reqsTree); ColumnViewerToolTipSupport.enableFor(reqsViewer); reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true)); reqsViewer.setContentProvider(new CapReqMapContentProvider()); Composite capsPanel = new Composite(splitPanel, SWT.NONE); capsPanel.setBackground(parent.getBackground()); GridLayout capsLayout = new GridLayout(1, false); capsLayout.marginWidth = 0; capsLayout.marginHeight = 0; capsLayout.verticalSpacing = 2; capsPanel.setLayout(capsLayout); new Label(capsPanel, SWT.NONE).setText("Capabilities:"); capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); capsTable.setHeaderVisible(false); capsTable.setLinesVisible(false); capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); capsViewer = new TableViewer(capsTable); ColumnViewerToolTipSupport.enableFor(capsViewer); capsViewer.setLabelProvider(new CapabilityLabelProvider(true)); capsViewer.setContentProvider(new CapReqMapContentProvider()); capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parent, Object element) { return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace()); } } }); hideSelfImportsFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof RequirementWrapper) { RequirementWrapper rw = (RequirementWrapper) element; return !rw.resolved; } return true; } }; reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter }); reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer)); capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer)); reqsViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object item = iter.next(); if (item instanceof Clazz) { Clazz clazz = (Clazz) item; String className = clazz.getFQN(); IType type = null; if (selectedFiles != null) { IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot(); for (File selectedFile : selectedFiles) { IFile[] wsfiles = wsroot.findFilesForLocationURI(selectedFile.toURI()); for (IFile wsfile : wsfiles) { IJavaProject javaProject = JavaCore.create(wsfile.getProject()); try { type = javaProject.findType(className); if (type != null) break; } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status( IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } try { if (type != null) JavaUI.openInEditor(type, true, true); } catch (PartInitException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java editor for class '{0}'.", className), e)); } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } }); fillActionBars(); getSite().getPage().addPostSelectionListener(this); getSite().getPage().addPartListener(partAdapter); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // Current selection & part IWorkbenchPart activePart = getSite().getPage().getActivePart(); ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection(); selectionChanged(activePart, activeSelection); }
From source file:ch.gpb.elexis.cst.view.profileeditor.RemindersComposite.java
License:Open Source License
public RemindersComposite(Composite parent) { super(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(4, false); setLayout(gridLayout);//from w ww . ja v a2 s. c o m createLayout(this); treeviewer = new TreeViewer(this, SWT.BORDER); Tree tree_1 = treeviewer.getTree(); GridData gd_tree_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1); gd_tree_1.heightHint = 230; gd_tree_1.widthHint = 500; tree_1.setLayoutData(gd_tree_1); treeviewer.setContentProvider(new ViewContentProvider()); treeviewer.setLabelProvider(new ViewLabelProvider()); Button btnNewAction = new Button(this, SWT.NONE); btnNewAction.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); btnNewAction.setText("Start new event chain"); btnNewAction.addSelectionListener(new NewItemListener()); Button btnExpandAll = new Button(this, SWT.NONE); btnExpandAll.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); btnExpandAll.setText("Expand All"); btnExpandAll.addSelectionListener(new ExpandAllListener()); MenuManager menuMgr = new MenuManager(); Menu menu = menuMgr.createContextMenu(treeviewer.getControl()); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { if (treeviewer.getSelection().isEmpty()) { return; } if (treeviewer.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) treeviewer.getSelection(); manager.add(actionAddObject); manager.add(actionDeleteObject); manager.add(actionEditObject); } } }); menuMgr.setRemoveAllWhenShown(true); treeviewer.getControl().setMenu(menu); treeviewer.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(treeviewer); makeActions(); CoreHub.heart.addListener(this); new Label(this, SWT.NONE); lblHeart = new Label(this, SWT.NONE); lblHeart.setText(Messages.RemindersComposite_lblHeart_text); GridData gd_lblHeart = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1); gd_lblHeart.heightHint = 50; gd_lblHeart.widthHint = 50; lblHeart.setLayoutData(gd_lblHeart); new Label(this, SWT.NONE); new Label(this, SWT.NONE); new Label(this, SWT.NONE); lblCheckingForActions = new Label(this, SWT.NONE); lblCheckingForActions.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); lblCheckingForActions.setText(Messages.RemindersComposite_lblCheckingForActions_text); treeviewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } }); imageList = Arrays.asList(imgHeart1, imgHeart2, imgHeart3, imgHeartA, imgHeartB, imgHeartC, imgHeartD, imgHeartE); lblCheckingForActions.setVisible(false); lblHeart.setVisible(false); }
From source file:com.aptana.ide.ui.io.navigator.FileNavigatorView.java
License:Open Source License
@Override public void createPartControl(Composite aParent) { super.createPartControl(aParent); getCommonViewer().setLabelProvider(/*from ww w . j ava 2 s . co m*/ new FileNavigatorDecoratingLabelProvider(getNavigatorContentService().createCommonLabelProvider())); getCommonViewer().setComparer(new FileSystemElementComparer()); ColumnViewerToolTipSupport.enableFor(getCommonViewer()); PreferenceUtils.registerBackgroundColorPreference(getCommonViewer().getControl(), "com.aptana.ide.ui.io.background.color.fileView"); //$NON-NLS-1$ PreferenceUtils.registerForegroundColorPreference(getCommonViewer().getControl(), "com.aptana.ide.ui.io.foreground.color.fileView"); //$NON-NLS-1$ }
From source file:com.aptana.ide.ui.io.navigator.RemoteNavigatorView.java
License:Open Source License
@Override public void createPartControl(Composite aParent) { super.createPartControl(aParent); getCommonViewer().setLabelProvider(/*from w w w.j a v a2s . co m*/ new FileNavigatorDecoratingLabelProvider(getNavigatorContentService().createCommonLabelProvider())); getCommonViewer().setComparer(new FileSystemElementComparer()); ColumnViewerToolTipSupport.enableFor(getCommonViewer()); hookToThemes(); final Tree tree = getCommonViewer().getTree(); tree.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (tree.getItem(new Point(e.x, e.y)) == null) { tree.deselectAll(); tree.notifyListeners(SWT.Selection, new Event()); } } }); }
From source file:com.aptana.samples.ui.views.SamplesView.java
License:Open Source License
protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.setContentProvider(new SamplesViewContentProvider()); treeViewer.setLabelProvider(new SamplesViewLabelProvider()); treeViewer.setInput(getSamplesManager()); treeViewer.setComparator(new ViewerComparator()); ColumnViewerToolTipSupport.enableFor(treeViewer); return treeViewer; }
From source file:com.arm.cmsis.config.editors.ConfigEditor.java
License:Open Source License
private void buildTreeViewer(Composite parent) { fViewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); Tree tree = fViewer.getTree();/*from www . jav a 2s . c o m*/ tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); tree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TreeItem item = (TreeItem) e.item; if (item != null) { IConfigWizardItem configItem = getConfigWizardItem(item.getData()); if (configItem != null) { setCursorAndRevealAt(configItem.getStartLine()); showTooltipText(configItem); } } } }); tree.setLinesVisible(true); tree.setHeaderVisible(true); fColumnAdvisor = new ConfigColumnAdvisor(fViewer); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(Messages.ConfigEditor_Option); column0.getColumn().setWidth(320); column0.setLabelProvider(new FirstColumnLabelProvider()); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(Messages.ConfigEditor_Value); column1.getColumn().setWidth(100); column1.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, COLEDIT)); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLEDIT)); // Add an empty column and adjust its width automatically for better looking TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT); column2.getColumn().setWidth(1); column2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ""; //$NON-NLS-1$ } }); if (System.getProperty("os.name").startsWith("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$ parent.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { Tree tree = (Tree) fViewer.getControl(); Rectangle area = parent.getClientArea(); Point preferredSize = tree.computeSize(SWT.DEFAULT, SWT.DEFAULT); int width = area.width - 2 * tree.getBorderWidth(); if (preferredSize.y > tree.getBounds().height) { // Subtract the scrollbar width from the total column width // if a vertical scrollbar will be required Point vBarSize = tree.getVerticalBar().getSize(); width -= vBarSize.x; } Point oldSize = tree.getSize(); if (oldSize.x > area.width) { // tree is getting smaller so make the columns // smaller first and then resize the tree to // match the client area width column2.getColumn().setWidth(Math.max(0, width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10)); tree.setSize(area.width, area.height); } else { // tree is getting bigger so make the tree // bigger first and then make the columns wider // to match the client area width tree.setSize(area.width, area.height); column2.getColumn().setWidth(Math.max(0, width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10)); } } }); } fViewer.setContentProvider(new ContentProvider()); fViewer.setInput(fParser.getConfigWizardRoot()); ColumnViewerToolTipSupport.enableFor(fViewer); }