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

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

Introduction

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

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

From source file:eu.aniketos.wp1.ststool.analysis.ui.ResultViewDataProvider.java

License:Open Source License

public ResultViewDataProvider(final TreeViewer treeViewer, TreeViewerColumn treeViewerColumn,
        TreeViewerColumn treeViewerColumn2, Label statusLabel) {
    this.treeViewer = treeViewer;
    this.statusLabel = statusLabel;
    treeViewer.getTree().addDisposeListener(this);
    ColumnViewerToolTipSupport.enableFor(treeViewer);
    treeViewer.setContentProvider(new ListTreeNodeContentProvider());
    treeViewerColumn.setLabelProvider(new ResultLabelProviderWithToolTip());
    treeViewerColumn2.setLabelProvider(new ResultLabelProviderWithToolTip2());
    //treeViewer.addSelectionChangedListener(this);
    treeViewer.addOpenListener(this);

    rm.addAnalysisResultListener(this);
    DiagramObserver.addDiagramObserverListener(this);
    resultsChanged(rm);/*from w  w  w. j a  v  a  2  s.  c om*/

    final Tree tree = treeViewer.getTree();
    tree.addListener(SWT.EraseItem, new Listener() {

        public void handleEvent(Event event) {
            event.detail &= ~SWT.FOREGROUND;
        }
    });

    tree.addListener(SWT.PaintItem, new Listener() {

        Map<Image, Image> grayedimage = new HashMap<Image, Image>();

        public void handleEvent(Event event) {

            TreeItem item = (TreeItem) event.item;
            String text = item.getText(event.index);
            Image img = item.getImage();

            if (((TreeNode) item.getData()).isEnabled()) {
                event.gc.setForeground(item.getForeground(event.index));
            } else {
                if (!grayedimage.containsKey(img)) {
                    grayedimage.put(img, new Image(null, img, SWT.IMAGE_GRAY));
                }
                img = grayedimage.get(img);
                event.gc.setForeground(ColorConstants.gray);
            }

            int xOffset = 3;
            if (img != null && event.index == 0) {
                int yOffset = Math.max(0, (event.height - img.getImageData().height) / 2);
                event.gc.drawImage(img, event.x + xOffset, event.y + yOffset);
                xOffset += img.getImageData().width;
            }

            int yOffset = 0;
            Point size = event.gc.textExtent(text);
            yOffset = Math.max(0, (event.height - size.y) / 2);
            event.gc.drawText(text, event.x + xOffset + 3, event.y + yOffset, true);
        }
    });
}

From source file:eu.artist.migration.cloudselection.ui.views.GenericView.java

License:Open Source License

public void createPartControl(Composite parent) {
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;//from www .  j  a  v  a  2  s .  co m
    layout.verticalSpacing = 2;
    layout.marginWidth = 0;
    layout.marginHeight = 2;
    parent.setLayout(layout);

    // layout the text field above the treeview
    GridData layoutData = new GridData();
    layoutData.grabExcessHorizontalSpace = true;
    layoutData.horizontalAlignment = GridData.FILL;

    // Create the tree viewer as a child of the composite parent
    TreeViewer treeViewer = new TreeViewer(parent);
    contentProv = new ViewContentProvider();
    treeViewer.setContentProvider(contentProv);
    treeViewer.setLabelProvider(new ViewLabelProvider());
    treeViewer.setUseHashlookup(true);

    // layout the tree viewer below the text field
    layoutData = new GridData();
    layoutData.grabExcessHorizontalSpace = true;
    layoutData.grabExcessVerticalSpace = true;
    layoutData.horizontalAlignment = GridData.FILL;
    layoutData.verticalAlignment = GridData.FILL;
    treeViewer.getControl().setLayoutData(layoutData);
    final Tree t = treeViewer.getTree();
    contentProv.setViewer(treeViewer);
    t.addMouseListener(new MouseListener() {

        @Override
        public void mouseDown(MouseEvent e) {
            for (TreeItem item : t.getSelection()) {
                /*if((e.x > item.getImageBounds(0).x) && (e.x < (item.getImageBounds(0).x + item.getImage().getBounds().width))) {
                   if((e.y > item.getImageBounds(0).y) && (e.y < (item.getImageBounds(0).y + item.getImage().getBounds().height))) {
                */ ModelElement clickedElement = (ModelElement) item.getData();
                if (clickedElement instanceof LeafElement) {
                    boolean checked = ((LeafElement) clickedElement).isChecked();
                    setChecked(clickedElement, !checked);
                }
                //   }
                //   }
            }

            contentProv.viewer.refresh();
        }

        @Override
        public void mouseUp(MouseEvent e) {
        }

        public void mouseDoubleClick(MouseEvent arg0) {
            // TODO Auto-generated method stub

        }

    });
    if (!Resources.isCoreLoaded()) {
        Resources.loadCoreResource();
    }
    contentProv.viewer.setInput(getInitalInput());
    contentProv.viewer.expandAll();
    contentProv.viewer.refresh();
    makeActions();
    contributeToActionBars();
}

