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(Tree tree) 

Source Link

Document

Creates a tree viewer on the given tree control.

Usage

From source file:ch.elexis.core.ui.documents.views.DocumentsView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *///from  w  w w .  ja  va 2s.  c  o  m
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    final Text tSearch = new Text(parent, SWT.BORDER);
    tSearch.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
    tSearch.setMessage(Messages.DocumentView_searchLabel);
    // Add search listener
    ModifyListener searchListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            searchTitle = tSearch.getText();
            refresh();
            if (searchTitle == null || searchTitle.isEmpty()) {
                viewer.collapseAll();
            } else {
                viewer.expandAll();
            }
        }
    };
    tSearch.addModifyListener(searchListener);

    // Table to display documents
    table = new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    TreeColumn[] cols = new TreeColumn[colLabels.length];
    for (int i = 0; i < colLabels.length; i++) {
        cols[i] = new TreeColumn(table, SWT.NONE);
        cols[i].setText(colLabels[i]);
        cols[i].setData(new Integer(i));
    }
    applyUsersColumnWidthSetting();

    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));

    viewer = new TreeViewer(table);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setUseHashlookup(true);
    viewer.addFilter(new ViewFilterProvider());

    ovComparator = new DocumentsViewerComparator();
    viewer.setComparator(ovComparator);
    TreeColumn[] treeCols = viewer.getTree().getColumns();
    for (int i = 0; i < treeCols.length; i++) {
        TreeColumn tc = treeCols[i];
        tc.addSelectionListener(getSelectionAdapter(tc, i));
    }
    makeActions();
    applySortDirection();
    hookDoubleClickAction();

    final Transfer[] dropTransferTypes = new Transfer[] { FileTransfer.getInstance() };

    viewer.addDropSupport(DND.DROP_COPY, dropTransferTypes, new DropTargetAdapter() {

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

        @Override
        public void drop(DropTargetEvent event) {
            if (dropTransferTypes[0].isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                ICategory category = null;
                if (event.item != null) {
                    if (event.item.getData() instanceof IDocument) {
                        IDocument dh = (IDocument) event.item.getData();
                        category = dh.getCategory();
                    } else if (event.item.getData() instanceof ICategory) {
                        category = (ICategory) event.item.getData();
                    }

                }

                ICommandService commandService = (ICommandService) PlatformUI.getWorkbench()
                        .getService(ICommandService.class);
                Command cmd = commandService.getCommand(DocumentCrudHandler.CMD_NEW_DOCUMENT);
                if (files != null) {
                    for (String file : files) {
                        try {
                            Map<String, String> params = new HashMap<>();
                            params.put(DocumentCrudHandler.PARAM_FILE_PATH, file);
                            if (category != null) {
                                params.put(DocumentCrudHandler.PARAM_DOC_CATEGORY, category.getName());
                            }
                            ExecutionEvent ev = new ExecutionEvent(cmd, params, null, null);
                            cmd.executeWithChecks(ev);
                        } catch (Exception e) {
                            logger.error("drop error", e);
                        }
                    }
                }

                viewer.refresh();
            }
        }

    });

    final Transfer[] dragTransferTypes = new Transfer[] { FileTransfer.getInstance(),
            TextTransfer.getInstance() };
    viewer.addDragSupport(DND.DROP_COPY, dragTransferTypes, new DragSourceAdapter() {
        private boolean failure;

        @Override
        public void dragStart(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            event.doit = selection.getFirstElement() instanceof IDocument;
        }

        @Override
        public void dragSetData(DragSourceEvent event) {
            failure = false;
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            IDocument dh = (IDocument) selection.getFirstElement();
            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                String title = dh.getTitle();
                int end = dh.getTitle().lastIndexOf(".");
                if (end != -1) {
                    title = (dh.getTitle()).substring(0, end);
                }

                try {
                    String absPath = DocumentStoreServiceHolder.getService().saveContentToTempFile(dh, title,
                            dh.getExtension(), true);
                    if (absPath != null) {
                        event.data = new String[] { absPath };
                    } else {
                        event.doit = false;
                        failure = true;
                    }

                } catch (ElexisException e) {
                    event.doit = false;
                    failure = true;
                    logger.error("drag error", e);
                }
            }
        }

        @Override
        public void dragFinished(DragSourceEvent event) {
            if (!failure) {
                super.dragFinished(event);
            } else {
                SWTHelper.showError(Messages.DocumentView_exportErrorCaption,
                        Messages.DocumentView_exportErrorEmptyText);
            }

        }
    });

    GlobalEventDispatcher.addActivationListener(this, this);

    MenuManager menuManager = new MenuManager();
    viewer.getControl().setMenu(menuManager.createContextMenu(viewer.getControl()));
    getSite().registerContextMenu(menuManager, viewer);
    getSite().setSelectionProvider(viewer);

    viewer.setInput(ElexisEventDispatcher.getSelectedPatient());
}

