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

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

Introduction

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

Prototype

public TreeViewerColumn(TreeViewer viewer, TreeColumn column) 

Source Link

Document

Creates a new viewer column for the given TreeViewer on the given TreeColumn .

Usage

From source file:org.dawnsci.common.widgets.gda.function.FunctionTreeViewer.java

License:Open Source License

private void createFittedParamsColumn() {
    TreeViewerColumn fittedParametersColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    fittedParametersColumn.getColumn().setWidth(200);
    fittedParametersColumn.getColumn().setMoveable(true);
    fittedParametersColumn.getColumn().setText("Fitted Parameters");
    fittedParametersColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override//ww w.  ja  v a 2s.  c om
        public String getText(Object element) {
            if (element instanceof ParameterModel) {
                ParameterModel parameterModel = (ParameterModel) element;
                IParameter fittedParameter = parameterModel.getFittedParameter();
                if (fittedParameter != null) {
                    return DOUBLE_FORMAT.format(fittedParameter.getValue());
                } else {
                    return "Not defined";
                }

            } else {
                return "";
            }
        }

    });
}

From source file:org.dawnsci.common.widgets.gda.function.FunctionTreeViewer.java

License:Open Source License

private void createParameterValueColumn(String columnTitle, COLUMN column, boolean hideValueOnFixed,
        final IGetSetValueOnParameterModel getSetParameterModel) {
    TreeViewerColumn valueColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    valueColumn.getColumn().setWidth(100);
    valueColumn.getColumn().setMoveable(true);
    valueColumn.getColumn().setText(columnTitle);
    valueColumn.setLabelProvider(new DelegatingStyledCellLabelProvider(
            new ParameterValueColumnLabelProvider(hideValueOnFixed, getSetParameterModel)));
    valueColumnEditingSupport[column.COLUMN_INDEX] = new ValueColumnEditingSupport(this) {

        @Override// w ww. ja v a 2 s  .co  m
        public double getValue(ParameterModel param) {
            return getSetParameterModel.getValue(param);
        }

        @Override
        public void setValue(ParameterModel param, String value) {
            getSetParameterModel.setValue(param, value);
        }

        @Override
        public String getErrorValue(ParameterModel param) {
            return getSetParameterModel.getErrorValue(param);
        }

    };
    valueColumn.setEditingSupport(valueColumnEditingSupport[column.COLUMN_INDEX]);
}

From source file:org.dawnsci.common.widgets.gda.function.FunctionTreeViewer.java

License:Open Source License

private void createFunctionNameColumn() {
    TreeViewerColumn functionNameColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    functionNameColumn.getColumn().setWidth(250);
    functionNameColumn.getColumn().setMoveable(true);
    functionNameColumn.getColumn().setText("Function Name");
    functionNameColumn.setLabelProvider(new DelegatingStyledCellLabelProvider(new FunctionLabelProvider()));

    functionSelectionEditingSupport = new FunctionSelectionEditingSupport(this);
    functionNameColumn.setEditingSupport(functionSelectionEditingSupport);
}

From source file:org.dynami.dialogs.StrategyDescriptorDialog.java

License:Apache License

