You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/09/14 11:12:44 UTC

svn commit: r1384689 - in /incubator/isis/trunk/framework/viewer/wicket: wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ wicket-ui/src/main/java/org/apa...

Author: danhaywood
Date: Fri Sep 14 09:12:43 2012
New Revision: 1384689

URL: http://svn.apache.org/viewvc?rev=1384689&view=rev
Log:
ISIS-232: adding tooltips (pick up @DescribedAs)

Modified:
    incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java?rev=1384689&r1=1384688&r2=1384689&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java Fri Sep 14 09:12:43 2012
@@ -158,6 +158,13 @@ public class ScalarModel extends EntityM
             public void resetVersion(ScalarModel scalarModel) {
                 scalarModel.parentObjectAdapterMemento.resetVersion();
             }
+
+            @Override
+            public String getDescribedAs(final ScalarModel scalarModel) {
+                final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
+                final OneToOneAssociation property = propertyMemento.getProperty();
+                return property.getDescription();
+            }
         },
         PARAMETER {
             @Override
@@ -213,7 +220,7 @@ public class ScalarModel extends EntityM
 
             @Override
             public String validate(final ScalarModel scalarModel, final ObjectAdapter proposedAdapter) {
-                // TODO - not supported in NOF 4.0.0
+                // TODO - not yet supported.
                 return null;
             }
 
@@ -241,6 +248,12 @@ public class ScalarModel extends EntityM
             public void resetVersion(ScalarModel scalarModel) {
                 // no-op?
             }
+            @Override
+            public String getDescribedAs(final ScalarModel scalarModel) {
+                final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
+                final ObjectActionParameter actionParameter = parameterMemento.getActionParameter();
+                return actionParameter.getDescription();
+            }
         };
 
         private static List<ObjectAdapter> choicesAsList(final ObjectAdapter[] choices) {
@@ -278,6 +291,7 @@ public class ScalarModel extends EntityM
 
         public abstract void resetVersion(ScalarModel scalarModel);
 
+        public abstract String getDescribedAs(ScalarModel scalarModel);
     }
 
 
@@ -448,8 +462,9 @@ public class ScalarModel extends EntityM
     public void resetVersion() {
         kind.resetVersion(this);
     }
-    
-    
 
+    public String getDescribedAs() {
+        return kind.getDescribedAs(this);
+    }
 
 }

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java?rev=1384689&r1=1384688&r2=1384689&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java Fri Sep 14 09:12:43 2012
@@ -24,6 +24,8 @@ import java.math.BigDecimal;
 
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
+import org.apache.wicket.behavior.IBehavior;
+import org.apache.wicket.behavior.SimpleAttributeModifier;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.FormComponentLabel;
@@ -31,6 +33,7 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.validation.IValidator;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
@@ -80,6 +83,11 @@ public abstract class ScalarPanelTextFie
             labelIfRegular.add(new CssClassAppender("mandatory"));
         }
 
+        final String describedAs = getModel().getDescribedAs();
+        if(describedAs != null) {
+            labelIfRegular.add(new AttributeModifier("title", true, Model.of(describedAs)));
+        }
+        
         labelIfRegular.addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, textField));
         return labelIfRegular;
     }
@@ -99,12 +107,13 @@ public abstract class ScalarPanelTextFie
         final AbstractTextComponent<T> textField = getTextField();
         final String name = getModel().getName();
         textField.setLabel(Model.of(name));
-
+        
         final FormComponentLabel scalarNameAndValue = new FormComponentLabel(ID_SCALAR_IF_REGULAR, textField);
-
+        
         scalarNameAndValue.add(textField);
 
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(textField));
+        
         scalarNameAndValue.add(scalarName);
 
         return scalarNameAndValue;
@@ -124,7 +133,7 @@ public abstract class ScalarPanelTextFie
     protected void setTextFieldSizeIfSpecified(AbstractTextComponent<T> textField) {
         final Integer size = determineSize();
         if (size != null) {
-            textField.add(new AttributeModifier("size", true, new Model<String>("" + size)));
+            textField.add(new AttributeModifier("size", true, Model.of("" + size)));
         }
     }
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java?rev=1384689&r1=1384688&r2=1384689&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java Fri Sep 14 09:12:43 2012
@@ -19,6 +19,7 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
+import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.CheckBox;
@@ -60,7 +61,12 @@ public class BooleanPanel extends Scalar
 
         final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, checkBox);
         labelIfRegular.add(checkBox);
-
+        
+        final String describedAs = getModel().getDescribedAs();
+        if(describedAs != null) {
+            labelIfRegular.add(new AttributeModifier("title", true, Model.of(describedAs)));
+        }
+        
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(checkBox));
         labelIfRegular.add(scalarName);
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java?rev=1384689&r1=1384688&r2=1384689&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java Fri Sep 14 09:12:43 2012
@@ -19,6 +19,7 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.reference;
 
+import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.FormComponentLabel;
@@ -92,6 +93,11 @@ public class ReferencePanel extends Scal
         final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, entityLink);
         labelIfRegular.add(entityLink);
         
+        final String describedAs = getModel().getDescribedAs();
+        if(describedAs != null) {
+            labelIfRegular.add(new AttributeModifier("title", true, Model.of(describedAs)));
+        }
+        
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(entityLink));
         labelIfRegular.add(scalarName);
         

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java?rev=1384689&r1=1384688&r2=1384689&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.java Fri Sep 14 09:12:43 2012
@@ -133,42 +133,24 @@ public class ValueChoicesPanel extends S
         valueField.setRequired(required);
     }
 
-    private void setSizeIfSpecified() {
-        final int size = determineSize();
-
-        if (size != -1) {
-            valueField.add(new AttributeModifier("size", true, new Model<String>("" + size)));
-        }
-    }
-
-    private int determineSize() {
-        final ScalarModel scalarModel = getModel();
-        final ObjectSpecification noSpec = scalarModel.getTypeOfSpecification();
-
-        final TypicalLengthFacet typicalLengthFacet = noSpec.getFacet(TypicalLengthFacet.class);
-        if (typicalLengthFacet != null) {
-            return typicalLengthFacet.value();
-        }
-        final MaxLengthFacet maxLengthFacet = noSpec.getFacet(MaxLengthFacet.class);
-        if (maxLengthFacet != null) {
-            return maxLengthFacet.value();
-        }
-        return -1;
-    }
-
     protected FormComponentLabel createFormComponentLabel() {
         final String name = getModel().getName();
         valueField.setLabel(Model.of(name));
 
-        final FormComponentLabel scalarNameAndValue = new FormComponentLabel(ID_SCALAR_IF_REGULAR, valueField);
+        final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, valueField);
+
+        final String describedAs = getModel().getDescribedAs();
+        if(describedAs != null) {
+            labelIfRegular.add(new AttributeModifier("title", true, Model.of(describedAs)));
+        }
 
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(valueField));
-        scalarNameAndValue.add(scalarName);
-        scalarNameAndValue.add(valueField);
+        labelIfRegular.add(scalarName);
+        labelIfRegular.add(valueField);
 
         // scalarNameAndValue.add(dropDownChoicesForValueMementos);
 
-        return scalarNameAndValue;
+        return labelIfRegular;
     }
 
     @Override