Hiding and Showing Pallettes
Andrew Kluthe
andrew at ctech.me
Mon Oct 14 14:59:59 EDT 2013
Hey Ya'll,
I have a window that has "child windows" that are to be hidden when the
parent window is not the current focus, but need to float above the parent
window when the parent window is in focus.
I have tried leveraging suspend and resume to handle hiding and showing
these child palette windows and this works fine when minimizing and
restoring windows.
However, this fails when you click the title bar of another parent window.
the child palette windows just stay in view. There are other things I can
click get it to act like this as well.
Can anyone recommend a better way to do this? Below are my suspend and
resume handlers.
the childStacks property referred to below is simply a list of the stacks
the parent window has launched. It loops through them to see if they still
exist and hides or shows them if they do exist.
on suspendStack
put "suspend"
put the childStacks of me into sChildStacks
put the mouseStack into sClickedStack
if sClickedStack contains "load" or sClickedStack contains "scale" then
exit suspendStack
end if
repeat for each line ChildStack in sChildStacks
if ChildStack is among the lines of the OpenStacks then
lock messages
set the bottom of stack ChildStack to the bottom of this stack
set the right of stack ChildStack to the right of this stack
if the visible of stack ChildStack is true then
hide stack ChildStack
end if
unlock messages
end if
end repeat
pass suspendStack
end suspendStack
on resumeStack
put "resume"
put the childStacks of me into sChildStacks
repeat for each line ChildStack in sChildStacks
if ChildStack is among the lines of the OpenStacks then
lock messages
set the bottom of stack ChildStack to the bottom of this stack
set the right of stack ChildStack to the right of this stack
if the visible of stack ChildStack is false then
show stack ChildStack
end if
unlock messages
end if
end repeat
pass resumeStack
end resumeStack
--
Regards,
Andrew Kluthe
andrew at ctech.me
More information about the use-livecode
mailing list