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:com.hudren.woodpile.views.LogExplorerView.java

License:Open Source License

private void createTreeViewer(final Composite parent) {
    viewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL);

    viewer.setContentProvider(contentProvider = new LogExplorerViewContentProvider(this));
    viewer.setLabelProvider(new LogExplorerViewLabelProvider(viewer));
    viewer.setInput(WoodpilePlugin.getDefault().getLogs());
}

From source file:com.ibm.research.tours.editors.TourEditor.java

License:Open Source License

private void createTourTree(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    composite.setBackground(JFaceColors.getBannerBackground(Display.getDefault()));
    GridLayout layout = new GridLayout();
    layout.marginTop = 3;/*from w ww.  j a va2 s .c  o  m*/
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    layout.marginLeft = 3;
    layout.marginRight = 0;
    layout.verticalSpacing = 0;
    layout.horizontalSpacing = 0;
    composite.setLayout(layout);

    //fFilteredTree = new FilteredTree(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL,new PatternFilter());
    //fFilteredTree.setBackground(JFaceColors.getBannerBackground(Display.getCurrent()));

    fTourViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    fTourViewer.getTree().setBackground(JFaceColors.getBannerBackground(Display.getCurrent()));
    //fTourViewer = fFilteredTree.getViewer();
    fTourViewer.setContentProvider(new TourContentProvider());
    fTourViewer.setLabelProvider(new TourLabelProvider());

    // Load the transfers 
    List<Transfer> transfers = new ArrayList<Transfer>();

    // Add the default tour element transfer for internal dnd
    transfers.add(TourElementTransfer.getInstance());
    transfers.add(PaletteEntryTransfer.getInstance());

    // Add the drop adapters
    for (ITourElementDropAdapter adapter : ToursPlugin.getDefault().getDropAdapters()) {
        Transfer transfer = adapter.getTransfer();

        if (transfer != null && !(transfers.contains(transfer)))
            transfers.add(transfer);
    }

    if (transfers.size() > 0)
        fTourViewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, transfers.toArray(new Transfer[0]),
                new TourDragNDropAdapter(this));

    fTourViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { TourElementTransfer.getInstance() }, new TourDragNDropAdapter(this));
    fTourViewer.addDoubleClickListener(new TourTreeDoubleClickListener());
    fTourTreeSelectionChangedListener = new TourTreeSelectionChangedListener(this);
    fTourViewer.addSelectionChangedListener(fTourTreeSelectionChangedListener);

    fTourViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
            Object[] selection = structuredSelection.toArray();
            String objectType = selection[0].getClass().getName();

            IDoubleClickActionContribution[] contributions = ToursPlugin.getDefault()
                    .getDoubleClickActionContributions();

            if (contributions.length > 0) {
                for (IDoubleClickActionContribution contribution : contributions) {
                    if (contribution.getObjectContribution().equals(objectType)) {
                        IDoubleClickActionDelegate delegate = contribution.getDoubleClickActionDelegate();
                        delegate.setActivePart(TourEditor.this);
                        delegate.selectionChanged(structuredSelection);
                        delegate.run();
                    }
                }
            }
        }
    });

    fTourTreeAdapter = new TourTreeAdapter(getTour());
    fTourViewer.setInput(fTourTreeAdapter);
    fTourViewer.setExpandedState(fTourTreeAdapter.getTourElements(), true);
    fTourViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    fTour.addTourListener(fTourListener, false);

    //      final Tree tree = fTourViewer.getTree();
    //       // Disable native tooltip
    //      tree.setToolTipText("");
    //
    //       // Implement a "fake" tooltip
    //       final Listener labelListener = new Listener() {
    //         public void handleEvent(Event event) {
    //           Label label = (Label) event.widget;
    //           Shell shell = label.getShell();
    //           switch (event.type) {
    //           case SWT.MouseDown:
    //             Event e = new Event();
    //             e.item = (TreeItem) label.getData("_TABLEITEM");
    //             // Assuming table is single select, set the selection as if
    //             // the mouse down event went through to the table
    //             tree.setSelection(new TreeItem[] { (TreeItem) e.item });
    //             tree.notifyListeners(SWT.Selection, e);
    //           // fall through
    //           case SWT.MouseExit:
    //             shell.dispose();
    //             break;
    //           }
    //         }
    //       };
    //
    //       Listener tableListener = new Listener() 
    //       {
    //         Shell tip = null;
    //         Label label = null;
    //
    //         public void handleEvent(Event event) {
    //           switch (event.type) {
    //           case SWT.Dispose:
    //           case SWT.KeyDown:
    //           case SWT.MouseMove: {
    //             if (tip == null)
    //               break;
    //             tip.dispose();
    //             tip = null;
    //             label = null;
    //             break;
    //           }
    //           case SWT.MouseHover: {
    //             TreeItem item = tree.getItem(new Point(event.x, event.y));
    //             
    //             if (item != null) 
    //             {
    //               if (tip != null && !tip.isDisposed())
    //                 tip.dispose();
    //               tip = new Shell(Display.getDefault().getActiveShell(), SWT.ON_TOP | SWT.TOOL);
    //               tip.setLayout(new FillLayout());
    //               label = new Label(tip, SWT.NONE);
    //               label.setForeground(Display.getDefault()
    //                   .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
    //               label.setBackground(Display.getDefault()
    //                   .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    //               label.setData("_TABLEITEM", item);
    //               label.setText("tooltip " + item.getText());
    //               
    //               label.addListener(SWT.MouseExit, labelListener);
    //               label.addListener(SWT.MouseDown, labelListener);
    //               Point size = tip.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    //               Rectangle rect = item.getBounds(0);
    //               Point pt = tree.toDisplay(rect.x, rect.y);
    //               tip.setBounds(pt.x, pt.y, size.x, size.y);
    //               tip.setVisible(true);
    //             }
    //           }
    //           }
    //         }
    //       };
    //       tree.addListener(SWT.Dispose, tableListener);
    //       tree.addListener(SWT.KeyDown, tableListener);
    //       tree.addListener(SWT.MouseMove, tableListener);
    //       tree.addListener(SWT.MouseHover, tableListener);

}

