Request for feedback
Michael Doub
mikedoub at gmail.com
Sun Nov 30 17:01:10 EST 2014
After more testing of list formatting, we need the listdepth and
listindent as part of a softline because a element of a list can wrap.
Ralph, I have not used formatting within button labels, so I will have
to research them. I am guessing that they do not have all of the
settings as a field. Are they a proper subset of what is listed below
or do we need to do the same exercise that is unique for button labels?
Here is a updated view with some line shortenings so the comments wont
wrap within the email. (i hope)
-= Mike
put the formatedStyledAttributes of fld "foo" into rArray
rArray:
"height":
"width":
"dontwrap":
"borderwidth":
"leftMargin":
"topMargin":
"rightMargin":
"bottomMargin":
[line_Nbr] -- a number for each string
-- terminated by a return
"borderwidth":
"leftIndent":
"rightIndent":
"padding":
"spaceAbove":
"spaceBelow":
[softline_number] -- this the segment of the
-- line on a row within a field
"MaxformattedHeight": -- of the softline including all
runs
"MaxformattedWidth": -- of the softline including all
runs
-- these are
included to make
-- calculating
scroll positions easier
"leftIndent":
"firstIndent": -- only applicable to the first
-- segment of a paragraph
"rightIndent":
"padding":
"listIndent": -- listIndent and listdepth are needed
"listdepth": -- as part of the softline because
lists
-- can wrap
[run_number] -- this is the run within the soft line
-- a tab character is
considered a run
"textSize":
"textFont":
"textStyle":
"text":
formattedHeight:
formattedWidth: -- when text = tab, this is the
length
-- of space allocated
to the tab
[run_number + 1]
[softline_number + 1]
[pgh_Nbr + 1]
On 11/30/14 3:52 PM, Ralph DiMola wrote:
> Mike,
>
> Thanks You! I'm a + 1 on this. We need to be able to reliably calculate
> field/line geometry especially on mobile. I've been wrestling getting this
> correct since the new field object was introduced. I have 2 related bugs on
> this: http://quality.runrev.com/show_bug.cgi?id=12176 and
> http://quality.runrev.com/show_bug.cgi?id=13551
>
> It looks like you have all the bases covered. Let's see when RR and anybody
> into the sources has to offer on this. Button labels should have this
> property also.
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> rdimola at evergreeninfo.net
>
> -----Original Message-----
> From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf
> Of Michael Doub
> Sent: Sunday, November 30, 2014 11:57 AM
> To: How To use LiveCode use LiveCode
> Subject: Request for feedback
>
> I would like the lists assistance in flushing out a enhancement request
> proposal that I would like to make to the development team. Because of a bug
> in the pageranges function where it did not take into account the spaceabove
> and spacebelow properties, i attempted to do this manually.
> I quickly learned that there is no easy way to understand where a line is
> actually wrapped. I was using the formatted size functions measuring each
> character and run and getting different answers when measuring the same
> text. This was attributed to kerning and letter spacing issues by the
> support folks. This was not a very satisfying answer.
>
> After working on this for several weeks, I have come to the conclusion that
> we can not accurately reproduce the algorithms of the field object with the
> current tools available to us. I would loved to be proven wrong here, but I
> threw in the towel and starting thinking about the the information that is
> really needed to understand what is actually being displayed within a field.
>
> I am proposing that a property or function be added to livecode field
> object. It would be similar to styled text, but it would provide a PERFECT
> representation of what is being displayed within a field. The structure
> returned would include all attributes needed to understand exactly how a
> field is laid out and how the text was flowed within the field.
>
> For the purposes of this discussion a field is made up of lines.
> A line is a string terminated by a return. A line is made up of softlines.
> A line may contain a single softline or multiple softlines.
> A softline is single row of text that fits in the visual area within the
> field. SoftLines are made up of runs as defined in styledtext. A tab
> character is considered a run.
>
> Ok to be clear, a softline is each segment of a line that was wrapped to fit
> in to the field. ;-)
>
>
> put the formatedStyledAttributes of fld "foo" into rArray
>
> rArray:
> "height":
> "width":
> "dontwrap":
> "borderwidth":
> "leftMargin":
> "topMargin":
> "rightMargin":
> "bottomMargin":
> [line_Nbr] -- a number for each string terminated by a return
> "borderwidth":
> "leftIndent":
> "rightIndent":
> "padding":
> "spaceAbove":
> "spaceBelow":
> [softline_number] -- this the segment of the line on a row
> within a field
> "MaxformattedHeight": -- of the softline including all runs
> "MaxformattedWidth": -- of the softline including all runs
> "leftIndent":
> "firstIndent": -- only applicable to the first segment of
> a paragraph
> "rightIndent":
> "padding":
> [run_number] -- this is the run within the soft line
> -- a tab character is considered
> a run
> "textSize":
> "textFont":
> "textStyle":
> "text":
> formattedHeight:
> formattedWidth: -- when text = tab, this is the length
> of space
> -- allocated to the tab
> [run_number + 1]
> [softline_number + 1]
> [pgh_Nbr + 1]
>
>
> I added the MaxFormatted Height/Width so it would be easer to calculate
> the scroll positions. A function that would tell you the softline
> number of a given chunk would also be a huge help.
>
> I look forward to hearing your comments about this proposal. I am
> specifically looking for suggestions on how lists should be handled.
>
> Regards,
> Mike
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
More information about the use-livecode
mailing list