From source file:ch.elexis.core.ui.preferences.inputs.ACLPreferenceTree.java

License:Open Source License

public ACLPreferenceTree(Composite parent, ACE... acl) {
    super(parent, SWT.NONE);
    acls = new Tree<ACE>(null, null);
    for (ACE s : acl) {
        Tree<ACE> mine = acls.find(s, true);
        if (mine == null) {
            Tree<ACE> parentTree = findParent(s);
            if (parentTree != null) {
                new Tree<ACE>(parentTree, s);
            } else {
                log.error("Could not find parent ACE " + s.getName());
            }//www .ja v a2  s . co  m
        }
    }

    setLayout(new GridLayout());
    setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv = new TreeViewer(this);
    tv.setContentProvider(new ITreeContentProvider() {

        public Object[] getChildren(Object parentElement) {
            Tree tree = (Tree) parentElement;
            return tree.getChildren().toArray();
        }

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

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

        public Object[] getElements(Object inputElement) {
            return acls.getChildren().toArray();
        }

        public void dispose() {
            // TODO Auto-generated method stub

        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

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

        @Override
        public String getText(Object element) {
            return (String) ((Tree<ACE>) element).contents.getLocalizedName();
        }

    });
    tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    Composite cBottom = new Composite(this, SWT.NONE);
    cBottom.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    cBottom.setLayout(new GridLayout(2, true));
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLES_DEFAULT);
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLE_USERS);
    lbGroups = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lbGroups.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lUsers = Hub.getUserList();
    for (Anwender an : lUsers) {
        lbUsers.add(an.getLabel());
    }
    //      List<String> lGroups = CoreHub.acl.getGroups();
    //      for (String s : lGroups) {
    //         lbGroups.add(s);
    //      }
    tv.addSelectionChangedListener(new ISelectionChangedListener() {

        /**
         * if the user selects an ACL from the TreeViewer, we want to select users and groups
         * that are granted this acl in the lbGroups and lbUsers ListBoxes
         */
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            lbGroups.deselectAll();
            lbUsers.deselectAll();
            //            if (!sel.isEmpty()) {
            //               Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
            //               ACE right = acl.contents;
            //               List<String> grps = CoreHub.acl.groupsForGrant(right);
            //               List<Anwender> users = CoreHub.acl.usersForGrant(right);
            //               for (String g : grps) {
            //                  int idx = StringTool.getIndex(lbGroups.getItems(), g);
            //                  if (idx != -1) {
            //                     lbGroups.select(idx);
            //                  }
            //               }
            //               for (Anwender an : users) {
            //                  int idx = StringTool.getIndex(lbUsers.getItems(), an.getLabel());
            //                  if (idx != -1) {
            //                     lbUsers.select(idx);
            //                  }
            //               }
            //            }

        }

    });
    lbGroups.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                String[] gsel = lbGroups.getSelection();
                for (String g : lbGroups.getItems()) {
                    //                  CoreHub.acl.revoke(g, right);
                }
                for (String g : gsel) {
                    CoreHub.acl.grant(g, right);
                }
            }
        }

    });
    lbUsers.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                int[] uSel = lbUsers.getSelectionIndices();
                for (Anwender an : lUsers) {
                    //                  CoreHub.acl.revoke(an, right);
                }
                for (int i : uSel) {
                    //                  CoreHub.acl.grant(lUsers.get(i), right);
                }
            }
        }
    });
    tv.setSorter(new ViewerSorter() {

        @SuppressWarnings("unchecked")
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            Tree<ACE> t1 = (Tree<ACE>) e1;
            Tree<ACE> t2 = (Tree<ACE>) e2;
            return t1.contents.getLocalizedName().compareToIgnoreCase(t2.contents.getLocalizedName());
        }

    });
    tv.setInput(this);

}