/**
 * Create contents of the dialog.//  www  .  j a v a2 s.co m
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    container.setLayout(new FillLayout(SWT.HORIZONTAL));

    ScrolledForm scrldfrmStrategy = formToolkit.createScrolledForm(container);
    scrldfrmStrategy.setImage(ResourceManager.getPluginImage(Activator.PLUGIN_ID, Constants.ICONS.INFO));
    formToolkit.paintBordersFor(scrldfrmStrategy);
    scrldfrmStrategy.setText(descriptor.getName());
    scrldfrmStrategy.getBody().setLayout(new FillLayout(SWT.HORIZONTAL));

    CTabFolder tabFolder = new CTabFolder(scrldfrmStrategy.getBody(), SWT.BORDER | SWT.BOTTOM);
    formToolkit.adapt(tabFolder);
    formToolkit.paintBordersFor(tabFolder);
    tabFolder.setSelectionBackground(
            Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));

    CTabItem tbtmDefinition = new CTabItem(tabFolder, SWT.NONE);
    tbtmDefinition.setText("Definition");

    Composite definitionTab = new Composite(tabFolder, SWT.NONE);
    TableWrapLayout definitionTabLayout = new TableWrapLayout();
    definitionTabLayout.numColumns = 2;
    definitionTab.setLayout(definitionTabLayout);

    tbtmDefinition.setControl(definitionTab);

    formToolkit.adapt(definitionTab);
    formToolkit.paintBordersFor(definitionTab);

    Label lblOwner = new Label(definitionTab, SWT.NONE);
    lblOwner.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblOwner, true, true);
    lblOwner.setText("Owner:");

    lblOwnerout = new Label(definitionTab, SWT.NONE);
    lblOwnerout.setForeground(SWTResourceManager.getColor(SWT.COLOR_LINK_FOREGROUND));
    lblOwnerout.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    TableWrapData twd_lblOwnerout = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1);
    twd_lblOwnerout.grabHorizontal = true;
    lblOwnerout.setLayoutData(twd_lblOwnerout);
    formToolkit.adapt(lblOwnerout, true, true);
    lblOwnerout.setText(descriptor.getOwner());

    Label lblVendor = new Label(definitionTab, SWT.NONE);
    lblVendor.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblVendor, true, true);
    lblVendor.setText("Vendor:");

    lblVendorout = new Label(definitionTab, SWT.NONE);
    lblVendorout.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    formToolkit.adapt(lblVendorout, true, true);
    lblVendorout.setText(descriptor.getVendor());

    Label lblVersion = new Label(definitionTab, SWT.NONE);
    lblVersion.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblVersion, true, true);
    lblVersion.setText("Version:");

    versionOut = new Label(definitionTab, SWT.NONE);
    versionOut.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    formToolkit.adapt(versionOut, true, true);
    versionOut.setText(String.valueOf(descriptor.getVersion()));

    Label lblReleased = new Label(definitionTab, SWT.NONE);
    lblReleased.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblReleased, true, true);
    lblReleased.setText("Released:");

    lblReleasedout = formToolkit.createLabel(definitionTab, "", SWT.NONE);
    lblReleasedout.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    lblReleasedout.setText(DUtils.DATE_FORMAT.format(descriptor.getReleased()));

    Label lblClassName = new Label(definitionTab, SWT.NONE);
    lblClassName.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblClassName, true, true);
    lblClassName.setText("Class name:");

    lblClassnameout = formToolkit.createLabel(definitionTab, "classnameOut", SWT.NONE);
    lblClassnameout.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    lblClassnameout.setText(descriptor.getClassName());

    Label lblDescription = new Label(definitionTab, SWT.NONE);
    lblDescription.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
    formToolkit.adapt(lblDescription, true, true);
    lblDescription.setText("Description:");

    lblDescriptionout = formToolkit.createLabel(definitionTab, "descriptionOut", SWT.WRAP);
    lblDescriptionout.setForeground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BORDER));
    TableWrapData twd_lblDescriptionout = new TableWrapData(TableWrapData.FILL, TableWrapData.FILL_GRAB, 1, 1);
    twd_lblDescriptionout.heightHint = 139;
    lblDescriptionout.setLayoutData(twd_lblDescriptionout);
    lblDescriptionout.setText(descriptor.getDescription());

    CTabItem tbtmParameters = new CTabItem(tabFolder, SWT.NONE);
    tbtmParameters.setText("Parameters");
    Composite parametersTab = new Composite(tabFolder, SWT.NONE);
    tbtmParameters.setControl(parametersTab);
    formToolkit.adapt(parametersTab);
    formToolkit.paintBordersFor(parametersTab);
    parametersTab.setLayout(new FillLayout(SWT.HORIZONTAL));

    TableViewer paramsTableViewer = new TableViewer(parametersTab, SWT.BORDER | SWT.FULL_SELECTION);
    paramsTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    paramsTable = paramsTableViewer.getTable();
    paramsTable.setLinesVisible(true);
    paramsTable.setHeaderVisible(true);
    formToolkit.paintBordersFor(paramsTable);

    TableViewerColumn tableViewerColumn = new TableViewerColumn(paramsTableViewer, SWT.NONE);
    TableColumn tblclmnName = tableViewerColumn.getColumn();
    tblclmnName.setWidth(62);
    tblclmnName.setText("Name");
    tableViewerColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Param p = (Param) cell.getElement();
            cell.setText(p.getName());
        }
    });

    TableViewerColumn tableViewerColumn_1 = new TableViewerColumn(paramsTableViewer, SWT.NONE);
    TableColumn tblclmnType = tableViewerColumn_1.getColumn();
    tblclmnType.setWidth(58);
    tblclmnType.setText("Type");
    tableViewerColumn_1.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Param p = (Param) cell.getElement();
            cell.setText(p.getType());
        }
    });

    TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(paramsTableViewer, SWT.NONE);
    TableColumn tblclmnDefault = tableViewerColumn_2.getColumn();
    tblclmnDefault.setWidth(100);
    tblclmnDefault.setText("Default");
    tableViewerColumn_2.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Param p = (Param) cell.getElement();
            cell.setText(String.valueOf(p.get_default()));
        }
    });

    TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(paramsTableViewer, SWT.NONE);
    TableColumn tblclmnDescription = tableViewerColumn_3.getColumn();
    tblclmnDescription.setWidth(202);
    tblclmnDescription.setText("Description");
    tableViewerColumn_3.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Param p = (Param) cell.getElement();
            cell.setText(p.getDescription());
        }
    });

    CTabItem tbtmPhases = new CTabItem(tabFolder, SWT.NONE);
    tbtmPhases.setText("Phases");
    Composite phasesTab = new Composite(tabFolder, SWT.NONE);
    tbtmPhases.setControl(phasesTab);
    formToolkit.adapt(phasesTab);
    formToolkit.paintBordersFor(phasesTab);
    phasesTab.setLayout(new FillLayout(SWT.HORIZONTAL));

    TableViewer phasesTableViewer = new TableViewer(phasesTab, SWT.BORDER | SWT.FULL_SELECTION);
    phasesTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    phasesTable = phasesTableViewer.getTable();
    phasesTable.setLinesVisible(true);
    phasesTable.setHeaderVisible(true);
    formToolkit.paintBordersFor(phasesTable);

    TableViewerColumn tableViewerColumn_4 = new TableViewerColumn(phasesTableViewer, SWT.NONE);
    TableColumn tblclmnName_1 = tableViewerColumn_4.getColumn();
    tblclmnName_1.setWidth(109);
    tblclmnName_1.setText("Name");
    tableViewerColumn_4.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            PhaseDescriptor p = (PhaseDescriptor) cell.getElement();
            cell.setText(p.getName());
        }
    });

    TableViewerColumn tableViewerColumn_5 = new TableViewerColumn(phasesTableViewer, SWT.NONE);
    TableColumn tblclmnClassName = tableViewerColumn_5.getColumn();
    tblclmnClassName.setWidth(204);
    tblclmnClassName.setText("Class Name");
    tableViewerColumn_5.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            PhaseDescriptor p = (PhaseDescriptor) cell.getElement();
            cell.setText(p.getClassName());
        }
    });

    TableViewerColumn tableViewerColumn_6 = new TableViewerColumn(phasesTableViewer, SWT.NONE);
    TableColumn tblclmnDescription_1 = tableViewerColumn_6.getColumn();
    tblclmnDescription_1.setWidth(298);
    tblclmnDescription_1.setText("Description");
    tableViewerColumn_6.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            PhaseDescriptor p = (PhaseDescriptor) cell.getElement();
            cell.setText(p.getDescription());
        }
    });

    CTabItem tbtmPermissions = new CTabItem(tabFolder, SWT.NONE);
    tbtmPermissions.setText("Permissions");
    Composite permissionsTab = new Composite(tabFolder, SWT.NONE);
    tbtmPermissions.setControl(permissionsTab);
    formToolkit.adapt(permissionsTab);
    formToolkit.paintBordersFor(permissionsTab);
    permissionsTab.setLayout(new FillLayout(SWT.HORIZONTAL));

    TreeViewer permissionsTreeViewer = new TreeViewer(permissionsTab, SWT.BORDER);
    //permissionsTreeViewer.setContentProvider(ArrayContentProvider.getInstance());
    Tree permissionsTree = permissionsTreeViewer.getTree();
    permissionsTree.setLinesVisible(true);
    permissionsTree.setHeaderVisible(true);
    formToolkit.paintBordersFor(permissionsTree);

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(permissionsTreeViewer, SWT.NONE);
    TreeColumn trclmnPhase = treeViewerColumn.getColumn();
    trclmnPhase.setWidth(100);
    trclmnPhase.setText("Phase");
    treeViewerColumn.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Phase p = (Phase) cell.getElement();
            cell.setText(p.getName());
        }
    });

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(permissionsTreeViewer, SWT.NONE);
    TreeColumn trclmnPermission = treeViewerColumn_1.getColumn();
    trclmnPermission.setWidth(185);
    trclmnPermission.setText("Permission");

    TreeViewerColumn treeViewerColumn_2 = new TreeViewerColumn(permissionsTreeViewer, SWT.NONE);
    TreeColumn trclmnValue = treeViewerColumn_2.getColumn();
    trclmnValue.setWidth(310);
    trclmnValue.setText("Value");

    CTabItem tbtmDependencies = new CTabItem(tabFolder, SWT.NONE);
    tbtmDependencies.setText("Dependencies");
    Composite dependenciesTab = new Composite(tabFolder, SWT.NONE);
    TableWrapLayout dependenciesTabLayout = new TableWrapLayout();
    dependenciesTabLayout.numColumns = 2;
    dependenciesTab.setLayout(dependenciesTabLayout);
    tbtmDependencies.setControl(dependenciesTab);
    formToolkit.adapt(dependenciesTab);
    formToolkit.paintBordersFor(dependenciesTab);

    paramsTableViewer.setInput(descriptor.getSettings().getParams());
    phasesTableViewer.setInput(descriptor.getPhases());
    return container;
}

From source file:org.eclipse.andmore.android.certmanager.views.KeystoreManagerView.java

License:Apache License

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it./*from   w  ww .  j  a va 2  s . c o m*/
 */
