Example usage for org.eclipse.jface.viewers TreeViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider

Introduction

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

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this TreeViewer.

Usage

From source file:org.eclipse.jface.snippets.viewers.Snippet002TreeViewer.java

License:Open Source License

public Snippet002TreeViewer(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTree(), "Values");
    v.setInput(createModel());/*www .  java2  s. c om*/
}

From source file:org.eclipse.jface.snippets.viewers.Snippet005TreeCustomMenu.java

License:Open Source License

public Snippet005TreeCustomMenu(Shell shell) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());//from  www.  ja v a 2  s .com
    createColumn(v.getTree(), "Values");

    final Action a = new Action("") {
    };
    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);

    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            IStructuredSelection selection = v.getStructuredSelection();
            if (!selection.isEmpty()) {
                a.setText("Action for " + selection.getFirstElement());
                mgr.add(a);
            }
        }
    });
    v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
}

From source file:org.eclipse.jface.snippets.viewers.Snippet015CustomTooltipsForTree.java

License:Open Source License

/**
 * @param args//from w  ww .  j  ava 2s.  c  om
 */
public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(v);

    v.setContentProvider(new MyContentProvider());

    CellLabelProvider labelProvider = new CellLabelProvider() {

        @Override
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 2000;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        @Override
        public void update(ViewerCell cell) {
            cell.setText(cell.getElement().toString());

        }
    };

    v.setLabelProvider(labelProvider);
    v.setInput("");

    shell.setSize(200, 200);
    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }

    display.dispose();
}

From source file:org.eclipse.jface.snippets.viewers.Snippet026TreeViewerTabEditing.java

License:Open Source License

public Snippet026TreeViewerTabEditing(final Shell shell) {
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Remove column");
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);//from  w w  w. j a  va  2 s.  c o m
    v.getTree().setHeaderVisible(true);
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (v.getTree().getColumnCount() > 1) {
                v.getTree().getColumn(1).dispose();
            }
        }

    });

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @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 feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(v, focusCellManager, actSupport, feature);
    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());

    String[] columLabels = { "Column 1", "Column 2", "Column 3" };
    String[] labelPrefix = { "Column 1 => ", "Column 2 => ", "Column 3 => " };

    for (int i = 0; i < columLabels.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
        column.getColumn().setWidth(200);
        column.getColumn().setMoveable(true);
        column.getColumn().setText(columLabels[i]);
        column.setLabelProvider(createColumnLabelProvider(labelPrefix[i]));
        column.setEditingSupport(createEditingSupportFor(v, textCellEditor));
    }
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet043TreeViewerKeyboardEditing.java

License:Open Source License

public Snippet043TreeViewerKeyboardEditing(final Shell shell) {
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Press Tab, or click here to edit first child element");
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    b.addSelectionListener(new SelectionAdapter() {

        @Override//from ww w. ja  v a  2s  . com
        public void widgetSelected(SelectionEvent e) {
            MyModel root = (MyModel) v.getInput();
            TreePath path = new TreePath(
                    new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) });
            v.editElement(path, 0);
        }

    });

    TreeViewerColumn viewerColumn = new TreeViewerColumn(v, SWT.NONE);
    viewerColumn.getColumn().setWidth(300);
    viewerColumn.setLabelProvider(new ColumnLabelProvider());
    viewerColumn.setEditingSupport(new EditingSupport(v) {

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            getViewer().update(element, null);
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor((Composite) getViewer().getControl());
        }

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

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @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;
        }
    };

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

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java

License:Open Source License

public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);/*from ww  w  .j  av  a 2 s .c o m*/
    v.getTree().setHeaderVisible(true);

    final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @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.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(v, mgr, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
    final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree());

    TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 1");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 1 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return false;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "Column 2 => " + element;
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 3");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((MyModel) element).bool + "";
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return checkboxCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).bool);
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).bool = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
    v.getControl().addTraverseListener(new TraverseListener() {

        @Override
        public void keyTraversed(TraverseEvent e) {
            if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
                    && mgr.getFocusCell().getColumnIndex() == 2) {
                ColumnViewerEditor editor = v.getColumnViewerEditor();
                ViewerCell cell = mgr.getFocusCell();

                try {
                    Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent",
                            new Class[] { int.class, ViewerRow.class, TraverseEvent.class });
                    m.setAccessible(true);
                    m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e);
                } catch (SecurityException | NoSuchMethodException | IllegalArgumentException
                        | IllegalAccessException | InvocationTargetException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }

    });
}

