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

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

Introduction

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

Prototype

ITreeContentProvider

Source Link

Usage

From source file:ca.uvic.chisel.javasketch.ui.internal.wizards.ExportTraceWizardPage1.java

License:Open Source License

/**
 * @param page//from w w  w.  j ava 2s  .c  om
 * @return
 */
private Control createTraceArea(Composite page) {
    Group traceGroup = new Group(page, SWT.NONE);
    traceGroup.setLayout(new GridLayout());
    traceGroup.setText("Threads To Export");
    threadViewer = new CheckboxTreeViewer(traceGroup);
    threadViewer.setContentProvider(new ITreeContentProvider() {

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

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        @Override
        public boolean hasChildren(Object element) {
            return (element instanceof ExportTraceWizardPage1 || element instanceof ITrace);
        }

        @Override
        public Object getParent(Object element) {
            if (element instanceof ITrace) {
                return ExportTraceWizardPage1.this;
            } else if (element instanceof IThread) {
                return ((IThread) element).getTrace();
            }
            return null;
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof ExportTraceWizardPage1) {
                IProgramSketch[] sketches = SketchPlugin.getDefault().getStoredSketches();
                ITrace[] traces = new ITrace[sketches.length];
                for (int i = 0; i < sketches.length; i++) {
                    traces[i] = sketches[i].getTraceData();
                }
                return traces;
            } else if (parentElement instanceof ITrace) {
                return ((ITrace) parentElement).getThreads().toArray();
            }
            return new Object[0];
        }
    });
    threadViewer.setLabelProvider(new WorkbenchLabelProvider());
    threadViewer.setInput(this);
    threadViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            boolean checked = event.getChecked();
            ITraceModel element = (ITraceModel) event.getElement();
            updateCheckedState(checked, element);

        }

    });
    threadViewer.setSorter(new ViewerSorter() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            TreeViewer tv = (TreeViewer) viewer;
            String s1 = ((ILabelProvider) tv.getLabelProvider()).getText(e1);
            String s2 = ((ILabelProvider) tv.getLabelProvider()).getText(e2);
            return s1.compareTo(s2);
        }
    });
    threadViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    //set the trace
    ITrace trace = ((ExportTraceWizard) getWizard()).getTrace();
    if (trace == null) {
        String traceID = getDialogSettings().get("trace");
        //try to get it from saved information
        String[] threads = getDialogSettings().getArray("threads");
        if (traceID != null) {
            IProgramSketch sketch = SketchPlugin.getDefault().getSketch(traceID);
            if (sketch != null) {
                trace = sketch.getTraceData();
                if (trace != null) {
                    this.trace = trace;
                    if (threads != null && threads.length > 0) {
                        for (int i = 0; i < threads.length; i++) {
                            ITraceModelProxy proxy = trace.getElement(threads[i]);
                            ITraceModel element = proxy.getElement();
                            if (element != null) {
                                threadViewer.setChecked(element, true);
                                updateCheckedState(true, element);
                            }
                        }

                    } else {
                        threadViewer.setChecked(trace, true);
                        updateCheckedState(true, trace);
                    }
                }
            }

        }
    } else {
        this.trace = trace;
        threadViewer.setChecked(trace, true);
        updateCheckedState(true, trace);
    }
    return traceGroup;
}

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

License:Open Source License

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

    new Label(main, SWT.NONE);

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

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

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

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

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

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

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

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

        public void dispose() {
        }

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

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

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

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

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

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

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

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

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

    return main;
}

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

License:Open Source License

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

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

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

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

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

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

        public void dispose() {
        }

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

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

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

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

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

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

From source file:ccw.editors.outline.ClojureOutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);
    treeViewer = getTreeViewer();//from w w w  . ja  va  2s  . co m
    treeViewer.setContentProvider(new ITreeContentProvider() {

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

        }

        public void dispose() {

        }

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

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

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

        public Object[] getChildren(Object arg0) {
            // TODO: handle children? Granularity, Bindings?
            return null;
        }
    });
    treeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(new OutlineLabelProvider()));
    treeViewer.addSelectionChangedListener(this);
    treeViewer.setInput(forms);
    treeSelectionChangedListener = new TreeSelectionChangedListener();
    treeViewer.addSelectionChangedListener(treeSelectionChangedListener);

    IPostSelectionProvider selectionProvider = (IPostSelectionProvider) editor.getSelectionProvider();
    editorSelectionChangedListener = new EditorSelectionChangedListener(treeViewer);
    selectionProvider.addPostSelectionChangedListener(editorSelectionChangedListener);
    ISelection selection = selectionProvider.getSelection();
    selectInOutline(selection);

    registerToolbarActions();
}

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());
            }//from   w ww. ja  v  a2  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 = 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.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   w w  w  .  j  a  v a2s  . c o m
                    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.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);
            }/*  w  w  w. j  a v  a  2s . 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:com.alibaba.antx.config.gui.MainWindow.java

License:Open Source License

/**
 * Create contents of the application window
 * /*from   ww  w  .  j  a v a2s .  c o  m*/
 * @param parent
 */
