click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James P Brown (JIRA)" <>
Subject [JIRA] Commented: (CLK-497) FieldSet isDisabled and isReadonly methods broken
Date Mon, 02 Mar 2009 20:00:56 GMT


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.



> FieldSet isDisabled and isReadonly methods broken
> -------------------------------------------------
>                 Key: CLK-497
>                 URL:
>             Project: Click
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.0.1
>         Environment: Windows XP, Java 6
>            Reporter: James P Brown
>         Attachments:
> 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.

View raw message