List of usage examples for org.eclipse.jface.viewers OwnerDrawLabelProvider OwnerDrawLabelProvider
public OwnerDrawLabelProvider()
From source file:au.gov.ga.earthsci.application.parts.retrieve.RetrievePart.java
License:Apache License
private void createColumns() { TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("URL"); column.getColumn().setWidth(300);/*from w w w.j a v a2s. co m*/ column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; return retrieval.getURL().toString(); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Caller(s)"); column.getColumn().setWidth(200); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; StringBuilder sb = new StringBuilder(); for (Object caller : retrieval.getCallers()) { sb.append(", " + caller.toString()); //$NON-NLS-1$ } if (sb.length() == 0) { return sb.toString(); } return sb.substring(2); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Progress"); column.getColumn().setWidth(150); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void paint(Event event, Object element) { GC gc = event.gc; Color foreground = gc.getForeground(); Color background = gc.getBackground(); IRetrieval retrieval = (IRetrieval) element; float percentage = Math.max(0, retrieval.getPercentage()); String text = positionString(retrieval); Rectangle bounds = ((TableItem) event.item).getBounds(event.index); int width = (int) ((bounds.width - 1) * percentage); gc.setBackground(downloadBackgroundColor); gc.fillRectangle(event.x, event.y, width, event.height); Point size = event.gc.textExtent(text); int offset = Math.max(0, (event.height - size.y) / 2); gc.setForeground(event.display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); gc.drawText(text, event.x + 2, event.y + offset, true); gc.setForeground(background); gc.setBackground(foreground); } @Override protected void measure(Event event, Object element) { } }); }
From source file:au.gov.ga.earthsci.retrieve.part.RetrievePart.java
License:Apache License
private void createColumns() { TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("URL"); column.getColumn().setWidth(300);/*from www .j av a 2s .c o m*/ column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; return retrieval.getURL().toString(); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Caller(s)"); column.getColumn().setWidth(200); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; StringBuilder sb = new StringBuilder(); for (Object caller : retrieval.getCallers()) { sb.append(", " + caller.toString()); //$NON-NLS-1$ } if (sb.length() == 0) { return sb.toString(); } return sb.substring(2); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Progress"); column.getColumn().setWidth(150); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void paint(Event event, Object element) { GC gc = event.gc; Color foreground = gc.getForeground(); Color background = gc.getBackground(); IRetrieval retrieval = (IRetrieval) element; float percentage = Math.max(0, retrieval.getPercentage()); String text = positionString(retrieval); Rectangle bounds = ((TableItem) event.item).getBounds(event.index); int width = (int) ((bounds.width - 1) * percentage); gc.setBackground(DOWNLOAD_BACKGROUND_COLOR); gc.fillRectangle(event.x, event.y, width, event.height); Point size = event.gc.textExtent(text); int offset = Math.max(0, (event.height - size.y) / 2); gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND)); gc.drawText(text, event.x + 2, event.y + offset, true); gc.setForeground(background); gc.setBackground(foreground); } @Override protected void measure(Event event, Object element) { } }); }
From source file:com.mountainminds.eclemma.internal.ui.coverageview.CoverageView.java
License:Open Source License
public void createPartControl(Composite parent) { ContextHelp.setHelp(parent, ContextHelp.COVERAGE_VIEW); Tree tree = new Tree(parent, SWT.MULTI); tree.setHeaderVisible(true);/* w w w . j a v a 2 s . c o m*/ tree.setLinesVisible(true); viewer = new TreeViewer(tree); final TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT); column0.setLabelProvider(new CellLabelProvider() { private final ILabelProvider delegate = new WorkbenchLabelProvider(); @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(UIMessages.CoverageView_loadingMessage); cell.setImage(null); } else { cell.setText(cellTextConverter.getElementName(cell.getElement())); cell.setImage(delegate.getImage(cell.getElement())); } } }); sorter.addColumn(column0, COLUMN_ELEMENT); final TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.RIGHT); column1.setLabelProvider(new OwnerDrawLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getRatio(cell.getElement())); } } @Override protected void erase(Event event, Object element) { } @Override protected void measure(Event event, Object element) { } @Override protected void paint(Event event, Object element) { if (element != LOADING_ELEMENT) { ICounter counter = CoverageTools.getCoverageInfo(element).getCounter(settings.getCounters()); RedGreenBar.draw(event, column1.getColumn().getWidth(), counter, maxTotalCache.getMaxTotal(element)); } } }); sorter.addColumn(column1, COLUMN_RATIO); final TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT); column2.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getCovered(cell.getElement())); } } }); sorter.addColumn(column2, COLUMN_COVERED); final TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT); column3.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getMissed(cell.getElement())); } } }); sorter.addColumn(column3, COLUMN_MISSED); final TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT); column4.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getTotal(cell.getElement())); } } }); sorter.addColumn(column4, COLUMN_TOTAL); viewer.addFilter(new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { if (element == LOADING_ELEMENT) { return true; } else { final ICoverageNode c = CoverageTools.getCoverageInfo(element); if (c == null) { return false; } final ICounter instructions = c.getInstructionCounter(); if (instructions.getTotalCount() == 0) { return false; } if (settings.getHideUnusedElements() && instructions.getCoveredCount() == 0) { return false; } return true; } } }); settings.updateColumnHeaders(viewer); settings.restoreColumnWidth(viewer); viewer.setComparator(sorter); viewer.setContentProvider(new CoveredElementsContentProvider(settings)); viewer.setInput(CoverageTools.getJavaModelCoverage()); getSite().setSelectionProvider(viewer); selectiontracker = new SelectionTracker(this, viewer); createHandlers(); createActions(); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { openAction.run((IStructuredSelection) event.getSelection()); } }); MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); tree.setMenu(menuMgr.createContextMenu(tree)); getSite().registerContextMenu(menuMgr, viewer); CoverageTools.getSessionManager().addSessionListener(descriptionUpdater); CoverageTools.addJavaCoverageListener(coverageListener); }
From source file:com.mountainminds.eclemma.internal.ui.dialogs.CoveragePropertyPage.java
License:Open Source License
private Control createTable(Composite parent) { final Table table = new Table(parent, SWT.BORDER); initializeDialogUnits(table);/*from ww w. j a v a2 s .c o m*/ table.setHeaderVisible(true); table.setLinesVisible(true); TableViewer viewer = new TableViewer(table); createColumn(viewer, SWT.LEFT, 20, UIMessages.CoveragePropertyPageColumnCounter_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(line.label); } }); createColumn(viewer, SWT.RIGHT, 20, UIMessages.CoveragePropertyPageColumnCoverage_label, new OwnerDrawLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COVERAGE_VALUE.format(line.counter.getCoveredRatio())); } @Override protected void paint(Event event, Object element) { final Line line = (Line) element; RedGreenBar.draw(event, table.getColumn(1).getWidth(), line.counter); } @Override protected void erase(Event event, Object element) { } @Override protected void measure(Event event, Object element) { } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnCovered_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getCoveredCount())); } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnMissed_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getMissedCount())); } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnTotal_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getTotalCount())); } }); viewer.setContentProvider(new ArrayContentProvider()); viewer.addFilter(new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { return ((Line) element).counter.getTotalCount() != 0; } }); viewer.setInput(getLines()); return table; }
From source file:edu.washington.cs.cupid.editor.preferences.CupidRulerPreferencePage.java
License:Open Source License
@Override protected Control createContents(final Composite parent) { List<RulerPreference> current = Activator.getDefault().getRulerPreferences(); Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); final int margin = 5; layout.numColumns = 1;//w ww . jav a 2 s .co m layout.marginRight = margin; layout.marginTop = margin; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(GridData.FILL_BOTH); composite.setLayoutData(data); Label label = new Label(composite, SWT.NONE); label.setText("Active Capabilities:"); viewer = new TableViewer(composite); final Table table = viewer.getTable(); viewer.setContentProvider(new ArrayContentProvider()); table.setHeaderVisible(true); table.setLinesVisible(true); data = new GridData(GridData.FILL_BOTH); table.setLayoutData(data); table.addListener(SWT.MeasureItem, new Listener() { public void handleEvent(Event event) { // height cannot be per row so simply set event.height = 20; } }); TableColumn column = new TableColumn(table, SWT.NONE); column.setText("Capability"); column.setWidth(100); TableViewerColumn capabilityColumn = new TableViewerColumn(viewer, column); capabilityColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object elt) { return ((RulerPreference) elt).capability; } }); column = new TableColumn(table, SWT.NONE); column.setText("Output"); column.setWidth(100); TableViewerColumn outputColumn = new TableViewerColumn(viewer, column); outputColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object elt) { return ((RulerPreference) elt).output; } }); column = new TableColumn(table, SWT.NONE); column.setText("Color"); column.setWidth(100); TableViewerColumn actionsNameCol = new TableViewerColumn(viewer, column); actionsNameCol.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void measure(Event event, Object element) { event.setBounds(new Rectangle(event.x, event.y, 100, event.height)); } @Override protected void paint(Event event, Object element) { TableItem item = (TableItem) event.item; RulerPreference pref = (RulerPreference) item.getData(); if (pref.color != null) { event.gc.setBackground( new Color(CupidRulerPreferencePage.this.getShell().getDisplay(), pref.color)); event.gc.fillRectangle(new Rectangle(event.x, event.y, 200, event.height)); } } }); actionsNameCol.setEditingSupport(new ColorEditingSupport(viewer)); column = new TableColumn(table, SWT.NONE); column.setText("Enabled?"); column.setWidth(60); TableViewerColumn enabledColumn = new TableViewerColumn(viewer, column); enabledColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object elt) { return ((RulerPreference) elt).enabled ? "Enabled" : "Disabled"; } }); enabledColumn.setEditingSupport(new EnabledEditingSupport(viewer)); providers = RulerUtil.allLineProviders(current, false); for (LineProvider provider : providers) { RulerPreference pref = RulerUtil.getPreference(provider, current); if (pref != null) { model.add(pref); } else { model.add(new RulerPreference(provider.getCapability().getName(), provider.getOutput().getName(), provider.getColor(), true)); } } viewer.setInput(model); viewer.getTable().layout(true); return composite; }
From source file:no.resheim.elibrarium.epub.ui.reader.TOCOutlinePage.java
License:Open Source License
private void installLabelProvider(final TableViewerColumn column) { final PrettyTime pt = new PrettyTime(); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override/*ww w .j a va 2 s . c om*/ protected void paint(Event event, Object element) { GC gc = event.gc; Display display = column.getViewer().getControl().getDisplay(); Bookmark bookmark = (Bookmark) element; String date = pt.format(bookmark.getTimestamp()); int width = column.getColumn().getWidth(); // Calculate the size of the date string Point size = event.gc.textExtent(date, SWT.DRAW_DELIMITER | SWT.DRAW_TAB); int halfHeight = size.y / 2; int height = size.y; // if ((event.detail & SWT.SELECTED) != 0) { // Region region = new Region(); // gc.getClipping(region); // region.translate(10, 10); // // region.add(event.x, event.y - halfHeight, width, // // event.height - halfHeight); // gc.setClipping(region); // region.dispose(); // // Rectangle rect = event.getBounds(); // Color foreground = gc.getForeground(); // Color background = gc.getBackground(); // gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION)); // gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); // gc.fillGradientRectangle(0, rect.y, 500, rect.height, false); // // restore colors for subsequent drawing // gc.setForeground(foreground); // gc.setBackground(background); // event.detail &= ~SWT.SELECTED; // } // Draw the date gc.setFont(getFont(DATE_FONT)); gc.setForeground(JFaceResources.getColorRegistry().get(JFacePreferences.QUALIFIER_COLOR)); gc.drawText(date, width - size.x, event.y + size.y, true); // Paint the page number of the bookmark int pageNumber = bookmark.getPage(); String page = Integer.toString(pageNumber); Point pageSize = event.gc.textExtent(page, SWT.DRAW_DELIMITER | SWT.DRAW_TAB); gc.drawText(page, width - 16 - pageSize.x, event.y, true); // Draw icon if (bookmark instanceof TextAnnotation) { } else { int x = width - 9; gc.drawImage(EpubUiPlugin.getDefault().getImageRegistry().get(EpubUiPlugin.IMG_BOOKMARK), x, event.y + 1); } // Draw title gc.setFont(getFont(TITLE_FONT)); gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); // Make sure text does not span to far Region region = new Region(); gc.getClipping(region); region.subtract(width - 32 - pageSize.x, event.y, width, height); gc.setClipping(region); region.dispose(); String text = bookmark.getText(); if (text == null) { text = "<missing text>"; } if (bookmark instanceof TextAnnotation) { if ((event.detail & SWT.SELECTED) == 0) { gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW)); gc.drawText(text, event.x + 1, event.y, false); } else { gc.drawText(text, event.x + 1, event.y, true); } } else { gc.drawText(text, event.x + 1, event.y, true); } // Draw separator drawUnderline(event, gc, width, size, halfHeight); } public Font getFont(String fontName) { IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager(); ITheme currentTheme = themeManager.getCurrentTheme(); FontRegistry fontRegistry = currentTheme.getFontRegistry(); Font font = fontRegistry.get(fontName); return font; } /** * Draws a separator between the rows. */ public void drawUnderline(Event event, GC gc, int width, Point size, int halfHeight) { int y = (event.y + size.y * 2) + halfHeight - 2; int center = (width / 2); gc.setForeground(JFaceResources.getColorRegistry().get(JFacePreferences.QUALIFIER_COLOR)); gc.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); gc.fillGradientRectangle(center, y, center, 1, false); gc.setBackground(JFaceResources.getColorRegistry().get(JFacePreferences.QUALIFIER_COLOR)); gc.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); gc.fillGradientRectangle(0, y, center, 1, false); } @Override protected void measure(Event event, Object element) { String text = "A"; Point size = event.gc.textExtent(text, SWT.DRAW_DELIMITER | SWT.DRAW_TAB); event.width = bookmarks.getTable().getColumn(event.index).getWidth(); // we need two lines of text and some space int halfHeight = size.y / 2; event.height = size.y * 2 + halfHeight; } }); }
From source file:org.bbaw.pdr.ae.view.network.views.RelationTableView.java
License:Open Source License
private void createViewer(Composite parent, Vector<OrderingHead> arrangedAspects, String[] columntitles) { // Define the TableViewer viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); // Create the columns createColumns(parent, columntitles); // Make lines and make header visible final Table table = viewer.getTable(); table.setHeaderVisible(true);/* www . ja v a 2 s. c o m*/ table.setLinesVisible(true); // Set the ContentProvider viewer.setContentProvider(new PersonAspectRelationContentProvider()); viewer.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void measure(Event event, Object element) { event.height = 26 + 18 * _maxRows; } @Override protected void paint(Event event, Object element) { Image img = null; if (event.index == 0) { img = _imageReg.get(IconsInternal.PERSON); Rectangle bounds = ((TableItem) event.item).getBounds(event.index); Rectangle imgBounds = img.getBounds(); bounds.height /= 2; bounds.height -= imgBounds.height / 2; int y = bounds.height > 0 ? bounds.y + bounds.height : bounds.y; event.gc.drawImage(img, 0, y); event.gc.drawText(getFirstColumnText(element, event.index), imgBounds.width + 2, y, true); } else { } } public String getFirstColumnText(Object element, int columnIndex) { if (element instanceof String) { return ((String) element); } else if (element instanceof Object[]) { if (columnIndex == 0) { return ((String) ((Object[]) element)[0]); } } return null; } }); // Get the content for the Viewer, // setInput will call getElements in the ContentProvider if (arrangedAspects != null) viewer.setInput(arrangedAspects); TableItem[] items = table.getItems(); TableItem item; SelectionListener selectionListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Control l = (Control) e.widget; PdrId id = (PdrId) l.getData("id"); PdrId subj; PdrId obj; Aspect a; if (id != null) { a = _facade.getAspect(id); } else { subj = (PdrId) l.getData("sub"); obj = (PdrId) l.getData("obj"); if (_facade.getLastAspects() != null && !_facade.getLastAspects().isEmpty()) { a = _pdrObjectBuilder.buildSimilarAspect(subj, obj, _facade.getLastAspects().lastElement()); } else { a = _pdrObjectBuilder.buildSimilarAspect(subj, obj, null); } } _facade.setCurrentAspect(a); IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench() .getService(IHandlerService.class); try { handlerService.executeCommand("org.bbaw.pdr.ae.view.main.commands.CallAspectEditor", //$NON-NLS-1$ new Event()); } catch (ExecutionException ex) { ex.printStackTrace(); } catch (NotDefinedException ex) { ex.printStackTrace(); } catch (NotEnabledException ex) { ex.printStackTrace(); } catch (NotHandledException ex) { ex.printStackTrace(); } } }; Relation relation; for (int i = 0; i < items.length; i++) { TableEditor editor = new TableEditor(table); GridLayout gl = new GridLayout(2, false); gl.marginHeight = 0; gl.marginWidth = 0; PdrId subject = new PdrId(arrangedAspects.get(i).getValue()); item = items[i]; int rows = 0; if (item.getData() != null) { Object[] objs = (Object[]) item.getData(); if (objs.length > 1) { for (int j = 1; j < objs.length; j++) { Object o = objs[j]; PdrId objectId = new PdrId(arrangedAspects.get(j - 1).getValue()); boolean empty = true; editor = new TableEditor(table); Composite composite = new Composite(table, SWT.NONE); // composite.setText("Text"); composite.setLayout(gl); composite.setBackground(AEVIEWConstants.VIEW_BACKGROUND_DESELECTED_COLOR); editor.grabHorizontal = true; if (o != null && o instanceof Vector<?>) { Vector<Aspect> aspects = (Vector<Aspect>) o; if (!aspects.isEmpty()) { RelationStm relationSm; String relationString = null; for (Aspect a : aspects) { rows = 0; if (a.getRelationDim() != null && !a.getRelationDim().getRelationStms().isEmpty()) { for (int k = 0; k < a.getRelationDim().getRelationStms().size(); k++) { relationSm = a.getRelationDim().getRelationStms().get(k); if (relationSm.getSubject() != null && relationSm.getSubject().equals(subject) && relationSm.getRelations() != null && !relationSm.getRelations().isEmpty()) { for (int l = 0; l < relationSm.getRelations().size(); l++) { relation = relationSm.getRelations().get(l); if (relation.getObject().equals(objectId) && relation.getContext() != null) { empty = false; rows++; relationString = PDRConfigProvider.getLabelOfRelation( relation.getProvider(), relation.getContext(), relation.getRClass(), relation.getRelation()); Label label = new Label(composite, SWT.NONE); label.setImage(_imageReg.get(IconsInternal.RELATION)); label.setBackground( AEVIEWConstants.VIEW_BACKGROUND_DESELECTED_COLOR); Link link = new Link(composite, SWT.None); link.setText("<a>" + relationString + ": " + a.getDisplayNameWithID() + "</a>"); link.setBackground( AEVIEWConstants.VIEW_BACKGROUND_DESELECTED_COLOR); link.setData("id", a.getPdrId()); final AspectPresentationTooltip aspectTooltip = new AspectPresentationTooltip( link, a); aspectTooltip.setPopupDelay(1); aspectTooltip.setHideDelay(0); aspectTooltip.setHideOnMouseDown(false); aspectTooltip.activate(); link.addSelectionListener(selectionListener); link.pack(); } } } } } if (rows > _maxRows) { _maxRows = rows; } } } } if (arrangedAspects.size() < 12 && empty && i != j - 1) { Button newAspect = new Button(composite, SWT.PUSH); newAspect.setImage(_imageReg.get(IconsInternal.ASPECT_ADD_SAME_PERSON)); newAspect.setBackground(AEVIEWConstants.VIEW_BACKGROUND_DESELECTED_COLOR); newAspect.setData("sub", subject.clone()); newAspect.setData("obj", objectId.clone()); newAspect.addSelectionListener(selectionListener); newAspect.pack(); } composite.pack(); composite.layout(); editor.setEditor(composite, items[i], j); editor.minimumHeight = 20; } } } } // // Make the selection available to other Views getSite().setSelectionProvider(viewer); // Layout the viewer GridData gridData = new GridData(); gridData.verticalAlignment = GridData.FILL; gridData.horizontalSpan = 2; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = GridData.FILL; viewer.getControl().setLayoutData(gridData); // Set the sorter for the table // viewer.setComparator(comparator); }
From source file:org.dafoe.corpuslevel.ui.views.Snippet006TableMultiLineCells.java
License:Open Source License
public void createPartControl(Composite parent) { viewer = new TableViewer(parent, SWT.FULL_SELECTION); viewer.setContentProvider(new IStructuredContentProvider() { /*//from w ww .j ava2 s. com * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { }; /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ public Object[] getElements(Object inputElement) { return entries; }; /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ public void inputChanged(org.eclipse.jface.viewers.Viewer viewer, Object oldInput, Object newInput) { } }); createColumns(); viewer.setLabelProvider(new OwnerDrawLabelProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.OwnerDrawLabelProvider#measure(org.eclipse.swt.widgets.Event, java.lang.Object) */ protected void measure(Event event, Object element) { LineEntry line = (LineEntry) element; Point size = event.gc.textExtent(line.line); event.width = viewer.getTable().getColumn(event.index).getWidth(); int lines = size.x / Math.max(1, event.width) + 1; event.height = size.y * lines; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.OwnerDrawLabelProvider#paint(org.eclipse.swt.widgets.Event, * java.lang.Object) */ protected void paint(Event event, Object element) { LineEntry entry = (LineEntry) element; event.gc.drawText(entry.line, event.x, event.y, true); } }); viewer.setInput(this); GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); viewer.getControl().setLayoutData(data); OwnerDrawLabelProvider.setUpOwnerDraw(viewer); viewer.setSelection(new StructuredSelection(entries[1])); }
From source file:org.eclipse.eclemma.internal.ui.coverageview.CoverageView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { ContextHelp.setHelp(parent, ContextHelp.COVERAGE_VIEW); Tree tree = new Tree(parent, SWT.MULTI); tree.setHeaderVisible(true);//from ww w . j a v a 2 s .c o m tree.setLinesVisible(true); viewer = new TreeViewer(tree); final TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT); column0.setLabelProvider(new CellLabelProvider() { private final ILabelProvider delegate = new WorkbenchLabelProvider(); @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(UIMessages.CoverageView_loadingMessage); cell.setImage(null); } else { cell.setText(cellTextConverter.getElementName(cell.getElement())); cell.setImage(delegate.getImage(cell.getElement())); } } }); sorter.addColumn(column0, COLUMN_ELEMENT); final TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.RIGHT); column1.setLabelProvider(new OwnerDrawLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getRatio(cell.getElement())); } } @Override protected void erase(Event event, Object element) { } @Override protected void measure(Event event, Object element) { } @Override protected void paint(Event event, Object element) { final ICoverageNode coverage = CoverageTools.getCoverageInfo(element); if (coverage != null) { final ICounter counter = coverage.getCounter(settings.getCounters()); RedGreenBar.draw(event, column1.getColumn().getWidth(), counter, maxTotalCache.getMaxTotal(element)); } } }); sorter.addColumn(column1, COLUMN_RATIO); final TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT); column2.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getCovered(cell.getElement())); } } }); sorter.addColumn(column2, COLUMN_COVERED); final TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT); column3.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getMissed(cell.getElement())); } } }); sorter.addColumn(column3, COLUMN_MISSED); final TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT); column4.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { if (cell.getElement() == LOADING_ELEMENT) { cell.setText(""); //$NON-NLS-1$ } else { cell.setText(cellTextConverter.getTotal(cell.getElement())); } } }); sorter.addColumn(column4, COLUMN_TOTAL); viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element == LOADING_ELEMENT) { return true; } else { final ICoverageNode c = CoverageTools.getCoverageInfo(element); if (c == null) { return false; } final ICounter instructions = c.getInstructionCounter(); if (instructions.getTotalCount() == 0) { return false; } if (settings.getHideUnusedElements() && instructions.getCoveredCount() == 0) { return false; } return true; } } }); settings.updateColumnHeaders(viewer); settings.restoreColumnWidth(viewer); viewer.setComparator(sorter); viewer.setContentProvider(new CoveredElementsContentProvider(settings)); viewer.setInput(CoverageTools.getJavaModelCoverage()); getSite().setSelectionProvider(viewer); selectiontracker = new SelectionTracker(this, viewer); createHandlers(); createActions(); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { openAction.run((IStructuredSelection) event.getSelection()); } }); MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); tree.setMenu(menuMgr.createContextMenu(tree)); getSite().registerContextMenu(menuMgr, viewer); CoverageTools.getSessionManager().addSessionListener(descriptionUpdater); CoverageTools.addJavaCoverageListener(coverageListener); }
From source file:org.eclipse.eclemma.internal.ui.dialogs.CoveragePropertyPage.java
License:Open Source License
private Control createTable(Composite parent) { final Table table = new Table(parent, SWT.BORDER); initializeDialogUnits(table);//from w w w .j a va2 s . com table.setHeaderVisible(true); table.setLinesVisible(true); TableViewer viewer = new TableViewer(table); createColumn(viewer, SWT.LEFT, 20, UIMessages.CoveragePropertyPageColumnCounter_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(line.label); } }); createColumn(viewer, SWT.RIGHT, 20, UIMessages.CoveragePropertyPageColumnCoverage_label, new OwnerDrawLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COVERAGE_VALUE.format(line.counter.getCoveredRatio())); } @Override protected void paint(Event event, Object element) { final Line line = (Line) element; RedGreenBar.draw(event, table.getColumn(1).getWidth(), line.counter); } @Override protected void erase(Event event, Object element) { } @Override protected void measure(Event event, Object element) { } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnCovered_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getCoveredCount())); } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnMissed_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getMissedCount())); } }); createColumn(viewer, SWT.RIGHT, 16, UIMessages.CoveragePropertyPageColumnTotal_label, new CellLabelProvider() { @Override public void update(ViewerCell cell) { final Line line = (Line) cell.getElement(); cell.setText(COUNTER_VALUE.format(line.counter.getTotalCount())); } }); viewer.setContentProvider(new ArrayContentProvider()); viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return ((Line) element).counter.getTotalCount() != 0; } }); viewer.setInput(getLines()); return table; }