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

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

Introduction

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

Prototype

public TreeViewer(Composite parent, int style) 

Source Link

Document

Creates a tree viewer on a newly-created tree control under the given parent.

Usage

From source file:ca.uvic.chisel.javasketch.ui.internal.search.TraceSearchResultPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    page = new Composite(parent, SWT.NULL);
    page.setLayout(new GridLayout());
    fViewer = new TreeViewer(page, SWT.NONE);
    fViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TableLayout tl = new TableLayout();
    fViewer.getTree().setLayout(tl);//from  w ww .  j  a v a  2 s . c om
    // create columns for the viewer
    TreeViewerColumn c = new TreeViewerColumn(fViewer, SWT.NONE);
    c.getColumn().setText("Search Result");
    c.setLabelProvider(new TraceSearchResultLabelProvider());
    GC gc = new GC(fViewer.getTree());
    tl.addColumnData(new ColumnPixelData(Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 60)));
    gc.dispose();

    c = new TreeViewerColumn(fViewer, SWT.NONE);
    c.getColumn().setText("Kind");
    c.setLabelProvider(new TraceSearchResultLabelProvider());
    tl.addColumnData(new ColumnPixelData(50));

    c = new TreeViewerColumn(fViewer, SWT.NONE);
    c.getColumn().setText("Trace");
    c.setLabelProvider(new TraceSearchResultLabelProvider());

    tl.addColumnData(new ColumnPixelData(50));
    resultsListener = new TraceSearchResultListener();

    fViewer.getTree().setHeaderVisible(true);

    fViewer.setContentProvider(new TraceSearchResultContentProvider());
    //create a context menu for the viewer so that results can be 
    //linked to
    MenuManager manager = new MenuManager("TraceSearchResultsPage", "#TraceSearchResults");
    Menu menu = manager.createContextMenu(fViewer.getTree());
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            fillContextMenu(manager);
            IStructuredSelection ss = (IStructuredSelection) getSite().getSelectionProvider().getSelection();
            if (!ss.isEmpty()) {
                Object o = ss.getFirstElement();
                if (o instanceof IActivation || o instanceof IMessage) {
                    IAction action = new CommandAction(RevealActivationHandler.COMMAND_ID, null);
                    action.setText("Reveal");
                    manager.add(action);
                }
            }
        }
    });
    getSite().registerContextMenu("#TraceSearchResults", manager, fViewer);
    fViewer.getTree().setMenu(menu);
    SelectionForward forward = new SelectionForward();
    fViewer.addSelectionChangedListener(forward);
    getSite().setSelectionProvider(forward);

}

From source file:ca.uvic.chisel.javasketch.ui.internal.views.TraceNavigator.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    viewer.setUseHashlookup(true);/* w  w  w.  j a v a  2 s  .  c om*/
    // TreeViewerColumn plusColumn = new TreeViewerColumn(viewer, SWT.NONE,
    // 0);
    // plusColumn.getColumn().setWidth(60);
    final TreeViewerColumn labelColumn = new TreeViewerColumn(viewer, SWT.NONE, LABEL_COLUMN);
    labelColumn.getColumn().setWidth(100);
    TreeViewerColumn activeTraceColumn = new TreeViewerColumn(viewer, SWT.NONE, ACTIVE_TRACE_COLUMN);
    activeTraceColumn.getColumn().setWidth(16);
    TreeViewerColumn visibleTraceColumn = new TreeViewerColumn(viewer, SWT.NONE, VISIBLE_TRACE_COLUMN);
    visibleTraceColumn.getColumn().setWidth(16);
    viewer.getTree().addMouseListener(treeMouseListener);

    viewer.getTree().addControlListener(new ControlAdapter() {
        /*
         * (non-Javadoc)
         * @see
         * org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse
         * .swt.events.ControlEvent)
         */
        @Override
        public void controlResized(ControlEvent e) {
            Composite composite = (Composite) e.widget;
            Rectangle b = composite.getBounds();
            ScrollBar scrollbar = composite.getVerticalBar();
            int width = b.width - 32;
            if (scrollbar != null && scrollbar.getVisible()) {
                width -= 20;
            }
            labelColumn.getColumn().setWidth(Math.max(0, width));
        }
    });
    viewer.setContentProvider(new TraceNavigatorContentProvider());
    viewer.setLabelProvider(new TraceNavigatorLabelProvider());
    viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object o = selection.getFirstElement();
            if (o instanceof IThread) {
                SketchPlugin.getDefault().getDOI().setThreadSelection((IThread) o);
            } else {
                SketchPlugin.getDefault().getDOI().setThreadSelection(null);
            }
            SketchUI.INSTANCE.refreshJavaUI();
        }
    });
    createContextMenu(viewer.getControl());
    getSite().setSelectionProvider(viewer);
    IMenuManager manager = getViewSite().getActionBars().getMenuManager();
    Action toggleFilterAction = new Action("Filter Empty Threads", SWT.CHECK) {
        /* (non-Javadoc)
         * @see org.eclipse.jface.action.Action#run()
         */
        @Override
        public void run() {
            IPreferenceStore store = SketchPlugin.getDefault().getPreferenceStore();
            boolean checked = store.getBoolean("tracenavigator.filter.emptythread");
            if (checked) {
                //uncheck
                viewer.removeFilter(threadFilter);
            } else {
                viewer.addFilter(threadFilter);
            }
            store.setValue("tracenavigator.filter.emptythread", !checked);
            viewer.refresh();
        }
    };
    IPreferenceStore store = SketchPlugin.getDefault().getPreferenceStore();
    boolean checked = true;
    if (!store.contains("tracenavigator.filter.emptythread")) {
        store.setValue("tracenavigator.filter.emptythread", true);
    } else {
        checked = store.getBoolean("tracenavigator.filter.emptythread");
    }
    toggleFilterAction.setChecked(checked);
    if (checked) {
        viewer.addFilter(threadFilter);
    }
    manager.add(toggleFilterAction);
}