From source file:ch.elexis.core.ui.views.textsystem.PlatzhalterView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    Text txtInfo = new Text(composite, SWT.MULTI | SWT.READ_ONLY | SWT.BORDER | SWT.WRAP);
    txtInfo.setText(Messages.PlatzhalterView_message_Info);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(txtInfo);

    viewer = new TreeViewer(composite);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getTree());

    viewer.setLabelProvider(new PlatzhalterLabelProvider());
    viewer.setContentProvider(new PlatzhalterContentProvider());
    viewer.setInput(getTreeData());/*  www .ja va2  s.  c o  m*/
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    // Popup-Menu "Kopieren"
    MenuManager popupMenuManager = new MenuManager();
    Menu menu = popupMenuManager.createContextMenu(viewer.getTree());
    viewer.getTree().setMenu(menu);

    final Action copyAction = new Action(Messages.PlatzhalterView_menu_copy) {
        @Override
        public String getId() {
            return "copyId"; //$NON-NLS-1$
        }

        @Override
        public void run() {
            copyToClipboard();
        }
    };
    popupMenuManager.add(copyAction);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            copyAction.setEnabled(getSelectedKey() != null);
        }
    });

    // CTRL+C
    viewer.getTree().addKeyListener(new KeyAdapter() {
        private final static int C = 99;

        private boolean isActive(final int stateMask, final int keyCode) {
            boolean modifiersOk = true;
            if ((stateMask & SWT.CTRL) == 0) {
                modifiersOk = false;
            }
            return modifiersOk && keyCode == C;
        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (isActive(e.stateMask, e.keyCode)) {
                copyToClipboard();
            }
        }
    });

    // Doubleclick
    viewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            String key = getSelectedKey();
            if (key != null) {
                for (IViewReference viewRef : getViewSite().getPage().getViewReferences()) {
                    if (TextView.ID.equals(viewRef.getId())) {
                        TextView txtView = (TextView) viewRef.getPart(false);
                        if (txtView != null) {
                            txtView.getTextContainer().getPlugin().insertText((Object) null, key, SWT.LEFT);
                        }
                    }
                }
            }
        }
    });

    // Drag & Drop
    DragSource dragSource = new DragSource(viewer.getTree(), DND.DROP_COPY);
    dragSource.setTransfer(new Transfer[] { TextTransfer.getInstance() });
    dragSource.addDragListener(new DragSourceAdapter() {
        public void dragStart(DragSourceEvent event) {
            event.doit = getSelectedKey() != null;
        }

        public void dragSetData(DragSourceEvent event) {
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                String key = getSelectedKey();
                if (key != null) {
                    event.data = key;
                }
            }
        }
    });
}

From source file:ch.elexis.icpc.views.EpisodesDisplay.java

License:Open Source License

