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:ch.elexis.core.ui.views.rechnung.VerrDetailDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite ret = new Composite(parent, SWT.NONE);
    ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    ret.setLayout(new FillLayout());
    TreeViewer tv = new TreeViewer(ret, SWT.V_SCROLL);
    tv.setContentProvider(new ITreeContentProvider() {

        public Object[] getChildren(Object parentElement) {
            Tree[] ret = (Tree[]) ((Tree) parentElement).getChildren().toArray(new Tree[0]);
            Arrays.sort(ret, new Comparator<Tree>() {
                public int compare(Tree t1, Tree t2) {
                    if (t1.contents instanceof Konsultation) {
                        Konsultation k1 = (Konsultation) t1.contents;
                        return k1.compareTo((Konsultation) t2.contents);
                    }//from www  .  j  av a2 s  .  c  om
                    return 0;
                }
            });
            return ret;
        }

        public Object getParent(Object element) {
            return ((Tree) element).getParent();
        }

        public boolean hasChildren(Object element) {
            return ((Tree) element).hasChildren();
        }

        public Object[] getElements(Object inputElement) {
            Tree[] ret = (Tree[]) tree.getChildren().toArray(new Tree[0]);
            return ret;
        }

        public void dispose() {
        }

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

    });
    tv.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            Object o = ((Tree) element).contents;
            if (o instanceof Fall) {
                Fall f = (Fall) o;
                Money sum = new Money();
                List<Konsultation> list = faelle.get(f);
                if (list != null) {
                    for (Konsultation k : list) {
                        sum.addMoney(calcKons(k));
                    }
                }
                return f.getLabel() + " - " + sum.getAmountAsString(); //$NON-NLS-1$
            } else if (o instanceof Konsultation) {
                Konsultation k = (Konsultation) o;
                return k.getLabel() + " - " + calcKons(k).getAmountAsString(); //$NON-NLS-1$
            }
            return super.getText(element);
        }

    });
    tv.setInput(this);
    return ret;
}

From source file:ch.elexis.notes.NotesList.java

License:Open Source License

NotesList(Composite parent) {
    super(parent, SWT.NONE);
    setLayout(new GridLayout());
    this.parent = parent;
    Composite cFilter = new Composite(this, SWT.NONE);
    cFilter.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    cFilter.setLayout(new GridLayout(3, false));
    ImageHyperlink clearSearchFieldHyperlink = new ImageHyperlink(cFilter, SWT.NONE);
    clearSearchFieldHyperlink.setImage(Images.IMG_CLEAR.getImage());
    clearSearchFieldHyperlink.addHyperlinkListener(new HyperlinkAdapter() {
        @Override/*from  w ww.  j  a  v  a2  s. co  m*/
        public void linkActivated(HyperlinkEvent e) {
            tFilter.setText(""); //$NON-NLS-1$
            filterExpr = ""; //$NON-NLS-1$
            matches.clear();
            tv.collapseAll();
            tv.removeFilter(notesFilter);
        }
    });
    new Label(cFilter, SWT.NONE).setText(Messages.NotesList_searchLabel);
    tFilter = new Text(cFilter, SWT.SINGLE);
    tFilter.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    tFilter.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            filterExpr = tFilter.getText().toLowerCase();
            matches.clear();
            if (filterExpr.length() == 0) {
                tv.removeFilter(notesFilter);
                tv.collapseAll();
            } else {
                tv.addFilter(notesFilter);
                tv.expandAll();
            }

        }
    });
    tv = new TreeViewer(this, SWT.NONE);
    tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv.setContentProvider(new NotesContentProvider());
    tv.setLabelProvider(new DefaultLabelProvider());
    tv.setUseHashlookup(true);
    tv.setInput(parent);
    tv.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
}

From source file:ch.elexis.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/*www  .  j  a v a  2  s.c om*/
        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.getString("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(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.getString("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 = Hub.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 = 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);
}

From source file:ch.gpb.elexis.cst.view.profileeditor.RemindersComposite.java

License:Open Source License

