Reorder Front Scripts?
Richard Gaskin
ambassador at fourthworld.com
Mon Jul 24 15:37:19 EDT 2006
Ken Ray wrote:
> On 7/21/06 11:44 PM, "Scott Rossi" <scott at tactilemedia.com> wrote:
>
>> Is there a way to change the order of front scripts without
>> removing/reinserting scripts?
>
> Not as far as I know, Scott.
>
>> It seems that Rev's inspector palette reinserts itself into the front every
>> time it is opened from the main menu and, because it apparently doesn't pass
>> all object manipulation messages, blocks front scripts I have that are used
>> for control layout.
>
> It should be a "good citizen" and pass them... perhaps the next rev of Rev
> would do that?
In general, yes, and I know one IDE that already does, at least most of
the time.
But one issue with IDE message passing comes up anytime someone
wants to make an app that uses the pointer tool: how the IDE should
handle mouse messages while the pointer tool is active?
SuperCard separates pointer- and browse-tool behavior with a distinct
suite of messages just for the pointer tool (pointerDown, pointerUp,
etc.). This is useful and convenient, allowing a separation of
behavior that works well since it's extremely rare that you'd ever want
the same behavior with the browse and pointer tools.
In contrast, Revolution has only one set of messages for both tools, and
to make matters more challenging the behavior of those messages is not
consistent between tools (for example, mouseDown is sent when you click
on a card away from controls with the browse tool, but not with the
pointer tool, mouseEnter and mouseLeave are never sent with the pointer
tool, etc.).
With only one set of messages, if the IDE passed these then clicking on
an object with the pointer tool to resize would also trigger any
mouseDown script in its message path.
You could write all of your scripts to check the tool before executing,
but that's a lot of work.
Simpler would be to have a separate set of message devoted to supporting
the pointer tool, as established long ago by SuperCard and requested for
Rev in BZ#2606:
<http://support.runrev.com/bugdatabase/show_bug.cgi?id=2606>
This is no panacea for message passing however, since those using the
pointer tool suite of messages would still need to be conscious of the
IDE's behavior and be prepared to purge IDE front- and backscripts which
trap them without passing.
But at least it isolates the scope of the problem to the subset of
developers making custom drawing environments -- a task so daunting in
Rev (esp,. compared to the simplicity of doing so in SC) that it's
currently only for advanced intermediate to expert developers anyway.
--
Richard Gaskin
Managing Editor, revJournal
_______________________________________________________
Rev tips, tutorials and more: http://www.revJournal.com
More information about the use-livecode
mailing list