List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn
public TreeColumn getColumn()
From source file:org.eclipse.ui.ide.markers.compatibility.internal.ExtendedMarkersView.java
License:Open Source License
/** * Create the columns for the receiver./*from w ww . j av a 2 s. c o m*/ * * @param currentColumns * the columns to refresh */ private void createColumns(TreeColumn[] currentColumns) { Tree tree = viewer.getTree(); TableLayout layout = new TableLayout(); MarkerField[] fields = builder.getVisibleFields(); for (int i = 0; i < fields.length; i++) { MarkerField markerField = fields[i]; // Take into account the expansion indicator int columnWidth = markerField.getDefaultColumnWidth(tree); if (i == 0) { // Compute and store a font metric GC gc = new GC(tree); gc.setFont(tree.getFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); columnWidth = Math.max(columnWidth, fontMetrics.getAverageCharWidth() * 5); } layout.addColumnData(new ColumnPixelData(columnWidth, true, true)); TreeViewerColumn column; if (i < currentColumns.length) column = new TreeViewerColumn(viewer, currentColumns[i]); else { column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); column.getColumn().addSelectionListener(getHeaderListener()); } column.getColumn().setData(MARKER_FIELD, markerField); // Show the help in the first column column.setLabelProvider(new MarkerColumnLabelProvider(markerField, i == 0)); column.getColumn().setText(markerField.getColumnHeaderText()); column.getColumn().setToolTipText(markerField.getColumnTooltipText()); column.getColumn().setImage(markerField.getColumnHeaderImage()); EditingSupport support = markerField.getEditingSupport(viewer); if (support != null) column.setEditingSupport(support); if (builder.getPrimarySortField().equals(markerField)) updateDirectionIndicator(column.getColumn(), markerField); } // Remove extra columns if (currentColumns.length > fields.length) { for (int i = fields.length; i < currentColumns.length; i++) { currentColumns[i].dispose(); } } viewer.getTree().setLayout(layout); tree.setLinesVisible(true); tree.setHeaderVisible(true); tree.layout(true); }
From source file:org.eclipse.ui.internal.views.markers.ExtendedMarkersView.java
License:Open Source License
/** * Create the columns for the receiver./*ww w . ja v a2 s .c o m*/ * * @param currentColumns * the columns to refresh * @param widths */ private void createColumns(TreeColumn[] currentColumns, int[] widths) { Tree tree = viewer.getTree(); TableLayout layout = new TableLayout(); MarkerField[] fields = generator.getVisibleFields(); for (int i = 0; i < fields.length; i++) { MarkerField markerField = fields[i]; TreeViewerColumn column = null; if (i < currentColumns.length) column = new TreeViewerColumn(viewer, currentColumns[i]); else { column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); column.getColumn().addSelectionListener(getHeaderListener()); } column.getColumn().setData(MARKER_FIELD, markerField); // Show the help in the first column column.setLabelProvider(new MarkerColumnLabelProvider(markerField)); column.getColumn().setText(markerField.getColumnHeaderText()); column.getColumn().setToolTipText(markerField.getColumnTooltipText()); column.getColumn().setImage(markerField.getColumnHeaderImage()); EditingSupport support = markerField.getEditingSupport(viewer); if (support != null) column.setEditingSupport(support); if (builder.getPrimarySortField().equals(markerField)) updateDirectionIndicator(column.getColumn(), markerField); IMemento columnWidths = null; if (memento != null) { columnWidths = memento.getChild(TAG_COLUMN_WIDTHS); } //adjust the column width int columnWidth = i < widths.length ? widths[i] : -1; columnWidth = getFieldWidth(markerField, columnWidth, false); if (columnWidths != null) { // save it columnWidths.putInteger(markerField.getConfigurationElement() .getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID), columnWidth); } // Take trim into account if we are using the default value, but not // if it is restored. if (columnWidth < 0) layout.addColumnData(new ColumnPixelData(markerField.getDefaultColumnWidth(tree), true, true)); else layout.addColumnData(new ColumnPixelData(columnWidth, true)); } // Remove extra columns if (currentColumns.length > fields.length) { for (int i = fields.length; i < currentColumns.length; i++) { currentColumns[i].dispose(); } } viewer.getTree().setLayout(layout); tree.setLinesVisible(true); tree.setHeaderVisible(true); tree.layout(true); }
From source file:org.eclipse.ui.trace.internal.TracingPreferencePage.java
License:Open Source License
/** * Create a viewer for the list of debug options that are traceable in the product. * //from w ww . j a v a2 s . c o m * @param parent * The parent composite */ protected void addBundleViewerSection(Composite parent) { tracingTreeTitleLabel = new Label(parent, SWT.NONE); tracingTreeTitleLabel.setText(Messages.tracingTreeTile); filterTree = new TracingComponentTreeViewer(parent); GridDataFactory.fillDefaults().grab(true, true).applyTo(getViewerTree()); getViewer().setUseHashlookup(true); getViewerTree().setHeaderVisible(false); getViewer().setLabelProvider(new TracingComponentLabelProvider()); getViewer().setContentProvider(new TracingComponentContentProvider()); getViewer().setComparator(new TracingComponentComparator()); getViewerTree().setLinesVisible(true); getViewer().addDoubleClickListener(new TracingDoubleClickListener()); // change the layout of the tree's composite to TreeColumnLayout so we can setup the columns Composite treeViewerComposite = getViewerTree().getParent(); TreeColumnLayout treeViewerCompositeLayout = new TreeColumnLayout(); treeViewerComposite.setLayout(treeViewerCompositeLayout); GridDataFactory.fillDefaults().grab(true, true).applyTo(treeViewerComposite); // there will be 2 columns. (1) trace string (2) value (which will only be populated when it is a non-boolean // value) // [1] Add the label column (75% column width) TreeViewerColumn labelColumn = new TreeViewerColumn(getViewer(), SWT.NONE); labelColumn.getColumn().setResizable(true); labelColumn.getColumn().setText(Messages.columnHeaderTracingString); labelColumn.setLabelProvider(new TracingComponentColumnLabelProvider(TracingConstants.LABEL_COLUMN_INDEX)); treeViewerCompositeLayout.setColumnData(getViewerTree().getColumn(0), new ColumnWeightData(75)); // [2] Add the value column (25% column width) TreeViewerColumn valueColumn = new TreeViewerColumn(getViewer(), SWT.NONE); valueColumn.getColumn().setResizable(true); valueColumn.getColumn().setText(Messages.columnHeaderTracingValue); valueColumn.setLabelProvider(new TracingComponentColumnLabelProvider(TracingConstants.VALUE_COLUMN_INDEX)); valueColumn.setEditingSupport( new TracingComponentColumnEditingSupport(getViewer(), TracingConstants.VALUE_COLUMN_INDEX)); treeViewerCompositeLayout.setColumnData(getViewerTree().getColumn(1), new ColumnWeightData(25)); // install focus cell and cell editor activation for keyboard access (Bug 385100) TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(getViewer(), new FocusCellOwnerDrawHighlighter(getViewer())); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(getViewer()) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return (event.eventType == KEY_PRESSED && event.keyCode == VALUE_EDITOR_ACTIVATION_KEY) // || event.eventType == TRAVERSAL // || event.eventType == MOUSE_CLICK_SELECTION // || event.eventType == PROGRAMMATIC; } }; TreeViewerEditor.create(getViewer(), focusCellManager, actSupport, // TABBING_HORIZONTAL | TABBING_MOVE_TO_ROW_NEIGHBOR | TABBING_VERTICAL | KEYBOARD_ACTIVATION); }
From source file:org.eclipse.vtp.desktop.projects.interactive.core.util.LanguageMappingScreen.java
License:Open Source License
private void createTree(Composite parent) { Tree tree = new Tree(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); tree.setHeaderVisible(true);/*from w w w. jav a 2 s . c o m*/ brandViewer = new TreeViewer(tree); TreeColumn brandColumn = new TreeColumn(tree, SWT.NONE); brandColumn.setWidth(100); brandColumn.setText("Brands"); for (LanguageSupport language : support.getSupportedLanguages()) { TreeViewerColumn languageColumn = new TreeViewerColumn(brandViewer, SWT.NONE); languageColumn.getColumn().setText(language.getLanguage()); languageColumn.getColumn().setWidth(100); ProjectEditingSupport pes = new ProjectEditingSupport(brandViewer, language); languageColumn.setEditingSupport(pes); } brandViewer.setContentProvider(new BrandContentProvider()); brandViewer.setLabelProvider(new BrandLabelProvider()); brandViewer.setInput(this); }
From source file:org.eclipselabs.e4.tapiji.translator.ui.treeviewer.TreeViewerView.java
License:Open Source License
private void createColumn(final String languageCode, final int columnIndex, final TextCellEditor textCellEditor) { final Locale locale = LocaleUtils.getLocaleFromLanguageCode(languageCode); final TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(false); column.getColumn().setResizable(true); column.getColumn().setText(locale.getDisplayName()); column.getColumn().addSelectionListener(createColumnSelectionListener(columnIndex)); column.setEditingSupport(createEditingSupportFor(textCellEditor, columnIndex, languageCode)); }
From source file:org.eclipselabs.spray.runtime.xtext.ui.xtextindex.IEObjectDescriptionViewer.java
License:Open Source License
/** * Create contents of the view part./*from w w w .ja va2 s . co m*/ * * @param parent */ public void createPartControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayout(new FormLayout()); Composite composite = new Composite(container, SWT.NONE); composite.setBounds(10, 21, 200, 64); FormData fd_composite = new FormData(); fd_composite.left = new FormAttachment(0, 10); fd_composite.bottom = new FormAttachment(0, 458); fd_composite.top = new FormAttachment(0, 21); composite.setLayoutData(fd_composite); TreeColumnLayout tcl_composite = new TreeColumnLayout(); composite.setLayout(tcl_composite); treeViewer = new TreeViewer(composite, SWT.BORDER); Tree tree = treeViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnName = treeViewerColumn.getColumn(); tcl_composite.setColumnData(trclmnName, new ColumnPixelData(150, true, true)); trclmnName.setText("Name"); TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnType = treeViewerColumn_1.getColumn(); tcl_composite.setColumnData(trclmnType, new ColumnPixelData(150, true, true)); trclmnType.setText("Type"); TreeViewerColumn treeViewerUserDataColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnUserData = treeViewerUserDataColumn.getColumn(); tcl_composite.setColumnData(trclmnUserData, new ColumnPixelData(150, true, true)); trclmnUserData.setText("User Data"); Button btnRefresh = new Button(container, SWT.NONE); fd_composite.right = new FormAttachment(btnRefresh, -35); btnRefresh.addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { initializeInput(); } }); FormData fd_btnRefresh = new FormData(); fd_btnRefresh.top = new FormAttachment(composite, 0, SWT.TOP); fd_btnRefresh.right = new FormAttachment(100, -10); btnRefresh.setLayoutData(fd_btnRefresh); btnRefresh.setText("Refresh"); treeViewer.setLabelProvider(new IEObjectDescriptionLabelProvider()); treeViewer.setContentProvider(new IEObjectDescriptionContentProvider()); treeViewerColumn.setLabelProvider(new EObjectDescriptionNameColumnLabelProvider()); treeViewerColumn_1.setLabelProvider(new EObjectDescriptionTypeColumnLabelProvider()); treeViewerUserDataColumn.setLabelProvider(new EObjectDescriptionUserDataColumnLabelProvider()); createActions(); initializeToolBar(); initializeMenu(); initializeInput(); }
From source file:org.eclipsetrader.ui.internal.ats.monitor.TradingSystemsViewPart.java
License:Open Source License
@Override public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(false); createContextMenu();//from w w w.j a v a 2s.c om model = new TradingSystemsViewModel(tradingSystemService); String[] columns = dialogSettings.getArray(COLUMNS); IDialogSettings namesSection = dialogSettings.getSection(COLUMN_NAMES); List<ViewColumn> list = new ArrayList<ViewColumn>(); for (int i = 0; i < columns.length; i++) { String name = namesSection.get(columns[i]); list.add(new ViewColumn(name, activator.getDataProviderFactory(columns[i]))); } model.setDataProviders(list); for (final TradingSystemItem item : model.getList()) { PropertyChangeSupport changeSupport = (PropertyChangeSupport) item.getTradingSystem() .getAdapter(PropertyChangeSupport.class); if (changeSupport != null) { changeSupport.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (viewer.getControl().isDisposed()) { return; } viewer.refresh(item); } }); } }); } } final ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(model, model); viewer.setContentProvider(contentProvider); IDialogSettings widthSettings = dialogSettings.getSection(COLUMN_WIDTHS); TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE); int width = 300; if (widthSettings.get(LABEL_COLUMN) != null) { width = widthSettings.getInt(LABEL_COLUMN); } viewerColumn.getColumn().setWidth(width); viewerColumn.getColumn().addControlListener(columnControlListener); final List<IObservableMap> properties = new ArrayList<IObservableMap>(); properties.add(new ViewerObservableMap(contentProvider.getKnownElements(), LABEL_COLUMN)); for (ViewColumn column : model.getDataProviders()) { viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(column.getName()); width = 100; if (widthSettings.get(column.getDataProviderFactory().getId()) != null) { width = widthSettings.getInt(column.getDataProviderFactory().getId()); } viewerColumn.getColumn().setWidth(width); viewerColumn.getColumn().addControlListener(columnControlListener); column.addPropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener); properties.add(new ViewerObservableMap(contentProvider.getKnownElements(), column.getDataProviderFactory().getId())); } createLabelProvider(properties.toArray(new IObservableMap[properties.size()])); model.getObservableDataProviders().addListChangeListener(new IListChangeListener() { @Override public void handleListChange(ListChangeEvent event) { event.diff.accept(new ListDiffVisitor() { @Override public void handleRemove(int index, Object element) { TreeColumn treeColumn = viewer.getTree().getColumn(index + 1); treeColumn.dispose(); ViewColumn column = (ViewColumn) element; column.removePropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener); IObservableMap observableMap = properties.remove(index + 1); if (observableMap != null) { observableMap.dispose(); } } @Override public void handleAdd(int index, Object element) { ViewColumn column = (ViewColumn) element; TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT, index + 1); viewerColumn.getColumn().setText(column.getName()); int width = 100; IDialogSettings widthSettings = dialogSettings.getSection(COLUMN_WIDTHS); if (widthSettings.get(column.getDataProviderFactory().getId()) != null) { width = widthSettings.getInt(column.getDataProviderFactory().getId()); } viewerColumn.getColumn().setWidth(width); viewerColumn.getColumn().addControlListener(columnControlListener); column.addPropertyChangeListener(ViewColumn.PROP_NAME, columnPropertiesChangeListener); properties.add(index + 1, new ViewerObservableMap(contentProvider.getKnownElements(), column.getDataProviderFactory().getId())); } }); createLabelProvider(properties.toArray(new IObservableMap[properties.size()])); IDialogSettings namesSection = dialogSettings.getSection(COLUMN_NAMES); List<String> list = new ArrayList<String>(); for (ViewColumn column : model.getDataProviders()) { list.add(column.getDataProviderFactory().getId()); namesSection.put(column.getDataProviderFactory().getId(), column.getName()); } dialogSettings.put(COLUMNS, list.toArray(new String[list.size()])); } }); viewer.setComparator(new ViewerComparator()); getSite().setSelectionProvider(viewer); viewer.setInput(model); viewer.expandAll(); }
From source file:org.eclipsetrader.ui.internal.charts.views.HistoryDataDetailEditor.java
License:Open Source License
void createViewer(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI); tree.setHeaderVisible(true);//w w w . ja va2 s .c om tree.setLinesVisible(true); viewer = new TreeViewer(tree); IObservableFactory observableFactory = new IObservableFactory() { @Override public IObservable createObservable(Object target) { if (target instanceof HistoryDataDetailEditorModel) { return Observables .unmodifiableObservableList(((HistoryDataDetailEditorModel) target).getList()); } if (target instanceof HistoryDataEditorModel) { return Observables.unmodifiableObservableList(((HistoryDataEditorModel) target).getList()); } return null; } }; TreeStructureAdvisor treeStructureAdvisor = new TreeStructureAdvisor() { @Override public Boolean hasChildren(Object element) { if (element instanceof HistoryDataEditorModel) { return true; } return false; } }; ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(observableFactory, treeStructureAdvisor); viewer.setContentProvider(contentProvider); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Time); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.timeValue(), BeanProperties.value(HistoryDataElement.PROP_DATE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Open); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_OPEN))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_High); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_HIGH))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Low); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_LOW))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Close); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_CLOSE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Volume); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.longValue(), BeanProperties.value(HistoryDataElement.PROP_VOLUME))); if (Platform.WS_GTK.equals(Platform.getWS())) { viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setWidth(1); } final String[] properties = new String[] { HistoryDataElement.PROP_DATE, HistoryDataElement.PROP_OPEN, HistoryDataElement.PROP_HIGH, HistoryDataElement.PROP_LOW, HistoryDataElement.PROP_CLOSE, HistoryDataElement.PROP_VOLUME, "" //$NON-NLS-1$ }; DataViewerLabelProvider labelProvider = new DataViewerLabelProvider( BeansObservables.observeMaps(contentProvider.getKnownElements(), properties)); labelProvider.setDateFormat(Util.getTimeFormat()); viewer.setLabelProvider(labelProvider); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object o1, Object o2) { if ((o1 instanceof HistoryDataEditorModel) && (o2 instanceof HistoryDataEditorModel)) { TimeSpan ts1 = ((HistoryDataEditorModel) o1).getBarSize(); TimeSpan ts2 = ((HistoryDataEditorModel) o2).getBarSize(); if (ts1.higherThan(ts2)) { return 1; } if (ts2.higherThan(ts1)) { return -1; } return 0; } else if ((o1 instanceof HistoryDataElement) && (o2 instanceof HistoryDataElement)) { HistoryDataElement e1 = (HistoryDataElement) o1; HistoryDataElement e2 = (HistoryDataElement) o2; if (e1.getDate() != null && e2.getDate() != null) { return e1.getDate().compareTo(e2.getDate()); } if (e1.getDate() != null && e2.getDate() == null) { return -1; } if (e1.getDate() == null && e2.getDate() != null) { return 1; } } return 0; } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { if (cell.getColumnIndex() == properties.length - 1) { return null; } Tree tree = ((TreeViewer) viewer).getTree(); tree.showColumn(tree.getColumn(cell.getColumnIndex())); } return cell; } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer), naviStrat); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, focusCellManager, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); tree.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_ESCAPE) { e.doit = false; } } }); tree.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (viewer.isCellEditorActive()) { return; } if (e.keyCode == SWT.INSERT) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); HistoryDataEditorModel parent = null; int index = 0; if (!selection.isEmpty()) { parent = model.getParent(selection.getFirstElement()); if (parent == null) { return; } index = parent.getList().indexOf(selection.getFirstElement()); if (index == -1) { index = parent.getList().size(); } } final HistoryDataElement element = new HistoryDataElement(); parent.getList().add(index, element); e.doit = false; Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getControl().isDisposed()) { viewer.editElement(element, 0); } } }); } else if (e.character == SWT.DEL) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); for (Object element : selection.toList()) { HistoryDataEditorModel parent = model.getParent(selection.getFirstElement()); if (parent != null) { if (parent.getList().remove(element)) { changeSupport.firePropertyChange(PROP_DIRTY, dirty, dirty = true); } } } } } }); viewer.setInput(model); }
From source file:org.eclipsetrader.ui.internal.trading.portfolio.PortfolioViewPart.java
License:Open Source License
protected void createViewer(Composite parent) { viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(false); viewer.setContentProvider(new PortfolioContentProvider()); viewer.setSorter(new ViewerSorter()); viewer.setInput(new PortfolioView()); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose();//from ww w. j a va 2s . c o m TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 40)); viewerColumn.setLabelProvider(new ElementLabelProvider()); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.PortfolioViewPart_Position); viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 15)); viewerColumn.setLabelProvider(new PositionLabelProvider()); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.PortfolioViewPart_Price); viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 15)); viewerColumn.setLabelProvider(new PriceLabelProvider()); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.PortfolioViewPart_PL); viewerColumn.getColumn().setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 30)); viewerColumn.setLabelProvider(new GainLabelProvider()); }
From source file:org.entirej.applicationframework.fx.renderers.block.definition.EJFXTreeTableRecordBlockDefinition.java
License:Apache License
private EJFXTreeRendererDefinitionControl addTreeTable(EJDevBlockDisplayProperties blockDisplayProperties, Composite client, FormToolkit toolkit) { Map<String, Integer> columnPositions = new HashMap<String, Integer>(); final ScrolledForm sc = toolkit.createScrolledForm(client); GridData scgd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); scgd.grabExcessHorizontalSpace = true; scgd.grabExcessVerticalSpace = true; sc.setLayoutData(scgd);/*from w w w .j a v a2 s . c om*/ GridLayout gl = new GridLayout(); gl.marginHeight = gl.marginWidth = 0; sc.getBody().setLayout(gl); toolkit.adapt(sc); sc.getBody().setLayout(new FillLayout()); Composite tablePanel = sc.getBody(); EJDevItemGroupDisplayProperties displayProperties = null; if (blockDisplayProperties.getMainScreenItemGroupDisplayContainer().getAllItemGroupDisplayProperties() .size() > 0) { displayProperties = blockDisplayProperties.getMainScreenItemGroupDisplayContainer() .getAllItemGroupDisplayProperties().iterator().next(); if (displayProperties.dispayGroupFrame()) { Group group = new Group(tablePanel, SWT.NONE); group.setLayout(new FillLayout()); if (displayProperties.getFrameTitle() != null && displayProperties.getFrameTitle().length() > 0) group.setText(displayProperties.getFrameTitle()); tablePanel = group; } } Tree table = new Tree(tablePanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); table.setHeaderVisible(true); table.setLinesVisible(true); TableLayout tableLayout = new TableLayout(); // There is only one item group for a flow layout TreeViewer _tableViewer = new TreeViewer(table); _tableViewer.setContentProvider(new ITreeContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // TODO Auto-generated method stub } @Override public void dispose() { // TODO Auto-generated method stub } @Override public boolean hasChildren(Object element) { return true; } @Override public Object getParent(Object element) { return null; } @Override public Object[] getElements(Object inputElement) { return new Object[] { new Object(), new Object(), new Object() }; } @Override public Object[] getChildren(Object parentElement) { return new Object[] { new Object(), new Object() }; } }); int itemCount = 0; if (displayProperties != null) for (final EJDevScreenItemDisplayProperties screenItem : displayProperties .getAllItemDisplayProperties()) { if (!screenItem.isSpacerItem()) { int width = ((EJDevMainScreenItemDisplayProperties) screenItem) .getBlockRendererRequiredProperties() .getIntProperty(EJFXTreeTableBlockDefinitionProperties.DISPLAY_WIDTH_PROPERTY, 0); TreeViewerColumn masterColumn = new TreeViewerColumn(_tableViewer, SWT.NONE); masterColumn.getColumn().setData("SCREEN_ITEM", screenItem); masterColumn.getColumn().setText(screenItem.getLabel()); masterColumn.getColumn().setWidth(width); String alignment = ((EJDevMainScreenItemDisplayProperties) screenItem) .getBlockRendererRequiredProperties() .getStringProperty(EJFXTreeTableBlockDefinitionProperties.COLUMN_ALIGNMENT); if (EJFXTreeTableBlockDefinitionProperties.COLUMN_ALLIGN_RIGHT.equals(alignment)) { masterColumn.getColumn().setAlignment(SWT.RIGHT); } else if (EJFXTreeTableBlockDefinitionProperties.COLUMN_ALLIGN_CENTER.equals(alignment)) { masterColumn.getColumn().setAlignment(SWT.CENTER); } masterColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return screenItem.getReferencedItemName(); } }); ColumnWeightData colData = new ColumnWeightData(5, 50, true); tableLayout.addColumnData(colData); columnPositions.put(screenItem.getReferencedItemName(), itemCount); itemCount++; } } table.setLayout(tableLayout); _tableViewer.setInput(new Object()); return new EJFXTreeRendererDefinitionControl(blockDisplayProperties, table, columnPositions); }