I rethought the alignment of baselines of 2 fields and did not like my previous
solution to just move the fields
Here is a solution that uses the margins to do the alignment. The two fields
should accommodate for the expected textSizes and should be horizontally
aligned.
There are occasional di
That would work, but again I am trying to bail if my parameters are out of
bounds.
Bob S
> On Jun 22, 2018, at 11:01 , Niggemann, Bernd via use-livecode
> wrote:
>
> Hi Bob,
>
> how about:
>
>
> if pOffset is empty then put 0 into pOffset
> --
> if pOffset is not s
Hi Bob,
how about:
if pOffset is empty then put 0 into pOffset
--
if pOffset is not strictly an integer then put pOffset div 1 into pOffset --
<-
--
catch theError
if pOffset is an integer nothing happens, if it is a floating point number d
Agreed, it's definitely easier to read, but I had already decided to use a try
catch statement with the field names, and then do something with the field
names that would only work if they were valid. If either parameter was anything
other than the short name of a field or else the long id of a
m: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf
Of Bob Sneidar via use-livecode
Sent: Thursday, June 21, 2018 5:24 PM
To: How to use LiveCode
Cc: Bob Sneidar
Subject: Re: Align baselines of 2 fields
Actually that made me think, someone might try to pass a floating point
number,
Actually that made me think, someone might try to pass a floating point number,
so put pOffset div 1 into pOffset is a better test because it will convert
pOffset to an integer.
Bob S
> On Jun 21, 2018, at 14:18 , Bob Sneidar via use-livecode
> wrote:
>
> But that won't throw an error in m
But that won't throw an error in my try catch statement. :-)
Bob S
> On Jun 21, 2018, at 13:23 , J. Landman Gay via use-livecode
> wrote:
>
> On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote:
>> Also, I check that pOffset is a number by adding 0 to it in a try/catch
>> statement.
>
>
On 6/21/18 2:58 PM, Bob Sneidar via use-livecode wrote:
Also, I check that pOffset is a number by adding 0 to it in a try/catch
statement.
Or alternately, "if pOffset is a number..."
--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://w
Okay a newer NEWER version. If no parameters are passed for the fields, it will
use the first two hilited objects. Also, I check that pOffset is a number by
adding 0 to it in a try/catch statement.
on alignFieldBaselines pField1, pField2, pOffset
local tDescent1, tDescent2, tBot1, tBot2, tDi
Bernd,
I ran this at least 50 times and in the vast majority of cases the baselines
align. In a few cases, as Bob noted, it was off by 1 pixel. But that will be OK
for my use. I let users pick any font but sizes are limited from 8 to 20.
Thanks you guys. A very resourceful group, as usual!
Mart
Okay new version. This adds an offset parameter for those cases where the
baselines do not exactly align due to font weirdnesses. I also added the
ability to pass a short name of a field, or else the long ID. Enjoy!
Bob S
on alignFieldBaselines pField1, pField2, pOffset
local tDescent1, tDe
Sorry my bad. I modified your script to expect the long id of a field, but your
second edition still expected short names. I can work around that later.
So your new script works, except the second field may be one pixel too high,
depending on the font. Not sure there is a workaround for this,
Hi Marty,
depending how liberal you are in letting users choose fonts and sizes you might
get "unexpected" results by aligning to field 1
try this stress test
-
on mouseUp
lock screen
set the textfont of field 1 to any line of the fontNames
set the te
I changed the font of one of the fields to something with a different descent,
and it doesn't seem to work.
Bob S
> On Jun 21, 2018, at 10:28 , Knapp Martin via use-livecode
> wrote:
>
> This works for me, assuming you want to leave field 1 where it is and align
> field 2:
>
> on alignFie
This works for me, assuming you want to leave field 1 where it is and align
field 2:
on alignFieldBaselines pField1, pField2
local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef
local fFormattedBottom1, fFormattedBottom2
put item 4 of the formattedRect of line 1 of fld pField1 in
I modified as follows, but pField2 is one pixel high. Not sure why.
Bob S
on alignFieldBaselines pField1, pField2
local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef
local fFormattedBottom1, fFormattedBottom2
-- put 120 into tRef
put item 4 of the formattedRect of
Or better yet: (should probably be submitted to the Master Library). Trouble
with this is that it relocates both fields. It should probably only move
pField2.
on alignFieldBaselines pField1, pField2
local tDescent1, tDescent2, tBot1, tBot2, tDiff1, tDiff2, tRef
local fFormattedBottom1, fF
Thanks Craig and Bernd, I’ll tinker with this and see how it goes.
Marty
> On Jun 21, 2018, at 4:37 AM, Niggemann, Bernd via use-livecode
> wrote:
>
> Hi Mary,
>
> I suppose you want to center those fields around a common horizontal baseline.
>
> You might try this if that is what you want.
Hi Mary,
I suppose you want to center those fields around a common horizontal baseline.
You might try this if that is what you want. Should work with different fonts
and sizes.
Two fields, one button.
Kind regards
Bernd
--
on mouseUp
So I played around just a little.
Make a new field and set its Textheight property. For the first line, this
will be a certain number of pixels below the top of the field. Each
subsequent line will be a multiple of that value. So if you know the
baseLine of any line of text, and you know the top,
Right. I do not think there is a "baseLine" property.
But again, if you play around with the properties I mentioned above, all of
which are in pixels, I bet you can create a handler that will determine the
"baseLineV" of any text in a field, and you can then match two fields
together.
This would
I checked the dictionary. There is no entry for the baseline of anything.
Bob S
> On Jun 20, 2018, at 14:34 , Knapp Martin via use-livecode
> wrote:
>
> The baseline of the text.
>
> Marty
>
>> On Jun 20, 2018, at 2:32 PM, dunbarxx via use-livecode
>> wrote:
>>
>> Hi.
>>
>> Do you mean
I am sure that with the margins, textHeight and textSize properties you can
calculate how to set the text baseline of one field to that of another. A
small textSize will require a smaller third margin, for example, and that
must take into account the textHeight as a further component.
Craig
--
The baseline of the text.
Marty
> On Jun 20, 2018, at 2:32 PM, dunbarxx via use-livecode
> wrote:
>
> Hi.
>
> Do you mean the bottom of the field control, or the baseline of the text?
> All are doable.
>
> Craig Newman
>
>
>
> --
> Sent from:
> http://runtime-revolution.278305.n4.nabble.
Hi.
Do you mean the bottom of the field control, or the baseline of the text?
All are doable.
Craig Newman
--
Sent from:
http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html
___
use-livecode mailing list
use-livecode@lists.ru
I have a user customizable stack that has a label field, then just to the right
of that a field with user content. The user is able to customize the font and
size of both the label field and the content field individually. Both fields
are just 1 line. Is there a way to calculate where the baseli
26 matches
Mail list logo