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

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

Introduction

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

Prototype

public TreeViewer(Composite parent, int style) 

Source Link

Document

Creates a tree viewer on a newly-created tree control under the given parent.

Usage

From source file:com.gesila.test.guard.application.parts.SamplePart.java

License:Open Source License

@PostConstruct
public void createComposite(Composite parent) {
    parent.setLayout(new GridLayout(5, false));

    Label methodLabel = new Label(parent, SWT.NONE);
    methodLabel.setText("Method:");
    methodLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    String[] methods = { "GET", "POST" };
    combo.setItems(methods);//from  w  ww  .j  a  v a 2s . c om
    combo.select(0);
    combo.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    if (this.testGuardUrlObject != null) {
        // combo.setText(this.testGuardUrlObject.getRequestType().name());
        combo.select(Arrays.binarySearch(methods, this.testGuardUrlObject.getRequestType().name()));
    }

    Label urlLabel = new Label(parent, SWT.NONE);
    urlLabel.setText("Method:");
    urlLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    txtInput = new Text(parent, SWT.BORDER);
    txtInput.setMessage("url?");
    // txtInput.addModifyListener(new ModifyListener() {
    // @Override
    // public void modifyText(ModifyEvent e) {
    // dirty.setDirty(true);
    // }
    // });
    if (this.testGuardUrlObject != null) {
        txtInput.setText(this.testGuardUrlObject.getUrl());
    }
    txtInput.setLayoutData(new GridData(GridData.FILL, SWT.CENTER, true, false));
    button = new Button(parent, SWT.BORDER);
    button.setText("Send");
    button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    button.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            GesilaHttpClient gesilaHttpClient = new GesilaHttpClient(txtInput.getText());
            if (bodyText.getText() != null) {
                gesilaHttpClient.setRequestJSON(bodyText.getText());
            }
            gesilaHttpClient.setRequestType(RequestType.valueOf(combo.getText()));
            HttpResponse response = (HttpResponse) GesilaHttpClientUtil.execute(gesilaHttpClient);
            GesilaHttpResponse gesilaHttpResponse = new GesilaHttpResponse(response);
            selectionService.setSelection(gesilaHttpResponse);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });
    button.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));

    Label bodyLabel = new Label(parent, SWT.NONE);
    bodyLabel.setText("Body:");
    bodyLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 5, 1));

    CTabFolder bodyCTabFolder = new CTabFolder(parent, SWT.NONE);
    bodyCTabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 5, 1));
    bodyCTabFolder.setSimple(true);

    CTabItem textTabItem = new CTabItem(bodyCTabFolder, SWT.NONE);
    textTabItem.setText("Text");
    textTabItem.setShowClose(false);

    bodyText = new Text(bodyCTabFolder, SWT.BORDER | SWT.WRAP);
    // bodyText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true,
    // 5, 1));
    if (this.testGuardUrlObject != null) {
        bodyText.setText(this.testGuardUrlObject.getRequestBody());
    }
    textTabItem.setControl(bodyText);

    CTabItem jsonCTabItem = new CTabItem(bodyCTabFolder, SWT.NONE);
    jsonCTabItem.setText("Json");
    jsonCTabItem.setShowClose(false);

    //      Composite jsonComposite=new Composite(bodyCTabFolder,SWT.BORDER);
    //      jsonComposite.setLayout(new GridLayout(1,false));
    //      jsonComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TreeViewer treeViewer = new TreeViewer(bodyCTabFolder, SWT.NONE);
    TreeColumn column = new TreeColumn(treeViewer.getTree(), SWT.NONE);
    column.setWidth(200);
    column.setText("Name");

    column = new TreeColumn(treeViewer.getTree(), SWT.NONE);
    column.setWidth(200);
    column.setText("Value");
    treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    treeViewer.getTree().setHeaderVisible(true);

    treeViewer.setContentProvider(new ITreeContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean hasChildren(Object element) {
            // TODO Auto-generated method stub
            if (getChildren(element).length > 0) {
                return true;
            }
            return false;
        }

        @Override
        public Object getParent(Object element) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            // TODO Auto-generated method stub
            return (Object[]) ((List) inputElement).toArray(new Object[0]);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            // TODO Auto-generated method stub
            return ((ResponseObject) parentElement).getReponseObjects().toArray(new Object[0]);
        }
    });
    treeViewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void removeListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public void addListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return ((ResponseObject) element).getName() == null ? "" : ((ResponseObject) element).getName();
            case 1:
                return ((ResponseObject) element).getValue() == null ? ""
                        : ((ResponseObject) element).getValue();
            }
            return null;
        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            // TODO Auto-generated method stub
            return null;
        }
    });

    String requestBody = this.testGuardUrlObject.getRequestBody();
    JSONObject respJsonObject = null;
    char[] responseChars = requestBody.toCharArray();
    char firstChar = responseChars[0];
    if ('{' == firstChar) {
        respJsonObject = JSONObject.parseObject(requestBody);
    } else {
        Map map = new HashMap();
        map.put("name", requestBody);
        respJsonObject = new JSONObject(map);
    }

    List list = new ArrayList();
    createJSONObject(respJsonObject, list);
    treeViewer.setInput(list);

    jsonCTabItem.setControl(treeViewer.getControl());

    bodyCTabFolder.setSelection(0);

    // tableViewer = new TableViewer(parent);`
    //
    // tableViewer.add("Sample item 1");
    // tableViewer.add("Sample item 2");
    // tableViewer.add("Sample item 3");
    // tableViewer.add("Sample item 4");
    // tableViewer.add("Sample item 5");
    // tableViewer.getTable().setLayoutData(new
    // GridData(GridData.FILL_BOTH));
}