From source file:ca.uvic.cs.tagsea.ui.views.RoutesComposite.java

License:Open Source License

/**
 * Initializes the tree viewer, setting the content and label providers.
 */// www . j  a v a 2s.  com
private void initTreeViewer() {
    RouteCollection rc = TagSEAPlugin.getDefault().getRouteCollection();
    routesTreeViewer = new TreeViewer(this, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    routesTreeViewer.setContentProvider(rc);
    routesTreeViewer.setLabelProvider(rc);
    routesTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            RoutesComposite.this.selectionChanged(event);
        }
    });

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.horizontalSpan = 2;
    routesTreeViewer.getControl().setLayoutData(data);
    treeWorker = new TreeItemWorker(routesTreeViewer.getTree(), true);
    routesTreeListener = new RoutesTreeItemListener(routesTreeViewer);
    treeWorker.addListener(routesTreeListener);
    treeWorker.setRenameValidator(new RouteNameValidator(rc));

    //new RoutesTreeDragAndDropManager(routesTreeViewer);
}

From source file:ca.uvic.cs.tagsea.ui.views.TagsComposite.java

License:Open Source License

/**
 * Initializes the tree viewer, setting the content and label providers.
 *///from   w  ww. j  a v a  2  s.  c  om
private void initTreeViewer() {
    tagsTreeViewer = new TreeViewer(this, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    TagCollection provider = TagSEAPlugin.getDefault().getTagCollection();

    tagsWorker = new TreeItemWorker(tagsTreeViewer, false);
    tagsListener = new TagTreeItemListener(fView);
    tagsWorker.addListener(tagsListener);
    tagsWorker.setRenameValidator(new TagNameValidator());

    tagsTreeViewer.setContentProvider(provider);
    tagsTreeViewer.setLabelProvider(provider);
    tagsTreeViewer.setSorter(new ViewerSorter());

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.horizontalSpan = 3;
    tagsTreeViewer.getControl().setLayoutData(data);
}

From source file:ca.uwaterloo.gp.fmp.presentation.PropertiesView.java

License:Open Source License

public void createPartControl(Composite parent) {
    treeViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.PUSH);

    treeViewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            // hide everyting that is not defined in the metamodel                   
            if (filter && RoleQuery.INSTANCE.getPropertyRole((Node) element) == RoleQuery.NONE)
                return false;
            // hide configurations
            if (!filter) {
                if (element instanceof Feature
                        && RoleQuery.INSTANCE.getNodeType((Node) element) == RoleQuery.ROOT_FEATURE)
                    return false;
            }//w w  w. jav  a2s  . c o  m
            if (parentElement instanceof Clonable) {
                int state = ((Clonable) parentElement).getState().getValue();
                int min = ((Clonable) parentElement).getMin();
                if (min == 0 && (state == ConfigState.UNDECIDED || state == ConfigState.MACHINE_ELIMINATED
                        || state == ConfigState.USER_ELIMINATED))
                    return false;
            }
            return true;
        }
    });
    toggleAnnotations = new Action("Toggle Annotations", IAction.AS_CHECK_BOX) {
        public void run() {
            filter = !filter;
            treeViewer.refresh();
        }
    };
    toggleAnnotations.setToolTipText("Shows/hides unused annotations");
    toggleAnnotations.setImageDescriptor(ExtendedImageRegistry.getInstance()
            .getImageDescriptor(fmpEditPlugin.INSTANCE.getImage("full/ShowAnnotationsAction")));

    toggleLinkingAction = new Action("Link with Editor", IAction.AS_CHECK_BOX) {
        public void run() {
            selectionListenerActive = !selectionListenerActive;
        }
    };
    toggleLinkingAction.setChecked(selectionListenerActive);
    toggleLinkingAction.setToolTipText("Link with Editor");
    toggleLinkingAction.setImageDescriptor(
            AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui", "icons/full/elcl16/synced.gif"));
    getViewSite().getActionBars().getToolBarManager().add(toggleLinkingAction);

    getViewSite().getActionBars().getToolBarManager().add(toggleAnnotations);

    // add drag support
    treeViewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(treeViewer));

    getSite().getPage().addPartListener(this);
    getSite().getPage().addSelectionListener(this);

    IEditorPart activeEditor = getSite().getPage().getActiveEditor();
    if (activeEditor instanceof FmpEditor) {
        registerWithEditor((FmpEditor) activeEditor);
        setInputFromEditorSelection(editor.getSelection());
    }
}

