List of usage examples for org.eclipse.jface.viewers ColumnViewerEditorActivationStrategy setEnableEditorActivationWithKeyboard
public void setEnableEditorActivationWithKeyboard(boolean enable)
From source file:com.ibm.etools.mft.conversion.esb.editor.parameter.GlobalOptionsEditor.java
License:Open Source License
protected TableViewer createConverterSection(final ScrolledForm form, String sectionTitle, String sectionDesc, String[] columnHeadings, String[] columnProperties, int[] columnWidthes, final String classSelectionMessage, ILabelProvider labelProvider, final Class baseClass) { Section section = getToolkit().createSection(form.getBody(), Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED); TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB); td.colspan = 1;// w ww . j av a 2 s . com section.setLayoutData(td); section.addExpansionListener(new ExpansionAdapter() { public void expansionStateChanged(ExpansionEvent e) { form.reflow(true); } }); section.setText(sectionTitle); section.setDescription(sectionDesc); Composite sectionClient = getToolkit().createComposite(section); sectionClient.setLayout(new GridLayout(2, false)); section.setClient(sectionClient); final TableViewer viewer = new TableViewer(sectionClient, SWT.BORDER | SWT.FULL_SELECTION); viewer.getTable().setHeaderVisible(true); viewer.getTable().setLinesVisible(true); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = 130; viewer.getControl().setLayoutData(data); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(labelProvider); viewer.addDoubleClickListener(this); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object e1, Object e2) { Converter c1 = (Converter) e1; Converter c2 = (Converter) e2; return c1.getType().compareTo(c2.getType()); } }); for (int i = 0; i < columnHeadings.length; i++) { TableColumn column = new TableColumn(viewer.getTable(), SWT.None); column.setText(columnHeadings[i]); column.setResizable(true); column.setWidth(columnWidthes[i]); } viewer.setColumnProperties(columnProperties); viewer.setCellEditors( new CellEditor[] { null, null, null, new DialogCellEditor((Composite) viewer.getControl()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Converter converter = (Converter) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); ClassSelectionDialog d = new ClassSelectionDialog(cellEditorWindow.getShell(), (ClassDefinition) getValue(), converter.getType(), classSelectionMessage, baseClass); if (d.open() == ClassSelectionDialog.OK) { if (d.getClazz() == null) { return d.getModel(); } if (d.getClazz().length() == 0) { doSetValue(null); return null; } ClassDefinition def = new ClassDefinition(); def.setResourceType(d.getResourceType()); def.setResourcePath(d.getResourcePath()); def.setClazz(d.getClazz()); return def; } return d.getModel(); } protected void updateContents(Object value) { if (value != null) { if (value != null && value.toString().length() == 0) { value = WESBConversionMessages.GlobalOptionsEditor_defaultConverter; } else if (value instanceof ClassDefinition) { value = ((ClassDefinition) value).getClazz(); } } else { ClassDefinition oldValue = null; if (converterBeingEditted != null) { oldValue = converterBeingEditted.getClazz(); converterBeingEditted.setClazz(null); } try { if (converterBeingEditted instanceof PrimitiveConverter) { IPrimitiveConverter ci = PrimitiveManager .getConverter(converterBeingEditted.getType(), null, getModel()); String s = ci.getClass().getName(); value = PrimitiveManager.getConverterDisplayName(s); } else if (converterBeingEditted instanceof BindingConverter) { IBindingConverter ci = BindingManager .getConverter(converterBeingEditted.getType(), null, getModel()); String s = ci.getClass().getName(); value = BindingManager.getConverterDisplayName(s); } } catch (Exception e) { value = ""; //$NON-NLS-1$ } finally { if (converterBeingEditted != null) { converterBeingEditted.setClazz(oldValue); } } } super.updateContents(value); } } }); viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { TableItem ti = (TableItem) element; Converter c = (Converter) ti.getData(); c.setClazz((ClassDefinition) value); viewer.refresh(c); changed(); } @Override public Object getValue(Object element, String property) { Converter c = (Converter) element; converterBeingEditted = (Converter) element; return c.getClazz(); } @Override public boolean canModify(Object element, String property) { if ("Converter Class".equals(property)) { //$NON-NLS-1$ return true; } return false; } }); FocusCellOwnerDrawHighlighter highlighter = new FocusCellOwnerDrawHighlighter(viewer); if (WESBConversionMessages.GlobalOptionsEditor_primitiveConverters.equals(sectionTitle)) primitiveHighlighter = highlighter; else if (WESBConversionMessages.GlobalOptionsEditor_bindingConverters.equals(sectionTitle)) bindingHighlighter = highlighter; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, highlighter); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationSupport.setEnableEditorActivationWithKeyboard(true); TableViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); return viewer; }
From source file:com.ibm.etools.mft.conversion.esb.editor.parameter.SourceProjectEditor.java
License:Open Source License
@Override public void createControls(Composite parent) { updateProjectsInModel();//from w w w . ja v a 2 s . c om Composite container = new Composite(parent, SWT.None); container.setLayout(new GridLayout(2, false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); rootComposite = container; importLink = new Link(container, SWT.None); importLink.setText(WESBConversionMessages.SourceProjectEditor_importLink); GridData data = new GridData(); data.verticalAlignment = SWT.BEGINNING; data.horizontalSpan = 2; importLink.setLayoutData(data); importLink.addSelectionListener(this); viewer = new CheckboxTreeViewer(container, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.getTree().setLinesVisible(true); viewer.getTree().setHeaderVisible(true); data = new GridData(GridData.FILL_BOTH); data.horizontalSpan = 2; // data.heightHint = 200; viewer.getTree().setLayoutData(data); for (int i = 0; i < COLUMN_HEADINGS.length; i++) { TreeColumn column = new TreeColumn(viewer.getTree(), SWT.None); column.setText(COLUMN_HEADINGS[i]); column.setResizable(true); column.setWidth(WIDTHES[i]); } viewer.addCheckStateListener(this); viewer.setContentProvider(new WESBProjectContentProvider()); viewer.setLabelProvider(new ProjectLabelProvider()); CustomTextCellEditor cellEditor = new CustomTextCellEditor(viewer.getTree()) { @Override public String isValid(Object value) { return getErrorMessage(); } }; viewer.setCellEditors(new CellEditor[] { null, cellEditor }); cellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { return isValidTargetName(value.toString()); } }); viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { IProject p = (IProject) ((TreeItem) element).getData(); WESBProject wesbp = projectsInModel.get(p.getName()); if (wesbp == null) { wesbp = new WESBProject(); wesbp.setName(p.getName()); getModel().getSourceProjects().add(wesbp); updateProjectsInModel(); } if (value != null) { wesbp.setTargetName(value.toString()); viewer.refresh(p); changed(); } } @Override public Object getValue(Object element, String property) { IProject p = (IProject) element; WESBProject wesbp = projectsInModel.get(p.getName()); if (wesbp == null) { return ""; //$NON-NLS-1$ } String targetName = wesbp.getTargetName(); return targetName == null ? "" : targetName; //$NON-NLS-1$ } @Override public boolean canModify(Object element, String property) { projectBeingEditted = (IProject) element; return true; } }); viewer.setInput(ResourcesPlugin.getWorkspace()); viewer.setColumnProperties(PROPERTIES); FocusCellOwnerDrawHighlighter projectHighlighter = new FocusCellOwnerDrawHighlighter(viewer); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, projectHighlighter); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationSupport.setEnableEditorActivationWithKeyboard(true); TreeViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); Composite container2 = new Composite(container, SWT.None); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0; container2.setLayout(layout); data = new GridData(); data.horizontalSpan = 2; data.horizontalIndent = 0; container2.setLayoutData(data); selectAll = new Button(container2, SWT.NONE); selectAll.setText(WESBConversionMessages.projectSelectionPage_SelectAll); data = new GridData(); data.horizontalAlignment = SWT.BEGINNING; selectAll.setLayoutData(data); selectAll.addSelectionListener(this); deselectAll = new Button(container2, SWT.NONE); deselectAll.setText(WESBConversionMessages.projectSelectionPage_DeselectAll); data = new GridData(); data.horizontalAlignment = SWT.BEGINNING; deselectAll.setLayoutData(data); deselectAll.addSelectionListener(this); includeReferencedProjectOption = new Button(container, SWT.CHECK); includeReferencedProjectOption .setText(WESBConversionMessages.projectSelectionPage_IncludeReferencedProject); includeReferencedProjectOption .setSelection(getModel().getGlobalConfiguration().isIncludeReferencedProject()); updateViewer(); if (includeReferencedProjectOption.getSelection()) { ensureAllReferencedProjectsAreChecked(); updateModel(); } includeReferencedProjectOption.addSelectionListener(this); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); }
From source file:com.maccasoft.composer.MusicEditor.java
License:Open Source License
void createMusicViewer(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText("Pattern"); group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); group.setLayout(new GridLayout(1, false)); final Font font; if ("win32".equals(SWT.getPlatform())) { font = new Font(Display.getDefault(), "Courier New", 10, SWT.NONE); } else {/*w ww .j ava 2 s . co m*/ font = new Font(Display.getDefault(), "mono", 10, SWT.NONE); } GC gc = new GC(group); gc.setFont(font); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); Grid table = new Grid(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); table.setHeaderVisible(true); table.setLinesVisible(false); table.setRowHeaderVisible(true); table.setItemHeaderWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); table.setCellSelectionEnabled(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); table.setFont(font); table.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { font.dispose(); } }); viewer = new GridTableViewer(table); ObservableListContentProvider contentProvider = new ObservableListContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (oldInput != null) { ((IObservableList) oldInput).removeListChangeListener(listChangeListener); } if (newInput != null) { ((IObservableList) newInput).addListChangeListener(listChangeListener); } Display.getDefault().timerExec(0, rowBackgroundUpdateRunnable); super.inputChanged(viewer, oldInput, newInput); } }; viewer.setContentProvider(contentProvider); viewer.setRowHeaderLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { int index = ((IObservableList) viewer.getInput()).indexOf(cell.getElement()); cell.setText(String.format("%02X", index)); } }); for (int ch = 0; ch < Project.channelLabels.length; ch++) { final int channel = ch; GridColumnGroup columnGroup = new GridColumnGroup(table, SWT.NONE); columnGroup.setText(Project.channelLabels[ch]); GridColumn column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Note"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); GridViewerColumn viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); cell.setText(element.getNote(channel)); } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getNote(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setNote(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Ins."); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getInstrument(channel); cell.setText(value); if (project.getInstrument(value) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getInstrument(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setInstrument(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx1"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx1(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx1(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx1(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx2"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx2(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx2(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx2(channel, value.toString()); viewer.update(element, null); } }); } table.addKeyListener(new NoteKeyListener(viewer) { @Override protected int getOctave() { return octave.getSelection(); } @Override protected String getInstrument() { IStructuredSelection selection = instrumentToolBar.getStructuredSelection(); String id = project.getInstrumentId((Instrument) selection.getFirstElement()); return id != null ? id : super.getInstrument(); } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.character == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationStrategy.setEnableEditorActivationWithKeyboard(true); GridViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | GridViewerEditor.SELECTION_FOLLOWS_EDITOR); }
From source file:de.unistuttgart.ipvs.pmp.editor.ui.editors.internals.localetable.LocaleTable.java
License:Apache License
/** * Creates a new locale table. This table shows all available names, * descriptions or change descriptions and their locale. * /*from w w w . j a v a 2 s . co m*/ * @param parent * Parent widget, to which this table should be added * @param data * Data, from which the information will be loaded and written * into * @param type * Type of data, that should be shown.<br /> * <b>Warning:</b> If type is set to {@code CHANGE_DESCRIPTION}, {@code data} has to of type * {@code RGISPrivacySetting}. * Otherwise this table will throw {@code ClassCastException}s * while user interaction! * @param tableAction * Action, that will be initated when the data in this table was * changed by the user * @param toolkit * SWT-Toolkit */ public LocaleTable(Composite parent, IBasicIS data, Type type, ILocaleTableAction tableAction, FormToolkit toolkit) { this.data = data; this.type = type; this.tableAction = tableAction; // Create grid for storing the table and buttons this.outerCompo = toolkit.createComposite(parent); this.outerCompo.setLayout(new GridLayout(2, false)); // Set layout so that the table uses the whole width GridData tableLayout = new GridData(); tableLayout.horizontalAlignment = GridData.FILL; tableLayout.verticalAlignment = GridData.FILL; tableLayout.grabExcessHorizontalSpace = true; tableLayout.grabExcessVerticalSpace = true; // Workaround for SWT-Bug // (https://bugs.eclipse.org/bugs/show_bug.cgi?id=215997) tableLayout.widthHint = 1; Composite tableCompo = toolkit.createComposite(this.outerCompo); tableCompo.setLayoutData(tableLayout); TableColumnLayout columnLayout = new TableColumnLayout(); tableCompo.setLayout(columnLayout); this.tableViewer = new TableViewer(tableCompo, SWT.BORDER | SWT.FULL_SELECTION); Table table = this.tableViewer.getTable(); table.setLayoutData(tableLayout); table.setHeaderVisible(true); table.setLinesVisible(true); createColumns(columnLayout); // Add decoration this.tableDec = new ControlDecoration(this.tableViewer.getControl(), SWT.TOP | SWT.LEFT); this.tableDec.setImage(Images.IMG_DEC_FIELD_ERROR); if (data != null) { validate(); } // Add keyboard navigation ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( this.tableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { // Editing is enabled as before but also by pressing enter boolean activateByKey = event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == KeyLookupFactory.getDefault().formalKeyLookup(IKeyLookup.ENTER_NAME); return super.isEditorActivationEvent(event) || activateByKey; } }; activationStrategy.setEnableEditorActivationWithKeyboard(true); FocusCellHighlighter highlighter = new FocusCellOwnerDrawHighlighter(this.tableViewer); TableViewerFocusCellManager focusManager = new TableViewerFocusCellManager(this.tableViewer, highlighter); TableViewerEditor.create(this.tableViewer, focusManager, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.KEYBOARD_ACTIVATION); // Add table sorter this.tableViewer.setSorter(new ViewerSorter()); // But data into table if set this.tableViewer.setContentProvider(new ListContentProvider()); setData(data); // Add tooltip listener TooltipTableListener tooltipListener = new TooltipTableListener(this.tableViewer, parent.getShell()); this.tableViewer.getTable().addListener(SWT.Dispose, tooltipListener); this.tableViewer.getTable().addListener(SWT.KeyDown, tooltipListener); this.tableViewer.getTable().addListener(SWT.MouseMove, tooltipListener); this.tableViewer.getTable().addListener(SWT.MouseHover, tooltipListener); // Add buttons createButtons(toolkit); }
From source file:org.eclipse.jface.snippets.viewers.Snippet060TextCellEditorWithContentProposal.java
License:Open Source License
public Snippet060TextCellEditorWithContentProposal(Shell shell) { final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); final Table table = viewer.getTable(); table.setLinesVisible(true);/*w ww .jav a 2s .c o m*/ table.setHeaderVisible(true); final TableViewerColumn colorColumn = new TableViewerColumn(viewer, SWT.LEFT); colorColumn.getColumn().setText("Color name"); colorColumn.getColumn().setWidth(200); colorColumn.setLabelProvider(new ColumnLabelProvider()); colorColumn.setEditingSupport(new ColorNameEditingSupport(viewer)); viewer.setContentProvider(new ArrayContentProvider()); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == KeyLookupFactory.getDefault() .formalKeyLookup(IKeyLookup.ENTER_NAME)); } }; activationSupport.setEnableEditorActivationWithKeyboard(true); /* * Without focus highlighter, keyboard events will not be delivered to * ColumnViewerEditorActivationStragety#isEditorActivationEvent(...) (see above) */ FocusCellHighlighter focusCellHighlighter = new FocusCellOwnerDrawHighlighter(viewer); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, focusCellHighlighter); TableViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); viewer.setInput(createModel()); }
From source file:org.sonar.ide.eclipse.ui.internal.wizards.associate.ConfigureProjectsPage.java
License:Open Source License
private ColumnViewerEditorActivationStrategy createActivationSupport() { ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override/*from w w w.j av a 2 s. c om*/ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == KeyLookupFactory.getDefault() .formalKeyLookup(IKeyLookup.F2_NAME); } }; activationSupport.setEnableEditorActivationWithKeyboard(true); return activationSupport; }
From source file:org.sonarlint.eclipse.ui.internal.bind.BindProjectsPage.java
License:Open Source License
private ColumnViewerEditorActivationStrategy createActivationSupport() { ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override/*from w ww.j a v a 2s .c om*/ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == KeyLookupFactory.getDefault() .formalKeyLookup(IKeyLookup.F2_NAME)); } }; activationSupport.setEnableEditorActivationWithKeyboard(true); return activationSupport; }
From source file:org.switchyard.tools.ui.editor.diagram.binding.AdvancedBindingPropertyTable.java
License:Open Source License
AdvancedBindingPropertyTable(Composite parent, int style, DataBindingContext context) { super(parent, style); this._changeListeners = new ListenerList(); final GridLayout gridLayout = new GridLayout(); gridLayout.marginWidth = 0;// ww w . j a va 2s. co m gridLayout.marginHeight = 0; gridLayout.numColumns = 2; setLayout(gridLayout); _propertyTreeTable = new TableViewer(this, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION); GridData gd11 = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2); gd11.heightHint = 100; _propertyTreeTable.getTable().setLayoutData(gd11); _propertyTreeTable.getTable().setHeaderVisible(true); TableViewerColumn nameColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); nameColumn.getColumn().setText(Messages.label_name); nameColumn.getColumn().setWidth(200); TableViewerColumn valueColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); valueColumn.getColumn().setText(Messages.label_value); valueColumn.getColumn().setWidth(200); valueColumn.setEditingSupport(new PropertyValueEditingSupport(_propertyTreeTable, context)); FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(_propertyTreeTable) { protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) { return Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); } protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) { return Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); } }; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(_propertyTreeTable, h); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( _propertyTreeTable) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; actSupport.setEnableEditorActivationWithKeyboard(true); TableViewerEditor.create(_propertyTreeTable, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); // This really just gets the traverse events for the TABLE itself. If there is an active cell editor, this doesn't see anything. _propertyTreeTable.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { // edit first column of selected row if (!_propertyTreeTable.isCellEditorActive()) { IStructuredSelection ssel = (IStructuredSelection) _propertyTreeTable.getSelection(); if (ssel != null && !ssel.isEmpty()) { _propertyTreeTable.editElement(ssel.getFirstElement(), 1); } } } } }); _propertyTreeTable.setComparator(new PropertyObjectViewerComparator()); _propertyTreeTable.setColumnProperties(TREE_COLUMNS); _propertyTreeTable.setLabelProvider(new PropertyTreeLabelProvider()); _propertyTreeTable.setContentProvider(new PropertyTreeContentProvider()); }