protected Control createContents(Composite parent) {
    SashForm sashForm = new SashForm(parent, SWT.HORIZONTAL);
    Composite leftPane = new Composite(sashForm, SWT.BORDER);
    Composite rightPane = new Composite(sashForm, SWT.BORDER);

    leftPane.setLayout(new GridLayout());
    rightPane.setLayout(new GridLayout());

    TreeViewer entriesViewer = new TreeViewer(leftPane, SWT.BORDER);

    entriesViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    entriesViewer.setContentProvider(new ITreeContentProvider() {
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof List) {
                List entriesList = (List) parentElement;
                return (ConfigEntry[]) entriesList.toArray(new ConfigEntry[entriesList.size()]);
            }

            return null;
        }

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

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

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                List entriesList = (List) inputElement;
                return (ConfigEntry[]) entriesList.toArray(new ConfigEntry[entriesList.size()]);
            }

            return null;
        }

        public void dispose() {
        }

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

    gui.scan();
    entriesViewer.setInput(gui.getEntries());

    return sashForm;
}

From source file:com.amalto.workbench.editors.MenuMainPage.java

License:Open Source License

@Override
protected void createCharacteristicsContent(FormToolkit toolkit, Composite mainComposite) {

    try {/*from  w  ww.j a v  a 2 s  .c  o m*/
        // description
        Label descriptionLabel = toolkit.createLabel(mainComposite, Messages.MenuMainPage_Description,
                SWT.NULL);
        descriptionLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true, 1, 1));
        descriptionText = toolkit.createText(mainComposite, "", SWT.BORDER);//$NON-NLS-1$
        descriptionText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
        ((GridData) descriptionText.getLayoutData()).minimumHeight = 30;
        descriptionText.addModifyListener(new ModifyListener() {

            public void modifyText(ModifyEvent e) {
                if (refreshing) {
                    return;
                }

                markDirtyWithoutCommit();
            }
        });
        // Util.createCompDropTarget(descriptionText);
        // make the Page window a DropTarget - we need to dispose it
        windowTarget = new DropTarget(this.getPartControl(), DND.DROP_MOVE);
        windowTarget.setTransfer(new Transfer[] { TextTransfer.getInstance() });
        windowTarget.addDropListener(new DCDropTargetListener());

        Composite composite = toolkit.createComposite(mainComposite, SWT.BORDER);
        composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
        composite.setLayout(new GridLayout(1, false));

        menuTree = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
        menuTree.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
        ((GridData) menuTree.getControl().getLayoutData()).heightHint = 150;

        menuTree.setContentProvider(new ITreeContentProvider() {

            public void dispose() {
            }

            public Object[] getChildren(Object parentElement) {
                if (parentElement instanceof TreeEntry) {
                    WSMenuEntry wsEntry = ((TreeEntry) parentElement).getWSMenuEntry();
                    if (wsEntry.getSubMenus() != null) {
                        TreeEntry[] children = new TreeEntry[wsEntry.getSubMenus().size()];
                        for (int i = 0; i < wsEntry.getSubMenus().size(); i++) {
                            children[i] = new TreeEntry((TreeEntry) parentElement,
                                    wsEntry.getSubMenus().get(i));
                        }
                        return children;
                    }
                    return null;
                }

                if (parentElement instanceof WSMenu) { // the root
                    java.util.List<WSMenuEntry> menuEntries = ((WSMenu) parentElement).getMenuEntries();
                    if (menuEntries != null) {
                        TreeEntry[] children = new TreeEntry[menuEntries.size()];
                        for (int i = 0; i < menuEntries.size(); i++) {
                            children[i] = new TreeEntry(null, menuEntries.get(i));
                        }
                        return children;
                    }
                    return null;
                }

                return null; // ??!!?
            }

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

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

            public boolean hasChildren(Object element) {
                return ((getChildren(element) == null) || (getChildren(element).length > 0));
            }

            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            }
        });
        menuTree.setLabelProvider(new LabelProvider() {

            @Override
            public String getText(Object element) {
                WSMenuEntry wsMenuEntry = ((TreeEntry) element).getWSMenuEntry();
                StringBuffer label = new StringBuffer(wsMenuEntry.getId() + " - ");//$NON-NLS-1$

                for (WSMenuMenuEntriesDescriptions description : wsMenuEntry.getDescriptions()) {
                    label.append("[").append(description.getLanguage()).append(": ")//$NON-NLS-1$//$NON-NLS-2$
                            .append(description.getLabel()).append("] ");//$NON-NLS-1$
                }
                if (label.length() > 200) {
                    return label.substring(0, 197) + "..."; //$NON-NLS-1$
                }
                return label.toString();
            }

            @Override
            public Image getImage(Object element) {
                return ImageCache.getCreatedImage(EImage.MENU.getPath());
            }
        });

        menuTreeMgr = new MenuManager();
        menuTreeMgr.setRemoveAllWhenShown(true);
        menuTreeMgr.addMenuListener(new IMenuListener() {

            public void menuAboutToShow(IMenuManager manager) {
                IStructuredSelection selection = ((IStructuredSelection) menuTree.getSelection());
                if ((selection == null) || (selection.getFirstElement() == null)) {
                    manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
                    return;
                }
                // TreeEntry entry = (TreeEntry)selection.getFirstElement();
                menuTreeMgr.add(new TreeEntryEditAction(menuTree));
                menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_BEFORE));
                menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_AFTER));
                menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_UNDER));
                menuTreeMgr.add(new TreeEntryDeleteAction(menuTree));
                menuTreeMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
            }
        });
        menuTree.addDoubleClickListener(new IDoubleClickListener() {

            public void doubleClick(DoubleClickEvent event) {
                (new TreeEntryEditAction(menuTree)).run();
            }
        });
        Menu menu = menuTreeMgr.createContextMenu(menuTree.getControl());
        menuTree.getControl().setMenu(menu);
        getSite().registerContextMenu(menuTreeMgr, menuTree);

        refreshData();

    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }

}