From source file:com.github.ko2ic.plugin.eclipse.taggen.core.ui.components.dialog.JavaSelectDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    setTitle("Choose a Class");
    setMessage(message, IMessageProvider.NONE);
    Control control = super.createDialogArea(parent);
    Composite composite = new Composite((Composite) control, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    FillLayout layout = new FillLayout();
    composite.setLayout(layout);/* w  w  w. j  av a  2  s  .  com*/
    tree = new TreeViewer(composite, SWT.BORDER);
    tree.setContentProvider(new StandardJavaElementContentProvider());
    tree.addFilter(new SourceViewerFilter());
    JavaElementLabelProvider provider = new JavaElementLabelProvider();
    tree.setLabelProvider(provider);
    IJavaModel javaModel = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
    tree.setInput(javaModel);
    tree.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selectionChangeHandler(event);
        }
    });
    return control;
}

From source file:com.github.sdbg.debug.ui.internal.hover.DebugTooltipControl.java

License:Open Source License

@Override
protected void createContent(Composite parent) {
    sashForm = new SashForm(parent, parent.getStyle());
    sashForm.setOrientation(SWT.VERTICAL);

    // update presentation context
    AbstractDebugView view = getViewToEmulate();
    presentationContext = new PresentationContext(IDebugUIConstants.ID_VARIABLE_VIEW);
    if (view != null) {
        // copy over properties
        IPresentationContext copy = ((TreeModelViewer) view.getViewer()).getPresentationContext();
        String[] properties = copy.getProperties();
        for (int i = 0; i < properties.length; i++) {
            String key = properties[i];
            presentationContext.setProperty(key, copy.getProperty(key));
        }/*from w w  w . j a  va 2  s . co m*/
    }

    final SDBGDebugModelPresentation presentation = new SDBGDebugModelPresentation();

    treeViewer = new TreeViewer(sashForm, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION);
    treeViewer.setAutoExpandLevel(2);
    treeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public Image getImage(Object element) {
            return presentation.getImage(element);
        }

        @Override
        public String getText(Object element) {
            return presentation.getVariableText((IVariable) element);
        }
    });
    treeViewer.setContentProvider(new ObjectInspectorContentProvider());

    if (view != null) {
        // copy over filters
        StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
        if (structuredViewer != null) {
            ViewerFilter[] filters = structuredViewer.getFilters();
            for (int i = 0; i < filters.length; i++) {
                treeViewer.addFilter(filters[i]);
            }
        }
    }

    detailPaneComposite = SWTFactory.createComposite(sashForm, 1, 1, GridData.FILL_BOTH);
    Layout layout = detailPaneComposite.getLayout();
    if (layout instanceof GridLayout) {
        GridLayout gl = (GridLayout) layout;
        gl.marginHeight = 0;
        gl.marginWidth = 0;
    }

    detailPane = new DetailPaneProxy(new DetailPaneContainer());
    // Bring up the default pane so the user doesn't see an empty composite.
    detailPane.display(null);

    treeViewer.getTree().addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            detailPane.display((IStructuredSelection) treeViewer.getSelection());
        }
    });

    initSashWeights();

    // Use the standard tooltip colors on a mac.
    if (DartCore.isMac()) {
        setBackgroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    }
}

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 . j a  va  2 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.code.t4eclipse.tools.view.ActivePartControlView.java