From source file:eu.artist.premigration.tft.tft.edit.MigrationSuggestionEditingSupport.java

License:Open Source License

/**
 * Editing support for the Inventory View tree viewer
 * //www. ja v a  2  s .co m
 * @param viewer {@link TreeViewer} to be refreshed once the editing is done. 
 */
public MigrationSuggestionEditingSupport(final TreeViewer viewer) {

    super(viewer);

    cellEditor = new DialogCellEditor((Composite) getViewer().getControl()) {

        //This method contains the code to open the Migration Strategy Selection Dialog
        @Override
        protected Object openDialogBox(Control cellEditorWindow) {

            //Get selected compoent
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            Component selectedComponent = ((Component) selection.getFirstElement());

            //Create the dialog and open
            MigrationStrategySelectionDialog dialog = new MigrationStrategySelectionDialog(
                    cellEditorWindow.getShell(), selectedComponent);
            dialog.open();
            //If the dialog is closed by clicking ok
            if (dialog.getReturnCode() == Dialog.OK) {

                @SuppressWarnings("unchecked")
                List<Component> treeInput = (List<Component>) viewer.getInput();

                //If automatic suggestion updates checkbox is checked, the migration suggestions of other components are updated 
                if (InventoryView.automaticSuggestionUpdates) {
                    updateSuggestions(selectedComponent, treeInput);
                }

                InventoryView.handleCheckedStatusOfComponents(viewer.getTree().getItems());

                viewer.getTree().update();
                viewer.refresh();
            }
            return null;
        }
    };

    //Drools initialization
    try {
        // load up the knowledge base
        kbase = readKnowledgeBase();
    } catch (Throwable t) {
        t.printStackTrace();
    }
}

From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.WebTemplatesDialog.java

License:Open Source License

@Override
protected void setupViewer(final TreeViewer viewer, WebTemplate initialSelection) {
    // this label provider is used for filtering (I guess)
    viewer.setLabelProvider(new LabelProvider() {

        @Override/*  w w w  .  ja v  a2  s  .  c o  m*/
        public String getText(Object element) {
            if (element instanceof WebTemplate) {
                return ((WebTemplate) element).getName();
            }
            return super.getText(element);
        }

    });

    viewer.getTree().setHeaderVisible(true);
    //      viewer.getTree().setLinesVisible(true);

    // main column
    TreeViewerColumn mainColumn = new TreeViewerColumn(viewer, SWT.NONE);
    mainColumn.setLabelProvider(new StyledCellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();

            StyledString text = new StyledString();
            if (element instanceof WebTemplate) {
                WebTemplate template = (WebTemplate) element;

                text.append(template.getName());
            } else {
                text.append(element.toString());
            }

            cell.setText(text.getString());
            cell.setStyleRanges(text.getStyleRanges());

            super.update(cell);
        }
    });
    mainColumn.getColumn().setText("Template");
    layout.setColumnData(mainColumn.getColumn(), new ColumnWeightData(7));

    // link column
    if (Desktop.isDesktopSupported()) {
        TreeViewerColumn linkColumn = new TreeViewerColumn(viewer, SWT.CENTER);
        linkColumn.setLabelProvider(new LinkLabels());

        // listener that reacts on link cell clicks
        viewer.getTree().addMouseListener(new MouseAdapter() {

            @Override
            public void mouseDown(MouseEvent e) {
                if (e.button == 1) {
                    ViewerCell cell = viewer.getCell(new Point(e.x, e.y));
                    if (cell != null && cell.getColumnIndex() == 1 && cell.getTextBounds().contains(e.x, e.y)) {
                        Object element = cell.getElement();
                        if (element instanceof WebTemplate) {
                            try {
                                Desktop.getDesktop().browse(((WebTemplate) element).getSite());
                            } catch (IOException e1) {
                                log.error("Could not launch browser", e1);
                            }
                        }
                    }
                }
            }
        });

        layout.setColumnData(linkColumn.getColumn(), new ColumnWeightData(1));
    }

    viewer.setComparator(new ViewerComparator());

    viewer.setContentProvider(new WebTemplatesContentProvider());
    viewer.setInput(templates);
}