From source file:com.amazonaws.eclipse.elasticbeanstalk.server.ui.configEditor.EventLogEditorSection.java

License:Open Source License

private void createEventsTable(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    TreeColumnLayout treeColumnLayout = new TreeColumnLayout();
    composite.setLayout(treeColumnLayout);

    int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI;
    viewer = new TreeViewer(composite, style);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setHeaderVisible(true);
    addContextMenu();/*w  ww  .  j a  v a 2 s  .  com*/

    newColumn("Message", 75);
    newColumn("Version", 10);
    newColumn("Date", 15);

    viewer.setContentProvider(new ITreeContentProvider() {
        private List<EventDescription> events;

        @SuppressWarnings("unchecked")
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            if (newInput == null)
                events = new ArrayList<EventDescription>();
            else
                events = (List<EventDescription>) newInput;
        }

        public void dispose() {
        }

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

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

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

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

    viewer.setLabelProvider(new ITableLabelProvider() {

        public void removeListener(ILabelProviderListener listener) {
        }

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

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public String getColumnText(Object element, int columnIndex) {
            EventDescription event = (EventDescription) element;
            switch (columnIndex) {
            case 0:
                return event.getMessage();
            case 1:
                return event.getVersionLabel();
            case 2:
                return event.getEventDate().toString();

            default:
                return "";
            }
        }

        public Image getColumnImage(Object element, int columnIndex) {
            if (element == null)
                return null;
            if (columnIndex != 0)
                return null;

            EventSeverity eventSeverity = null;
            try {
                EventDescription event = (EventDescription) element;
                eventSeverity = EventSeverity.fromValue(event.getSeverity());
            } catch (IllegalArgumentException e) {
                return null;
            }

            switch (eventSeverity) {
            case ERROR:
            case FATAL:
                return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
            case WARN:
                return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
            case INFO:
            case DEBUG:
            case TRACE:
                return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK);
            }

            return null;
        }
    });
}