Do script-only stacks support "chained" behaviors?

classic Classic list List threaded Threaded
39 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
This page http://livecode.wikia.com/wiki/Behavior describes "chained"
behaviors, saying that button 1 can have button 2 as its behavior, and if
button 2 has button 3 as *its* behavior, then button 1 will have access to
the handlers in both button 2 and button 3.

This seems to work in LC 8.1.8, although chained behaviors seem to be
somewhat brittle -- I'm seeing that sometimes closing and opening a stack
causes button 1 in the above example to inherit from button 2, but not from
button 3.

SO: is there a way to support this for script-only stacks? As far as I
know, script-only stacks only support defining the name and script of the
stack, and no properties at all, i.e. no ability to set a behavior for the
script-only stack. So in the above example, button 3 could be replaced by a
script-only stack, but button 2 could not (without losing the inheritance
from button 3).

Is that correct?

gc
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
I believe they do, because I think Trevor is doing this with Levure.

On Sat, Jan 20, 2018 at 5:51 PM, Geoff Canyon via use-livecode <
[hidden email]> wrote:

> This page http://livecode.wikia.com/wiki/Behavior describes "chained"
> behaviors, saying that button 1 can have button 2 as its behavior, and if
> button 2 has button 3 as *its* behavior, then button 1 will have access to
> the handlers in both button 2 and button 3.
>
> This seems to work in LC 8.1.8, although chained behaviors seem to be
> somewhat brittle -- I'm seeing that sometimes closing and opening a stack
> causes button 1 in the above example to inherit from button 2, but not from
> button 3.
>
> SO: is there a way to support this for script-only stacks? As far as I
> know, script-only stacks only support defining the name and script of the
> stack, and no properties at all, i.e. no ability to set a behavior for the
> script-only stack. So in the above example, button 3 could be replaced by a
> script-only stack, but button 2 could not (without losing the inheritance
> from button 3).
>
> Is that correct?
>
> gc
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



--
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
On Sat, Jan 20, 2018 at 5:53 PM Mike Kerner via use-livecode <
[hidden email]> wrote:

> I believe they do, because I think Trevor is doing this with Levure.


You can’t specify the behavior property of a script only stack in the
script only stack itself. You have to assign the behavior of the script
only stack using code after the stack has been loaded into memory. The
behavior property setting won’t persist however.

Trevor DeVore
ScreenSteps

>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
Well that's too bad for anyone who's currently using chained behaviors and
wants to use source control (i.e. convert to script-only stacks).
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
There are also plenty of examples in the IDE - most of the palettes have
their own specific behavior chained to the generic palette behavior.

Most of them do something like the following handler:
on setAsBehavior pTarget dispatch "setAsBehavior" to stack
revIDEFrameBehavior() with the long id of this me set the behavior of
pTarget to the long id of this me end setAsBehavior

They then call the setAsBehavior handler on preOpenStack.

On Sun, Jan 21, 2018 at 12:14 AM Trevor DeVore via use-livecode <
[hidden email]> wrote:

> On Sat, Jan 20, 2018 at 5:53 PM Mike Kerner via use-livecode <
> [hidden email]> wrote:
>
> > I believe they do, because I think Trevor is doing this with Levure.
>
>
> You can’t specify the behavior property of a script only stack in the
> script only stack itself. You have to assign the behavior of the script
> only stack using code after the stack has been loaded into memory. The
> behavior property setting won’t persist however.
>
> Trevor DeVore
> ScreenSteps
>
> >
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
On Sat, Jan 20, 2018 at 6:43 PM Geoff Canyon <[hidden email]> wrote:

> Well that's too bad for anyone who's currently using chained behaviors and
> wants to use source control (i.e. convert to script-only stacks).
>
Yes it is.

For now I just set the chained behaviors for any script only stacks that
require them when the app starts up. Not ideal, but worth it in order to
manage the scripts with source control.

