Comments:
In LzInputTextSprite:
Max, now that LzInputTextSprite extends LzTextSprite, can Phil
eliminate the copied bits?
Phil, what about the "PBR TODO Check"?
What is the point of the empty constructor?
In LzKeyboardKernel:
Is there any possibility the explicit references to LzKeyboardKernel
(rather than this) were because that method was called unbound, i.e.,
called as a bare function, not as a method on the instance? If it is
used in a callback, that is likely the case.
LzLoadQueue:48
Not sure what `this` means here, in the top-level of a class
declaration. That code will run in the class initializer, but it is
probably meant to be in the instance initializer (i.e., to monitor the
variable on the singleton instance). In which case, you don't really
need a separate method...
Same thing with line 64. You can't refer to `this` in an instance
variable initializer. You'll need to move that initialization into
the instance initialize method.
Line 110: See the 'N.B.' comment at the head of the method. Your
`this` won't work. (It _will_ work in real Javascript2, but it won't
in our implementation since we don't (yet) do bound methods.) This
really should not be a method at all, since it clearly expects to be
called with `this` bound to something other than an instance...
LzSoundMC: Have we tested that sounds work? There is a TODO about
inheriting from movieclip...
LzSprite: The vars in ALL_CAPS should probably be class vars, but
then you'd have to find and adjust all references to them...
LzTextSprite:
Same question as for LzInputTextSprite regarding copying vs. inheriting
classname is redundant, that is done by class
You made DEFAULT_SIZE static, but not PAD_TEXTWIDTH?
Line 588: LzText.DEFAULT_SIZE -> LzTextSprite.DEFAULT_SIZE: Is this a
bug in the 'real' kernel that should be fixed too?
Otherwise, Approved!
On 2007-10-26, at 15:45 EDT, Philip Romanik wrote:
Change 20071026-Philip-8 by [EMAIL PROTECTED] on 2007-10-26 15:32:12
EDT
in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Convert swf kernel to lfc class system (swf9 kernel)
New Features:
Bugs Fixed:
Technical Reviewer: ptw
QA Reviewer: max
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
Convert the *.as files to *.lzs files by converting each file to the
lfc class system. No functionality changes have been made. No
indentation changes have been
made to minimize the changes.
Note, any changes to the kernel/swf files (beyond r6975) will have
to be merged to the /swf9 directory.
Some files contained singleton objects. These were converted to
classes with a single instance. For example, LzScreenKernel becomes
LzScreenKernelClass which is
instantiated at the end of the file,
var LzScreenKernel = new LzScreenKernelClass;
There are some commented labeled //TODO or //PBR TODO which
highlight some items I need to verify or modify. They don't seem to
prevent the swf9 kernel from running.
The two most interesting files to review are LzScreenKernel.lzs and
LzMouseKernel.lzs. Another interesting change is with
LzTextSprite.set{Width,Height}.
I did not convert the dojo directories. I don't know if there is a
flash9 version of these files. The file kernel/swf9/Library.lzs
references the /swf/dojo files for now.
Tests:
Modify /kernel/Library.lzs to call
#include "kernel/swf9/Library.lzs"
instead of
#include "kernel/swf/Library.lzs"
Rebuild and applications continue to work. I tested with lzpix,
calendar, component sampler, and tree.
Files:
M WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzFunctions.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzXMLTranslator.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzXMLParser.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzScreenKernel.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs
M WEB-INF/lps/lfc/kernel/swf9/Library.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzRequires.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzAudio.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzFontManager.lzs
M WEB-INF/lps/lfc/kernel/swf9/LzKeyboardKernel.lzs
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071026-Philip-8.tar