List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn
public TreeColumn getColumn()
From source file:org.jboss.tools.runtime.ui.internal.dialogs.RuntimeCheckboxTreeViewer.java
License:Open Source License
public RuntimeCheckboxTreeViewer(Composite parent, final RuntimePath[] runtimePaths2, int heightHint) { super(parent, SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE); GridData gd;//from ww w . j ava 2s .c om Tree tree = getTree(); gd = new GridData(SWT.FILL, SWT.FILL, true, true); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, heightHint); tree.setLayoutData(gd); tree.setHeaderVisible(true); tree.setLinesVisible(true); String[] columnNames = new String[] { Messages.RuntimeCheckboxTreeViewer_Name, Messages.RuntimeCheckboxTreeViewer_Type, Messages.RuntimeCheckboxTreeViewer_Version, Messages.RuntimeCheckboxTreeViewer_Errors, Messages.RuntimeCheckboxTreeViewer_Location }; int[] columnWidths = new int[] { 200, 70, 60, 150, 150 }; for (int i = 0; i < columnNames.length; i++) { TreeViewerColumn tc = new TreeViewerColumn(this, SWT.NONE); tc.getColumn().setText(columnNames[i]); tc.getColumn().setWidth(columnWidths[i]); } setLabelProvider(new RuntimeLabelProvider()); List<RuntimeDefinition> runtimeDefinitions = new ArrayList<RuntimeDefinition>(); for (RuntimePath runtimePath : runtimePaths2) { runtimeDefinitions.addAll(Arrays.asList(runtimePath.getRuntimeDefinitions())); } setContentProvider(new RuntimeContentProvider(runtimeDefinitions)); setInput(runtimeDefinitions); for (RuntimeDefinition definition : runtimeDefinitions) { setChecked(definition, definition.isEnabled()); } addContentAssist(); }
From source file:org.jkiss.dbeaver.tools.transfer.database.DatabaseConsumerPageMapping.java
License:Open Source License
private void createMappingsTree(Composite composite) { // Mapping table mappingViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); mappingViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); mappingViewer.getTree().setLinesVisible(true); mappingViewer.getTree().setHeaderVisible(true); TreeViewerColumn columnSource = new TreeViewerColumn(mappingViewer, SWT.LEFT); columnSource.setLabelProvider(new MappingLabelProvider() { @Override/*from w ww. j a v a2s. co m*/ public void update(ViewerCell cell) { DatabaseMappingObject mapping = (DatabaseMappingObject) cell.getElement(); cell.setText(DBUtils.getObjectFullName(mapping.getSource())); if (mapping.getIcon() != null) { cell.setImage(DBeaverIcons.getImage(mapping.getIcon())); } super.update(cell); } }); columnSource.getColumn().setText("Source"); TreeViewerColumn columnTarget = new TreeViewerColumn(mappingViewer, SWT.LEFT); columnTarget.setLabelProvider(new MappingLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingObject mapping = (DatabaseMappingObject) cell.getElement(); cell.setText(mapping.getTargetName()); if (mapping.getMappingType() == DatabaseMappingType.unspecified) { cell.setBackground(DBeaverUI.getSharedTextColors().getColor(SharedTextColors.COLOR_WARNING)); } else { cell.setBackground(null); } super.update(cell); } }); columnTarget.getColumn().setText("Target"); columnTarget.setEditingSupport(new EditingSupport(mappingViewer) { @Override protected CellEditor getCellEditor(Object element) { try { CellEditor targetEditor = createTargetEditor(element); setErrorMessage(null); return targetEditor; } catch (DBException e) { setErrorMessage(e.getMessage()); return null; } } @Override protected boolean canEdit(Object element) { return true; } @Override protected Object getValue(Object element) { DatabaseMappingObject mapping = (DatabaseMappingObject) element; if (mapping.getMappingType() == DatabaseMappingType.unspecified) { return mapping.getSource().getName(); } if (mapping instanceof DatabaseMappingContainer) { if (mapping.getMappingType() == DatabaseMappingType.existing) { return ((DatabaseMappingContainer) mapping).getTarget(); } return mapping.getTargetName(); } else { if (mapping.getMappingType() == DatabaseMappingType.existing) { return ((DatabaseMappingAttribute) mapping).getTarget(); } return mapping.getTargetName(); } } @Override protected void setValue(Object element, Object value) { try { final DatabaseConsumerSettings settings = getWizard() .getPageSettings(DatabaseConsumerPageMapping.this, DatabaseConsumerSettings.class); String name = CommonUtils.toString(value); DBPDataSource dataSource = settings.getTargetDataSource((DatabaseMappingObject) element); if (!name.equals(DatabaseMappingAttribute.TARGET_NAME_SKIP) && !name.equals(TARGET_NAME_BROWSE) && dataSource != null) { name = DBObjectNameCaseTransformer.transformName(dataSource, name); } setMappingTarget((DatabaseMappingObject) element, name); mappingViewer.refresh(); mappingViewer.setSelection(mappingViewer.getSelection()); updatePageCompletion(); setErrorMessage(null); } catch (DBException e) { setErrorMessage(e.getMessage()); } } }); //TreeViewerEditor.create(mappingViewer, new TreeViewerFocusCellManager(), ColumnViewerEditor.TABBING_CYCLE_IN_ROW); TreeViewerColumn columnMapping = new TreeViewerColumn(mappingViewer, SWT.LEFT); columnMapping.setLabelProvider(new MappingLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingObject mapping = (DatabaseMappingObject) cell.getElement(); String text = ""; switch (mapping.getMappingType()) { case unspecified: text = "?"; break; case existing: text = "existing"; break; case create: text = "new"; break; case skip: text = "skip"; break; } cell.setText(text); super.update(cell); } }); columnMapping.getColumn().setText("Mapping"); mappingViewer.setContentProvider(new TreeContentProvider() { @Override public boolean hasChildren(Object element) { return element instanceof DatabaseMappingContainer; } @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof DatabaseMappingContainer) { return ((DatabaseMappingContainer) parentElement).getAttributeMappings(getContainer()) .toArray(); } return null; } }); }
From source file:org.jkiss.dbeaver.ui.controls.itemlist.ObjectListControl.java
License:Open Source License
protected void createColumn(ObjectPropertyDescriptor prop) { ObjectColumn objectColumn = null;// w w w.j av a 2s. c o m for (ObjectColumn col : columns) { if (col.id.equals(prop.getId())) { objectColumn = col; break; } } // Use prop class from top parent Class<?> propClass = prop.getParent() == null ? prop.getDeclaringClass() : prop.getParent().getDeclaringClass(); if (objectColumn == null) { Item columnItem; ViewerColumn newColumn; boolean numeric = prop.isNumeric(); if (renderer.isTree()) { TreeViewerColumn viewerColumn = new TreeViewerColumn((TreeViewer) itemsViewer, numeric ? SWT.RIGHT : SWT.NONE); viewerColumn.getColumn().setText(prop.getDisplayName()); viewerColumn.getColumn().setToolTipText(prop.getDescription()); viewerColumn.getColumn().addListener(SWT.Selection, renderer.getSortListener()); newColumn = viewerColumn; columnItem = viewerColumn.getColumn(); } else { TableViewerColumn viewerColumn = new TableViewerColumn((TableViewer) itemsViewer, numeric ? SWT.RIGHT : SWT.NONE); viewerColumn.getColumn().setText(prop.getDisplayName()); viewerColumn.getColumn().setToolTipText(prop.getDescription()); //column.setData(prop); viewerColumn.getColumn().addListener(SWT.Selection, renderer.getSortListener()); newColumn = viewerColumn; columnItem = viewerColumn.getColumn(); } newColumn.setLabelProvider(getColumnLabelProvider(columns.size())); final EditingSupport editingSupport = makeEditingSupport(newColumn, columns.size()); if (editingSupport != null) { newColumn.setEditingSupport(editingSupport); } objectColumn = new ObjectColumn(newColumn, columnItem, CommonUtils.toString(prop.getId())); objectColumn.addProperty(propClass, prop); this.columns.add(objectColumn); columnItem.setData(DATA_OBJECT_COLUMN, objectColumn); } else { objectColumn.addProperty(propClass, prop); String oldTitle = objectColumn.item.getText(); if (!oldTitle.contains(prop.getDisplayName())) { objectColumn.item.setText(CommonUtils.capitalizeWord(objectColumn.id)); } } }
From source file:org.jkiss.dbeaver.ui.controls.ViewerColumnController.java
License:Apache License
private void createVisibleColumns() { boolean hasLazyColumns = false; List<ColumnInfo> visibleColumns = getVisibleColumns(); for (int i = 0; i < visibleColumns.size(); i++) { final ColumnInfo columnInfo = visibleColumns.get(i); columnInfo.order = i;//from w w w. j a v a2 s .c om final Item colItem; ViewerColumn viewerColumn; if (viewer instanceof TreeViewer) { final TreeViewerColumn item = new TreeViewerColumn((TreeViewer) viewer, columnInfo.style); viewerColumn = item; final TreeColumn column = item.getColumn(); colItem = column; column.setText(columnInfo.name); column.setMoveable(true); column.setWidth(columnInfo.width); if (!CommonUtils.isEmpty(columnInfo.description)) { column.setToolTipText(columnInfo.description); } column.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { columnInfo.width = column.getWidth(); saveColumnConfig(); } @Override public void controlMoved(ControlEvent e) { if (!isInitializing && e.getSource() instanceof TreeColumn) { updateColumnOrder(column, column.getParent().getColumnOrder()); } } }); columnInfo.column = column; } else if (viewer instanceof TableViewer) { final TableViewerColumn item = new TableViewerColumn((TableViewer) viewer, columnInfo.style); viewerColumn = item; final TableColumn column = item.getColumn(); colItem = column; column.setText(columnInfo.name); column.setMoveable(true); column.setWidth(columnInfo.width); if (!CommonUtils.isEmpty(columnInfo.description)) { column.setToolTipText(columnInfo.description); } column.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { columnInfo.width = column.getWidth(); saveColumnConfig(); } @Override public void controlMoved(ControlEvent e) { if (!isInitializing && e.getSource() instanceof TableColumn) { updateColumnOrder(column, column.getParent().getColumnOrder()); } } }); columnInfo.column = column; } else { continue; } viewerColumn.setLabelProvider(columnInfo.labelProvider); viewerColumn.setEditingSupport(columnInfo.editingSupport); colItem.setData(columnInfo); if (columnInfo.labelProvider instanceof ILazyLabelProvider) { hasLazyColumns = true; } else if (columnInfo.labelProvider instanceof ILabelProvider) { columnInfo.sortListener = new SortListener(columnInfo); columnInfo.column.addListener(SWT.Selection, columnInfo.sortListener); } } if (hasLazyColumns) { viewer.getControl().addListener(SWT.PaintItem, new Listener() { public void handleEvent(Event event) { if (viewer instanceof TreeViewer) { TreeColumn column = ((TreeViewer) viewer).getTree().getColumn(event.index); if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider && CommonUtils.isEmpty(((TreeItem) event.item).getText(event.index))) { final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column .getData()).labelProvider).getLazyText(event.item.getData()); if (!CommonUtils.isEmpty(lazyText)) { ((TreeItem) event.item).setText(event.index, lazyText); } } } else { TableColumn column = ((TableViewer) viewer).getTable().getColumn(event.index); if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider && CommonUtils.isEmpty(((TableItem) event.item).getText(event.index))) { final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column .getData()).labelProvider).getLazyText(event.item.getData()); if (!CommonUtils.isEmpty(lazyText)) { ((TableItem) event.item).setText(event.index, lazyText); } } } } }); } }
From source file:org.jkiss.dbeaver.ui.dialogs.data.ComplexObjectEditor.java
License:Open Source License
public ComplexObjectEditor(IValueController parentController, IValueEditor editor, int style) { super(parentController.getEditPlaceholder(), style | SWT.SINGLE | SWT.FULL_SELECTION); this.parentController = parentController; this.editor = editor; ITheme currentTheme = parentController.getValueSite().getWorkbenchWindow().getWorkbench().getThemeManager() .getCurrentTheme();//from w ww.jav a 2 s .c o m this.backgroundAdded = currentTheme.getColorRegistry().get(ThemeConstants.COLOR_SQL_RESULT_CELL_NEW_BACK); this.backgroundDeleted = currentTheme.getColorRegistry() .get(ThemeConstants.COLOR_SQL_RESULT_CELL_DELETED_BACK); this.backgroundModified = currentTheme.getColorRegistry() .get(ThemeConstants.COLOR_SQL_RESULT_CELL_MODIFIED_BACK); final Tree treeControl = super.getTree(); treeControl.setHeaderVisible(true); treeControl.setLinesVisible(true); treeControl.addControlListener(new ControlAdapter() { private boolean packing = false; @Override public void controlResized(ControlEvent e) { if (!packing) { packing = true; UIUtils.packColumns(treeControl, true, new float[] { 0.2f, 0.8f }); if (treeControl.getColumn(0).getWidth() < 100) { treeControl.getColumn(0).setWidth(100); } treeControl.removeControlListener(this); } } }); ColumnViewerToolTipSupport.enableFor(this, ToolTip.NO_RECREATE); { TreeViewerColumn column = new TreeViewerColumn(this, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText(CoreMessages.ui_properties_name); column.setLabelProvider(new PropsLabelProvider(true)); } { TreeViewerColumn column = new TreeViewerColumn(this, SWT.NONE); column.getColumn().setWidth(120); column.getColumn().setMoveable(true); column.getColumn().setText(CoreMessages.ui_properties_value); column.setLabelProvider(new PropsLabelProvider(false)); } treeEditor = new TreeEditor(treeControl); treeEditor.horizontalAlignment = SWT.RIGHT; treeEditor.verticalAlignment = SWT.CENTER; treeEditor.grabHorizontal = true; treeEditor.minimumWidth = 50; treeControl.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { TreeItem item = treeControl.getItem(new Point(e.x, e.y)); if (item != null && UIUtils.getColumnAtPos(item, e.x, e.y) == 1) { showEditor(item, false); } } }); treeControl.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { final TreeItem[] selection = treeControl.getSelection(); if (selection.length == 0) { return; } if (treeEditor.getEditor() != null && !treeEditor.getEditor().isDisposed()) { // Give a chance to catch it in editor handler e.doit = true; return; } showEditor(selection[0], (e.stateMask & SWT.SHIFT) == SWT.SHIFT); e.doit = false; e.detail = SWT.TRAVERSE_NONE; } } }); super.setContentProvider(new StructContentProvider()); this.copyNameAction = new CopyAction(true); this.copyValueAction = new CopyAction(false); this.addElementAction = new AddElementAction(); this.removeElementAction = new RemoveElementAction(); addElementAction.setEnabled(true); removeElementAction.setEnabled(false); addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { final IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection == null || selection.isEmpty()) { copyNameAction.setEnabled(false); copyValueAction.setEnabled(false); removeElementAction.setEnabled(false); addElementAction.setEnabled(getInput() instanceof DBDCollection); } else { copyNameAction.setEnabled(true); copyValueAction.setEnabled(true); final Object element = selection.getFirstElement(); if (element instanceof ArrayItem) { removeElementAction.setEnabled(true); addElementAction.setEnabled(true); } } } }); createContextMenu(); }
From source file:org.jkiss.dbeaver.ui.properties.PropertyTreeViewer.java
License:Open Source License
public PropertyTreeViewer(Composite parent, int style) { super(parent, style | SWT.SINGLE | SWT.FULL_SELECTION); //colorBlue = parent.getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE); //this.setLayout(new GridLayout(1, false)); //GridData gd = new GridData(GridData.FILL_BOTH); //this.setLayoutData(gd); super.setContentProvider(new PropsContentProvider()); final Tree treeControl = super.getTree(); if (parent.getLayout() instanceof GridLayout) { GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.minimumHeight = 120;/* w w w. j a v a 2s . co m*/ gd.heightHint = 120; gd.widthHint = 300; treeControl.setLayoutData(gd); } treeControl.setHeaderVisible(true); treeControl.setLinesVisible(true); treeControl.addControlListener(new ControlAdapter() { private boolean packing = false; @Override public void controlResized(ControlEvent e) { if (!packing) { packing = true; UIUtils.packColumns(treeControl, true, new float[] { 0.2f, 0.8f }); //packing = false; //treeControl.removeControlListener(this); } } }); treeControl.addListener(SWT.PaintItem, new PaintListener()); this.boldFont = UIUtils.makeBoldFont(treeControl.getFont()); ColumnViewerToolTipSupport.enableFor(this, ToolTip.NO_RECREATE); TreeViewerColumn column = new TreeViewerColumn(this, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText(CoreMessages.ui_properties_name); column.setLabelProvider(new PropsLabelProvider(true)); column.getColumn().addListener(SWT.Selection, new SortListener()); column = new TreeViewerColumn(this, SWT.NONE); column.getColumn().setWidth(120); column.getColumn().setMoveable(true); column.getColumn().setText(CoreMessages.ui_properties_value); column.setLabelProvider(new PropsLabelProvider(false)); /* List<? extends DBPProperty> props = ((DBPPropertyGroup) parent).getProperties(); Collections.sort(props, new Comparator<DBPProperty>() { public int compare(DBPProperty o1, DBPProperty o2) { return o1.getName().compareTo(o2.getName()); } }); return props.toArray(); */ registerEditor(); registerContextMenu(); renderer = new ObjectViewerRenderer(this) { @Override protected Object getCellValue(Object element, int columnIndex) { final TreeNode node = (TreeNode) element; if (columnIndex == 0) { return node.category != null ? node.category : node.property.getDisplayName(); } return getPropertyValue(node); } @Override public boolean isHyperlink(Object cellValue) { return cellValue instanceof DBSObject; } @Override public void navigateHyperlink(Object cellValue) { if (cellValue instanceof DBSObject) { DBNDatabaseNode node = NavigatorHandlerObjectOpen.getNodeByObject((DBSObject) cellValue); if (node != null) { NavigatorHandlerObjectOpen.openEntityEditor(node, null, DBeaverUI.getActiveWorkbenchWindow()); } } } }; }
From source file:org.jkiss.dbeaver.ui.ViewerColumnController.java
License:Open Source License
private void createVisibleColumns() { boolean hasLazyColumns = false; for (final ColumnInfo columnInfo : getVisibleColumns()) { final Item colItem; if (viewer instanceof TreeViewer) { final TreeViewerColumn item = new TreeViewerColumn((TreeViewer) viewer, columnInfo.style); final TreeColumn column = item.getColumn(); colItem = column;// w w w . j a v a 2 s . c o m column.setText(columnInfo.name); column.setMoveable(true); column.setWidth(columnInfo.width); if (!CommonUtils.isEmpty(columnInfo.description)) { column.setToolTipText(columnInfo.description); } item.setLabelProvider(columnInfo.labelProvider); column.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { columnInfo.width = column.getWidth(); saveColumnConfig(); } }); columnInfo.column = column; } else if (viewer instanceof TableViewer) { final TableViewerColumn item = new TableViewerColumn((TableViewer) viewer, columnInfo.style); final TableColumn column = item.getColumn(); colItem = column; column.setText(columnInfo.name); column.setMoveable(true); column.setWidth(columnInfo.width); if (!CommonUtils.isEmpty(columnInfo.description)) { column.setToolTipText(columnInfo.description); } item.setLabelProvider(columnInfo.labelProvider); column.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { columnInfo.width = column.getWidth(); saveColumnConfig(); } }); columnInfo.column = column; } else { continue; } colItem.setData(columnInfo); if (columnInfo.labelProvider instanceof ILazyLabelProvider) { hasLazyColumns = true; } else if (columnInfo.labelProvider instanceof ILabelProvider) { columnInfo.sortListener = new SortListener(columnInfo); columnInfo.column.addListener(SWT.Selection, columnInfo.sortListener); } } if (hasLazyColumns) { viewer.getControl().addListener(SWT.PaintItem, new Listener() { public void handleEvent(Event event) { if (viewer instanceof TreeViewer) { TreeColumn column = ((TreeViewer) viewer).getTree().getColumn(event.index); if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider && CommonUtils.isEmpty(((TreeItem) event.item).getText(event.index))) { final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column .getData()).labelProvider).getLazyText(event.item.getData()); if (!CommonUtils.isEmpty(lazyText)) { ((TreeItem) event.item).setText(event.index, lazyText); } } } else { TableColumn column = ((TableViewer) viewer).getTable().getColumn(event.index); if (((ColumnInfo) column.getData()).labelProvider instanceof ILazyLabelProvider && CommonUtils.isEmpty(((TableItem) event.item).getText(event.index))) { final String lazyText = ((ILazyLabelProvider) ((ColumnInfo) column .getData()).labelProvider).getLazyText(event.item.getData()); if (!CommonUtils.isEmpty(lazyText)) { ((TableItem) event.item).setText(event.index, lazyText); } } } } }); } }
From source file:org.kalypso.simulation.ui.calccase.jface.CalcCaseTableTreeViewer.java
License:Open Source License
public static void configureTreeViewer(final TreeViewer viewer, final IFolder markedCalcCase) { final Tree tree = viewer.getTree(); tree.setHeaderVisible(true);/* w w w .ja va 2 s . c o m*/ final Color markedColor = tree.getDisplay().getSystemColor(SWT.COLOR_YELLOW); viewer.setContentProvider(new CalcCaseTreeContentProvider()); final TreeViewerColumn forecastColumn = new TreeViewerColumn(viewer, SWT.NONE); final String forecastLabel = Messages .getString("org.kalypso.simulation.ui.calccase.jface.CalcCaseTableTreeViewer.1"); //$NON-NLS-1$ forecastColumn.getColumn().setText(forecastLabel); ColumnViewerSorter.registerSorter(forecastColumn, new FolderNameSorter()); final TreeViewerColumn timeColumn = new TreeViewerColumn(viewer, SWT.NONE); final String timeLabel = Messages .getString("org.kalypso.simulation.ui.calccase.jface.CalcCaseTableTreeViewer.2"); //$NON-NLS-1$ timeColumn.getColumn().setText(timeLabel); ColumnViewerSorter.registerSorter(timeColumn, new FolderModifiedSorter()); // Always sort by time initially ColumnViewerSorter.setSortState(timeColumn, Boolean.TRUE); viewer.setLabelProvider(new CalcCaseTableLabelProvider(markedCalcCase, markedColor)); }
From source file:org.kalypso.ui.rrm.internal.scenarios.MergeScenariosWizardPage.java
License:Open Source License
/** * This function creates the columns in the tree viewer. * //from ww w . j a v a 2 s .c o m * @param treeViewer * The tree viewer. */ private void configureTreeViewer(final TreeViewer treeViewer) { /* Configure the tree. */ final Tree tree = treeViewer.getTree(); tree.setLayout(new TableLayout()); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); tree.setLinesVisible(true); tree.setHeaderVisible(true); /* Create the scenarios column. */ final TreeViewerColumn scenariosViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); scenariosViewerColumn .setLabelProvider(new ScenariosColumnLabelProvider(m_scenariosData.getTargetScenario())); final TreeColumn scenariosColumn = scenariosViewerColumn.getColumn(); scenariosColumn.setText(Messages.getString("MergeScenariosWizardPage_4")); //$NON-NLS-1$ scenariosColumn.setWidth(200); scenariosColumn.setAlignment(SWT.LEAD); /* Create the model column. */ final TreeViewerColumn modelViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); modelViewerColumn.setLabelProvider(new ScenarioCompareStatusLabelProvider(m_compareStatus, ScenarioCompareStatus.KEY_MODEL, m_scenariosData.getTargetScenario())); final TreeColumn modelColumn = modelViewerColumn.getColumn(); modelColumn.setText(Messages.getString("MergeScenariosWizardPage_5")); //$NON-NLS-1$ modelColumn.setWidth(125); modelColumn.setAlignment(SWT.LEAD); /* Create the parameter column. */ final TreeViewerColumn parameterViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); parameterViewerColumn.setLabelProvider(new ScenarioCompareStatusLabelProvider(m_compareStatus, ScenarioCompareStatus.KEY_PARAMETER, m_scenariosData.getTargetScenario())); final TreeColumn parameterColumn = parameterViewerColumn.getColumn(); parameterColumn.setText(Messages.getString("MergeScenariosWizardPage_6")); //$NON-NLS-1$ parameterColumn.setWidth(125); parameterColumn.setAlignment(SWT.LEAD); /* Create the hydrotopes column. */ final TreeViewerColumn hydrotopesViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); hydrotopesViewerColumn.setLabelProvider(new ScenarioCompareStatusLabelProvider(m_compareStatus, ScenarioCompareStatus.KEY_HYDROTOPES, m_scenariosData.getTargetScenario())); final TreeColumn hydrotopesColumn = hydrotopesViewerColumn.getColumn(); hydrotopesColumn.setText(Messages.getString("MergeScenariosWizardPage_7")); //$NON-NLS-1$ hydrotopesColumn.setWidth(125); hydrotopesColumn.setAlignment(SWT.LEAD); }
From source file:org.kalypso.util.themes.legend.controls.LegendComposite.java
License:Open Source License
/** * This function creates the legend group. * /*from w ww . j a v a 2 s .c om*/ * @param parent * The parent composite. * @return The legend group. */ private Group createLegendGroup(final Composite parent) { /* Create a group. */ final Group legendGroup = new Group(parent, SWT.NONE); legendGroup.setLayout(new GridLayout(3, false)); legendGroup.setText(Messages.getString("LegendComposite_0")); //$NON-NLS-1$ /* Create a label. */ final Label backgroundColorLabel = new Label(legendGroup, SWT.NONE); backgroundColorLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); backgroundColorLabel.setText(Messages.getString("LegendComposite_1")); //$NON-NLS-1$ backgroundColorLabel.setAlignment(SWT.LEFT); /* Create a label. */ final Label backgroundLabel = new Label(legendGroup, SWT.BORDER); backgroundLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); backgroundLabel.setText(Messages.getString("LegendComposite_2")); //$NON-NLS-1$ backgroundLabel.setBackground(new Color(parent.getDisplay(), m_backgroundColor)); backgroundColorLabel.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { backgroundLabel.getBackground().dispose(); } }); /* Create a button. */ final Button backgroundColorButton = new Button(legendGroup, SWT.PUSH); backgroundColorButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); backgroundColorButton.setText("..."); //$NON-NLS-1$ backgroundColorButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Shell shell = LegendComposite.this.getShell(); final ColorDialog dialog = new ColorDialog(shell); dialog.setRGB(m_backgroundColor); final RGB rgb = dialog.open(); if (rgb == null) return; m_backgroundColor = rgb; backgroundLabel.getBackground().dispose(); backgroundLabel.setBackground(new Color(parent.getDisplay(), m_backgroundColor)); fireLegendPropertyChanged(getProperties(), m_horizontal, m_vertical, m_backgroundColor, m_insets, m_themeIds.toArray(new String[] {}), m_fontSize); } }); /* Create a label. */ final Label fontSizeLabel = new Label(legendGroup, SWT.NONE); fontSizeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); fontSizeLabel.setText(Messages.getString("LegendComposite_4")); //$NON-NLS-1$ fontSizeLabel.setAlignment(SWT.LEFT); /* Create a spinner. */ final Spinner fontSizeSpinner = new Spinner(legendGroup, SWT.BORDER); fontSizeSpinner.setValues(m_fontSize, 1, 25, 0, 1, 5); fontSizeSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); fontSizeSpinner.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { m_fontSize = fontSizeSpinner.getSelection(); fireLegendPropertyChanged(getProperties(), m_horizontal, m_vertical, m_backgroundColor, m_insets, m_themeIds.toArray(new String[] {}), m_fontSize); } }); /* Create a label. */ final Label insetsLabel = new Label(legendGroup, SWT.NONE); insetsLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); insetsLabel.setText(Messages.getString("LegendComposite_5")); //$NON-NLS-1$ insetsLabel.setAlignment(SWT.LEFT); /* Create a spinner. */ final Spinner insetsSpinner = new Spinner(legendGroup, SWT.BORDER); insetsSpinner.setValues(m_insets, 1, 25, 0, 1, 5); insetsSpinner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); insetsSpinner.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { m_insets = insetsSpinner.getSelection(); fireLegendPropertyChanged(getProperties(), m_horizontal, m_vertical, m_backgroundColor, m_insets, m_themeIds.toArray(new String[] {}), m_fontSize); } }); /* Create a label. */ final Label availableThemesLabel = new Label(legendGroup, SWT.NONE); availableThemesLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); availableThemesLabel.setText(Messages.getString("LegendComposite_6")); //$NON-NLS-1$ availableThemesLabel.setAlignment(SWT.LEFT); /* Create a table viewer. */ final CheckboxTreeViewer availableThemesViewer = new CheckboxTreeViewer(legendGroup, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL); final GridData availableThemeData = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1); availableThemeData.heightHint = 250; availableThemesViewer.getTree().setLayoutData(availableThemeData); availableThemesViewer.getTree().setLayout(new TableLayout()); availableThemesViewer.getTree().setLinesVisible(true); availableThemesViewer.getTree().setHeaderVisible(true); /* Create a column. */ final TreeViewerColumn nameColumn = new TreeViewerColumn(availableThemesViewer, SWT.LEFT); nameColumn.setLabelProvider(new ThemeNameLabelProvider()); nameColumn.getColumn().setText(Messages.getString("LegendComposite_7")); //$NON-NLS-1$ nameColumn.getColumn().setWidth(250); /* Create a column. */ final TreeViewerColumn typeColumn = new TreeViewerColumn(availableThemesViewer, SWT.LEFT); typeColumn.setLabelProvider(new ThemeTypeLabelProvider()); typeColumn.getColumn().setText(Messages.getString("LegendComposite_8")); //$NON-NLS-1$ typeColumn.getColumn().setWidth(200); /* Set a content provider. */ availableThemesViewer.setContentProvider(new ThemeTableContentProvider()); /* Set the check state provider. */ availableThemesViewer.setCheckStateProvider(new ThemeCheckStateProvider(m_themeIds)); /* Set the input. */ availableThemesViewer.setInput(m_mapModel); /* Add a listener. */ availableThemesViewer.addCheckStateListener(new ICheckStateListener() { /** * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ @Override public void checkStateChanged(final CheckStateChangedEvent event) { final IKalypsoTheme element = (IKalypsoTheme) event.getElement(); final String id = element.getId(); if (event.getChecked() && !m_themeIds.contains(id)) m_themeIds.add(id); else m_themeIds.remove(id); fireLegendPropertyChanged(getProperties(), m_horizontal, m_vertical, m_backgroundColor, m_insets, m_themeIds.toArray(new String[] {}), m_fontSize); } }); return legendGroup; }