/** * @see * org.eclipse.nebula.widgets.nattable.edit.gui.AbstractDialogCellEditor#createDialogInstance() * @return */ @Override public Object createDialogInstance() { int columnIndex = this.layerCell.getColumnIndex(); int rowIndex = this.layerCell.getRowIndex(); Object row = this.manager.getRowElement(rowIndex); Object column = this.manager.getColumnElement(columnIndex); row = AxisUtils.getRepresentedElement(row); column = AxisUtils.getRepresentedElement(column); Element editedElement = null; Object feature = null; if (row instanceof EObject && column == this.axisElement) { editedElement = (Element) row; feature = column; } else { editedElement = (Element) column; feature = row; } EStructuralFeature realFeature = null; EObject realEditedObject = null; Stereotype stereotype = null; List<Stereotype> stereotypesWithEditedFeatureAppliedOnElement = null; if (feature instanceof EStructuralFeature) { realFeature = (EStructuralFeature) feature; realEditedObject = editedElement; } else { final String id = AxisUtils.getPropertyId(this.axisElement); stereotypesWithEditedFeatureAppliedOnElement = UMLTableUtils.getAppliedSteretoypesWithThisProperty(editedElement, id); stereotype = stereotypesWithEditedFeatureAppliedOnElement.get(0); realEditedObject = editedElement.getStereotypeApplication( stereotypesWithEditedFeatureAppliedOnElement.get(0)); Property prop = UMLTableUtils.getRealStereotypeProperty(editedElement, id); realFeature = realEditedObject.eClass().getEStructuralFeature(prop.getName()); } if (stereotypesWithEditedFeatureAppliedOnElement != null && stereotypesWithEditedFeatureAppliedOnElement.size() > 1) { // FIXME : not yet managed } else { this.dialog = createDialog( realEditedObject, realFeature, stereotype, editedElement.eResource().getResourceSet()); } return this.dialog; }
/** Constructor. */ public EEnumComboBoxDataProvider(Object axisElement) { Object object = AxisUtils.getRepresentedElement(axisElement); Assert.isTrue(object instanceof EStructuralFeature); EStructuralFeature feature = (EStructuralFeature) object; EClassifier type = feature.getEType(); Assert.isTrue(type instanceof EEnum); this.eenum = (EEnum) type; }
/** * @see * org.eclipse.papyrus.infra.nattable.handler.AbstractDisconnectSlaveHandler#getAxisProviderToEdit() * @return */ protected AbstractAxisProvider getAxisProviderToEdit() { return AxisUtils.getAxisProviderUsedForColumns(getCurrentNattableModelManager()); }