From source file:cc.warlock.rcp.prefs.ScriptingPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite main = new Composite(parent, SWT.NONE);
    main.setLayout(new GridLayout(3, false));

    new Label(main, SWT.NONE);

    Group dirGroup = new Group(main, SWT.NONE);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.horizontalSpan = 3;/*  w  w  w . j  ava 2  s . com*/
    dirGroup.setText("Script Directories");
    dirGroup.setLayout(new GridLayout(2, false));
    dirGroup.setLayoutData(data);

    scriptDirectories = new TreeViewer(dirGroup, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
    scriptDirectories.getTree().setLayoutData(new GridData(GridData.BEGINNING, GridData.FILL, true, true));
    scriptDirectories.setContentProvider(new ITreeContentProvider() {
        public void dispose() {
        }

        public Object[] getChildren(Object parentElement) {
            return new Object[0];
        }

        public Object[] getElements(Object inputElement) {
            return ((Collection<?>) inputElement).toArray();
        }

        public Object getParent(Object element) {
            return null;
        }

        public boolean hasChildren(Object element) {
            return false;
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    scriptDirectories.setLabelProvider(new ILabelProvider() {
        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public Image getImage(Object element) {
            return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
        }

        public String getText(Object element) {
            return ((DirectorySetting) element).getDirectory().getAbsolutePath();
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });
    scriptDirectories.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            boolean empty = scriptDirectories.getSelection().isEmpty();

            removeScriptDir.setEnabled(!empty);
            /*moveUp.setEnabled(!empty);
            moveDown.setEnabled(!empty);*/
        }
    });
    scriptDirectories.getTree().setLinesVisible(false);
    scriptDirectories.getTree().setSize(300, scriptDirectories.getTree().getSize().y);

    Composite dirButtonsComposite = new Composite(dirGroup, SWT.NONE);
    dirButtonsComposite.setLayout(new FillLayout(SWT.VERTICAL));
    dirButtonsComposite.setLayoutData(new GridData(GridData.CENTER, GridData.BEGINNING, false, false));

    addScriptDir = new Button(dirButtonsComposite, SWT.PUSH);
    addScriptDir.setText("Add Directory..");
    //      addScriptDir.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, true, false));
    addScriptDir.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            addDirectoryClicked();
        }
    });

    removeScriptDir = new Button(dirButtonsComposite, SWT.PUSH);
    removeScriptDir.setText("Remove Directory");
    removeScriptDir.setEnabled(false);
    //      removeScriptDir.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, true, false));
    removeScriptDir.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            removeDirectoryClicked();
        }
    });

    /*
    moveUp = new Button(dirButtonsComposite, SWT.PUSH);
    moveUp.setText("Move Up");
    moveUp.setEnabled(false);
    //      moveUp.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, true, true));
    moveUp.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
    moveUpClicked();
       }
    });
            
            
    moveDown = new Button(dirButtonsComposite, SWT.PUSH);
    moveDown.setText("Move Down");
    moveDown.setEnabled(false);
    //      moveDown.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, true, false));
    moveDown.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
    moveDownClicked();
       }
    });
    */
    //scriptPrefix.setText(ScriptConfiguration.instance().getScriptPrefix());
    refreshView();

    return main;
}