public RemindersComposite(Composite parent) {
    super(parent, SWT.NONE);

    GridLayout gridLayout = new GridLayout(4, false);
    setLayout(gridLayout);/* www. j a v  a2  s  . c o  m*/

    createLayout(this);

    treeviewer = new TreeViewer(this, SWT.BORDER);
    Tree tree_1 = treeviewer.getTree();
    GridData gd_tree_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1);
    gd_tree_1.heightHint = 230;
    gd_tree_1.widthHint = 500;
    tree_1.setLayoutData(gd_tree_1);
    treeviewer.setContentProvider(new ViewContentProvider());
    treeviewer.setLabelProvider(new ViewLabelProvider());

    Button btnNewAction = new Button(this, SWT.NONE);
    btnNewAction.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnNewAction.setText("Start new event chain");
    btnNewAction.addSelectionListener(new NewItemListener());

    Button btnExpandAll = new Button(this, SWT.NONE);
    btnExpandAll.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnExpandAll.setText("Expand All");
    btnExpandAll.addSelectionListener(new ExpandAllListener());

    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(treeviewer.getControl());
    menuMgr.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            if (treeviewer.getSelection().isEmpty()) {
                return;
            }

            if (treeviewer.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) treeviewer.getSelection();
                manager.add(actionAddObject);
                manager.add(actionDeleteObject);
                manager.add(actionEditObject);

            }
        }
    });

    menuMgr.setRemoveAllWhenShown(true);
    treeviewer.getControl().setMenu(menu);
    treeviewer.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(treeviewer);

    makeActions();

    CoreHub.heart.addListener(this);
    new Label(this, SWT.NONE);

    lblHeart = new Label(this, SWT.NONE);
    lblHeart.setText(Messages.RemindersComposite_lblHeart_text);
    GridData gd_lblHeart = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
    gd_lblHeart.heightHint = 50;
    gd_lblHeart.widthHint = 50;
    lblHeart.setLayoutData(gd_lblHeart);
    new Label(this, SWT.NONE);
    new Label(this, SWT.NONE);
    new Label(this, SWT.NONE);

    lblCheckingForActions = new Label(this, SWT.NONE);
    lblCheckingForActions.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    lblCheckingForActions.setText(Messages.RemindersComposite_lblCheckingForActions_text);

    treeviewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            Object selectedNode = thisSelection.getFirstElement();
            viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
        }
    });

    imageList = Arrays.asList(imgHeart1, imgHeart2, imgHeart3, imgHeartA, imgHeartB, imgHeartC, imgHeartD,
            imgHeartE);

    lblCheckingForActions.setVisible(false);
    lblHeart.setVisible(false);
}

From source file:ch.hsr.ifs.cutelauncher.ui.TestViewer.java

License:Open Source License

/**
 * This method initializes sashForm//from   www.ja va  2 s  . c o  m
 *
 */
private void createSashForm() {
    sashForm = new SashForm(this, SWT.HORIZONTAL);
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
    treeViewer = new TreeViewer(sashForm, SWT.FLAT);
    treeViewer.setContentProvider(new CuteTestTreeContentProvieder());
    treeViewer.setLabelProvider(new CuteTestLabelProvider());
    treeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    treeViewer.addSelectionChangedListener(new CuteTestSelecetionListener(this));
    cuteTestDClickListener = new CuteTestDClickListener(session);
    treeViewer.addDoubleClickListener(cuteTestDClickListener);
    testResultViewer = new TestResultViewer(sashForm, SWT.FLAT);
    testResultViewer.setEditable(false);
    testResultViewer.setIndent(5);
}

From source file:ch.ntb.inf.deep.eclipse.ui.view.ClassTreeView.java

License:Apache License