public EpisodesDisplay(final Composite parent) {
    super(parent, SWT.NONE);
    setLayout(new GridLayout());
    form = UiDesk.getToolkit().createScrolledForm(this);
    form.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    Composite body = form.getBody();
    body.setLayout(new GridLayout());
    tvEpisodes = new TreeViewer(body);
    tvEpisodes.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tvEpisodes.setLabelProvider(new EpisodesLabelProvider());
    tvEpisodes.setContentProvider(new EpisodecontentProvider());
    tvEpisodes.addSelectionChangedListener(GlobalEventDispatcher.getInstance().getDefaultListener());
    /* PersistentObjectDragSource pods= */new PersistentObjectDragSource(tvEpisodes);
    // lvEpisodes.addDragSupport(DND.DROP_COPY, new Transfer[]
    // {TextTransfer.getInstance()},
    // pods);//from w  ww .ja  va 2  s.com
    new PersistentObjectDropTarget(tvEpisodes.getControl(), new Receiver());
    setPatient(ElexisEventDispatcher.getSelectedPatient());
}

From source file:ch.elexis.omnivore.ui.views.OmnivoreView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *///from   w  w w .  ja  v a  2  s  . c om
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    // Title search field
    Label lSearchTitle = new Label(parent, SWT.NONE);
    lSearchTitle.setText(Messages.OmnivoreView_searchTitleLabel);
    lSearchTitle.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchTitle = new Text(parent, SWT.SINGLE);
    tSearchTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Keyword search field
    Label lSearchKW = new Label(parent, SWT.NONE);
    lSearchKW.setText(Messages.OmnivoreView_searchKeywordsLabel);
    lSearchKW.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchKW = new Text(parent, SWT.SINGLE);
    tSearchKW.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Add search listener
    ModifyListener searchListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            searchKW = tSearchKW.getText();
            searchTitle = tSearchTitle.getText();
            refresh();
        }
    };
    tSearchTitle.addModifyListener(searchListener);
    tSearchKW.addModifyListener(searchListener);

    // Table to display documents
    table = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    TreeColumn[] cols = new TreeColumn[colLabels.length];
    for (int i = 0; i < colLabels.length; i++) {
        cols[i] = new TreeColumn(table, SWT.NONE);
        cols[i].setText(colLabels[i]);
        cols[i].setData(new Integer(i));
    }
    applyUsersColumnWidthSetting();

    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));

    viewer = new TreeViewer(table);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setUseHashlookup(true);
    makeActions();

    ovComparator = new OmnivoreViewerComparator();
    viewer.setComparator(ovComparator);
    TreeColumn[] treeCols = viewer.getTree().getColumns();
    for (int i = 0; i < treeCols.length; i++) {
        TreeColumn tc = treeCols[i];
        tc.addSelectionListener(getSelectionAdapter(tc, i));
    }
    applySortDirection();

    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    final Transfer[] dropTransferTypes = new Transfer[] { FileTransfer.getInstance() };

    viewer.addDropSupport(DND.DROP_COPY, dropTransferTypes, new DropTargetAdapter() {

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

        @Override
        public void drop(DropTargetEvent event) {
            if (dropTransferTypes[0].isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                String category = null;
                if (event.item != null && event.item.getData() instanceof DocHandle) {
                    DocHandle dh = (DocHandle) event.item.getData();
                    category = dh.getCategory();
                }
                for (String file : files) {
                    final DocHandle handle = DocHandle.assimilate(file, category);
                    if (handle != null) {
                        AcquireLockBlockingUi.aquireAndRun(handle, new ILockHandler() {
                            @Override
                            public void lockFailed() {
                                handle.delete();
                            }

                            @Override
                            public void lockAcquired() {
                                // do nothing
                            }
                        });
                    }
                    viewer.refresh();
                }
            }
        }

    });

    final Transfer[] dragTransferTypes = new Transfer[] { FileTransfer.getInstance(),
            TextTransfer.getInstance() };
    viewer.addDragSupport(DND.DROP_COPY, dragTransferTypes, new DragSourceAdapter() {
        @Override
        public void dragStart(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();
            if (dh.isCategory()) {
                event.doit = false;
            }
        }

        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();
            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                String title = dh.getTitle();
                int end = dh.getTitle().lastIndexOf(".");
                if (end != -1) {
                    title = (dh.getTitle()).substring(0, end);
                }
                File file = dh.createTemporaryFile(title);
                event.data = new String[] { file.getAbsolutePath() };
            } else {
                StringBuilder sb = new StringBuilder();
                sb.append(((PersistentObject) dh).storeToString()).append(","); //$NON-NLS-1$
                event.data = sb.toString().replace(",$", ""); //$NON-NLS-1$ //$NON-NLS-2$
            }
        }
    });

    GlobalEventDispatcher.addActivationListener(this, this);
    eeli_user.catchElexisEvent(ElexisEvent.createUserEvent());
    viewer.setInput(getViewSite());

}

