Example usage for org.eclipse.jface.viewers ColumnViewerEditor KEEP_EDITOR_ON_DOUBLE_CLICK

List of usage examples for org.eclipse.jface.viewers ColumnViewerEditor KEEP_EDITOR_ON_DOUBLE_CLICK

Introduction

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

Prototype

int KEEP_EDITOR_ON_DOUBLE_CLICK

To view the source code for org.eclipse.jface.viewers ColumnViewerEditor KEEP_EDITOR_ON_DOUBLE_CLICK.

Click Source Link

Document

Style mask used to turn off the feature that an editor activation is canceled on double click.

Usage

From source file:com.adobe.granite.ide.eclipse.ui.wizards.np.AdvancedSettingsComponent.java

License:Apache License

public void createAdvancedSection(Composite container) {
    Label label;/*from   w  ww  .  j  a v a2 s. co m*/
    GridData gd;

    label = new Label(container, SWT.NULL);
    label.setText("&Version:");

    version = new Text(container, SWT.BORDER | SWT.SINGLE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    version.setLayoutData(gd);
    version.setText("0.0.1-SNAPSHOT");
    version.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            wizardPage.dialogChanged();
        }
    });

    label = new Label(container, SWT.NULL);
    label.setText("&Package:");

    javaPackage = new Text(container, SWT.BORDER | SWT.SINGLE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    javaPackage.setLayoutData(gd);
    javaPackageModified = false;
    javaPackage.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            javaPackageModified = true;
        }
    });
    javaPackage.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            wizardPage.dialogChanged();
        }
    });

    label = new Label(container, SWT.NULL);
    gd = new GridData(SWT.LEFT, SWT.TOP, false, false);
    label.setLayoutData(gd);
    label.setText("&Parameters:");

    propertiesViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION);
    propertiesTable = propertiesViewer.getTable();
    propertiesTable.setLinesVisible(true);
    propertiesTable.setHeaderVisible(true);
    propertiesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2));

    CellNavigationStrategy strategy = new CellNavigationStrategy();
    TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager(propertiesViewer,
            new FocusCellOwnerDrawHighlighter(propertiesViewer), strategy);

    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(
            propertiesViewer) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION
            | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK;
    TableViewerEditor.create(propertiesViewer, focusCellMgr, actSupport, features);

    TableColumn propertiesTableNameColumn = new TableColumn(propertiesTable, SWT.NONE);
    propertiesTableNameColumn.setWidth(180);
    propertiesTableNameColumn.setText("Name");

    TableColumn propertiesTableValueColumn = new TableColumn(propertiesTable, SWT.NONE);
    propertiesTableValueColumn.setWidth(300);
    propertiesTableValueColumn.setText("Value");

    propertiesViewer.setColumnProperties(new String[] { KEY_PROPERTY, VALUE_PROPERTY });

    propertiesViewer.setCellEditors(new CellEditor[] { null /* cannot edit the name */,
            new TextCellEditor(propertiesTable, SWT.NONE) });
    propertiesViewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return true;
        }

        public void modify(Object element, String property, Object value) {
            if (element instanceof TableItem) {
                ((TableItem) element).setText(getTextIndex(property), String.valueOf(value));
                wizardPage.dialogChanged();
            }
        }

        public Object getValue(Object element, String property) {
            if (element instanceof TableItem) {
                return ((TableItem) element).getText(getTextIndex(property));
            }
            return null;
        }
    });

}

From source file:org.apache.sling.ide.eclipse.ui.views.JcrPropertiesView.java

License:Apache License

/**
 * This is a callback that will allow us
 * to create the viewer and initialize it.
 *///from  ww  w.j  av a 2 s .c om
