Re: CheckBoxTreeItem behavior - independent property

2023-01-04 Thread Nir Lisker
I would like to create an issue for changing the behavior of the
independent property to be independent both as a source and as a target.
That is, an independent item would no longer update when a parent or child
of it is updated.

Can I go forward with it or is there a risk of breaking current code that
makes it not worth doing this? To me it looks like a bug, but the docs
don't say anything about this point.

On Sat, Nov 19, 2022 at 9:28 AM Nir Lisker  wrote:

> Hi,
>
> Another issue I stumbled across is the usage of the Independent property
> on CheckBoxTreeItem. The docs read:
>
> A BooleanProperty used to represent the independent state of this
>> CheckBoxTreeItem. The independent state is used to represent whether
>> changes to a single CheckBoxTreeItem should influence the state of its
>> parent and children.
>
>
> By default, the independent property is false, which means that when a
>> CheckBoxTreeItem has state changes to the selected or indeterminate
>> properties, the state of related CheckBoxTreeItems will possibly be
>> changed. If the independent property is set to true, the state of related
>> CheckBoxTreeItems will never change.
>
>
> It makes it clear that changes to this checkbox don't influence its
> children/parents, and in terms of usage, it means that clicking on the
> checkbox doesn't change the state of its parents/children. However:
>
> 1. Does it also include stopping the propagation of selection updates
> through it? If an independent item has a child and a parent, and the parent
> is selected, does the item stop its child from being selected? I think that
> the answer is yes, but I want to make sure the independent property wasn't
> just meant for direct clicks or direct changes to its own properties alone.
>
> 2. Do the parents/children affect this item? The docs only mention one
> direction: item -> parents/children, it doesn't mention parents/children ->
> item. As it stands currently, the item seems to be affected by other
> selections. I find it odd because this doesn't make the item really
> independent, and I can't think of a use case for this one-sided independent
> behavior.
>
> In any case, I think that the documentation should clarify these points,
> so I would like to know what the behavior should be.
>
> - Nir
>


CheckBoxTreeItem behavior - independent property

2022-11-18 Thread Nir Lisker
Hi,

Another issue I stumbled across is the usage of the Independent property
on CheckBoxTreeItem. The docs read:

A BooleanProperty used to represent the independent state of this
> CheckBoxTreeItem. The independent state is used to represent whether
> changes to a single CheckBoxTreeItem should influence the state of its
> parent and children.


By default, the independent property is false, which means that when a
> CheckBoxTreeItem has state changes to the selected or indeterminate
> properties, the state of related CheckBoxTreeItems will possibly be
> changed. If the independent property is set to true, the state of related
> CheckBoxTreeItems will never change.


It makes it clear that changes to this checkbox don't influence its
children/parents, and in terms of usage, it means that clicking on the
checkbox doesn't change the state of its parents/children. However:

1. Does it also include stopping the propagation of selection updates
through it? If an independent item has a child and a parent, and the parent
is selected, does the item stop its child from being selected? I think that
the answer is yes, but I want to make sure the independent property wasn't
just meant for direct clicks or direct changes to its own properties alone.

2. Do the parents/children affect this item? The docs only mention one
direction: item -> parents/children, it doesn't mention parents/children ->
item. As it stands currently, the item seems to be affected by other
selections. I find it odd because this doesn't make the item really
independent, and I can't think of a use case for this one-sided independent
behavior.

In any case, I think that the documentation should clarify these points, so
I would like to know what the behavior should be.

- Nir