@Override
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.VIRTUAL | SWT.MULTI); // Virtual is required due to
                                                                                                                                      // ILazyTreeContentProvider
    viewer.setUseHashlookup(true);
    viewer.setAutoExpandLevel(0);

    viewer.setContentProvider(new KeystoreManagerTreeContentProvider(viewer));
    viewer.setInput(getInitalInput());
    viewer.expandToLevel(getInitalInput(), 1);
    ColumnViewerToolTipSupport.enableFor(viewer);

    getSite().setSelectionProvider(viewer);

    Tree tree = viewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
        treeViewerColumn.setLabelProvider(new NameAliasColumnLabelProvider());
        TreeColumn trclmnNewColumn = treeViewerColumn.getColumn();
        trclmnNewColumn.setWidth(250);
        trclmnNewColumn.setText(CertificateManagerNLS.CertificateManagerView_NameAlias_ColumnName);

        tree.setSortColumn(treeViewerColumn.getColumn());
        tree.setSortDirection(SWT.DOWN);
    }
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
        treeViewerColumn.setLabelProvider(new TypeColumnLabelProvider());
        TreeColumn trclmnNewColumn = treeViewerColumn.getColumn();
        trclmnNewColumn.setWidth(75);
        trclmnNewColumn.setText(CertificateManagerNLS.CertificateManagerView_Type_ColumnName);
    }
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
        treeViewerColumn.setLabelProvider(new ExpiresInColumnLabelProvider());
        TreeColumn trclmnExpiresIn = treeViewerColumn.getColumn();
        trclmnExpiresIn.setWidth(100);
        trclmnExpiresIn.setText(CertificateManagerNLS.CertificateManagerView_ExpiresIn_ColumnName);
    }
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
        treeViewerColumn.setLabelProvider(new LastBackupDateColumnLabelProvider());
        TreeColumn trclmnLastBackupDate = treeViewerColumn.getColumn();
        trclmnLastBackupDate.setWidth(125);
        trclmnLastBackupDate.setText(CertificateManagerNLS.CertificateManagerView_LastBackupDate_ColumnName);
    }
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
        treeViewerColumn.setLabelProvider(new PathColumnLabelProvider());
        TreeColumn trclmnPath = treeViewerColumn.getColumn();
        trclmnPath.setWidth(500);
        trclmnPath.setText(CertificateManagerNLS.CertificateManagerView_Path_ColumnName);
    }

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
            "org.eclipse.andmore.android.certmanager.viewer"); //$NON-NLS-1$

    hookContextMenu();

    getSite().setSelectionProvider(viewer);

    // register listener for model changes
    KeyStoreModelEventManager.getInstance().addListener(this);
}

