/** Configure the tree adding columns. */ @Override protected void configureTree() { Trees.disposeColumns(getViewer()); getViewer().getTree().setLinesVisible(true); getViewer().getTree().setHeaderVisible(true); List<ColumnConfiguration> columns = getConfiguration().getColumnConfigurations(); for (ColumnConfiguration config : columns) { if (!config.isVisible()) { continue; } ThreadColumn column = ThreadColumn.getColumn(config.getName()); TreeColumn treeColumn = new TreeColumn(getViewer().getTree(), SWT.NONE); treeColumn.setText(column.label); treeColumn.setWidth(column.defalutWidth); treeColumn.setAlignment(column.initialAlignment); treeColumn.setToolTipText(column.toolTip); treeColumn.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (e.widget instanceof TreeColumn) { sortColumn((TreeColumn) e.widget); } } }); } getConfiguration().addColumnListeners(getViewer()); }
/* * @see IConfigurableColumn#getColumns() */ @Override public List<String> getColumns() { ArrayList<String> columnLabels = new ArrayList<String>(); ThreadColumn[] values = ThreadColumn.values(); for (ThreadColumn value : values) { columnLabels.add(value.label); } return columnLabels; }