@Override
public void createPartControl(Composite parent) {
    GridLayout layout = new GridLayout(5, true);
    parent.setLayout(layout);//from www . j ava 2  s .c o  m

    classTreeViewer = new TreeViewer(parent, SWT.SINGLE);
    GridData classTreeViewerData = new GridData(SWT.FILL, SWT.FILL, true, true);
    classTreeViewerData.horizontalSpan = 2;
    classTreeViewer.getControl().setLayoutData(classTreeViewerData);
    classTreeViewer.setLabelProvider(new ClassTreeLabelProvider());
    classTreeViewer.setContentProvider(new ClassTreeContentProvider());
    classTreeViewer.setAutoExpandLevel(2);
    classTreeViewer.addSelectionChangedListener(this);

    textViewer = new TextViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.SCROLL_PAGE);
    GridData textViewerData = new GridData(GridData.FILL, GridData.FILL, true, true);
    textViewerData.horizontalSpan = 3;
    textViewerData.verticalSpan = 2;
    textViewer.getControl().setLayoutData(textViewerData);
    Document doc = new Document();
    textViewer.setDocument(doc);

    deviceTreeViewer = new TreeViewer(parent, SWT.SINGLE);
    GridData deviceTreeViewerData = new GridData(SWT.FILL, SWT.FILL, true, true);
    deviceTreeViewerData.horizontalSpan = 2;
    deviceTreeViewer.getControl().setLayoutData(deviceTreeViewerData);
    deviceTreeViewer.setLabelProvider(new DeviceTreeLabelProvider());
    deviceTreeViewer.setContentProvider(new DeviceTreeContentProvider());
    deviceTreeViewer.setAutoExpandLevel(2);
    deviceTreeViewer.addSelectionChangedListener(this);

    //get Display needs to set the font
    Display d = parent.getShell().getDisplay();
    if (d != null) {
        FontData defaultFont = new FontData("Courier", 9, SWT.NORMAL);
        Font font = new Font(d, defaultFont);
        textViewer.getControl().setFont(font);
    }
    textViewer.setEditable(false);

    createActions();
    contributeToActionBars();
}

From source file:ch.powerunit.poweruniteclipse.PowerUnitResultView.java

License:Open Source License

private void createDisplay(Composite parent) {
    Composite comp = new Composite(parent, SWT.NONE);

    GridLayout topLayout = new GridLayout();
    topLayout.numColumns = 2;//from   w  ww  .  ja  v a 2s .  co m
    comp.setLayout(topLayout);

    resultViewer = new TreeViewer(comp, SWT.BORDER | SWT.SINGLE);
    resultViewer.setContentProvider(new TreeResulContentProvider());
    resultViewer.setLabelProvider(new TreeResultLabelProvider());
    resultViewer.setInput(results);
    resultViewer.expandAll();

    GridData gridData = new GridData();
    gridData.widthHint = 200;
    gridData.verticalAlignment = GridData.FILL;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 1;
    resultViewer.getTree().setLayoutData(gridData);

    stackTrace = new Text(comp, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL);
    stackTrace.setEditable(false);
    gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.verticalAlignment = GridData.FILL;
    gridData.grabExcessVerticalSpace = true;
    gridData.grabExcessHorizontalSpace = true;
    gridData.horizontalSpan = 1;
    stackTrace.setLayoutData(gridData);

    resultViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            if (event.getSelection().isEmpty()) {
                stackTrace.setText("");
            } else if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object s = selection.getFirstElement();
                if (s instanceof Testcase) {
                    Testcase tc = (Testcase) s;
                    if (!tc.getError().isEmpty()) {
                        stackTrace.setText(tc.getError().get(0).getContent());
                    } else if (!tc.getFailure().isEmpty()) {
                        stackTrace.setText(tc.getFailure().get(0).getContent());
                    } else {
                        stackTrace.setText("");
                    }
                } else {
                    stackTrace.setText("");
                }
            }

        }
    });

}

From source file:ch.wess.ezclipse.varbrowser.internal.VarBrowser.java

License:Open Source License

/**
 * Method called at start to create the GUI of the view.
 *///from   w w w  . j av a  2  s . co  m
@Override
public void createPartControl(final Composite parent) {
    IFile file = null;
    try {
        file = (IFile) getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
    } catch (Exception e) {
        // Nothing to do
    }

    String nodeId = ""; //$NON-NLS-1$
    IProject project = null;

    if (file != null) {
        try {
            nodeId = file.getPersistentProperty(IFileProperties.NODE_ID);
            project = file.getProject();
        } catch (CoreException ce) {
            // Nothing to do.
        }
    }

    contentProvider = new VariableTreeContentProvider(project, nodeId);

    treeViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL);
    treeViewer.setContentProvider(contentProvider);

    if (file != null)
        treeViewer.setInput(new VariableTreeInput(file.getProject(), nodeId));

    TreeViewerColumn column1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return Messages.getString("VarBrowser.0"); //$NON-NLS-1$
            return ((Variable) element).getName();
        }
    });
    column1.getColumn().setText(Messages.getString("VarBrowser.1")); //$NON-NLS-1$
    column1.getColumn().setWidth(200);

    TreeViewerColumn column2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return ""; //$NON-NLS-1$
            return ((Variable) element).getType();
        }
    });
    column2.getColumn().setText(Messages.getString("VarBrowser.2")); //$NON-NLS-1$
    column2.getColumn().setWidth(200);

    TreeViewerColumn column3 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column3.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return ""; //$NON-NLS-1$
            return ((Variable) element).getValue();
        }
    });
    column3.getColumn().setText(Messages.getString("VarBrowser.3")); //$NON-NLS-1$
    column3.getColumn().setWidth(300);

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

    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);

    createContextMenu();
}

