List of usage examples for org.eclipse.jface.viewers CellEditor getErrorMessage
public String getErrorMessage()
From source file:com.mentor.nucleus.bp.model.compare.contentmergeviewer.ElementEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(Object element) { if (element instanceof ObjectElementComparable) { ObjectElement objEle = (ObjectElement) ((ObjectElementComparable) element).getRealElement(); CellEditor editor = null; if (((NonRootModelElement) objEle.getParent()).getModelRoot() instanceof Ooaofooa) { editor = CellModifierProvider.getCellEditor((NonRootModelElement) objEle.getParent(), viewer.getTree(), objEle); } else {//from w w w .ja v a2 s. c o m editor = com.mentor.nucleus.bp.ui.canvas.cells.CellModifierProvider .getCellEditor((NonRootModelElement) objEle.getParent(), viewer.getTree(), objEle); } final CellEditor finalEditor = editor; editor.addListener(new ICellEditorListener() { @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { if (!newValidState) { viewer.setErrorMessage(finalEditor.getErrorMessage()); } else { viewer.setErrorMessage(""); } } @Override public void cancelEditor() { viewer.setErrorMessage(""); } @Override public void applyEditorValue() { viewer.setErrorMessage(""); } }); return editor; } return null; }
From source file:de.dfki.iui.mmds.sdk.editors.grammar_rules.EntityEditorPart.java
License:Creative Commons License
@Override public void createPartControl(Composite parent) { super.createPartControl(parent); // sash form is used to split the main form into two parts SashForm sashForm = new SashForm(frmNewForm.getBody(), SWT.NONE); formToolkit.adapt(sashForm);/*from w w w . ja v a2 s . c om*/ formToolkit.paintBordersFor(sashForm); Section sctnNewSection = formToolkit.createSection(sashForm, Section.DESCRIPTION | Section.TITLE_BAR); sctnNewSection.setText("Entity Rules"); sctnNewSection.setExpanded(true); sctnNewSection.setDescription("Create or edit new Rules here"); entitiesComposite = new ContentListComposite(sctnNewSection, SWT.NONE, Grammar_rulesPackage.eINSTANCE.getRuleset_Rules(), Grammar_rulesPackage.eINSTANCE.getEntity(), editor, cb); formToolkit.adapt(entitiesComposite); sctnNewSection.setClient(entitiesComposite); final TableViewer entityTableViewer = entitiesComposite.getTableViewer(); // the first column where the name of the Rule can be viewed and edited entitiesComposite.addColumn(getString("_UI_Rule_name_feature"), COLUMN_TYPE.RULENAME); // the second column where the user can enable or disable the rule entitiesComposite.addColumn(getString("_UI_Rule_enabled_feature"), COLUMN_TYPE.ENABLED); // the third column where the type is set entitiesComposite.addColumn(getString("_UI_EntityRule_type_feature"), COLUMN_TYPE.TYPE); entityTableViewer.setColumnProperties(new String[] { "0", "1", "2" }); entityTableViewer.setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { Object result = null; Entity rule = (Entity) element; switch (property) { case "0": if (rule.getName() == null) { result = ""; } else { result = rule.getName() + ""; } break; case "1": result = new Boolean(rule.isEnabled()); break; case "2": result = true; if (rule.getType().equals(EntityType.DYNAMIC)) { result = false; } break; } return result; } @Override public void modify(Object element, String property, Object value) { TableItem item = (TableItem) element; Entity oldValue = (Entity) item.getData(); EAttribute feature = null; switch (property) { case "0": feature = Grammar_rulesPackage.eINSTANCE.getRule_Name(); break; case "1": feature = Grammar_rulesPackage.eINSTANCE.getRule_Enabled(); break; case "2": feature = Grammar_rulesPackage.eINSTANCE.getEntity_Type(); if ((Boolean) value) { value = "static"; } else { value = "dynamic"; } break; } if (oldValue.getName() != null) { if ((property.equals("0") && !oldValue.getName().equals(value)) || property.equals("1") || property.equals("2")) { if (value.equals("static")) { editor.getEditingDomain().getCommandStack().execute(SetCommand .create(editor.getEditingDomain(), item.getData(), feature, EntityType.STATIC)); } else if (value.equals("dynamic")) { editor.getEditingDomain().getCommandStack().execute(SetCommand.create( editor.getEditingDomain(), item.getData(), feature, EntityType.DYNAMIC)); } else { editor.getEditingDomain().getCommandStack().execute( SetCommand.create(editor.getEditingDomain(), item.getData(), feature, value)); } } } else { editor.getEditingDomain().getCommandStack() .execute(SetCommand.create(editor.getEditingDomain(), item.getData(), feature, value)); } } }); entityTableViewer.setCellEditors(new CellEditor[] { new TextCellEditor(entityTableViewer.getTable()), new CheckboxCellEditor(entityTableViewer.getTable()), new CheckboxCellEditor(entityTableViewer.getTable()) }); entityTableViewer.setInput(ruleset); entityTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { // This ensures that we handle selections correctly, i.e. for each // selected entity rule a corresponding PhraseValue Pair is // shown in the detail view @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) entityTableViewer.getSelection(); if (selection != null && selection.size() == 1) { setSelectedRule((Rule) selection.getFirstElement()); if (selectedRule != null) { editor.setCurrentViewer(entityTableViewer); } } else { setSelectedRule(null); } } }); Composite rightSide = new Composite(sashForm, SWT.NONE); formToolkit.adapt(rightSide); formToolkit.paintBordersFor(rightSide); rightSide.setLayout(new FillLayout(SWT.HORIZONTAL)); SashForm sashForm_1 = new SashForm(rightSide, SWT.VERTICAL); formToolkit.adapt(sashForm_1); formToolkit.paintBordersFor(sashForm_1); final Section sctnNewSection_1 = formToolkit.createSection(sashForm_1, Section.TWISTIE | Section.TITLE_BAR); formToolkit.paintBordersFor(sctnNewSection_1); sctnNewSection_1.setText("Phrase Value Pairs"); sctnNewSection_1.setExpanded(true); phraseMappingComposite = new ContentListComposite(sctnNewSection_1, SWT.NONE, Grammar_rulesPackage.eINSTANCE.getEntity_Entries(), Grammar_rulesPackage.eINSTANCE.getPhraseValuePair(), editor, cb); formToolkit.adapt(phraseMappingComposite); sctnNewSection_1.setClient(phraseMappingComposite); // phrase Column phraseMappingComposite.addColumn(getString("_UI_PhraseMapping_name_feature"), COLUMN_TYPE.RULENAME); // value Column phraseMappingComposite.addColumn(getString("_UI_PhraseValue_name_feature"), COLUMN_TYPE.RULENAME); phraseMappingComposite.getTableViewer().setColumnProperties(new String[] { "0", "1" }); phraseMappingComposite.getTableViewer().setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { String result = ""; PhraseValuePair pv = (PhraseValuePair) element; switch (property) { case "0": if (pv.getPhrase() == null) { result = ""; } else { result = pv.getPhrase(); } break; case "1": if (pv.getValue() == null) { result = ""; } else { result = pv.getValue(); } break; } return result; } @Override public void modify(Object element, String property, Object value) { TableItem item = (TableItem) element; PhraseValuePair pvOld = (PhraseValuePair) item.getData(); EAttribute feature = null; String newString = (String) value; switch (property) { case "0": feature = Grammar_rulesPackage.eINSTANCE.getPhraseValuePair_Phrase(); break; case "1": feature = Grammar_rulesPackage.eINSTANCE.getPhraseValuePair_Value(); break; } if (!newString.equals(pvOld)) { editor.getEditingDomain().getCommandStack() .execute(SetCommand.create(editor.getEditingDomain(), item.getData(), feature, value)); } } }); phraseMappingComposite.getTableViewer().setCellEditors( new CellEditor[] { new TextCellEditor(phraseMappingComposite.getTableViewer().getTable()), new TextCellEditor(phraseMappingComposite.getTableViewer().getTable()) }); phraseMappingComposite.getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() { // This ensures that we handle selections correctly, i.e. // for each // selected entity rule a corresponding PhraseValue Pair is // shown in // the detail view // @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) entityTableViewer.getSelection(); if (selection != null) { editor.setCurrentViewer(phraseMappingComposite.getTableViewer()); } } }); final Label errorLabel = formToolkit.createLabel(sctnNewSection_1, "", SWT.NONE); sctnNewSection_1.setTextClient(errorLabel); errorLabel.setForeground( getEditorSite().getWorkbenchWindow().getWorkbench().getDisplay().getSystemColor(SWT.COLOR_RED)); CellEditor[] test = phraseMappingComposite.getTableViewer().getCellEditors(); final CellEditor e = test[0]; if (e instanceof TextCellEditor) { e.setValidator(new ABNFValidator()); e.addListener(new ICellEditorListener() { @Override public void applyEditorValue() { setErrorMessage(null); } @Override public void cancelEditor() { setErrorMessage(null); } @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { setErrorMessage(e.getErrorMessage()); } private void setErrorMessage(String errorMessage) { if (errorMessage != null) { System.out.println(errorMessage); errorLabel.setText(errorMessage); sctnNewSection_1.layout(); } else { errorLabel.setText(""); sctnNewSection_1.layout(); } } }); } Section sctnNewSection_2 = formToolkit.createSection(sashForm_1, Section.TWISTIE | Section.TITLE_BAR); formToolkit.paintBordersFor(sctnNewSection_2); sctnNewSection_2.setText("Interpretation"); sctnNewSection_2.setExpanded(true); treeViewerComposite = new EObjectTreeViewerComposite(sctnNewSection_2, SWT.NONE, editor, entitiesComposite); formToolkit.adapt(treeViewerComposite); formToolkit.paintBordersFor(treeViewerComposite); sctnNewSection_2.setClient(treeViewerComposite); sashForm_1.setWeights(new int[] { 1, 1 }); sashForm.setWeights(new int[] { 1, 1 }); setSelectedRule(null); }
From source file:de.dfki.iui.mmds.sdk.editors.grammar_rules.UtteranceEditorPart.java
License:Creative Commons License
/** * @param parent//from ww w . ja v a 2 s.c o m * This class is called from the init() method. Here all the SWT * and JFace components in the form are drawn. */ @Override public void createPartControl(Composite parent) { super.createPartControl(parent); // sash form is used to split the main form into two parts SashForm sashForm = new SashForm(frmNewForm.getBody(), SWT.NONE); formToolkit.adapt(sashForm); formToolkit.paintBordersFor(sashForm); Section sctnNewSection = formToolkit.createSection(sashForm, Section.DESCRIPTION | Section.TITLE_BAR); formToolkit.paintBordersFor(sctnNewSection); sctnNewSection.setText("Utterance Rules"); sctnNewSection.setExpanded(true); sctnNewSection.setDescription("Create or edit new Rules here"); utteranceListComposite = new ContentListComposite(sctnNewSection, SWT.NONE, Grammar_rulesPackage.eINSTANCE.getRuleset_Rules(), Grammar_rulesPackage.eINSTANCE.getUtterance(), editor, cb); formToolkit.adapt(utteranceListComposite); sctnNewSection.setClient(utteranceListComposite); final TableViewer utterancesTableViewer = utteranceListComposite.getTableViewer(); // the first column where the name of the Rule can be viewed and edited utteranceListComposite.addColumn(getString("_UI_Rule_name_feature"), COLUMN_TYPE.RULENAME); // the second column where the user can enable or disable the rule utteranceListComposite.addColumn(getString("_UI_Rule_enabled_feature"), COLUMN_TYPE.ENABLED); utterancesTableViewer.setColumnProperties(new String[] { "0", "1" }); // setting a cell modifier so the rules can be edited in the TableViewer // directly utterancesTableViewer.setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { Object result = null; Rule rule = (Rule) element; // checking to see which property should be shown, name or // isEnabled and what is going to be shown in the table switch (property) { case "0": if (rule.getName() == null) { result = ""; } else { result = rule.getName() + ""; } break; case "1": result = new Boolean(rule.isEnabled()); break; } return result; } @Override public void modify(Object element, String property, Object value) { // getting the selected element TableItem item = (TableItem) element; // getting the selected rule Rule oldValue = (Rule) item.getData(); EAttribute feature = null; // depending on which property should be edited a different // feature is set for the setCommand switch (property) { case "0": feature = Grammar_rulesPackage.eINSTANCE.getRule_Name(); break; case "1": feature = Grammar_rulesPackage.eINSTANCE.getRule_Enabled(); break; } if (oldValue.getName() != null) { // if the name has not changed do nothing if ((property.equals("0") && !oldValue.getName().equals(value)) || property.equals("1")) { editor.getEditingDomain().getCommandStack().execute( SetCommand.create(editor.getEditingDomain(), item.getData(), feature, value)); } } else { editor.getEditingDomain().getCommandStack() .execute(SetCommand.create(editor.getEditingDomain(), item.getData(), feature, value)); } } }); // setting a cell editor for both properties of the Utterance Rules that // need to be edited utterancesTableViewer .setCellEditors(new CellEditor[] { new TextCellEditor(utterancesTableViewer.getTable()), new CheckboxCellEditor(utterancesTableViewer.getTable()) }); utterancesTableViewer.setInput(ruleset); // on selection changed update the details view (the PhraseMapping Table // Viewer and the Interpretation TreeViewer utterancesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { // This ensures that we handle selections correctly. // @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) utterancesTableViewer.getSelection(); if (selection != null && selection.size() == 1) { setSelectedUtterance((Utterance) selection.getFirstElement()); editor.setCurrentViewer(utterancesTableViewer); } else { setSelectedUtterance(null); } } }); Composite rightSide = new Composite(sashForm, SWT.NONE); formToolkit.adapt(rightSide); formToolkit.paintBordersFor(rightSide); rightSide.setLayout(new FillLayout(SWT.HORIZONTAL)); SashForm sashForm_1 = new SashForm(rightSide, SWT.VERTICAL); formToolkit.adapt(sashForm_1); formToolkit.paintBordersFor(sashForm_1); final Section sctnNewSection_1 = formToolkit.createSection(sashForm_1, Section.TWISTIE | Section.TITLE_BAR); formToolkit.paintBordersFor(sctnNewSection_1); sctnNewSection_1.setText("Phrases"); sctnNewSection_1.setExpanded(true); phraseMappingComposite = new ContentListComposite(sctnNewSection_1, SWT.NONE, Grammar_rulesPackage.eINSTANCE.getUtterance_Phrases(), EcorePackage.eINSTANCE.getEString(), editor, cb); formToolkit.adapt(phraseMappingComposite); sctnNewSection_1.setClient(phraseMappingComposite); // phrase Column phraseMappingComposite.addColumn(getString("_UI_PhraseMapping_name_feature"), COLUMN_TYPE.RULENAME); phraseMappingComposite.getTableViewer().setColumnProperties(new String[] { "0" }); // cell modifier for changing the phrases in the table phraseMappingComposite.getTableViewer().setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { return element; } @Override public void modify(Object element, String property, Object value) { TableItem item = (TableItem) element; String oldValue = (String) item.getData(); EAttribute feature = Grammar_rulesPackage.eINSTANCE.getUtterance_Phrases(); String newString = (String) value; if (oldValue == null || !oldValue.equals(newString)) { // execute a replace comand where the oldPhrase is // updated with a new Phrase for (String phrase : selectedUtterance.getPhrases()) { if (phrase.equals(newString)) { errorLabel.setText("Phrases must be unique"); sctnNewSection_1.layout(); return; } } ReplaceCommand cmd = new ReplaceCommand(editor.getEditingDomain(), selectedUtterance, feature, oldValue, newString); editor.getEditingDomain().getCommandStack().execute(cmd); } } }); phraseMappingComposite.getTableViewer().setCellEditors( new CellEditor[] { new TextCellEditor(phraseMappingComposite.getTableViewer().getTable()) }); // this label is used to show the error that is given with a wrong // Phrase input errorLabel = formToolkit.createLabel(sctnNewSection_1, "", SWT.NONE); sctnNewSection_1.setTextClient(errorLabel); errorLabel.setForeground( getEditorSite().getWorkbenchWindow().getWorkbench().getDisplay().getSystemColor(SWT.COLOR_RED)); // to set a validation of the phrases a listener is added to the cell // editor of the phrase mapping table. CellEditor[] test = phraseMappingComposite.getTableViewer().getCellEditors(); for (final CellEditor e : test) { if (e instanceof TextCellEditor) { // the validator is set to a class designed previously, called // ABNF validator e.setValidator(new ABNFValidator()); e.addListener(new ICellEditorListener() { @Override public void applyEditorValue() { setErrorMessage(null); } @Override public void cancelEditor() { setErrorMessage(null); } // here the error message is set @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { setErrorMessage(e.getErrorMessage()); } // here the error message is set to the a label private void setErrorMessage(String errorMessage) { if (errorMessage != null) { errorLabel.setText(errorMessage); sctnNewSection_1.layout(); } else { errorLabel.setText(""); sctnNewSection_1.layout(); } } }); } } Section sctnNewSection_2 = formToolkit.createSection(sashForm_1, Section.TWISTIE | Section.TITLE_BAR); formToolkit.paintBordersFor(sctnNewSection_2); sctnNewSection_2.setText("Interpretation"); sctnNewSection_2.setExpanded(true); treeViewerComposite = new EObjectTreeViewerComposite(sctnNewSection_2, SWT.NONE, editor, utteranceListComposite); formToolkit.adapt(treeViewerComposite); formToolkit.paintBordersFor(treeViewerComposite); sctnNewSection_2.setClient(treeViewerComposite); sashForm_1.setWeights(new int[] { 1, 1 }); sashForm.setWeights(new int[] { 1, 1 }); setSelectedUtterance(null); }
From source file:org.eclipse.epf.authoring.ui.forms.ProcessBreakdownStructureFormPage.java
License:Open Source License
/** * Set all editors and modifiers for the viewer */// w w w . j a va 2s.c o m private void setAllEditorsAndModifiers() { setCellEditors(); setCheckBoxCellEditors(); // Set the cell modifier viewer.setCellModifier(new ICellModifier() { /** * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String) */ public boolean canModify(Object element, String property) { // System.out.println("canModify: element="+element+", // property="+property); if (isReadOnly() || (element instanceof BreakdownElementWrapperItemProvider && ((BreakdownElementWrapperItemProvider) element).isReadOnly())) { return false; } // if (!(element instanceof BreakdownElement) // && !(element instanceof BreakdownElementWrapperItemProvider && !((BreakdownElementWrapperItemProvider) element) // .isReadOnly())) { // Collection types = new ArrayList(); // types.add(VariabilityType.EXTENDS_LITERAL); // if (TngUtil // .isGeneralizer( // (VariabilityElement) ((BreakdownElementWrapperItemProvider) element) // .getOwner(), types)) // return false; // } if (property == IBSItemProvider.COL_ID || property == IBSItemProvider.COL_TYPE || property == IBSItemProvider.COL_MODEL_INFO || property == IBSItemProvider.COL_DELIVERABLE) { return false; } element = TngUtil.unwrap(element); if (!(element instanceof WorkProductDescriptor) && (property == IBSItemProvider.COL_ENTRY_STATE || property == IBSItemProvider.COL_EXIT_STATE)) { return false; } if (!(element instanceof WorkBreakdownElement) && (property == IBSItemProvider.COL_PREDECESSORS)) { return false; } return true; } /** * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String) */ public Object getValue(Object element, String property) { // System.out.println("getValue: element="+element+", // property="+property); BreakdownElement e = (BreakdownElement) TngUtil.unwrap(element); String val = getText(e, property); switch (getCellEditorType(property)) { case ColumnDescriptor.CELL_EDITOR_TYPE_COMBO_BOOLEAN: if (TXT_TRUE.equalsIgnoreCase(val)) { return new Integer(0); } else { return new Integer(1); } case ColumnDescriptor.CELL_EDITOR_TYPE_TEXT: return val; case ColumnDescriptor.CELL_EDITOR_TYPE_CHECK_BOOLEAN: return Boolean.valueOf(val); default: return val; } } /** * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object) */ public void modify(final Object element, String property, Object value) { // System.out.println("modify: element="+element+", // property="+property+", value="+value); Widget item = (Widget) element; BreakdownElement be = (BreakdownElement) TngUtil.unwrap(item.getData()); final int columnIndex = getColumnIndex(property); CellEditor cellEditor = viewer.getCellEditors()[columnIndex]; String errMsg = cellEditor.getErrorMessage(); if (errMsg != null) { return; } String txt; switch (getCellEditorType(property)) { case ColumnDescriptor.CELL_EDITOR_TYPE_TEXT: txt = (String) value; break; case ColumnDescriptor.CELL_EDITOR_TYPE_COMBO_BOOLEAN: int index = ((Number) value).intValue(); if (index == 0) { txt = TXT_TRUE; } else { txt = TXT_FALSE; } break; case ColumnDescriptor.CELL_EDITOR_TYPE_CHECK_BOOLEAN: txt = value.toString(); break; default: txt = TngUtil.checkNull(value.toString()); } setText(be, property, txt); if (property == IBSItemProvider.COL_PRESENTATION_NAME && StrUtil.isBlank(be.getName())) { be.setName(txt); } viewer.refresh(); } }); }
From source file:org.eclipse.epf.authoring.ui.properties.WorkBreakdownElementGeneralSection.java
License:Open Source License
private void setCellModifiers() { // Set the cell modifier viewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { // System.out.println("canModify: element="+element+", // property="+property); if (!(element instanceof PredecessorMap)) return false; if (property == COL_PRESENTATION_NAME) { return false; }//from w w w. j a v a 2 s .co m return true; } public Object getValue(Object element, String property) { // System.out.println("getValue: element="+element+", // property="+property); String val = null; switch (getCellEditorType(property)) { case ColumnDescriptor.CELL_EDITOR_TYPE_TEXT: val = new Integer(((PredecessorMap) element).getId()).toString(); return val; case ColumnDescriptor.CELL_EDITOR_TYPE_COMBO_BOOLEAN: int value = (((PredecessorMap) element).getWorkOrder()).getLinkType().getValue(); if (WorkOrderType.FINISH_TO_START_VALUE == value) { return new Integer(0); } else if (WorkOrderType.FINISH_TO_FINISH_VALUE == value) { return new Integer(1); } else if (WorkOrderType.START_TO_START_VALUE == value) { return new Integer(2); } else return new Integer(3); default: return ""; //$NON-NLS-1$ } } public void modify(final Object element, String property, Object value) { // System.out.println("modify: element="+element+", // property="+property+", value="+value); TableItem item = (TableItem) element; PredecessorMap predMap = (PredecessorMap) item.getData(); WorkOrder wo = predMap.getWorkOrder(); if (property.equals(COL_ID)) { item.setText(0, value.toString()); int predId; try { predId = new Integer(value.toString()).intValue(); if (predId < 0) throw new Exception(); } catch (Exception e) { AuthoringUIPlugin.getDefault().getMsgDialog().displayWarning( PropertiesResources.Process_predecessors_validNumberTitle, PropertiesResources.Process_predecessors_validNumberMessage); predMapList.remove(predMap); viewer.refresh(); return; } predMap.setId(predId); } final int columnIndex = getColumnIndex(property); CellEditor cellEditor = viewer.getCellEditors()[columnIndex]; String errMsg = cellEditor.getErrorMessage(); if (errMsg != null) { return; } WorkOrderType type; IBSItemProvider adapter = (IBSItemProvider) getBSAdapter(); WorkBreakdownElement wbe = (WorkBreakdownElement) getElement(); switch (getCellEditorType(property)) { case ColumnDescriptor.CELL_EDITOR_TYPE_TEXT: Object process = adapter.getTopItem(); List<Object> predecessors = new ArrayList<Object>(); String str = getPredId(); String result = ProcessUtil.checkPredecessorList(wbe, str, getAdapterFactory(), process, predecessors); if (result == null) { List<WorkOrder> addList = new ArrayList<WorkOrder>(); List<WorkOrder> predToBeDeleted = new ArrayList<WorkOrder>(); PredecessorList.prepareUpdatePredecessors(getAdapterFactory(), wbe, predecessors, addList, predToBeDeleted); if (!predToBeDeleted.isEmpty()) { actionMgr.doAction(IActionManager.REMOVE_MANY, wbe, UmaPackage.eINSTANCE.getWorkBreakdownElement_LinkToPredecessor(), predToBeDeleted, -1); } if (!addList.isEmpty()) { boolean status = actionMgr.doAction(IActionManager.ADD_MANY, wbe, UmaPackage.eINSTANCE.getWorkBreakdownElement_LinkToPredecessor(), addList, -1); if (status) { //TODO: review this predMap.setWorkOrder(addList.get(addList.size() - 1)); } else { predMapList.remove(predMap); } } } else { // show error message box String title = getEditor().getTitle(); String problem = PropertiesResources.ProcessEditorFormProperties_cellEditor_invalidPredcessor_problem_msg; MsgDialog dialog = AuthoringUIPlugin.getDefault().getMsgDialog(); dialog.displayWarning(title, problem, result); predMapList.remove(predMap); } break; case ColumnDescriptor.CELL_EDITOR_TYPE_COMBO_BOOLEAN: boolean removed = false; WorkBreakdownElement wbeCopy = null; WorkOrder o = null; int index = ((Number) value).intValue(); for (Iterator iter = wbe.getLinkToPredecessor().iterator(); iter.hasNext();) { o = (WorkOrder) iter.next(); if (o.getPred() == wo.getPred()) { if (o.getLinkType().getValue() != index) { wbeCopy = o.getPred(); iter.remove(); removed = true; } } } if (index == 0) { type = WorkOrderType.FINISH_TO_START; } else if (index == 1) { type = WorkOrderType.FINISH_TO_FINISH; } else if (index == 2) { type = WorkOrderType.START_TO_START; } else { type = WorkOrderType.START_TO_FINISH; } if (removed && wbeCopy != null) { wo.setPred(wbeCopy); wo.setLinkType(type); boolean status = actionMgr.doAction(IActionManager.ADD, wbe, UmaPackage.eINSTANCE.getWorkBreakdownElement_LinkToPredecessor(), wo, -1); if (status) predMap.setWorkOrder(o); } else { actionMgr.doAction(IActionManager.SET, wo, UmaPackage.eINSTANCE.getWorkOrder_LinkType(), type, -1); } break; default: type = WorkOrderType.FINISH_TO_FINISH; } viewer.refresh(); } }); }
From source file:org.eclipse.graphiti.ui.internal.policy.DefaultDirectEditPolicy.java
License:Open Source License
/** * Is called, when the (already opened) cell-editor was closed (but not * canceled)./*from w ww. j av a2 s .c o m*/ * * @see org.eclipse.gef.editpolicies.DirectEditPolicy#getDirectEditCommand(org.eclipse.gef.requests.DirectEditRequest) */ @Override protected Command getDirectEditCommand(DirectEditRequest request) { if (!(request instanceof GFDirectEditRequest)) { return null; } CellEditor cellEditor = request.getCellEditor(); final String message = cellEditor.getErrorMessage(); if (message != null && message.length() != 0) { MessageDialog.openError(GraphitiUiInternal.getWorkbenchService().getShell(), Messages.DefaultDirectEditPolicy_0_xmsg, message); return null; } final IDirectEditHolder directEditHolder = ((GFDirectEditRequest) request).getDirectEditHolder(); final IDirectEditingFeature directEditingFeature = directEditHolder.getDirectEditingFeature(); final IDirectEditingContext directEditingContext = directEditHolder.getDirectEditingContext(); String value = null; IProposal acceptedProposal = null; if (cellEditor instanceof TextCellEditor) { TextCellEditor tce = (TextCellEditor) cellEditor; value = (String) tce.getValue(); acceptedProposal = tce.getAcceptedProposal(); } else if (cellEditor instanceof ComboBoxCellEditor) { final int index = ((Integer) cellEditor.getValue()).intValue(); // TODO: user inserted free value, what to do here? if (index < 0) { final Control control = cellEditor.getControl(); if (control instanceof CCombo) { final CCombo cc = (CCombo) control; value = cc.getText(); } else { return null; } } else { if (directEditHolder.isSimpleMode()) { value = directEditingFeature.getPossibleValues(directEditingContext)[index]; } else { acceptedProposal = directEditingFeature.getProposalSupport() .getPossibleValues(directEditingContext)[index]; } } } if (value == null && acceptedProposal == null) { return null; } final ICommand cmd = new DirectEditingFeatureCommandWithContext(directEditingFeature, directEditingContext, value, acceptedProposal); final IFeatureProvider fp = directEditingFeature.getFeatureProvider(); final DiagramEditorInternal diagramEditor = (DiagramEditorInternal) fp.getDiagramTypeProvider() .getDiagramEditor(); final CommandStack commandStack = diagramEditor.getEditDomain().getCommandStack(); commandStack.execute(new GefCommandWrapper(cmd, diagramEditor.getEditingDomain())); // CommandExec.getSingleton().executeCommand(cmd, fp.getConnection()); return null; }
From source file:org.multicore_association.shim.edit.gui.swt.viewer.ShimObjectTableViewer.java
License:MIT License
/** * Returns the CellEditorListener depending on the specified editor. * //from w ww . j a va 2 s . c om * @param editor * the specified editor to return the CellEditorListener * @return the CellEditorListener depending on the specified editor */ private ICellEditorListener getCellEditorListener(final CellEditor editor) { ICellEditorListener listener = new ICellEditorListener() { /** * @see org.eclipse.jface.viewers.ICellEditorListener#applyEditorValue() */ @Override public void applyEditorValue() { writeErrorMessage(null); } /** * @see org.eclipse.jface.viewers.ICellEditorListener#cancelEditor() */ @Override public void cancelEditor() { writeErrorMessage(null); } /** * @see org.eclipse.jface.viewers.ICellEditorListener#editorValueChanged(boolean, * boolean) */ @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { writeErrorMessage(editor.getErrorMessage()); } }; return listener; }
From source file:org.multicore_association.shim.edit.gui.swt.viewer.ShimObjectTableViewer.java
License:MIT License
/** * Returns the CellEditorListener of ComboBox column depending on the * specified editor.//w w w .j a v a 2 s. c o m * * @param editor * the specified editor to return the CellEditorListener * @return the CellEditorListener of ComboBox column depending on the * specified editor */ protected ICellEditorListener getComboBoxCellEditorListener(final CellEditor editor) { ICellEditorListener listener = new ICellEditorListener() { /** * @see org.eclipse.jface.viewers.ICellEditorListener#applyEditorValue() */ @Override public void applyEditorValue() { writeErrorMessage(editor.getErrorMessage()); } /** * @see org.eclipse.jface.viewers.ICellEditorListener#cancelEditor() */ @Override public void cancelEditor() { writeErrorMessage(editor.getErrorMessage()); } /** * @see org.eclipse.jface.viewers.ICellEditorListener#editorValueChanged(boolean, * boolean) */ @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { writeErrorMessage(editor.getErrorMessage()); } }; return listener; }
From source file:org.xtuml.bp.core.editors.editing.ElementEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(Object element) { int index = (Integer) tableColumn.getData("index"); if (element instanceof Object[]) { Object[] elements = (Object[]) element; element = elements[index];/*from w w w. j a v a 2 s . c o m*/ } if (element instanceof ObjectElement) { ObjectElement objEle = (ObjectElement) element; if (objEle.getName().equals("Descrip")) { return null; } CellEditor editor = null; if (((NonRootModelElement) objEle.getParent()).getModelRoot() instanceof Ooaofooa) { editor = CellModifierProvider.getCellEditor((NonRootModelElement) objEle.getParent(), (Composite) viewer.getControl(), objEle); } else { editor = org.xtuml.bp.ui.canvas.cells.CellModifierProvider.getCellEditor( (NonRootModelElement) objEle.getParent(), (Composite) viewer.getControl(), objEle); } final CellEditor finalEditor = editor; editor.addListener(new ICellEditorListener() { @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { if (!newValidState) { ((ITabErrorSupport) viewer).setErrorMessage(finalEditor.getErrorMessage()); } else { ((ITabErrorSupport) viewer).setErrorMessage(""); } } @Override public void cancelEditor() { ((ITabErrorSupport) viewer).setErrorMessage(""); } @Override public void applyEditorValue() { ((ITabErrorSupport) viewer).setErrorMessage(""); } }); return editor; } return null; }
From source file:org.xtuml.bp.model.compare.contentmergeviewer.ElementEditingSupport.java
License:Open Source License
@Override protected CellEditor getCellEditor(Object element) { if (element instanceof ObjectElementComparable) { ObjectElement objEle = (ObjectElement) ((ObjectElementComparable) element).getRealElement(); CellEditor editor = null; if (((NonRootModelElement) objEle.getParent()).getModelRoot() instanceof Ooaofooa) { editor = CellModifierProvider.getCellEditor((NonRootModelElement) objEle.getParent(), viewer.getTree(), objEle); } else {/*from ww w .j av a 2 s. c o m*/ editor = org.xtuml.bp.ui.canvas.cells.CellModifierProvider .getCellEditor((NonRootModelElement) objEle.getParent(), viewer.getTree(), objEle); } final CellEditor finalEditor = editor; editor.addListener(new ICellEditorListener() { @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { if (!newValidState) { viewer.setErrorMessage(finalEditor.getErrorMessage()); } else { viewer.setErrorMessage(""); } } @Override public void cancelEditor() { viewer.setErrorMessage(""); } @Override public void applyEditorValue() { viewer.setErrorMessage(""); } }); return editor; } return null; }