From source file:com.idega.app.eplatform.HistoryView.java

License:Open Source License

/**
 * This is a callback that will allow us
 * to create the viewer and initialize it.
 *//*from   w  w  w  . java  2s. c o  m*/
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    drillDownAdapter = new DrillDownAdapter(viewer);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setInput(getViewSite());
    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
}

From source file:com.ifedorenko.p2browser.views.AbstractInstallableUnitHierarchyView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout gl_composite = new GridLayout(1, false);
    gl_composite.marginWidth = 0;//w w  w.  j  a v  a 2s  .c  o m
    gl_composite.marginHeight = 0;
    composite.setLayout(gl_composite);

    final InstallableUnitFilterComposite filterComposite = new InstallableUnitFilterComposite(composite,
            SWT.NONE);
    filterComposite.addFilterChangeListener(new IFilterChangeListener() {
        public void filterChanged(EventObject event) {
            unitMatcher = filterComposite.getMatcher();
            applyFilterJob.schedule(500L);
        }
    });
    filterComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    SashForm sashForm = new SashForm(composite, SWT.NONE);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    Section hierarchySection = new Section(sashForm, Section.TITLE_BAR);
    hierarchySection.setText(getHierarchySectionTitle());

    ToolBar hierarchyToolBar = new ToolBar(hierarchySection, SWT.FLAT | SWT.RIGHT);
    hierarchySection.setTextClient(hierarchyToolBar);

    ToolBarManager hierarchyToolBarManager = new ToolBarManager(hierarchyToolBar);
    hierarchyToolBarManager.add(new Action("Expand All",
            ResourceManager.getPluginImageDescriptor("com.ifedorenko.p2browser", "icons/expandall.gif")) {
        public void run() {
            hierarchyTreeViewer.getTree().setRedraw(false);
            hierarchyTreeViewer.expandAll();
            hierarchyTreeViewer.getTree().setRedraw(true);
        };
    });
    hierarchyToolBarManager.add(new Action("Collapse All",
            ResourceManager.getPluginImageDescriptor("com.ifedorenko.p2browser", "icons/collapseall.gif")) {
        public void run() {
            hierarchyTreeViewer.getTree().setRedraw(false);
            hierarchyTreeViewer.collapseAll();
            hierarchyTreeViewer.expandToLevel(2);
            hierarchyTreeViewer.getTree().setRedraw(true);
        };
    });
    hierarchyToolBarManager.add(new Separator());
    filterHierarchyAction = new Action("Filter",
            ResourceManager.getPluginImageDescriptor("com.ifedorenko.p2browser", "icons/filter.gif")) {
        @Override
        public int getStyle() {
            return AS_CHECK_BOX;
        }

        public void run() {
            filterHierarchy = isChecked();
            applyHierachyFilter();
        };
    };
    filterHierarchyAction.setChecked(filterHierarchy);
    hierarchyToolBarManager.add(filterHierarchyAction);
    hierarchyToolBarManager.update(true);

    hierarchyTreeViewer = new TreeViewer(hierarchySection, SWT.BORDER | SWT.VIRTUAL);
    Tree hierarchyTree = hierarchyTreeViewer.getTree();
    hierarchySection.setClient(hierarchyTree);
    hierarchyTreeViewer.setUseHashlookup(true);
    hierarchyTreeViewer.setContentProvider(new InstallableUnitContentProvider(hierarchyTreeViewer) {
        @Override
        public Object[] getChildren(Object inputElement) {
            if (inputElement instanceof IGroupedInstallableUnits) {
                IGroupedInstallableUnits metadata = (IGroupedInstallableUnits) inputElement;
                return toViewNodes(metadata, metadata.getRootIncludedInstallableUnits());
            }
            return super.getChildren(inputElement);
        }
    });

    ILabelProvider labelProvider = new LabelProvider();

    hierarchyTreeViewer.setLabelProvider(labelProvider);

    Section listSection = new Section(sashForm, Section.TITLE_BAR);
    listSection.setText(getListSectionTitle());

    ToolBar listToolBar = new ToolBar(listSection, SWT.FLAT | SWT.RIGHT);
    listSection.setTextClient(listToolBar);
    ToolBarManager listToolbarManager = new ToolBarManager(listToolBar);
    Action sortListAction = new Action("Sort",
            ResourceManager.getPluginImageDescriptor("com.ifedorenko.p2browser", "icons/sort.gif")) {
        @Override
        public int getStyle() {
            return AS_CHECK_BOX;
        }

        @Override
        public void run() {
            sortList = isChecked();
            applyListFilter();
        }
    };
    sortListAction.setChecked(sortList);
    listToolbarManager.add(sortListAction);
    Action filterListAction = new Action("Filter",
            ResourceManager.getPluginImageDescriptor("com.ifedorenko.p2browser", "icons/filter.gif")) {
        @Override
        public int getStyle() {
            return AS_CHECK_BOX;
        }

        @Override
        public void run() {
            filterList = isChecked();
            applyListFilter();
        }
    };
    filterListAction.setChecked(filterList);
    listToolbarManager.add(filterListAction);
    listToolbarManager.update(true);

    listTableViewer = new TableViewer(listSection, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    Table listTable = listTableViewer.getTable();
    listSection.setClient(listTable);

    listTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Set<IInstallableUnit> units = toInstallableUnits(listTableViewer.getSelection());

            filterHierarchyAction.setEnabled(units == null);
            filterHierarchyAction.setChecked(units == null ? filterHierarchy : false);

            applyHierachyFilter(units);
        }
    });

    listTableViewer.setContentProvider(new IStructuredContentProvider() {
        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                List<?> elements = (List<?>) inputElement;

                if (sortList) {
                    elements = new ArrayList<Object>(elements); // do not sort original collection
                    Collections.sort(elements, new Comparator<Object>() {
                        @Override
                        public int compare(Object o1, Object o2) {
                            // unchecked cast is on purpose, so we known when element type changes ;-)
                            IInstallableUnit u1 = (IInstallableUnit) o1;
                            IInstallableUnit u2 = (IInstallableUnit) o2;

                            return u1.getId().compareTo(u2.getId());
                        }
                    });
                }
                return elements.toArray();
            }
            return null;
        }
    });
    listTableViewer.setLabelProvider(labelProvider);

    listTableViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (!filterList || unitMatcher == null) {
                // no filter
                return true;
            }

            IInstallableUnit unit = null;
            if (element instanceof IInstallableUnit) {
                unit = (IInstallableUnit) element;
            }

            if (unit == null) {
                return true;
            }

            return unitMatcher.match(unit);
        }
    });

    sashForm.setWeights(new int[] { 1, 1 });

    Font font = listTableViewer.getTable().getFont();
    FontData[] fontDatas = font.getFontData();
    for (FontData fontData : fontDatas) {
        fontData.setStyle(SWT.BOLD);
    }
    boldFont = new Font(getSite().getShell().getDisplay(), fontDatas);
}

