List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn
public TreeColumn getColumn()
From source file:org.eclipse.recommenders.internal.models.rcp.ModelRepositoriesView.java
License:Open Source License
private void newColumn(TreeColumnLayout treeLayout, final String classifier, int minWidth) { TreeViewerColumn classifierViewerColumn = new TreeViewerColumn(treeViewer, SWT.CENTER); TreeColumn classifierColumn = classifierViewerColumn.getColumn(); classifierColumn.setMoveable(true);//from w ww. jav a 2 s .co m classifierColumn.setResizable(false); treeLayout.setColumnData(classifierColumn, new ColumnPixelData(minWidth, false, true)); classifierColumn.setText(classifier.toUpperCase()); classifierColumn.pack(); classifierViewerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return null; } @Override public String getToolTipText(Object element) { if (element instanceof KnownCoordinate) { KnownCoordinate v = (KnownCoordinate) element; if (!v.hasModelCoordinate(classifier)) { return Messages.TABLE_CELL_TOOLTIP_UNAVAILABLE; } else if (v.isDownloaded(classifier)) { return Messages.TABLE_CELL_TOOLTIP_AVAILABLE_LOCALLY; } else { return Messages.TABLE_CELL_TOOLTIP_AVAILABLE_REMOTELY; } } return null; } @Override public Image getImage(Object element) { if (element instanceof KnownCoordinate) { KnownCoordinate v = (KnownCoordinate) element; if (!v.hasModelCoordinate(classifier)) { return images.getImage(OBJ_CROSS_RED); } else if (v.isDownloaded(classifier)) { return images.getImage(OBJ_CHECK_GREEN); } else { return images.getImage(OBJ_BULLET_BLUE); } } return null; } }); }
From source file:org.eclipse.recommenders.internal.snipmatch.rcp.SnippetsView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayoutFactory.swtDefaults().applyTo(composite); txtSearch = new Text(composite, SWT.BORDER | SWT.ICON_SEARCH | SWT.SEARCH | SWT.CANCEL); txtSearch.setMessage(Messages.SEARCH_PLACEHOLDER_SEARCH_TEXT); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(1, 1).applyTo(txtSearch); txtSearch.addModifyListener(new ModifyListener() { @Override/*from www . ja va 2s . c o m*/ public void modifyText(ModifyEvent e) { refreshUI(); } }); txtSearch.setData(SWT_ID, SEARCH_FIELD); txtSearch.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN && tree.getItemCount() != 0) { tree.setFocus(); tree.setSelection(tree.getTopItem()); } } }); Composite treeComposite = new Composite(composite, SWT.NONE); TreeColumnLayout treeLayout = new TreeColumnLayout(); treeComposite.setLayout(treeLayout); treeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); treeViewer = new TreeViewer(treeComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL); ColumnViewerToolTipSupport.enableFor(treeViewer); tree = treeViewer.getTree(); tree.setData(SWT_ID, TREE); tree.setHeaderVisible(true); tree.setLinesVisible(true); TreeViewerColumn snippetViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn snippetColumn = snippetViewerColumn.getColumn(); treeLayout.setColumnData(snippetColumn, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true)); snippetColumn.setText(Messages.TABLE_COLUMN_TITLE_SNIPPETS); snippetViewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof SnippetRepositoryConfiguration) { SnippetRepositoryConfiguration config = (SnippetRepositoryConfiguration) element; text.append(config.getName()); text.append(" "); //$NON-NLS-1$ if (prefs.isRepositoryEnabled(config)) { text.append(format(Messages.TABLE_CELL_SUFFIX_SNIPPETS, fetchNumberOfSnippets(config)), StyledString.COUNTER_STYLER); } else { text.append(Messages.TABLE_REPOSITORY_DISABLED, StyledString.COUNTER_STYLER); } cell.setImage(images.getImage(Images.OBJ_REPOSITORY)); } else if (element instanceof KnownSnippet) { KnownSnippet knownSnippet = (KnownSnippet) element; text.append(toStringRepresentation.apply(knownSnippet)); } cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); treeViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent event) { if (selectionConsistsOnlyElementsOf(KnownSnippet.class)) { editSnippets(); } } }); treeViewer.setUseHashlookup(true); treeViewer.setContentProvider(new ILazyTreeContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public void dispose() { } @Override public void updateElement(Object parent, int index) { if (parent instanceof IViewSite) { SnippetRepositoryConfiguration config = availableRepositories.get(index); treeViewer.replace(parent, index, config); treeViewer.setChildCount(config, getChildren(config).length); } else if (parent instanceof SnippetRepositoryConfiguration) { treeViewer.replace(parent, index, getChildren(parent)[index]); } } private Object[] getChildren(Object element) { if (element instanceof SnippetRepositoryConfiguration) { return filteredSnippetsGroupedByRepoName.get((SnippetRepositoryConfiguration) element) .toArray(); } return new Object[0]; } @Override public void updateChildCount(Object element, int currentChildCount) { int count = 0; if (element instanceof IViewSite) { count = availableRepositories.size(); } if (availableRepositories.contains(element)) { count = getChildren(element).length; } if (count != currentChildCount) { treeViewer.setChildCount(element, count); } } @Override public Object getParent(Object element) { if (element instanceof KnownSnippet) { KnownSnippet knownSnippet = (KnownSnippet) element; return knownSnippet.config; } return null; } }); selection = ViewersObservables.observeMultiSelection(treeViewer); createActions(parent); addToolBar(parent); addContextMenu(); refreshUI(); }
From source file:org.eclipse.scada.ca.ui.importer.wizard.PreviewPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final Composite wrapper = new Composite(parent, SWT.NONE); wrapper.setLayout(new GridLayout(1, false)); this.viewer = new TreeViewer(wrapper, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL); this.viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); final TableLayout layout = new TableLayout(); this.viewer.getTree().setLayout(layout); this.resourceManager = new LocalResourceManager(JFaceResources.getResources(parent.getDisplay()), this.viewer.getControl()); TreeViewerColumn col; col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.PreviewPage_ColFactoryText); layout.addColumnData(new ColumnWeightData(10)); col.setLabelProvider(new DiffEntryLabelProvider(this.resourceManager)); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.PreviewPage_ColConfigurationText); layout.addColumnData(new ColumnWeightData(20)); col.setLabelProvider(new DiffEntryLabelProvider(this.resourceManager)); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.PreviewPage_ColOperationText); layout.addColumnData(new ColumnWeightData(10)); col.setLabelProvider(new DiffEntryLabelProvider(this.resourceManager)); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.PreviewPage_ColDataText); layout.addColumnData(new ColumnWeightData(20)); col.setLabelProvider(new DiffEntryLabelProvider(this.resourceManager)); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.PreviewPage_ColCurrentDataText); layout.addColumnData(new ColumnWeightData(20)); col.setLabelProvider(new DiffEntryLabelProvider(this.resourceManager)); this.viewer.getTree().setHeaderVisible(true); this.viewer.setContentProvider(new LazyDiffEntryTreeProvider()); this.viewer.setUseHashlookup(true); this.statsLabel = new Label(wrapper, SWT.NONE); this.statsLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); setControl(wrapper);//from w w w . j av a2 s . c o m }
From source file:org.eclipse.scada.configuration.ui.component.ComponentOutputDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { getShell().setText("Component Output"); final Composite composite = (Composite) super.createDialogArea(parent); composite.setLayout(new FillLayout()); final TableLayout layout = new TableLayout(); this.viewer = new TreeViewer(composite, SWT.FULL_SELECTION | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); this.viewer.setAutoExpandLevel(2); this.viewer.getTree().setHeaderVisible(true); this.viewer.getTree().setLayout(layout); this.viewer.setContentProvider(this.contentProvider = new ObservableSetTreeContentProvider( new ComponentOutputObservableFactory(), null)); {//from w w w . ja v a 2s . c o m final TreeViewerColumn col1 = new TreeViewerColumn(this.viewer, SWT.NONE); col1.getColumn().setText("Name"); col1.setLabelProvider( new NameLabelProvider(getShell().getDisplay(), this.contentProvider.getKnownElements())); layout.addColumnData(new ColumnWeightData(150)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = EMFProperties.value(OsgiPackage.Literals.ITEM__NAME).observeDetail(map); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Item ID"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map2)); layout.addColumnData(new ColumnWeightData(150)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = EMFProperties.value(OsgiPackage.Literals.ITEM__INFORMATION) .observeDetail(map); final IObservableMap map3 = EMFProperties.value(OsgiPackage.Literals.ITEM_INFORMATION__DESCRIPTION) .observeDetail(map2); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Description"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map3)); layout.addColumnData(new ColumnWeightData(100)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_CUSTOMIZATION_REQUEST) .observeDetail(this.contentProvider.getKnownElements()); final IObservableMap map2 = PojoProperties.value("globalizationLevel").observeDetail(map); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("GL"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map2)); layout.addColumnData(new ColumnWeightData(25)); } { final IObservableMap map = PojoProperties.value(ItemEntry.PROP_ITEM) .observeDetail(this.contentProvider.getKnownElements()); final TreeViewerColumn col2 = new TreeViewerColumn(this.viewer, SWT.NONE); col2.getColumn().setText("Type"); col2.setLabelProvider(new ObservableMapStyledCellLabelProvider(map) { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); final Item value = (Item) this.attributeMaps[0].get(element); if (value == null) { return; } final StyledString s = new StyledString(); s.append(value.eClass().getName()); s.append(String.format(" (%s)", value.eClass().getEPackage().getName()), //$NON-NLS-1$ StyledString.QUALIFIER_STYLER); cell.setText(s.getString()); cell.setStyleRanges(s.getStyleRanges()); } }); layout.addColumnData(new ColumnWeightData(50)); } this.viewer.getControl().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { handleDispose(); } }); this.viewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { final ItemEntry i1 = AdapterHelper.adapt(e1, ItemEntry.class); final ItemEntry i2 = AdapterHelper.adapt(e2, ItemEntry.class); if (i1 == i2) { return 0; } if (i1 == null) { return -1; } return StringHelper.join(i1.getLocal(), ".").compareTo(StringHelper.join(i2.getLocal(), ".")); //$NON-NLS-1$ //$NON-NLS-2$ }; }); this.viewer.setInput(this.input); return composite; }
From source file:org.eclipse.scada.core.ui.connection.information.InformationViewPart.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.list = new ConnectionInformationList(); parent.setLayout(new FillLayout()); this.viewer = new TreeViewer(parent, SWT.FULL_SELECTION); this.viewer.getTree().setHeaderVisible(true); final TableLayout layout = new TableLayout(); this.viewer.getTree().setLayout(layout); final ObservableSetTreeContentProvider contentProvider = new ObservableSetTreeContentProvider( new IObservableFactory() { @Override// w ww. j ava 2 s . c om public IObservable createObservable(final Object target) { if (target instanceof IObservable) { return (IObservable) target; } else if (target instanceof ConnectionInformationProvider) { return new ConnectionInformationWrapper((ConnectionInformationProvider) target); } return null; } }, new TreeStructureAdvisor() { }); { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(100)); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Current"); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Min"); } { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new LabelProvider(contentProvider.getRealizedElements())); layout.addColumnData(new ColumnWeightData(50)); col.getColumn().setText("Max"); } this.viewer.setContentProvider(contentProvider); this.viewer.setInput(this.list.getList()); this.viewer.setComparator(new InformationBeanComparator()); getViewSite().setSelectionProvider(this.viewer); hookContextMenu(getViewSite()); }
From source file:org.eclipse.scada.da.ui.summary.explorer.SummaryExplorerViewPart.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.realm = SWTObservables.getRealm(parent.getDisplay()); this.viewer = new TreeViewer(parent, SWT.FULL_SELECTION); final ObservableSetTreeContentProvider contentProvider = new ObservableSetTreeContentProvider( new FactoryImpl(), new TreeStructureAdvisor() { });/* ww w .j a v a2 s. c o m*/ this.viewer.setContentProvider(contentProvider); this.viewer.getTree().setHeaderVisible(true); final TableLayout layout = new TableLayout(); { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); final ListeningStyledCellLabelProvider labelProvider = new NameLabelProviderImpl( contentProvider.getRealizedElements()); col.setLabelProvider(labelProvider); col.getColumn().setText("Name"); layout.addColumnData(new ColumnWeightData(100)); this.labelProviders.add(labelProvider); } for (final State state : State.values()) { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); final ListeningStyledCellLabelProvider labelProvider = new StateLabelProviderImpl( contentProvider.getRealizedElements(), state); col.setLabelProvider(labelProvider); col.getColumn().setText(state.name()); layout.addColumnData(new ColumnWeightData(25)); this.labelProviders.add(labelProvider); } this.viewer.getTree().setLayout(layout); }
From source file:org.eclipse.scada.da.ui.widgets.realtime.RealTimeListViewer.java
License:Open Source License
public void createControl(final Composite parent) { parent.addDisposeListener(new DisposeListener() { @Override/*from ww w . j a v a 2s . c om*/ public void widgetDisposed(final DisposeEvent e) { dispose(); } }); this.viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); TreeViewerColumn col; col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Id); col.setLabelProvider(new ItemCellLabelProvider()); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_State); col.setLabelProvider(new ItemCellLabelProvider()); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Type); col.setLabelProvider(new ItemCellLabelProvider()); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Value); col.setLabelProvider(new ItemCellLabelProvider()); col = new TreeViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(Messages.RealTimeListViewer_Col_Text_Timestamp); col.setLabelProvider(new ItemCellLabelProvider()); this.viewer.getTree().setHeaderVisible(true); final TableLayout tableLayout = new TableLayout(); applyInitialColWidth(tableLayout); this.viewer.getTree().setLayout(tableLayout); this.viewer.setContentProvider(this.contentProvider = new ItemListContentProvider()); this.viewer.setComparator(new ListEntryComparator()); this.viewer.setInput(this.list); this.viewer.addSelectionChangedListener(this.removeAction); addDragSupport(); addDropSupport(); }
From source file:org.eclipse.scanning.device.ui.device.scannable.ControlTreeViewer.java
License:Open Source License
private void createColumns(TreeViewer viewer) { viewer.setColumnProperties(new String[] { "Name", "Value" }); ColumnViewerToolTipSupport.enableFor(viewer); TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT, 0); nameColumn.getColumn().setText("Name"); nameColumn.getColumn().setWidth(200); nameColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { INamedNode node = (INamedNode) element; return node.getDisplayName(); }/*from w ww . ja v a 2 s.com*/ }); nameColumn.setEditingSupport(new NameEditingSupport(this)); TreeViewerColumn valueColumn = new TreeViewerColumn(viewer, SWT.LEFT, 1); valueColumn.getColumn().setText("Value"); valueColumn.getColumn().setWidth(300); valueColumn.setLabelProvider( new DelegatingStyledCellLabelProvider(new ControlValueLabelProvider(cservice, this))); valueColumn.setEditingSupport(new ControlEditingSupport(viewer, cservice, controlViewerMode)); }
From source file:org.eclipse.sirius.common.ui.tools.api.profiler.view.TimeProfilerTreeView.java
License:Open Source License
/** * {@inheritDoc}//ww w .j a v a 2 s. c o m * * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) */ @Override public void createPartControl(final Composite parent) { viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTree().setLinesVisible(true); viewer.getTree().setHeaderVisible(true); final String[] columnNames = { "Task Category", "Task Name", "Time", "Occurences" }; final int[] columnWidths = { 100, 100, 100, 100 }; final int[] columnAlignments = { SWT.LEFT, SWT.LEFT, SWT.RIGHT, SWT.RIGHT }; for (int i = 0; i < columnNames.length; i++) { final TreeViewerColumn treeColumn = new TreeViewerColumn(viewer, columnAlignments[i]); treeColumn.getColumn().setText(columnNames[i]); treeColumn.getColumn().setWidth(columnWidths[i]); final int index = i; treeColumn.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { setSorter(index); } }); } viewer.setLabelProvider(new TimeProfilerTreeViewLabelProvider()); viewer.setContentProvider(new TimeProfilerTreeViewContentProvider()); // create actions. this.createActions(); this.createContextMenu(); this.createToolbarButtons(); // sets the input. viewer.setInput(TreeItemWrapper.ROOT_ITEM); }
From source file:org.eclipse.sirius.table.ui.tools.internal.editor.DTableViewerManager.java
License:Open Source License
/** * Create the TreeViewer./*from www . jav a 2s . co m*/ * * Problem for action on column header : * https://bugs.eclipse.org/bugs/show_bug.cgi?id=23103 * * @param composite * the parent composite */ @Override protected void createTreeViewer(final Composite composite) { // Create a composite to hold the children final GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH); composite.setLayoutData(gridData); final TreeColumnLayout treeLayout = new TreeColumnLayout(); composite.setLayout(treeLayout); // Create and setup the TreeViewer final int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI; treeViewer = new DTableTreeViewer(composite, style, this); // Add a focus listener to deactivate the EMF actions on the Tree treeViewer.getTree().addFocusListener(new DTableTreeFocusListener(tableEditor, treeViewer.getTree())); initializeDragSupport(); sortListener = new DLinesSorter(getEditingDomain(), getEditor().getTableModel()); // 1st column with line labels DslCommonPlugin.PROFILER.startWork(SiriusTasksKey.ADD_SWT_COLUMN_KEY); final TreeViewerColumn headerTreeColumn = new TreeViewerColumn(treeViewer, SWT.CENTER, 0); DslCommonPlugin.PROFILER.startWork(SiriusTasksKey.SET_COLUMN_NAME_KEY); headerTreeColumn.getColumn().setText(""); DslCommonPlugin.PROFILER.stopWork(SiriusTasksKey.SET_COLUMN_NAME_KEY); ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(); CellLabelProvider lineheaderColumnLabelProvider = new DTableLineLabelProvider(decorator) { /* Display gray background for the OS other than GTK. */ @Override public Color getBackground(final Object element) { if (IS_GTK_OS) { // We could desactivate the gray background color for Linux // return super.getBackground(element); return Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); } else { return Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); } } }; headerTreeColumn.setLabelProvider(lineheaderColumnLabelProvider); int headerColumnWidth = ((DTable) dRepresentation).getHeaderColumnWidth(); if (headerColumnWidth != 0) { treeLayout.setColumnData(headerTreeColumn.getColumn(), new ColumnPixelData(headerColumnWidth)); if (headerTreeColumn.getColumn().getWidth() != headerColumnWidth) { headerTreeColumn.getColumn().setWidth(headerColumnWidth); } } else { treeLayout.setColumnData(headerTreeColumn.getColumn(), new ColumnWeightData(1)); if (IS_GTK_OS) { // Do not launch treeViewerColumn.getColumn().pack() here // for windows because the size is computed only with the // headerText and under windows this size is fixed with this // value for the next pack. Under linux it's better with this // pack() here. // Not really understood... headerTreeColumn.getColumn().pack(); } } headerTreeColumn.getColumn().addListener(SWT.Selection, sortListener); DslCommonPlugin.PROFILER.stopWork(SiriusTasksKey.ADD_SWT_COLUMN_KEY); // Next columns int index = 1; for (final DColumn column : ((DTable) dRepresentation).getColumns()) { addNewColumn(column, index++); } treeViewer.setUseHashlookup(true); tableUIUpdater = new TableUIUpdater(this, dRepresentation); descriptionFileChangedNotifier = new DescriptionFileChangedNotifier(this); dTableContentProvider = new DTableContentProvider(); treeViewer.setContentProvider(dTableContentProvider); // The input for the table viewer is the instance of DTable treeViewer.setInput(dRepresentation); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); fillMenu(); triggerColumnSelectedColumn(); // Expands the line according to the model treeViewer.setExpandedElements(TableHelper.getExpandedLines((DTable) dRepresentation).toArray()); // Pack after expand for resize column on all subLines for (int i = 0; i < treeViewer.getTree().getColumnCount(); i++) { // Do the pack only if the ColumnData is a ColumnWeightData final Object data = treeViewer.getTree().getColumn(i).getData(AbstractDTableViewerManager.LAYOUT_DATA); if (data instanceof ColumnWeightData) { treeViewer.getTree().getColumn(i).pack(); } } treeViewer.addTreeListener(tableViewerListener); // Manage height of the lines, selected colors, triggerCustomDrawingTreeItems(); // Create a new CellFocusManager final TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer)); // Create a TreeViewerEditor with focusable cell TreeViewerEditor.create(treeViewer, focusCellManager, new DTableColumnViewerEditorActivationStrategy(treeViewer), ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); // Set after the setInput to avoid layout call it several time for // nothing at opening headerTreeColumn.getColumn().addControlListener(tableViewerListener); initializeKeyBindingSupport(); }