From source file:ch.elexis.omnivore.views.OmnivoreView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 *//* w w w.  j av a  2  s  .  c  om*/
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    // Title search field
    Label lSearchTitle = new Label(parent, SWT.NONE);
    lSearchTitle.setText(Messages.OmnivoreView_searchTitleLabel);
    lSearchTitle.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchTitle = new Text(parent, SWT.SINGLE);
    tSearchTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Keyword search field
    Label lSearchKW = new Label(parent, SWT.NONE);
    lSearchKW.setText(Messages.OmnivoreView_searchKeywordsLabel);
    lSearchKW.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    final Text tSearchKW = new Text(parent, SWT.SINGLE);
    tSearchKW.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    // Add search listener
    ModifyListener searchListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            searchKW = tSearchKW.getText();
            searchTitle = tSearchTitle.getText();
            refresh();
        }
    };
    tSearchTitle.addModifyListener(searchListener);
    tSearchKW.addModifyListener(searchListener);

    // Table to display documents
    table = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    SortListener sortListener = new SortListener();
    TreeColumn[] cols = new TreeColumn[colLabels.length];
    for (int i = 0; i < colLabels.length; i++) {
        cols[i] = new TreeColumn(table, SWT.NONE);
        cols[i].setWidth(colWidth[i]);
        cols[i].setText(colLabels[i]);
        cols[i].setData(new Integer(i));
        cols[i].addSelectionListener(sortListener);
    }
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));

    viewer = new TreeViewer(table);
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setSorter(new Sorter());
    viewer.setUseHashlookup(true);
    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    final Transfer[] transferTypes = new Transfer[] { FileTransfer.getInstance() };

    viewer.addDropSupport(DND.DROP_COPY, transferTypes, new DropTargetAdapter() {

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

        @Override
        public void drop(DropTargetEvent event) {
            if (transferTypes[0].isSupportedType(event.currentDataType)) {
                String[] files = (String[]) event.data;
                String category = null;
                if (event.item != null && event.item.getData() instanceof DocHandle) {
                    DocHandle dh = (DocHandle) event.item.getData();
                    category = dh.getCategory();
                }
                for (String file : files) {
                    DocHandle.assimilate(file, category);
                    viewer.refresh();
                }
            }
        }

    });

    viewer.addDragSupport(DND.DROP_COPY, transferTypes, new DragSourceAdapter() {
        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            DocHandle dh = (DocHandle) selection.getFirstElement();

            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                int end = dh.getTitle().lastIndexOf(".");
                String titel = (dh.getTitle()).substring(0, end);
                File file = dh.createTemporaryFile(titel);
                event.data = new String[] { file.getAbsolutePath() };
            }
        }
    });

    GlobalEventDispatcher.addActivationListener(this, this);
    eeli_user.catchElexisEvent(ElexisEvent.createUserEvent());
    viewer.setInput(getViewSite());

}

From source file:ch.elexis.preferences.inputs.ACLPreferenceTree.java

License:Open Source License

