Bruce Lewis wrote:

> The Dictionary says:
>
> "A script inserted into the back receives messages after all objects in
> the
> message path, just before the engine itself receives the message."
>
> Does this mean that it receives messages after the Revolution user
> interface. If so, it could interfere with the user interface.

The backscripts receive message in the order that they were inserted (which
is the order that the backScripts global property lists them in) with the
most recently inserted backScript receiving the message first.  So a script
inserted into the back should receive messages before the Revolution
backScripts.

> For instance, Jacqueline Landman Gay suggested:
>
> >on openCard
> >  -- overcome default text selection so nav arrows work
> >  if the navigationArrows = true
> >  then send "doUnselect" to this cd in 200 milliseconds
> >end openCard
> >
> >on doUnselect
> >  select empty
> >end doUnselect
>
> When I used this, it was difficult to use the Properties Palette. Every
> time I switched from one tab to another the properties window rolled up.
>
> I assume what was happening is that the handler affected the behaviour of
> the Properties Palette and therefore came after it in the message passing
> order.

No.  Your "select empty" script triggers a selectedObjectChanged message,
which an environment backScript handles to update the property palettes (in
this case folding them up because the selectedObject has been deselected).

You might try something like the following as a workaround:

on doUnselect
  lock messages--lock messages for better performance
  put the selectedObject into tSelectedObject--save the selectedObject
  select empty
  repeat for each line l in tSelectedObject
    set the selected of l to true--reselect every object that was selected
  end repeat
  unlock messages
end doUnselect

> I have noticed other peculiar behaviour as I have tried to customize the
> interface. This could come from the same source.

Absolutely.  The interface is complex, and customizing it could cause
unexpected behaviour.  But don't let this discourage you -- let us know if
anything doesn't work as you expect!
  Cheers,
     Michael

P.S It's best to use plugins for customizing the interface as you'll be
able to easily transfer them across versions of Revolution.
--
Michael Fisher <[EMAIL PROTECTED]> <http://www.runrev.com/>
Runtime Revolution Ltd - Power to the Developer!
Tel: +44 (0)131 718 4333  Fax: +44 (0)1639 830 707




Reply via email to