From source file:org.eclipse.jface.snippets.viewers.Snippet050DelegatingStyledCellLabelProvider.java

License:Open Source License

private ColumnViewer createViewer(String description, Composite parent, CellLabelProvider labelProvider1,
        CellLabelProvider labelProvider2) {

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    composite.setLayout(new GridLayout(1, true));

    Label label = new Label(composite, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(description);//from w w w  . j  a v  a  2  s . co  m

    TreeViewer treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.setContentProvider(new FileSystemContentProvider());

    TreeViewerColumn tvc1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc1.getColumn().setText("Name"); //$NON-NLS-1$
    tvc1.getColumn().setWidth(200);
    tvc1.setLabelProvider(labelProvider1);

    TreeViewerColumn tvc2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc2.getColumn().setText("Date Modified"); //$NON-NLS-1$
    tvc2.getColumn().setWidth(200);
    tvc2.setLabelProvider(labelProvider2);

    GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
    treeViewer.getControl().setLayoutData(data);

    treeViewer.setInput(new FileSystemRoot());

    return treeViewer;
}

From source file:org.eclipse.jface.snippets.viewers.Snippet055HideShowColumn.java

License:Open Source License

public Snippet055HideShowColumn(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    v.getTree().setLinesVisible(true);//w w  w  .j av a 2s  .c o m
    v.getTree().setHeaderVisible(true);

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @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;
        }
    };

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

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());

    createColumnFor(v, "Column 1", textCellEditor);
    final TreeViewerColumn column_2 = createColumnFor(v, "Column 2", textCellEditor);
    createColumnFor(v, "Column 3", textCellEditor);

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());

    Button b = createButtonFor(shell, "Edit-Element");
    b.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            MyModel root = (MyModel) v.getInput();
            TreePath path = new TreePath(
                    new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) });
            v.editElement(path, 0);
        }

    });
    b = createButtonFor(shell, "Hide/Show 2nd Column");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int width = column_2.getColumn().getWidth();
            column_2.getColumn().setWidth(width == 0 ? 200 : 0);
        }
    });
}

From source file:org.eclipse.jface.snippets.viewers.Snippet056BooleanCellEditor.java

License:Open Source License

public Snippet056BooleanCellEditor(final Shell shell) {

    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);/*  ww w  . j  a  va  2  s  . c o  m*/
    v.getTree().setHeaderVisible(true);

    FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(v) {

        @Override
        protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
        }

        @Override
        protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
        }
    };

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, h);
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v);

    int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(v, focusCellManager, actSupport, feature);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
    final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(v.getTree());

    TreeViewerColumn column = createColumnFor(v, "Column 1");
    column.setLabelProvider(new MyColumnLabelProvider("Column 1"));
    column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor));

    column = createColumnFor(v, "Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((MyModel) element).flag + "";
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return booleanCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).flag);
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).flag = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });
    column = createColumnFor(v, "Column 3");
    column.setLabelProvider(new MyColumnLabelProvider("Column 3"));
    column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor));

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet061FakedNativeCellEditor.java

License:Open Source License

public Snippet061FakedNativeCellEditor(final Shell shell) {
    final TreeViewer viewer = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setBackgroundMode(SWT.INHERIT_DEFAULT);
    viewer.getTree().setHeaderVisible(true);

    FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(viewer) {

        @Override/*  w w  w .ja  va 2s. c  o  m*/
        protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
        }

        @Override
        protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
        }
    };

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, h);
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer);

    int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(viewer, focusCellManager, actSupport, features);

    final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTree());
    final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(viewer.getTree());
    booleanCellEditor.setChangeOnActivation(true);

    TreeViewerColumn column = null;

    column = createColumnFor(viewer, SWT.NONE, "File");
    column.setLabelProvider(new OwnerDrawLabelProvider() {

        @Override
        protected void measure(Event event, Object element) {

        }

        @Override
        protected void paint(Event event, Object element) {
            ((TreeItem) event.item).setText(element.toString());
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));

    column = createColumnFor(viewer, SWT.CENTER, "Read");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).read;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));
    column = createColumnFor(viewer, SWT.CENTER, "Write");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).write;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));
    column = createColumnFor(viewer, SWT.CENTER, "Execute");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).execute;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));

    viewer.setContentProvider(new MyContentProvider());
    viewer.setInput(createModel());
}