From source file:org.eclipse.babel.runtime.actions.TranslatableTreeComposite.java

License:Open Source License

private void createTreeColumns(final TreeViewer viewer, final TranslatableSet languageSet,
        final Set<TranslatableResourceBundle> updatedBundles) {
    focusCellManager = new TreeViewerFocusCellManager(viewer, new MyFocusCellHighlighter(viewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        @Override//  w w  w  .  jav  a  2s  . c  o m
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(viewer, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    // Add the columns

    final TreeViewerColumn columnKey = new TreeViewerColumn(viewer, SWT.LEFT);
    columnKey.getColumn().setWidth(80);
    languageSet.associate(columnKey.getColumn(),
            Activator.getLocalizableText("LocalizeDialog.keyColumnHeader"));
    columnKey.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return null;
        }

        @Override
        public Image getImage(Object element) {
            ITranslatableText text = getTranslatableText(element);
            if (text instanceof TranslatableText) {
                return Activator.getImage("icons/localizable.gif"); //$NON-NLS-1$
            } else {
                return Activator.getImage("icons/nonLocalizable.gif"); //$NON-NLS-1$
            }
        }

        @Override
        public String getToolTipText(Object element) {
            ITranslatableText text = getTranslatableText(element);
            if (text instanceof TranslatableText) {
                TranslatableText translatableText = (TranslatableText) text;
                ITranslatableText tooltipLocalizableText = translatableText.getTooltip();
                languageSet.associate2(columnKey, tooltipLocalizableText);
                return tooltipLocalizableText.getLocalizedText();
            } else {
                return null;
            }
        }
    });

    Locale rootLocale = new Locale("", "", "");
    createLocaleColumn(viewer, updatedBundles, rootLocale, null);
    String languageCode = Locale.getDefault().getLanguage();
    if (languageCode.length() != 0) {
        Locale languageLocale = new Locale(languageCode, "", "");
        createLocaleColumn(viewer, updatedBundles, languageLocale, rootLocale);

        String countryCode = Locale.getDefault().getCountry();
        if (countryCode.length() != 0) {
            Locale countryLocale = new Locale(languageCode, countryCode, "");
            createLocaleColumn(viewer, updatedBundles, countryLocale, languageLocale);

            String variantCode = Locale.getDefault().getVariant();
            if (variantCode.length() != 0) {
                Locale variantLocale = new Locale(languageCode, countryCode, variantCode);
                createLocaleColumn(viewer, updatedBundles, variantLocale, countryLocale);
            }
        }
    }
}

