List of usage examples for org.eclipse.jface.viewers TreeViewerColumn TreeViewerColumn
public TreeViewerColumn(TreeViewer viewer, TreeColumn column)
From source file:com.bdaum.zoom.ui.internal.preferences.MetadataPreferencePage.java
License:Open Source License
private TreeViewer createTolerancesViewer(Composite comp) { ExpandCollapseGroup toleranceExpandCollapseGroup = new ExpandCollapseGroup(comp, SWT.NONE); final TreeViewer viewer = new TreeViewer(comp, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); toleranceExpandCollapseGroup.setViewer(viewer); viewer.getTree().setLinesVisible(true); TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE); col1.getColumn().setWidth(250);/*from w w w . ja v a2 s . c om*/ col1.setLabelProvider(new MetadataLabelProvider()); TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE); col2.getColumn().setWidth(80); final ToleranceLabelProvider labelProvider = new ToleranceLabelProvider(); col2.setLabelProvider(labelProvider); col2.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof QueryField) { QueryField qfield = (QueryField) element; String key = qfield.getKey(); String s = String.valueOf(value); float v; if (s.endsWith("%")) //$NON-NLS-1$ v = Integer.parseInt(s.substring(0, s.length() - 1).trim()); else try { af.setMaximumFractionDigits(8); v = -af.parse(s.trim()).floatValue(); if (qfield.getType() == QueryField.T_DATE) v = 1000 * v; } catch (ParseException e) { v = 0f; } toleranceMap.put(key, v); viewer.update(element, null); } } @Override protected Object getValue(Object element) { String text = labelProvider.getText(element); if (text.endsWith(SEC)) return text.substring(0, text.length() - SEC.length()); return text; } @Override protected CellEditor getCellEditor(Object element) { if (element instanceof QueryField) { final int type = ((QueryField) element).getType(); TextCellEditor editor = new TextCellEditor(viewer.getTree()); editor.setValidator(new ICellEditorValidator() { public String isValid(Object value) { String s = String.valueOf(value); if (s.endsWith("%")) { //$NON-NLS-1$ try { if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0) return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$ if (type == QueryField.T_DATE) return Messages .getString("MetadataPreferencePage.percent_not_allowed_for_date"); //$NON-NLS-1$ return null; } catch (NumberFormatException e) { return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$ } } if (type == QueryField.T_POSITIVEINTEGER || type == QueryField.T_INTEGER) { try { if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0) return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$ return null; } catch (NumberFormatException e) { return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$ } } else if (type == QueryField.T_POSITIVELONG || type == QueryField.T_LONG) { try { if (Long.parseLong(s.substring(0, s.length() - 1).trim()) < 0) return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$ return null; } catch (NumberFormatException e) { return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$ } } try { af.setMaximumFractionDigits(8); if (af.parse(s.trim()).floatValue() < 0) return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$ return null; } catch (ParseException e) { return Messages.getString("MetadataPreferencePage.bad_floating_point"); //$NON-NLS-1$ } } }); return editor; } return null; } @Override protected boolean canEdit(Object element) { if (element instanceof QueryField) return ((QueryField) element).getTolerance() != 0f; return false; } }); viewer.setContentProvider(new MetadataContentProvider()); viewer.setComparator(ZViewerComparator.INSTANCE); UiUtilities.installDoubleClickExpansion(viewer); viewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer aViewer, Object parentElement, Object element) { if (element instanceof QueryField) { QueryField qfield = (QueryField) element; return (qfield.hasChildren() || qfield.isUiField()) && hostsToleranceValue((QueryField) element); } return false; } private boolean hostsToleranceValue(QueryField qfield) { if (qfield.getTolerance() != 0f) return true; for (QueryField child : qfield.getChildren()) if (hostsToleranceValue(child)) return true; return false; } } }); return viewer; }
From source file:com.bdaum.zoom.ui.internal.views.AbstractPropertiesView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize it. *//* w w w.j a va 2 s . com*/ @SuppressWarnings("unused") @Override public void createPartControl(Composite parent) { computeFlags(); if (essentials == null) { essentials = new HashSet<QueryField>(100); computeEssentials(); } preferenceListener = new IPreferenceChangeListener() { public void preferenceChange(PreferenceChangeEvent event) { if (PreferenceConstants.ESSENTIALMETADATA.equals(event.getKey())) { computeEssentials(); refreshInternal(); } } }; InstanceScope.INSTANCE.getNode(UiActivator.PLUGIN_ID).addPreferenceChangeListener(preferenceListener); viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); int[] colWidth = getColumnWidths(); TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE); final Tree tree = viewer.getTree(); tree.setLinesVisible(true); tree.setHeaderVisible(true); final ViewEditingSupport editingSupport = new ViewEditingSupport(viewer); col1.getColumn().setWidth(colWidth[0]); col1.getColumn().setText(Messages.getString("AbstractPropertiesView.Name")); //$NON-NLS-1$ col1.setLabelProvider(new MetadataLabelProvider() { @Override public String getText(Object element) { return (editingSupport.canEdit(element)) ? Format.EDITABLEINDICATOR + super.getText(element) : super.getText(element); } }); TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE); col2.getColumn().setWidth(colWidth[1]); col2.getColumn().setText(Messages.getString("AbstractPropertiesView.Value")); //$NON-NLS-1$ col2.setLabelProvider(new ValueColumnLabelProvider()); col2.setEditingSupport(editingSupport); TreeViewerColumn col3 = new TreeViewerColumn(viewer, SWT.NONE); col3.getColumn().setWidth(colWidth[2]); col3.setLabelProvider(new ActionColumnLabelProvider()); viewer.setContentProvider(new MetadataContentProvider()); viewer.setComparator(ZViewerComparator.INSTANCE); viewer.setFilters(new ViewerFilter[] { new DetailsViewerFilter(), new ContentTypeViewerFilter() }); ZColumnViewerToolTipSupport.enableFor(viewer); viewer.setInput(getRootElement()); parent.getDisplay().asyncExec(() -> { if (!parent.isDisposed()) { if (expandedElements != null) { List<QueryField> elements = new ArrayList<QueryField>(); StringTokenizer st = new StringTokenizer(expandedElements); while (st.hasMoreTokens()) { QueryField qf1 = QueryField.findQueryField(st.nextToken()); if (qf1 != null) elements.add(qf1); } viewer.setExpandedElements(elements.toArray()); expandedElements = null; } else viewer.expandToLevel(getExpandLevel()); if (selectedElement != null) { QueryField qf2 = QueryField.findQueryField(selectedElement); if (qf2 != null) viewer.setSelection(new StructuredSelection(qf2), true); selectedElement = null; } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateActions(false); } }); UiUtilities.installDoubleClickExpansion(viewer); tree.addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { int col = -1; int x = e.x; for (int i = 0; i < 3; i++) { int w = tree.getColumn(i).getWidth(); if (x < w) { col = i; break; } x -= w; } if (col == 2) { TreeItem item = tree.getItem(new Point(e.x, e.y)); Object element = item.getData(); if (element instanceof QueryField) { QueryField qfield = (QueryField) element; if (qfield.getAction() != QueryField.ACTION_NONE) processAction(qfield, (e.stateMask & SWT.SHIFT) != 0); } else if (element instanceof TrackRecord) { String visit = ((TrackRecord) element).getVisit(); if (visit != null) showWebUrl(visit); } } } }); new ColumnLayoutManager(viewer, getColumnWidths(), getColumnMaxWidths()); addKeyListener(); addGestureListener(tree); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), HelpContextIds.METADATA_VIEW); makeActions(); installListeners(); hookContextMenu(); contributeToActionBars(); final QueryField.Visitor qfVisitor = new QueryField.Visitor() { @Override public void doVisitorWork(QueryField node) { viewer.refresh(node); } }; Core.getCore().addCatalogListener(new CatalogAdapter() { @Override public void assetsModified(BagChange<Asset> changes, final QueryField node) { for (Asset asset : getNavigationHistory().getSelectedAssets()) { if (changes == null || changes.hasChanged(asset)) { Shell shell = getSite().getShell(); if (shell != null && !shell.isDisposed()) shell.getDisplay().asyncExec(() -> { if (!tree.isDisposed()) { resetCaches(); if (node != null) viewer.expandToLevel(node, qfVisitor.visit(node)); else refresh(); } }); break; } } } }); updateActions(false); }
From source file:com.bluexml.side.Requirements.modeler.views.internal.TableView.java
License:Open Source License
/** * Create the columns in the tree./*from w w w. j a va 2 s . c o m*/ * * @param tree */ protected void createColumns(final Tree tree) { TableLayout layout = new TableLayout(); tree.setLayout(layout); tree.setHeaderVisible(true); final IField[] fields = getAllFields(); ColumnLayoutData[] columnWidths = getSavedColumnData(); for (int i = 0; i < fields.length; i++) { layout.addColumnData(columnWidths[i]); TreeColumn tc = new TreeColumn(tree, SWT.NONE, i); IField field = fields[i]; tc.setText(field.getColumnHeaderText()); tc.setImage(field.getColumnHeaderImage()); tc.setResizable(columnWidths[i].resizable); tc.setMoveable(true); tc.addSelectionListener(getHeaderListener()); tc.setData(field); TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, tc); viewerColumn.setLabelProvider(new MarkerViewLabelProvider(field)); } int[] order = restoreColumnOrder(memento); if (order != null && order.length == fields.length) { tree.setColumnOrder(order); } }
From source file:com.buildml.eclipse.actions.ActionsEditor.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { /* initiate functionality that's common to all editors */ super.createPartControl(parent); /* enable the "actionseditor" context, used for keyboard acceleration */ IContextService contextService = (IContextService) getSite().getService(IContextService.class); contextService.activateContext("com.buildml.eclipse.contexts.actionseditor"); /* create the main Tree control that the user will view/manipulate */ Tree actionEditorTree = new Tree(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION); actionEditorTree.setHeaderVisible(true); actionEditorTree.setLinesVisible(true); /*/*w w w . j a v a2s. co m*/ * The main control in this editor is a TreeViewer that allows the user to * browse the structure of the BuildStore's actions. It has two columns: * 1) The file system path (shown as a tree). * 2) The path's package (shown as a fixed-width column); */ actionsTreeViewer = new VisibilityTreeViewer(actionEditorTree); treeColumn = new TreeViewerColumn(actionsTreeViewer, SWT.LEFT); treeColumn.getColumn().setAlignment(SWT.LEFT); treeColumn.getColumn().setText("Action Command"); pkgColumn = new TreeViewerColumn(actionsTreeViewer, SWT.RIGHT); pkgColumn.getColumn().setAlignment(SWT.LEFT); pkgColumn.getColumn().setText("Package"); filesEditorComposite = parent; /* * Set the initial column widths so that the path column covers the full editor * window, and the package column is empty. Setting the path column * to a non-zero pixel width causes it to be expanded to the editor's full width. */ treeColumn.getColumn().setWidth(1); pkgColumn.getColumn().setWidth(0); /* * Add the tree/table content and label providers. */ contentProvider = new ActionsEditorContentProvider(this, actionMgr); ActionsEditorLabelCol1Provider labelProviderCol1 = new ActionsEditorLabelCol1Provider(this, actionMgr); ActionsEditorLabelCol2Provider labelProviderCol2 = new ActionsEditorLabelCol2Provider(this, buildStore); actionsTreeViewer.setContentProvider(contentProvider); treeColumn.setLabelProvider(labelProviderCol1); pkgColumn.setLabelProvider(labelProviderCol2); ColumnViewerToolTipSupport.enableFor(actionsTreeViewer); /* * Set up a visibility provider so we know which paths should be visible (at * least to start with). */ visibilityProvider = new ActionsEditorVisibilityProvider(visibleActions); visibilityProvider.setSecondaryFilterSet(null); actionsTreeViewer.setVisibilityProvider(visibilityProvider); /* * Record the initial set of option bits so that we can later determine * which bits have been modified (this is used in refreshView()). */ previousEditorOptionBits = getOptions(); /* double-clicking on an expandable node will expand/contract that node */ actionsTreeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); UIAction node = (UIAction) selection.getFirstElement(); if (actionsTreeViewer.isExpandable(node)) { actionsTreeViewer.setExpandedState(node, !actionsTreeViewer.getExpandedState(node)); } } }); /* create the context menu */ MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { manager.add(new Separator("buildmlactions")); manager.add(new Separator("additions")); } }); Menu menu = menuMgr.createContextMenu(actionsTreeViewer.getControl()); actionsTreeViewer.getControl().setMenu(menu); getSite().registerContextMenu(menuMgr, actionsTreeViewer); getSite().setSelectionProvider(actionsTreeViewer); /* * When the tree viewer needs to compare its elements, this class * (ActionsEditor) provides the equals() and hashcode() methods. */ actionsTreeViewer.setComparer(this); /* start by displaying from the root (which changes, depending on our options). */ actionsTreeViewer.setInput(contentProvider.getRootElements()); /* based on the size of the set to be displayed, auto-size the tree output */ int outputSize = getVisibilityFilterSet().size(); if (outputSize < AUTO_EXPAND_THRESHOLD) { actionsTreeViewer.expandAll(); } else { actionsTreeViewer.expandToLevel(2); } /* * Now that we've created all the widgets, force options to take effect. Note * that these setters have side effects that wouldn't have taken effect if * there were no widgets. */ setOptions(getOptions()); setFilterPackageSet(getFilterPackageSet()); setVisibilityFilterSet(getVisibilityFilterSet()); /* * Add a "drag source" handler so that we can copy/move actions around. */ new ActionsEditorDragSource(actionsTreeViewer, buildStore); }
From source file:com.cloudbees.eclipse.dev.ui.views.jobs.JobsView.java
License:Open Source License
private TreeViewerColumn createColumn(final String colName, final int width, final int sortCol, ColumnLabelProvider labelProvider) { final TreeViewerColumn col = new TreeViewerColumn(treeViewer, SWT.NONE); col.setLabelProvider(labelProvider); if (width > 0) { col.getColumn().setWidth(width); }/*from w w w . j a v a2 s . c om*/ col.getColumn().setText(colName); col.getColumn().setMoveable(true); if (sortCol >= 0) { col.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { int newOrder = SWT.DOWN; if (treeViewer.getTree().getSortColumn().equals(col) && treeViewer.getTree().getSortDirection() == SWT.DOWN) { newOrder = SWT.UP; } treeViewer.getTree().setSortColumn(col.getColumn()); treeViewer.getTree().setSortDirection(newOrder); JobSorter newSorter = new JobSorter(sortCol); newSorter.setDirection(newOrder); JobsView.this.treeViewer.setSorter(newSorter); } }); } return col; }
From source file:com.contrastsecurity.ide.eclipse.ui.internal.model.EventsTab.java
License:Open Source License
public EventsTab(Composite parent, int style) { super(parent, style); TreeColumnLayout layout = new TreeColumnLayout(); getControl().setLayout(layout);/*from w w w . j a v a2 s . c o m*/ viewer = new TreeViewer(getControl(), SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); viewer.getTree().setLayoutData(gd); TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.NONE); layout.setColumnData(typeColumn.getColumn(), new ColumnWeightData(400)); viewer.setLabelProvider(new EventLabelProvider(viewer)); viewer.setContentProvider(new EventContentProvider()); viewer.getTree().addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { } @Override public void mouseDoubleClick(MouseEvent e) { ISelection sel = viewer.getSelection(); if (sel instanceof IStructuredSelection) { Object selected = ((IStructuredSelection) sel).getFirstElement(); if (selected instanceof EventItem) { EventItem eventItem = (EventItem) selected; if (eventItem.isStacktrace()) { final String str = eventItem.getValue(); final String typeName; final int lineNumber; try { typeName = getTypeName(str); lineNumber = getLineNumber(str); } catch (CoreException e1) { ErrorDialog.openError(ContrastUIActivator.getActiveWorkbenchShell(), "Error", "Stacktrace Error", e1.getStatus()); return; } Job search = new Job("Searching for code in workspace...") { @Override protected IStatus run(IProgressMonitor monitor) { Set<IType> result = null; try { if (str.contains(".java")) { result = findTypeInWorkspace(typeName); searchCompleted(result, typeName, lineNumber, null); } else { List<IFile> resultFile = findFileInWorkspace(typeName); searchCompleted(resultFile, typeName, lineNumber, null); } } catch (CoreException e) { searchCompleted(null, typeName, lineNumber, e.getStatus()); } return Status.OK_STATUS; } }; search.schedule(); } } } } }); }
From source file:com.eclipsesource.rowtemplate.demo.RowTemplateDemo.java
License:Open Source License
private ViewerColumn createViewerColumn(final ColumnViewer viewer, String name, int width) { ViewerColumn viewerColumn = null;//from ww w .ja v a 2 s . c o m if (viewer instanceof TableViewer) { TableViewer tableViewer = (TableViewer) viewer; TableViewerColumn tableColumn = new TableViewerColumn(tableViewer, SWT.NONE); //tableColumn.getColumn().setWidth( width ); tableColumn.getColumn().setText(name); viewerColumn = tableColumn; } else if (viewer instanceof TreeViewer) { TreeViewer treeViewer = (TreeViewer) viewer; TreeViewerColumn treeColumn = new TreeViewerColumn(treeViewer, SWT.NONE); //treeColumn.getColumn().setWidth( width ); treeColumn.getColumn().setText(name); viewerColumn = treeColumn; } return viewerColumn; }
From source file:com.genuitec.eclipse.gerrit.tools.internal.gps.dialogs.ImportProjectsDialog.java
License:Open Source License
private void createRepositoriesGroup(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText("Git repositories"); group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); group.setLayout(new GridLayout()); Composite treeParent = new Composite(group, SWT.NONE); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.heightHint = 200;/*from w ww . ja v a2 s. c o m*/ treeParent.setLayoutData(data); TreeColumnLayout treeLayout = new TreeColumnLayout(); treeParent.setLayout(treeLayout); TreeViewer viewer = new TreeViewer(treeParent); viewer.getTree().setHeaderVisible(true); TreeColumn column = new TreeColumn(viewer.getTree(), SWT.NONE); column.setText("Name"); treeLayout.setColumnData(column, new ColumnWeightData(30)); column = new TreeColumn(viewer.getTree(), SWT.NONE); column.setText("State"); treeLayout.setColumnData(column, new ColumnWeightData(20)); TreeViewerColumn vc = new TreeViewerColumn(viewer, SWT.NONE); column = vc.getColumn(); column.setText("User name"); treeLayout.setColumnData(column, new ColumnWeightData(20)); vc.setEditingSupport(new MyCellEditingSupport(viewer)); viewer.setContentProvider(new ContentProvider()); viewer.setLabelProvider(new MyLabelProvider()); viewer.setInput(null); for (IGpsRepositoriesConfig repo : gpsFile.getRepositoryConfigs()) { if (repo.getType().equals("git")) { //$NON-NLS-1$ viewer.setInput(repo.getRepositoriesSetups()); } } }
From source file:com.github.sdbg.debug.ui.internal.objectinspector.ObjectInspectorView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { DebugPlugin.getDefault().addDebugEventListener(this); getDebugContextService().addDebugContextListener(this); sashForm = new SashForm(parent, SWT.VERTICAL); treeViewer = new TreeViewer(sashForm, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); treeViewer.setAutoExpandLevel(2);//w w w . ja va2 s . c o m treeViewer.setLabelProvider(new NameLabelProvider()); treeViewer.setContentProvider(new ObjectInspectorContentProvider()); treeViewer.getTree().setHeaderVisible(true); treeViewer.getTree().setLinesVisible(true); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); Object object = SelectionUtil.getSingleElement(sel); if (object instanceof IVariable) { IVariable variable = (IVariable) object; try { presentation.computeDetail(variable.getValue(), new IValueDetailListener() { @Override public void detailComputed(IValue value, String result) { updateStatusLine(result); } }); } catch (DebugException e) { SDBGDebugUIPlugin.logError(e); } } else { clearStatusLine(); } } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { toggleExpansion(event.getSelection()); } }); getSite().setSelectionProvider(treeViewer); TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); nameColumn.setLabelProvider(new NameLabelProvider()); nameColumn.getColumn().setText("Name"); nameColumn.getColumn().setWidth(120); nameColumn.getColumn().setResizable(true); TreeViewerColumn valueColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); valueColumn.setLabelProvider(new ValueLabelProvider()); valueColumn.getColumn().setText("Value"); valueColumn.getColumn().setWidth(140); valueColumn.getColumn().setResizable(true); Composite sourceContainer = new Composite(sashForm, SWT.NONE); GridLayoutFactory.fillDefaults().applyTo(sourceContainer); Label label = new Label(sourceContainer, SWT.NONE); label.setText("Enter expression to evaluate:"); GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(label); sourceViewer = new SourceViewer(sourceContainer, null, SWT.V_SCROLL | SWT.WRAP | SWT.BORDER); sourceViewer.configure(getSourceViewerConfiguration()); sourceViewer.setDocument(createDocument(), new AnnotationModel()); sourceViewer.setUndoManager(new TextViewerUndoManager(100)); sourceViewer.getTextWidget().setFont(JFaceResources.getFont(JFaceResources.TEXT_FONT)); sourceViewer.getTextWidget().setTabs(2); sourceViewer.getTextWidget().addVerifyKeyListener(new VerifyKeyListener() { @Override public void verifyKey(VerifyEvent e) { // If they hit enter, but were not holding down ctrl or shift, then evaluate. if (e.character == SWT.CR && ((e.stateMask & (SWT.CTRL | SWT.SHIFT)) == 0)) { // Cancel the return char. e.doit = false; if (getCurrentSelection().isEmpty()) { evaluateAndPrint(getCurrentLine()); } else { evaluateAndPrint(getCurrentSelection()); } } } }); GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL) .applyTo(sourceViewer.getControl()); sourceViewer.getDocument().addDocumentListener(new IDocumentListener() { @Override public void documentAboutToBeChanged(DocumentEvent event) { } @Override public void documentChanged(DocumentEvent event) { updateActions(); } }); sourceViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateActions(); } }); sourceViewer.activatePlugins(); createActions(); createGlobalActionHandlers(); hookContextMenu(); updateActions(); configureToolBar(getViewSite().getActionBars().getToolBarManager()); sashForm.setWeights(new int[] { 60, 40 }); sashForm.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { updateSashOrientation(sashForm); } }); restoreState(memento); updateSashOrientation(sashForm); historyList.addListener(new HistoryListListener<ObjectInspectorHistoryItem>() { @Override public void historyAboutToChange(final ObjectInspectorHistoryItem current) { Display.getDefault().syncExec(new Runnable() { @Override public void run() { saveSourceViewerInfo(current); } }); } @Override public void historyChanged(ObjectInspectorHistoryItem current) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { ObjectInspectorHistoryItem item = historyList.getCurrent(); inspectValueImpl((item != null && item.getValue() != null) ? item.getValue() : null); restoreSourceViewerInfo(item); } }); } }); }
From source file:com.google.dart.tools.debug.ui.internal.objectinspector.ObjectInspectorView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { SashForm sash = new SashForm(parent, SWT.VERTICAL); treeViewer = new TreeViewer(sash, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION); treeViewer.setLabelProvider(new NameLabelProvider()); treeViewer.setContentProvider(new ObjectInspectorContentProvider()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override//from ww w . jav a 2s . co m public void selectionChanged(SelectionChangedEvent event) { ISelection sel = event.getSelection(); Object object = SelectionUtil.getSingleElement(sel); if (object instanceof IVariable) { IVariable variable = (IVariable) object; try { presentation.computeDetail(variable.getValue(), new IValueDetailListener() { @Override public void detailComputed(IValue value, String result) { updateStatusLine(result); } }); } catch (DebugException e) { DartDebugUIPlugin.logError(e); } } else { clearStatusLine(); } } }); TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); nameColumn.setLabelProvider(new NameLabelProvider()); nameColumn.getColumn().setText("Name"); nameColumn.getColumn().setWidth(120); nameColumn.getColumn().setResizable(true); TreeViewerColumn valueColumn = new TreeViewerColumn(treeViewer, SWT.LEFT); valueColumn.setLabelProvider(new ValueLabelProvider()); valueColumn.getColumn().setText("Value"); valueColumn.getColumn().setWidth(140); valueColumn.getColumn().setResizable(true); Tree tree = treeViewer.getTree(); tree.setHeaderVisible(true); sourceViewer = new SourceViewer(sash, null, SWT.V_SCROLL | SWT.WRAP); sourceViewer.configure(getSourceViewerConfiguration()); sourceViewer.setDocument(createDocument()); sourceViewer.setUndoManager(new TextViewerUndoManager(100)); sourceViewer.getTextWidget().setFont(JFaceResources.getFont(JFaceResources.TEXT_FONT)); sourceViewer.getTextWidget().setTabs(2); sourceViewer.getDocument().addDocumentListener(new IDocumentListener() { @Override public void documentAboutToBeChanged(DocumentEvent event) { } @Override public void documentChanged(DocumentEvent event) { updateActions(); } }); sourceViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateActions(); } }); sourceViewer.activatePlugins(); createActions(); createGlobalActionHandlers(); hookContextMenu(); updateActions(); // PresentationReconciler presentationReconciler = new PresentationReconciler(); // presentationReconciler.install(textViewer); sash.setWeights(new int[] { 60, 40 }); }