Trevor DeVore
ScreenSteps
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
I should clarify: say you want stack 1 to have behavior stack 2 which has
behavior stack 3.

In the IDE we commonly do:
Stack 1:

on preOpenStack
   dispatch "setAsBehavior" to stack "Stack 2" with the long id of me
end preOpenStack

Stack 2:
on setAsBehavior pTarget
   dispatch "setAsBehavior" to stack "Stack 3" with the long id of this me
   set the behavior of pTarget to the long id of this me
end setAsBehavior

Stack 3:
on setAsBehavior pTarget
   set the behavior of pTarget to the long id of this me
end setAsBehavior

On Sun, Jan 21, 2018 at 1:12 AM Ali Lloyd <[hidden email]> wrote:

> There are also plenty of examples in the IDE - most of the palettes have
> their own specific behavior chained to the generic palette behavior.
>
> Most of them do something like the following handler:
> on setAsBehavior pTarget dispatch "setAsBehavior" to stack
> revIDEFrameBehavior() with the long id of this me set the behavior of
> pTarget to the long id of this me end setAsBehavior
>
> They then call the setAsBehavior handler on preOpenStack.
>
> On Sun, Jan 21, 2018 at 12:14 AM Trevor DeVore via use-livecode <
> [hidden email]> wrote:
>
>> On Sat, Jan 20, 2018 at 5:53 PM Mike Kerner via use-livecode <
>> [hidden email]> wrote:
>>
>> > I believe they do, because I think Trevor is doing this with Levure.
>>
>>
>> You can’t specify the behavior property of a script only stack in the
>> script only stack itself. You have to assign the behavior of the script
>> only stack using code after the stack has been loaded into memory. The
>> behavior property setting won’t persist however.
>>
>> Trevor DeVore
>> ScreenSteps
>>
>> >
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
I get that it can be done, I just hesitate to start monkeying with people's
scripts like that in Navigator (which is going to have a conversion
function in the next update). For now I'm thinking that I just skip
anything with chained behaviors, unless someone has a better suggestion.

On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
[hidden email]> wrote:
>
> For now I just set the chained behaviors for any script only stacks that
> require them when the app starts up. Not ideal, but worth it in order to
> manage the scripts with source control.
>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
Dumb question, Geoff, are you going to embed/call Scriptifier to achieve
that or are you going to do something else?

On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
[hidden email]> wrote:

> I get that it can be done, I just hesitate to start monkeying with people's
> scripts like that in Navigator (which is going to have a conversion
> function in the next update). For now I'm thinking that I just skip
> anything with chained behaviors, unless someone has a better suggestion.
>
> On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> [hidden email]> wrote:
> >
> > For now I just set the chained behaviors for any script only stacks that
> > require them when the app starts up. Not ideal, but worth it in order to
> > manage the scripts with source control.
> >
> >
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



--
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
I built my own, for several reasons, among them:

1. In the context of Navigator, I needed to support creating stack
behaviors for an arbitrary collection of controls, rather than recursing
through a stack.
2. I figured that Monte and I would approach the task differently, and we
did on several fronts.
3. I thought it would be fun to code. (and it was, I royally borked my
first implementation in the product definition phase)

I just ran my first test, and it seems to be working.

I'm going to build some more tests for it, then release it with stern
warnings that anyone using it on a non-backed-up project is foolish, and I
am not responsible for the horrible things they do with it. It should be
available sometime tomorrow.

gc

On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
[hidden email]> wrote:

