diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java')
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java | 300 |
1 files changed, 170 insertions, 130 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java index a5b1f6d8cf5..19cb113edcc 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/EnumerationLiteralEditPart.java @@ -70,6 +70,7 @@ import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IControlParserForDirect import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IMaskManagedLabelEditPolicy; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.parsers.ParserUtil; import org.eclipse.papyrus.uml.diagram.clazz.custom.figure.LiteralEnumerationFigure; import org.eclipse.papyrus.uml.diagram.clazz.custom.policies.AppliedStereotypeEnumerationLiteralDisplayEditPolicy; import org.eclipse.papyrus.uml.diagram.clazz.edit.policies.UMLTextNonResizableEditPolicy; @@ -98,12 +99,13 @@ import org.eclipse.uml2.uml.UMLPackage; /** * @generated */ -public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implements ITextAwareEditPart, IPrimaryEditPart, IControlParserForDirectEdit { +public class EnumerationLiteralEditPart extends UMLCompartmentEditPart + implements ITextAwareEditPart, IPrimaryEditPart, IControlParserForDirectEdit { /** * @generated */ - public static final String VISUAL_ID = "3017"; + public static final String VISUAL_ID = "EnumerationLiteral_LiteralLabel"; /** * @generated @@ -151,7 +153,7 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override public DragTracker getDragTracker(Request request) { - if(request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3) { + if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3) { return null; } return new DragEditPartsTrackerEx(this); @@ -167,20 +169,22 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new UMLTextNonResizableEditPolicy()); installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy()); - installEditPolicy(AbstractAppliedStereotypeDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeEnumerationLiteralDisplayEditPolicy()); - installEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY, new EnumerationLiteralLabelEditPolicy()); + installEditPolicy(AbstractAppliedStereotypeDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, + new AppliedStereotypeEnumerationLiteralDisplayEditPolicy()); + installEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY, + new EnumerationLiteralLabelEditPolicy()); } /** * @generated */ protected String getLabelTextHelper(IFigure figure) { - if(figure instanceof WrappingLabel) { - return ((WrappingLabel)figure).getText(); - } else if(figure instanceof ILabelFigure) { - return ((ILabelFigure)figure).getText(); + if (figure instanceof WrappingLabel) { + return ((WrappingLabel) figure).getText(); + } else if (figure instanceof ILabelFigure) { + return ((ILabelFigure) figure).getText(); } else { - return ((Label)figure).getText(); + return ((Label) figure).getText(); } } @@ -188,12 +192,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void setLabelTextHelper(IFigure figure, String text) { - if(figure instanceof WrappingLabel) { - ((WrappingLabel)figure).setText(text); - } else if(figure instanceof ILabelFigure) { - ((ILabelFigure)figure).setText(text); + if (figure instanceof WrappingLabel) { + ((WrappingLabel) figure).setText(text); + } else if (figure instanceof ILabelFigure) { + ((ILabelFigure) figure).setText(text); } else { - ((Label)figure).setText(text); + ((Label) figure).setText(text); } } @@ -201,12 +205,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected Image getLabelIconHelper(IFigure figure) { - if(figure instanceof WrappingLabel) { - return ((WrappingLabel)figure).getIcon(); - } else if(figure instanceof ILabelFigure) { - return ((ILabelFigure)figure).getIcon(); + if (figure instanceof WrappingLabel) { + return ((WrappingLabel) figure).getIcon(); + } else if (figure instanceof ILabelFigure) { + return ((ILabelFigure) figure).getIcon(); } else { - return ((Label)figure).getIcon(); + return ((Label) figure).getIcon(); } } @@ -214,12 +218,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void setLabelIconHelper(IFigure figure, Image icon) { - if(figure instanceof WrappingLabel) { - ((WrappingLabel)figure).setIcon(icon); - } else if(figure instanceof ILabelFigure) { - ((ILabelFigure)figure).setIcon(icon); + if (figure instanceof WrappingLabel) { + ((WrappingLabel) figure).setIcon(icon); + } else if (figure instanceof ILabelFigure) { + ((ILabelFigure) figure).setIcon(icon); } else { - ((Label)figure).setIcon(icon); + ((Label) figure).setIcon(icon); } } @@ -270,12 +274,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ protected Image getLabelIcon() { EObject parserElement = getParserElement(); - if(parserElement == null) { + if (parserElement == null) { return null; } List<View> views = DiagramEditPartsUtil.findViews(parserElement, getViewer()); - for(View view : views) { - if(AppearanceHelper.showElementIcon(view)) { + for (View view : views) { + if (AppearanceHelper.showElementIcon(view)) { return UMLElementTypes.getImage(parserElement.eClass()); } } @@ -288,10 +292,11 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement protected String getLabelText() { String text = null; EObject parserElement = getParserElement(); - if(parserElement != null && getParser() != null) { - text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue()); + if (parserElement != null && getParser() != null) { + text = getParser().getPrintString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); } - if(text == null || text.length() == 0) { + if (text == null || text.length() == 0) { text = defaultText; } return text; @@ -304,12 +309,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement public void setLabelText(String text) { setLabelTextHelper(getFigure(), text); Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE); - if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) { - ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback(); + if (pdEditPolicy instanceof UMLTextSelectionEditPolicy) { + ((UMLTextSelectionEditPolicy) pdEditPolicy).refreshFeedback(); } Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE); - if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) { - ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback(); + if (sfEditPolicy instanceof UMLTextSelectionEditPolicy) { + ((UMLTextSelectionEditPolicy) sfEditPolicy).refreshFeedback(); } } @@ -318,10 +323,11 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override public String getEditText() { - if(getParserElement() == null || getParser() == null) { + if (getParserElement() == null || getParser() == null) { return ""; //$NON-NLS-1$ } - return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue()); + return getParser().getEditString(ParserUtil.getParserAdapter(getParserElement(), this), + getParserOptions().intValue()); } /** @@ -340,22 +346,25 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement @Override public String isValid(final Object value) { - if(value instanceof String) { + if (value instanceof String) { final EObject element = getParserElement(); final IParser parser = getParser(); try { - IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl<java.lang.Object>() { - - @Override - public void run() { - setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value)); - } - }); + IParserEditStatus valid = (IParserEditStatus) getEditingDomain() + .runExclusive(new RunnableWithResult.Impl<java.lang.Object>() { + + @Override + public void run() { + setResult(parser.isValidEditString(ParserUtil.getParserAdapter( + getParserElement(), EnumerationLiteralEditPart.this), (String) value)); + } + }); return valid.getCode() == IParserEditStatus.EDITABLE ? null : valid.getMessage(); } catch (InterruptedException ie) { ie.printStackTrace(); } } + // shouldn't get here return null; } @@ -367,10 +376,10 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override public IContentAssistProcessor getCompletionProcessor() { - if(getParserElement() == null || getParser() == null) { + if (getParserElement() == null || getParser() == null) { return null; } - return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement())); + return getParser().getCompletionProcessor(ParserUtil.getParserAdapter(getParserElement(), this)); } /** @@ -386,8 +395,9 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override public IParser getParser() { - if(parser == null) { - parser = UMLParserProvider.getParser(UMLElementTypes.EnumerationLiteral_3017, getParserElement(), UMLVisualIDRegistry.getType(org.eclipse.papyrus.uml.diagram.clazz.edit.parts.EnumerationLiteralEditPart.VISUAL_ID)); + if (parser == null) { + parser = ParserUtil.getParser(UMLElementTypes.EnumerationLiteral_LiteralLabel, getParserElement(), this, + VISUAL_ID); } return parser; } @@ -396,8 +406,10 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected DirectEditManager getManager() { - if(manager == null) { - setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this))); + if (manager == null) { + setManager(new MultilineLabelDirectEditManager(this, + MultilineLabelDirectEditManager.getTextCellEditorClass(this), + UMLEditPartFactory.getTextCellEditorLocator(this))); } return manager; } @@ -426,8 +438,8 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void performDirectEdit(Point eventLocation) { - if(getManager() instanceof TextDirectEditManager) { - ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint()); + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(eventLocation.getSWTPoint()); } } @@ -435,8 +447,8 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void performDirectEdit(char initialCharacter) { - if(getManager() instanceof TextDirectEditManager) { - ((TextDirectEditManager)getManager()).show(initialCharacter); + if (getManager() instanceof TextDirectEditManager) { + ((TextDirectEditManager) getManager()).show(initialCharacter); } else { performDirectEdit(); } @@ -447,46 +459,58 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override protected void performDirectEditRequest(Request request) { + final Request theRequest = request; - if(IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) { + + if (IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) { directEditionMode = getDirectEditionType(); } - switch(directEditionMode) { + switch (directEditionMode) { case IDirectEdition.NO_DIRECT_EDITION: // no direct edition mode => does nothing return; case IDirectEdition.EXTENDED_DIRECT_EDITOR: updateExtendedEditorConfiguration(); - if(configuration == null || configuration.getLanguage() == null) { + if (configuration == null || configuration.getLanguage() == null) { // Create default edit manager - setManager(new MultilineLabelDirectEditManager(this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this))); + setManager(new MultilineLabelDirectEditManager(this, + MultilineLabelDirectEditManager.getTextCellEditorClass(this), + UMLEditPartFactory.getTextCellEditorLocator(this))); performDefaultDirectEditorEdit(theRequest); } else { configuration.preEditAction(resolveSemanticElement()); Dialog dialog = null; - if(configuration instanceof ICustomDirectEditorConfiguration) { - setManager(((ICustomDirectEditorConfiguration)configuration).createDirectEditManager(this)); + if (configuration instanceof ICustomDirectEditorConfiguration) { + setManager(((ICustomDirectEditorConfiguration) configuration).createDirectEditManager(this)); initializeDirectEditManager(theRequest); return; - } else if(configuration instanceof IPopupEditorConfiguration) { - IPopupEditorHelper helper = ((IPopupEditorConfiguration)configuration).createPopupEditorHelper(this); + } else if (configuration instanceof IPopupEditorConfiguration) { + IPopupEditorHelper helper = ((IPopupEditorConfiguration) configuration) + .createPopupEditorHelper(this); helper.showEditor(); return; - } else if(configuration instanceof IAdvancedEditorConfiguration) { - dialog = ((IAdvancedEditorConfiguration)configuration).createDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement())); - } else if(configuration instanceof IDirectEditorConfiguration) { - dialog = new ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()), configuration); + } else if (configuration instanceof IAdvancedEditorConfiguration) { + dialog = ((IAdvancedEditorConfiguration) configuration).createDialog( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), + configuration.getTextToEdit(resolveSemanticElement())); + } else if (configuration instanceof IDirectEditorConfiguration) { + dialog = new ExtendedDirectEditionDialog( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), + configuration.getTextToEdit(resolveSemanticElement()), configuration); } else { return; } final Dialog finalDialog = dialog; - if(Window.OK == dialog.open()) { + + if (Window.OK == dialog.open()) { TransactionalEditingDomain domain = getEditingDomain(); RecordingCommand command = new RecordingCommand(domain, "Edit Label") { @Override protected void doExecute() { - configuration.postEditAction(resolveSemanticElement(), ((ILabelEditorDialog)finalDialog).getValue()); + configuration.postEditAction(resolveSemanticElement(), + ((ILabelEditorDialog) finalDialog).getValue()); + } }; domain.getCommandStack().execute(command); @@ -508,12 +532,13 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement // initialize the direct edit manager try { getEditingDomain().runExclusive(new Runnable() { - @Override public void run() { - if(isActive() && isEditable()) { - if(request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) { - Character initialChar = (Character)request.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR); + if (isActive() && isEditable()) { + if (request.getExtendedData() + .get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) { + Character initialChar = (Character) request.getExtendedData() + .get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR); performDirectEdit(initialChar.charValue()); } else { performDirectEdit(); @@ -544,12 +569,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ protected void refreshLabel() { EditPolicy maskLabelPolicy = getEditPolicy(IMaskManagedLabelEditPolicy.MASK_MANAGED_LABEL_EDIT_POLICY); - if(maskLabelPolicy == null) { + if (maskLabelPolicy == null) { maskLabelPolicy = getEditPolicy(IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); } - if(maskLabelPolicy == null) { - View view = (View)getModel(); - if(view.isVisible()) { + if (maskLabelPolicy == null) { + View view = (View) getModel(); + if (view.isVisible()) { setLabelTextHelper(getFigure(), getLabelText()); setLabelIconHelper(getFigure(), getLabelIcon()); } else { @@ -558,12 +583,12 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement } } Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE); - if(pdEditPolicy instanceof UMLTextSelectionEditPolicy) { - ((UMLTextSelectionEditPolicy)pdEditPolicy).refreshFeedback(); + if (pdEditPolicy instanceof UMLTextSelectionEditPolicy) { + ((UMLTextSelectionEditPolicy) pdEditPolicy).refreshFeedback(); } Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE); - if(sfEditPolicy instanceof UMLTextSelectionEditPolicy) { - ((UMLTextSelectionEditPolicy)sfEditPolicy).refreshFeedback(); + if (sfEditPolicy instanceof UMLTextSelectionEditPolicy) { + ((UMLTextSelectionEditPolicy) sfEditPolicy).refreshFeedback(); } } @@ -571,15 +596,15 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void refreshUnderline() { - FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); - if(style != null && getFigure() instanceof WrappingLabel) { - ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline()); + FontStyle style = (FontStyle) getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); + if (style != null && getFigure() instanceof WrappingLabel) { + ((WrappingLabel) getFigure()).setTextUnderline(style.isUnderline()); } - if(resolveSemanticElement() instanceof Feature) { - if(((Feature)resolveSemanticElement()).isStatic()) { - ((WrappingLabel)getFigure()).setTextUnderline(true); + if (resolveSemanticElement() instanceof Feature) { + if (((Feature) resolveSemanticElement()).isStatic()) { + ((WrappingLabel) getFigure()).setTextUnderline(true); } else { - ((WrappingLabel)getFigure()).setTextUnderline(false); + ((WrappingLabel) getFigure()).setTextUnderline(false); } } } @@ -588,9 +613,9 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void refreshStrikeThrough() { - FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); - if(style != null && getFigure() instanceof WrappingLabel) { - ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough()); + FontStyle style = (FontStyle) getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); + if (style != null && getFigure() instanceof WrappingLabel) { + ((WrappingLabel) getFigure()).setTextStrikeThrough(style.isStrikeThrough()); } } @@ -599,9 +624,10 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override protected void refreshFont() { - FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); - if(style != null) { - FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL)); + FontStyle style = (FontStyle) getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle()); + if (style != null) { + FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), + (style.isBold() ? SWT.BOLD : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL)); setFont(fontData); } } @@ -619,11 +645,11 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override protected void addSemanticListeners() { - if(getParser() instanceof ISemanticParser) { + if (getParser() instanceof ISemanticParser) { EObject element = resolveSemanticElement(); - parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element); - for(int i = 0; i < parserElements.size(); i++) { - addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$ + parserElements = ((ISemanticParser) getParser()).getSemanticElementsBeingParsed(element); + for (int i = 0; i < parserElements.size(); i++) { + addListenerFilter("SemanticModel" + i, this, (EObject) parserElements.get(i)); //$NON-NLS-1$ } } else { super.addSemanticListeners(); @@ -635,8 +661,8 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override protected void removeSemanticListeners() { - if(parserElements != null) { - for(int i = 0; i < parserElements.size(); i++) { + if (parserElements != null) { + for (int i = 0; i < parserElements.size(); i++) { removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$ } } else { @@ -649,7 +675,7 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement */ @Override protected AccessibleEditPart getAccessibleEditPart() { - if(accessibleEP == null) { + if (accessibleEP == null) { accessibleEP = new AccessibleGraphicalEditPart() { @Override @@ -675,13 +701,14 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ public int getDirectEditionType() { - if(checkExtendedEditor()) { + if (checkExtendedEditor()) { initExtendedEditorConfiguration(); return IDirectEdition.EXTENDED_DIRECT_EDITOR; } - if(checkDefaultEdition()) { + if (checkDefaultEdition()) { return IDirectEdition.DEFAULT_DIRECT_EDITOR; } + // not a named element. no specific editor => do nothing return IDirectEdition.NO_DIRECT_EDITION; } @@ -693,7 +720,7 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected boolean checkExtendedEditor() { - if(resolveSemanticElement() != null) { + if (resolveSemanticElement() != null) { return DirectEditorsUtil.hasSpecificEditorConfiguration(resolveSemanticElement(), this); } return false; @@ -715,12 +742,15 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void initExtendedEditorConfiguration() { - if(configuration == null) { - final String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName()); - if(languagePreferred != null && !languagePreferred.equals("")) { - configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), this); + if (configuration == null) { + final String languagePreferred = Activator.getDefault().getPreferenceStore().getString( + IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName()); + if (languagePreferred != null && !languagePreferred.equals("")) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); } else { - configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, resolveSemanticElement(), this); + configuration = DirectEditorsUtil.findEditorConfiguration(IDirectEditorsIds.UML_LANGUAGE, + resolveSemanticElement(), this); } } } @@ -731,10 +761,13 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement * @generated */ protected void updateExtendedEditorConfiguration() { - String languagePreferred = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName()); - if(languagePreferred != null && !languagePreferred.equals("") && !languagePreferred.equals(configuration.getLanguage())) { - configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), this); - } else if(IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(languagePreferred)) { + String languagePreferred = Activator.getDefault().getPreferenceStore().getString( + IDirectEditorsIds.EDITOR_FOR_ELEMENT + resolveSemanticElement().eClass().getInstanceClassName()); + if (languagePreferred != null && !languagePreferred.equals("") + && !languagePreferred.equals(configuration.getLanguage())) { + configuration = DirectEditorsUtil.findEditorConfiguration(languagePreferred, resolveSemanticElement(), + this); + } else if (IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(languagePreferred)) { configuration = null; } } @@ -753,12 +786,15 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement @Override public void run() { - if(isActive() && isEditable()) { - if(theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) { - Character initialChar = (Character)theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR); + if (isActive() && isEditable()) { + if (theRequest.getExtendedData() + .get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character) { + Character initialChar = (Character) theRequest.getExtendedData() + .get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR); performDirectEdit(initialChar.charValue()); - } else if((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText()))) { - DirectEditRequest editRequest = (DirectEditRequest)theRequest; + } else if ((theRequest instanceof DirectEditRequest) + && (getEditText().equals(getLabelText()))) { + DirectEditRequest editRequest = (DirectEditRequest) theRequest; performDirectEdit(editRequest.getLocation()); } else { performDirectEdit(); @@ -795,34 +831,38 @@ public class EnumerationLiteralEditPart extends UMLCompartmentEditPart implement @Override protected void handleNotificationEvent(Notification event) { Object feature = event.getFeature(); - if(NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature)) { - Integer c = (Integer)event.getNewValue(); + if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature)) { + Integer c = (Integer) event.getNewValue(); setFontColor(DiagramColorRegistry.getInstance().getColor(c)); - } else if(NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature)) { + } else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature)) { refreshUnderline(); - } else if(NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature)) { + } else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature)) { refreshStrikeThrough(); - } else if(NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature) || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature)) { + } else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature) + || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature) + || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature) + || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature)) { refreshFont(); } else { - if(getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue())) { + if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue())) { refreshLabel(); } - if(getParser() instanceof ISemanticParser) { - ISemanticParser modelParser = (ISemanticParser)getParser(); - if(modelParser.areSemanticElementsAffected(null, event)) { + if (getParser() instanceof ISemanticParser) { + ISemanticParser modelParser = (ISemanticParser) getParser(); + if (modelParser.areSemanticElementsAffected(null, event)) { removeSemanticListeners(); - if(resolveSemanticElement() != null) { + if (resolveSemanticElement() != null) { addSemanticListeners(); } refreshLabel(); } } } - if(event.getNewValue() instanceof EAnnotation && VisualInformationPapyrusConstants.DISPLAY_NAMELABELICON.equals(((EAnnotation)event.getNewValue()).getSource())) { + if (event.getNewValue() instanceof EAnnotation && VisualInformationPapyrusConstants.DISPLAY_NAMELABELICON + .equals(((EAnnotation) event.getNewValue()).getSource())) { refreshLabel(); } - if(UMLPackage.eINSTANCE.getFeature_IsStatic().equals(feature)) { + if (UMLPackage.eINSTANCE.getFeature_IsStatic().equals(feature)) { refreshUnderline(); } super.handleNotificationEvent(event); |