scale w/ ticks and snap-to

Éric Chatonet eric.chatonet at wanadoo.fr
Wed Mar 2 11:30:32 CST 2005


Hi Richard, Paul and Ken,

I would add some points to your today enjoyment about scrollbars ;-)

1. It is a Mac OS issue since there are no ticks on Windows 
scrollbars... (I love ergonomics!)
2. You are right, the workaround does work from 4 to 15,  but not for 
2, 3 or more than 15!
3. In the scrollbarDrag handler, I prefer set the thumbPos of me to 
round(the thumbPos of me) to set the thumbPos of me to the thumbPos of 
me:
Using round function allows the cursor to follow exactly the mouse 
movement and snap gently at mouseUp
Without round function,  the cursor snaps when the mouse is down (it 
always wins this terrific struggle...) and I don't like interface 
elements that don't obey to the user (i.e. me  :-)
That's with OS X, I don't test it with Win32.
Thanks for bugzilla this irritating feature.

Best regards,

Le 2 mars 05, à 16:22, Richard Gaskin <ambassador at fourthworld.com> a 
écrit :

> Éric Chatonet wrote:
>> I proposed a little script to manage a scrollbar with snap-to behavior
>> so the indicator lines up with the ticks (displayed with Mac OS).
>> In fact, my script (changing the numberFormat property) was too much
>> complicated.
>> The following code is enough to do the job:
>>
>> on scrollbarDrag pPos
>>   set the pageInc of me to the endValue of me / (the endValue of me + 
>> 1)
>> end scrollbarDrag
>> --------------------------------
>> on mouseUp
>>   set the thumbPos of me to round(the thumbPos of me)
>> end mouseUp
>
> The behavior seems to work the same here for me with a script 
> containing
> only:
>
> on mouseUp
>    set the thumbPos of me to the thumbpos of me
> end mouseUp
>
> Since the thumbpos is an integer, it does the post-drag snap-to.  I had
> hoped to find a snap-as-you-go behavior, and I've gotten close but it's
> still a tad jerky (if only we had a preScrollBarDrag message <g>).
>
> But here's where things get freaky - try this at home:
>
> 1. Make a new mainstack
> 2. Drop a scale onto it
> 3. Set these properties:
>       startValue: 1
>       endValue:   5
>       pageInc:    1
>       lineInc:    0
>       thumbsize:  1
>
> Freak-o-rama:  I see a slider with 4 (count 'em, four!) tick marks.
> With a scale of 1 to 5, I would expect 5.
>
> Ultra-freak-o-rama:  Éric's has the same properties set just like mine,
> but his has 5 (count 'em, five!) tick marks.
>
> Works the same in Rev and MC.
>
> The mystery deepens: I can copy Éric's, change the endValue to 6, and
> get 6 tick marks.  But if I change the endValue to 4 I get 3 tick 
> marks.
>
> How comes such to be?  :\
>
> You can examine both scrollbars here:
>
>    go url "http://fourthworld.net/scroll_bar_test.mc"
>
> Paul Looney, Ken Ray, and I have scratched our heads over this today.
>
> Mystified?
>
> It turns out that while Eric's first handler doesn't affect behavior, 
> it
> does affect appearance.  This bit:
>
>   on scrollbarDrag pPos
>    set the pageInc of me to the endValue of me/(the endValue of me +1)
>   end scrollbarDrag
>
> ...apparently takes care of a bug in the engine.  As soon as you scroll
> it you get the tick marks appearing as you would expect.  Apparently
> this continues to work even with that handler disabled until the next
> time the pageInc or thumbSize is set.
>
> I could't find a Bugzilla report for this, so I just filed one:
> <http://support.runrev.com/bugdatabase/show_bug.cgi?id=2644>
>
> Freaky, but at least there's a workaround.
>
> Thanks, Éric.

Amicalement,

Eric Chatonet.
----------------------------------------------------------------
So Smart Software

Pour les institutionnels, les entreprises et les associations
Des logiciels sur mesure : gestion, multimédia, internet, etc.
Windows, Mac OS et Linux... Avec la "french touch"

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch
----------------------------------------------------------------
Web site		http://www.sosmartsoftware.com/
Email		eric.chatonet at sosmartsoftware.com/
Phone		33 (0)1 43 31 77 62
Mobile		33 (0)6 20 74 50 86
----------------------------------------------------------------



More information about the use-livecode mailing list