Bob Sneidar wrote:

>> On Jul 20, 2018, at 15:31 , Richard Gaskin wrote:
>>
>> IIRC Bernd's suggestion was for global scope only, yes?  That is, it
>> swaps the positions of the two bottom scripts shown below, and
>> affects all DGs running in the session.
>
> Actually no that is why I was saying the syntax was the complete
> opposite of what you'd expect. Bernd's solution actually produces the
> results you see in your diagram. The custom behavior is inserted
> between the datagrid and the default behavior. Odd, huh?

Quite, because here's what I found in Bernd's post:

   set the behavior of the behavior of the behavior of group \
     "datagrid 1" to the long id of button "myButtonName"

<http://lists.runrev.com/pipermail/use-livecode/2018-July/248461.html>


This is a normal setup:

     [ DataGrid ]
           |
           V
[ Standard DG Behavior ]


The behavior of grp "DataGrid 1" is the standard LC-supplied DG script.

If we set the behavior of the LC-supplied DG script, we get the opposite of my diagram:

     [ DataGrid ]
           |
           V
[ Standard DG Behavior ]
           |
           V
   [ Custom Behavior ]


That would produce an overloading of global scope, since the Standard DG behavior drives all DGs, and adding a custom behavior to it would then also apply to all DGs.

For reference, here's the diagram I've been using to show the desired outcome of limited scope:

      [ DataGrid ]
           |
           V
   [ Custom Behavior ]
           |
           V
[ Standard DG Behavior ]


What am I missing?

Are we talking about the same thing, but I'm writing this where the message path flows down and you're missing the arrows and conceptualizing this as messages flowing up?

If not that, what is it I'm not seeing?

---

On further consideration, there's something even odder in my understanding of Bernd's script. Let me rewrite it with line breaks for clarity:

command:    set the behavior \
obj3:          of the behavior \
obj2:          of the behavior \
obj1:          of group "datagrid 1" \
value:            to the long id of button "myButtonName"

That's a three-deep nesting where AFAIK there are only two objects.

A group named "DataGrid 1" is obj1 there.

It's original behavior is the LC-supplied "Standard DG Behavior" - that's obj2.

What is obj3, the object assigned as the behavior to the "Standard DG Behavior"?

Can't decide if I've had too much coffee here or too little. :)

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 ____________________________________________________________________
 ambassa...@fourthworld.com                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to