From source file:eu.geclipse.servicejob.ui.views.ServiceJobDetailsView.java

License:Open Source License

private void createViewer(final Composite parent1) {
    TreeViewer tViewer = null;
    for (Control comp : parent1.getChildren()) {
        comp.dispose();/*from w  w  w.  j  a  v  a  2s. c  o m*/
    }
    tViewer = new TreeViewer(parent1,
            SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    Tree tree = tViewer.getTree();
    tree.setHeaderVisible(true);
    this.viewer = tViewer;
    this.viewer.setContentProvider(this.contentProvider);
    this.viewer.setLabelProvider(this.labelProvider);
    this.viewer.getTree().addListener(SWT.MouseDoubleClick, new Listener() {

        public void handleEvent(final Event event) {
            Point point = new Point(event.x, event.y);
            TreeItem item = ServiceJobDetailsView.this.viewer.getTree().getItem(point);
            if (item != null) {
                for (int i = 0; i < ServiceJobDetailsView.this.viewer.getTree().getColumnCount(); i++) {
                    Rectangle rect = item.getBounds(i);
                    if (rect.contains(point)) {
                        if (!ServiceJobDetailsView.this.viewer.getTree().getItem(point).getText(i).equals("")) //$NON-NLS-1$
                        {
                            ServiceJobDetailsView.this.selectedColumnIndex = i;
                            ServiceJobDetailsView.this.selectedColumnText = ServiceJobDetailsView.this.viewer
                                    .getTree().getColumn(i).getText();
                            break;
                        } else {
                            // TODO katis
                            // do nothing
                        }
                    } else {
                        ServiceJobDetailsView.this.selectedColumnText = ""; //$NON-NLS-1$
                        ServiceJobDetailsView.this.selectedColumnIndex = -1;
                    }
                }
            }
        }
    });
}

From source file:eu.geclipse.servicejob.ui.wizard.ProjectSelectionPage.java

License:Open Source License

public void createControl(final Composite parent) {
    Composite mainComp = new Composite(parent, SWT.NONE);
    mainComp.setLayout(new GridLayout(1, false));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;/*w w w  . j  ava  2s  .c o  m*/
    gd.verticalSpan = 3;
    gd.horizontalSpan = 2;
    gd.heightHint = 300;
    gd.widthHint = 250;
    final TreeViewer treeViewer = new TreeViewer(mainComp, SWT.SINGLE | SWT.BORDER);
    treeViewer.setContentProvider(new CProvider());
    treeViewer.setLabelProvider(new LProvider());
    treeViewer.setInput(GridModel.getRoot());
    setTree(treeViewer.getTree());
    getTree().setLayoutData(gd);
    getTree().addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            Object selectedData = (((Tree) e.getSource()).getSelection()[0]).getData();
            if (selectedData instanceof IGridProject) {
                ProjectSelectionPage.selectedProject = (IGridProject) selectedData;
                ProjectSelectionPage.this.updateButtons();
            }
        }
    });
    this.tree.deselectAll();
    this.tree.update();
    treeViewer.refresh();
    //    this.tree.layout();
    treeViewer.refresh(true);
    for (TreeItem item : this.tree.getItems()) {
        if (item.getData() instanceof IGridProject) {
            if (item.getData().equals(this.initialProject)) {
                this.tree.setSelection(item);
                break;
            }
        }
    }
    Composite textComp = new Composite(mainComp, SWT.NONE);
    textComp.setLayout(new GridLayout(2, false));
    gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    textComp.setLayoutData(gd);
    Label nameLabel = new Label(textComp, SWT.LEAD);
    nameLabel.setText("Operator's Job name");
    gd = new GridData();
    nameLabel.setLayoutData(gd);
    this.nameText = new Text(textComp, SWT.BORDER | SWT.LEAD);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    this.nameText.setLayoutData(gd);
    this.nameText.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            ProjectSelectionPage.this.serviceJobName = ProjectSelectionPage.this.nameText.getText();
            ProjectSelectionPage.this.updateButtons();
        }
    });
    setControl(mainComp);
}

