[Laszlo-dev] LPP-8477, font changes when switching from single line to multiline in IE7
Henry Minsky
hminsky at laszlosystems.com
Wed Oct 14 06:59:41 PDT 2009
What would be the advantage? making it cleaner to apply and remove these
properties as a group? I don't think it would help with speed because it
would cost you as much time and space to cons up the new class as to frob
the properties directly on the div...
On Wed, Oct 14, 2009 at 9:55 AM, P T Withington <ptw at laszlosystems.com>wrote:
> Ok, here's another idea, maybe too whacky:
>
> Instead of smacking styles into divs, what if we dynamically created a CSS
> class style rule for each case? We already have some of this mechanism in
> the measurement cache. At least for the various text attributes we could do
> something like, accumulate all the text style properties, build a CSS rule,
> assign it to a (generated) class name, and add that class name to the div's
> class (you can have multiple classes apply to a div, they are separated by
> spaces).
>
> We'd still use individual styles for position/overflow/width/height/clip,
> but for the styles that affect text, bundle them into a class.
>
>
> On 2009-10-14, at 09:37, Henry Minsky wrote:
>
> In Firefox, asking for cssText gives you this
>>
>> lzx> foo.sprite.__LzInputDiv.style.cssText
>> 'overflow: scroll; font-family: monospace; width: 415px; height: 115px;'
>> lzx>
>>
>> But in IE7 you get no font info
>> lzx> foo.sprite.__LzInputDiv.style.cssText
>> 'OVERFLOW: scroll; WIDTH: 417px; CLIP: rect(auto auto auto auto); HEIGHT:
>> 117px'
>> lzx>
>>
>>
>> On Wed, Oct 14, 2009 at 9:29 AM, Henry Minsky <henry.minsky at gmail.com
>> >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
>>>
>>>
>>>
>>>
>>
>> --
>> Henry Minsky
>> Software Architect
>> hminsky at laszlosystems.com
>>
>
>
--
Henry Minsky
Software Architect
hminsky at laszlosystems.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20091014/38d52f7d/attachment.html
More information about the Laszlo-dev
mailing list