Author: almaw
Date: Sun Jun 10 14:39:36 2007
New Revision: 545949

URL: http://svn.apache.org/viewvc?view=rev&rev=545949
Log:
WICKET-531 - Allow <label> for radio/check components.

Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java?view=diff&rev=545949&r1=545948&r2=545949
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
 Sun Jun 10 14:39:36 2007
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html.form;
 
+import org.apache.wicket.Component;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 
@@ -30,43 +31,74 @@
 {
        private static final long serialVersionUID = 1L;
 
-       private FormComponent fc;
+       private Component component;
 
        /**
         * Constructor
         * 
         * @param id
         *            component id
-        * @param formcomponent
-        *            form component that this label represents
+        * @param check
+        *            Check component that this label represents
         */
-       public FormComponentLabel(String id, FormComponent formcomponent)
+       public FormComponentLabel(String id, Check check)
+       {
+               this(id, (Component)check);
+       }
+       
+       /**
+        * Constructor
+        * 
+        * @param id
+        *            component id
+        * @param radio
+        *            Radio component that this label represents
+        */
+       public FormComponentLabel(String id, Radio radio)
+       {
+               this(id, (Component)radio);
+       }
+
+       /**
+        * Constructor
+        * 
+        * @param id
+        *            component id
+        * @param formComponent
+        *            FormComponent that this label represents
+        */
+       public FormComponentLabel(String id, FormComponent formComponent)
+       {
+               this(id, (Component)formComponent);
+       }
+       
+       private FormComponentLabel(String id, Component component)
        {
                super(id);
-               if (formcomponent == null)
+               if (component == null)
                {
-                       throw new IllegalArgumentException("Argument 
`formcomponent` cannot be null");
+                       throw new IllegalArgumentException("Component argument 
cannot be null");
                }
-               this.fc = formcomponent;
-               formcomponent.setOutputMarkupId(true);
+               this.component = component;
+               component.setOutputMarkupId(true);
        }
 
        protected void onComponentTag(ComponentTag tag)
        {
                super.onComponentTag(tag);
-
                checkComponentTag(tag, "label");
-               tag.put("for", fc.getMarkupId());
+               tag.put("for", component.getMarkupId());
        }
 
 
        /**
-        * Returns form component bound to this label
+        * Returns form component bound to this label.
+        * This will be a FormComponent, a Radio or a Check.
         * 
         * @return form component
         */
-       public FormComponent getFormComponent()
+       public Component getFormComponent()
        {
-               return fc;
+               return component;
        }
 }


Reply via email to