public ACLPreferenceTree(Composite parent, ACE... acl) {
    super(parent, SWT.NONE);
    acls = new Tree<ACE>(null, null);
    for (ACE s : acl) {
        Tree<ACE> mine = acls.find(s, true);
        if (mine == null) {
            Tree<ACE> parentTree = findParent(s);
            if (parentTree != null) {
                new Tree<ACE>(parentTree, s);
            } else {
                Hub.log.log("Could not find parent ACE " + s.getName(), Log.ERRORS);
            }//from w ww  .  ja v  a 2 s.c  o m
        }
    }

    setLayout(new GridLayout());
    setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv = new TreeViewer(this);
    tv.setContentProvider(new ITreeContentProvider() {

        public Object[] getChildren(Object parentElement) {
            Tree tree = (Tree) parentElement;
            return tree.getChildren().toArray();
        }

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

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

        public Object[] getElements(Object inputElement) {
            return acls.getChildren().toArray();
        }

        public void dispose() {
            // TODO Auto-generated method stub

        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

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

        @Override
        public String getText(Object element) {
            return (String) ((Tree<ACE>) element).contents.getLocalizedName();
        }

    });
    tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    Composite cBottom = new Composite(this, SWT.NONE);
    cBottom.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    cBottom.setLayout(new GridLayout(2, true));
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLES_DEFAULT);
    new Label(cBottom, SWT.NONE).setText(StringConstants.ROLE_USERS);
    lbGroups = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers = new org.eclipse.swt.widgets.List(cBottom, SWT.MULTI | SWT.V_SCROLL);
    lbUsers.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lbGroups.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    lUsers = Hub.getUserList();
    for (Anwender an : lUsers) {
        lbUsers.add(an.getLabel());
    }
    List<String> lGroups = Hub.acl.getGroups();
    for (String s : lGroups) {
        lbGroups.add(s);
    }
    tv.addSelectionChangedListener(new ISelectionChangedListener() {

        /**
         * if the user selects an ACL from the TreeViewer, we want to select users and groups
         * that are granted this acl in the lbGroups and lbUsers ListBoxes
         */
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            lbGroups.deselectAll();
            lbUsers.deselectAll();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                List<String> grps = Hub.acl.groupsForGrant(right);
                List<Anwender> users = Hub.acl.usersForGrant(right);
                for (String g : grps) {
                    int idx = StringTool.getIndex(lbGroups.getItems(), g);
                    if (idx != -1) {
                        lbGroups.select(idx);
                    }
                }
                for (Anwender an : users) {
                    int idx = StringTool.getIndex(lbUsers.getItems(), an.getLabel());
                    if (idx != -1) {
                        lbUsers.select(idx);
                    }
                }
            }

        }

    });
    lbGroups.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                String[] gsel = lbGroups.getSelection();
                for (String g : lbGroups.getItems()) {
                    Hub.acl.revoke(g, right);
                }
                for (String g : gsel) {
                    Hub.acl.grant(g, right);
                }
            }
        }

    });
    lbUsers.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent arg0) {
            IStructuredSelection sel = (IStructuredSelection) tv.getSelection();
            if (!sel.isEmpty()) {
                Tree<ACE> acl = (Tree<ACE>) sel.getFirstElement();
                ACE right = acl.contents;
                int[] uSel = lbUsers.getSelectionIndices();
                for (Anwender an : lUsers) {
                    Hub.acl.revoke(an, right);
                }
                for (int i : uSel) {
                    Hub.acl.grant(lUsers.get(i), right);
                }
            }
        }
    });
    tv.setSorter(new ViewerSorter() {

        @SuppressWarnings("unchecked")
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            Tree<ACE> t1 = (Tree<ACE>) e1;
            Tree<ACE> t2 = (Tree<ACE>) e2;
            return t1.contents.getLocalizedName().compareToIgnoreCase(t2.contents.getLocalizedName());
        }

    });
    tv.setInput(this);

}

From source file:ch.hsr.ifs.cdt.metriculator.views.MetriculatorView.java

License:Open Source License