From source file:org.eclipse.babel.runtime.actions.TranslatableTreeComposite.java

License:Open Source License

private void createLocaleColumn(final TreeViewer viewer, final Set<TranslatableResourceBundle> updatedBundles,
        final Locale locale, final Locale previousLocale) {
    TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.LEFT);
    column.getColumn().setWidth(150);//from w  ww .  j  av  a 2 s .  c o m
    column.getColumn().setText(locale.getDisplayName());
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            ITranslatableText text = getTranslatableText(element);
            String message = text.getLocalizedText(locale);
            if (previousLocale == null) {
                return message;
            } else {
                String fallbackMessage = text.getLocalizedText(previousLocale);
                return (message.equals(fallbackMessage)) ? "" : message; //$NON-NLS-1$
            }
        }

        @Override
        public Color getForeground(Object element) {
            ITranslatableText text = getTranslatableText(element);
            return (text instanceof TranslatableText && ((TranslatableText) text).isDirty(locale))
                    ? Display.getDefault().getSystemColor(SWT.COLOR_DARK_MAGENTA)
                    : null;
        }

    });

    column.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected boolean canEdit(Object element) {
            ITranslatableText text = getTranslatableText(element);
            return text instanceof TranslatableText;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTree());
        }

        @Override
        protected Object getValue(Object element) {
            // The text cell editor requires that null is never returned
            // by this method.
            ITranslatableText text = getTranslatableText(element);
            String message = text.getLocalizedText(locale);
            if (previousLocale == null) {
                return message;
            } else {
                String fallbackMessage = text.getLocalizedText(previousLocale);
                return (message.equals(fallbackMessage)) ? "" : message; //$NON-NLS-1$
            }
        }

        @Override
        protected void setValue(Object element, Object value) {
            ITranslatableText translatableText = getTranslatableText(element);

            String text = (String) value;

            /*
             * If the text is all white space then we assume that the user
             * is clearing out the locale override.  The text would then be
             * obtained by looking to the parent locale.  For example, if the
             * user was using Canadian English and saw "colour", but the user then blanked
             * that out, then "color" would be used for Canadian locales.
             * 
             * Note this means that an entry must be placed in the delta properties
             * file for Canadian English.  "Colour" would be in the original (immutable)
             * properties file, and so we need an entry in the delta file to say that
             * we should ignore that and use whatever might be used for US-English.
             * We should not simply put the current US-English in the file because then 
             * we would not pick up future changes to the US-English.    
             * 
             * We never allow the user to set text to be blank.  If the original
             * developer displayed a message, then a message must be displayed,
             * regardless of the language.  It is conceivable that this could be
             * a problem in very specific circumstances.  Suppose a developer uses
             * a message to be the suffix that is appended to a word to make it plural.
             * In English the text for most words would be "s".  In another language
             * the word may be the same in the singular and plural so would be the empty
             * string.  This is, however, not a good example, because that would be bad
             * localization.  So this is probably not a problem.
             * 
             * This is a restriction caused by the UI design of this dialog.  The resource
             * bundle implementation would allow an empty string to be passed
             * and that would result in the user seeing a blank string.  Null, on the
             * other hand, results in the value from the parent locale being used.
             */

            text = text.trim();
            if (text.length() == 0) {
                // Setting null means use value from parent locale.
                text = null;
            }

            // If the text can be edited, the text must be of type TranslatableText
            // because that is the only type that the user can edit.
            ((TranslatableText) translatableText).setLocalizedText(locale, text, updatedBundles);
            viewer.update(element, null);

            revertButton.setEnabled(((TranslatableText) translatableText).isDirty(locale));
        }
    });

    column.getColumn().setData(locale);
}

