[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