IDE versus MSG Box - Field Tabstops

Richard Gaskin ambassador at
Thu Aug 15 00:46:24 CEST 2013

Geoff Canyon wrote:
> On Wed, Aug 14, 2013 at 9:34 AM, Richard Gaskin wrote:
>> The tabstops property requires absolute metrics from the left edge of the
>> control; that is, each item is the complete measure from that edge, e.g.:
>> 100,150,225
> I've never found this to be the case. I just opened up LC 5.0, created a
> field with text and tabs in it, and in the message box typed:
>   set the tabstops of fld 1 to 200,100,150,75
> No crash, and the text formatted the way I expected. Now if I type in the
> message box:
>   put the tabstops of fld 1
> I get:
>   200,300,450,525
> Which is exactly what I expected; the first value was taken literally, and
> the rest were incremental. For kicks, I tried:
>   set the tabstops of fld 1 to 200,100,250,675
> and then
>   put the tabstops of fld 1
> gets me:
>   200,300,550,675
> Which means that the first value was absolute, the next two relative even
> though the third was larger than either of the first two (but not larger
> than their sum), and the last, which was larger than the sum of the three
> previous, was again absolute.

You really expected the value coming back to be different from what you 
set it to?

If you set the text of a field to "Hello", do you expect getting the 
text from the field to yield "World"? ;)

It seems the engine is being very graceful in allowing both relative and 
absolute values as input for the tabStops, but ultimately the values 
that get stored are the absolute ones.

If that weren't the case it would mean that Mark Waddingham wasted his 
time adding the tabWidth property, and I don't think I've ever seen Mark 
willfully waste his time.

Now I'm wondering what the engine does with values in which each column 
is larger than the last.  That is, if you set the tabstops to this:

100,150,200 you get this back:





  Richard Gaskin
  Fourth World
  LiveCode training and consulting:
  Webzine for LiveCode developers:
  Follow me on Twitter:

More information about the use-livecode mailing list