From source file:eu.geclipse.traceview.statistics.StatisticsVisualisation.java

License:Open Source License

/**
 * @param parent/* www  . j  av  a  2  s .c om*/
 * @param style
 * @param viewSite
 * @param trace
 */
public StatisticsVisualisation(final Composite parent, final int style, final IViewSite viewSite,
        final ITrace trace) {
    super(parent, style);
    this.trace = trace;
    // this
    GridLayout layout = new GridLayout();
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layout.numColumns = 4;
    this.setLayout(layout);
    this.setLayoutData(layoutData);
    // selection
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, false, true);
    layoutData.horizontalSpan = 1;
    Group selectionGroup = new Group(this, SWT.NONE);
    selectionGroup.setText(Messages.getString("StatisticsVisualisation.Statistics")); //$NON-NLS-1$
    selectionGroup.setLayout(layout);
    selectionGroup.setLayoutData(layoutData);
    // treeviewer
    final TreeViewer treeViewer = new TreeViewer(selectionGroup);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    treeViewer.getTree().setLayout(layout);
    treeViewer.getTree().setLayoutData(layoutData);
    treeViewer.setContentProvider(new TreeNodeContentProvider());
    treeViewer.setLabelProvider(new StatisticsVisualisationLabelProvider());
    populateTree(treeViewer);
    // chart
    Group chartGroup = new Group(this, SWT.NONE);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    chartGroup.setLayout(layout);
    chartGroup.setLayoutData(layoutData);
    chartGroup.setText(Messages.getString("StatisticsVisualisation.Chart")); //$NON-NLS-1$
    layoutData.horizontalSpan = 3;
    // description
    Group description = new Group(this, SWT.NONE);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, false);
    layoutData.heightHint = 60;
    layoutData.horizontalSpan = 4;
    description.setLayout(layout);
    description.setLayoutData(layoutData);
    description.setText(Messages.getString("StatisticsVisualisation.Description")); //$NON-NLS-1$
    final Text text = new Text(description, SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
    text.setEditable(false);
    text.setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    text.setLayoutData(layoutData);
    text.setText(Messages.getString("StatisticsVisualisation.Select")); //$NON-NLS-1$
    // Scrolled Composite
    new Label(chartGroup, SWT.NONE);
    final ScrolledComposite sc = new ScrolledComposite(chartGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    sc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.verticalIndent = -18; // TODO cleaner solution or test if its ok
    // on other platforms
    sc.setLayout(layout);
    sc.setLayoutData(layoutData);
    // Composite
    this.composite = new Composite(sc, SWT.NONE);
    this.composite.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    this.composite.setLayout(layout);
    this.composite.setLayoutData(layoutData);
    // init birt renderer
    try {
        PluginSettings ps = PluginSettings.instance();
        this.render = ps.getDevice("dv.SWT"); //$NON-NLS-1$
    } catch (ChartException exception) {
        Activator.logException(exception);
    }
    sc.setContent(this.composite);
    sc.addListener(SWT.Resize, new Listener() {

        public void handleEvent(final Event e) {
            int maxX = Math.max(StatisticsVisualisation.this.x, sc.getClientArea().width);
            int maxY = Math.max(StatisticsVisualisation.this.y, sc.getClientArea().height);
            StatisticsVisualisation.this.composite.setSize(maxX, maxY);
        }
    });
    this.composite.addPaintListener(new PaintListener() {

        public void paintControl(final PaintEvent e) {
            if (StatisticsVisualisation.this.chart != null) {
                paint(e);
            }
        }
    });
    this.composite.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(final DisposeEvent e) {
            disposeWidget(e);
        }
    });
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            if (treeViewer.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) treeViewer.getSelection();
                if (structuredSelection.getFirstElement() instanceof TreeNode) {
                    TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                    if (treeNode.getValue() instanceof IStatistics) {
                        IStatistics statistics = (IStatistics) treeNode.getValue();
                        text.setText(statistics.getDescription());
                    }
                }
            }
        }
    });
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            ISelection selection = treeViewer.getSelection();
            if (selection != null && selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                if (treeNode != null && treeNode.getValue() instanceof AbstractChartBuilder) {
                    AbstractChartBuilder abstractChartBuilder = (AbstractChartBuilder) treeNode.getValue();
                    IStatistics statistics = (IStatistics) treeNode.getParent().getValue();
                    text.setText(statistics.getDescription());
                    statistics.initialize();
                    abstractChartBuilder.setTitle(statistics.getTitle());
                    abstractChartBuilder.setXSeries(statistics.getXSeries());
                    abstractChartBuilder.setYSeries(statistics.getYSeries());
                    abstractChartBuilder.setZSeries(statistics.getZSeries());
                    abstractChartBuilder.build();
                    StatisticsVisualisation.this.setChart(abstractChartBuilder.getChart());
                    StatisticsVisualisation.this.x = abstractChartBuilder.minWidth();
                    StatisticsVisualisation.this.y = abstractChartBuilder.minHeight();
                    int maxX = Math.max(StatisticsVisualisation.this.x, sc.getClientArea().width);
                    int maxY = Math.max(StatisticsVisualisation.this.y, sc.getClientArea().height);
                    StatisticsVisualisation.this.composite.setSize(maxX, maxY);
                    StatisticsVisualisation.this.composite.redraw();
                }
            }
        }
    });
}

