approved, let's try it out.

On 9/28/06, P T Withington <[EMAIL PROTECTED]> wrote:
Change change.1uZRTnwsB.txt by [EMAIL PROTECTED] /Users/ptw/
pending-changes/ on 2006-09-28 19:36:44 EDT

Summary: Move tag constructors out of global

New Features: Tags created with <class name="tagname"> now define
lz.tagname, rather than global.tagname.  (global.tagname will still
exists so long as there is no conflict with the underlying runtime,
but will give a deprecation warning when used as a constructor.)  All
built-in tags now have an alias to their constructor as lz.tagname.

Bugs Fixed:
LPP-2757 Defining a user class named `top` breaks DHTML in Safari

Technical Reviewer: hminsky (pending)
QA Reviewer: max (pending)
Doc Reviewer: jsundman (pending)

Documentation:  The documentation for instantiating a tag dynamically
needs to be updated to say you use `new lz.tagname`.

Details:

     Make it so our node instantiator can find node classes without
     them having to be globals.  Global constructors still are defined
     when they do not conflict with runtime globals, but using them
     will give a deprecation warning to use lz.whatever in the future.
     There is also a warning for the case where you define a tag that
     would clobber a runtime global, telling you that you won't have a
     global constructor for that tag and that you will have to use
     lz.whatever.  Finally, while `new LzNode` will continue to work
     without a warning, `new lz.node` will also work, eliminating that
     source of complexity.

     LzLibrary, LzScript, LzInputText, LzText, LzDrawView, LzView,
     LzCanvas, LzSelectionManager, LzDataSelectionManager, LzState,
     LzAnimatorGroup, LzAnimator, LzLayout, LzConnectionDatasource,
     LzDatapointer, LzDataset, LzDatapath, LzHTTPDatasource, LzParam :
     define tagname for class

     LzCSSStyle, LzNode, LzView : global -> ConstructorMap

     LzNode: the class initializer will install the constructor in
     ConstructorMap if the class defines static tagname.

     LzUserClass: Use tagname to install class, implement deprecated
     global constructor, warn on global conflict, continue
     UserClassPlacementObject kludge with a big FIXME

     Class: Add override diagnostics (off for now), apply static
     initializer to class, demote trait overrides to debug rather than
     warn (for now).

     LzDefs: Define empty ConstructorMap here, so it can be filled in
     as LzNode subclasses are created.  Alias lz to ConstructorMap.

     LaszloInitiator: Remove hand-generated ConstructorMap, obsolete
     TagFunctionMap, unnecesary FixTag tag name adjustment

     LzReplicationManager, LzDataset: be more careful about global
     adjustmenst, use the correct tag name for datapath

     ClassCompiler: use correct tag for class

Tests:
     LZPIX still works!

Files:
M      lfc/kernel/swf/LzLibrary.lzs
M      lfc/services/LzCSSStyle.js
M      lfc/core/LzNode.lzs
M      lfc/core/UserClass.lzs
M      lfc/core/Class.lzs
M      lfc/core/LzDefs.lzs
M      lfc/glue/LaszloInitiator.lzs
M      lfc/views/LzScript.lzs
M      lfc/views/LzInputText.lzs
M      lfc/views/LzText.lzs
M      lfc/views/platform/swf/LzDrawView.lzs
M      lfc/views/LaszloView.lzs
M      lfc/views/LaszloCanvas.lzs
M      lfc/helpers/LzSelectionManager.lzs
M      lfc/helpers/LzState.lzs
M      lfc/controllers/LzAnimatorGroup.lzs
M      lfc/controllers/LaszloLayout.lzs
M      lfc/controllers/LaszloAnimation.lzs
M      lfc/data/LzReplicationManager.lzs
M      lfc/data/platform/swf/LzConnectionDatasource.lzs
M      lfc/data/LzDatapointer.lzs
M      lfc/data/LzDataset.lzs
M      lfc/data/LzDatapath.lzs
M      lfc/data/LzHTTPDatasource.lzs
M      lfc/data/LzParam.lzs
M      server/src/org/openlaszlo/compiler/ClassCompiler.java




_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev






--
Henry Minsky
Software Architect
[EMAIL PROTECTED]

_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to