List of usage examples for org.eclipse.jface.viewers ComboBoxCellEditor setItems
public void setItems(String[] items)
From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorCellModifier.java
License:Open Source License
public void hookCellEditors() { /*//from www. j av a2s. co m * Hook all column combo boxes so we can later retrieve the typed text. */ hookComboBoxCellEditor(QueryEditorControl.LOGICAL_OPERATOR_COLUMN); hookComboBoxCellEditor(QueryEditorControl.FIELD_NAME_COLUMN); hookComboBoxCellEditor(QueryEditorControl.OPERATOR_COLUMN); hookComboBoxCellEditor(QueryEditorControl.VALUE_COLUMN); /* * Set the items and visible item count for the logical operator column * - these items are the same for every row. */ ComboBoxCellEditor comboBoxCellEditor = (ComboBoxCellEditor) getCellEditorForProperty( QueryEditorControl.LOGICAL_OPERATOR_COLUMN); comboBoxCellEditor.setItems(getItemsForLogicalOperatorCombo()); setVisibleItemCount(QueryEditorControl.LOGICAL_OPERATOR_COLUMN); /* * Set the items and visible item count for the field column - these * items are the same for every row. */ comboBoxCellEditor = (ComboBoxCellEditor) getCellEditorForProperty(QueryEditorControl.FIELD_NAME_COLUMN); comboBoxCellEditor.setItems(getItemsForFieldCombo()); setVisibleItemCount(QueryEditorControl.FIELD_NAME_COLUMN); normalValueCellEditor = getCellEditorForProperty(QueryEditorControl.VALUE_COLUMN); }
From source file:com.microsoft.tfs.client.common.ui.wit.qe.QueryEditorCellModifier.java
License:Open Source License
/** * Sets the given array of items on the ComboBoxCellEditor indicated by the * given column property./* w w w . j ava2 s . c om*/ */ private void setComboBoxCellEditorItems(final String property, final String[] items) { final ComboBoxCellEditor comboBoxCellEditor = (ComboBoxCellEditor) getCellEditorForProperty(property); comboBoxCellEditor.setItems(items); }
From source file:com.ociweb.gmf.EnumDirectEdit.EnumDirectEditManager.java
License:Open Source License
protected void initCellEditor() { committed = false;/*from ww w . ja v a2 s. co m*/ ComboBoxCellEditor cellEditor = (ComboBoxCellEditor) getCellEditor(); cellEditor.setItems(enumNames); ITextAwareEditPart textEP = (ITextAwareEditPart) getEditPart(); IFigure label = textEP.getFigure(); Assert.isNotNull(label); CCombo combo = (CCombo) cellEditor.getControl(); // scale the font accordingly to the zoom level combo.setFont(getScaledFont(label)); combo.pack(); }
From source file:eu.geclipse.ui.widgets.TabComponent.java
License:Open Source License
protected void addComboEditor(final ComboBoxCellEditor editor, final String[] types, final boolean readOnly) { editor.create(this.table.getTable()); editor.setItems(types); if (readOnly) { editor.setStyle(SWT.READ_ONLY);//from www.j a v a 2s . c o m } this.cellEditors.add(editor); }
From source file:ext.org.eclipse.jdt.internal.ui.refactoring.PullUpMemberPage.java
License:Open Source License
private void setupCellEditors(final Table table) { final ComboBoxCellEditor editor = new ComboBoxCellEditor(); editor.setStyle(SWT.READ_ONLY);//from w w w. j av a 2 s . c o m fTableViewer.setCellEditors(new CellEditor[] { null, editor }); fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { if (editor.getControl() == null & !table.isDisposed()) editor.create(table); final ISelection sel = event.getSelection(); if (!(sel instanceof IStructuredSelection)) return; final IStructuredSelection structured = (IStructuredSelection) sel; if (structured.size() != 1) return; final MemberActionInfo info = (MemberActionInfo) structured.getFirstElement(); editor.setItems(info.getAllowedLabels()); editor.setValue(new Integer(info.getAction())); } }); final ICellModifier cellModifier = new MemberActionCellModifier(); fTableViewer.setCellModifier(cellModifier); fTableViewer.setColumnProperties(new String[] { MEMBER_PROPERTY, ACTION_PROPERTY }); }
From source file:org.eclipse.cdt.embsysregview.views.EmbSysRegView.java
License:Open Source License
/** * This is a callback that creates the viewer and initialize it. *//* ww w . j a v a2 s .c om*/ public void createPartControl(final Composite parent) { Bundle bundle = Platform.getBundle("org.eclipse.cdt.embsysregview"); URL fileURL = bundle.getEntry("icons/selected_register.png"); URL fileURL2 = bundle.getEntry("icons/unselected_register.png"); URL fileURL3 = bundle.getEntry("icons/selected_field.png"); URL fileURL4 = bundle.getEntry("icons/unselected_field.png"); URL fileURL5 = bundle.getEntry("icons/info.png"); URL fileURL6 = bundle.getEntry("icons/interpretation.png"); URL fileURL7 = bundle.getEntry("icons/config.png"); try { selectedImage = new Image(parent.getDisplay(), fileURL.openStream()); unselectedImage = new Image(parent.getDisplay(), fileURL2.openStream()); selectedFieldImage = new Image(parent.getDisplay(), fileURL3.openStream()); unselectedFieldImage = new Image(parent.getDisplay(), fileURL4.openStream()); infoImage = new Image(parent.getDisplay(), fileURL5.openStream()); interpretationImage = new Image(parent.getDisplay(), fileURL6.openStream()); configButtonImage = new Image(parent.getDisplay(), fileURL7.openStream()); } catch (Exception e) { selectedImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEC_FIELD_ERROR); unselectedImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_DEC_FIELD_ERROR); selectedFieldImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_DEC_FIELD_ERROR); unselectedFieldImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_DEC_FIELD_ERROR); infoImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEC_FIELD_ERROR); interpretationImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_DEC_FIELD_ERROR); configButtonImage = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_DEC_FIELD_ERROR); } TreeViewerColumn column; parent.setLayout(new MigLayout("fill", "", "")); header = new Composite(parent, SWT.NONE); /*header.setLayout(new MigLayout("fill","",""));*/ header.setLayoutData("dock north,height 16px,width 100%,wmin 0,hmin 16,gap 0 0 -5 0"); RowLayout rowLayout = new RowLayout(SWT.HORIZONTAL); rowLayout.marginLeft = -1; rowLayout.marginRight = 0; rowLayout.marginTop = -1; rowLayout.marginBottom = 0; rowLayout.fill = true; rowLayout.wrap = false; rowLayout.spacing = 5; header.setLayout(rowLayout); configButton = new Button(header, SWT.FLAT); configButton.setImage(configButtonImage); configButton.setSize(17, 17); RowData data = new RowData(); data.width = 17; data.height = 17; configButton.setLayoutData(data); configButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { if (e.type == SWT.Selection) { IPreferencePage page = new PreferencePageEmbSys(); page.setTitle("EmbSysRegView"); IPreferencePage page2 = new PreferencePageEmbSysBehavior(); page2.setTitle("Behavior"); PreferenceManager mgr = new PreferenceManager(); IPreferenceNode node = new PreferenceNode("1", page); node.add(new PreferenceNode("2", page2)); mgr.addToRoot(node); PreferenceDialog dialog = new PreferenceDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), mgr); dialog.create(); dialog.setMessage(page.getTitle()); dialog.open(); } } }); collapseButton = new Button(header, SWT.FLAT); collapseButton.setLayoutData(new RowData(17, 17)); collapseButton .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ELCL_COLLAPSEALL)); collapseButton.setToolTipText("Collapse all open tree nodes"); collapseButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { if (e.type == SWT.Selection) { viewer.collapseAll(); } } }); activateAllButton = new Button(header, SWT.FLAT); activateAllButton.setLayoutData(new RowData(17, 17)); activateAllButton.setText("*"); // Not very clear, should/could be some custom graphics featuring the color green, perhaps? activateAllButton.setToolTipText( "Activate all registers (or none, if Control is pressed); press Shift to only affect visible registers"); activateAllButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { if (e.type == SWT.Selection) { activateAll((e.stateMask & SWT.CONTROL) == 0, (e.stateMask & SWT.SHIFT) != 0); } } }); copyButton = new Button(header, SWT.FLAT); copyButton.setLayoutData(new RowData(17, 17)); copyButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY)); copyButton.setToolTipText("Copy active (green) register values to clipboard"); copyButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { if (e.type == SWT.Selection) { final StringBuilder sb = new StringBuilder(); copyRegisters(sb); if (sb.length() > 0) { final Clipboard cb = new Clipboard(Display.getCurrent()); final TextTransfer tt = TextTransfer.getInstance(); cb.setContents(new Object[] { sb.toString() }, new Transfer[] { tt }); } } } }); infoLabel = new Label(header, SWT.NONE); viewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.getControl().setLayoutData("height 100%,width 100%,hmin 0,wmin 0"); viewer.getTree().setLinesVisible(true); viewer.getTree().setHeaderVisible(true); // Registername column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(250); column.getColumn().setMoveable(false); column.getColumn().setText("Register"); column.setLabelProvider(new ColumnLabelProvider() { @Override public Color getForeground(Object element) { if (element instanceof TreeRegister) if (((TreeRegister) element).isRetrievalActive()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); if (element instanceof TreeField) if (((TreeRegister) ((TreeField) element).getParent()).isRetrievalActive()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); return null; } public String getText(Object element) { if (element instanceof TreeField) { final int bitOffset = ((TreeField) element).getBitOffset(); final int bitLength = ((TreeField) element).getBitLength(); if (bitLength == 1) return element.toString() + " (bit " + String.valueOf(bitOffset) + ")"; else return element.toString() + " (bits " + String.valueOf(bitOffset + bitLength - 1) + "-" + String.valueOf(bitOffset) + ")"; } else return element.toString(); } public Image getImage(Object obj) { if (obj instanceof TreeParent) { if (obj instanceof TreeRegister) if (((TreeRegister) obj).isRetrievalActive()) return selectedImage; else return unselectedImage; } if (obj instanceof TreeField) { if (((TreeRegister) ((TreeField) obj).getParent()).isRetrievalActive()) return selectedFieldImage; else return unselectedFieldImage; } return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER); } }); // Hex Value column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(80); column.getColumn().setMoveable(false); column.getColumn().setText("Hex"); column.setLabelProvider(new ColumnLabelProvider() { @Override public Color getForeground(Object element) { if (element instanceof TreeRegister) if (!((TreeRegister) element).isWriteOnly()) if (((TreeRegister) element).hasValueChanged()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_RED); if (element instanceof TreeField) if (!((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()) if (((TreeField) element).hasValueChanged()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_RED); return null; } public String getText(Object element) { if (element instanceof TreeGroup) return ""; if (element instanceof TreeRegisterGroup) return ""; if (element instanceof TreeRegister) if (((TreeRegister) element).getValue() == -1) return ""; else if (((TreeRegister) element).isWriteOnly()) return "- write only -"; else return Utils.longtoHexString(((TreeRegister) element).getValue(), ((TreeRegister) element).getBitSize()); if (element instanceof TreeField) if (((TreeRegister) ((TreeField) element).getParent()).getValue() == -1) return ""; else if (((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()) return "- write only -"; else return Utils.longtoHexString(((TreeField) element).getValue(), ((TreeField) element).getBitLength()); else return element.toString(); } }); final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTree()); textCellEditor.setValidator(new HexCellEditorValidator(viewer)); final ComboBoxCellEditor comboBoxCellEditor = new ComboBoxCellEditor(viewer.getTree(), new String[0], SWT.NONE); comboBoxCellEditor.setValidator(new HexCellEditorValidator(viewer)); ((CCombo) comboBoxCellEditor.getControl()).addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { int selectionIndex = ((CCombo) comboBoxCellEditor.getControl()).getSelectionIndex(); TreeElement obj = currentEditedElement; if (obj instanceof TreeField) { long value = -1; if (selectionIndex != -1) { value = ((TreeField) obj).getInterpretations() .getValue(((CCombo) comboBoxCellEditor.getControl()).getItem(selectionIndex)); } else { String svalue = ((CCombo) comboBoxCellEditor.getControl()).getText(); if (svalue.startsWith("0x")) value = Long.valueOf(svalue.substring(2, svalue.length()), 16); } if (value != -1) ((TreeField) obj).setValue(value); } if (((TreeRegister) obj.getParent()).isWriteOnly()) updateTreeFields(invisibleRoot); viewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); comboBoxCellEditor.addListener(new ICellEditorListener() { @Override public void applyEditorValue() { int selectionIndex = ((CCombo) comboBoxCellEditor.getControl()).getSelectionIndex(); TreeElement obj = currentEditedElement; if (obj instanceof TreeField) { long value = -1; if (selectionIndex != -1) { value = ((TreeField) obj).getInterpretations() .getValue(((CCombo) comboBoxCellEditor.getControl()).getItem(selectionIndex)); } else { String svalue = ((CCombo) comboBoxCellEditor.getControl()).getText(); if (svalue.startsWith("0x")) value = Long.valueOf(svalue.substring(2, svalue.length()), 16); } if (value != -1) ((TreeField) obj).setValue(value); } if (((TreeRegister) obj.getParent()).isWriteOnly()) updateTreeFields(invisibleRoot); viewer.refresh(); } @Override public void cancelEditor() { } @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { } }); column.setEditingSupport(new EditingSupport(viewer) { @Override protected boolean canEdit(Object element) { if (element instanceof TreeField && ((((TreeRegister) ((TreeField) element).getParent()).isReadWrite()) || (((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()))) return true; if (element instanceof TreeRegister && (((TreeRegister) element).isReadWrite() || ((TreeRegister) element).isWriteOnly())) return true; return false; } @Override protected CellEditor getCellEditor(Object element) { if (element instanceof TreeField && ((TreeField) element).hasInterpretations()) { comboBoxCellEditor.setItems(((TreeField) element).getInterpretations().getInterpretations()); IPreferenceStore store = Activator.getDefault().getPreferenceStore(); int store_combolength = store.getInt("combolength"); if (store_combolength > 0) ((CCombo) comboBoxCellEditor.getControl()).setVisibleItemCount(store_combolength); currentEditedElement = (TreeElement) element; return comboBoxCellEditor; } else return textCellEditor; } @Override protected Object getValue(Object element) { if (element instanceof TreeField && ((TreeField) element).hasInterpretations()) { // TODO: check if the Integer is for index in the combobox return new Integer((int) ((TreeField) element).getValue()); // TODO: what to do on large bitfield ? } else { if (element instanceof TreeField && ((TreeField) element).getValue() != -1) return Utils.longtoHexString(((TreeField) element).getValue(), ((TreeField) element).getBitLength()); if (element instanceof TreeRegister && ((TreeRegister) element).getValue() != -1) return Utils.longtoHexString(((TreeRegister) element).getValue(), ((TreeRegister) element).getBitSize()); } return null; } @Override protected void setValue(Object element, Object value) { if (value == null) return; if (value instanceof String) { if (element instanceof TreeRegister && ((String) value).startsWith("0x")) { String svalue = ((String) value); long lvalue = Long.valueOf(svalue.substring(2, svalue.length()), 16); TreeRegister treeRegister = ((TreeRegister) element); if (treeRegister.getValue() != -1 && treeRegister.getValue() != lvalue) { // Update Value on device treeRegister.setAndWriteValue(lvalue); if (((TreeRegister) element).isWriteOnly()) updateTreeFields(invisibleRoot); viewer.refresh(); } } if (element instanceof TreeField && ((String) value).startsWith("0x")) { String svalue = ((String) value); long fvalue = Long.valueOf(svalue.substring(2, svalue.length()), 16); TreeField treeField = ((TreeField) element); if (treeField.getValue() != -1 && treeField.getValue() != fvalue) { TreeRegister treeRegister = ((TreeRegister) treeField.getParent()); // calculate register value + modified field to write into register long rvalue = treeRegister.getValue(); int bitLength = treeField.getBitLength(); int bitOffset = treeField.getBitOffset(); long mask; mask = (0xFFFFFFFFL >> (32 - bitLength)) << bitOffset; rvalue = rvalue & (~mask); // clear field bits in register value fvalue = fvalue << bitOffset; // shift field value into its position in the register fvalue = fvalue & mask; // just to be sure, cut everything but the field rvalue = rvalue | fvalue; // blend the field value into the register value // Update Value in Target treeRegister.setAndWriteValue(rvalue); if (((TreeRegister) (((TreeField) element).getParent())).isWriteOnly()) updateTreeFields(invisibleRoot); viewer.refresh(treeRegister); } } } //TODO: why...what for... //viewer.refresh(element); } }); // Binary Value column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(false); column.getColumn().setText("Bin"); column.setLabelProvider(new ColumnLabelProvider() { @Override public Color getForeground(Object element) { if (element instanceof TreeRegister) if (!((TreeRegister) element).isWriteOnly()) if (((TreeRegister) element).hasValueChanged()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_RED); if (element instanceof TreeField) if (!((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()) if (((TreeField) element).hasValueChanged()) return parent.getShell().getDisplay().getSystemColor(SWT.COLOR_RED); return null; } public String getText(Object element) { if (element instanceof TreeGroup) return ""; if (element instanceof TreeRegisterGroup) return ""; if (element instanceof TreeRegister) if (((TreeRegister) element).getValue() == -1) return ""; else if (((TreeRegister) element).isWriteOnly()) return "------------- write only -------------"; else return Utils.longtobinarystring(((TreeRegister) element).getValue(), ((TreeRegister) element).getBitSize()); if (element instanceof TreeField) if (((TreeRegister) ((TreeField) element).getParent()).getValue() == -1) return ""; else if (((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()) return "------------- write only -------------"; else return Utils.longtobinarystring(((TreeField) element).getValue(), ((TreeField) element).getBitLength()); else return element.toString(); } }); column.setEditingSupport(new EditingSupport(viewer) { @Override protected boolean canEdit(Object element) { if (element instanceof TreeField && ((((TreeRegister) ((TreeField) element).getParent()).isReadWrite()) || (((TreeRegister) ((TreeField) element).getParent()).isWriteOnly()))) return true; if (element instanceof TreeRegister && (((TreeRegister) element).isReadWrite() || ((TreeRegister) element).isWriteOnly())) return true; return false; } @Override protected CellEditor getCellEditor(Object element) { return new BinaryButtonsCellEditor(viewer.getTree(), viewer); } @Override protected Object getValue(Object element) { return element; } @Override protected void setValue(Object element, Object value) { viewer.refresh(element); } }); // Register Reset Value (hex) column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(80); column.getColumn().setMoveable(false); column.getColumn().setText("Reset"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof TreeGroup) return ""; if (element instanceof TreeRegisterGroup) return ""; if (element instanceof TreeRegister) return Utils.longtoHexString(((TreeRegister) element).getResetValue(), ((TreeRegister) element).getBitSize()); if (element instanceof TreeField) return ""; else return ""; } }); // Register Access column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setAlignment(SWT.CENTER); column.getColumn().setWidth(50); column.getColumn().setMoveable(false); column.getColumn().setText("Access"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof TreeGroup) return ""; if (element instanceof TreeRegisterGroup) return ""; if (element instanceof TreeRegister) return ((TreeRegister) element).getType().toUpperCase(); if (element instanceof TreeField) return ""; else return ""; } }); // Register Address (hex) column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(80); column.getColumn().setMoveable(false); column.getColumn().setText("Address"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof TreeGroup) return ""; if (element instanceof TreeRegisterGroup) return ""; if (element instanceof TreeRegister) return Utils.longtoHexString(((TreeRegister) element).getRegisterAddress(), 32); //TODO: get address width from xml ... if (element instanceof TreeField) return ""; else return ""; } }); // Description column = new TreeViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(300); column.getColumn().setMoveable(false); column.getColumn().setText("Description"); ColumnViewerToolTipSupport.enableFor(viewer); column.setLabelProvider(new CellLabelProvider() { public String getToolTipText(Object element) { if (element instanceof TreeRegister) { // only display if more than one line is found if (org.eclipse.cdt.embsysregview.views.Utils .countTextLines(((TreeRegister) element).getDescription()) > 1) return ((TreeRegister) element).getDescription(); else return null; } if (element instanceof TreeField) { // display tooltip if more than one line is found, or an interpretation is shown instead of this one line if (org.eclipse.cdt.embsysregview.views.Utils .countTextLines(((TreeField) element).getDescription()) > 1 || ((TreeField) element).hasInterpretation()) return ((TreeField) element).getDescription(); else return null; } return null; } public Point getToolTipShift(Object object) { return new Point(5, 5); } public int getToolTipDisplayDelayTime(Object object) { return 200; } public int getToolTipTimeDisplayed(Object object) { return 0; } public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof TreeGroup) cell.setText(((TreeGroup) element).getDescription()); if (element instanceof TreeRegisterGroup) cell.setText(((TreeRegisterGroup) element).getDescription()); if (element instanceof TreeRegister) { cell.setText(org.eclipse.cdt.embsysregview.views.Utils .getFirstNotEmptyTextLine(((TreeRegister) element).getDescription()).trim()); } if (element instanceof TreeField) if (((TreeField) element).hasInterpretation()) { cell.setText(((TreeField) element).getInterpretation()); cell.setImage(interpretationImage); } else { // Display first line cell.setText(org.eclipse.cdt.embsysregview.views.Utils .getFirstNotEmptyTextLine(((TreeField) element).getDescription()).trim()); // Display Icon if there are more than one line if (org.eclipse.cdt.embsysregview.views.Utils .countTextLines(((TreeField) element).getDescription()) > 1) cell.setImage(infoImage); } } }); doubleClickAction = new Action() { public void run() { ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); int selectedColumn = -1; Tree tree = viewer.getTree(); Point pt = tree.toControl(Display.getCurrent().getCursorLocation()); viewer.getTree().getColumnCount(); for (int i = 0; i < tree.getColumnCount(); i++) { TreeItem item = tree.getItem(pt); if (item != null) { if (item.getBounds(i).contains(pt)) { selectedColumn = i; } } } if (obj instanceof TreeRegisterGroup && selectedColumn == 0) { TreeRegisterGroup treeRegisterGroup = ((TreeRegisterGroup) obj); TreeElement[] treeElements = treeRegisterGroup.getChildren(); for (TreeElement treeElement : treeElements) { TreeRegister treeRegister = ((TreeRegister) treeElement); if (!treeRegister.isWriteOnly()) { treeRegister.toggleRetrieval(); treeRegister.readValue(); } } viewer.refresh(obj); } if (obj instanceof TreeRegister && selectedColumn == 0) { TreeRegister treeRegister = ((TreeRegister) obj); if (!treeRegister.isWriteOnly()) { treeRegister.toggleRetrieval(); treeRegister.readValue(); viewer.refresh(obj); } } if (obj instanceof TreeField && selectedColumn == 0) { TreeField treeField = ((TreeField) obj); TreeRegister treeRegister = ((TreeRegister) treeField.getParent()); if (!treeRegister.isWriteOnly()) { treeRegister.toggleRetrieval(); treeRegister.readValue(); viewer.refresh(treeField.getParent()); } } } }; viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { doubleClickAction.run(); } }); viewer.setContentProvider(new ViewContentProvider()); updateInfoLabel(); viewer.setInput(invisibleRoot); }
From source file:org.eclipse.edt.ide.rui.visualeditor.internal.util.TableCellEditorComboBox.java
License:Open Source License
/** * //from w w w . j a v a 2 s.c o m */ public void activate(Table table, TableEditor tableEditor, int iColumn, TableItem tableItemSelected, String[] straOptions) { _straOptions = straOptions; ComboBoxCellEditor cellEditor = new ComboBoxCellEditor(); cellEditor.setStyle(SWT.READ_ONLY); super.activate(table, tableEditor, cellEditor, iColumn, tableItemSelected); cellEditor.setItems(straOptions); _strOriginalValue = tableItemSelected.getText(iColumn); if (_strOriginalValue != null) { int iIndex = -1; for (int i = 0; i < straOptions.length; ++i) { if (straOptions[i].equals(_strOriginalValue) == true) { iIndex = i; break; } } if (iIndex > -1) cellEditor.setValue(new Integer(iIndex)); } }
From source file:org.eclipse.egit.ui.internal.synchronize.GitSynchronizeWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(1, false); layout.marginWidth = 0;/*from ww w . j ava 2 s. co m*/ layout.marginHeight = 0; composite.setLayout(layout); repositories = new HashMap<Repository, Set<IProject>>(); for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) { RepositoryMapping mapping = RepositoryMapping.getMapping(project); if (mapping != null) { Repository repository = mapping.getRepository(); Set<IProject> set = repositories.get(repository); if (set == null) { set = new HashSet<IProject>(); repositories.put(repository, set); } set.add(project); } } treeViewer = new ContainerCheckedTreeViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); treeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TreeViewerColumn repositoriesColumn = new TreeViewerColumn(treeViewer, SWT.LEAD); repositoriesColumn.getColumn().setText(UIText.GitBranchSynchronizeWizardPage_repositories); repositoriesColumn.getColumn().setImage(repositoryImage); repositoriesColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof Repository) { return ((Repository) element).getDirectory().getAbsolutePath(); } return ((IProject) element).getName(); } @Override public Image getImage(Object element) { if (element instanceof Repository) { return repositoryImage; } return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT); } }); TreeViewerColumn branchesColumn = new TreeViewerColumn(treeViewer, SWT.LEAD); branchesColumn.getColumn().setText(UIText.GitBranchSynchronizeWizardPage_branches); branchesColumn.getColumn().setImage(branchesImage); branchesColumn.getColumn().setWidth(200); final ComboBoxCellEditor branchesEditor = new ComboBoxCellEditor(treeViewer.getTree(), new String[0]); branchesColumn.setEditingSupport(new EditingSupport(treeViewer) { @Override protected void setValue(Object element, Object value) { int intValue = ((Integer) value).intValue(); if (intValue == -1) { return; } CCombo combo = (CCombo) branchesEditor.getControl(); String branch = combo.getItem(intValue); if (element instanceof IProject) { RepositoryMapping mapping = RepositoryMapping.getMapping((IResource) element); Repository repository = mapping.getRepository(); selectedBranches.put(repository, branch); treeViewer.refresh(repository, true); } else { selectedBranches.put((Repository) element, branch); treeViewer.refresh(element, true); } setPageComplete(selectedBranches.size() == selectedRepositories.size()); } @Override protected Object getValue(Object element) { if (element instanceof IProject) { RepositoryMapping mapping = RepositoryMapping.getMapping((IResource) element); String branch = selectedBranches.get(mapping.getRepository()); CCombo combo = (CCombo) branchesEditor.getControl(); int index = branch == null ? 0 : combo.indexOf(branch); return Integer.valueOf(index); } else { String branch = selectedBranches.get(element); CCombo combo = (CCombo) branchesEditor.getControl(); int index = branch == null ? 0 : combo.indexOf(branch); return Integer.valueOf(index); } } @Override protected CellEditor getCellEditor(Object element) { if (element instanceof IProject) { RepositoryMapping mapping = RepositoryMapping.getMapping((IResource) element); Set<String> refs = mapping.getRepository().getAllRefs().keySet(); branchesEditor.setItems(refs.toArray(new String[refs.size()])); } else { Set<String> refs = ((Repository) element).getAllRefs().keySet(); branchesEditor.setItems(refs.toArray(new String[refs.size()])); } return branchesEditor; } @Override protected boolean canEdit(Object element) { return true; } }); branchesColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof IProject) { RepositoryMapping mapping = RepositoryMapping.getMapping((IResource) element); String branch = selectedBranches.get(mapping.getRepository()); return branch == null ? "" : branch; //$NON-NLS-1$ } else { String branch = selectedBranches.get(element); return branch == null ? "" : branch; //$NON-NLS-1$ } } }); treeViewer.setContentProvider(new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } public void dispose() { // nothing to do } public Object[] getElements(Object inputElement) { return (Object[]) inputElement; } public boolean hasChildren(Object element) { if (element instanceof Repository) { return !repositories.get(element).isEmpty(); } return false; } public Object getParent(Object element) { return null; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof Repository) { return repositories.get(parentElement).toArray(); } return new Object[0]; } }); final Object[] array = repositories.keySet().toArray(); treeViewer.setInput(array); treeViewer.setCheckedElements(array); repositoriesColumn.getColumn().pack(); save(); treeViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { selectedRepositories.clear(); selectedProjects.clear(); save(); if (event.getChecked()) { setPageComplete(selectedBranches.size() == selectedRepositories.size()); } else if (treeViewer.getCheckedElements().length == 0) { setPageComplete(false); } } }); Composite buttonsComposite = new Composite(composite, SWT.NONE); layout = new GridLayout(2, true); layout.marginWidth = 0; layout.marginHeight = 0; buttonsComposite.setLayout(layout); buttonsComposite.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false)); Button selectAllBtn = new Button(buttonsComposite, SWT.PUSH); selectAllBtn.setText(UIText.GitBranchSynchronizeWizardPage_selectAll); selectAllBtn.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { treeViewer.setCheckedElements(array); save(); setPageComplete(selectedBranches.size() == selectedRepositories.size()); } }); selectAllBtn.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false)); Button deselectAllBtn = new Button(buttonsComposite, SWT.PUSH); deselectAllBtn.setText(UIText.GitBranchSynchronizeWizardPage_deselectAll); deselectAllBtn.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { // uncheck everything treeViewer.setCheckedElements(new Object[0]); // clear all selection selectedRepositories.clear(); selectedProjects.clear(); // mark page as being incomplete setPageComplete(false); } }); deselectAllBtn.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false)); Dialog.applyDialogFont(composite); setPageComplete(false); setControl(composite); }
From source file:org.talend.designer.mapper.ui.visualmap.table.DataMapTableView.java
License:Open Source License
/** * DOC ycbai Comment method "getSchemaSettingValueAccess". * /*from w w w. jav a2 s . c o m*/ * @param functComboBox * @return */ protected IBeanPropertyAccessors<GlobalMapEntry, Object> getSchemaSettingValueAccess( final ComboBoxCellEditor functComboBox) { return new IBeanPropertyAccessors<GlobalMapEntry, Object>() { public Object get(GlobalMapEntry bean) { functComboBox.setItems(new String[] { BUILT_IN, REPOSITORY }); IDataMapTable parent = bean.getParent(); AbstractInOutTable table = (AbstractInOutTable) parent; if (SCHEMA_TYPE.equals(bean.getName())) { if (bean.getExpression() == null) { return table.getId() == null ? BUILT_IN : REPOSITORY; } return bean.getExpression(); } return ""; } public void set(GlobalMapEntry bean, Object value) { if (value == null) { return; } if (SCHEMA_TYPE.equals(bean.getName())) { bean.setExpression(String.valueOf(value)); showSchemaIDSetting(REPOSITORY.equals(value)); } } }; }
From source file:org.talend.designer.mapper.ui.visualmap.table.InputDataMapTableView.java
License:Open Source License
@Override protected IBeanPropertyAccessors<GlobalMapEntry, Object> getMapSettingValueAccess(final CellEditor cellEditor) { return new IBeanPropertyAccessors<GlobalMapEntry, Object>() { public Object get(GlobalMapEntry bean) { IDataMapTable parent = bean.getParent(); InputTable inputTable = (InputTable) parent; if (cellEditor instanceof ComboBoxCellEditor) { ComboBoxCellEditor functComboBox = (ComboBoxCellEditor) cellEditor; if (LOOKUP_MODEL_SETTING.equals(bean.getName())) { IUILookupMode[] availableJoins = { TMAP_LOOKUP_MODE.LOAD_ONCE, TMAP_LOOKUP_MODE.RELOAD, TMAP_LOOKUP_MODE.CACHE_OR_RELOAD }; List<String> names = new ArrayList<String>(); for (IUILookupMode availableJoin : availableJoins) { names.add(availableJoin.getLabel()); }/* w w w .j ava2s . co m*/ functComboBox.setItems(names.toArray(new String[names.size()])); final IUILookupMode lookupMode = ((InputTable) parent).getLookupMode(); if (lookupMode != null) { return lookupMode.getLabel(); } } else if (MATCH_MODEL_SETTING.equals(bean.getName())) { IUIMatchingMode[] matchModel = getMatchModel(); List<String> names = new ArrayList<String>(); for (IUIMatchingMode element : matchModel) { names.add(element.getLabel()); } functComboBox.setItems(names.toArray(new String[names.size()])); IUIMatchingMode matchingMode = ((InputTable) parent).getMatchingMode(); if (names.contains(matchingMode.getLabel())) { return matchingMode.getLabel(); } } else if (JOIN_MODEL_SETTING.equals(bean.getName())) { String[] items = new String[] { INNER_JOIN, LEFT_OUTER_JOIN }; functComboBox.setItems(items); boolean innerJoin = ((InputTable) parent).isInnerJoin(); if (innerJoin) { return items[0]; } return items[1]; } else if (PERSISTENCE_MODEL_SETTING.equals(bean.getName())) { functComboBox.setItems(new String[] { "true", "false" }); boolean persistent = ((InputTable) parent).isPersistent(); return String.valueOf(persistent); } } else if (cellEditor instanceof CustomDialogCellEditor) { CustomDialogCellEditor customDialogCellEditor = (CustomDialogCellEditor) cellEditor; if (LOOKUP_MODEL_SETTING.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.LOOKUP_MODEL); final IUILookupMode lookupMode = inputTable.getLookupMode(); if (lookupMode != null) { return lookupMode.getLabel(); } } else if (MATCH_MODEL_SETTING.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.MATCH_MODEL); IUIMatchingMode matchingMode = inputTable.getMatchingMode(); if (matchingMode != null) { return matchingMode.getLabel(); } } else if (JOIN_MODEL_SETTING.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.JOIN_MODEL); boolean innerJoin = inputTable.isInnerJoin(); return innerJoin ? INNER_JOIN : LEFT_OUTER_JOIN; } else if (PERSISTENCE_MODEL_SETTING.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.BOOL); boolean persistent = inputTable.isPersistent(); return String.valueOf(persistent); } else if (SCHEMA_TYPE.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.SCHEMA_TYPE); enableDiaplayViewer(inputTable.isRepository()); return inputTable.isRepository() ? REPOSITORY : BUILT_IN; } else if (SCHEMA_ID.equals(bean.getName())) { customDialogCellEditor.setType(CellValueType.SCHEMA_ID); return getSchemaDisplayName(inputTable.getId()); } } return ""; } public void set(GlobalMapEntry bean, Object value) { IDataMapTable parent = bean.getParent(); InputTable inputTable = (InputTable) parent; Object previousValue = null; if (LOOKUP_MODEL_SETTING.equals(bean.getName())) { previousValue = inputTable.getLookupMode(); IUILookupMode[] availableJoins = { TMAP_LOOKUP_MODE.LOAD_ONCE, TMAP_LOOKUP_MODE.RELOAD, TMAP_LOOKUP_MODE.CACHE_OR_RELOAD }; for (final IUILookupMode lookupMode : availableJoins) { if (value != null && value.equals(lookupMode.getLabel())) { inputTable.setLookupMode(lookupMode); if (TMAP_LOOKUP_MODE.CACHE_OR_RELOAD == lookupMode) { persistentCheckEditable = false; } else { persistentCheckEditable = true; } if (lookupMode == TMAP_LOOKUP_MODE.RELOAD || lookupMode == TMAP_LOOKUP_MODE.CACHE_OR_RELOAD) { showTableGlobalMap(true); } else { showTableGlobalMap(false); } enableDisablePersistentMode((TMAP_LOOKUP_MODE) lookupMode); mapperManager.getProblemsManager().checkProblemsForTableEntry(bean, true); checkChangementsAfterEntryModifiedOrAdded(true); } } } else if (MATCH_MODEL_SETTING.equals(bean.getName())) { previousValue = inputTable.getMatchingMode(); for (IUIMatchingMode model : TMAP_MATCHING_MODE.values()) { if (value != null && value.equals(model.getLabel())) { inputTable.setMatchingMode(model); previousMatchingModeSelected = model; } } } else if (JOIN_MODEL_SETTING.equals(bean.getName())) { previousValue = inputTable.isInnerJoin(); if (LEFT_OUTER_JOIN.equals(value)) { ((InputTable) parent).setInnerJoin(false); previousInnerJoinSelection = false; } else { ((InputTable) parent).setInnerJoin(true); previousInnerJoinSelection = true; } } else if (PERSISTENCE_MODEL_SETTING.equals(bean.getName())) { previousValue = inputTable.isPersistent(); if ("true".equals(value) || "false".equals(value)) { ((InputTable) parent).setPersistent(Boolean.valueOf(value.toString())); previousValidPersistentMode = Boolean.valueOf(value.toString()); } } else if (SCHEMA_TYPE.equals(bean.getName())) { previousValue = inputTable.isRepository(); inputTable.setRepository(REPOSITORY.equals(value)); showSchemaIDSetting(REPOSITORY.equals(value)); enableDiaplayViewer(REPOSITORY.equals(value)); } else if (SCHEMA_ID.equals(bean.getName())) { previousValue = inputTable.getId(); inputTable.setId(String.valueOf(value)); } refreshCondensedImage((InputTable) bean.getParent(), bean.getName(), previousValue); } }; }