[ 
http://issues.apache.org/click/browse/CLK-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11715#action_11715
 ] 

James P Brown commented on CLK-497:
-----------------------------------

Thank you for the prompt reply, again. I can respect the view that you would 
not want to add more to the framework than is necessary.

However, I'm not sure I see how changing the behaviour of 
setDisabled/setReadonly would make this use case work. As I see it, it is the 
behaviour of the Field isDisabled/isReadonly methods that determine this 
cascading behaviour. Children ask for the parent component, check their type, 
decide if they are Fieldset or Form, and then ask their state. My 
interpretation is that this would require changing the Field code, which I 
thought would be hard to manage and maintain, or derive new types from all of 
the existing components, which seemed redundant.

For that reason, I suggested a change at the framework level.

Regards,

James



> FieldSet isDisabled and isReadonly methods broken
> -------------------------------------------------
>
>                 Key: CLK-497
>                 URL: http://issues.apache.org/click/browse/CLK-497
>             Project: Click
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.0.1
>         Environment: Windows XP, Java 6
>            Reporter: James P Brown
>         Attachments: FieldSet_isDisabled_isReadonly_bug.zip
>
>
> The FieldSet is supposed to force its child components to be 
> disabled/readonly when it is set to disabled/readonly. I did not observe this 
> when I attempted to create a FieldSet with a child component.
> I believe the code to support this is not working as anticipated. The Field 
> class has modified methods for isDisabled/isReadonly that specifically check 
> if the parent component (i.e. container) is an instanceof FieldSet (or Form, 
> which is working AFAIK). The problem is that the design of FieldSet relies on 
> an instance of its private inner class FieldSet.InnerContainerField for 
> managing those child elements. When I step through the code in debug mode, 
> the class instance is of this inner class type (InnerContainerField) not 
> FieldSet. Since InnerContainerField is not a type of FieldSet, the subsequent 
> logic is ignored.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to