List of usage examples for org.eclipse.jface.viewers DialogCellEditor DialogCellEditor
protected DialogCellEditor(Composite parent)
From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java
License:Open Source License
@SuppressWarnings("unused") private Control createPeerGroup(CTabFolder parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); comp.setLayout(new GridLayout(1, false)); Composite innerComp = new Composite(comp, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0;// ww w . jav a 2 s .c o m layout.marginHeight = 20; innerComp.setLayout(layout); innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Label label = new Label(innerComp, SWT.WRAP); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1)); label.setText(Messages.PeerPreferencePage_network_geography); peerViewer = new TableViewer(innerComp, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); peerViewer.getTable().setLinesVisible(true); peerViewer.getTable().setHeaderVisible(true); peerViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableViewerColumn col0 = new TableViewerColumn(peerViewer, SWT.NONE); col0.getColumn().setWidth(100); col0.getColumn().setText(Messages.PeerPreferencePage_nickname); col0.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PeerDefinition) { String nick = ((PeerDefinition) element).getNickname(); return nick == null ? "" : nick; //$NON-NLS-1$ } return ""; //$NON-NLS-1$ } }); EditingSupport editingSupport = new EditingSupport(peerViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof PeerDefinition && value instanceof PeerDefinition) { ((PeerDefinition) element).setHost(((PeerDefinition) value).getHost()); ((PeerDefinition) element).setNickname(((PeerDefinition) value).getNickname()); ((PeerDefinition) element).setPort(((PeerDefinition) value).getPort()); peerViewer.update(element, null); } } @Override protected Object getValue(Object element) { if (element instanceof PeerDefinition) return element; return null; } @Override protected CellEditor getCellEditor(final Object element) { if (element instanceof PeerDefinition) { return new DialogCellEditor(peerViewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(), (PeerDefinition) element, true, false, false); if (dialog.open() == Window.OK) return dialog.getResult(); return null; } }; } return null; } @Override protected boolean canEdit(Object element) { return true; } }; col0.setEditingSupport(editingSupport); TableViewerColumn col1 = new TableViewerColumn(peerViewer, SWT.NONE); col1.getColumn().setWidth(250); col1.getColumn().setText(Messages.PeerPreferencePage_peer_location); col1.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PeerDefinition) return ((PeerDefinition) element).getLocation(); return ""; //$NON-NLS-1$ } }); col1.setEditingSupport(editingSupport); TableViewerColumn col2 = new TableViewerColumn(peerViewer, SWT.NONE); col2.getColumn().setWidth(150); col2.getColumn().setText(Messages.PeerPreferencePage_status); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof PeerDefinition) return PeerActivator.getDefault().isOnline((PeerDefinition) element) ? Messages.PeerPreferencePage_online : Messages.PeerPreferencePage_offline; return ""; //$NON-NLS-1$ } }); peerViewer.setContentProvider(ArrayContentProvider.getInstance()); new SortColumnManager(peerViewer, new int[] { SWT.UP, SWT.UP, SWT.NONE }, 0); peerViewer.setComparator(ZViewerComparator.INSTANCE); Composite buttonGroup = new Composite(innerComp, SWT.NONE); buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true)); buttonGroup.setLayout(new GridLayout()); Button addButton = new Button(buttonGroup, SWT.PUSH); addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addButton.setText(Messages.PeerPreferencePage_add); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(getShell(), null, true, false, false); if (dialog.open() == PeerDefinitionDialog.OK) { PeerDefinition newPeer = dialog.getResult(); @SuppressWarnings("unchecked") List<PeerDefinition> peers = (List<PeerDefinition>) peerViewer.getInput(); peers.add(newPeer); peerViewer.setInput(peers); peerViewer.setSelection(new StructuredSelection(newPeer)); } } }); final Button removeButton = new Button(buttonGroup, SWT.PUSH); removeButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); removeButton.setText(Messages.PeerPreferencePage_remove); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = peerViewer.getStructuredSelection(); Object firstElement = sel.getFirstElement(); if (firstElement instanceof PeerDefinition) { @SuppressWarnings("unchecked") List<PeerDefinition> peers = (List<PeerDefinition>) peerViewer.getInput(); peers.remove(firstElement); peerViewer.setInput(peers); } } }); removeButton.setEnabled(false); peerViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { removeButton.setEnabled(!event.getSelection().isEmpty()); } }); return comp; }
From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java
License:Open Source License
@SuppressWarnings("unused") private Control createSharedGroup(CTabFolder parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); comp.setLayout(new GridLayout()); Composite innerComp = new Composite(comp, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0;/*from w w w. j a v a 2s . c o m*/ layout.marginHeight = 20; innerComp.setLayout(layout); innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Label label = new Label(innerComp, SWT.WRAP); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1)); label.setText(Messages.PeerPreferencePage_shared_cats_msg); catViewer = new TreeViewer(innerComp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); catViewer.getTree().setLinesVisible(true); catViewer.getTree().setHeaderVisible(true); catViewer.getTree().setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, true)); TreeViewerColumn col1 = new TreeViewerColumn(catViewer, SWT.NONE); col1.getColumn().setWidth(400); col1.getColumn().setText(Messages.PeerPreferencePage_path); col1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance()); TreeViewerColumn col2 = new TreeViewerColumn(catViewer, SWT.NONE); col2.getColumn().setWidth(200); col2.getColumn().setText(Messages.PeerPreferencePage_privacy); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SharedCatalog) return translatePrivacy(((SharedCatalog) element).getPrivacy()); if (element instanceof PeerDefinition) return ((PeerDefinition) element).getRightsLabel(); return ""; //$NON-NLS-1$ } }); col1.setEditingSupport(new EditingSupport(catViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof PeerDefinition && value instanceof PeerDefinition) { ((PeerDefinition) element).setHost(((PeerDefinition) value).getHost()); ((PeerDefinition) element).setPort(((PeerDefinition) value).getPort()); catViewer.update(element, null); validate(); } } @Override protected Object getValue(Object element) { if (element instanceof PeerDefinition) return element; return null; } @Override protected CellEditor getCellEditor(final Object element) { if (element instanceof PeerDefinition) { return new DialogCellEditor(catViewer.getTree()) { @Override protected Object openDialogBox(Control cellEditorWindow) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(), (PeerDefinition) element, true, true, true); if (dialog.open() == Window.OK) return dialog.getResult(); return null; } }; } return null; } @Override protected boolean canEdit(Object element) { return (element instanceof PeerDefinition); } }); col2.setEditingSupport(new EditingSupport(catViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof SharedCatalog && value instanceof Integer) { ((SharedCatalog) element).setPrivacy((Integer) value); catViewer.update(element, null); } else if (element instanceof PeerDefinition && value instanceof PeerDefinition) { ((PeerDefinition) element).setRights(((PeerDefinition) value).getRights()); catViewer.update(element, null); } } @Override protected Object getValue(Object element) { if (element instanceof SharedCatalog) return ((SharedCatalog) element).getPrivacy(); if (element instanceof PeerDefinition) return element; return null; } @Override protected CellEditor getCellEditor(final Object element) { if (element instanceof SharedCatalog) { ComboBoxViewerCellEditor editor = new ComboBoxViewerCellEditor(catViewer.getTree()); editor.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return translatePrivacy(((Integer) element)); } }); editor.setContentProvider(ArrayContentProvider.getInstance()); editor.setInput(((SharedCatalog) element).getRestrictions().isEmpty() ? new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE, QueryField.SAFETY_SAFE, QueryField.SAFETY_LOCAL } : new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE, QueryField.SAFETY_SAFE }); return editor; } if (element instanceof PeerDefinition) { return new DialogCellEditor(catViewer.getTree()) { @Override protected Object openDialogBox(Control cellEditorWindow) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(), (PeerDefinition) element, false, true, false); if (dialog.open() == Window.OK) return dialog.getResult(); return null; } @Override protected void updateContents(Object value) { if (value instanceof PeerDefinition) super.updateContents(((PeerDefinition) value).getRightsLabel()); } }; } return null; } @Override protected boolean canEdit(Object element) { return true; } }); catViewer.setContentProvider(new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public boolean hasChildren(Object element) { if (element instanceof SharedCatalog) return !((SharedCatalog) element).getRestrictions().isEmpty(); return false; } public Object getParent(Object element) { if (element instanceof PeerDefinition) return ((PeerDefinition) element).getParent(); return null; } public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection<?>) return ((Collection<?>) inputElement).toArray(); return EMPTY; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof SharedCatalog) return ((SharedCatalog) parentElement).getRestrictions().toArray(); return EMPTY; } }); new SortColumnManager(catViewer, new int[] { SWT.UP, SWT.NONE }, 0); catViewer.setComparator(ZViewerComparator.INSTANCE); UiUtilities.installDoubleClickExpansion(catViewer); Composite buttonGroup = new Composite(innerComp, SWT.NONE); buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true)); buttonGroup.setLayout(new GridLayout()); addCurrentButton = new Button(buttonGroup, SWT.PUSH); addCurrentButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addCurrentButton.setText(Messages.PeerPreferencePage_add_current); addCurrentButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String catFile = Core.getCore().getDbManager().getFileName(); SharedCatalog cat = new SharedCatalog(catFile, QueryField.SAFETY_RESTRICTED); @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.add(cat); catViewer.setInput(catalogs); catViewer.setSelection(new StructuredSelection(cat)); updateButtons(); } }); final Button addButton = new Button(buttonGroup, SWT.PUSH); addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addButton.setText(Messages.PeerPreferencePage_add); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(getShell(), SWT.OPEN); dialog.setFileName(Core.getCore().getDbManager().getFileName()); String filename = dialog.open(); if (filename != null) { SharedCatalog cat = new SharedCatalog(filename, QueryField.SAFETY_RESTRICTED); @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.add(cat); catViewer.setInput(catalogs); catViewer.setSelection(new StructuredSelection(cat)); } } }); addRestrictionButton = new Button(buttonGroup, SWT.PUSH); addRestrictionButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addRestrictionButton.setText(Messages.PeerPreferencePage_add_restriction); addRestrictionButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) catViewer.getSelection(); Object firstElement = selection.getFirstElement(); if (firstElement instanceof SharedCatalog) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(getControl().getShell(), null, true, true, true); if (dialog.open() == PeerDefinitionDialog.OK) { PeerDefinition result = dialog.getResult(); result.setParent((SharedCatalog) firstElement); catViewer.setInput(catViewer.getInput()); catViewer.expandToLevel(firstElement, 1); catViewer.setSelection(new StructuredSelection(result)); validate(); } } } }); removeCatButton = new Button(buttonGroup, SWT.PUSH); removeCatButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); removeCatButton.setText(Messages.PeerPreferencePage_remove); removeCatButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) catViewer.getSelection(); Object firstElement = sel.getFirstElement(); if (firstElement instanceof SharedCatalog) { @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.remove(firstElement); catViewer.setInput(catalogs); validate(); updateButtons(); } } }); catViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); return comp; }
From source file:com.cisco.yangide.ext.model.editor.property.DialogTextPropertyDescriptor.java
License:Open Source License
public DialogCellEditor createPropertyEditor(Composite parent) { DialogCellEditor editor = new DialogCellEditor(parent) { @Override//w w w. j a v a 2 s . c om protected Object openDialogBox(Control cellEditorWindow) { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); MultilineTextDialog dialog = new MultilineTextDialog(shell, Strings.getAsString(getValue()), id.getName()); if (IStatus.OK == dialog.open()) { setValue(dialog.getValue()); } return null; } }; if (getValidator() != null) { editor.setValidator(getValidator()); } return editor; }
From source file:com.hangum.tadpole.manager.core.dialogs.users.SelectUserEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(final Object element) { UserDAO dao = (UserDAO) element;//from w w w . j av a2s .co m if (columnIndex == 0) { return new CheckboxCellEditor(null, SWT.CHECK);// | SWT.READ_ONLY); } else if (columnIndex == 3) { return new ComboBoxCellEditor(viewer.getTable(), userRoleNames); } else if (columnIndex == 4 || columnIndex == 5) { return new DialogCellEditor(viewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Shell shell = Display.getDefault().getActiveShell(); Timestamp original = (Timestamp) SelectUserEditingSupport.this.getValue(element); TimeStampDialog dialog = new TimeStampDialog(shell, original, viewer.getTable().getColumn(columnIndex).getText()); if (IStatus.OK == dialog.open()) { setValue(dialog.getValue()); return dialog.getValue(); } else { return original; } } }; } else { return null; } }
From source file:com.hangum.tadpole.rdb.core.dialog.export.sqltoapplication.composites.axisj.AxisjEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(final Object element) { /* //from w ww . java2s .c o m key : "no", // {String} -- ?? . key ? reservedKey label : "", // {String} -- ?? . width : 50, // {Number|String} -- ? ? . ? ? "*" ? . "*"? ? ?? ? ? ? ? . align : "right", // {String} ["left"] -- ? ? . "left"|"center"|"right" ? . sort : "asc", // {String|Boolean} [""] -- ? ? . "asc"|"desc"|false ? . false ? ? ? . colHeadTool : true // {Boolean} -- display . formatter: "money", // {String|Function} -- ? ? ?? . "money", "dec", "html", "checkbox", "radio", function? formatter . tooltip : "money", // {String|Function} -- ?? ? ?? . ?? td div.bodyNode? title ? ? ?. formatter ?? . disabled : function(){},// {Boolean|Function} -- formatter checkbox, radio? input? disabled ? . disabled(true|flase) . disabled . checked : function(){} // {Boolean|Function} -- formatter checkbox, radio? input? checked ? . checked(true|flase) . checked . */ final AxisjHeaderDAO dao = (AxisjHeaderDAO) element; if (columnIndex == AxisjConsts.ALIGN_IDX) { return new ComboBoxCellEditor(viewer.getTable(), AxisjConsts.aligns); } else if (columnIndex == AxisjConsts.FORMATTER_IDX) { return new DialogCellEditor(viewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Shell shell = Display.getDefault().getActiveShell(); //String original = dao.getFormatter(); String original = AxisjEditingSupport.this.getValue(element).toString(); AxisjFormatterDialog dialog = new AxisjFormatterDialog(shell, original, viewer.getTable().getColumn(columnIndex).getText()); if (IStatus.OK == dialog.open()) { setValue(dialog.getValue()); return dialog.getValue(); } else { return original; } } }; } else if (columnIndex == AxisjConsts.TOOLTIP_IDX | columnIndex == AxisjConsts.DISABLE_IDX | columnIndex == AxisjConsts.CHECKED_IDX) { return new DialogCellEditor(viewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Shell shell = Display.getDefault().getActiveShell(); //String original = dao.getFormatter(); String original = AxisjEditingSupport.this.getValue(element).toString(); MultilineTextDialog dialog = new MultilineTextDialog(shell, original, viewer.getTable().getColumn(columnIndex).getText()); if (IStatus.OK == dialog.open()) { setValue(dialog.getValue()); return dialog.getValue(); } else { return original; } } }; } else if (columnIndex == AxisjConsts.HEADTOOL_IDX) { return new CheckboxCellEditor(null, SWT.CHECK);// | SWT.READ_ONLY); } else if (columnIndex == AxisjConsts.SORT_IDX) { return new ComboBoxCellEditor(viewer.getTable(), AxisjConsts.sorts);// | SWT.READ_ONLY); } else { return new CommentCellEditor(columnIndex, viewer); } }
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;/*from w w w . j a v a2 s .com*/ section.setLayoutData(td); section.addExpansionListener(new ExpansionAdapter() { public void expansionStateChanged(ExpansionEvent e) { form.reflow(true); } }); section.setText(sectionTitle); section.setDescription(sectionDesc); Composite sectionClient = getToolkit().createComposite(section); sectionClient.setLayout(new GridLayout(2, false)); section.setClient(sectionClient); final TableViewer viewer = new TableViewer(sectionClient, SWT.BORDER | SWT.FULL_SELECTION); viewer.getTable().setHeaderVisible(true); viewer.getTable().setLinesVisible(true); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = 130; viewer.getControl().setLayoutData(data); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(labelProvider); viewer.addDoubleClickListener(this); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object e1, Object e2) { Converter c1 = (Converter) e1; Converter c2 = (Converter) e2; return c1.getType().compareTo(c2.getType()); } }); for (int i = 0; i < columnHeadings.length; i++) { TableColumn column = new TableColumn(viewer.getTable(), SWT.None); column.setText(columnHeadings[i]); column.setResizable(true); column.setWidth(columnWidthes[i]); } viewer.setColumnProperties(columnProperties); viewer.setCellEditors( new CellEditor[] { null, null, null, new DialogCellEditor((Composite) viewer.getControl()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Converter converter = (Converter) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); ClassSelectionDialog d = new ClassSelectionDialog(cellEditorWindow.getShell(), (ClassDefinition) getValue(), converter.getType(), classSelectionMessage, baseClass); if (d.open() == ClassSelectionDialog.OK) { if (d.getClazz() == null) { return d.getModel(); } if (d.getClazz().length() == 0) { doSetValue(null); return null; } ClassDefinition def = new ClassDefinition(); def.setResourceType(d.getResourceType()); def.setResourcePath(d.getResourcePath()); def.setClazz(d.getClazz()); return def; } return d.getModel(); } protected void updateContents(Object value) { if (value != null) { if (value != null && value.toString().length() == 0) { value = WESBConversionMessages.GlobalOptionsEditor_defaultConverter; } else if (value instanceof ClassDefinition) { value = ((ClassDefinition) value).getClazz(); } } else { ClassDefinition oldValue = null; if (converterBeingEditted != null) { oldValue = converterBeingEditted.getClazz(); converterBeingEditted.setClazz(null); } try { if (converterBeingEditted instanceof PrimitiveConverter) { IPrimitiveConverter ci = PrimitiveManager .getConverter(converterBeingEditted.getType(), null, getModel()); String s = ci.getClass().getName(); value = PrimitiveManager.getConverterDisplayName(s); } else if (converterBeingEditted instanceof BindingConverter) { IBindingConverter ci = BindingManager .getConverter(converterBeingEditted.getType(), null, getModel()); String s = ci.getClass().getName(); value = BindingManager.getConverterDisplayName(s); } } catch (Exception e) { value = ""; //$NON-NLS-1$ } finally { if (converterBeingEditted != null) { converterBeingEditted.setClazz(oldValue); } } } super.updateContents(value); } } }); viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { TableItem ti = (TableItem) element; Converter c = (Converter) ti.getData(); c.setClazz((ClassDefinition) value); viewer.refresh(c); changed(); } @Override public Object getValue(Object element, String property) { Converter c = (Converter) element; converterBeingEditted = (Converter) element; return c.getClazz(); } @Override public boolean canModify(Object element, String property) { if ("Converter Class".equals(property)) { //$NON-NLS-1$ return true; } return false; } }); FocusCellOwnerDrawHighlighter highlighter = new FocusCellOwnerDrawHighlighter(viewer); if (WESBConversionMessages.GlobalOptionsEditor_primitiveConverters.equals(sectionTitle)) primitiveHighlighter = highlighter; else if (WESBConversionMessages.GlobalOptionsEditor_bindingConverters.equals(sectionTitle)) bindingHighlighter = highlighter; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, highlighter); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationSupport.setEnableEditorActivationWithKeyboard(true); TableViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); return viewer; }
From source file:eu.artist.premigration.tft.tft.edit.MigrationSuggestionEditingSupport.java
License:Open Source License
/** * Editing support for the Inventory View tree viewer * //from ww w.jav a 2s. co m * @param viewer {@link TreeViewer} to be refreshed once the editing is done. */ public MigrationSuggestionEditingSupport(final TreeViewer viewer) { super(viewer); cellEditor = new DialogCellEditor((Composite) getViewer().getControl()) { //This method contains the code to open the Migration Strategy Selection Dialog @Override protected Object openDialogBox(Control cellEditorWindow) { //Get selected compoent IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Component selectedComponent = ((Component) selection.getFirstElement()); //Create the dialog and open MigrationStrategySelectionDialog dialog = new MigrationStrategySelectionDialog( cellEditorWindow.getShell(), selectedComponent); dialog.open(); //If the dialog is closed by clicking ok if (dialog.getReturnCode() == Dialog.OK) { @SuppressWarnings("unchecked") List<Component> treeInput = (List<Component>) viewer.getInput(); //If automatic suggestion updates checkbox is checked, the migration suggestions of other components are updated if (InventoryView.automaticSuggestionUpdates) { updateSuggestions(selectedComponent, treeInput); } InventoryView.handleCheckedStatusOfComponents(viewer.getTree().getItems()); viewer.getTree().update(); viewer.refresh(); } return null; } }; //Drools initialization try { // load up the knowledge base kbase = readKnowledgeBase(); } catch (Throwable t) { t.printStackTrace(); } }
From source file:eu.geclipse.ui.properties.MultilineProperty.java
License:Open Source License
protected CellEditor createCellEditor(final Composite parent) { return new DialogCellEditor(parent) { /*/*w w w. j a v a2 s . co m*/ * (non-Javadoc) * * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(org.eclipse.swt.widgets.Control) */ @Override protected Object openDialogBox(final Control cellEditorWindow) { PropertyDialog dialog = new PropertyDialog(cellEditorWindow.getShell()); Object value = getValue(); if (value != null && value instanceof String) { dialog.setValue((String) value); } dialog.open(); return null; } }; }
From source file:gov.va.isaac.mdht.otf.ui.properties.GenericRefexTableViewer.java
License:Apache License
@Override protected void createColumns() { // this is called by superclass before subclass fields are initialized refexColumns = new ArrayList<TableViewerColumn>(); refexColumnEditors = new ArrayList<OTFTableEditingSupport>(); final String[] titles = getColumnTitles(); final int[] bounds = getColumnWidths(); final RefsetAttributeType[] columnTypes = getColumnTypes(); for (int i = 0; i < titles.length; i++) { final RefsetAttributeType columnType = columnTypes[i]; final int columnIndex = i; OTFTableEditingSupport refexEditor = new OTFTableEditingSupport(this, columnType) { private CellEditor cellEditor = null; @Override//from ww w .java 2 s.c om protected String getOperationLabel() { return "Set refex field"; } @Override protected CellEditor getCellEditor(final Object element) { if (RefsetMember.isPrimitiveType(attributeType)) { cellEditor = new DialogCellEditor(tableViewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { Object value = getPrimitiveValue(attributeType); //change the column type if set in the dialog attributeType = primitiveInputDialog.getValueKind(); return value; } }; } else { cellEditor = new DialogCellEditor(tableViewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { ComponentVersionBI component = getMemberComponent(attributeType); return component; } }; } return cellEditor; } @Override protected IStatus doSetValue(Object element, Object value) { RefsetMember refsetMember = (RefsetMember) element; if (columnIndex == 0) { Object dialogValue = cellEditor.getValue(); if (dialogValue instanceof ComponentVersionBI) { ComponentVersionBI memberComponent = (ComponentVersionBI) dialogValue; refsetMember.setReferencedComponent(memberComponent); refresh(); } } else if (columnIndex == 1 && RefsetMember.isPrimitiveType(attributeType)) { Object cellValue = cellEditor.getValue(); if (!cellValue.equals(refsetMember.getExtensionValue())) { try { refsetMember.setExtensionValue(cellValue); } catch (NumberFormatException e) { MessageDialog.open(MessageDialog.ERROR, getActivePart().getSite().getShell(), "Invalid Value", "Value must be type: " + attributeType.name(), SWT.NONE); } } } else if (columnIndex > 1) { Object dialogValue = cellEditor.getValue(); if (dialogValue instanceof ComponentVersionBI) { ComponentVersionBI memberComponent = (ComponentVersionBI) dialogValue; refsetMember.getExtensionComponents()[columnIndex - 2] = memberComponent; refresh(); } } return Status.OK_STATUS; } @Override protected Object getValue(Object element) { RefsetMember refex = (RefsetMember) element; if (columnIndex == 0) { return getFirstColumnComponent(refex); } else if (columnIndex == 1 && RefsetMember.isPrimitiveType(attributeType)) { if (refex.getExtensionValue() != null) { return refex.getExtensionValue().toString(); } else { return ""; } } else if (columnIndex > 1) { return refex.getExtensionComponents()[columnIndex - 2]; } return null; } }; TableViewerColumn refexColumn = createTableViewerColumn(titles[columnIndex], bounds[columnIndex], columnIndex); refexColumns.add(columnIndex, refexColumn); refexColumn.setEditingSupport(refexEditor); refexColumnEditors.add(columnIndex, refexEditor); } }
From source file:gov.va.isaac.mdht.otf.ui.properties.RelationshipSection.java
License:Apache License
@Override public void createControls(final Composite parent, final TabbedPropertySheetPage aTabbedPropertySheetPage) { super.createControls(parent, aTabbedPropertySheetPage); Composite composite = getWidgetFactory().createGroup(parent, "Outgoing Relationships"); FormLayout layout = new FormLayout(); layout.marginWidth = ITabbedPropertyConstants.HSPACE; layout.marginHeight = ITabbedPropertyConstants.VSPACE; layout.spacing = ITabbedPropertyConstants.VMARGIN; composite.setLayout(layout);//from ww w . j a v a 2 s . com addButton = getWidgetFactory().createButton(composite, null, SWT.PUSH); Image addImage = Activator.getDefault().getBundledImage("icons/eview16/add.gif"); addButton.setImage(addImage); addButton.setToolTipText("Add relationship"); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { addRelationship(); relationshipViewer.refresh(); } }); removeButton = getWidgetFactory().createButton(composite, null, SWT.PUSH); Image removeImage = Activator.getDefault().getBundledImage("icons/eview16/delete.gif"); removeButton.setImage(removeImage); removeButton.setToolTipText("Retire selected Relationship(s)"); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { ISelection selection = relationshipViewer.getSelection(); if (selection instanceof IStructuredSelection) { for (Object selected : ((IStructuredSelection) selection).toList()) { if (selected instanceof RelationshipVersionBI) { retireRelationship((RelationshipVersionBI<?>) selected); } else if (selected instanceof RelationshipCAB) { newRelationships.remove((RelationshipCAB) selected); } relationshipViewer.refresh(); } } } }); editButton = getWidgetFactory().createButton(composite, null, SWT.PUSH); Image editImage = Activator.getDefault().getBundledImage("icons/eview16/write.gif"); editButton.setImage(editImage); editButton.setToolTipText("Edit selected relationship"); editButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { ISelection selection = relationshipViewer.getSelection(); if (selection instanceof IStructuredSelection) { for (Object selected : ((IStructuredSelection) selection).toList()) { if (selected instanceof RelationshipVersionBI) { editRelationship((RelationshipVersionBI<?>) selected); } } relationshipViewer.refresh(); } } }); saveButton = getWidgetFactory().createButton(composite, null, SWT.PUSH); Image saveImage = Activator.getDefault().getBundledImage("icons/eview16/save.gif"); saveButton.setImage(saveImage); saveButton.setToolTipText("Save all changes"); saveButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { buildAndCommit(); relationshipViewer.refresh(); } }); FormData data = new FormData(); data.left = new FormAttachment(0, 0); data.top = new FormAttachment(0, 0); addButton.setLayoutData(data); data = new FormData(); data.left = new FormAttachment(0, 0); data.top = new FormAttachment(addButton, 0); removeButton.setLayoutData(data); data = new FormData(); data.left = new FormAttachment(0, 0); data.top = new FormAttachment(removeButton, 0); editButton.setLayoutData(data); data = new FormData(); data.left = new FormAttachment(0, 0); data.top = new FormAttachment(editButton, 0); saveButton.setLayoutData(data); Table table = getWidgetFactory().createTable(composite, SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION); data = new FormData(); data.left = new FormAttachment(addButton, 0); data.right = new FormAttachment(100, 0); data.top = new FormAttachment(0, 0); data.bottom = new FormAttachment(100, 0); table.setLayoutData(data); relationshipViewer = new OTFTableViewer(table) { @Override protected void fireSelectionChanged(SelectionChangedEvent event) { super.fireSelectionChanged(event); boolean enabled = !event.getSelection().isEmpty(); Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); removeButton.setEnabled(enabled); editButton.setEnabled(enabled && !(selection instanceof CreateOrAmendBlueprint)); } @Override protected IContentProvider createContentProvider() { return new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { try { List<Object> relationships = new ArrayList<Object>(); relationships.addAll(conceptVersion.getRelationshipsOutgoingActive()); relationships.addAll(newRelationships); saveButton.setEnabled(!newRelationships.isEmpty()); return relationships.toArray(); } catch (Exception e) { StatusManager.getManager() .handle(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot get concept relationships", e), StatusManager.SHOW | StatusManager.LOG); return new Object[0]; } } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (!removeButton.isDisposed()) { removeButton.setEnabled(false); editButton.setEnabled(false); } if (!saveButton.isDisposed()) { saveButton.setEnabled(!newRelationships.isEmpty()); } } }; } @Override protected void createColumns() { String[] titles = { "Type", "Destination", "Stated", "Module" }; int[] bounds = { 200, 300, 100, 200 }; TableViewerColumn typeColumn = createTableViewerColumn(titles[0], bounds[0], 0); TableViewerColumn destinationColumn = createTableViewerColumn(titles[1], bounds[1], 1); TableViewerColumn statedColumn = createTableViewerColumn(titles[2], bounds[2], 2); TableViewerColumn moduleColumn = createTableViewerColumn(titles[3], bounds[3], 3); typeColumn.setEditingSupport(new ConceptComboBoxEditingSupport(this, getAllRelationshipTypes()) { @Override protected String getOperationLabel() { return "Set relationship type"; } @Override protected CellEditor getCellEditor(Object element) { // refresh list if attributes have changed allConceptModelAttributes = null; setConceptList(getAllRelationshipTypes()); return super.getCellEditor(element); } @Override protected IStatus doSetValue(Object element, Object value) { RelationshipCAB relationship = (RelationshipCAB) element; ConceptVersionBI typeConcept = getSelectedConcept(); if (typeConcept != null) { try { RelationshipCAB editedRelationship = new RelationshipCAB( relationship.getSourceNid(), typeConcept.getConceptNid(), relationship.getTargetNid(), relationship.getGroup(), builderService.getRelationshipType(relationship), IdDirective.GENERATE_RANDOM); newRelationships.remove(relationship); newRelationships.add(editedRelationship); relationshipViewer.refresh(); } catch (IOException | InvalidCAB | ContradictionException e) { StatusManager.getManager() .handle(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot set relationship type", e), StatusManager.SHOW | StatusManager.LOG); } } return Status.OK_STATUS; } @Override protected Object getValue(Object element) { // must return Integer index into comboBox list RelationshipCAB relationship = (RelationshipCAB) element; int index = 0; try { ConceptVersionBI typeConcept = queryService.getConcept(relationship.getTypeNid()); if (typeConcept != null) { index = getAllRelationshipTypes().indexOf(typeConcept); } } catch (IOException e) { StatusManager.getManager() .handle(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot get relationship type", e), StatusManager.SHOW | StatusManager.LOG); } return new Integer(index); } }); destinationColumn.setEditingSupport(new OTFTableEditingSupport(this) { private DialogCellEditor dialogCellEditor = null; @Override protected String getOperationLabel() { return "Set relationship destination"; } @Override protected CellEditor getCellEditor(final Object element) { dialogCellEditor = new DialogCellEditor(tableViewer.getTable()) { @Override protected Object openDialogBox(Control cellEditorWindow) { ConceptVersionBI concept = getTargetConcept(); return concept; } }; return dialogCellEditor; } @Override protected IStatus doSetValue(Object element, Object value) { Object dialogValue = dialogCellEditor.getValue(); if (dialogValue instanceof ConceptVersionBI && element instanceof RelationshipCAB) { RelationshipCAB relationship = (RelationshipCAB) element; ConceptVersionBI targetConcept = (ConceptVersionBI) dialogValue; try { RelationshipCAB editedRelationship = new RelationshipCAB( relationship.getSourceNid(), relationship.getTypeNid(), targetConcept.getConceptNid(), relationship.getGroup(), builderService.getRelationshipType(relationship), IdDirective.GENERATE_HASH); newRelationships.remove(relationship); newRelationships.add(editedRelationship); relationshipViewer.refresh(); } catch (IOException | InvalidCAB | ContradictionException e) { StatusManager.getManager() .handle(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot set relationship destination", e), StatusManager.SHOW | StatusManager.LOG); } } return Status.OK_STATUS; } @Override protected Object getValue(Object element) { RelationshipCAB relationship = (RelationshipCAB) element; try { ConceptVersionBI typeConcept = queryService.getConcept(relationship.getTargetNid()); if (typeConcept != null) { return typeConcept.getPreferredDescription().getText(); } } catch (IOException | ContradictionException e) { StatusManager.getManager() .handle(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot get relationship destination", e), StatusManager.SHOW | StatusManager.LOG); } return null; } }); statedColumn.setEditingSupport(new BooleanEditingSupport(this) { @Override protected boolean canEdit(Object element) { return false; } @Override protected String getOperationLabel() { return null; } @Override protected IStatus doSetValue(Object element, Object value) { return null; } @Override protected Object getValue(Object element) { return null; } }); } }; //TODO sort by: language // relationshipViewer.setSorter(new DescriptionSorter()); }