From source file:com.ifedorenko.p2browser.views.MetadataRepositoryView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    FillLayout fillLayout = (FillLayout) parent.getLayout();
    fillLayout.type = SWT.VERTICAL;/*from w  ww . j  a  va  2s .com*/
    Composite container = toolkit.createComposite(parent, SWT.NONE);
    toolkit.paintBordersFor(container);
    GridLayout gl_container = new GridLayout(2, false);
    gl_container.marginHeight = 0;
    gl_container.marginWidth = 0;
    container.setLayout(gl_container);
    {
        // Composite filterComposite = new Composite( container, SWT.NONE );
        final InstallableUnitFilterComposite filterComposite = new InstallableUnitFilterComposite(container,
                SWT.NONE);
        GridData gd_filterComposite = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
        gd_filterComposite.horizontalIndent = 5;
        filterComposite.setLayoutData(gd_filterComposite);
        filterComposite.addFilterChangeListener(new IFilterChangeListener() {
            @Override
            public void filterChanged(EventObject event) {
                unitMatcher = filterComposite.getMatcher();
                refreshTreeJob.schedule(500L);
            }
        });
    }
    {
        Composite composite = new Composite(container, SWT.NONE);
        composite.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 2));
        toolkit.adapt(composite);
        toolkit.paintBordersFor(composite);
        GridLayout gl_composite = new GridLayout(1, false);
        gl_composite.marginHeight = 0;
        gl_composite.marginWidth = 0;
        composite.setLayout(gl_composite);
        {
            Label lblView = new Label(composite, SWT.NONE);
            toolkit.adapt(lblView, true, true);
            lblView.setText("Repositories");
        }
        {
            Button btnAdd = new Button(composite, SWT.NONE);
            btnAdd.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    RepositoryLocationDialog dialog = new RepositoryLocationDialog(getSite().getShell());
                    if (dialog.open() == IDialogConstants.OK_ID) {
                        addRepository(dialog.getLocation());
                    }
                }
            });
            GridData gd_btnAdd = new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1);
            gd_btnAdd.horizontalIndent = 10;
            btnAdd.setLayoutData(gd_btnAdd);
            toolkit.adapt(btnAdd, true, true);
            btnAdd.setText("Add...");
        }
        {
            Button btnRemove = new Button(composite, SWT.NONE);
            GridData gd_btnRemove = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
            gd_btnRemove.horizontalIndent = 10;
            btnRemove.setLayoutData(gd_btnRemove);
            toolkit.adapt(btnRemove, true, true);
            btnRemove.setText("Remove");
        }
        {
            Button btnReloadAll = new Button(composite, SWT.NONE);
            btnReloadAll.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    reloadAllRepositories();
                }
            });
            GridData gd_btnReloadAll = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
            gd_btnReloadAll.horizontalIndent = 10;
            btnReloadAll.setLayoutData(gd_btnReloadAll);
            toolkit.adapt(btnReloadAll, true, true);
            btnReloadAll.setText("Reload all");
        }
        {
            Button btnSaveAs = new Button(composite, SWT.NONE);
            btnSaveAs.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    saveAsRepository();
                }
            });
            GridData gd_btnSaveAs = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
            gd_btnSaveAs.horizontalIndent = 10;
            btnSaveAs.setLayoutData(gd_btnSaveAs);
            toolkit.adapt(btnSaveAs, true, true);
            btnSaveAs.setText("Save As...");
        }
        {
            Label lblView = new Label(composite, SWT.NONE);
            toolkit.adapt(lblView, true, true);
            lblView.setText("View");
        }
        {
            final Button btnGroupInlcuded = new Button(composite, SWT.CHECK);
            GridData gd_btnGroupInlcuded = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
            gd_btnGroupInlcuded.horizontalIndent = 10;
            btnGroupInlcuded.setLayoutData(gd_btnGroupInlcuded);
            btnGroupInlcuded.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    groupIncludedIUs = btnGroupInlcuded.getSelection();
                    refreshTreeJob.schedule(500L);
                }
            });
            btnGroupInlcuded.setSelection(groupIncludedIUs);
            toolkit.adapt(btnGroupInlcuded, true, true);
            btnGroupInlcuded.setText("Group inlcuded");
        }
        {
            final Button btnChildRepositories = new Button(composite, SWT.CHECK);
            GridData gd_btnChildRepositories = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
            gd_btnChildRepositories.horizontalIndent = 10;
            btnChildRepositories.setLayoutData(gd_btnChildRepositories);
            btnChildRepositories.setToolTipText("Reveal composite repository structure");
            btnChildRepositories.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    revealCompositeRepositories = btnChildRepositories.getSelection();
                    refreshTreeJob.schedule(500L);
                }
            });
            btnChildRepositories.setSelection(revealCompositeRepositories);
            toolkit.adapt(btnChildRepositories, true, true);
            btnChildRepositories.setText("Child repositories");
        }
    }
    {
        treeViewer = new TreeViewer(container, SWT.BORDER | SWT.MULTI | SWT.VIRTUAL);
        treeViewer.setUseHashlookup(true);
        Tree tree = treeViewer.getTree();
        tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
        tree.setLinesVisible(true);
        treeViewer.setLabelProvider(new LabelProvider());
        treeViewer.setContentProvider(new InstallableUnitContentProvider(treeViewer) {
            @Override
            protected Object[] getChildren(Object parentElement) {
                if (parentElement == repositories) {
                    List<Object> result = new ArrayList<Object>();
                    for (URI location : repositories) {
                        IMetadataRepository repository = allrepositories.get(location);
                        if (repository != null) {
                            result.add(repository);
                        } else {
                            result.add(location);
                        }
                    }
                    return toMetadataRepositories(repositories).toArray();
                } else if (revealCompositeRepositories
                        && parentElement instanceof CompositeMetadataRepository) {
                    return getImmediateChildrenRepositories((CompositeMetadataRepository) parentElement);
                } else if (parentElement instanceof IMetadataRepository) {
                    final IMetadataRepository repo = (IMetadataRepository) parentElement;
                    final IGroupedInstallableUnits content = repositoryContent.get(repo.getLocation());

                    if (content != null) {
                        return toViewNodes(content, content.getRootIncludedInstallableUnits());
                    }

                    return null;
                }
                return super.getChildren(parentElement);
            }
        });
        treeViewer.setInput(repositories);
        treeViewer.getTree().setItemCount(repositories.size());
        toolkit.paintBordersFor(tree);

        Font font = tree.getFont();
        FontData[] fontDatas = font.getFontData();
        for (FontData fontData : fontDatas) {
            fontData.setStyle(SWT.BOLD);
        }
        boldFont = new Font(tree.getDisplay(), fontDatas);
    }

    new InstallableUnitTreeActions(getViewSite(), treeViewer) {
        @Override
        protected IQueryable<IInstallableUnit> getAllInstallableUnits() {
            return toQueryable(toMetadataRepositories(repositories));
        }

        @Override
        protected Collection<URI> getRepositoryLocations() {
            return repositories;
        }

        @Override
        protected void addToClipboard(List<Transfer> dataTypes, List<Object> data) {
            Collection<IMetadataRepository> repositories = getSelection(IMetadataRepository.class);

            for (IMetadataRepository repository : repositories) {
                dataTypes.add(TextTransfer.getInstance());
                data.add(repository.getLocation().toString());
            }

            super.addToClipboard(dataTypes, data);
        }
    };
}

