Example usage for org.eclipse.jface.viewers ViewerCell getImageBounds

List of usage examples for org.eclipse.jface.viewers ViewerCell getImageBounds

Introduction

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

Prototype

public Rectangle getImageBounds() 

Source Link

Document

Returns the location and bounds of the area where the image is drawn

Usage

From source file:de.walware.ecommons.ui.util.ColumnHoverManager.java

License:Open Source License

@Override
protected void computeInformation() {
    //      if (!fProcessMouseHoverEvent) {
    //         setInformation(null, null);
    //         return;
    //      }/*from w ww.  j a va 2s  .c  o  m*/

    final Point location = getHoverEventLocation();
    final ViewerCell cell = computeCellAtLocation(location);
    if (cell == null) {
        setInformation(null, null);
        return;
    }
    final Object element = prepareHoverInformation(cell);
    if (element == null) {
        setInformation(null, null);
        return;
    }
    final Rectangle textArea = cell.getTextBounds();
    final Rectangle imageArea = cell.getImageBounds();
    final Rectangle clientArea = fSubjectControl.getClientArea();
    final int x = Math.max(0, Math.min(textArea.x, imageArea.x));
    int x2 = (clientArea.width + location.x) / 2;
    x2 = Math.min(x2, location.x + 120);
    //      final int x2 = clientArea.width;
    final Rectangle area = new Rectangle(x, textArea.y, x2 - x, textArea.height);

    synchronized (fMutex) {
        if (fThread != null) {
            setInfo(null, null);
            return;
        }

        fThread = new Thread("Structured Viewer Hover Presenter") { //$NON-NLS-1$
            @Override
            public void run() {
                boolean ok = false;
                try {
                    if (fThread == null) {
                        return;
                    }
                    final Object information = getHoverInformation(element);

                    //               if (hover instanceof ITextHoverExtension)
                    //                  setCustomInformationControlCreator(((ITextHoverExtension) hover).getHoverControlCreator());
                    //               else
                    //                  setCustomInformationControlCreator(null);

                    synchronized (fMutex) {
                        if (fThread != null && information != null) {
                            setInfo(information, area);
                            fThread = null;
                            ok = true;
                        }
                    }
                } catch (final RuntimeException e) {
                    StatusManager.getManager().handle(new Status(IStatus.ERROR, SharedUIResources.PLUGIN_ID,
                            IStatus.OK, "Unexpected runtime error while computing a element hover", e)); //$NON-NLS-1$
                } finally {
                    if (!ok) {
                        synchronized (fMutex) {
                            setInfo(null, null);
                            fThread = null;
                        }
                    }
                }
            }
        };

        fThread.setDaemon(true);
        fThread.setPriority(Thread.MIN_PRIORITY);
        fThread.start();
    }
}

From source file:org.eclipse.scada.ui.chart.view.ChartControllerView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    this.dbc = new DataBindingContext();

    parent.setLayout(new FillLayout());

    final Composite wrapper = new Composite(parent, SWT.NONE);
    wrapper.setLayout(new FillLayout());

    this.viewer = new TableViewer(wrapper, SWT.FULL_SELECTION);
    this.viewer.getTable().setHeaderVisible(true);

    final TableLayout layout = new TableLayout();
    this.viewer.getTable().setLayout(layout);

    final ObservableListContentProvider provider = new ObservableListContentProvider();
    this.viewer.setContentProvider(provider);

    {/*from w  w  w . ja  v a2  s. c  om*/
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Input");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), SeriesInformation.PROP_LABEL)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getLabel());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Preview");
        col.getColumn().setAlignment(SWT.CENTER);
        layout.addColumnData(new ColumnPixelData(50));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_PREVIEW)) {

            @Override
            public void update(final ViewerCell cell) {
                final Rectangle rect = cell.getImageBounds();

                if (rect != null && rect.width > 0 && rect.height > 0) {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(rect.width, rect.height));
                } else {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(50, 20));
                }
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("State");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_STATE)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getState());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Timestamp");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_TIMESTAMP)) {

            @Override
            public void update(final ViewerCell cell) {
                final Calendar timestamp = ((ChartInput) cell.getElement()).getSelectedTimestamp();
                cell.setText(timestamp == null ? null
                        : DateFormat.getDateTimeInstance().format(timestamp.getTime()));
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Value");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_VALUE)) {

            @Override
            public void update(final ViewerCell cell) {
                final Double value = ((ChartInput) cell.getElement()).getSelectedValue();
                if (value == null) {
                    cell.setText("<none>");
                } else {
                    cell.setText(NumberFormat.getNumberInstance().format(value));
                }
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Quality");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_QUALITY)) {

            @Override
            public void update(final ViewerCell cell) {
                final Double quality = ((ChartInput) cell.getElement()).getSelectedQuality();
                if (quality == null) {
                    cell.setText(null);
                } else {
                    cell.setText(NumberFormat.getPercentInstance().format(quality));
                }
            }
        });
    }

    getSite().setSelectionProvider(this.viewer);

    contribueTo(getViewSite());

    attachSelectionService();
}

From source file:org.openscada.ui.chart.view.ChartControllerView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    this.dbc = new DataBindingContext();

    parent.setLayout(new FillLayout());

    final Composite wrapper = new Composite(parent, SWT.NONE);

    this.viewer = new TableViewer(wrapper, SWT.FULL_SELECTION);
    this.viewer.getTable().setHeaderVisible(true);

    final TableColumnLayout layout = new TableColumnLayout();
    wrapper.setLayout(layout);/*w  ww .jav a2s .c  om*/

    final ObservableListContentProvider provider = new ObservableListContentProvider();
    this.viewer.setContentProvider(provider);

    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Input");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), "label")) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getLabel());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Preview");
        col.getColumn().setAlignment(SWT.CENTER);
        layout.setColumnData(col.getColumn(), new ColumnPixelData(50));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_PREVIEW)) {

            @Override
            public void update(final ViewerCell cell) {
                final Rectangle rect = cell.getImageBounds();

                if (rect != null && rect.width > 0 && rect.height > 0) {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(rect.width, rect.height));
                } else {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(50, 20));
                }
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("State");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_STATE)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getState());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Timestamp");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), ChartInput.PROP_SELECTED_TIMESTAMP)) {

            @Override
            public void update(final ViewerCell cell) {
                final Date timestamp = ((ChartInput) cell.getElement()).getSelectedTimestamp();
                cell.setText(timestamp == null ? null : DateFormat.getDateTimeInstance().format(timestamp));
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Value");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_SELECTED_VALUE)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getSelectedValue());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Quality");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_SELECTED_QUALITY)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getSelectedQuality());
            }
        });
    }

    getSite().setSelectionProvider(this.viewer);

    contribueTo(getViewSite());

    attachSelectionService();
}