List of usage examples for org.eclipse.jface.viewers CheckboxCellEditor CheckboxCellEditor
public CheckboxCellEditor(Composite parent)
From source file:Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w w w.j a v a 2 s . c om v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 1 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return false; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 2 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } protected Object getValue(Object element) { return new Boolean(((MyModel) element).bool); } protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e }); } catch (SecurityException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NoSuchMethodException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalArgumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:cc.warlock.rcp.views.ScriptManager.java
License:Open Source License
@Override public void createPartControl(Composite parent) { main = parent;/* ww w . j a v a 2 s .co m*/ GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.horizontalSpacing = 0; layout.marginBottom = 0; layout.marginHeight = 0; layout.marginLeft = 0; layout.marginRight = 0; layout.marginTop = 0; layout.marginWidth = 0; layout.verticalSpacing = 0; parent.setLayout(layout); scriptsTable = new TableViewer(parent, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.FILL); scriptsTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); scriptsTable.setUseHashlookup(true); scriptsTable.setColumnProperties(new String[] { "name", "pause", "stop" }); scriptsTable.getTable().setLinesVisible(true); //scriptsTable.getTable().setHeaderVisible(true); CellEditor editors[] = new CellEditor[] { new TextCellEditor(scriptsTable.getTable()), new CheckboxCellEditor(scriptsTable.getTable()), new CheckboxCellEditor(scriptsTable.getTable()) }; scriptsTable.setCellEditors(editors); scriptsTable.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return false; } public Object getValue(Object element, String property) { return ((ScriptRow) element).getName(); } public void modify(Object element, String property, Object value) { return; } }); nameColumn = new TableColumn(scriptsTable.getTable(), SWT.LEFT, 0); nameColumn.setText("Name"); pauseColumn = new TableColumn(scriptsTable.getTable(), SWT.RIGHT, 1); pauseColumn.setWidth(30); pauseColumn.setText("Pause"); stopColumn = new TableColumn(scriptsTable.getTable(), SWT.RIGHT, 2); stopColumn.setWidth(30); stopColumn.setText("Stop"); scriptsTable.setLabelProvider(new ScriptsLabelProvider()); scriptsTable.setContentProvider(ArrayContentProvider.getInstance()); scriptsTable.setInput(new ScriptRow[] { new ScriptRow("sfhunter.cmd", false), new ScriptRow("train.cmd", true), new ScriptRow("do.wiz", false), new ScriptRow("go.wsl", true) }); main.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { Rectangle area = main.getClientArea(); Table table = scriptsTable.getTable(); Point size = table.computeSize(SWT.DEFAULT, SWT.DEFAULT); ScrollBar vBar = table.getVerticalBar(); int width = area.width - table.computeTrim(0, 0, 0, 0).width - vBar.getSize().x; if (size.y > area.height + table.getHeaderHeight()) { // Subtract the scrollbar width from the total column width // if a vertical scrollbar will be required Point vBarSize = vBar.getSize(); width -= vBarSize.x; } Point oldSize = table.getSize(); if (oldSize.x > area.width) { // table is getting smaller so make the columns // smaller first and then resize the table to // match the client area width nameColumn.setWidth(width - 60); stopColumn.setWidth(30); pauseColumn.setWidth(30); table.setSize(area.width, area.height); } else { // table is getting bigger so make the table // bigger first and then make the columns wider // to match the client area width table.setSize(area.width, area.height); nameColumn.setWidth(width - 60); stopColumn.setWidth(30); pauseColumn.setWidth(30); } } }); }
From source file:ch.elexis.core.ui.dialogs.OrderImportDialog.java
License:Open Source License
private void createViewerColumns() { TableViewerColumn column;/*from www .ja v a 2 s . c o m*/ final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(viewer.getTable()); final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTable()); /* OK (checkbox column) */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("OK"); column.getColumn().setWidth(50); column.setLabelProvider(new CheckboxLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return checkboxCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return new Boolean(orderElement.isVerified()); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof Boolean) { Boolean bValue = (Boolean) value; orderElement.setVerified(bValue.booleanValue()); } viewer.update(orderElement, null); } } }); /* Amount delivered*/ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Geliefert"); column.getColumn().setWidth(60); column.setLabelProvider(new AmountLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return textCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return orderElement.getAmountAsString(); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof String) { String text = (String) value; try { int amount = Integer.parseInt(text); orderElement.setAmount(amount); orderElement.setVerified(true); } catch (NumberFormatException ex) { // ignore invalid value } } viewer.update(orderElement, null); } } }); /* Amount on stock*/ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Lager"); column.getColumn().setWidth(60); column.setLabelProvider(new StockLabelProvider()); /* Pharamcode */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Pharmacode"); column.getColumn().setWidth(80); column.setLabelProvider(new PharamcodeLabelProvider()); /* EAN */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("EAN"); column.getColumn().setWidth(110); column.setLabelProvider(new EANLabelProvider()); /* Description */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Beschreibung"); column.getColumn().setWidth(300); column.setLabelProvider(new DescriptionLabelProvider()); }
From source file:ch.elexis.dialogs.OrderImportDialog.java
License:Open Source License
private void createViewerColumns() { TableViewerColumn column;/* w w w.j ava 2 s .c om*/ final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(viewer.getTable()); final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTable()); /* OK (checkbox column) */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("OK"); column.getColumn().setWidth(50); column.setLabelProvider(new CheckboxLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return checkboxCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return new Boolean(orderElement.isVerified()); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof Boolean) { Boolean bValue = (Boolean) value; orderElement.setVerified(bValue.booleanValue()); } viewer.update(orderElement, null); } } }); /* Amount */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Geliefert"); column.getColumn().setWidth(60); column.setLabelProvider(new AmountLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return textCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return orderElement.getAmountAsString(); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof String) { String text = (String) value; try { int amount = Integer.parseInt(text); orderElement.setAmount(amount); orderElement.setVerified(true); } catch (NumberFormatException ex) { // ignore invalid value } } viewer.update(orderElement, null); } } }); /* Amount */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Lager"); column.getColumn().setWidth(60); column.setLabelProvider(new StockLabelProvider()); /* Pharamcode */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Pharmacode"); column.getColumn().setWidth(80); column.setLabelProvider(new PharamcodeLabelProvider()); /* EAN */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("EAN"); column.getColumn().setWidth(110); column.setLabelProvider(new EANLabelProvider()); /* Description */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Beschreibung"); column.getColumn().setWidth(300); column.setLabelProvider(new DescriptionLabelProvider()); }
From source file:com.appnativa.studio.properties.CheckBoxPropertyDescriptor.java
License:Open Source License
/** * The <code>CheckBoxPropertyDescriptor</code> implementation of this * <code>IPropertyDescriptor</code> method creates and returns a new * <code>ColorCellEditor</code>. * <p>//from w w w. ja v a2s . c om * The editor is configured with the current validator if there is one. * </p> */ public CellEditor createPropertyEditor(Composite parent) { CellEditor editor = new CheckboxCellEditor(parent); if (getValidator() != null) { editor.setValidator(getValidator()); } return editor; }
From source file:com.aptana.editor.common.preferences.ValidationPreferencePage.java
License:Open Source License
private Control createValidators(Composite parent) { Composite main = new Composite(parent, SWT.NONE); main.setLayout(GridLayoutFactory.fillDefaults().spacing(0, 0).create()); Composite labelComp = new Composite(main, SWT.NONE); labelComp.setLayout(GridLayoutFactory.fillDefaults().extendedMargins(5, 0, 0, 0).numColumns(2) .spacing(2, SWT.DEFAULT).create()); labelComp.setLayoutData(GridDataFactory.swtDefaults().grab(true, false).create()); Label label = new Label(labelComp, SWT.NONE); label.setText(Messages.ValidationPreferencePage_LBL_Validators); Label helpImage = new Label(labelComp, SWT.NONE); helpImage.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_LCL_LINKTO_HELP)); helpImage.setToolTipText(Messages.ValidationPreferencePage_EnablingValidatorWarning); Group group = new Group(main, SWT.NONE); group.setLayout(GridLayoutFactory.swtDefaults().margins(4, 4).create()); group.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Table table = new Table(group, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); table.setLayoutData(GridDataFactory.fillDefaults().hint(300, 100).grab(true, false).create()); table.setLinesVisible(true);/*from w w w .j ava 2 s.c om*/ table.setHeaderVisible(true); // set up columns // Name column TableColumn name = new TableColumn(table, SWT.LEFT); name.setWidth(250); name.setText(Messages.ValidationPreferencePage_NameColumn); name.setToolTipText(Messages.ValidationPreferencePage_NameColumn); // Build column TableColumn build = new TableColumn(table, SWT.CENTER); build.setWidth(40); build.setText(Messages.ValidationPreferencePage_BuildColumn); build.setToolTipText(Messages.ValidationPreferencePage_BuildColumn); // Reconcile column TableColumn reconcile = new TableColumn(table, SWT.CENTER); reconcile.setWidth(75); reconcile.setText(Messages.ValidationPreferencePage_ReconcileColumn); reconcile.setToolTipText(Messages.ValidationPreferencePage_ReconcileColumn); // Now set up table viewer! validatorsViewer = new TableViewer(table); // validatorsViewer.setUseHashlookup(true); validatorsViewer.setColumnProperties(new String[] { NAME, BUILD, RECONCILE }); // Assign the cell editors to the viewer validatorsViewer.setCellEditors( new CellEditor[] { null, new CheckboxCellEditor(table), new CheckboxCellEditor(table) }); // Set the cell modifier for the viewer validatorsViewer.setCellModifier(new ParticipantCellModifier(validatorsViewer)); // Now set up content/label providers validatorsViewer.setContentProvider(ArrayContentProvider.getInstance()); validatorsViewer.setLabelProvider(new ParticipantLabelProvider()); // Hide required participants validatorsViewer.addFilter(new RequiredParticipantFilter()); // check the selected build participant, show it's filters validatorsViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateFilterExpressions(); } }); // Now set input validatorsViewer.setInput(this.participants); return main; }
From source file:com.aptana.ide.logging.preferences.LoggingPreferenceWidget.java
License:Open Source License
private void styleCells() { CheckboxCellEditor editor = new CheckboxCellEditor(tree); ColorCellEditor colorEditor = new ColorCellEditor(tree); CellEditor[] editors = new CellEditor[COLUMNS.length]; editors[0] = editor;/*from w w w .j a v a 2 s. c o m*/ editors[1] = null; editors[2] = null; editors[3] = colorEditor; editors[4] = editor; editors[5] = editors[4]; editors[6] = editors[5]; ICellModifier modifier = new ICellModifier() { public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ColorizationStyle style = null; if (element instanceof IToken) { style = provider.getStyle((IToken) element); } else if (element instanceof Category) { style = ((Category) element).getStyle(); } if (style != null) { if (value instanceof Boolean) { Boolean bool = (Boolean) value; if (element instanceof IToken && property == COLUMNS[0]) { provider.removeStyle((IToken) element); //regionViewer.refresh(); @regions } else if (property == COLUMNS[4]) { style.setBold(bool.booleanValue()); } else if (property == COLUMNS[5]) { style.setItalic(bool.booleanValue()); } else if (property == COLUMNS[6]) { style.setUnderline(bool.booleanValue()); } } else if (value instanceof RGB) { RGB rgb = (RGB) value; if (property == COLUMNS[3]) { style.setForegroundColor(UnifiedColorManager.getInstance().getColor(rgb)); } } } else { // if (element instanceof IToken && value instanceof Boolean && property == COLUMNS[1]) // { // Boolean bool = (Boolean) value; // if (bool.booleanValue()) // { // IToken token = (IToken) element; // style = new ColorizationStyle(); // style.setForegroundColor(UnifiedColorManager.getInstance().getColor(black)); // style.setName(token.getCategory() + "_" + token.getType()); // provider.addStyle((IToken) element, style); // } // } } viewer.update(element, null); } public Object getValue(Object element, String property) { ColorizationStyle style = null; if (element instanceof IToken) { style = provider.getStyle((IToken) element); } else if (element instanceof Category) { style = ((Category) element).getStyle(); } if (style != null) { if (property == COLUMNS[0]) { return Boolean.valueOf(true); } else if (property == COLUMNS[3]) { return style.getForegroundColor().getRGB(); } else if (property == COLUMNS[4]) { return Boolean.valueOf(style.isBold()); } else if (property == COLUMNS[5]) { return Boolean.valueOf(style.isItalic()); } else if (property == COLUMNS[6]) { return Boolean.valueOf(style.isUnderline()); } } else if (property == COLUMNS[0]) { return Boolean.valueOf(false); } return null; } public boolean canModify(Object element, String property) { boolean canModify = false; ColorizationStyle style = null; if (element instanceof IToken) { style = provider.getStyle((IToken) element); if (property == COLUMNS[0]) { canModify = true; } } else if (element instanceof Category) { style = ((Category) element).getStyle(); } if (style != null) { canModify = true; } return canModify; } }; // final TreeColumn column0 = new TreeColumn(tree, SWT.LEFT); // column0.setWidth(100); // column0.setText(COLUMNS[0]); final TreeColumn column1 = new TreeColumn(tree, SWT.LEFT); column1.setWidth(ICON_COLUMN_WIDTH); column1.setText(COLUMNS[0]); final TreeColumn column2 = new TreeColumn(tree, SWT.LEFT); column2.setWidth(125); column2.setText(COLUMNS[1]); final TreeColumn column3 = new TreeColumn(tree, SWT.CENTER); column3.setWidth(ICON_COLUMN_WIDTH); column3.setText(COLUMNS[2]); column3.pack(); final TreeColumn column4 = new TreeColumn(tree, SWT.CENTER); column4.setWidth(ICON_COLUMN_WIDTH); column4.setText(COLUMNS[3]); column4.pack(); final TreeColumn column5 = new TreeColumn(tree, SWT.CENTER); column5.setWidth(ICON_COLUMN_WIDTH); column5.setText(COLUMNS[4]); column5.pack(); final TreeColumn column6 = new TreeColumn(tree, SWT.CENTER); column6.setWidth(ICON_COLUMN_WIDTH); column6.setText(COLUMNS[5]); column6.pack(); final TreeColumn column7 = new TreeColumn(tree, SWT.CENTER); column7.setWidth(ICON_COLUMN_WIDTH); column7.setText(COLUMNS[6]); column7.pack(); viewer.setColumnProperties(COLUMNS); viewer.setCellEditors(editors); viewer.setCellModifier(modifier); }
From source file:com.arm.cmsis.pack.tree.AdvisedEditingSupport.java
License:Apache License
@Override protected CellEditor getCellEditor(final Object element) { //Log.writeCurrentMethod(element); final TreeViewer treeViewer = (TreeViewer) getViewer(); switch (columnAdvisor.getCellControlType(element, columnIndex)) { case CHECK:/*from w ww. ja v a 2 s . c o m*/ return new CheckboxCellEditor(treeViewer.getTree()); case COMBO: final ComboBoxCellEditor cellEditor = new ComboBoxCellEditor(treeViewer.getTree(), columnAdvisor.getStringArray(element, columnIndex), SWT.READ_ONLY) { @Override public LayoutData getLayoutData() { LayoutData ld = super.getLayoutData(); ld.minimumWidth = 20; return ld; } }; Control control = cellEditor.getControl(); final CCombo combo = (CCombo) control; LayoutData ld = cellEditor.getLayoutData(); ld.grabHorizontal = true; ld.horizontalAlignment = SWT.RIGHT; ld.verticalAlignment = SWT.CENTER; combo.setLayoutData(ld); combo.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { Integer newVal = new Integer(combo.getSelectionIndex()); setValue(element, newVal); } }); return cellEditor; default: break; } return null; }
From source file:com.arm.cmsis.pack.ui.tree.AdvisedEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(final Object element) { Composite composite = (Composite) getViewer().getControl(); switch (columnAdvisor.getCellControlType(element, columnIndex)) { case SPIN:/* w ww . j a v a 2 s. c o m*/ SpinnerCellEditor sce = new SpinnerCellEditor(composite); sce.getSpinner().setMinimum(0); sce.getSpinner().setMaximum(columnAdvisor.getMaxCount(element, columnIndex)); return sce; case MENU: MenuCellEditor mce = new MenuCellEditor(composite); return mce; case CHECK: return new CheckboxCellEditor(composite); case COMBO: final ComboBoxCellEditor cellEditor = new ComboBoxCellEditor(composite, columnAdvisor.getStringArray(element, columnIndex), SWT.READ_ONLY) { @Override public LayoutData getLayoutData() { LayoutData ld = super.getLayoutData(); ld.minimumWidth = 20; return ld; } }; Control control = cellEditor.getControl(); final CCombo combo = (CCombo) control; LayoutData ld = cellEditor.getLayoutData(); ld.grabHorizontal = true; ld.horizontalAlignment = SWT.RIGHT; ld.verticalAlignment = SWT.CENTER; combo.setLayoutData(ld); combo.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { Integer newVal = new Integer(combo.getSelectionIndex()); setValue(element, newVal); } }); return cellEditor; default: break; } return null; }
From source file:com.bdaum.zoom.ui.internal.views.BasicView.java
License:Open Source License
protected CellEditor determineCellEditor(QueryField qfield, Composite parent, int maxTextLength) { int type = qfield.getType(); if (type == QueryField.T_BOOLEAN) return new CheckboxCellEditor(parent); if (type == QueryField.T_LOCATION) return new StructCellEditor(parent, qfield); if (type == QueryField.T_OBJECT) return new StructCellEditor(parent, qfield); if (type == QueryField.T_CONTACT) return new StructCellEditor(parent, qfield); if (qfield.getEnumLabels() != null) return new ViewComboCellEditor(parent, qfield); if (qfield == QueryField.IPTC_KEYWORDS) return new KeywordDialogCellEditor(parent); if (qfield == QueryField.IPTC_CATEGORY) return new CategoryDialogCellEditor(parent, SWT.SINGLE); if (qfield == QueryField.IPTC_SUPPLEMENTALCATEGORIES) return new SupplementalCategoryDialogCellEditor(parent); if (qfield == QueryField.SALES) return new IncrementalNumberCellEditor(parent, 0, 1); if (qfield == QueryField.PRICE) return new IncrementalNumberCellEditor(parent, Format.getCurrencyDigits(), 1); if (qfield == QueryField.EARNINGS) return new CurrencyExpressionCellEditor(parent); if (qfield.getCard() != 1) return qfield.getCard() == QueryField.CARD_MODIFIABLEBAG ? new MixedBagCellEditor(parent, qfield) : new ListCellEditor(parent, qfield); if (qfield.getType() == QueryField.T_DATE) return new DateTimeCellEditor(parent, qfield); if (qfield.getEnumeration() instanceof Integer) return new TopicTextCellEditor(parent, qfield); List<Asset> selectedAssets = getNavigationHistory().getSelectedAssets().getAssets(); Asset asset = selectedAssets.size() == 1 ? selectedAssets.get(0) : null; if (qfield.getMaxlength() > maxTextLength && qfield.getType() == QueryField.T_STRING) return new LargeTextCellEditor(parent, qfield, asset); return new ViewTextCellEditor(parent, qfield, asset); }