From source file:com.iks.hto.karteikastensystem.simple.rcp.views.KarteikastenSystemExplorerPart.java

License:Open Source License

private TreeViewer init(Composite parent, KarteikastenSystem karteikastensystem) {

    KarteikastensystemItemProviderAdapterFactory adapterFactory = new KarteikastensystemItemProviderAdapterFactory();

    TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
    viewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

    viewer.setInput(karteikastensystem);

    MenuManager mgr = new MenuManager();
    mgr.add(new GroupMarker("additions"));
    viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl()));

    site.registerContextMenu(Activator.PLUGIN_ID + ".karteikastenSystemAdditions", mgr, viewer);

    IObservableValue treeObs = ViewerProperties.singleSelection().observe(viewer);
    treeObs.addValueChangeListener(new IValueChangeListener() {

        public void handleValueChange(ValueChangeEvent event) {
            ISourceProviderService s = (ISourceProviderService) site.getService(ISourceProviderService.class);
            ResourceProvider p = (ResourceProvider) s.getSourceProvider(ResourceProvider.MODEL_RESOURCE_NAME);

            if (event.diff.getNewValue() instanceof Person) {
                Person person = (Person) event.diff.getNewValue();
                p.setBenutzer(person);//from  ww  w.ja  v a 2s . c  o m
                p.setKarteikasten(null);
                p.setFach(null);
            } else if (event.diff.getNewValue() instanceof Karteikasten) {
                Karteikasten kk = (Karteikasten) event.diff.getNewValue();
                p.setBenutzer(kk.getPerson());
                p.setKarteikasten(kk);
                p.setFach(null);
            } else if (event.diff.getNewValue() instanceof Fach) {
                Fach f = (Fach) event.diff.getNewValue();
                p.setBenutzer(f.getKarteikasten().getPerson());
                p.setKarteikasten(f.getKarteikasten());
                p.setFach(f);
            } else {
                p.setBenutzer(null);
                p.setKarteikasten(null);
                p.setFach(null);
            }
        }
    });

    return viewer;
}

