List of usage examples for org.eclipse.jface.viewers ColorCellEditor ColorCellEditor
public ColorCellEditor(Composite parent, int style)
From source file:cop.swt.widgets.viewers.table.columns.settings.ColorColumn.java
License:LGPL
@Override public CellEditor getCellEditor(Composite parent) { if (editor == null) editor = new ColorCellEditor(parent, SWT.NONE); return editor; }
From source file:org.dawnsci.common.widgets.tree.ValueEditingSupport.java
License:Open Source License
protected CellEditor createColorEditor(final ColorNode element) { final ColorCellEditor ce = new ColorCellEditor((Composite) viewer.getControl(), SWT.NONE); return ce;// ww w . j a va 2s .c o m }
From source file:org.eclipse.richbeans.generator.TableCellEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(Object element) { Class<?> type = (Class<?>) BeanProperties.value(element.getClass(), column.getName()).getValueType(); if (isInteger(type)) { SpinnerCellEditor editor = new SpinnerCellEditor(table, SWT.NONE); editor.setMinimum(column.getMinInt()); editor.setMaximum(column.getMaxInt()); return editor; } else if (isNumber(type)) { return new NumberCellEditor(table, type, column.getMinDouble(), column.getMaxDouble(), null, SWT.NONE); } else if (isRGB(type)) { return new ColorCellEditor(table, SWT.NONE); }/* w w w .j a va 2 s . c om*/ return new TextCellEditor(table, SWT.NONE); }
From source file:org.osate.imv.ui.views.FlowImpView.java
License:Open Source License
protected TableViewer createTableViewer(Composite parent) { TableViewer viewer = new TableViewer(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); // Configure table. final Table table = viewer.getTable(); table.setHeaderVisible(false);/*from w w w. ja v a2 s . c o m*/ table.setLinesVisible(true); // We do NOT want the cell background to be cleared when a row has focus or is selected. table.addListener(SWT.EraseItem, new Listener() { @Override public void handleEvent(Event event) { if (event.index == 1) { TableItem item = (TableItem) event.item; Object data = item.getData(); if (data instanceof FlowHighlighter) { // Force background to be drawn. GC gc = event.gc; Color oldBg = gc.getBackground(); Rectangle clipping = gc.getClipping(); Rectangle rect = new Rectangle(clipping.x + 4, clipping.y + 4, clipping.width - 8, clipping.height - 8); gc.setBackground(((FlowHighlighter) data).getColor()); gc.fillRoundRectangle(rect.x, rect.y, rect.width, rect.height, 2, 2); gc.setBackground(oldBg); } } if (event.index > 0) { event.detail &= ~SWT.SELECTED; event.detail &= ~SWT.FOCUSED; } } }); // The first column contains a check box used for enabling/disabling highlighting for a particular // flow. TableViewerColumn col1 = createTableViewerColumn("Flow", 0, 300, viewer); // The first column contains a check box used for setting the feature // category inhibit status. col1.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(col1.getViewer()) { @Override protected boolean isChecked(Object element) { return ((FlowHighlighter) element).isHighlight(); } public String getText(Object element) { String label = ""; if (element instanceof FlowHighlighter) { if (((FlowHighlighter) element).getFlowImpl() != null) { label = " " + ((FlowHighlighter) element).getFlowImpl().getSpecification().getName(); } else // phf: added ETEF if (((FlowHighlighter) element).getETEF() != null) { label = " " + ((FlowHighlighter) element).getETEF().getName(); } } return label; } }); col1.setEditingSupport(new EditingSupport(viewer) { @Override protected CellEditor getCellEditor(Object element) { return new CheckboxCellEditor(tableViewer.getTable()); } @Override protected boolean canEdit(Object element) { return true; } @Override protected Object getValue(Object element) { return ((FlowHighlighter) element).isHighlight(); } @Override protected void setValue(Object element, Object value) { // Set new value. ((FlowHighlighter) element).setHighlight(((Boolean) value).booleanValue()); // Update cell. tableViewer.refresh(); } }); // The seconds column contains a combo box editor for selecting the highlighter color. TableViewerColumn col2 = createTableViewerColumn("Color", 0, 200, viewer); col2.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return null; // No label is displayed. } }); col2.setEditingSupport(new EditingSupport(col2.getViewer()) { private ColorCellEditor cellEditor = null; @Override protected CellEditor getCellEditor(Object element) { if (cellEditor == null) { cellEditor = new ColorCellEditor((Composite) getViewer().getControl(), SWT.READ_ONLY); } return cellEditor; } @Override protected boolean canEdit(Object element) { return true; } @Override protected Object getValue(Object element) { if (element instanceof FlowHighlighter) { FlowHighlighter highlighter = (FlowHighlighter) element; return highlighter.getColor().getRGB(); } return null; } @Override protected void setValue(Object element, Object value) { if (element instanceof FlowHighlighter && value instanceof RGB) { FlowHighlighter highlighter = (FlowHighlighter) element; Color newColor = new Color(Display.getCurrent(), (RGB) value); // only set new value if it differs from old one if (!highlighter.getColor().equals(newColor)) { highlighter.setColor(newColor); tableViewer.update(element, new String[] { FlowHighlighter.COLOR_PROPERTY }); } } } }); return viewer; }