From source file:eu.geclipse.ui.providers.ProgressTreeNode.java

License:Open Source License

public ProgressTreeNode(final TreeViewer viewer) {

    this.tWork = 100;
    this.worked = 0;
    this.done = false;
    this.canceled = false;
    this.taskName = "Pending...";
    this.updater = new ProgressNodeUpdater(this);
    this.viewer = viewer;

    final Tree tree = viewer.getTree();
    if (!tree.isDisposed()) {
        Display display = tree.getDisplay();
        display.syncExec(new Runnable() {
            public void run() {
                if (!tree.isDisposed()) {
                    tree.addListener(SWT.MeasureItem, ProgressTreeNode.this);
                    tree.addListener(SWT.EraseItem, ProgressTreeNode.this);
                    tree.addListener(SWT.PaintItem, ProgressTreeNode.this);
                }//from w  ww.j  a  va 2  s  .c om
            }
        });
    }

}

From source file:eu.geclipse.ui.views.GridJobView.java

License:Open Source License

private void saveColumns(final IMemento parent) {
    IMemento memento = parent.createChild(XML_MEMENTO_COLUMNS);
    TreeViewer vwr = (TreeViewer) getViewer();
    Tree tree = vwr.getTree();
    int colNr = 0, sorted = 0;
    for (TreeColumn column : tree.getColumns()) {
        memento.putInteger(String.format(XML_MEMENTO_COLUMN_WIDTH, Integer.valueOf(colNr)), column.getWidth());
        if (tree.getSortColumn().equals(column)) {
            sorted = colNr;/*  w  w  w. j a v  a 2  s  .co  m*/
        }
        colNr++;
    }

    memento.putInteger(XML_MEMENTO_COLUMN_SORTED, sorted);
    memento.putInteger(XML_MEMENTO_COLUMN_SORTED_DIRECTON, tree.getSortDirection());
}

From source file:eu.geclipse.ui.views.GridJobView.java

License:Open Source License

private void readColumns(final IMemento parent) {
    int sortedDirection = SWT.DOWN;
    TreeViewer vwr = (TreeViewer) getViewer();
    Tree tree = vwr.getTree();
    TreeColumn sortedColumn = tree.getColumn(5);

    if (parent != null) {
        IMemento memento = parent.getChild(XML_MEMENTO_COLUMNS);

        if (memento != null) {
            int colNr = 0;
            for (TreeColumn column : tree.getColumns()) {
                Integer width = memento
                        .getInteger(String.format(XML_MEMENTO_COLUMN_WIDTH, Integer.valueOf(colNr)));

                if (width != null) {
                    column.setWidth(width.intValue());
                }//w  w w .  j  a  v  a  2 s  .  c  o  m
                colNr++;
            }

            Integer sortedColumnInt = memento.getInteger(XML_MEMENTO_COLUMN_SORTED);
            Integer sortDirectionInt = memento.getInteger(XML_MEMENTO_COLUMN_SORTED_DIRECTON);

            if (sortedColumnInt != null && sortDirectionInt != null
                    && sortedColumnInt.intValue() < tree.getColumnCount()) {
                sortedColumn = tree.getColumn(sortedColumnInt.intValue());
                sortedDirection = sortDirectionInt.intValue();
            }
        }
    }

    tree.setSortColumn(sortedColumn);
    tree.setSortDirection(sortedDirection);
}