List of usage examples for org.eclipse.jface.viewers TableViewerFocusCellManager TableViewerFocusCellManager
public TableViewerFocusCellManager(TableViewer viewer, FocusCellHighlighter focusDrawingDelegate)
SWT.ARROW_UP: navigate to cell aboveSWT.ARROW_DOWN: navigate to cell belowSWT.ARROW_RIGHT: navigate to next visible cell on the rightSWT.ARROW_LEFT: navigate to next visible cell on the leftFrom source file:ch.elexis.core.ui.dialogs.OrderImportDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); mainArea.setLayout(new GridLayout()); Composite scannerArea = new Composite(mainArea, SWT.NONE); scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerArea.setLayout(new GridLayout()); Group scannerGroup = new Group(scannerArea, SWT.NONE); scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerGroup.setLayout(new GridLayout(4, false)); scannerGroup.setText("Einlesen mit Barcode-Scanner"); diffSpinner = new Spinner(scannerGroup, SWT.NONE); diffSpinner.setMinimum(DIFF_SPINNER_MIN); diffSpinner.setSelection(DIFF_SPINNER_DEFAULT); Label eanLabel = new Label(scannerGroup, SWT.NONE); eanLabel.setText("EAN:"); eanText = new ElexisText(scannerGroup, SWT.NONE); eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); eanText.addKeyListener(new KeyAdapter() { @Override// w w w . j av a 2s . com public void keyPressed(KeyEvent e) { if (e.character == SWT.CR) { applyScanner(); } } }); Button button = new Button(scannerGroup, SWT.PUSH); button.setText("bernehmen"); button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { applyScanner(); } public void widgetDefaultSelected(SelectionEvent e) { // do nothing } }); Composite tableArea = new Composite(mainArea, SWT.NONE); tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tableArea.setLayout(new GridLayout()); viewer = new TableViewer(tableArea, SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setLinesVisible(true); table.setHeaderVisible(true); verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); boldFont = createBoldFont(table.getFont()); final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { 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; } }; TableViewerEditor.create(viewer, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createViewerColumns(); viewer.setContentProvider(new ViewerContentProvider()); viewer.setInput(this); viewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { Artikel a1 = ((OrderElement) e1).getArticle(); Artikel a2 = ((OrderElement) e2).getArticle(); if (a1 != null && a2 != null) { return a1.getName().compareTo(a2.getName()); } return 0; }; }); Composite cButtons = new Composite(mainArea, SWT.NONE); cButtons.setLayout(new GridLayout(2, false)); final Button clickAllButton = new Button(cButtons, SWT.PUSH); clickAllButton.setText(ALLE_MARKIEREN); clickAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean bv = true; if (clickAllButton.getText().equals(ALLE_MARKIEREN)) { bv = true; clickAllButton.setText("Alle demarkieren"); } else { bv = false; clickAllButton.setText(ALLE_MARKIEREN); } for (OrderElement oe : orderElements) { oe.setVerified(bv); } viewer.refresh(true); } }); Button importButton = new Button(cButtons, SWT.PUSH); GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false); importButton.setLayoutData(gd); importButton.setText("Lagerbestnde anpassen"); importButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doImport(); } }); cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); return mainArea; }
From source file:ch.elexis.dialogs.OrderImportDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); mainArea.setLayout(new GridLayout()); Composite scannerArea = new Composite(mainArea, SWT.NONE); scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerArea.setLayout(new GridLayout()); Group scannerGroup = new Group(scannerArea, SWT.NONE); scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerGroup.setLayout(new GridLayout(4, false)); scannerGroup.setText("Einlesen mit Barcode-Scanner"); diffSpinner = new Spinner(scannerGroup, SWT.NONE); diffSpinner.setMinimum(DIFF_SPINNER_MIN); diffSpinner.setSelection(DIFF_SPINNER_DEFAULT); Label eanLabel = new Label(scannerGroup, SWT.NONE); eanLabel.setText("EAN:"); eanText = new ElexisText(scannerGroup, SWT.NONE); eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); eanText.addKeyListener(new KeyAdapter() { @Override//from w ww . j a va2 s . c o m public void keyPressed(KeyEvent e) { if (e.character == SWT.CR) { applyScanner(); } } }); Button button = new Button(scannerGroup, SWT.PUSH); button.setText("bernehmen"); button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { applyScanner(); } public void widgetDefaultSelected(SelectionEvent e) { // do nothing } }); Composite tableArea = new Composite(mainArea, SWT.NONE); tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tableArea.setLayout(new GridLayout()); viewer = new TableViewer(tableArea, SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setLinesVisible(true); table.setHeaderVisible(true); verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); boldFont = createBoldFont(table.getFont()); final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { 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; } }; TableViewerEditor.create(viewer, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createViewerColumns(); viewer.setContentProvider(new ViewerContentProvider()); viewer.setInput(this); Composite cButtons = new Composite(mainArea, SWT.NONE); cButtons.setLayout(new GridLayout(2, false)); final Button clickAllButton = new Button(cButtons, SWT.PUSH); clickAllButton.setText(ALLE_MARKIEREN); clickAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean bv = true; if (clickAllButton.getText().equals(ALLE_MARKIEREN)) { bv = true; clickAllButton.setText("Alle demarkieren"); } else { bv = false; clickAllButton.setText(ALLE_MARKIEREN); } for (OrderElement oe : orderElements) { oe.setVerified(bv); } viewer.refresh(true); } }); Button importButton = new Button(cButtons, SWT.PUSH); GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false); importButton.setLayoutData(gd); importButton.setText("Lagerbestnde anpassen"); importButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doImport(); } }); cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); return mainArea; }
From source file:com.gorillalogic.monkeyconsole.tableview.MonkeyTalkTabularEditor.java
License:Open Source License
/** * Creates the main window's contents/*from w w w . ja va 2s . c om*/ * * @param parent * the main window * @return Control */ protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, false)); // Add the TableViewer tv = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); tv.setContentProvider(new CommandContentProvider()); tv.setInput(commands); table = tv.getTable(); table.setLayoutData(new GridData(GridData.FILL_BOTH)); TableColumnLayout layout = new TableColumnLayout(); composite.setLayout(layout); // Row Number Column TableViewerColumn row_col = createTableViewerColumn(ROW, 100, 0); row_col.setLabelProvider(new RowNumberLabelProvider(commands)); layout.setColumnData(row_col.getColumn(), new ColumnWeightData(10)); // Component Type Column TableViewerColumn component_col = createTableViewerColumn(COMPONENT, 100, 1); component_col.setLabelProvider(new ComponentLabelProvider()); component_col.setEditingSupport(new ComponentEditingSupport(tv, limitedComponentSet) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(component_col.getColumn(), new ColumnWeightData(30)); TableViewerColumn monkeyid_col = createTableViewerColumn(MONKEYID, 100, 2); monkeyid_col.setLabelProvider(new MonkeyidLabelProvider()); monkeyid_col.setEditingSupport(new MonkeyidEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(monkeyid_col.getColumn(), new ColumnWeightData(25)); TableViewerColumn action_col = createTableViewerColumn(ACTION, 100, 3); action_col.setLabelProvider(new ActionLabelProvider()); action_col.setEditingSupport(new ActionEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(action_col.getColumn(), new ColumnWeightData(30)); TableViewerColumn args_col = createTableViewerColumn(ARGS, 100, 4); args_col.setLabelProvider(new ArgsLabelProvider()); args_col.setEditingSupport(new ArgsEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(args_col.getColumn(), new ColumnWeightData(40)); TableViewerColumn timeout_col = createTableViewerColumn(TIMEOUT, 100, 5); timeout_col.setLabelProvider(new TimeoutLabelProvider()); timeout_col.setEditingSupport(new TimeoutEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(timeout_col.getColumn(), new ColumnWeightData(20)); TableViewerColumn thinktime_col = createTableViewerColumn(THINKTIME, 100, 6); thinktime_col.setLabelProvider(new ThinktimeLabelProvider()); thinktime_col.setEditingSupport(new ThinktimeEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(thinktime_col.getColumn(), new ColumnWeightData(20)); String extencion = FilenameUtils .getExtension(((FileEditorInput) this.getEditorInput()).getPath().toFile().getName()); if (extencion.equals("mt")) { TableViewerColumn shouldfail_col = createTableViewerColumn(SHOULDFAIL, 100, 7); shouldfail_col.getColumn().setAlignment(SWT.CENTER); shouldfail_col.setLabelProvider(new ShouldFailLabelProvider(tv)); shouldfail_col.setEditingSupport(new ShouldFailEditingSupport(tv) { public void dataChanged() { MonkeyTalkTabularEditor.this.doDataChanged(); }; }); layout.setColumnData(shouldfail_col.getColumn(), new ColumnWeightData(15)); } tv.getTable().addListener(SWT.MenuDetect, new Listener() { public void handleEvent(Event event) { if (menueventsCaught != event.time) { new ContextMenu(MonkeyTalkTabularEditor.this, event).show(); menueventsCaught = event.time; } } }); table.addListener(SWT.MouseDoubleClick, new Listener() { @Override public void handleEvent(Event e) { TableItem item = table.getItem(new Point(e.x, e.y)); if (item == null) { } else { // click link case String comp = ((TableRow) item.getData()).getComponentType(); if (comp != null && (comp.equalsIgnoreCase("Script") || comp.equalsIgnoreCase("Test") || comp.equalsIgnoreCase("SetUp") || comp.equalsIgnoreCase("Teardown"))) { try { IEditorPart ieditorpart = MonkeyTalkTabularEditor.this.getEditorSite().getPage() .getActiveEditor(); String dotMt = ".mt"; if (((TableRow) item.getData()).getMonkeyId().contains(".mt") || ((TableRow) item.getData()).getMonkeyId().contains(".js")) { dotMt = ""; } IFile fileToBeOpened = ((IFileEditorInput) ieditorpart.getEditorInput()).getFile() .getProject().getFile(((TableRow) item.getData()).getMonkeyId() + dotMt); IEditorInput editorInput = new FileEditorInput(fileToBeOpened); MonkeyTalkTabularEditor.this.getEditorSite().getPage().openEditor(editorInput, "com.gorillalogic.monkeyconsole.editors.FoneMonkeyTestEditor"); commandKeyDown = false; } catch (CoreException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } } } }); table.addListener(SWT.MouseUp, new Listener() { @Override public void handleEvent(Event e) { TableItem item = table.getItem(new Point(e.x, e.y)); if (item == null) { if (e.y < (table.getItemCount() * table.getItemHeight()) + table.getItemHeight()) { appendRow(); } } else { // click link case String comp = ((TableRow) item.getData()).getComponentType(); if (comp != null && commandKeyDown && tv.getCell(new Point(e.x, e.y)).getColumnIndex() == 2 && (comp.equalsIgnoreCase("Script") || comp.equalsIgnoreCase("Test") || comp.equalsIgnoreCase("Run") || comp.equalsIgnoreCase("RunWith") || comp.equalsIgnoreCase("SetUp") || comp.equalsIgnoreCase("Teardown"))) { try { IEditorPart ieditorpart = MonkeyTalkTabularEditor.this.getEditorSite().getPage() .getActiveEditor(); IFile fileToBeOpened = ((IFileEditorInput) ieditorpart.getEditorInput()).getFile() .getProject().getFile(tv.getCell(new Point(e.x, e.y)).getText() + ".mt"); IEditorInput editorInput = new FileEditorInput(fileToBeOpened); MonkeyTalkTabularEditor.this.getEditorSite().getPage().openEditor(editorInput, "com.gorillalogic.monkeyconsole.editors.FoneMonkeyTestEditor"); commandKeyDown = false; } catch (CoreException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } } } } }); // FOCUS TRAVERSAL FocusCellHighlighter highlighter = new FocusCellHighlighter(tv) { }; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tv, highlighter) { }; ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tv) { 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; } }; TableViewerEditor.create(tv, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); table.setHeaderVisible(true); table.setLinesVisible(true); table.addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.CTRL || arg0.keyCode == SWT.COMMAND) { commandKeyDown = true; } } @Override public void keyReleased(KeyEvent arg0) { if (arg0.keyCode == SWT.CTRL || arg0.keyCode == SWT.COMMAND) { commandKeyDown = false; } if (commandKeyDown && (arg0.character == 'P' || arg0.character == 'p')) { if (monkeyControls.isCurrentlyConnected() && !monkeyControls.isRecordingON() && getLimitedComponentSet() == null) monkeyControls.startReplayRange(tv.getTable().getSelectionIndex(), tv.getTable().getSelectionIndex() + tv.getTable().getSelectionCount()); } System.out.println(arg0.keyCode); if (arg0.keyCode == SWT.DEL || arg0.keyCode == 8) { deleteRows(getTv().getTable().getSelectionIndices()); } } }); int ops = DND.DROP_COPY | DND.DROP_MOVE; Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() }; tv.addDropSupport(ops, transfers, new GadgetTableDropAdapter(tv)); return composite; }
From source file:com.hangum.tadpole.engine.sql.util.tables.TableUtil.java
License:Open Source License
/** * make selected single column//from w w w . j a v a2 s . c o m * * @param tv */ public static void makeSelectSingleColumn(TableViewer tv) { TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tv, new FocusCellOwnerDrawHighlighter(tv)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tv) { 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.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(tv, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); }
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 w w .j av a 2 s . c o m 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.keba.tracecompass.jitter.ui.SystemJitterView.java
License:Open Source License
private void createIntervalFilterTable() { fIntervalFilterTableViewer = new TableViewer(fTabs, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); fIntervalFilterTableViewer.setContentProvider(ArrayContentProvider.getInstance()); fIntervalFilterTableViewer.getTable().setHeaderVisible(true); TableViewerFocusCellManager tvfcm = new TableViewerFocusCellManager(fIntervalFilterTableViewer, new FocusCellOwnerDrawHighlighter(fIntervalFilterTableViewer)); TableViewerEditor.create(fIntervalFilterTableViewer, tvfcm, new ColumnViewerEditorActivationStrategy(fIntervalFilterTableViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION; }//w ww .j a va2s . com }, ColumnViewerEditor.DEFAULT); final String[] columnProperties = { "Name", "1st event filter", "2nd event filter" }; fIntervalFilterTableViewer.setColumnProperties(columnProperties); CellEditor[] editors = { new TextCellEditor(fIntervalFilterTableViewer.getTable()), null, null }; fIntervalFilterTableViewer.setCellEditors(editors); fIntervalFilterTableViewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element != null && element instanceof TableItem) { IntervalFilterSetting ival = (IntervalFilterSetting) ((TableItem) element).getData(); ival.name = (String) value; } fIntervalFilterTableViewer.refresh(); } @Override public Object getValue(Object element, String property) { if (element != null && element instanceof IntervalFilterSetting) { IntervalFilterSetting ival = (IntervalFilterSetting) element; return ival.name; } return ""; } @Override public boolean canModify(Object element, String property) { if (property.equals(columnProperties[0])) return true; return false; } }); fIntervalFilterTableViewer.getTable().addListener(SWT.MouseDoubleClick, new SetEventFilterListener()); TableViewerColumn colName = new TableViewerColumn(fIntervalFilterTableViewer, SWT.NONE); colName.getColumn().setWidth(200); colName.getColumn().setText(columnProperties[0]); colName.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element != null && element instanceof IntervalFilterSetting) { IntervalFilterSetting ival = (IntervalFilterSetting) element; return (ival.name == null || ival.name.equals("")) ? "Set name ..." : ival.name; } return ""; } }); TableViewerColumn colBeginFilter = new TableViewerColumn(fIntervalFilterTableViewer, SWT.NONE); colBeginFilter.getColumn().setWidth(200); colBeginFilter.getColumn().setText(columnProperties[TAB_INTERVAL_INDEX]); colBeginFilter.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element != null && element instanceof IntervalFilterSetting) { IntervalFilterSetting ival = (IntervalFilterSetting) element; return (ival.beginFilter == null) ? "No filter set." : ival.beginFilter.toString(); } return ""; } }); TableViewerColumn colEndFilter = new TableViewerColumn(fIntervalFilterTableViewer, SWT.NONE); colEndFilter.getColumn().setWidth(200); colEndFilter.getColumn().setText(columnProperties[TAB_FILTER_INDEX]); colEndFilter.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element != null && element instanceof IntervalFilterSetting) { IntervalFilterSetting ival = (IntervalFilterSetting) element; return (ival.endFilter == null) ? "No filter set." : ival.beginFilter.toString(); } return ""; } }); }
From source file:com.laex.cg2d.screeneditor.handlers.EditShapeIDDialog.java
License:Open Source License
/** * Create contents of the dialog.//from w w w . j a v a 2s. c o m * * @param parent * the parent * @return the control */ @Override protected Control createDialogArea(Composite parent) { setTitle("Change Shape ID"); setMessage("Update the IDs of shapes"); Composite area = (Composite) super.createDialogArea(parent); Composite container = new Composite(area, SWT.NONE); container.setLayout(new FillLayout(SWT.HORIZONTAL)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); tableViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION); table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); // Tab Editing of Cells. TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableViewer, new FocusCellOwnerDrawHighlighter(tableViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) { 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.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(tableViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); TableViewerColumn colOldID = new TableViewerColumn(tableViewer, SWT.NONE); final TableColumn tblclmnOldId = colOldID.getColumn(); tblclmnOldId.setWidth(100); tblclmnOldId.setText("Old ID"); tblclmnOldId.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.getTable().setSortColumn(tblclmnOldId); tableViewer.refresh(); } }); TableViewerColumn colNewID = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tblclmnNewId = colNewID.getColumn(); tblclmnNewId.setWidth(100); tblclmnNewId.setText("New ID"); colNewID.setEditingSupport(new EditingSupport(tableViewer) { IDCreationStrategy ics = IDCreationStrategyFactory.getIDCreator(ScreenEditorUtil.getScreenModel()); private boolean validate(String idToCheck) { // Make a copy of list to check, otherwise we will perpetually be // validating false for (InternalShapeId isi : shapeIdList) { boolean idUsed = ics.isIdUsed(isi.shape.getEditorShapeType(), isi.newId); if (idUsed) { setErrorMessage("ID already exists"); getButton(OK).setEnabled(false); return false; } } setErrorMessage(null); getButton(OK).setEnabled(true); return true; } @Override protected void setValue(Object element, Object value) { ((InternalShapeId) element).newId = value.toString(); tableViewer.refresh(); validate(value.toString()); } @Override protected Object getValue(Object element) { return ((InternalShapeId) element).newId; } @Override protected CellEditor getCellEditor(Object element) { TextCellEditor tce = new TextCellEditor(tableViewer.getTable()); return tce; } @Override protected boolean canEdit(Object element) { return true; } }); tableViewer.setLabelProvider(new TableLabelProvider()); tableViewer.setContentProvider(new ContentProvider()); // tableViewer.setComparator(new Comparator()); tableViewer.setInput(shapeIdList); tableViewer.refresh(); return area; }
From source file:com.mentor.nucleus.bp.ui.sem.viewers.SEMTableViewer.java
License:Open Source License
public SEMTableViewer(Composite parent, int style) { super(parent, style); getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); getTable().setHeaderVisible(true);/*from w w w.j a va 2 s .c o m*/ getTable().setLinesVisible(true); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(this, new SEMFocusCellHighlighter(this)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(this) { 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; } }; TableViewerEditor.create(this, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); }
From source file:com.microsoft.tfs.client.common.ui.framework.celleditor.accessibility.CellEditorAccessibility.java
License:Open Source License
public static void setupAccessibleCellEditors(final TableViewer viewer, final int flags) { Check.notNull(viewer, "viewer"); //$NON-NLS-1$ try {/* ww w. j ava 2 s .c o m*/ final MultiRowHighlighter cellHighlighter = new MultiRowHighlighter(viewer); final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, cellHighlighter); final ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( viewer) { @Override protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) { /* * Deny any cell editor activation if there are multiple * rows selected. */ if (getViewer().getSelection() != null && getViewer().getSelection() instanceof StructuredSelection && ((StructuredSelection) getViewer().getSelection()).size() > 1) { return false; } if (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) { return true; } return super.isEditorActivationEvent(event); } }; TableViewerEditor.create(viewer, focusCellManager, activationStrategy, flags); } catch (final Exception e) { log.warn("Could not configure cell editor accessibility", e); //$NON-NLS-1$ } }
From source file:com.spextreme.jenkins.remote.ui.ConfigurationDialog.java
License:Apache License
/** * Creates the section that defines items used to access and control jenkins. * //from w w w . j a va 2 s .c o m * @param parent The parent composite. */ private void createJenkinsSection(final Composite parent) { final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; final GridData gridData1 = new GridData(); gridData1.grabExcessHorizontalSpace = true; gridData1.horizontalAlignment = GridData.FILL; gridData1.verticalAlignment = GridData.FILL; gridData1.grabExcessVerticalSpace = true; final Composite compositeTop = new Composite(parent, SWT.NONE); compositeTop.setLayout(gridLayout); mServerTableViewer = new TableViewer(compositeTop, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); mServerTableViewer.setLabelProvider(new ServerLabelProvider()); mServerTableViewer.setContentProvider(getContentProvider()); mServerTableViewer.setSorter(new ViewerSorter()); mServerTableViewer.getControl().setLayoutData(gridData1); createTableColumns(mServerTableViewer); createCellEditor(mServerTableViewer); mServerTableViewer.setInput(mConfigData.getServers()); mServerTableViewer.getTable().pack(); final TableViewerFocusCellManager focusManager = new TableViewerFocusCellManager(mServerTableViewer, new FocusCellOwnerDrawHighlighter(mServerTableViewer)); final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( mServerTableViewer) { @Override protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) { final boolean result = (event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL) || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION) || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION) || ((event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED) && (event.keyCode == SWT.CR)) || (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC); return result; } }; TableViewerEditor.create(mServerTableViewer, focusManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createCompositeTopButtons(compositeTop); }