List of usage examples for org.eclipse.jface.viewers ViewerCell getImageBounds
public Rectangle getImageBounds()
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(); }