[Laszlo-dev] LPP-8477, font changes when switching from single line to multiline in IE7
P T Withington
ptw at laszlosystems.com
Wed Oct 14 06:43:01 PDT 2009
I guess we need another jerkXXXXquirk for IE and copy over the
individual styles, one at a time. Alternatively, we could maintain a
shadow copy of the div-specific style (as it is built/adjusted by the
various LZX properties) and try just jamming that in.
This is bordering on my comment to Raju here: (http://jira.openlaszlo.org/jira/browse/LPP-8552
) that we should consider having the Kernel API be more CSS-like and
map from LZX to CSS when calling into the kernel. In runtimes that
support CSS, we can have a direct implementation, in other runtimes,
we have to emulate CSS.
On 2009-10-14, at 09:29, Henry Minsky wrote:
> That apparently does not work in IE7 for some reason...
>
> On Wed, Oct 14, 2009 at 9:25 AM, P T Withington
> <ptw at laszlosystems.com>wrote:
>
>> I don't follow. setMultiline copies _all_ of the div styles over:
>>
>> lz.embed.__setAttr(newdiv, 'style', olddiv.style.cssText);
>>
>> (in addition to the scroll position). So, something else is going
>> wrong...
>>
>>
>> On 2009-10-14, at 08:22, Max Carlson wrote:
>>
>> Yes, I think it needs to copy the necessary fontstyles over. Right
>> now
>>> LzInputTextSprite#setMultiline() only preserves the text contents,
>>> scrollLeft and scrollTop. The necessary styles should be
>>> preserved in:
>>> LzInputTextSprite.prototype.__fontStyle = 'normal';
>>> LzInputTextSprite.prototype.__fontWeight = 'normal';
>>> LzInputTextSprite.prototype.__fontSize = '11px';
>>> LzInputTextSprite.prototype.__fontFamily = 'Verdana,Vera,sans-
>>> serif';
>>>
>>> I'd avoid copying the entire CSS style - that's pretty risky.
>>>
>>> Henry Minsky wrote:
>>>
>>>> I'm trying to figure out why the font is changing back to the
>>>> default
>>>> font when an input field
>>>> is set to multiline in IE7/DHTML.
>>>> The code in LzInputTextSprite.setMultiline does create a new div,
>>>> with
>>>> _createInputDiv, does that need to
>>>> copy the font styles over?
>>>> <canvas>
>>>> <inputtext id="foo" width="400" x="14" name="foo" font="monospace"
>>>> fontsize="11" fontstyle="plain"
>>>> multiline="false"
>>>> text="${canvas.runtime}"
>>>> bgcolor="#ccffcc"
>>>> onclick=" setAttribute('multiline', true);
>>>> this.setAttribute('height', 100); "/>
>>>> </canvas>
>>>> --
>>>> Henry Minsky
>>>> Software Architect
>>>> hminsky at laszlosystems.com <mailto:hminsky at laszlosystems.com>
>>>>
>>>
>>> --
>>> Regards,
>>> Max Carlson
>>> OpenLaszlo.org
>>>
>>
>>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com
More information about the Laszlo-dev
mailing list