Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn.

Prototype

public TreeColumn getColumn() 

Source Link

Usage

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;
}