License:Open Source License

private void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);

    viewer.getTree().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    // fFilteredTree.setInitialText(Messages.LogView_show_filter_initialText);

    viewer.getTree().setLinesVisible(true);
    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    createColumns(viewer.getTree());/*w  ww  .j a v  a  2  s.c  o  m*/
    viewer.setContentProvider(new ControlContentProvider());

    viewer.setLabelProvider(new ControlLabelProvider());
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {

            ISelection sel = viewer.getSelection();
            ActivePartControlView.this.infoSashText.setText(ControlUtility.getSelectionText(sel));

        }
    });

}

From source file:com.google.code.t4eclipse.tools.view.MenuAnalyzerView.java

License:Open Source License

private void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);

    viewer.getTree().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    // fFilteredTree.setInitialText(Messages.LogView_show_filter_initialText);

    viewer.getTree().setLinesVisible(true);
    createColumns(viewer.getTree());/*from ww w . j ava  2  s .c o m*/
    viewer.setContentProvider(new MenuItemContentProvider());
    viewer.setLabelProvider(new MenuItemLabelProvider());

}

From source file:com.google.code.t4eclipse.tools.view.ToolBarAnalyzerView.java

License:Open Source License

private void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);

    viewer.getTree().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
    viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    // fFilteredTree.setInitialText(Messages.LogView_show_filter_initialText);

    viewer.getTree().setLinesVisible(true);
    createColumns(viewer.getTree());/*w w w. ja  v a  2  s  .c o  m*/
    viewer.setContentProvider(new ToolBarContentProvider());
    viewer.setLabelProvider(new ToolBarItemLabelProvider());
}

From source file:com.google.dart.dev.util.ast.ASTExplorer.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.setContentProvider(new ExplorerContentProvider());
    viewer.setLabelProvider(new ExplorerLabelProvider());

    makeActions();/*  ww w  .  j a v  a2s .c o m*/
    contributeToActionBars();
    hookupListeners();

    refresh();
}

From source file:com.google.dart.tools.debug.ui.internal.hover.DebugTooltipControl.java

License:Open Source License

@Override
protected void createContent(Composite parent) {
    sashForm = new SashForm(parent, parent.getStyle());
    sashForm.setOrientation(SWT.VERTICAL);

    // update presentation context
    AbstractDebugView view = getViewToEmulate();
    presentationContext = new PresentationContext(IDebugUIConstants.ID_VARIABLE_VIEW);
    if (view != null) {
        // copy over properties
        IPresentationContext copy = ((TreeModelViewer) view.getViewer()).getPresentationContext();
        String[] properties = copy.getProperties();
        for (int i = 0; i < properties.length; i++) {
            String key = properties[i];
            presentationContext.setProperty(key, copy.getProperty(key));
        }/*from  ww  w  .  j av a 2  s  . c  o  m*/
    }

    final DartDebugModelPresentation presentation = new DartDebugModelPresentation();

    treeViewer = new TreeViewer(sashForm, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION);
    treeViewer.setAutoExpandLevel(2);
    treeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public Image getImage(Object element) {
            return presentation.getImage(element);
        }

        @Override
        public String getText(Object element) {
            return presentation.getVariableText((IVariable) element);
        }
    });
    treeViewer.setContentProvider(new ObjectInspectorContentProvider());

    if (view != null) {
        // copy over filters
        StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
        if (structuredViewer != null) {
            ViewerFilter[] filters = structuredViewer.getFilters();
            for (int i = 0; i < filters.length; i++) {
                treeViewer.addFilter(filters[i]);
            }
        }
    }

    detailPaneComposite = SWTFactory.createComposite(sashForm, 1, 1, GridData.FILL_BOTH);
    Layout layout = detailPaneComposite.getLayout();
    if (layout instanceof GridLayout) {
        GridLayout gl = (GridLayout) layout;
        gl.marginHeight = 0;
        gl.marginWidth = 0;
    }

    detailPane = new DetailPaneProxy(new DetailPaneContainer());
    // Bring up the default pane so the user doesn't see an empty composite.
    detailPane.display(null);

    treeViewer.getTree().addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            detailPane.display((IStructuredSelection) treeViewer.getSelection());
        }
    });

    initSashWeights();

    // Use the standard tooltip colors on a mac.
    if (DartCore.isMac()) {
        setBackgroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    }
}

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/*ww w.j  av  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 });
}