private void createTreeComponents() {
    treeComposite = new Composite(parentComposite, parentComposite.getStyle());
    treeComposite.setLayout(new FillLayout());

    Tree treeObject = new Tree(treeComposite,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.VIRTUAL);
    treeObject.setHeaderVisible(true);/*from   w ww .j  a v  a2s  .c  o m*/
    treeObject.setLinesVisible(true);

    viewerFilter = new NodeViewerFilter();
    treeViewer = new TreeViewer(treeObject);
    treeViewer.addFilter(viewerFilter);
    treeViewer.setUseHashlookup(true);
    treeViewer.setContentProvider(new TreeContentProvider());
    treeViewer.setLabelProvider(new MetriculatorCellLabelProvider());

    ColumnViewerToolTipSupport.enableFor(treeViewer, ToolTip.NO_RECREATE);
    addViewerOpenListener(treeViewer);
    createTreeHeaderMenu();
    createTreeLabelColumn();
    createAndUpdateMetricTreeColumns();
}

From source file:co.turnus.ui.editor.ProfilingWeightsEditor.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    tree = new Tree(parent, SWT.FILL);
    tree.setHeaderVisible(true);//from  ww  w .  j  a va 2s .co m
    tree.setLinesVisible(true);

    viewer = new TreeViewer(tree);
    comparator = new ContentComparator();
    viewer.setComparator(comparator);

    // Actor, Action
    TreeColumn column = new TreeColumn(tree, SWT.LEFT);
    column.setText(columnNames[T_ACTOR_ACTION]);
    column.setWidth(200);
    column.addSelectionListener(getSelectionAdapter(column, T_ACTOR_ACTION));

    // Clock Cycles
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText(columnNames[T_CLOCKCYCLES_MEAN]);
    column.setWidth(100);
    column.addSelectionListener(getSelectionAdapter(column, T_CLOCKCYCLES_MEAN));
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText(columnNames[T_CLOCKCYCLES_MIN]);
    column.setWidth(100);
    column.addSelectionListener(getSelectionAdapter(column, T_CLOCKCYCLES_MIN));
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText(columnNames[T_CLOCKCYCLES_MAX]);
    column.setWidth(100);
    column.addSelectionListener(getSelectionAdapter(column, T_CLOCKCYCLES_MAX));

    // Workload
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText(columnNames[T_WORKLOAD]);
    column.setWidth(200);
    column.addSelectionListener(getSelectionAdapter(column, T_WORKLOAD));

    viewer.setContentProvider(new ContentProvider());
    viewer.setLabelProvider(new TreeLabelProvider());
    viewer.setInput(document);
}

From source file:com.android.ddmuilib.DevicePanel.java

License:Apache License

@Override
protected Control createControl(Composite parent) {
    loadImages(parent.getDisplay());/* w  w w  . j a va  2s  .  com*/

    parent.setLayout(new FillLayout());

    // create the tree and its column
    mTree = new Tree(parent, SWT.SINGLE | SWT.FULL_SELECTION);
    mTree.setHeaderVisible(true);
    mTree.setLinesVisible(true);

    IPreferenceStore store = DdmUiPreferences.getStore();

    TableHelper.createTreeColumn(mTree, "Name", SWT.LEFT, "com.android.home", //$NON-NLS-2$
            PREFS_COL_NAME_SERIAL, store);
    TableHelper.createTreeColumn(mTree, "", SWT.LEFT, //$NON-NLS-1$
            "Offline", //$NON-NLS-1$
            PREFS_COL_PID_STATE, store);

    TreeColumn col = new TreeColumn(mTree, SWT.NONE);
    col.setWidth(ICON_WIDTH + 8);
    col.setResizable(false);
    col = new TreeColumn(mTree, SWT.NONE);
    col.setWidth(ICON_WIDTH + 8);
    col.setResizable(false);

    TableHelper.createTreeColumn(mTree, "", SWT.LEFT, //$NON-NLS-1$
            "9999-9999", //$NON-NLS-1$
            PREFS_COL_PORT_BUILD, store);

    // create the tree viewer
    mTreeViewer = new TreeViewer(mTree);

    // make the device auto expanded.
    mTreeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    // set up the content and label providers.
    mTreeViewer.setContentProvider(new ContentProvider());
    mTreeViewer.setLabelProvider(new LabelProvider());

    mTree.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            notifyListeners();
        }
    });

    return mTree;
}