> Dumb question, Geoff, are you going to embed/call Scriptifier to achieve
> that or are you going to do something else?
>
> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
> [hidden email]> wrote:
>
> > I get that it can be done, I just hesitate to start monkeying with
> people's
> > scripts like that in Navigator (which is going to have a conversion
> > function in the next update). For now I'm thinking that I just skip
> > anything with chained behaviors, unless someone has a better suggestion.
> >
> > On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> > [hidden email]> wrote:
> > >
> > > For now I just set the chained behaviors for any script only stacks
> that
> > > require them when the app starts up. Not ideal, but worth it in order
> to
> > > manage the scripts with source control.
> > >
> > >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
>
>
>
> --
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>    and did a little diving.
> And God said, "This is good."
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
At a fundamental level (unless I'm misreading it) Scriptifier parses a
whole stack and looks for objects with a script and no behavior, and turns
them into an object with no script and a script-only stack behavior.
Navigator will work on whatever controls you tell it to, and will look for
objects with a script and no behavior, and turn them into an object with no
script and a script-only stack behavior, but it will also find objects with
a button behavior (that does not itself have a behavior), and create a
script-only stack with that button's script, and set those objects'
behavior to the resulting stacks (and the original button, so if there are
unconverted controls, they'll still work. I'm definitely going to have to
add an "and enclosed controls" option in Navigator. There are several other
differences, as there always will be when two different people look at a
problem.

On Sat, Jan 20, 2018 at 11:01 PM, Geoff Canyon <[hidden email]> wrote:

> I built my own, for several reasons, among them:
>
> 1. In the context of Navigator, I needed to support creating stack
> behaviors for an arbitrary collection of controls, rather than recursing
> through a stack.
> 2. I figured that Monte and I would approach the task differently, and we
> did on several fronts.
> 3. I thought it would be fun to code. (and it was, I royally borked my
> first implementation in the product definition phase)
>
> I just ran my first test, and it seems to be working.
>
> I'm going to build some more tests for it, then release it with stern
> warnings that anyone using it on a non-backed-up project is foolish, and I
> am not responsible for the horrible things they do with it. It should be
> available sometime tomorrow.
>
> gc
>
> On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
> [hidden email]> wrote:
>
>> Dumb question, Geoff, are you going to embed/call Scriptifier to achieve
>> that or are you going to do something else?
>>
>> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
>> [hidden email]> wrote:
>>
>> > I get that it can be done, I just hesitate to start monkeying with
>> people's
>> > scripts like that in Navigator (which is going to have a conversion
>> > function in the next update). For now I'm thinking that I just skip
>> > anything with chained behaviors, unless someone has a better suggestion.
>> >
>> > On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
>> > [hidden email]> wrote:
>> > >
>> > > For now I just set the chained behaviors for any script only stacks
>> that
>> > > require them when the app starts up. Not ideal, but worth it in order
>> to
>> > > manage the scripts with source control.
>> > >
>> > >
>> > _______________________________________________
>> > use-livecode mailing list
>> > [hidden email]
>> > Please visit this url to subscribe, unsubscribe and manage your
>> > subscription preferences:
>> > http://lists.runrev.com/mailman/listinfo/use-livecode
>> >
>>
>>
>>
>> --
>> On the first day, God created the heavens and the Earth
>> On the second day, God created the oceans.
>> On the third day, God put the animals on hold for a few hours,
>>    and did a little diving.
>> And God said, "This is good."
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
As long as you're at it, it would be cool if you added an option to
organize the SOS's the way Levure would.  I was working on Scriptifier to
do the same thing, but I haven't gotten around to finishing it.  If
Navigator does it, then I can just stop fiddling with my hack.

On Sun, Jan 21, 2018 at 2:28 AM, Geoff Canyon via use-livecode <
[hidden email]> wrote:

> At a fundamental level (unless I'm misreading it) Scriptifier parses a
> whole stack and looks for objects with a script and no behavior, and turns
> them into an object with no script and a script-only stack behavior.
> Navigator will work on whatever controls you tell it to, and will look for
> objects with a script and no behavior, and turn them into an object with no
> script and a script-only stack behavior, but it will also find objects with
> a button behavior (that does not itself have a behavior), and create a
> script-only stack with that button's script, and set those objects'
> behavior to the resulting stacks (and the original button, so if there are
> unconverted controls, they'll still work. I'm definitely going to have to
> add an "and enclosed controls" option in Navigator. There are several other
> differences, as there always will be when two different people look at a
> problem.
>
> On Sat, Jan 20, 2018 at 11:01 PM, Geoff Canyon <[hidden email]> wrote:
>
> > I built my own, for several reasons, among them:
> >
> > 1. In the context of Navigator, I needed to support creating stack
> > behaviors for an arbitrary collection of controls, rather than recursing
> > through a stack.
> > 2. I figured that Monte and I would approach the task differently, and we
> > did on several fronts.
> > 3. I thought it would be fun to code. (and it was, I royally borked my
> > first implementation in the product definition phase)
> >
> > I just ran my first test, and it seems to be working.
> >
> > I'm going to build some more tests for it, then release it with stern
> > warnings that anyone using it on a non-backed-up project is foolish, and
> I
> > am not responsible for the horrible things they do with it. It should be
> > available sometime tomorrow.
> >
> > gc
> >
> > On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
> > [hidden email]> wrote:
> >
> >> Dumb question, Geoff, are you going to embed/call Scriptifier to achieve
> >> that or are you going to do something else?
> >>
> >> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
> >> [hidden email]> wrote:
> >>
> >> > I get that it can be done, I just hesitate to start monkeying with
> >> people's
> >> > scripts like that in Navigator (which is going to have a conversion
> >> > function in the next update). For now I'm thinking that I just skip
> >> > anything with chained behaviors, unless someone has a better
> suggestion.
> >> >
> >> > On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> >> > [hidden email]> wrote:
> >> > >
> >> > > For now I just set the chained behaviors for any script only stacks
> >> that
> >> > > require them when the app starts up. Not ideal, but worth it in
> order
> >> to
> >> > > manage the scripts with source control.
> >> > >
> >> > >
> >> > _______________________________________________
> >> > use-livecode mailing list
> >> > [hidden email]
> >> > Please visit this url to subscribe, unsubscribe and manage your
> >> > subscription preferences:
> >> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >> >
> >>
> >>
> >>
> >> --
> >> On the first day, God created the heavens and the Earth
> >> On the second day, God created the oceans.
> >> On the third day, God put the animals on hold for a few hours,
> >>    and did a little diving.
> >> And God said, "This is good."
> >> _______________________________________________
> >> use-livecode mailing list
> >> [hidden email]
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >
> >
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



--
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
Cool, scriptifier was/is just a tool I wrote because it took about the same about of time to write as to tediously scriptify a stack so I thought it would be a win in the end. If anyone is keen to make it more robust or start from scratch then have at it. FWIW it would probably be a good idea to check scriptified scripts for the conditional messages that are only sent if an object has them (idle, mouseStillDown etc) and warn about scriptifying those. We got caught with idle in an old script in an IDE stack once.

Cheers

Monte

> On 21 Jan 2018, at 6:28 pm, Geoff Canyon via use-livecode <[hidden email]> wrote:
>
> At a fundamental level (unless I'm misreading it) Scriptifier parses a
> whole stack and looks for objects with a script and no behavior, and turns
> them into an object with no script and a script-only stack behavior.
> Navigator will work on whatever controls you tell it to, and will look for
> objects with a script and no behavior, and turn them into an object with no
> script and a script-only stack behavior, but it will also find objects with
> a button behavior (that does not itself have a behavior), and create a
> script-only stack with that button's script, and set those objects'
> behavior to the resulting stacks (and the original button, so if there are
> unconverted controls, they'll still work. I'm definitely going to have to
> add an "and enclosed controls" option in Navigator. There are several other
> differences, as there always will be when two different people look at a
> problem.
>
> On Sat, Jan 20, 2018 at 11:01 PM, Geoff Canyon <[hidden email]> wrote:
>
>> I built my own, for several reasons, among them:
>>
>> 1. In the context of Navigator, I needed to support creating stack
>> behaviors for an arbitrary collection of controls, rather than recursing
>> through a stack.
>> 2. I figured that Monte and I would approach the task differently, and we
>> did on several fronts.
>> 3. I thought it would be fun to code. (and it was, I royally borked my
>> first implementation in the product definition phase)
>>
>> I just ran my first test, and it seems to be working.
>>
>> I'm going to build some more tests for it, then release it with stern
>> warnings that anyone using it on a non-backed-up project is foolish, and I
>> am not responsible for the horrible things they do with it. It should be
>> available sometime tomorrow.
>>
>> gc
>>
>> On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
>> [hidden email]> wrote:
>>
>>> Dumb question, Geoff, are you going to embed/call Scriptifier to achieve
>>> that or are you going to do something else?
>>>
>>> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
>>> [hidden email]> wrote:
>>>
>>>> I get that it can be done, I just hesitate to start monkeying with
>>> people's
>>>> scripts like that in Navigator (which is going to have a conversion
>>>> function in the next update). For now I'm thinking that I just skip
>>>> anything with chained behaviors, unless someone has a better suggestion.
>>>>
>>>> On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
>>>> [hidden email]> wrote:
>>>>>
>>>>> For now I just set the chained behaviors for any script only stacks
>>> that
>>>>> require them when the app starts up. Not ideal, but worth it in order
>>> to
>>>>> manage the scripts with source control.
>>>>>
>>>>>
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> [hidden email]
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>
>>>
>>>
>>>
>>> --
>>> On the first day, God created the heavens and the Earth
>>> On the second day, God created the oceans.
>>> On the third day, God put the animals on hold for a few hours,
>>>   and did a little diving.
>>> And God said, "This is good."
>>> _______________________________________________
>>> use-livecode mailing list
>>> [hidden email]
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>>
>>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
That's a nice idea about the warnings.

On Sun, Jan 21, 2018 at 3:30 PM, Monte Goulding via use-livecode <
[hidden email]> wrote:

> Cool, scriptifier was/is just a tool I wrote because it took about the
> same about of time to write as to tediously scriptify a stack so I thought
> it would be a win in the end. If anyone is keen to make it more robust or
> start from scratch then have at it. FWIW it would probably be a good idea
> to check scriptified scripts for the conditional messages that are only
> sent if an object has them (idle, mouseStillDown etc) and warn about
> scriptifying those. We got caught with idle in an old script in an IDE
> stack once.
>
> Cheers
>
> Monte
>
> > On 21 Jan 2018, at 6:28 pm, Geoff Canyon via use-livecode <
> [hidden email]> wrote:
> >
> > At a fundamental level (unless I'm misreading it) Scriptifier parses a
> > whole stack and looks for objects with a script and no behavior, and
> turns
> > them into an object with no script and a script-only stack behavior.
> > Navigator will work on whatever controls you tell it to, and will look
> for
> > objects with a script and no behavior, and turn them into an object with
> no
> > script and a script-only stack behavior, but it will also find objects
> with
> > a button behavior (that does not itself have a behavior), and create a
> > script-only stack with that button's script, and set those objects'
> > behavior to the resulting stacks (and the original button, so if there
> are
> > unconverted controls, they'll still work. I'm definitely going to have to
> > add an "and enclosed controls" option in Navigator. There are several
> other
> > differences, as there always will be when two different people look at a
> > problem.
> >
> > On Sat, Jan 20, 2018 at 11:01 PM, Geoff Canyon <[hidden email]>
> wrote:
> >
> >> I built my own, for several reasons, among them:
> >>
> >> 1. In the context of Navigator, I needed to support creating stack
> >> behaviors for an arbitrary collection of controls, rather than recursing
> >> through a stack.
> >> 2. I figured that Monte and I would approach the task differently, and
> we
> >> did on several fronts.
> >> 3. I thought it would be fun to code. (and it was, I royally borked my
> >> first implementation in the product definition phase)
> >>
> >> I just ran my first test, and it seems to be working.
> >>
> >> I'm going to build some more tests for it, then release it with stern
> >> warnings that anyone using it on a non-backed-up project is foolish,
> and I
> >> am not responsible for the horrible things they do with it. It should be
> >> available sometime tomorrow.
> >>
> >> gc
> >>
> >> On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
> >> [hidden email]> wrote:
> >>
> >>> Dumb question, Geoff, are you going to embed/call Scriptifier to
> achieve
> >>> that or are you going to do something else?
> >>>
> >>> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
> >>> [hidden email]> wrote:
> >>>
> >>>> I get that it can be done, I just hesitate to start monkeying with
> >>> people's
> >>>> scripts like that in Navigator (which is going to have a conversion
> >>>> function in the next update). For now I'm thinking that I just skip
> >>>> anything with chained behaviors, unless someone has a better
> suggestion.
> >>>>
> >>>> On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> >>>> [hidden email]> wrote:
> >>>>>
> >>>>> For now I just set the chained behaviors for any script only stacks
> >>> that
> >>>>> require them when the app starts up. Not ideal, but worth it in order
> >>> to
> >>>>> manage the scripts with source control.
> >>>>>
> >>>>>
> >>>> _______________________________________________
> >>>> use-livecode mailing list
> >>>> [hidden email]
> >>>> Please visit this url to subscribe, unsubscribe and manage your
> >>>> subscription preferences:
> >>>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> On the first day, God created the heavens and the Earth
> >>> On the second day, God created the oceans.
> >>> On the third day, God put the animals on hold for a few hours,
> >>>   and did a little diving.
> >>> And God said, "This is good."
> >>> _______________________________________________
> >>> use-livecode mailing list
> >>> [hidden email]
> >>> Please visit this url to subscribe, unsubscribe and manage your
> >>> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>>
> >>
> >>
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
How does Levure organize SOS's? The present setup already allows the user
to specify a target folder into which to place the newly created stacks,
and correctly sets the relative path in the stackfiles property.

On Sun, Jan 21, 2018 at 1:34 PM, Mike Kerner via use-livecode <
[hidden email]> wrote:

> As long as you're at it, it would be cool if you added an option to
> organize the SOS's the way Levure would.  I was working on Scriptifier to
> do the same thing, but I haven't gotten around to finishing it.  If
> Navigator does it, then I can just stop fiddling with my hack.
>
> On Sun, Jan 21, 2018 at 2:28 AM, Geoff Canyon via use-livecode <
> [hidden email]> wrote:
>
> > At a fundamental level (unless I'm misreading it) Scriptifier parses a
> > whole stack and looks for objects with a script and no behavior, and
> turns
> > them into an object with no script and a script-only stack behavior.
> > Navigator will work on whatever controls you tell it to, and will look
> for
> > objects with a script and no behavior, and turn them into an object with
> no
> > script and a script-only stack behavior, but it will also find objects
> with
> > a button behavior (that does not itself have a behavior), and create a
> > script-only stack with that button's script, and set those objects'
> > behavior to the resulting stacks (and the original button, so if there
> are
> > unconverted controls, they'll still work. I'm definitely going to have to
> > add an "and enclosed controls" option in Navigator. There are several
> other
> > differences, as there always will be when two different people look at a
> > problem.
> >
> > On Sat, Jan 20, 2018 at 11:01 PM, Geoff Canyon <[hidden email]>
> wrote:
> >
> > > I built my own, for several reasons, among them:
> > >
> > > 1. In the context of Navigator, I needed to support creating stack
> > > behaviors for an arbitrary collection of controls, rather than
> recursing
> > > through a stack.
> > > 2. I figured that Monte and I would approach the task differently, and
> we
> > > did on several fronts.
> > > 3. I thought it would be fun to code. (and it was, I royally borked my
> > > first implementation in the product definition phase)
> > >
> > > I just ran my first test, and it seems to be working.
> > >
> > > I'm going to build some more tests for it, then release it with stern
> > > warnings that anyone using it on a non-backed-up project is foolish,
> and
> > I
> > > am not responsible for the horrible things they do with it. It should
> be
> > > available sometime tomorrow.
> > >
> > > gc
> > >
> > > On Sat, Jan 20, 2018 at 7:16 PM, Mike Kerner via use-livecode <
> > > [hidden email]> wrote:
> > >
> > >> Dumb question, Geoff, are you going to embed/call Scriptifier to
> achieve
> > >> that or are you going to do something else?
> > >>
> > >> On Sat, Jan 20, 2018 at 8:25 PM, Geoff Canyon via use-livecode <
> > >> [hidden email]> wrote:
> > >>
> > >> > I get that it can be done, I just hesitate to start monkeying with
> > >> people's
> > >> > scripts like that in Navigator (which is going to have a conversion
> > >> > function in the next update). For now I'm thinking that I just skip
> > >> > anything with chained behaviors, unless someone has a better
> > suggestion.
> > >> >
> > >> > On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> > >> > [hidden email]> wrote:
> > >> > >
> > >> > > For now I just set the chained behaviors for any script only
> stacks
> > >> that
> > >> > > require them when the app starts up. Not ideal, but worth it in
> > order
> > >> to
> > >> > > manage the scripts with source control.
> > >> > >
> > >> > >
> > >> > _______________________________________________
> > >> > use-livecode mailing list
> > >> > [hidden email]
> > >> > Please visit this url to subscribe, unsubscribe and manage your
> > >> > subscription preferences:
> > >> > http://lists.runrev.com/mailman/listinfo/use-livecode
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> On the first day, God created the heavens and the Earth
> > >> On the second day, God created the oceans.
> > >> On the third day, God put the animals on hold for a few hours,
> > >>    and did a little diving.
> > >> And God said, "This is good."
> > >> _______________________________________________
> > >> use-livecode mailing list
> > >> [hidden email]
> > >> Please visit this url to subscribe, unsubscribe and manage your
> > >> subscription preferences:
> > >> http://lists.runrev.com/mailman/listinfo/use-livecode
> > >>
> > >
> > >
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
>
>
>
> --
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>    and did a little diving.
> And God said, "This is good."
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
It occurs to me that this isn't as much of a problem as I thought -- any
button being converted to a stack is highly unlikely to have an openstack
handler already in it, and therefore it would be safe to add one and
include setting the behavior of the script-only stack to the appropriate
stack up the chain. If there were already an openstack handler in the
chain, then the conversion process could stop at that point, or perhaps log
the error to the user. Unless I'm missing something?

On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
[hidden email]> wrote:

> On Sat, Jan 20, 2018 at 6:43 PM Geoff Canyon <[hidden email]> wrote:
>
> > Well that's too bad for anyone who's currently using chained behaviors
> and
> > wants to use source control (i.e. convert to script-only stacks).
> >
> Yes it is.
>
> For now I just set the chained behaviors for any script only stacks that
> require them when the app starts up. Not ideal, but worth it in order to
> manage the scripts with source control.
>
> Trevor DeVore
> ScreenSteps
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
Also, status update: grr. I'm finding that the answer dialog I'm using to
warn the user that the script conversion process is dangerous and to work
on a backup is causing my script to die, no warning, and no error message.
The exact same script *not* running in Navigator works fine. Answer dialogs
in other Navigator handlers also work fine. I have zero idea why this might
be. Other than this I'd be testing away and releasing :-(

On Sun, Jan 21, 2018 at 10:19 PM, Geoff Canyon <[hidden email]> wrote:

> It occurs to me that this isn't as much of a problem as I thought -- any
> button being converted to a stack is highly unlikely to have an openstack
> handler already in it, and therefore it would be safe to add one and
> include setting the behavior of the script-only stack to the appropriate
> stack up the chain. If there were already an openstack handler in the
> chain, then the conversion process could stop at that point, or perhaps log
> the error to the user. Unless I'm missing something?
>
> On Sat, Jan 20, 2018 at 5:15 PM, Trevor DeVore via use-livecode <
> [hidden email]> wrote:
>
>> On Sat, Jan 20, 2018 at 6:43 PM Geoff Canyon <[hidden email]> wrote:
>>
>> > Well that's too bad for anyone who's currently using chained behaviors
>> and
>> > wants to use source control (i.e. convert to script-only stacks).
>> >
>> Yes it is.
>>
>> For now I just set the chained behaviors for any script only stacks that
>> require them when the app starts up. Not ideal, but worth it in order to
>> manage the scripts with source control.
>>
>> Trevor DeVore
>> ScreenSteps
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
Double-grrr. I put the warning dialogs in the menuPick handler instead of
the conversion handler, and it works fine. That's *not* where the warnings
should be, since it means that it's possible to call the conversion handler
and receive no warnings. I'm testing further. Once I'm comfortable enough
to try it on (a copy of) Navigator itself, I'll post an update.

gc

On Sun, Jan 21, 2018 at 10:22 PM, Geoff Canyon <[hidden email]> wrote:

> Also, status update: grr. I'm finding that the answer dialog I'm using to
> warn the user that the script conversion process is dangerous and to work
> on a backup is causing my script to die, no warning, and no error message.
> The exact same script *not* running in Navigator works fine. Answer dialogs
> in other Navigator handlers also work fine. I have zero idea why this might
> be. Other than this I'd be testing away and releasing :-(
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
Another key difference in our implementations that I find fascinating: you
create script-only stacks by creating the stacks, then saving the stacks. I
created them by constructing a variable with the text contents of the
stacks, then writing that out to files with put into url etc.

On Sun, Jan 21, 2018 at 3:30 PM, Monte Goulding via use-livecode <
[hidden email]> wrote:

> Cool, scriptifier was/is just a tool I wrote because it took about the
> same about of time to write as to tediously scriptify a stack so I thought
> it would be a win in the end. If anyone is keen to make it more robust or
> start from scratch then have at it. FWIW it would probably be a good idea
> to check scriptified scripts for the conditional messages that are only
> sent if an object has them (idle, mouseStillDown etc) and warn about
> scriptifying those. We got caught with idle in an old script in an IDE
> stack once.
>
> Cheers
>
> Monte
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Do script-only stacks support "chained" behaviors?

Matthias Rebbe via use-livecode
In reply to this post by Matthias Rebbe via use-livecode
Heisenbug -- as far as I remember the last twenty minutes, the sequence of
edits was:

1. Answer commands die without warning
2. Wrap the problematic answer commands in a try...catch structure.
3. Run the command; get no error from the try, and the command runs all the
way through.
4. Comment out the try...catch structure, leaving the answer commands in
place.
5. Run the command; no errors, everything works fine.

So...something changed, obviously, but I have no idea what. Testing now...

On Sun, Jan 21, 2018 at 10:35 PM, Geoff Canyon <[hidden email]> wrote:

> Double-grrr. I put the warning dialogs in the menuPick handler instead of
> the conversion handler, and it works fine. That's *not* where the warnings
> should be, since it means that it's possible to call the conversion handler
> and receive no warnings. I'm testing further. Once I'm comfortable enough
> to try it on (a copy of) Navigator itself, I'll post an update.
>
> gc
>
> On Sun, Jan 21, 2018 at 10:22 PM, Geoff Canyon <[hidden email]> wrote:
>
>> Also, status update: grr. I'm finding that the answer dialog I'm using to
>> warn the user that the script conversion process is dangerous and to work
>> on a backup is causing my script to die, no warning, and no error message.
>> The exact same script *not* running in Navigator works fine. Answer dialogs
>> in other Navigator handlers also work fine. I have zero idea why this might
>> be. Other than this I'd be testing away and releasing :-(
>>
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
12