MouseMove - Moving a stack brutally stops when the decoration change

zryip theSlug zryip.theslug at gmail.com
Tue Apr 6 21:16:19 EDT 2010


2010/4/7 Sarah Reichelt <sarah.reichelt at gmail.com>:
>> To dock / undock the picker with the RR tools palette I'm using an
>> mouseMove handler. When the picker palette is inside or outside the
>> tools palette the titlebar of the picker appears / disappears. For
>> that, I change the decorations property of the stack.
>>
>> However the fact to change the decorations of a stack, brutally stops
>> the move. It seems that the mouseMove handler stops to track correctly
>> the handler
>
>
> Confirmed - very strange.
>
> The only workaround I can think of is to set the decorations once
> only, in a mouseUp handler, instead of setting them as you move.
>
> Cheers,
> Sarah

Thanks for your answer Sarah 8-)

I create this quick mouseMove handler to simply test the behavior out
of my picker code. This not really that I need to do ;)


That I thought to do with the mouseMove is to give a friendly (I hope)
interface to detach the palette.

The palette waiting for a long click, then a hand cursor appears and
the user can extract the picker by moving it out of the tools palette.
The color picker becomes an independent palette with its own titlebar.
When the user would like to dock the picker in the tool palette, he
moves the picker somewhere inside the tools palette, the picker
titlebar disappear and it is docked to the tools palette.

It seems that all events are lost when the decoration change. It gives
the feelings the picker received a mouseUp handler.

This is the handler that I used to detect the long click on the palette:

local lCounter

command scanForMouseWithin
   if (the mouseLoc is within the rect of btn "MoveMask") then
      if (the mouse is down) then
         add 1 to lCounter

         if ((lCounter = 10) \
                and (the mouseLoc is not within the rect of grp
"ColorPickerGrp")\
         and (there is not a stack "pickerDragControl")) then
            startMovingPicker --C
         end if
      else
         stopMovingPicker --C
      end if
   else
      stopMovingPicker --C
   end if

   send "scanForMouseWithin" to me in 80 milliseconds
end scanForMouseWithin

The handlers to manage this effect are too long for the list.
You can eventually download the picker on my site and have a look to
it. It will be more eloquent that my description, I think.

-- 
-Zryip TheSlug- wish you the best! 8)
http://www.aslugontheroad.co.cc



More information about the use-livecode mailing list