List of usage examples for org.eclipse.jface.viewers TreeViewer getControl
@Override
public Control getControl()
From source file:org.cs3.pdt.editor.internal.views.lightweightOutline.NonNaturePrologOutline.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); contentProvider = new OutlineContentProvider(); viewer.setContentProvider(contentProvider); labelProvider = new OutlineLabelProvider(); // labelProvider = new DecoratingLabelProvider(new OutlineLabelProvider(), // PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()); viewer.setLabelProvider(labelProvider); // viewer.addSelectionChangedListener(this); viewer.addDoubleClickListener(this); viewer.getControl().addListener(SWT.Show, new Listener() { @Override/*from w ww . ja v a2 s . c om*/ public void handleEvent(Event event) { getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { setInput(null); } }); } }); model = new PrologSourceFileModel(new HashMap<String, OutlineModuleElement>()); viewer.setInput(model); viewer.setAutoExpandLevel(EXPANDING_LEVEL); IActionBars actionBars = getSite().getActionBars(); IToolBarManager toolBarManager = actionBars.getToolBarManager(); // Action action = new LexicalSortingAction(viewer); // toolBarManager.add(action); Action action = new ToggleSortAction(getTreeViewer()); toolBarManager.add(action); ToggleFilterAction action2 = new ToggleFilterAction("Hide private predicates", ImageRepository.getImageDescriptor(ImageRepository.PE_PROTECTED), ImageRepository.getImageDescriptor(ImageRepository.FILTER_PRIVATE), viewer, new HidePrivatePredicatesFilter(), PDTPlugin.getDefault().getPreferenceStore(), PDT.PREF_OUTLINE_FILTER_PRIVATE); toolBarManager.add(action2); ToggleFilterAction action3 = new ToggleFilterAction("Hide system predicates", ImageRepository.getImageDescriptor(ImageRepository.NO_FILTER_SYSTEM), ImageRepository.getImageDescriptor(ImageRepository.FILTER_SYSTEM), viewer, new HideSystemPredicatesFilter(), PDTPlugin.getDefault().getPreferenceStore(), PDT.PREF_OUTLINE_FILTER_SYSTEM); toolBarManager.add(action3); // action = new FilterActionMenu(this); // toolBarManager.add(action); hookContextMenu(parent); setInput(editor.getEditorInput()); PDTConnectorPlugin.getDefault().getPrologProcessService().registerConsultListener(this); PDTConnectorPlugin.getDefault().getPrologProcessService().registerActivePrologProcessListener(this); PDTCommonPlugin.getDefault().registerProcessStartListener(this); }
From source file:org.cs3.pdt.editor.internal.views.lightweightOutline.NonNaturePrologOutline.java
License:Open Source License
private void hookContextMenu(Composite parent) { MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override// w w w.j a v a2 s . co m public void menuAboutToShow(IMenuManager manager) { NonNaturePrologOutline.this.fillContextMenu(manager); } }); TreeViewer viewer = getTreeViewer(); getSite().registerContextMenu(MENU_ID, menuMgr, viewer); contextMenu = menuMgr.createContextMenu(parent); viewer.getControl().setMenu(contextMenu); }
From source file:org.cs3.pdt.internal.views.lightweightOutline.NonNaturePrologOutline.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); contentProvider = new OutlineContentProvider(); viewer.setContentProvider(contentProvider); labelProvider = new OutlineLabelProvider(); // labelProvider = new DecoratingLabelProvider(new OutlineLabelProvider(), // PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()); viewer.setLabelProvider(labelProvider); // viewer.addSelectionChangedListener(this); viewer.addDoubleClickListener(this); viewer.getControl().addListener(SWT.Show, new Listener() { @Override/*www . java 2 s .c om*/ public void handleEvent(Event event) { getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { setInput(null); } }); } }); model = new PrologSourceFileModel(new HashMap<String, OutlineModuleElement>()); viewer.setInput(model); viewer.setAutoExpandLevel(EXPANDING_LEVEL); IActionBars actionBars = getSite().getActionBars(); IToolBarManager toolBarManager = actionBars.getToolBarManager(); // Action action = new LexicalSortingAction(viewer); // toolBarManager.add(action); Action action = new ToggleSortAction(getTreeViewer()); toolBarManager.add(action); ToggleFilterAction action2 = new ToggleFilterAction("Hide private predicates", ImageRepository.getImageDescriptor(ImageRepository.PE_PROTECTED), ImageRepository.getImageDescriptor(ImageRepository.FILTER_PRIVATE), viewer, new HidePrivatePredicatesFilter(), PDTPlugin.getDefault().getPreferenceStore(), PDT.PREF_OUTLINE_FILTER_PRIVATE); toolBarManager.add(action2); ToggleFilterAction action3 = new ToggleFilterAction("Hide system predicates", ImageRepository.getImageDescriptor(ImageRepository.NO_FILTER_SYSTEM), ImageRepository.getImageDescriptor(ImageRepository.FILTER_SYSTEM), viewer, new HideSystemPredicatesFilter(), PDTPlugin.getDefault().getPreferenceStore(), PDT.PREF_OUTLINE_FILTER_SYSTEM); toolBarManager.add(action3); // action = new FilterActionMenu(this); // toolBarManager.add(action); hookContextMenu(parent); setInput(editor.getEditorInput()); PrologRuntimeUIPlugin.getDefault().getPrologInterfaceService().registerConsultListener(this); PrologRuntimeUIPlugin.getDefault().getPrologInterfaceService().registerActivePrologInterfaceListener(this); PDTCommonPlugin.getDefault().registerPifStartListener(this); }
From source file:org.csstudio.dal.ui.internal.developmentsupport.util.ContainerView.java
License:Open Source License
private void createPvConsumerTree(final Composite parent) { final TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new BaseWorkbenchContentProvider() { /**// www .ja va 2 s .c o m * {@inheritDoc} */ @Override public Object[] getElements(final Object element) { return ((List) element).toArray(); } }); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setInput(_modelForPvConsumer); getViewSite().setSelectionProvider(tv); // add drag support ProcessVariableExchangeUtil.addProcessVariableAddressDropSupport(tv.getControl(), DND.DROP_MOVE | DND.DROP_COPY, new IProcessVariableAdressReceiver() { @Override public void receive(final IProcessVariableAddress[] pvs, final DropTargetEvent event) { for (final IProcessVariableAddress pv : pvs) { _modelForPvConsumer.add(pv); } tv.refresh(); } }); // create context menu configureContextMenu(tv); }
From source file:org.csstudio.dal.ui.internal.developmentsupport.util.ContainerView.java
License:Open Source License
private void createTextProviderTree(final Composite parent) { final TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new BaseWorkbenchContentProvider() { /**// ww w .jav a2 s . c o m * {@inheritDoc} */ @Override public Object[] getElements(final Object element) { return (Object[]) element; } }); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setInput(_sampleStrings); getViewSite().setSelectionProvider(tv); // add drag support // FIXME: nur Text-Support anbieten // ProcessVariableExchangeUtil.addProcessVariableAdressDragSupport( // pvAdressesTv.getTree(), DND.DROP_MOVE | DND.DROP_COPY, this); final DragSource dragSource = new DragSource(tv.getControl(), DND.DROP_MOVE | DND.DROP_COPY); final Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; dragSource.setTransfer(types); dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragSetData(final DragSourceEvent event) { if (TextTransfer.getInstance().isSupportedType(event.dataType)) { final IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); final List<String> list = sel.toList(); final StringBuffer sb = new StringBuffer(); for (final String s : list) { sb.append(s); sb.append("\n"); //$NON-NLS-1$ } event.data = sb.toString(); } } }); // create context menu configureContextMenu(tv); }
From source file:org.csstudio.sds.ui.internal.dynamicswizard.SimpleChannelPage.java
License:Open Source License
/** * Creates a control, which contains a filtered list of rules. * * @param parent//from w w w.j ava 2 s.co m * the parent composite * @return the control */ private TreeViewer createRuleControl(final Composite parent) { final Group group = new Group(parent, SWT.NONE); group.setLayout(new GridLayout(2, false)); group.setText("Rules / Scripts"); group.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.CENTER) .hint(SWT.DEFAULT, 120).create()); final TreeViewer viewer = new TreeViewer(group, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.SCROLL_LINE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); _ruleDescriptionText = createDescriptionControl(group); viewer.setLabelProvider(new WorkbenchLabelProvider()); viewer.setContentProvider(new BaseWorkbenchContentProvider() { @SuppressWarnings("unchecked") @Override public Object[] getElements(final Object element) { return ((Collection<RuleDescriptor>) element).toArray(); } }); ColumnViewerToolTipSupport.enableFor(viewer); final List<RuleDescriptor> rules = RuleService.getInstance().getRegisteredRuleDescriptors(); Collections.sort(rules, new Comparator<RuleDescriptor>() { @Override public int compare(final RuleDescriptor r1, final RuleDescriptor r2) { return r1.getDescription().compareTo(r2.getDescription()); } }); viewer.setInput(rules); // setup a filter for the rules viewer.addFilter(new ViewerFilter() { @Override public boolean select(final Viewer viewer, final Object parentElement, final Object element) { final RuleDescriptor ruleDescriptor = (RuleDescriptor) element; final PropertyTypesEnum[] ruleReturnType = ruleDescriptor.getCompatiblePropertyTypes(); for (final PropertyTypesEnum type : ruleReturnType) { if (type.equals(_propertyType)) { return true; } } return false; } }); // Filter for Pattern set by User. viewer.addFilter(new ViewerFilter() { @Override public boolean select(final Viewer viewer, final Object parentElement, final Object element) { final RuleDescriptor ruleDescriptor = (RuleDescriptor) element; final String pattern = _rulePattern.getText(); if (pattern == null || pattern.length() < 1) { return true; } return ruleDescriptor.getDescription().toLowerCase().matches(pattern.replace("$", "\\$") .replace(".", "\\.").replace("*", ".*").replace("?", ".?").toLowerCase() + ".*"); } }); // listener to update rule list for new rule patterns set by user. _rulePattern.addKeyListener(new KeyListener() { @Override public void keyPressed(final KeyEvent e) { } @Override public void keyReleased(final KeyEvent e) { viewer.refresh(); } }); // add a selection listener that updates the channel table when the rule // changes viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { final IStructuredSelection sel = (IStructuredSelection) event.getSelection(); if (sel.getFirstElement() != null) { final RuleDescriptor descriptor = (RuleDescriptor) sel.getFirstElement(); _selectedRule = descriptor; String description = descriptor.getRule().getDescription(); if (description == null || description.isEmpty()) { description = "no description available"; } _ruleDescriptionText.setText(description); updateChannelTableModel(); } } }); return viewer; }
From source file:org.csstudio.sds.ui.internal.properties.view.PropertySheetViewer.java
License:Open Source License
/** * Creates a property sheet viewer on a newly-created tree control under the given parent. The * viewer has no input, and no root entry. * * @param parent//from ww w . ja v a 2s . c om * the parent control */ public PropertySheetViewer(final Composite parent) { _tree = new Tree(parent, SWT.FULL_SELECTION | SWT.SINGLE | SWT.HIDE_SELECTION); // configure the widget _tree.setLinesVisible(true); _tree.setHeaderVisible(true); // configure the columns addColumns(); // add our listeners to the widget hookControl(); // create a new tree editor _treeEditor = new TreeEditor(_tree); final TreeViewer viewer = new TreeViewer(_tree); ProcessVariableExchangeUtil.addProcessVariableAddressDropSupport(viewer.getControl(), DND.DROP_COPY | DND.DROP_NONE, new IProcessVariableAdressReceiver() { @Override public void receive(final IProcessVariableAddress[] pvs, final DropTargetEvent event) { if (event.item != null && event.item.getData() instanceof IPropertySheetEntry) { final IPropertySheetEntry entry = (IPropertySheetEntry) event.item.getData(); final DynamicsDescriptor[] descriptors = entry.getDynamicsDescriptors(); DynamicsDescriptor dynamicsDescriptor; if (descriptors == null || descriptors.length == 0 || descriptors[0] == null) { dynamicsDescriptor = new DynamicsDescriptor(); } else { dynamicsDescriptor = entry.getDynamicsDescriptors()[0].clone(); } for (final IProcessVariableAddress pv : pvs) { dynamicsDescriptor.addInputChannel(new ParameterDescriptor(pv.getFullName())); } final DynamicAspectsWizard wizard = entry.getDynamicsDescriptionConfigurationWizard(); if (wizard != null) { if (Window.OK == ModalWizardDialog.open(Display.getCurrent().getActiveShell(), wizard)) { entry.applyDynamicsDescriptor(wizard.getDynamicsDescriptor()); } } } } }); // create the entry and editor listener createEntryListener(); createEditorListener(); }
From source file:org.dawnsci.breadcrumb.navigation.views.StyledTreeBreadcrumbViewer.java
License:Open Source License
@Override protected void configureDropDownViewer(final TreeViewer viewer, Object input) { // We add a label to view the text seaches with this.searchLabel = new Label(viewer.getControl().getParent(), SWT.NONE); searchLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); GridUtils.setVisible(searchLabel, false); searchLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); viewer.setContentProvider(new TreeNodeContentProvider((TreeNode) input)); final IStyledTreeLabelProvider lprov = createBeadcrumbLabelProvider(); viewer.setLabelProvider(new DelegatingStyledCellLabelProvider(lprov)); viewer.setInput(input);/* w w w .ja va 2 s . c o m*/ viewer.addSelectionChangedListener(new ISelectionChangedListener() { boolean first = true; @Override public void selectionChanged(SelectionChangedEvent event) { if (!isOn) return; try { isOn = false; if (first) { first = false; return; } DefaultMutableTreeNode sel = (DefaultMutableTreeNode) ((StructuredSelection) event .getSelection()).getFirstElement(); StyledTreeBreadcrumbViewer.this.setInput(sel); StyledTreeBreadcrumbViewer.this.setSelection(new StructuredSelection(sel)); if (!viewer.getControl().isDisposed()) { if (!viewer.getControl().getShell().isDisposed()) { viewer.getControl().getShell().setVisible(false); } } boolean isBranch = isBranch(sel.getUserObject()); if (sel.getChildCount() > 0 && isBranch) { StyledTreeBreadcrumbViewer.this.showMenu(); } } finally { isOn = true; } } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { Object sel = ((StructuredSelection) viewer.getSelection()).getFirstElement(); StyledTreeBreadcrumbViewer.this.setInput(sel); StyledTreeBreadcrumbViewer.this.setSelection(new StructuredSelection(sel)); if (!viewer.getControl().isDisposed()) { if (!viewer.getControl().getShell().isDisposed()) { viewer.getControl().getShell().setVisible(false); } } } }); /** * This listener is rather complex. It gives filtering * by search key and pressing enter to make the breadcrumb * like a context proposing text field. */ viewer.getControl().addKeyListener(new KeyListener() { private Job textBufferJob; private StringBuffer textBuffer = new StringBuffer(); Job getJob() { if (textBufferJob != null) return textBufferJob; textBufferJob = new Job("Text Buffer") { public IStatus run(IProgressMonitor monitor) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; textBuffer.delete(0, textBuffer.length()); Display.getDefault().syncExec(new Runnable() { public void run() { if (searchLabel.isDisposed() || searchLabel.getParent().isDisposed()) return; GridUtils.setVisible(searchLabel, false); searchLabel.setText(""); searchLabel.getParent().layout(); if (!viewer.getControl().isDisposed()) { viewer.getControl().setFocus(); } } }); return Status.OK_STATUS; } }; textBufferJob.setPriority(Job.INTERACTIVE); textBufferJob.setSystem(true); return textBufferJob; } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent e) { if (e.character == '\r') { TreeNode child = (TreeNode) ((StructuredSelection) viewer.getSelection()).getFirstElement(); if (child != null) { setSelection(new StructuredSelection(child)); Display.getDefault().asyncExec(new Runnable() { public void run() { final Object node = ((StructuredSelection) getSelection()).getFirstElement(); if (isBranch(node)) showMenu(); } }); } return; } getJob().cancel(); try { if (!isOn) return; isOn = false; e.doit = false; switch (e.keyCode) { case SWT.HOME: case SWT.END: case SWT.PAGE_UP: case SWT.PAGE_DOWN: case SWT.ARROW_UP: case SWT.ARROW_DOWN: position(viewer, e.keyCode); return; } if (e.character == '\b') { if (textBuffer.length() > 0) textBuffer.deleteCharAt(textBuffer.length() - 1); } else { textBuffer.append(e.character); } TreeNode child = (TreeNode) ((StructuredSelection) viewer.getSelection()).getFirstElement(); TreeNode parent = child != null ? (TreeNode) child.getParent() : null; if (child == null && parent == null) return; Map<String, Object> uObs = getUserObjects(lprov, parent); for (String key : uObs.keySet()) { Object node = uObs.get(key); if (key.toLowerCase().contains(textBuffer.toString())) { viewer.setSelection(new StructuredSelection(node)); return; } } } finally { isOn = true; getJob().schedule(2000); if (searchLabel.isDisposed() || searchLabel.getParent().isDisposed()) return; GridUtils.setVisible(searchLabel, textBuffer.length() > 0); searchLabel.setText(textBuffer.toString()); searchLabel.getParent().layout(); } } }); }
From source file:org.drools.eclipse.editors.outline.RuleContentOutlinePage.java
License:Apache License
/** * Updates the outline page./* ww w. j a va2 s .c om*/ */ public void update() { TreeViewer viewer = getTreeViewer(); if (viewer != null) { Control control = viewer.getControl(); if (control != null && !control.isDisposed()) { initRules(); populatePackageTreeNode(); viewer.refresh(); control.setRedraw(false); viewer.expandToLevel(2); control.setRedraw(true); } } }
From source file:org.eclipse.acceleo.ui.interpreter.view.InterpreterView.java
License:Open Source License
/** * Creates the right-click menu that will be displayed for the variable viewer. * /*from w w w.j a va2s . c o m*/ * @param viewer * The variable viewer. */ private void createVariableMenu(TreeViewer viewer) { MenuManager menuManager = new MenuManager(MENU_ID); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(createVariableMenuListener(viewer)); Menu menu = menuManager.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); }