From source file:com.ivenix.debug.gdbjtag.render.peripheral.PeripheralRendering.java

License:Open Source License

@Override
public Control createControl(Composite parent) {

    Composite composite = new Composite(parent, SWT.BORDER);
    fPeripheralViewer = new TreeViewer(composite, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    Control control = fPeripheralViewer.getControl();
    TreeColumnLayout treeColumnLayout = new TreeColumnLayout();
    composite.setLayout((Layout) treeColumnLayout);
    control.setLayoutData((Object) new GridData(1808));
    fPeripheralViewer.setAutoExpandLevel(-1);
    Tree tree = fPeripheralViewer.getTree();

    fPeripheralViewer.setContentProvider(
            (IContentProvider) new PeripheralContentProvider(fMemoryBlock.getPeripheralRegisterGroup()));

    fComparator = new PeripheralViewerComparator();
    fPeripheralViewer.setComparator(fComparator);

    LinkToolTip.enableFor((ColumnViewer) fPeripheralViewer, SWT.ICON_INFORMATION, (ILinkToolTipListener) this);

    for (int i = 0; i < PeripheralRendering.fgColumnInfo.length; ++i) {

        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(fPeripheralViewer, SWT.ON_TOP);
        TreeColumn treeColumn = treeViewerColumn.getColumn();

        String headerName = PeripheralRendering.fgColumnInfo[i].header;
        treeColumn.setText(headerName);/*from   w w w  .j ava2s.c o  m*/

        treeColumn.setResizable(true);
        treeColumn.setMoveable(true);

        treeColumnLayout.setColumnData((Widget) treeColumn,
                (ColumnLayoutData) new ColumnWeightData(PeripheralRendering.fgColumnInfo[i].weight,
                        PeripheralRendering.fgColumnInfo[i].weight * 5, true));

        // Set column label provider
        treeViewerColumn
                .setLabelProvider((CellLabelProvider) new PeripheralColumnLabelProvider(fPeripheralViewer,
                        (IMemoryBlockExtension) fMemoryBlock, PeripheralRendering.fgColumnInfo[i].type));

        if (PeripheralRendering.fgColumnInfo[i].type == PeripheralColumnInfo.ColumnType.VALUE) {

            // For VALUE columns, add editing support
            treeViewerColumn
                    .setEditingSupport((EditingSupport) new PeripheralEditingSupport(fPeripheralViewer));
        }
        if (PeripheralRendering.fgColumnInfo[i].sortable) {
            // Add a selection listener to make sortable
            treeColumn.addSelectionListener(getSelectionAdapter(treeColumn, i));
        }
    }

    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);

    fPeripheralViewer.setInput((Object) getMemoryBlock());
    performExpandAction(true);

    createPopupMenu(control);
    createActions();

    IMenuListener menuListener = new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            fillContextMenu(manager);
        }
    };

    addPopupMenu((IMenuListener) menuListener);
    addDebugEventListener();
    addToSyncService();
    trackTreeSelectionChanges();
    return composite;
}