From source file:cc.warlock.rcp.stormfront.ui.prefs.AccountsPreferencePage.java

License:Open Source License

protected TreeViewer createAccountViewer(Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL);
    viewer.getTree().setLayoutData(new GridData(GridData.BEGINNING, GridData.FILL, true, true));
    viewer.setContentProvider(new ITreeContentProvider() {
        public void dispose() {
        }//from ww  w  .j  a  va2 s .co  m

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof Account) {
                return ((Account) parentElement).getProfiles().toArray();
            }
            return new Object[0];
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Collection<?>) {
                return ((Collection<?>) inputElement).toArray();
            } else if (inputElement instanceof Object[]) {
                return (Object[]) inputElement;
            } else {
                return new Object[] { inputElement };
            }
        }

        public Object getParent(Object element) {
            if (element instanceof ProfileSetting) {
                return AccountProvider.getInstance().getAccountByProfile((ProfileSetting) element);
            }
            return null;
        }

        public boolean hasChildren(Object element) {
            if (element instanceof Account) {
                return ((Account) element).getProfiles().size() > 0;
            }
            return false;
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    viewer.setLabelProvider(new ILabelProvider() {
        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public Image getImage(Object element) {
            if (element instanceof ProfileSetting)
                return WarlockSharedImages.getImage(WarlockSharedImages.IMG_CHARACTER);
            return null;
        }

        public String getText(Object element) {
            if (element instanceof Account) {
                return ((Account) element).getAccountName();
            } else if (element instanceof ProfileSetting) {
                ProfileSetting profile = (ProfileSetting) element;
                return profile.getGameName() + " - " + profile.getCharacterName();
            }
            return "";
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    viewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof Account) {
                Account account = (Account) element;
                if (removedAccounts.contains(account))
                    return false;
            } else if (element instanceof ProfileSetting) {
                ProfileSetting profile = (ProfileSetting) element;
                if (removedProfiles.containsKey(profile))
                    return false;
            }
            return true;
        }
    });

    viewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setSize(300, viewer.getTree().getSize().y);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection.getFirstElement() instanceof Account) {
                accountSelected((Account) selection.getFirstElement());
            } else if (selection.getFirstElement() instanceof ProfileSetting) {
                profileSelected((ProfileSetting) selection.getFirstElement());
            }
        }
    });
    return viewer;
}

From source file:ch.droptilllate.application.views.TreeView.java

License:Open Source License

@PostConstruct
public void createPartControl(Composite parent, EMenuService menuService, Shell shell, EPartService partService,
        EModelService modelService, MApplication application) {
    // Treeviewer
    this.viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    menuService.registerContextMenu(this.viewer.getControl(), "ch.droptilllate.application.popupmenu.table");

    this.shell = shell;
    this.parent = parent;
    this.controller = ViewController.getInstance();
    this.controller.initViewController(this.viewer, shell, partService, modelService, application);
    addListeners();/*from ww w.  jav  a2  s .co m*/
    addCloseListener(parent);

}

From source file:ch.elexis.core.ui.util.viewers.SimpleWidgetProvider.java

License:Open Source License

public StructuredViewer createViewer(Composite parent) {
    switch (type) {
    case TYPE_TREE:
        return new TreeViewer(parent, style);
    case TYPE_LIST:
        return new ListViewer(parent, style);
    case TYPE_TABLE:
        return new TableViewer(parent, style);
    case TYPE_LAZYLIST:
        TableViewer ret = new TableViewer(parent, style | SWT.VIRTUAL);

        // ret.getTable().setItemCount(0);
        return ret;
    }/*from  w  w w  . j  a  v a 2 s  .  c o m*/
    return null;
}

