bringToFrontWithinOwner (was: relayering groups within groups)
Eric Chatonet
eric.chatonet at sosmartsoftware.com
Fri Feb 3 04:24:55 EST 2006
Hi Dick,
Great handler that works perfectly :-)
Kudos
Best Regards from Paris,
Eric Chatonet
Le 3 févr. 06 à 10:16, Dick Kriesel a écrit :
> Here's a handler that brings a control as close to the front as
> possible
> without affecting its owner.
>
> No control has its owner changed. All controls other than the one
> that
> moves keep their original sequence within their owners. No
> controls are
> copied or deleted, so no system messages like newGroup and
> deleteGroup get
> sent. There's no "start editing" command, so stepping through the
> handler
> doesn't cause unexpected results (see the dictionary entry for "start
> editing"). The previous value of the relayerGroupedControls is
> restored at
> the end.
>
> The optional input parameter identifies the control to bring to the
> front.
> With no input the handler operates on the target.
>
> on bringToFrontWithinOwner pControl
> if pControl is empty then
> put abbr id of the target into tTarget
> else
> put abbr id of pControl into tTarget
> end if
> put long owner of tTarget into tOwner
> if word 1 of tOwner is "card" then
> put 1 into tLayer
> else
> put the layer of tOwner + 1 into tLayer
> end if
> repeat with i = number of controls down to 1
> if long owner of control i is tOwner then
> if abbr id of control i is not tTarget then
> put abbr id of control i & cr after tPeers
> -- note: peers share the same owner
> end if
> end if
> end repeat
> lock screen
> put the relayerGroupedControls into tRelayerGroupedControls
> set the relayerGroupedControls to "true"
> repeat for each line tPeer in tPeers
> set the layer of tPeer to tLayer
> end repeat
> set the relayerGroupedControls to tRelayerGroupedControls
> unlock screen
> end bringToFrontWithinOwner
>
> The handler passed my tests. If you find a problem with it, please
> let me
> know.
------------------------------------------------------------------------
----------------------
http://www.sosmartsoftware.com/ eric.chatonet at sosmartsoftware.com/
More information about the use-livecode
mailing list