Enable/disable Group enables/disables all children

Mark Waddingham mark at livecode.com
Fri Apr 27 13:04:32 EDT 2018


On 2018-04-27 16:57, Bob Sneidar via use-livecode wrote:
> Darned if you do, darned if you don't. I get it. Still, looking at
> your example, it begs the question, what was the state of the enabled
> property for the individual objects before the parent group was
> disabled? The current situation is exactly what your objection
> describes. :-)

You can't tell what the state of disabled was of a child before the 
owning group's disabled property is set - that's the problem.

Imagine we change this without any regard for backwards compatibility to 
the preferred (correct!) model. Then when you open your stack, setting 
the 'disabled' of a group to 'false' will then *only* affect the 
disabled property of the group - not the children. All the children will 
remain with disabled 'true' (as it won't be setting the property any 
more on children).

This means that everyone would have to go through every card of every 
single stack which has groups which are disabled, which contain children 
which should be enabled/disabled with the group's enablement and change 
those child controls disabled property to false (as they will be true at 
present).

I get the feeling that a lot of people have a lot of stacks where the 
group enablement behavior is fine (as they do want their child controls 
to enable/disable with the group), and so they won't have scripted 
anything, so they will find a lot of disabled controls!

Warmest Regards,

Mark.

P.S. The engine change (from memory) is relatively straight-forward I 
think - we already have visible as a pattern - so the main issue is 
migration forward - which could be a lot of work for large stacks which 
might have a mixture of scripted and 'by-engine' enablement/disablement.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list