Author: thn Date: 2011-03-30 22:28:41-0700 New Revision: 19154 Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java
Log: simple fix for issue 6215: initial values is created as OpaqueExpression, but when imported from other models, it can be of another type but is readonly then Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java?view=diff&pathrev=19154&r1=19153&r2=19154 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java 2011-03-30 22:28:41-0700 @@ -8,6 +8,7 @@ * * Contributors: * mvw + * Thomas Neustupny ***************************************************************************** * * Some portions of this file was previously release using the BSD License: @@ -79,6 +80,9 @@ setText(newText); } } + if (newText == null) { + setEditable(false); + } } /* Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java?view=diff&pathrev=19154&r1=19153&r2=19154 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java 2011-03-30 22:28:41-0700 @@ -8,6 +8,7 @@ * * Contributors: * mvw + * Thomas Neustupny ***************************************************************************** * * Some portions of this file was previously release using the BSD License: @@ -155,7 +156,14 @@ if (expression == null) { return EMPTYSTRING; } - return Model.getDataTypesHelper().getLanguage(expression); + String language = null; + try { + language = Model.getDataTypesHelper().getLanguage(expression); + } catch (Exception ex) { + // if it has no language, then we assume it is not an instance of + // OpaqueExpression, so we leave it null and handle elsewhere + } + return language; } /** @@ -166,7 +174,7 @@ if (expression == null) { return EMPTYSTRING; } - return Model.getDataTypesHelper().getBody(expression); + return Model.getFacade().getBody(expression).toString(); } /** @@ -202,7 +210,7 @@ Object expression = getExpression(); boolean mustChange = true; if (expression != null) { - Object oldValue = Model.getDataTypesHelper().getBody(expression); + Object oldValue = Model.getFacade().getBody(expression).toString(); if (oldValue != null && oldValue.equals(body)) { mustChange = false; } Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java?view=diff&pathrev=19154&r1=19153&r2=19154 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java 2011-03-30 22:28:41-0700 @@ -8,6 +8,7 @@ * * Contributors: * mvw + * Thomas Neustupny ***************************************************************************** * * Some portions of this file was previously release using the BSD License: @@ -78,7 +79,12 @@ this.bodyField = new UMLExpressionBodyField( model, true); - add(languageField); + boolean isReadOnly = !languageField.isEditable(); + if (isReadOnly) { + bodyField.setEditable(false); + } else { + add(languageField); + } add(new JScrollPane(bodyField)); model.addChangeListener(this); ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2715515 To unsubscribe from this discussion, e-mail: [[email protected]].