public void createPartControl(Composite parent) {
    SyncDirManager.registerUpdateListener(new UpdateHandler() {

        @Override
        public void syncDirUpdated(SyncDir syncDir) {
            refreshContent();
        }
    });

    mainControl = new Composite(parent, SWT.NONE);
    final GridLayout gridLayout = new GridLayout(1, true);
    mainControl.setLayout(gridLayout);

    if (getViewSite() != null) {
        titleLabel = new Label(mainControl, SWT.WRAP);
        titleLabel.setText("");
        GridData data = new GridData(GridData.FILL_HORIZONTAL);
        titleLabel.setLayoutData(data);
        Label horizontalLine = new Label(mainControl, SWT.SEPARATOR | SWT.HORIZONTAL);
        data = new GridData(GridData.FILL_HORIZONTAL);
        horizontalLine.setLayoutData(data);
    }

    Font font;
    if (!JFaceResources.getFontRegistry().hasValueFor(TITLE_FONT)) {
        FontData[] fontData = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)
                .getFontData();
        /* title font is 2pt larger than that used in the tabs. */
        fontData[0].setHeight(fontData[0].getHeight() + 2);
        JFaceResources.getFontRegistry().put(TITLE_FONT, fontData);
    }
    font = JFaceResources.getFont(TITLE_FONT);
    if (titleLabel != null) {
        titleLabel.setFont(font);
    }

    Composite tableParent = new Composite(mainControl, SWT.NONE);
    //        tableParent.setBackground(new Color(Display.getDefault(), 100,20,180));
    GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    tableLayoutData.widthHint = 1; // shrink to min - table settings will resize to correct ratios
    tableLayoutData.heightHint = SWT.DEFAULT;
    tableParent.setLayoutData(tableLayoutData);
    TableColumnLayout tableLayout = new TableColumnLayout() {
        @Override
        protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
            Point p = super.computeSize(composite, wHint, hHint, flushCache);
            return new Point(p.x, p.y);
        }
    };
    tableParent.setLayout(tableLayout);

    viewer = new TableViewer(tableParent,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION);
    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer,
            new FocusCellOwnerDrawHighlighter(viewer), new CellNavigationStrategy());
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            resetLastValueEdited();
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION
            | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK;
    TableViewerEditor.create(viewer, focusCellManager, actSupport, features);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection iss = (IStructuredSelection) selection;
                if (iss.isEmpty()) {
                    deleteAction.setEnabled(false);
                } else {
                    deleteAction.setEnabled(true);
                }
            } else {
                deleteAction.setEnabled(false);
            }
        }
    });

    CellLabelProvider clp = new JcrCellLabelProvider(viewer);

    TableViewerColumn column0 = new TableViewerColumn(viewer, SWT.NONE);
    column0.getColumn().setText("Name");
    column0.getColumn().setResizable(true);
    column0.getColumn().setWidth(200);
    tableLayout.setColumnData(column0.getColumn(), new ColumnWeightData(30, 140));

    final TableViewerColumn column1 = new TableViewerColumn(viewer, SWT.NONE);
    column1.getColumn().setText("Type");
    column1.getColumn().setResizable(true);
    column1.getColumn().setWidth(300);
    column1.setLabelProvider(clp);
    tableLayout.setColumnData(column1.getColumn(), new ColumnWeightData(10, 80));

    final TableViewerColumn column2 = new TableViewerColumn(viewer, SWT.NONE);
    column2.getColumn().setText("Value");
    column2.getColumn().setResizable(true);
    column2.getColumn().setWidth(300);
    tableLayout.setColumnData(column2.getColumn(), new ColumnWeightData(70, 220));

    final TableViewerColumn column3 = new TableViewerColumn(viewer, SWT.NONE);
    column3.getColumn().setText("Protected");
    column3.getColumn().setResizable(true);
    column3.getColumn().setWidth(300);
    column3.setLabelProvider(clp);
    tableLayout.setColumnData(column3.getColumn(), new ColumnWeightData(5, 57));

    final TableViewerColumn column4 = new TableViewerColumn(viewer, SWT.NONE);
    column4.getColumn().setText("Mandatory");
    column4.getColumn().setResizable(true);
    column4.getColumn().setWidth(300);
    column4.setLabelProvider(clp);
    tableLayout.setColumnData(column4.getColumn(), new ColumnWeightData(5, 62));

    final TableViewerColumn column5 = new TableViewerColumn(viewer, SWT.NONE);
    column5.getColumn().setText("Multiple");
    column5.getColumn().setResizable(true);
    column5.getColumn().setWidth(300);
    column5.setLabelProvider(clp);
    tableLayout.setColumnData(column5.getColumn(), new ColumnWeightData(5, 82));

    final TableViewerColumn column6 = new TableViewerColumn(viewer, SWT.NONE);
    column6.getColumn().setText("Auto Created");
    column6.getColumn().setResizable(true);
    column6.getColumn().setWidth(300);
    column6.setLabelProvider(clp);
    tableLayout.setColumnData(column6.getColumn(), new ColumnWeightData(5, 77));

    column0.setLabelProvider(clp);
    column0.setEditingSupport(new JcrEditingSupport(this, viewer, ColumnId.NAME));

    column1.setLabelProvider(clp);
    column1.setEditingSupport(new JcrEditingSupport(this, viewer, ColumnId.TYPE));

    column2.setLabelProvider(clp);
    column2.setEditingSupport(new JcrEditingSupport(this, viewer, ColumnId.VALUE));

    column5.setEditingSupport(new JcrEditingSupport(this, viewer, ColumnId.MULTIPLE));

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
            "org.apache.sling.ide.eclipse-ui.viewer");
    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    listener = new ISelectionListener() {

        @Override
        public void selectionChanged(IWorkbenchPart part, ISelection selection) {
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection iss = (IStructuredSelection) selection;
                Object firstElem = iss.getFirstElement();
                if (firstElem instanceof JcrNode) {
                    JcrNode jcrNode = (JcrNode) firstElem;
                    setInput(jcrNode);
                    return;
                }
            }
        }
    };
    if (getViewSite() != null) {
        getViewSite().getPage().addSelectionListener(listener);
        final ISelection selection = getViewSite().getPage().getSelection();
        Display.getCurrent().asyncExec(new Runnable() {

            @Override
            public void run() {
                listener.selectionChanged(null, selection);
            }

        });
    }
}

