List of usage examples for org.eclipse.jface.viewers EditingSupport EditingSupport
public EditingSupport(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.ja va 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:ar.com.fluxit.jqa.wizard.page.CommonsTypesDefinitionWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1;//from www. ja va 2 s .co m container.setLayout(layout); Tree commonTypesTree = new Tree(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); commonTypesTree.setHeaderVisible(true); commonTypesTree.setLinesVisible(true); commonTypesTree.setLayoutData(new GridData(GridData.FILL_BOTH)); commonTypesTreeViewer = new TreeViewer(commonTypesTree); TreeViewerColumn layerColumn = new TreeViewerColumn(commonTypesTreeViewer, SWT.LEFT); layerColumn.getColumn().setText("Layer/Types"); layerColumn.getColumn().setWidth(400); final CellEditor checkboxCellEditor = new CheckboxCellEditor(); TreeViewerColumn commonTypeColumn = new TreeViewerColumn(commonTypesTreeViewer, SWT.LEFT); commonTypeColumn.getColumn().setText("Is common?"); commonTypeColumn.getColumn().setWidth(50); commonTypeColumn.setEditingSupport(new EditingSupport(commonTypesTreeViewer) { @Override protected boolean canEdit(Object arg0) { return true; } @Override protected CellEditor getCellEditor(Object arg0) { return checkboxCellEditor; } @Override protected Object getValue(Object arg0) { return ((CommonDescriptor) arg0).isCommon(); } @Override protected void setValue(Object arg0, Object arg1) { ((CommonDescriptor) arg0).setCommon((Boolean) arg1); commonTypesTreeViewer.update(arg0, null); } }); commonTypesTreeViewer.setContentProvider(new CommonTypesContentProvider()); commonTypesTreeViewer.setLabelProvider(new CommonTypesLabelProvider()); commonTypesTreeViewer.setInput(getArchitectureDescriptor()); commonTypesTreeViewer.expandAll(); commonTypesTreeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer arg0, Object arg1, Object arg2) { if (arg2 instanceof LayerDescriptor) { return !((LayerDescriptor) arg2).getCommons().isEmpty(); } else { return true; } } }); setControl(container); ((WizardDialog) getContainer()).addPageChangedListener(this); }
From source file:ar.com.fluxit.jqa.wizard.page.NamingDefinitionWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 2;/* w ww. j a va2s . c o m*/ container.setLayout(layout); Label implPackageLabel = new Label(container, SWT.NONE); implPackageLabel.setText("Implementations package naming suffix"); implPackageText = new Text(container, SWT.BORDER); implPackageText.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { getWizard().setImplPackageText(implPackageText.getText()); } }); implPackageText.setLayoutData(new GridData(50, SWT.DEFAULT)); Label implClassLabel = new Label(container, SWT.NONE); implClassLabel.setText("Implementations classess name suffix"); classPackageText = new Text(container, SWT.BORDER); classPackageText.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { getWizard().setClassPackageText(classPackageText.getText()); } }); classPackageText.setLayoutData(new GridData(50, SWT.DEFAULT)); Label layersLabel = new Label(container, SWT.NONE); layersLabel.setText("Layers naming pattern"); layersLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); layersTable = new TableViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); layersTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layersTable.setContentProvider(ArrayContentProvider.getInstance()); layersTable.getTable().setHeaderVisible(true); layersTable.getTable().setLinesVisible(true); TableViewerColumn layerColumn = new TableViewerColumn(layersTable, SWT.NONE); layerColumn.getColumn().setText("Layer"); layerColumn.getColumn().setWidth(300); layerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Layer layer = (Layer) element; return layer.getName(); } }); TableViewerColumn namePatternColumn = new TableViewerColumn(layersTable, SWT.NONE); namePatternColumn.getColumn().setWidth(300); namePatternColumn.getColumn().setText("Naming pattern"); namePatternColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Layer layer = (Layer) element; return layer.getNamingPattern(); } }); namePatternColumn.setEditingSupport(new EditingSupport(layersTable) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(layersTable.getTable()); } @Override protected Object getValue(Object element) { return ((Layer) element).getNamingPattern(); } @Override protected void setValue(Object element, Object value) { ((Layer) element).setNamingPattern(((String) value).trim()); layersTable.refresh(element, true); } }); layersTable.setInput(getWizard().getLayers()); setControl(container); ((WizardDialog) getContainer()).addPageChangedListener(this); }
From source file:ar.com.fluxit.jqa.wizard.page.ThrowingDefinitionWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1;/*from ww w .ja v a 2 s . c om*/ container.setLayout(layout); layersTable = new TableViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); layersTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layersTable.setContentProvider(ArrayContentProvider.getInstance()); layersTable.getTable().setHeaderVisible(true); layersTable.getTable().setLinesVisible(true); TableViewerColumn layerColumn = new TableViewerColumn(layersTable, SWT.NONE); layerColumn.getColumn().setText("Layer"); layerColumn.getColumn().setWidth(300); layerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { LayerDescriptor layer = (LayerDescriptor) element; return layer.getName(); } }); TableViewerColumn namePatternColumn = new TableViewerColumn(layersTable, SWT.NONE); namePatternColumn.getColumn().setWidth(300); namePatternColumn.getColumn().setText("Exception super type"); namePatternColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { LayerDescriptor layer = (LayerDescriptor) element; return layer.getExceptionSuperType(); } }); namePatternColumn.setEditingSupport(new EditingSupport(layersTable) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { TypeSelectionExtension extension = new TypeSelectionExtension() { @Override public ISelectionStatusValidator getSelectionValidator() { return new ISelectionStatusValidator() { @Override public IStatus validate(Object[] selection) { if (selection.length == 1) { try { IType type = (IType) selection[0]; ITypeHierarchy hierarchy = type .newSupertypeHierarchy(new NullProgressMonitor()); IType curr = type; while (curr != null) { if ("java.lang.Throwable".equals(curr.getFullyQualifiedName('.'))) { //$NON-NLS-1$ return Status.OK_STATUS; } curr = hierarchy.getSuperclass(curr); } } catch (JavaModelException e) { Status status = new Status(IStatus.ERROR, JQAEclipsePlugin.PLUGIN_ID, e.getLocalizedMessage(), e); JQAEclipsePlugin.getDefault().getLog().log(status); return Status.CANCEL_STATUS; } } return new Status(IStatus.ERROR, JQAEclipsePlugin.PLUGIN_ID, "Selected item is not an exception"); } }; } }; return new TypeCellEditor(layersTable.getTable(), ThrowingDefinitionWizardPage.this.getContainer(), IJavaSearchConstants.CLASS, "*Exception", extension); } @Override protected Object getValue(Object element) { return ((LayerDescriptor) element).getExceptionSuperType(); } @Override protected void setValue(Object element, Object value) { ((LayerDescriptor) element).setExceptionSuperType((String) value); layersTable.refresh(element, true); } }); layersTable.setInput(getArchitectureDescriptor().getLayers()); setControl(container); ((WizardDialog) getContainer()).addPageChangedListener(this); }
From source file:ar.com.fluxit.jqa.wizard.page.TypingDefinitionWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1;/*w w w .j a v a 2s. c om*/ container.setLayout(layout); layersTable = new TableViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); layersTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layersTable.setContentProvider(ArrayContentProvider.getInstance()); layersTable.getTable().setHeaderVisible(true); layersTable.getTable().setLinesVisible(true); TableViewerColumn layerColumn = new TableViewerColumn(layersTable, SWT.NONE); layerColumn.getColumn().setText("Layer"); layerColumn.getColumn().setWidth(300); layerColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Layer layer = (Layer) element; return layer.getName(); } }); TableViewerColumn namePatternColumn = new TableViewerColumn(layersTable, SWT.NONE); namePatternColumn.getColumn().setWidth(300); namePatternColumn.getColumn().setText("Super type"); namePatternColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Layer layer = (Layer) element; return layer.getSuperType(); } }); namePatternColumn.setEditingSupport(new EditingSupport(layersTable) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return new TypeCellEditor(layersTable.getTable(), TypingDefinitionWizardPage.this.getContainer()); } @Override protected Object getValue(Object element) { return ((Layer) element).getSuperType(); } @Override protected void setValue(Object element, Object value) { ((Layer) element).setSuperType((String) value); layersTable.refresh(element, true); } }); layersTable.setInput(getWizard().getLayers()); setControl(container); ((WizardDialog) getContainer()).addPageChangedListener(this); }
From source file:au.gov.ga.earthsci.bookmark.part.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(ArrayContentProvider.getInstance()); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(200);//from w w w. jav a2 s. c o m col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateLabelColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(100); col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateOpacityColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col.setEditingSupport(new EditingSupport(col.getViewer()) { @Override protected CellEditor getCellEditor(Object element) { TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable()); textCellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { try { Double.parseDouble((String) value); return null; } catch (Exception e) { return Messages.LayersPropertyEditor_InvalidOpacityMessage; } } }); return textCellEditor; } @Override protected boolean canEdit(Object element) { return true; } @SuppressWarnings("unchecked") @Override protected Object getValue(Object element) { return Double.toString(((Entry<URI, Double>) element).getValue()); } @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { ((Entry<URI, Double>) element).setValue(Util.clamp(Double.parseDouble((String) value), 0, 1)); layerTable.refresh(element, true); } }); layerTable.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<URI, Double> entry = (Entry<URI, Double>) cell.getElement(); if (cell.getColumnIndex() == 0) { cell.setText(entry.getKey().toString()); } else { cell.setText(Double.toString(entry.getValue())); } } }); fillFieldsFromProperty(getProperty()); return container; }
From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java
License:Apache License
private EditingSupport getEditorSupport(TableViewerColumn col) { return new EditingSupport(col.getViewer()) { @Override/*ww w. j a v a 2 s.c o m*/ protected CellEditor getCellEditor(Object element) { TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable()); textCellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { try { Double.parseDouble((String) value); return null; } catch (Exception e) { return Messages.LayersPropertyEditor_InvalidOpacityMessage; } } }); return textCellEditor; } @Override protected boolean canEdit(Object element) { return true; } @SuppressWarnings("unchecked") @Override protected Object getValue(Object element) { return ((Entry<String, Map<String, String>>) element).getValue() .get(LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME); } @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { double newValue = Double.parseDouble((String) value); ((Entry<String, Map<String, String>>) element).getValue().put( LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME, String.valueOf(Util.clamp(newValue, 0, 1))); layerTable.refresh(element, true); } }; }
From source file:ch.elexis.core.ui.contacts.preferences.BezugsKontaktSettings.java
License:Open Source License
@Override protected Control createContents(Composite parent) { updateExistingEntriesIds.clear();/*from w w w . j a va2 s .c o m*/ Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout(1, false)); Group group = new Group(container, SWT.NONE); group.setLayout(new GridLayout(1, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); group.setText(Messages.Bezugskontakt_Definition); Composite composite = new Composite(group, SWT.NONE); GridData gd_composite = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd_composite.heightHint = 300; composite.setLayoutData(gd_composite); TableColumnLayout tcl_composite = new TableColumnLayout(); composite.setLayout(tcl_composite); tableViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); tableBezugsKontaktRelations = tableViewer.getTable(); tableBezugsKontaktRelations.setHeaderVisible(true); tableBezugsKontaktRelations.setLinesVisible(true); if (allowEditing) { Menu menu = new Menu(tableBezugsKontaktRelations); tableBezugsKontaktRelations.setMenu(menu); MenuItem mntmAddBezugsKontaktRelation = new MenuItem(menu, SWT.NONE); mntmAddBezugsKontaktRelation.setText(Messages.Bezugskontakt_Add); mntmAddBezugsKontaktRelation.setImage(Images.IMG_NEW.getImage()); mntmAddBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { BezugsKontaktRelation bezugsKontaktRelation = new BezugsKontaktRelation("", RelationshipType.AGENERIC, RelationshipType.AGENERIC); tableViewer.add(bezugsKontaktRelation); tableViewer.setSelection(new StructuredSelection(bezugsKontaktRelation)); } }); MenuItem mntmRemoveBezugsKontaktRelation = new MenuItem(menu, SWT.NONE); mntmRemoveBezugsKontaktRelation.setText(Messages.Bezugskontakt_Delete); mntmRemoveBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int selectionsIdx = tableViewer.getTable().getSelectionIndex(); if (selectionsIdx != -1) { boolean ret = MessageDialog.openQuestion(UiDesk.getTopShell(), Messages.Bezugskontakt_ConfirmDelete, Messages.Bezugskontakt_ConfirmDeleteText); if (ret) { tableViewer.getTable().remove(selectionsIdx); } } } }); } TableViewerColumn viewCol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(1, 140)); col.setText(Messages.BezugsKonktat_Reference); col.setToolTipText(Messages.Bezugskontakt_ReferenceTooltip); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(s.getName()); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation) { String newName = String.valueOf(value); BezugsKontaktRelation tableData = null; for (TableItem tableItem : tableViewer.getTable().getItems()) { tableData = (BezugsKontaktRelation) tableItem.getData(); if (tableData != null && !tableData.equals(element) && !tableData.getName().isEmpty() && newName.equalsIgnoreCase(tableData.getName())) { MessageDialog.openError(UiDesk.getTopShell(), "", Messages.Bezugskontakt_NameMustBeUnique); return; } } BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; if (!bezugsKontaktRelation.getName().equals(newName)) { bezugsKontaktRelation.setName(newName); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { return ((BezugsKontaktRelation) element).getName(); } return null; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(tableViewer.getTable()); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); viewCol = new TableViewerColumn(tableViewer, SWT.NONE); col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(0, 140)); col.setText(Messages.Bezugskontakt_RelationFrom); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(LocalizeUtil.getLocaleText(s.getDestRelationType())); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation && value instanceof Integer) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType[] allRelationshipTypes = RelationshipType.values(); if ((int) value != -1 && !bezugsKontaktRelation.getDestRelationType() .equals(allRelationshipTypes[(int) value])) { bezugsKontaktRelation.setDestRelationType(allRelationshipTypes[(int) value]); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType relationshipType = bezugsKontaktRelation.getDestRelationType(); if (relationshipType != null) { return relationshipType.getValue(); } } return 0; } @Override protected CellEditor getCellEditor(Object element) { return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); viewCol = new TableViewerColumn(tableViewer, SWT.NONE); col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(0, 140)); col.setText(Messages.Bezugskontakt_RelationTo); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(LocalizeUtil.getLocaleText(s.getSrcRelationType())); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation && value instanceof Integer) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType[] allRelationshipTypes = RelationshipType.values(); if ((int) value != -1 && !bezugsKontaktRelation.getSrcRelationType() .equals(allRelationshipTypes[(int) value])) { bezugsKontaktRelation.setSrcRelationType(allRelationshipTypes[(int) value]); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType relationshipType = bezugsKontaktRelation.getSrcRelationType(); if (relationshipType != null) { return relationshipType.getValue(); } } return 0; } @Override protected CellEditor getCellEditor(Object element) { return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); ; tableViewer .setInput(loadBezugKonkaktTypes(CoreHub.globalCfg.get(Patientenblatt2.CFG_BEZUGSKONTAKTTYPEN, ""))); return container; }
From source file:ch.elexis.core.ui.dialogs.OrderImportDialog.java
License:Open Source License
private void createViewerColumns() { TableViewerColumn column;// ww w. ja va2 s. c om final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(viewer.getTable()); final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTable()); /* OK (checkbox column) */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("OK"); column.getColumn().setWidth(50); column.setLabelProvider(new CheckboxLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return checkboxCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return new Boolean(orderElement.isVerified()); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof Boolean) { Boolean bValue = (Boolean) value; orderElement.setVerified(bValue.booleanValue()); } viewer.update(orderElement, null); } } }); /* Amount delivered*/ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Geliefert"); column.getColumn().setWidth(60); column.setLabelProvider(new AmountLabelProvider()); column.setEditingSupport(new EditingSupport(viewer) { public boolean canEdit(Object element) { return true; } public CellEditor getCellEditor(Object element) { return textCellEditor; } public Object getValue(Object element) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; return orderElement.getAmountAsString(); } else { return null; } } public void setValue(Object element, Object value) { if (element instanceof OrderElement) { OrderElement orderElement = (OrderElement) element; if (value instanceof String) { String text = (String) value; try { int amount = Integer.parseInt(text); orderElement.setAmount(amount); orderElement.setVerified(true); } catch (NumberFormatException ex) { // ignore invalid value } } viewer.update(orderElement, null); } } }); /* Amount on stock*/ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Lager"); column.getColumn().setWidth(60); column.setLabelProvider(new StockLabelProvider()); /* Pharamcode */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Pharmacode"); column.getColumn().setWidth(80); column.setLabelProvider(new PharamcodeLabelProvider()); /* EAN */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("EAN"); column.getColumn().setWidth(110); column.setLabelProvider(new EANLabelProvider()); /* Description */ column = new TableViewerColumn(viewer, SWT.LEFT); column.getColumn().setText("Beschreibung"); column.getColumn().setWidth(300); column.setLabelProvider(new DescriptionLabelProvider()); }
From source file:ch.elexis.core.ui.views.BestellView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { parent.setLayout(new FillLayout()); form = tk.createForm(parent);/* ww w.ja va 2 s . com*/ Composite body = form.getBody(); body.setLayout(new GridLayout()); Table table = new Table(body, SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setHeaderVisible(true); table.setLinesVisible(false); tv = new TableViewer(table); TableViewerColumn tvc0 = new TableViewerColumn(tv, SWT.CENTER); tvc0.getColumn().setText(Messages.BestellView_Number); tvc0.getColumn().setWidth(40); PersistentObjectEditingSupport poes = new PersistentObjectEditingSupport(tv, BestellungEntry.FLD_COUNT); tvc0.setEditingSupport(poes); TableViewerColumn tvc1 = new TableViewerColumn(tv, SWT.LEFT); tvc1.getColumn().setText(Messages.BestellView_Article); tvc1.getColumn().setWidth(280); TableViewerColumn tvc2 = new TableViewerColumn(tv, SWT.LEFT); tvc2.getColumn().setText(Messages.BestellView_Dealer); tvc2.getColumn().setWidth(250); tvc2.setEditingSupport(new EditingSupport(tv) { @Override protected void setValue(Object element, Object value) { BestellungEntry se = (BestellungEntry) element; if (se == null) { return; } se.setProvider((Kontakt) value); getViewer().refresh(); } @Override protected Object getValue(Object element) { BestellungEntry se = (BestellungEntry) element; if (se == null) { return null; } return (Kontakt) se.getProvider(); } @Override protected CellEditor getCellEditor(Object element) { return new KontaktSelektorDialogCellEditor(((TableViewer) getViewer()).getTable(), "Lieferant auswhlen", "Bitte selektieren Sie den Lieferant"); } @Override protected boolean canEdit(Object element) { BestellungEntry be = (BestellungEntry) element; return (be != null); } }); TableViewerColumn tvc3 = new TableViewerColumn(tv, SWT.LEFT); tvc3.getColumn().setText("Lager"); //$NON-NLS-1$ tvc3.getColumn().setWidth(50); tv.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(final Object inputElement) { if (actBestellung != null) { return actBestellung.getEntries().toArray(); } return new Object[0]; } public void dispose() { } public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { } }); tv.setLabelProvider(new BestellungLabelProvider()); tv.setSorter(new ViewerSorter() { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { BestellungEntry be1 = (BestellungEntry) e1; BestellungEntry be2 = (BestellungEntry) e2; String s1 = be1.getArticle().getName(); String s2 = be2.getArticle().getName(); return s1.compareTo(s2); } }); Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; tv.addDropSupport(DND.DROP_COPY, types, new DropTargetAdapter() { @Override public void dragEnter(final DropTargetEvent event) { event.detail = DND.DROP_COPY; } @Override public void drop(final DropTargetEvent event) { String drp = (String) event.data; String[] dl = drp.split(StringConstants.COMMA); if (actBestellung == null) { NeueBestellungDialog nbDlg = new NeueBestellungDialog(getViewSite().getShell(), Messages.BestellView_CreateNewOrder, Messages.BestellView_EnterOrderTitle); if (nbDlg.open() == Dialog.OK) { setBestellung(new Bestellung(nbDlg.getTitle(), CoreHub.actUser)); } else { return; } } List<StockEntry> stockEntriesToOrder = new ArrayList<StockEntry>(); for (String obj : dl) { PersistentObject dropped = CoreHub.poFactory.createFromString(obj); if (dropped instanceof StockEntry) { stockEntriesToOrder.add((StockEntry) dropped); } else if (dropped instanceof Artikel) { Artikel art = (Artikel) dropped; if (art.isProduct()) { // TODO user message? return; } // SINGLE SHOT ORDER actBestellung.addBestellungEntry((Artikel) dropped, null, null, 1); } } for (StockEntry se : stockEntriesToOrder) { int current = se.getCurrentStock(); int max = se.getMaximumStock(); if (max == 0) { max = se.getMinimumStock(); } int toOrder = max - current; actBestellung.addBestellungEntry(se.getArticle(), se.getStock(), se.getProvider(), toOrder); } tv.refresh(); } }); makeActions(); viewmenus = new ViewMenus(getViewSite()); viewmenus.createToolbar(newAction, dailyWizardAction, wizardAction, loadAction, printAction, sendAction); viewmenus.createMenu(newAction, dailyWizardAction, wizardAction, loadAction, printAction, sendAction, exportClipboardAction); viewmenus.createViewerContextMenu(tv, new IAction[] { removeAction }); form.getToolBarManager().add(checkInAction); form.updateToolBar(); setBestellung(null); tv.setInput(getViewSite()); }