List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Tree tree)
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; }