From source file:com.iw.plugins.spindle.ui.widgets.ContainerSelectionGroup.java

License:Open Source License

/**
 * Returns a new drill down viewer for this dialog.
 * //from  w w w.  jav  a 2s. c om
 * @param heightHint height hint for the drill down composite
 * @return a new drill down viewer
 */
protected void createTreeViewer(int heightHint) {
    // Create drill down.
    DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER);
    GridData spec = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL
            | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
    spec.heightHint = heightHint;
    drillDown.setLayoutData(spec);

    // Create tree viewer inside drill down.
    treeViewer = new TreeViewer(drillDown, SWT.NONE);
    drillDown.setChildTree(treeViewer);
    ContainerContentProvider cp = new ContainerContentProvider();
    cp.showClosedProjects(showClosedProjects);
    treeViewer.setContentProvider(cp);
    treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    treeViewer.setSorter(new ViewerSorter());
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow
            // null
        }
    });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (treeViewer.getExpandedState(item))
                    treeViewer.collapseToLevel(item, 1);
                else
                    treeViewer.expandToLevel(item, 1);
            }
        }
    });

    // This has to be done after the viewer has been laid out
    if (root == null || !root.exists()) {
        treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
    } else {
        treeViewer.setInput(new Object());
    }
}

From source file:com.jaspersoft.studio.data.xvia.querydesigner.TrackViaMetadata.java

