List of usage examples for org.eclipse.jface.viewers FocusCellOwnerDrawHighlighter FocusCellOwnerDrawHighlighter
public FocusCellOwnerDrawHighlighter(ColumnViewer viewer)
From source file:Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);/*from w w w . j av a 2 s .c o m*/ v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 1 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return false; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 2 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } protected Object getValue(Object element) { return new Boolean(((MyModel) element).bool); } protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e }); } catch (SecurityException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NoSuchMethodException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalArgumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file: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//from w w w.j ava2s .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); 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/* w ww. j ava2s.co 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.adobe.granite.ide.eclipse.ui.wizards.np.AdvancedSettingsComponent.java
License:Apache License
public void createAdvancedSection(Composite container) { Label label;//from ww w.j a va 2 s . c o m GridData gd; label = new Label(container, SWT.NULL); label.setText("&Version:"); version = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); version.setLayoutData(gd); version.setText("0.0.1-SNAPSHOT"); version.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); label.setText("&Package:"); javaPackage = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); javaPackage.setLayoutData(gd); javaPackageModified = false; javaPackage.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { javaPackageModified = true; } }); javaPackage.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); gd = new GridData(SWT.LEFT, SWT.TOP, false, false); label.setLayoutData(gd); label.setText("&Parameters:"); propertiesViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION); propertiesTable = propertiesViewer.getTable(); propertiesTable.setLinesVisible(true); propertiesTable.setHeaderVisible(true); propertiesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2)); CellNavigationStrategy strategy = new CellNavigationStrategy(); TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager(propertiesViewer, new FocusCellOwnerDrawHighlighter(propertiesViewer), strategy); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( propertiesViewer) { @Override 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; } }; int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK; TableViewerEditor.create(propertiesViewer, focusCellMgr, actSupport, features); TableColumn propertiesTableNameColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableNameColumn.setWidth(180); propertiesTableNameColumn.setText("Name"); TableColumn propertiesTableValueColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableValueColumn.setWidth(300); propertiesTableValueColumn.setText("Value"); propertiesViewer.setColumnProperties(new String[] { KEY_PROPERTY, VALUE_PROPERTY }); propertiesViewer.setCellEditors(new CellEditor[] { null /* cannot edit the name */, new TextCellEditor(propertiesTable, SWT.NONE) }); propertiesViewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return true; } public void modify(Object element, String property, Object value) { if (element instanceof TableItem) { ((TableItem) element).setText(getTextIndex(property), String.valueOf(value)); wizardPage.dialogChanged(); } } public Object getValue(Object element, String property) { if (element instanceof TableItem) { return ((TableItem) element).getText(getTextIndex(property)); } return null; } }); }
From source file:com.hangum.tadpole.engine.sql.util.tables.TableUtil.java
License:Open Source License
/** * make selected single column// w w w . j a v a2 s.co 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 ww . j av a 2 s . c om*/ 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 . j av a2s .c o m*/ 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.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; }//from www. ja va2s .c om }, 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./* www . ja v a 2 s . 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.rcpcompany.uibindings.internal.ViewerBindingImpl.java
License:Open Source License
@Override public void finish1() { final ColumnViewer viewer = getViewer(); // TODO SWTB assertTrue(viewer != null, "No viewer set"); //$NON-NLS-1$ assertTrue(getList() != null, "No model list"); //$NON-NLS-1$ assertTrue(!getColumns().isEmpty(), "No columns in viewer"); //$NON-NLS-1$ final Control control = getControl(); assertTrue((control.getStyle() & SWT.FULL_SELECTION) != 0, "Viewer must have SWT.FULL_SELECTION set"); //$NON-NLS-1$ // SWTEventUtils.swtListen(control); if (viewer instanceof TableViewer) { final ObservableListContentProvider contentProvider = new ObservableListContentProvider(); viewer.setContentProvider(contentProvider); setElements(contentProvider.getKnownElements()); } else if (viewer instanceof TreeViewer) { myTreeFactory = new ViewerBindingTreeFactory(getList(), getArgument(ARG_TREE_ID, String.class, null)); final ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( myTreeFactory, myTreeFactory); viewer.setContentProvider(contentProvider); myValidationLabelDecorator = new ValidationLabelDecorator(); myValidationLabelDecorator.setPropagationAdapter(new ValidationLabelDecorator.IPropagationAdapter() { @Override/* ww w .j a v a 2s .c om*/ public Object getParent(Object object) { if (isDisposed()) return null; return contentProvider.getParent(object); } }); setElements(contentProvider.getKnownElements()); } else { assertTrue(false, "Viewer not a Table or a Tree?"); //$NON-NLS-1$ } IManager.Factory.getManager().eAdapters().add(myManagerAdapter); control.addListener(SWT.PaintItem, myPaintItemListener); if ((control.getStyle() & SWT.SINGLE) == SWT.SINGLE) { mySelectionChangedListener = new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { myLastReportedSelectedElement = ((IStructuredSelection) event.getSelection()).getFirstElement(); } }; viewer.addSelectionChangedListener(mySelectionChangedListener); } registerWidget(control); /* * More or less adapted (read "stolen") from Snippet026TreeViewerTabEditing... * * Actually it is more and more less and less... */ final ColumnViewerEditorActivationStrategy actSupport = new CellEditorActivationStrategy(this); final FocusCellOwnerDrawHighlighter focusDrawingDelegate = new FocusCellOwnerDrawHighlighter(viewer); final int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; try { if (viewer instanceof TableViewer) { final Class<?> cls = Class.forName("org.eclipse.jface.viewers.MyTableViewerFocusCellManager"); final Constructor<?> constructor = cls.getConstructor(TableViewer.class, FocusCellHighlighter.class, CellNavigationStrategy.class); myViewerFocusCellManager = (IMyViewerFocusCellManager) constructor.newInstance(viewer, focusDrawingDelegate, theCellNavigationStrategy); TableViewerEditor.create((TableViewer) viewer, (TableViewerFocusCellManager) myViewerFocusCellManager, actSupport, feature); } else if (viewer instanceof TreeViewer) { final Class<?> cls = Class.forName("org.eclipse.jface.viewers.MyTreeViewerFocusCellManager"); final Constructor<?> constructor = cls.getConstructor(TreeViewer.class, FocusCellHighlighter.class, CellNavigationStrategy.class); myViewerFocusCellManager = (IMyViewerFocusCellManager) constructor.newInstance(viewer, focusDrawingDelegate, theCellNavigationStrategy); TreeViewerEditor.create((TreeViewer) viewer, (TreeViewerFocusCellManager) myViewerFocusCellManager, actSupport, feature); } else { // Not supported } } catch (final Exception ex) { // Do nothing } if (getList() instanceof IObserving && getList().getElementType() instanceof EReference) { // final EObject baseObject = (EObject) ((IObserving) getList()).getObserved(); // final EReference elementType = (EReference) getList().getElementType(); myMessagesOnlyValueBinding = getContext().addBinding() .ui(control, InternalConstants.ATTR_VIEWERS_MESSAGE_ONLY).model(getList()) .type(InternalConstants.VIEWERS_MESSAGE_ONLY_TYPE) .arg(Constants.ARG_MODEL_OBJECT_MESSAGES, true); } ColumnViewerToolTipSupport.enableFor(viewer); DoubleClickAdapter.adapt(this); }