From source file:org.eclipse.babel.tapiji.tools.core.ui.widgets.PropertyKeySelectionTree.java

License:Open Source License

protected void constructTreeColumns(Tree tree) {
    tree.removeAll();/*  w ww .j  a  va  2s.c  om*/
    // tree.getColumns().length;

    // construct key-column
    keyColumn = new TreeColumn(tree, SWT.NONE);
    keyColumn.setText("Key");
    keyColumn.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            updateSorter(0);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            updateSorter(0);
        }
    });
    basicLayout.setColumnData(keyColumn, new ColumnWeightData(KEY_COLUMN_WEIGHT));

    if (visibleLocales != null) {
        final ResourceBundleManager manager = ResourceBundleManager.getManager(projectName);
        for (final Locale l : visibleLocales) {
            TreeColumn col = new TreeColumn(tree, SWT.NONE);

            // Add editing support to this table column
            TreeViewerColumn tCol = new TreeViewerColumn(treeViewer, col);
            tCol.setEditingSupport(new EditingSupport(treeViewer) {

                TextCellEditor editor = null;

                @Override
                protected void setValue(Object element, Object value) {

                    if (element instanceof IValuedKeyTreeNode) {
                        IValuedKeyTreeNode vkti = (IValuedKeyTreeNode) element;
                        String activeKey = vkti.getMessageKey();

                        if (activeKey != null) {
                            IMessagesBundleGroup bundleGroup = manager.getResourceBundle(resourceBundle);
                            IMessage entry = bundleGroup.getMessage(activeKey, l);

                            if (entry == null || !value.equals(entry.getValue())) {
                                String comment = null;
                                if (entry != null) {
                                    comment = entry.getComment();
                                }

                                IMessagesBundle messagesBundle = bundleGroup.getMessagesBundle(l);

                                DirtyHack.setFireEnabled(false);

                                IMessage message = messagesBundle.getMessage(activeKey);
                                if (message == null) {
                                    IMessage newMessage = MessageFactory.createMessage(activeKey, l);
                                    newMessage.setText(String.valueOf(value));
                                    newMessage.setComment(comment);
                                    messagesBundle.addMessage(newMessage);
                                } else {
                                    message.setText(String.valueOf(value));
                                    message.setComment(comment);
                                }

                                FileUtils.writeToFile(messagesBundle);
                                RBManager.getInstance(manager.getProject()).fireResourceChanged(messagesBundle);

                                // update TreeViewer
                                vkti.setValue(l, String.valueOf(value));
                                treeViewer.refresh();

                                DirtyHack.setFireEnabled(true);
                            }
                        }
                    }
                }

                @Override
                protected Object getValue(Object element) {
                    return labelProvider.getColumnText(element, visibleLocales.indexOf(l) + 1);
                }

                @Override
                protected CellEditor getCellEditor(Object element) {
                    if (editor == null) {
                        Composite tree = (Composite) treeViewer.getControl();
                        editor = new TextCellEditor(tree);
                        editor.getControl().addTraverseListener(new TraverseListener() {

                            @Override
                            public void keyTraversed(TraverseEvent e) {
                                Logger.logInfo("CELL_EDITOR: " + e.toString());
                                if (e.detail == SWT.TRAVERSE_TAB_NEXT
                                        || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {

                                    e.doit = false;
                                    int colIndex = visibleLocales.indexOf(l) + 1;
                                    Object sel = ((IStructuredSelection) treeViewer.getSelection())
                                            .getFirstElement();
                                    int noOfCols = treeViewer.getTree().getColumnCount();

                                    // go to next cell
                                    if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
                                        int nextColIndex = colIndex + 1;
                                        if (nextColIndex < noOfCols)
                                            treeViewer.editElement(sel, nextColIndex);
                                        // go to previous cell
                                    } else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
                                        int prevColIndex = colIndex - 1;
                                        if (prevColIndex > 0)
                                            treeViewer.editElement(sel, colIndex - 1);
                                    }
                                }
                            }
                        });
                    }
                    return editor;
                }

                @Override
                protected boolean canEdit(Object element) {
                    return editable;
                }
            });

            String displayName = l == null ? ResourceBundleManager.defaultLocaleTag
                    : l.getDisplayName(uiLocale);

            col.setText(displayName);
            col.addSelectionListener(new SelectionListener() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    updateSorter(visibleLocales.indexOf(l) + 1);
                }

                @Override
                public void widgetDefaultSelected(SelectionEvent e) {
                    updateSorter(visibleLocales.indexOf(l) + 1);
                }
            });
            basicLayout.setColumnData(col, new ColumnWeightData(LOCALE_COLUMN_WEIGHT));
        }
    }
}