From source file:org.apache.sling.ide.eclipse.ui.wizards.np.ArchetypeParametersWizardPage.java

License:Apache License

/**
 * @see IDialogPage#createControl(Composite)
 *//*from  ww w .  ja  v a 2s  .  c om*/
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);
    layout.numColumns = 2;
    layout.verticalSpacing = 9;

    Label label = new Label(container, SWT.NULL);
    label.setText("&Group Id:");
    groupId = new Text(container, SWT.BORDER | SWT.SINGLE);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    groupId.setLayoutData(gd);
    groupId.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            dialogChanged();
            if (!javaPackageModified) {
                if (artifactId.getText().length() == 0) {
                    javaPackage.setText(getDefaultJavaPackage(groupId.getText(), ""));
                } else {
                    javaPackage.setText(getDefaultJavaPackage(groupId.getText(), artifactId.getText()));
                }
            }
        }
    });

    label = new Label(container, SWT.NULL);
    label.setText("&Artifact Id:");

    artifactId = new Text(container, SWT.BORDER | SWT.SINGLE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    artifactId.setLayoutData(gd);
    artifactId.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            dialogChanged();
            if (javaPackageModified) {
                return;
            }
            if (groupId.getText().length() == 0) {
                javaPackage.setText(getDefaultJavaPackage("", artifactId.getText()));
            } else {
                javaPackage.setText(getDefaultJavaPackage(groupId.getText(), artifactId.getText()));
            }
        }
    });

    label = new Label(container, SWT.NULL);
    label.setText("&Version:");

    version = new Text(container, SWT.BORDER | SWT.SINGLE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    version.setLayoutData(gd);
    version.setText("0.0.1-SNAPSHOT");
    version.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            dialogChanged();
        }
    });

    label = new Label(container, SWT.NULL);
    label.setText("&Package:");

    javaPackage = new Text(container, SWT.BORDER | SWT.SINGLE);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    javaPackage.setLayoutData(gd);
    javaPackageModified = false;
    javaPackage.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            javaPackageModified = true;
        }
    });
    javaPackage.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            dialogChanged();
        }
    });

    label = new Label(container, SWT.NULL);
    gd = new GridData(SWT.LEFT, SWT.TOP, false, false);
    label.setLayoutData(gd);
    label.setText("&Parameters:");

    propertiesViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION);
    propertiesTable = propertiesViewer.getTable();
    propertiesTable.setLinesVisible(true);
    propertiesTable.setHeaderVisible(true);
    propertiesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2));

    CellNavigationStrategy strategy = new CellNavigationStrategy();
    TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager(propertiesViewer,
            new FocusCellOwnerDrawHighlighter(propertiesViewer), strategy);

    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(
            propertiesViewer) {

        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION
            | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK;
    TableViewerEditor.create(propertiesViewer, focusCellMgr, actSupport, features);

    TableColumn propertiesTableNameColumn = new TableColumn(propertiesTable, SWT.NONE);
    propertiesTableNameColumn.setWidth(130);
    propertiesTableNameColumn.setText("Name");

    TableColumn propertiesTableValueColumn = new TableColumn(propertiesTable, SWT.NONE);
    propertiesTableValueColumn.setWidth(230);
    propertiesTableValueColumn.setText("Value");

    propertiesViewer.setColumnProperties(new String[] { KEY_PROPERTY, VALUE_PROPERTY });

    propertiesViewer.setCellEditors(new CellEditor[] { new TextCellEditor(propertiesTable, SWT.NONE),
            new TextCellEditor(propertiesTable, SWT.NONE) });
    propertiesViewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return true;
        }

        public void modify(Object element, String property, Object value) {
            if (element instanceof TableItem) {
                ((TableItem) element).setText(getTextIndex(property), String.valueOf(value));
                dialogChanged();
            }
        }

        public Object getValue(Object element, String property) {
            if (element instanceof TableItem) {
                return ((TableItem) element).getText(getTextIndex(property));
            }
            return null;
        }
    });

    initialize();
    setPageComplete(false);
    setControl(container);
}

From source file:org.eclipse.dltk.tcl.activestatedebugger.preferences.TclLoggingPathBlock.java

License:Open Source License