From source file:ch.elexis.core.ui.views.rechnung.KonsZumVerrechnenView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    vc = new ViewerConfigurer(new BasicTreeContentProvider(), new ViewerConfigurer.TreeLabelProvider() {
        // extend the TreeLabelProvider by getImage()

        @SuppressWarnings("unchecked")
        @Override//from   ww w.  j ava  2s.c  o m
        public Image getImage(final Object element) {
            if (element instanceof Tree) {
                Tree tree = (Tree) element;
                PersistentObject po = (PersistentObject) tree.contents;
                if (po instanceof Fall) {
                    if (po.isValid()) {
                        return Images.IMG_OK.getImage();
                    } else {
                        return Images.IMG_FEHLER.getImage();
                    }
                }
            }
            return null;
        }
    }, null, // new DefaultControlFieldProvider(cv, new
            // String[]{"Datum","Name","Vorname","Geb. Dat"}),
            new ViewerConfigurer.DefaultButtonProvider(),
            new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_TREE, SWT.MULTI | SWT.V_SCROLL, cv));
    SashForm sash = new SashForm(parent, SWT.NULL);
    left = tk.createForm(sash);
    Composite cLeft = left.getBody();
    left.setText(Messages.KonsZumVerrechnenView_allOpenCons); //$NON-NLS-1$
    cLeft.setLayout(new GridLayout());
    cv.create(vc, cLeft, SWT.NONE, tAll);
    cv.getViewerWidget().setComparator(new KonsZumVerrechnenViewViewerComparator());

    cv.addDoubleClickListener(new DoubleClickListener() {
        @Override
        public void doubleClicked(PersistentObject obj, CommonViewer cv) {
            if (obj instanceof Patient) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Patient) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(UiResourceConstants.PatientDetailView2_ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            } else if (obj instanceof Fall) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Fall) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(FallDetailView.ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            } else if (obj instanceof Konsultation) {
                try {
                    ElexisEventDispatcher.fireSelectionEvent((Konsultation) obj);
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(KonsDetailView.ID);
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    right = tk.createForm(sash);
    Composite cRight = right.getBody();
    right.setText(Messages.KonsZumVerrechnenView_selected); //$NON-NLS-1$
    cRight.setLayout(new GridLayout());
    tvSel = new TreeViewer(cRight, SWT.V_SCROLL | SWT.MULTI);
    // tvSel.getControl().setLayoutData(SWTHelper.getFillGridData(1,true,t,true));
    tvSel.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tvSel.setContentProvider(new BasicTreeContentProvider());
    tvSel.setLabelProvider(new LabelProvider() {
        @SuppressWarnings("unchecked")
        @Override
        public String getText(final Object element) {
            return ((PersistentObject) ((Tree) element).contents).getLabel();
        }

    });
    tvSel.setComparator(new KonsZumVerrechnenViewViewerComparator());
    tvSel.addDropSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { TextTransfer.getInstance() },
            new DropTargetAdapter() {

                @Override
                public void dragEnter(final DropTargetEvent event) {
                    event.detail = DND.DROP_COPY;
                }

                @Override
                public void drop(final DropTargetEvent event) {
                    String drp = (String) event.data;
                    String[] dl = drp.split(","); //$NON-NLS-1$
                    for (String obj : dl) {
                        PersistentObject dropped = CoreHub.poFactory.createFromString(obj);
                        if (dropped instanceof Patient) {
                            selectPatient((Patient) dropped, tAll, tSelection);
                        } else if (dropped instanceof Fall) {
                            selectFall((Fall) dropped, tAll, tSelection);
                        } else if (dropped instanceof Konsultation) {
                            selectBehandlung((Konsultation) dropped, tAll, tSelection);
                        }

                    }
                    tvSel.refresh(true);

                }

            });
    tvSel.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    tvSel.setInput(tSelection);
    // GlobalEvents.getInstance().addActivationListener(this,this);
    sash.setWeights(new int[] { 60, 40 });
    makeActions();
    MenuManager selMenu = new MenuManager();
    selMenu.setRemoveAllWhenShown(true);
    selMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(final IMenuManager manager) {
            manager.add(removeAction);
            manager.add(expandSelAction);
            manager.add(expandSelAllAction);

        }

    });
    tvSel.getControl().setMenu(selMenu.createContextMenu(tvSel.getControl()));

    tvSel.getControl().addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event event) {
            org.eclipse.swt.widgets.Tree theWidget = (org.eclipse.swt.widgets.Tree) (event.widget);
            TreeItem obj = theWidget.getSelection()[0];
            TreeItem parent = obj.getParentItem();
            String viewID = "";
            if (parent == null) {
                // no parent at all -> must be patient
                viewID = UiResourceConstants.PatientDetailView2_ID;
            } else {
                // may be case or cons
                TreeItem grandpa = parent.getParentItem();
                if (grandpa == null) {
                    // must be case
                    viewID = FallDetailView.ID;
                } else {
                    // must be cons
                    viewID = KonsDetailView.ID;
                }
            }
            try {
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(viewID);
            } catch (PartInitException e) {
                e.printStackTrace();
            }
        }
    });

    menu = new ViewMenus(getViewSite());
    menu.createToolbar(refreshAction, wizardAction, printAction, clearAction, null, billAction);
    menu.createMenu(wizardAction, selectByDateAction);
    menu.createViewerContextMenu(cv.getViewerWidget(), detailAction);
    addPartActivationListener();
}