License:Open Source License

public Control createControl(Composite parent) {
    composite = new Composite(parent, SWT.NONE);
    stackLayout = new StackLayout();
    composite.setLayout(stackLayout);/*  w w  w .  ja v a 2  s  .c  o m*/

    mcmp = new Composite(composite, SWT.BORDER);
    mcmp.setLayout(new GridLayout());

    msg = new Label(mcmp, SWT.WRAP | SWT.CENTER);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.verticalAlignment = SWT.CENTER;
    gd.grabExcessVerticalSpace = true;
    gd.horizontalAlignment = SWT.CENTER;
    gd.horizontalIndent = 20;
    msg.setLayoutData(gd);
    msg.setText(Messages.DBMetadata_0);
    msg.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            doRefreshMetadata();
        }
    });

    treeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.BORDER);
    treeViewer.setContentProvider(new ReportTreeContetProvider() {
        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof INode) {
                INode node = (INode) parentElement;
                List<INode> children = node.getChildren();
                List<INode> newchildren = new ArrayList<INode>();
                for (INode n : children) {
                    if (n instanceof INotInMetadata && ((INotInMetadata) n).isNotInMetadata())
                        continue;
                    if (n.getValue() instanceof String && ((String) n.getValue()).isEmpty())
                        continue;
                    newchildren.add(n);
                }
                if (!newchildren.isEmpty())
                    return newchildren.toArray();
            }
            return EMPTY_ARRAY;
        }
    });
    treeViewer.setLabelProvider(new ReportTreeLabelProvider());

    ColumnViewerToolTipSupport.enableFor(treeViewer);

    treeViewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE,
            new Transfer[] { NodeTransfer.getInstance(), PluginTransfer.getInstance() },
            new NodeDragListener(treeViewer) {
                @Override
                public void dragStart(DragSourceEvent event) {
                    TreeSelection s = (TreeSelection) treeViewer.getSelection();
                    for (TreePath tp : s.getPaths()) {
                        if (!(tp.getLastSegment() instanceof IDragable)) {
                            event.doit = false;
                            return;
                        }
                    }
                }

                @Override
                public void dragFinished(DragSourceEvent event) {
                    treeViewer.refresh(true);
                    if (!event.doit)
                        return;
                }
            });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeSelection ts = (TreeSelection) treeViewer.getSelection();
            Object el = ts.getFirstElement();

            if (treeViewer.getExpandedState(el))
                treeViewer.collapseToLevel(el, 2);
            else {
                if (el instanceof TrackViaApp)
                    loadApp((TrackViaApp) el);

                treeViewer.expandToLevel(el, 1);
            }
        }
    });
    treeViewer.addTreeListener(new ITreeViewerListener() {

        @Override
        public void treeCollapsed(TreeExpansionEvent event) {
        }

        @Override
        public void treeExpanded(TreeExpansionEvent event) {
            final Object element = event.getElement();
            if (element instanceof TrackViaApp)
                UIUtils.getDisplay().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        loadApp((TrackViaApp) element);
                    }
                });
        }
    });
    treeViewer.addSelectionChangedListener(new SelectionChangedListener(this));

    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    menuMgr.add(new Action(Messages.DBMetadata_1) {
        @Override
        public void run() {
            doRefreshMetadata();
        }
    });
    treeViewer.getControl().setMenu(menu);

    stackLayout.topControl = mcmp;

    root = designer.createRoot(root);
    updateUI(root);

    return composite;
}

From source file:com.kdmanalytics.toif.report.internal.importWizard.RepositoryImportWizardPage.java

License:Open Source License

/**
 * create the project tree in the dialog.
 * //from ww w . j a  v  a  2s  .co m
 * @param page
 */
private void createProjectTree(Composite page) {
    Label label = new Label(page, SWT.NONE);
    label.setText("Select target project:");

    DrillDownComposite drillDown = new DrillDownComposite(page, SWT.BORDER);
    GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true);
    spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
    spec.heightHint = SIZING_CONTAINER_GROUP_HEIGHT;
    drillDown.setLayoutData(spec);
    TreeViewer tree = new TreeViewer(drillDown, SWT.NONE);
    drillDown.setChildTree(tree);
    contentprovider = new TOIFImportTreeContentProvider();
    tree.setContentProvider(contentprovider);
    tree.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    tree.setComparator(new ViewerComparator());
    tree.setUseHashlookup(true);
    tree.setInput(ResourcesPlugin.getWorkspace());
    tree.addSelectionChangedListener(this);
}