From source file:org.eclipse.birt.report.designer.data.ui.dataset.PromptParameterDialog.java

License:Open Source License

private void createParameterGroup(Composite composite) {
    final Group group2 = new Group(composite, SWT.NONE);
    group2.setLayout(new GridLayout());
    group2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 8));// GridData.FILL_BOTH));

    group2.setText(Messages.getString("PromptParameterDialog.parameterGroup.title"));

    Label label1 = new Label(group2, SWT.NONE);
    label1.setText(Messages.getString("PromptParameterDialog.parameterGroup.label"));

    TreeViewer viewer2 = new TreeViewer(group2, SWT.FULL_SELECTION);

    Tree tableTree2 = viewer2.getTree();
    GridData gd = new GridData(GridData.FILL_BOTH);
    tableTree2.setLayoutData(gd);// w ww .  ja v a 2  s  . c om
    tableTree2.setHeaderVisible(true);
    tableTree2.setLinesVisible(true);

    TreeViewerColumn tvc21 = new TreeViewerColumn(viewer2, SWT.NONE);
    tvc21.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.nameColumn")); //$NON-NLS-1$
    tvc21.getColumn().setWidth(200);
    tvc21.setLabelProvider(new NameLabelProvider(selectedStatusMap));
    tvc21.setEditingSupport(new ParameterEditingSupport(viewer2, selectedStatusMap));

    TreeViewerColumn tvc22 = new TreeViewerColumn(viewer2, SWT.NONE);
    tvc22.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.previousValue")); //$NON-NLS-1$
    tvc22.getColumn().setWidth(200);
    tvc22.setLabelProvider(new PreviousValueLabelProvider());

    TreeViewerColumn tvc23 = new TreeViewerColumn(viewer2, SWT.NONE);
    tvc23.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.revisedValue")); //$NON-NLS-1$
    tvc23.getColumn().setWidth(200);
    tvc23.setLabelProvider(new RevisedValueLabelProvider());

    viewer2.setContentProvider(new ParameterContentProvider());
    viewer2.setInput(((IAmbiguousOption) input).getAmbiguousParameters());
    viewer2.expandAll();
}

From source file:org.eclipse.birt.report.designer.internal.ui.dialogs.DataSetBindingSelector.java

License:Open Source License