From source file:cideplus.ui.astview.ASTView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    fSash = new SashForm(parent, SWT.VERTICAL | SWT.SMOOTH);
    fViewer = new TreeViewer(fSash, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    fDrillDownAdapter = new DrillDownAdapter(fViewer);
    fViewer.setContentProvider(new ASTViewContentProvider());
    fASTLabelProvider = new ASTViewLabelProvider();
    fViewer.setLabelProvider(fASTLabelProvider);
    fViewer.addSelectionChangedListener(fSuperListener);
    fViewer.addDoubleClickListener(fSuperListener);
    fViewer.addFilter(new ViewerFilter() {
        @Override/*ww  w  .  j a v a2  s  .co  m*/
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (!fCreateBindings && element instanceof Binding)
                return false;
            return true;
        }
    });
    fViewer.addFilter(fNonRelevantFilter);

    ViewForm trayForm = new ViewForm(fSash, SWT.NONE);
    Label label = new Label(trayForm, SWT.NONE);
    label.setText(" Comparison Tray (* = selection in the upper tree):"); //$NON-NLS-1$
    trayForm.setTopLeft(label);

    fTray = new TreeViewer(trayForm, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    trayForm.setContent(fTray.getTree());

    fTrayRoots = new ArrayList();
    fTray.setContentProvider(new TrayContentProvider());
    final TrayLabelProvider trayLabelProvider = new TrayLabelProvider();
    fTray.setLabelProvider(trayLabelProvider);
    fTray.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    fTrayUpdater = new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection viewerSelection = (IStructuredSelection) fViewer.getSelection();
            if (viewerSelection.size() == 1) {
                Object first = viewerSelection.getFirstElement();
                if (unwrapAttribute(first) != null) {
                    trayLabelProvider.setViewerElement(first);
                    return;
                }
            }
            trayLabelProvider.setViewerElement(null);
        }
    };
    fTray.addPostSelectionChangedListener(fTrayUpdater);
    fViewer.addPostSelectionChangedListener(fTrayUpdater);
    fTray.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            performTrayDoubleClick();
        }
    });
    fTray.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            fDeleteAction.setEnabled(selection.size() >= 1 && fTray.getTree().isFocusControl());
        }
    });
    fTray.getTree().addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            IStructuredSelection selection = (IStructuredSelection) fTray.getSelection();
            fDeleteAction.setEnabled(selection.size() >= 1);
        }

        @Override
        public void focusLost(FocusEvent e) {
            fDeleteAction.setEnabled(false);
        }
    });

    makeActions();
    hookContextMenu();
    hookTrayContextMenu();
    contributeToActionBars();
    getSite().setSelectionProvider(new ASTViewSelectionProvider());

    try {
        IEditorPart part = EditorUtility.getActiveEditor();
        if (part instanceof ITextEditor) {
            setInput((ITextEditor) part);
        }
    } catch (CoreException e) {
        // ignore
    }
    if (fTypeRoot == null) {
        clearView();
    } else {
        setASTUptoDate(fTypeRoot != null);
    }
}

From source file:cn.dockerfoundry.ide.eclipse.explorer.ui.views.DockerExplorerView.java

License:Open Source License

/**
 * This is a callback that will allow us
 * to create the viewer and initialize it.
 */// w  w w.  j  a va 2  s  .  c  om
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    drillDownAdapter = new DrillDownAdapter(viewer);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setSorter(new NameSorter());
    viewer.setInput(getInitInput());

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
            "cn.dockerfoundry.ide.eclipse.explorer.ui.viewer");
    makeActions();
    hookContextMenu();
    hookSingleClickAction();
    hookDoubleClickAction();
    contributeToActionBars();
}