List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. 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 w w .j a va2 s . c o m*/ 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.PrologOutlineInformationControl.java
License:Open Source License
/** * {@inheritDoc}/*w ww. j a va 2 s.c o m*/ */ @Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight() * 12; tree.setLayoutData(gd); final TreeViewer treeViewer = new OutlineTreeViewer(tree); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { gotoSelectedElement(); } }); // Hard-coded filters treeViewer.addFilter(new NamePatternFilter(this, this.getMatcher())); fInnerLabelProvider = new OutlineLabelProvider(); treeViewer.setLabelProvider(fInnerLabelProvider); fLexicalSortingAction = new LexicalSortingAction(/*this,*/ treeViewer); fOutlineContentProvider = new OutlineContentProvider(); treeViewer.setContentProvider(fOutlineContentProvider); fOutlineSorter = new ViewerComparator(); treeViewer.setComparator(fOutlineSorter); treeViewer.setAutoExpandLevel(2); return treeViewer; }
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/*from w ww . j av a2 s. co m*/ 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.alarm.beast.ui.alarmtree.Snippet047VirtualLazyTreeViewer.java
License:Open Source License
public Snippet047VirtualLazyTreeViewer(Shell shell) { // THIS IS THE KEY POINT: // With SWT.MULTI expanding tree items is slow as snot // (at least on Windows, Eclipse 3.6.2) // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=259141 // The original snippet without SWT.MULTI is fine. final TreeViewer v = new TreeViewer(shell, SWT.VIRTUAL | SWT.BORDER | SWT.MULTI); v.setLabelProvider(new LabelProvider()); v.setContentProvider(new MyContentProvider(v)); v.setUseHashlookup(true);//from www . jav a 2s.c o m IntermediateNode[] model = createModel(); v.setInput(model); v.getTree().setItemCount(model.length); }
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() { /**// w w w . ja v a 2s . 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 createPvProviderTree(final Composite parent) { final TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new BaseWorkbenchContentProvider() { /**/*from w w w . j a va 2s. c om*/ * {@inheritDoc} */ @Override public Object[] getElements(final Object element) { return (Object[]) element; } }); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setInput(_samplePvAdresses); getViewSite().setSelectionProvider(tv); // add drag support ProcessVariableExchangeUtil.addProcessVariableAdressDragSupport(tv.getTree(), DND.DROP_MOVE | DND.DROP_COPY, new IProcessVariableAdressProvider() { @Override public IProcessVariableAddress getPVAdress() { final List<IProcessVariableAddress> l = getProcessVariableAdresses(); if (l.size() > 0) { return l.get(0); } return null; } @Override public List<IProcessVariableAddress> getProcessVariableAdresses() { final IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); final List<IProcessVariableAddress> list = sel.toList(); return list; } }); // 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() { /**//www. j a v a 2s . co 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.dal.ui.internal.dnd.ChooseControlSystemPrefixDialog.java
License:Open Source License
@Override protected Control createCustomArea(Composite parent) { TreeViewer tv = new TreeViewer(parent); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setContentProvider(new BaseWorkbenchContentProvider() { @Override// www . java2 s .c o m public Object[] getElements(Object element) { return (Object[]) element; } }); tv.setInput(ControlSystemEnum.valuesShown()); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection sel = (IStructuredSelection) event.getSelection(); if (sel != null && sel.getFirstElement() != null) { _selectedControlSystem = (ControlSystemEnum) sel.getFirstElement(); } } }); tv.setSelection( new StructuredSelection(ProcessVariableAdressFactory.getInstance().getDefaultControlSystem())); final Button dontAskAgainButton = new Button(parent, SWT.CHECK); dontAskAgainButton.setText("Dont ask again!"); dontAskAgainButton.setSelection(!ProcessVariableAdressFactory.getInstance().askForControlSystem()); dontAskAgainButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { _dontAskAgain = dontAskAgainButton.getSelection(); } }); Label l = new Label(parent, SWT.NONE); l.setText( "Note: You can change the default setting on the | > CSS Core > Control System | preference page."); return parent; }
From source file:org.csstudio.opibuilder.validation.core.Validator.java
License:Open Source License
private static void updateProblemsView(IWorkbenchPage page) { try {/*from www .ja v a 2s. c om*/ ProblemsView v = (ProblemsView) page.showView("org.eclipse.ui.views.ProblemView"); Field f = ExtendedMarkersView.class.getDeclaredField("viewer"); f.setAccessible(true); TreeViewer viewer = (TreeViewer) f.get(v); ITreeContentProvider provider = (ITreeContentProvider) viewer.getContentProvider(); if (!(provider instanceof ContentProvider)) { viewer.setContentProvider(new ContentProvider(provider)); Listener[] exp = viewer.getTree().getListeners(SWT.Expand); Listener[] col = viewer.getTree().getListeners(SWT.Collapse); for (int i = 0; i < exp.length; i++) { if (exp[i] instanceof TypedListener) { SWTEventListener l = ((TypedListener) exp[i]).getEventListener(); if (l.getClass().getName().contains("ExtendedMarkersView")) { viewer.getTree().removeListener(SWT.Expand, exp[i]); viewer.getTree().addListener(SWT.Expand, new TypedListener(new TreeViewerListener((TreeListener) l))); } } } for (int i = 0; i < col.length; i++) { if (col[i] instanceof TypedListener) { SWTEventListener l = ((TypedListener) col[i]).getEventListener(); if (l.getClass().getName().contains("ExtendedMarkersView")) { viewer.getTree().removeListener(SWT.Collapse, col[i]); viewer.getTree().addListener(SWT.Collapse, new TypedListener(new TreeViewerListener((TreeListener) l))); } } } } } catch (IllegalAccessException | NoSuchFieldException | RuntimeException | PartInitException e) { // ignore // cannot update view, we will use the original one } }
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 a v a 2 s . c o 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; }