protected void createColumnBindingTreeContents(Composite parent, Object input) {
    columnTreeViewer = new CheckboxTreeViewer(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION);

    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 450;/*w  ww  . ja v a 2  s  . com*/
    data.heightHint = 200;
    data.horizontalSpan = 2;
    data.verticalIndent = 5;
    columnTreeViewer.getTree().setLayoutData(data);

    columnTreeViewer.getTree().setHeaderVisible(true);
    columnTreeViewer.getTree().setLinesVisible(true);

    TreeViewerColumn tvc1 = new TreeViewerColumn(columnTreeViewer, SWT.NONE);
    tvc1.getColumn().setText(Messages.getString("DataSetColumnBindingsFormHandleProvider.Column.Name"));//$NON-NLS-1$
    tvc1.getColumn().setWidth(230);
    tvc1.setLabelProvider(new GroupedColumnNameProvider());

    TreeViewerColumn tvc2 = new TreeViewerColumn(columnTreeViewer, SWT.NONE);
    tvc2.getColumn().setText(Messages.getString("DataSetColumnBindingsFormHandleProvider.Column.DataType")); //$NON-NLS-1$
    tvc2.getColumn().setWidth(100);
    tvc2.setLabelProvider(new GroupedColumnTypeProvider());

    columnTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            enableOKButton();
        }
    });

    columnTreeViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            Object element = event.getElement();

            if (element instanceof Entry) {
                columnTreeViewer.setGrayed(element, false);
                columnTreeViewer.setSubtreeChecked(element, event.getChecked());
            } else {
                Map<String, List> input = (Map<String, List>) columnTreeViewer.getInput();
                for (Entry<String, List> ent : input.entrySet()) {
                    List children = ent.getValue();
                    if (children.contains(element)) {
                        Object parent = ent;

                        boolean allChecked = event.getChecked();
                        boolean graySet = false;

                        for (Object cc : children) {
                            if (columnTreeViewer.getChecked(cc) != allChecked) {
                                columnTreeViewer.setGrayed(parent, true);
                                columnTreeViewer.setChecked(parent, true);
                                graySet = true;

                                break;
                            }
                        }

                        if (!graySet) {
                            columnTreeViewer.setGrayed(parent, false);
                            columnTreeViewer.setChecked(parent, allChecked);
                        }

                        break;
                    }
                }
            }

            enableOKButton();
        }
    });

    columnTreeViewer.setContentProvider(new GroupedColumnProvider());

    Composite buttonContainer = new Composite(parent, SWT.NONE);
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    buttonContainer.setLayoutData(data);
    GridLayout gdLayout = new GridLayout();
    gdLayout.numColumns = 2;
    gdLayout.marginWidth = gdLayout.marginHeight = 0;
    buttonContainer.setLayout(gdLayout);

    Button selectAllButton = new Button(buttonContainer, SWT.PUSH);
    selectAllButton.setText(Messages.getString("DataSetBindingSelector.Button.SelectAll")); //$NON-NLS-1$
    selectAllButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            TreeItem[] items = columnTreeViewer.getTree().getItems();

            for (TreeItem ti : items) {
                columnTreeViewer.setGrayed(ti.getData(), false);
                columnTreeViewer.setSubtreeChecked(ti.getData(), true);
            }
            enableOKButton();
        }
    });

    Button deselectAllButton = new Button(buttonContainer, SWT.PUSH);
    deselectAllButton.setText(Messages.getString("DataSetBindingSelector.Button.DeselectAll")); //$NON-NLS-1$
    deselectAllButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            TreeItem[] items = columnTreeViewer.getTree().getItems();

            for (TreeItem ti : items) {
                columnTreeViewer.setGrayed(ti.getData(), false);
                columnTreeViewer.setSubtreeChecked(ti.getData(), false);
            }
            enableOKButton();
        }
    });

    handleDataSetComboSelectedEvent(input);

    if (columns != null) {
        Set<String> columnSet = new HashSet<String>(Arrays.asList(columns));

        TreeItem[] items = columnTreeViewer.getTree().getItems();

        for (TreeItem ti : items) {
            TreeItem[] ccs = ti.getItems();

            int count = 0;

            for (TreeItem cc : ccs) {
                ResultSetColumnHandle column = (ResultSetColumnHandle) cc.getData();
                if (columnSet.contains(column.getColumnName())) {
                    columnTreeViewer.setChecked(column, true);
                    count++;
                }
            }

            if (count == ccs.length) {
                columnTreeViewer.setChecked(ti.getData(), true);
            }
        }
    }
}