@Override
protected void initColumns(TableViewer viewer, PixelConverter conv) {
    TableViewerEditor.create(viewer, new ColumnViewerEditorActivationStrategy(viewer),
            ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
    initEnvironmentColumn(viewer, conv);
    initEnableLoggingColumn(viewer, conv);
    initPathColumn(viewer, conv);//w  w w. j  a  va 2  s . c  om
}

From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesPage.java

License:Open Source License

/**
 * Creates a new Tree for this View.//from  www  .  j a  v a2s  . co  m
 * @param parent the parent composite
 */
private void buildTree(Composite parent) {
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.grabExcessHorizontalSpace = true;
    Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION);
    tree.setLayoutData(layoutData);
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    m_treeViewer = new TreeViewer(tree);
    // add expand/collapse column
    TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    expandCollapseColumn.getColumn().setText(StringConstants.EMPTY);
    expandCollapseColumn.getColumn().setWidth(20);
    expandCollapseColumn.getColumn().setResizable(false);
    expandCollapseColumn.setLabelProvider(new CellLabelProvider() {
        public void update(ViewerCell cell) {
            // Nothing to display. Nothing to update.
        }
    });
    final int width = m_treeViewer.getTree().getParent().getClientArea().width;

    /* We make sure to have an initial size, just in case. */
    final int area = (width <= 100) ? 100 : width;

    // add property name column
    TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty);
    propertyNameColumn.getColumn().setWidth((int) (width * 0.36));
    propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider());

    // add property value column
    TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue);
    propertyValueColumn.getColumn().setWidth((int) (width * 0.54));
    propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider());
    propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer));

    m_treeViewer.addSelectionChangedListener(m_helpContextListener);
    m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    m_treeViewer.setContentProvider(new PropertiesContentProvider());
    ColumnViewerToolTipSupport.enableFor(m_treeViewer);
    m_treeViewer.setComparer(new PropertiesElementComparer());
    m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer,
            new FocusCellOwnerDrawHighlighter(m_treeViewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) {
        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(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
}

From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesView.java

License:Open Source License

/**
 * Creates a new Tree for this View./*from  ww w.j  a  v  a2s  . co m*/
 * @param parent the parent composite
 */
private void buildTree(Composite parent) {
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.grabExcessHorizontalSpace = true;
    Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION);
    tree.setLayoutData(layoutData);
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    m_treeViewer = new TreeViewer(tree);

    // add expand/collapse column
    TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    expandCollapseColumn.getColumn().setText(StringConstants.EMPTY);
    expandCollapseColumn.getColumn().setWidth(20);
    expandCollapseColumn.getColumn().setResizable(false);
    expandCollapseColumn.setLabelProvider(new CellLabelProvider() {

        public void update(ViewerCell cell) {
            // Nothing to display. Nothing to update.
        }
    });

    // add property name column
    TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty);
    propertyNameColumn.getColumn().setWidth(175);
    propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider());

    // add property value column
    TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue);
    propertyValueColumn.getColumn().setWidth(300);
    propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider());
    propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer));

    m_treeViewer.addSelectionChangedListener(m_helpContextListener);

    m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    m_treeViewer.setContentProvider(new PropertiesContentProvider());
    ColumnViewerToolTipSupport.enableFor(m_treeViewer);

    m_treeViewer.setComparer(new PropertiesElementComparer());

    m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer,
            new FocusCellOwnerDrawHighlighter(m_treeViewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) {
        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(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
}

From source file:org.eclipselabs.e4.tapiji.translator.ui.treeviewer.TreeViewerView.java

License:Open Source License

@PostConstruct
private void onCreate() {
    this.presenter.setView(this);
    this.translations = presenter.getGlossary().getTranslations();
    this.treeViewer = new TreeViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE);
    this.treeViewer.getTree().setHeaderVisible(false);
    this.treeViewer.getTree().setLinesVisible(false);
    this.treeViewer.setAutoExpandLevel(2);

    this.treeViewer.addSelectionChangedListener((event) -> {
        selectionService.setSelection(((IStructuredSelection) treeViewer.getSelection()).getFirstElement());
    });// ww w .  ja  v  a  2 s  .  com

    this.treeViewer.getTree().addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDoubleClick(MouseEvent event) {
            final Object element = selectionService.getSelection();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });

    this.treeViewer.getTree().addKeyListener(new KeyAdapter() {

        @SuppressWarnings("restriction")
        @Override
        public void keyReleased(KeyEvent event) {
            if (event.character == SWT.DEL) {
                handlerService.executeHandler(
                        commandService.createCommand(COMMAND_DELETE_KEY, Collections.emptyMap()));
            }

        }
    });
    this.tree = treeViewer.getTree();
    this.tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    TreeViewerEditor.create(treeViewer,
            new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer)),
            createColumnActivationStrategy(),
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION
                    | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
    dragAndDrop();
    registerTreeMenu(TREE_VIEWER_MENU_EMPTY_ID);
}