[Laszlo-dev] For Review: Change 20090203-maxcarlson-q Summary: [UPDATE 5] Implement LFC end of kernel scrolling API

P T Withington ptw at laszlosystems.com
Tue Feb 3 08:54:34 PST 2009


Works in swf8, not in swf9 because functions don't have names.  I  
can't think of a quick global fix other than replacing  
arguments.callee with the name of the function (in this particular  
case where that is really all you are after).

Unless we can ferret out some secret introspection interface in swf9...

On 2009-02-03, at 11:25EST, Henry Minsky wrote:

> Hey, on an unrelated note, the deprecation warnings in swf8/9 do not
> print anything useful now,
> they do not say the name of the function, they just say 'function'.
>
> e.g.,
>
> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
> instead
>
> I think the calls to deprecated are the ones that look like
>
>      if ($debug) Debug.deprecated(this, arguments.callee,  
> this.setAttribute);
>
> I thought this used to work, at least in swf8...
>
> On Tue, Feb 3, 2009 at 11:13 AM, P T Withington  
> <ptw at laszlosystems.com> wrote:
>> Max and I disagree on how maxscroll should be computed.  I claim  
>> (referring
>> to his doc http://tinyurl.com/ddyj3j) that maxscroll is the line  
>> number of
>> the line that will be at the top of the field when the last line of  
>> the
>> content is the bottom line of the field, hence the computation of  
>> maxscroll
>> from scrollHeight should be:
>>
>> maxscroll = Math.max(1, (scrollHeight - height)/lineHeight);
>>
>> I forgot the max in my version, so he was seeing negative  
>> maxscrolls, which
>> made him believe my computation was wrong.
>>
>> I am going to make one more set of tweaks...
>>
>>
>> On 2009-02-03, at 10:34EST, Henry Minsky wrote:
>>
>>> This looks good, but I'm seeing a bunch of warnings in the  
>>> debugger in
>>> swf8/9
>>>
>>>
>>> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
>>> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
>>> instead
>>> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
>>> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
>>> instead
>>> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
>>> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
>>> instead
>>> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
>>> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
>>> instead
>>> INFO: /LzDebugWindow/@middle/@content/@textpane.Function is
>>> deprecated.  Use /LzDebugWindow/@middle/@content/@textpane.Function
>>> instead
>>> WARNING: negative value for updateLineAttribute maxscroll -17 0
>>>
>>>
>>> On Tue, Feb 3, 2009 at 8:56 AM, Max Carlson <max at openlaszlo.org>  
>>> wrote:
>>>>
>>>> Change 20090203-maxcarlson-q by maxcarlson at Bank.local on 2009-02-03
>>>> 04:58:12
>>>> PST
>>>> in /Users/maxcarlson/openlaszlo/trunk-clean
>>>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>>>
>>>> This change includes debugging code to warn for negative scroll/ 
>>>> maxscroll
>>>> values.  At least for the scrollinputtext (updated to use the
>>>> undocumented
>>>> scrollheight attr so it works) maxscroll never matches the value  
>>>> in the
>>>> sprite...  I think it's fine to doc scrollheight and use it, but
>>>> maxscroll
>>>> should be correct for backward compatibility.  I still think my  
>>>> previous
>>>> change is correct.
>>>>
>>>> Summary: [UPDATE 5] Implement LFC end of kernel scrolling API
>>>>
>>>> Bugs Fixed: LPP-6580  scrolledittext doesn't work in 4.1 (partial)
>>>>
>>>> Technical Reviewer: ptw (pending)
>>>> QA Reviewer: hminsky (pending)
>>>>
>>>> Details:
>>>> LzSprite.*, LaszloView, LaszloCanvas: Add linescrolling
>>>> capability, unify capabilities as a sprite instance var.
>>>>
>>>> swf/LzTextSprite.as: Turn on warnUndefinedReferences so we can
>>>> debug this.  Stop making all sorts of undefined references.
>>>> Actually compute `lineheight`.  Use that to implement the
>>>> pixel/line kernel API.  Convert __updatefieldsize to use the new
>>>> scrollevent kernel API.
>>>>
>>>> swf9/LzTextSprite: Add primitive version of setX/YScroll, add  
>>>> callbacks
>>>> to mirror swf8 version
>>>>
>>>> swf9/LzInputTextSprite: Elimanate duplicate scroll attribute
>>>>
>>>> LzInputText: Set tsprite in __makeSprite
>>>>
>>>> LzText: Implement new kernel scrolling API.  Cache tsprite for
>>>> efficiency.
>>>>
>>>> newcontent: Silence warnings.
>>>>
>>>> scrolledittext: Update to eliminate warnings, use build-in  
>>>> lineheight
>>>>
>>>> newvscrollbar-test/scrolledittext-test: Improve tests
>>>>
>>>> basescrollbar.lzx - Don't update scroll pos unless it's needed
>>>>
>>>> Tests:
>>>> Compiles in swf9, smokecheck in 3 runtimes, component debugger in
>>>> swf8/9, component sampler in 3 runtimes.  scrolledittext-test.lzx  
>>>> runs
>>>> consistently across swf8/9.
>>>>
>>>> Files:
>>>> M      WEB-INF/lps/lfc/kernel/swf/LzTextSprite.as
>>>> M      WEB-INF/lps/lfc/kernel/swf/LzSprite.as
>>>> M      WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
>>>> M      WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
>>>> M      WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.as
>>>> M      WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
>>>> M      WEB-INF/lps/lfc/views/LzInputText.lzs
>>>> M      WEB-INF/lps/lfc/views/LzText.lzs
>>>> M      WEB-INF/lps/lfc/views/LaszloView.lzs
>>>> M      WEB-INF/lps/lfc/views/LaszloCanvas.lzs
>>>> M      WEB-INF/lps/config/lps.properties
>>>> M      lps/components/debugger/newcontent.lzx
>>>> M      lps/components/incubator/scrolledittext.lzx
>>>> M      lps/components/incubator/test/newvscrollbar-test.lzx
>>>> M      lps/components/incubator/test/scrolledittext-test.lzx
>>>> M      lps/components/base/basescrollbar.lzx
>>>>
>>>> Changeset:
>>>> http://svn.openlaszlo.org/openlaszlo/patches/20090203-maxcarlson-q.tar
>>>>
>>>
>>>
>>>
>>> --
>>> Henry Minsky
>>> Software Architect
>>> hminsky at laszlosystems.com
>>
>>
>
>
>
> -- 
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com



More information about the Laszlo-dev mailing list