[Laszlo-checkins] r7726 - in openlaszlo/branches/devildog: . WEB-INF/lps/lfc/compiler WEB-INF/lps/lfc/core WEB-INF/lps/lfc/data WEB-INF/lps/lfc/debugger WEB-INF/lps/lfc/debugger/platform/dhtml WEB-INF/lps/lfc/debugger/platform/swf WEB-INF/lps/lfc/events WEB-INF/lps/lfc/helpers WEB-INF/lps/lfc/kernel WEB-INF/lps/lfc/kernel/dhtml WEB-INF/lps/lfc/kernel/svg WEB-INF/lps/lfc/kernel/swf WEB-INF/lps/lfc/kernel/swf/dojo/flash6 WEB-INF/lps/lfc/kernel/swf/dojo/flash8 WEB-INF/lps/lfc/kernel/swf9 WEB-INF/lps/lfc/services WEB-INF/lps/lfc/views WEB-INF/lps/schema WEB-INF/lps/server/sc/src/org/openlaszlo/sc WEB-INF/lps/server/src/org/openlaszlo/sc build-tools docs docs/includes docs/src docs/src/contributors docs/src/contributors/images docs/src/developers docs/src/developers/images docs/src/developers/images/reference-header-explanation.graffle docs/src/developers/images/reference-methods-explanation.graffle docs/src/developers/images/reference-overview-explanation.graffle docs/src/developers/programs docs/src/developers/programs/resources docs/src/developers/tutorials docs/src/developers/tutorials/programs docs/src/reference docs/src/xsl laszlo-explorer laszlo-explorer/coverpages lps/components/debugger lps/includes test/lztest
dda@openlaszlo.org
dda at openlaszlo.org
Fri Jan 4 08:21:23 PST 2008
Author: dda
Date: 2008-01-04 08:20:15 -0800 (Fri, 04 Jan 2008)
New Revision: 7726
Added:
openlaszlo/branches/devildog/docs/src/developers/branch-management.dbk
openlaszlo/branches/devildog/docs/src/developers/change-submission.dbk
openlaszlo/branches/devildog/docs/src/developers/data_app.dbk
openlaszlo/branches/devildog/docs/src/developers/doc-backwards-xform.dbk
openlaszlo/branches/devildog/docs/src/developers/doc-toolchain.dbk
openlaszlo/branches/devildog/docs/src/developers/docbook-code.dbk
openlaszlo/branches/devildog/docs/src/developers/docbook-local.dbk
openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build-developers.png
openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build.graffle
openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build.png
openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain-is-docbook.graffle
openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain-is-docbook.png
openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain.graffle
openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain.png
openlaszlo/branches/devildog/docs/src/developers/images/doc_overview_simple.png
openlaszlo/branches/devildog/docs/src/developers/images/doc_reference_details.png
openlaszlo/branches/devildog/docs/src/developers/images/docbook-to-html.graffle
openlaszlo/branches/devildog/docs/src/developers/images/docbook-to-html.png
openlaszlo/branches/devildog/docs/src/developers/images/js2doc2dbk.graffle
openlaszlo/branches/devildog/docs/src/developers/images/js2doc2dbk.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes-explanation.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes-table.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-events.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-example-explanation.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle/
openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.png
openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle/
openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle/
openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/js2doc-local.dbk
openlaszlo/branches/devildog/docs/src/developers/js2doc-ref.dbk
openlaszlo/branches/devildog/docs/src/developers/licenses.dbk
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$1.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$3.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$4.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$5.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$6.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$8.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$9.lzx
openlaszlo/branches/devildog/docs/src/developers/source-build.dbk
Removed:
openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/swf/LzMemory.as
openlaszlo/branches/devildog/docs/src/contributors/branch-management.dbk
openlaszlo/branches/devildog/docs/src/contributors/change-submission.dbk
openlaszlo/branches/devildog/docs/src/contributors/doc-toolchain.dbk
openlaszlo/branches/devildog/docs/src/contributors/docbook-code.dbk
openlaszlo/branches/devildog/docs/src/contributors/docbook-local.dbk
openlaszlo/branches/devildog/docs/src/contributors/images/doc-toolchain.graffle
openlaszlo/branches/devildog/docs/src/contributors/images/doc-toolchain.png
openlaszlo/branches/devildog/docs/src/contributors/js2doc-local.dbk
openlaszlo/branches/devildog/docs/src/contributors/js2doc-ref.dbk
openlaszlo/branches/devildog/docs/src/contributors/licenses.dbk
openlaszlo/branches/devildog/docs/src/contributors/release-management.dbk
openlaszlo/branches/devildog/docs/src/contributors/source-build.dbk
openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle/data.plist
openlaszlo/branches/devildog/docs/src/developers/tutorials/data_app.dbk
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$1.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$3.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$4.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$5.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$6.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$8.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$9.lzx
Modified:
openlaszlo/branches/devildog/
openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/Class.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzFormatter.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzRuntime.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzDictionary.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzNode.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/UserClass.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataAttrBind.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataElement.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataRequest.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataText.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzParsedPath.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzReplicationManager.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/Library.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/LzMemory.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/events/LaszloEvents.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/helpers/LzFont.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/LzLibraryCleanup.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzContextMenu.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/svg/LzSprite.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzContextMenu.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMakeLoadSprite.as
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzContextMenu.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLibraryLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzCSSStyle.js
openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzIdle.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzInstantiator.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTimer.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTrack.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloCanvas.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloView.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzScript.lzs
openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzViewLinkage.lzs
openlaszlo/branches/devildog/WEB-INF/lps/schema/build.xml
openlaszlo/branches/devildog/WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java
openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
openlaszlo/branches/devildog/build-tools/runlztest.sh
openlaszlo/branches/devildog/build.xml
openlaszlo/branches/devildog/docs/includes/docbook.css
openlaszlo/branches/devildog/docs/includes/styles.css
openlaszlo/branches/devildog/docs/release-notes.html
openlaszlo/branches/devildog/docs/src/build.xml
openlaszlo/branches/devildog/docs/src/contribset.dbk
openlaszlo/branches/devildog/docs/src/developers/browser-integration.dbk
openlaszlo/branches/devildog/docs/src/developers/fonts.dbk
openlaszlo/branches/devildog/docs/src/developers/index.dbk
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$15.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$20.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$22.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$23.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$26.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$9.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/introductory-classes-$17.lzx
openlaszlo/branches/devildog/docs/src/developers/programs/resources/phonebook.xml
openlaszlo/branches/devildog/docs/src/developers/tutorials/comp-intro.dbk
openlaszlo/branches/devildog/docs/src/developers/tutorials/laszlo_basics.dbk
openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data-tutorial-$6.lzx
openlaszlo/branches/devildog/docs/src/developers/tutorials/scripting.dbk
openlaszlo/branches/devildog/docs/src/reference/index.dbk
openlaszlo/branches/devildog/docs/src/reference/welcome.html
openlaszlo/branches/devildog/docs/src/xsl/common-html.xsl
openlaszlo/branches/devildog/docs/src/xsl/conditional-html.xsl
openlaszlo/branches/devildog/docs/src/xsl/dbk-toc2nav.xsl
openlaszlo/branches/devildog/docs/src/xsl/js2doc2dbk.xsl
openlaszlo/branches/devildog/docs/src/xsl/lzx-pretty-print.xsl
openlaszlo/branches/devildog/docs/src/xsl/lzx2js2doc.xsl
openlaszlo/branches/devildog/docs/src/xsl/parameters.xsl
openlaszlo/branches/devildog/docs/src/xsl/refguide-html.xsl
openlaszlo/branches/devildog/laszlo-explorer/coverpages/documentation_cover.html
openlaszlo/branches/devildog/laszlo-explorer/nav.xml
openlaszlo/branches/devildog/laszlo-explorer/nav_dhtml.xml
openlaszlo/branches/devildog/lps/components/debugger/newcontent.lzx
openlaszlo/branches/devildog/lps/components/debugger/scrollingtext.lzx
openlaszlo/branches/devildog/lps/includes/laszlo-debugger.css
openlaszlo/branches/devildog/test/lztest/lztest-text.lzx
Log:
Merged revisions 7498-7718 via svnmerge from
http://svn.openlaszlo.org/openlaszlo/trunk
.......
r7499 | dda | 2007-12-10 19:01:11 -0500 (Mon, 10 Dec 2007) | 37 lines
Change 20071210-dda-l by dda at freddie.local on 2007-12-10 16:16:47 EST
in /Users/dda/laszlo/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Allow certain new keywords to be identifiers
New Features: none
Bugs Fixed: LPP-5226, LPP-5178
Technical Reviewer: ptw
QA Reviewer: hminsky
Doc Reviewer: (pending)
Documentation: none
Release Notes: none
Details:
New keywords: internal, final, override, dynamic, static can be identifiers.
Confirmed with SWF9 third party compiler that these are allowed, and also that
public/private/protected are not allowed (oddly enough).
Made a common shared function in the grammar to get maximal code sharing.
This change fixes a problem exposed by the addition of the new keywords.
We need the keywords to make changes to LFC files that will be shared
among runtimes.
Tests:
http://localhost:8080/trunk/examples/components/style_example.lzx
with SWF7 (the reported test case), also SWF8 and DHTML.
smokecheck SWF8, DHTML
Tried some .lzs files mentioned in LPP-5178 to verify that the
new keywords are still accepted in the appropriate places.
.......
r7518 | ptw | 2007-12-12 08:13:58 -0500 (Wed, 12 Dec 2007) | 55 lines
Change 20071209-ptw-k by ptw at dueling-banjos.local on 2007-12-09 09:32:18 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix Sprite memory Leaks
Bugs Fixed:
LPP-5217 'windows can leak memory
Technical Reviewer: a.bargull at intensis.de (message://<475F0E97.90905@intensis.de>)
QA Reviewer: philip at pbrdev.com (message://<20071210171315.089691DF284@hemicuda.laszlosystems.com>)
Doc Reviewer: (pending)
Details:
LzMakeLoadSprite.*, LzSprite.*: Eliminate recursion argument. Not
used for sprites.
LzSprite.*: In #destroy set __LZdeleted flag to prevent events
from resurrecting you. No need for recursive sprite destruction
now. Move delegate removal back to destroy from predestroy.
LzSprite.js: If parent is not being deleted, remove yourself from
your parent's childnodes array.
LzIdle: Be careful to create coi Array on instance, not prototype.
LzNode: Comment and simplify $once and $always processing. Add
comment to explain importance of __LzDeleted flag.
LaszloView: Destroy the sprite _before_ you check for a recursive
call.
LzReplicationManager: Remove superfluous call to LzSprite#destroy.
newcontent, scrollingtext: Remove unused id (that causes a leak).
Tests:
I modified Phil's test case to only create/destroy 1 window per
click. The test methodology is:
1. Start test
2. Click twice to create any shared substrate
3. Debug.markObjects()
4. Click once
5. Debug.findNewObjects()
6. Debug.whyAlive()
Result: Before change, many leaked window sprites. After change, no
leaked window sprites.
NOTE: There are still some other minor leaks that I have not
attempted to address here, but will report as a separate bug.
.......
r7522 | ben | 2007-12-12 16:34:57 -0500 (Wed, 12 Dec 2007) | 24 lines
Change 20071212-ben-1 by ben at 45.1.59.10.in-addr.arpa on 2007-12-12 13:28:49 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Update release notes for 4.1.x (no real content, though)
New Features:
Bugs Fixed: LPP-5192, Update release notes for RingDing release before shipping
Documentation:
I took out the old stuff that was specific to 4.0.5|6|7 releases, and replaced
it with TBD's for the new features and bugs fixed in 4.1. When it's time to ship,
of course, those will have to be filled in. For the moment, though, the
release notes at least say something sensible, namely:
OpenLaszlo 4.1.x is a series of nightly builds from live development. For production,
we recommend using OpenLaszlo 4.0.7.
Tests:
http://localhost:8080/trunk/docs/release-notes.html
passes validation
.......
r7528 | ben | 2007-12-12 19:40:55 -0500 (Wed, 12 Dec 2007) | 20 lines
Change 20071212-ben-f by ben at 45.1.59.10.in-addr.arpa on 2007-12-12 16:31:21 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Eliminated links to Contributor's Guide from laszlo explorer
Bugs Fixed: LPP-4123 Selecting Contributor's Guide from laszlo-explorer results in an error
Documentation:
We don't build, maintain, or ship the contributor's guide anymore, so we
shouldn't link to it from laszlo explorer.
I also modified the wording on the reference guide, pointing people at the
local reference guide first, and the lps3 reference guide as a backup.
Tests:
Laszlo Explorer -> Documentation -> right side of page, no link to Contributor's Guide.
Laszlo Explorer -> Documentation -> in explorer menu on left side of page, no entry for Contributor's Guide
.......
r7530 | ben | 2007-12-12 20:17:19 -0500 (Wed, 12 Dec 2007) | 24 lines
Change 20071212-ben-n by ben at 45.1.59.10.in-addr.arpa on 2007-12-12 17:14:41 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Enable building contributor's guide on demand
Documentation:
There is some useful tools information in the contributor's guide.
This change makes it possible to build just the contributor's guide,
and not the contributor's reference, by calling "ant contributors"
in docs/src.
This does not change the fact that we don't maintain or ship
the contributor's guide; it just had some tasty information in
it that I wanted to look at, and this was the best way to get
that information out. Someday, we should start shipping this
information again.
Tests:
cd docs/src
ant contributors
http://localhost:8080/trunk/docs/contributors/index.html
.......
r7539 | ben | 2007-12-13 23:50:04 -0500 (Thu, 13 Dec 2007) | 63 lines
Change 20071213-ben-V by ben at slim.local on 2007-12-13 19:36:49 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Include a DOCTYPE in the doctools generated content
Bugs Fixed: LPP-5258 doctools should generate html with a DOCTYPE
QA Reviewer: brynn
Documentation:
The html that the doctools was generating did not have a doctype at all. Some
research (thank you, Tucker) revealed that the lack of a doctype was probably
sending IE into quirks mode, which probably explains the many visual errors we
were seeing only in IE.
This change gets saxon to insert a doctype (XHTML 1.0 Transitional) at the
beginning of every html file it generates. This change *should* avoid quirks
mode in everything we care about except for IE6; apparently, this combination
will still evoke quirks mode in IE6.
When this code makes it into a build, the various IE-specific visual errors should be rechecked; hopefully they will be gone!
HOWEVER: this change seems to cause tons of extra space to be inserted in program listings. That seems like a problem that we'll just have to deal with; getting a right doctype in is the Right Thing To Do.
The first lines of every generated html file now look like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
...
based on http://hsivonen.iki.fi/doctype/ this doctype/xml declaration combination will provoke standards mode in almost everything:
NS6
Mozilla 0.6=0.9.4 and Netscape 6.0--6.2.3
Old Moz
Mozilla 0.9.5 through 1.1 alpha and Mozilla 1.0
Moz & Safari
Mozilla 1.0.1, Mozilla 1.1 beta and later, Firefox and Netscape 7, Safari v73 aka. 0.9 through Safari v419.3 aka. 2.0.4, Konqueror 3.5
Opera 9
Opera 9.0-9.10
Opera 7.5
Opera 7.5-8.02
..."Almost Standards" mode in...
IE 7 & Opera 7.10
Windows IE 7 and Opera 7.10-7.23
...and quirks mode only in...
IE 6 & Opera 7.0
Windows IE 6 and Opera 7.0-7.03
Konq 3.2
Tests:
Inspect a single html page output by the doctools in both the reference and the
devguide. Notice that it begins with a doctype. Also note that it is w3c valid
XHTML transitional!
.......
r7546 | ben | 2007-12-14 16:48:57 -0500 (Fri, 14 Dec 2007) | 35 lines
Change 20071214-ben-J by ben at slim.local on 2007-12-14 11:43:10 PST
in /Users/ben/src/svn/openlaszlo/trunk-to-kill-dtd
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Stop building the dtd, ever
New Features:
Bugs Fixed: LPP-5235 Stop generating the dtd in every build
Technical Reviewer: ptw
QA Reviewer: minsky (pending)
Documentation:
As discussed in email, our current dtd is better than nothing at all, although, since it is not being maintained, you could save yourself some trouble by generating it once and just checking it in to svn.
I've checked in the current dtd and related files (xsd, rng, rnc) to
http://svn.openlaszlo.org/attic/schema/
and with this change, the build no longer tries to do anything at
all with building or thinking about or including the dtd
Notice that the build file in WEB-INF/lps/schema/build.xml
no longer even mentions python. This might well be our last
use of python in the build.
Release Notes:
Details:
Tests:
ant dist-one succeeds.
.......
r7550 | ptw | 2007-12-14 16:57:57 -0500 (Fri, 14 Dec 2007) | 21 lines
Change 20071213-ptw-c by ptw at dueling-banjos.local on 2007-12-13 16:14:13 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix swf try/catch
Bugs Fixed:
LPP-5252 'try/catch for swf blows up in large programs'
Technical Reviewer: dda at ddanderson.com (message://<AA5457E3-8F37-46DC-87B0-2BE7A18A257D@ddanderson.com>)
Details:
Store the intermediate result as a relative value (i.e., store the
branch offset to get to the first label, then subtract that from
the branch offset of the second label to get the difference that
you really want)
Tests:
I can compile the LFC with try/catch now
.......
r7561 | ben | 2007-12-16 18:34:54 -0500 (Sun, 16 Dec 2007) | 57 lines
Change 20071216-ben-s by ben at slim.local on 2007-12-16 15:20:28 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Move "building data drive applications" chapter where it belongs
New Features:
Bugs Fixed: (partial) LPP-5039 examples 38.3 and 38.4 broken in Chapter 38. Building Data-Driven Applications
Technical Reviewer: iorio (pending)
Documentation:
The developer's guide chapter, "Building Data Driven Applications", is
not a tutorial, but the files lived inside the developers/tutorials
directory. This made it impossible for the doctools to find the example
code listings when building the html for that chapter.
This change moves the docbook chapter and the related example
code out of the tutorials/ directory and into the top-level
docs/src/developers directory.
The tutorials/ directory is an unnecessary complication that should be done
away with.
This is not a complete fix for this bug! The applications don't
actually appear and run; I suspect this is because they can't find the
data files they need. I suspect more will be revealed if these build
output warnings are addressed:
book.resources.generate:
[mkdir] Created dir: /Users/ben/src/svn/openlaszlo/trunk/docs/developers/programs
[copy] Copying 331 files to /Users/ben/src/svn/openlaszlo/trunk/docs/developers/programs
[mkdir] Created dir: /Users/ben/src/svn/openlaszlo/trunk/docs/developers/images
[copy] Copying 67 files to /Users/ben/src/svn/openlaszlo/trunk/docs/developers/images
[copy] Copying 97 files to /Users/ben/src/svn/openlaszlo/trunk/docs/developers/images
[mkdir] Created dir: /Users/ben/src/svn/openlaszlo/trunk/docs/developers/programs/resources
[copy] Warning: /Users/ben/src/svn/openlaszlo/trunk/docs/src/developers/resources not found.
[mkdir] Created dir: /Users/ben/src/svn/openlaszlo/trunk/docs/developers/data
[copy] Warning: /Users/ben/src/svn/openlaszlo/trunk/docs/src/build/developers/data not found.
[mkdir] Created dir: /Users/ben/src/svn/openlaszlo/trunk/docs/developers/resources
[copy] Warning: /Users/ben/src/svn/openlaszlo/trunk/docs/src/build/developers/resources not found.
[copy] Copying 600 files to /Users/ben/src/svn/openlaszlo/trunk/docs/developers
Release Notes:
Details:
Tests:
ant clean developers
Note that the output no longer says...
[java] Failure reading file:/Users/ben/src/svn/openlaszlo/trunk/docs/src/build/developers/programs/data_app-$1.lzx: /Users/ben/src/svn/openlaszlo/trunk/docs/src/build/developers/programs/data_app-$1.lzx (No such file or directory)
.......
r7562 | ben | 2007-12-16 20:14:54 -0500 (Sun, 16 Dec 2007) | 29 lines
Change 20071216-ben-d by ben at slim.local on 2007-12-16 14:43:37 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Revert revision 7539, which set doctools output to XHTML
Technical Reviewer: ptw
Documentation:
r7539 set the doctools to output xhtml. Tucker argued convincingly
that we should not do this:
I am currently of the opinion that XHTML is not the right choice for our
doc type See why [here](http://www.hixie.ch/advocacy/xhtml).
Hixie argues that you should use HTML 4.01 Transitional (for a number of
technical reasons detailed in the link above). See for instance
WEB-INF/lps/templates/html-response.xslt.
Basically, no current browser will process XHTML as XHTML, unless you
go through hoops on your server and the client is Firefox. In every
other case, your XHTML is really being rendered as 'tag soup', which
makes it rather pointless. XHTML is a concept whose time is not yet
here. OTOH, HTML is becoming a more and more accurate standard.
This change, therefore, backs out the changes that made the output
xhtml.
.......
r7571 | ben | 2007-12-17 16:41:02 -0500 (Mon, 17 Dec 2007) | 31 lines
Change 20071217-ben-K by ben at slim.local on 2007-12-17 12:42:03 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Make doc build output a doctype
Bugs Fixed: LPP-5258 doctools should generate html with a DOCTYPE
Technical Reviewer: ptw
Documentation:
In order to generate html with a doctype, we have to tell docbook-xsl's chunker
that we want a doctype. These two parameters are the way we do so:
+ <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
+ <xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/html4/loose.dtd'"/>
Release Notes:
Details:
Tests:
ant clean doc
inspect one of the output files
notice it begins with...
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
.......
r7573 | ptw | 2007-12-17 17:41:55 -0500 (Mon, 17 Dec 2007) | 64 lines
Change 20071214-ptw-i by ptw at dueling-banjos.local on 2007-12-14 18:23:23 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Make the memory tracer generic
New Features: Memory tracing now works (for some definition of works)
in DHTML in addition to SWF.
Bugs Fixed:
LPP-2071: '__LzDebug.whyAlive() incorrectly reports leaking arrays with SWF8'
Technical Reviewer: a.bargull at intensis.de (pending)
QA Reviewer: promanik at laszlosystems.com (message://<20071216160543.EBA091EF912@hemicuda.laszlosystems.com>)
Documentation:
Debug.markObjects, findNewObjects, whyAlive now work in SWF and
DHTML. DHTML is only beta-quality, and you will get a warning
saying so, because it appears that some underlying runtimes
themselves leak DOM objects (or our usage of them causes them to
be leaked). It works reasonably well in Safari, less well in
Firefox, hangs Opera, is untested in IE (but IE has its own leak
tools).
Details:
kernel.js: Initialize the debug window early so memory tracing can
find it. Use a static style for debugger output, so that a new
CSSStyle object is not consed for every line of debugger output.
LzMemory.lzs: Make this generic (although there are still some if
($as2) bits for now, I think a unified code base is better than
splitting this into the kernels). Add some metering to see how
the background tracer is working. Add some documentation. Add
some try/catch blocks to ignore errors trying to trace native
wrapped objects in DHTML. Don't trace native wrapped object slots
that return a 'new' object each time you access them. Use
set/clearInterval instead of the old tracer movieclip to run the
background task. Fix the path evaluator to be correct and
platform-neutral. Use objectOwnProperties to find slots to trace.
Make the code to hide the debugger from the leak detector generic,
hide the debugger DOM tree. Make whyAlive output all relevant
data, so it can be invoked as a button, not just from the
debugger.
Library.lzs: switch from the platform leak detector to the generic
one.
LzRuntime: Use static style for debugger output.
laszlo-debugger.css: Define that static style.
Tests:
The following test program works for me (pressing the 3 buttons at
the appropriate times, creates a leak report):
<canvas debug="true">
<simplelayout axis="x" />
<button onclick="Debug.markObjects()">Mark</button>
<button onclick="Debug.findNewObjects()">Find New</button>
<button onclick="Debug.whyAlive()">Why Alive</button>
</canvas>
.......
r7575 | ptw | 2007-12-17 20:14:14 -0500 (Mon, 17 Dec 2007) | 25 lines
Change 20071217-ptw-P by ptw at dueling-banjos.local on 2007-12-17 17:56:31 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Brain-oh in LzSprite.js
Bugs Fixed:
LPP-5274 'Error: this.__parent has no properties (DHTML)'
Technical Reviewer: philip at pbrdev.com (pending)
QA Reviewer: maymye (pending)
Details:
Test for __parent before using it
Tests:
Environment: OS X, FF2
Launch laszlo-explorer in flash
Choose Demos in navbar
Choose Amazon
Select the Launch in DHTML button
Observe green checkmark at bottom right of Amazon window, NO LONGER
turns to a red X
.......
r7580 | ben | 2007-12-17 21:58:58 -0500 (Mon, 17 Dec 2007) | 28 lines
Change 20071217-ben-0 by ben at slim.local on 2007-12-17 12:45:57 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Improve canvas sizing in embedded examples in docs
Bugs Fixed: LPP-5207 (partial) change height of example code window from 200 to 400 pixels
Technical Reviewer: iorio (pending)
Documentation:
This change makes the default canvas height for a live example be 400 pixels.
This change also includes an example of the best way to specify the
canvas height, by adding a parameter element to the programlisting element:
<parameter role="canvas">height: 200</parameter>
Examples of this usage are in docs/src/developers/tutorials/comp-intro.dbk
Release Notes:
Details:
Tests:
.......
r7581 | ben | 2007-12-17 22:01:58 -0500 (Mon, 17 Dec 2007) | 27 lines
Change 20071217-ben-l by ben at slim.local on 2007-12-17 13:23:38 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Set canvas color for the first live example in Laszlo Basics
New Features:
Bugs Fixed: LPP-5221 (partial) canvas bgcolor does not work in live examples in the dguide
Technical Reviewer: iorio (pending)
Documentation:
To make a live example have a canvas color, specify the bgcolor in the programlisting's
parameter tag:
<parameter role="canvas">height: 100, width: 500, bgcolor: 'green'</parameter>
Tests:
Notice that the first example in
http://localhost:8080/trunk/docs/developers/tutorials/laszlo_basics.html
has a green background; the rest are white.
Also note that other canvas on that page and on other pages in the dev
guide continue to have white backgrounds.
.......
r7586 | lou | 2007-12-18 07:39:56 -0500 (Tue, 18 Dec 2007) | 23 lines
Change 20071218-lou-p by lou at loumac.local on 2007-12-18 08:27:56 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fonts chapter in the dguide: example 23.2 canvas bgcolor not rendering properly
New Features:
Bugs Fixed:LPP-5276
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
added
<parameter role="canvas">height: 100, width: 500, bgcolor: 'gray'</parameter>
to programlisting
.......
r7590 | lou | 2007-12-18 09:22:34 -0500 (Tue, 18 Dec 2007) | 14 lines
Change 20071218-lou-r by lou at loumac.local on 2007-12-18 10:12:53 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: move the view so it is not obscured by the debug window
Bugs Fixed: http://www.openlaszlo.org/jira/browse/LPP-5278
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
.......
r7594 | lou | 2007-12-18 12:35:10 -0500 (Tue, 18 Dec 2007) | 18 lines
Change 20071218-lou-7 by lou at loumac.local on 2007-12-18 13:26:02 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fix code examples in the browser integration chapter of the dguide
Bugs Fixed: LPP-5279, LPP-5281
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
These code example both had <fixme> tags instead of code.
Replace missing code with code from the 3.4 build
.......
r7598 | ptw | 2007-12-18 17:23:37 -0500 (Tue, 18 Dec 2007) | 17 lines
Change 20071218-ptw-t by ptw at dueling-banjos.local on 2007-12-18 17:09:43 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Type-oh in r7576
Technical Reviewer: max (message://<476724D8.2000904@openlaszlo.org>)
QA Reviewer: mamye (pending)
Details:
Remove stray '_' noticed by Max
Tests:
Ran lpp-5213 test in DHTML, examine canvas.sprite.__children.
Before: 100's of leaked objects, After: 3 expected objects.
.......
r7601 | ben | 2007-12-18 19:45:54 -0500 (Tue, 18 Dec 2007) | 37 lines
Change 20071218-ben-i by ben at slim.local on 2007-12-18 11:59:46 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Turn optimization off in rhino in lztest
Bugs Fixed: Partially unbreaks ant runlzunit
Technical Reviewer: ptw
Documentation:
Rhino was dying strangely in runlzunit since r7573:
lztest:
[exec] Entering runlztest.sh with LPS_HOME=/home/svnbuild/builds/7583-openlaszlo-trunk tags=smoketest
[exec] skipping test/lztest/lztest-textstyle.lzx, does not match tags smoketest
[exec] covers-tags: lzview smoketest
[exec] testing test/lztest/lztest-align.lzx...........
[exec] Compiling: test/lztest/lztest-align.lzx to test/lztest/lztest-align.js
[exec] Exception in thread "main" java.lang.ClassFormatError: Invalid method Code length 66014 in class file org/mozilla/javascript/gen/c3
[exec] at java.lang.ClassLoader.defineClass1(Native Method)
[exec] at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
[exec] at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
We traced this to an issue that rhino has with executing very
long functions. I've worked around this problem by telling rhino
not to do any optimization, with the command line parameter -opt -1.
Details:
ant runlzunit still fails, with erros in
test/lztest/lztest-node-initsequence.lzx and test/lztest/lztest-node-options.lzx
Tests:
.......
r7604 | lou | 2007-12-19 06:01:29 -0500 (Wed, 19 Dec 2007) | 20 lines
Change 20071219-lou-1 by lou at loumac.local on 2007-12-19 06:07:42 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fix examples in the Building Data-Driven Applications chapter of the dguide
Bugs Fixed: LPP-5039
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Details: examples 38.3, 4, 7, and 8 use the file phonebook.xml for their data.
At some point, this file was changed so the root element was renamed from
"phonebook" to "contacts". This has been changed back.
Tests: Make sure the examples work as they do in the 3.4 dguide
.......
r7608 | lou | 2007-12-19 07:13:57 -0500 (Wed, 19 Dec 2007) | 19 lines
Change 20071219-lou-t by lou at loumac.local on 2007-12-19 07:52:06 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fix Example 37.7. Manipulating datapointers in Chapter 37. Data Access and Binding in the dguide
Bugs Fixed: LPP-5293
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Details: changed selectChild(2) to selectChild(1)
Tests: verified that the example works
.......
r7610 | lou | 2007-12-19 07:29:25 -0500 (Wed, 19 Dec 2007) | 18 lines
Change 20071219-lou-r by lou at loumac.local on 2007-12-19 08:24:51 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fixed: databinding chapter in the dguide: Example 11.4. Manipulating datapointers
Bugs Fixed: LPP-5210
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Details: changed selectChild(2) to selectChild(1)
Tests: verified the example works
.......
r7612 | lou | 2007-12-19 08:19:35 -0500 (Wed, 19 Dec 2007) | 20 lines
Change 20071219-lou-f by lou at loumac.local on 2007-12-19 09:09:43 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fix Example 37.18. Using datapointer's iterator methods in the Data access and binding chapter
New Features:
Bugs Fixed: LPP-5294
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Details: changed to look in phonebook.xml for root element "phonebook" instead of "contacts"
Tests: verified the example works
.......
r7614 | lou | 2007-12-19 13:16:26 -0500 (Wed, 19 Dec 2007) | 21 lines
Change 20071219-lou-p by lou at loumac.local on 2007-12-19 14:06:29 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: fix examples 20, 21, and 24 in Data access and binding chapter of the dguide
Bugs Fixed: LPP-5295
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details: change phonebook:/contacts to phonebook:/phonebook in example code
Tests: verified example code works
.......
r7617 | pbr | 2007-12-19 14:16:13 -0500 (Wed, 19 Dec 2007) | 33 lines
Change 20071218-Philip-6 by Philip at Philip-DC on 2007-12-18 16:27:25 EST
in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fixed text size caching in IE7
New Features:
Bugs Fixed: LPP-5176
Technical Reviewer: max
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
LzTextSprite.getTextSize() has a cache to save computation, and this cache is erased every 1000 entries. The problem is the counter is also zeroed. In IE, the tag name includes the counter value and the name cannot be reused without generating javascript errors. I think IE is trying to reuse the name, but the object has been deleted.
The fix is to never zero the counter. The cache is erased but the counter value is set to its old value.
Tests:
Run test in LPP-5176 in IE7/dhtml. Also tested in FF/dhtml.
Files:
M WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071218-Philip-6.tar
.......
r7620 | ptw | 2007-12-19 15:15:19 -0500 (Wed, 19 Dec 2007) | 19 lines
Change 20071218-ptw-f by ptw at dueling-banjos.local on 2007-12-18 16:53:38 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Deal with rhino
Bugs Fixed:
LPP-5288: 'failing lztest-node-initsequence and lztest-node-options'
Technical Reviewer: ben at openlaszlo.org (message://<F59F9AE8-C18A-417E-843A-131108E77065@laszlosystems.com>)
QA Reviewer: mamye (pending)
Details:
Ignore errors setting up debug console in rhino
Tests:
ant runlztest
.......
r7624 | ben | 2007-12-19 17:50:14 -0500 (Wed, 19 Dec 2007) | 33 lines
Change 20071219-ben-Q by ben at slim.local on 2007-12-19 14:42:49 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Doc tools improvements -- don't load DHTML lfc, specify history: false
New Features:
Bugs Fixed: LPP-5270 $3.startExec is not a function firebug error in embed-compressed.js
LPP-5298 Generated documentation should not include LFCdhtml.js
LPP-5207 change height of example code window from 200 to 400 pixels
Technical Reviewer: none
QA reviewer: liorio
Documentation:
Discussion with Max revealed that we should pass in "history: false" when we call
Lz.swfEmbed( ... ) for a live example, so that we don't irritate the history
mechanism. This makes hundreds of firebug errors go away on every page of the
developer's guide.
Also, it is just not necessary to include LFCdhtml.js when we're not planning to
include any dhtml live examples at this point!
This change also finally makes it so that the default height of embedded examples is
400. I'm not sure why this change does that, but it did, so, rejoice.
Tests:
ant clean developers
visit http://localhost:8080/trunk/docs/developers/color.html note that there are no firebug errors
same with http://localhost:8080/trunk/docs/developers/tutorials/laszlo_basics.html
.......
r7626 | max | 2007-12-19 22:33:49 -0500 (Wed, 19 Dec 2007) | 28 lines
Change 20071217-maxcarlson-V by maxcarlson at Roboto on 2007-12-17 18:14:44 PST
in /Users/maxcarlson/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Add seuuport for setting/getting inputtext selection in DHTML
New Features:
Bugs Fixed: LPP-4106 - LzText getSelectionPosition, getSelectionSize not implemented in DHTML
Technical Reviewer: promanik
QA Reviewer: ptw
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details: lztest-text.lzx - Changed selection tests to use inputtext.
LzSprite.js - Clean up quirks setting, add text_selection_use_range for IE. Fix _parent braino.
LzInputTextSprite.js - Add setSelection() and getSelectionStart() and getSelectionEnd.
Tests: lztest-text.lzx now passes all tests in test4() - selection. Tested in Firefox, Safari and IE 7.
.......
r7634 | ptw | 2007-12-20 10:37:35 -0500 (Thu, 20 Dec 2007) | 20 lines
Change 20071105-ptw-V by ptw at dueling-banjos.local on 2007-11-05 15:10:35 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Ensure deferred events do not recurse
Bugs Fixed:
LPP-4950 'LzDelegate single-execution mechanism does not work for queued delegates'
Technical Reviewer: hminksy (pending)
QA Reviewer: a.bargull at intensis.de (message://<4755B32F.7080302@intensis.de>)
Details:
More closely mimic sendEvent when processing deferred events by
locking the event and delegate that was deferred from recursing.
Tests:
Test case from bug no longer shows the event recursing.
.......
r7635 | lou | 2007-12-20 10:38:45 -0500 (Thu, 20 Dec 2007) | 18 lines
Change 20071220-lou-B by lou at loumac.local on 2007-12-20 11:33:17 AST
in /Users/lou/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: replace Example 37.13 in the Data access and binding chapter
Bugs Fixed: LPP-5300
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Details: revert the example code to the one in r3.4
Tests: verify visually
.......
r7645 | ben | 2007-12-20 16:18:24 -0500 (Thu, 20 Dec 2007) | 52 lines
Change 20071220-ben-8 by ben at slim.local on 2007-12-20 12:42:09 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Make example canvases get their height from the example code
New Features:
Bugs Fixed: LPP-5207 (really, this time) change height of example code window from 200 to 400 pixels
Technical Reviewer: iorio (pending)
QA Reviewer: brynn (pending)
Documentation:
Two crucial changes here! First, our build file was set up wrong when it
generated the intermediate developers/index.dbk. It has to put this file into
docs/src/build/developers/index.dbk; it used to put it into
docs/developers/index.dbk -- effectively losing all the delicious processing that
had been done to it by the dbkpreprocessexamles.xsl worksheet. That delicious
processing includes a step that determines the canvas width and height from the
program listing itself.
Second! The part of common-html.xsl that actually sends canvas parameters to
Lz.swfEmbed(...) was only sending the first canvas parameter it found! This
code...
<xsl:variable name="canvas-parameters">
<xsl:if
test="parameter[@role='canvas']">
<xsl:value-of select="parameter[@role='canvas']"/>
</xsl:if> ...
</xsl:variable>
...actually only puts the first answer to the xpath query
parameter[@role='canvas'] into the variable $canvas-parameters. This is an xsl
subtlety that I don't understand, but it has something to do with how node-sets
are coerced into strings when their value is taken. To fix this, I have added a
for-each which explicitly concatenates the value of each canvas parameter, with a
comma between them. This (thank goodness) inserts the correct canvas width and
height parameters into the call to Lz.swfEmbed.
Tests:
Note the canvas height for example 34.1, basecomponent, is 260 pixels,
as specified in the program listing:
http://localhost:8080/trunk/docs/developers/custom-components.html
Note that the canvas height of the first two examples is 30 pixels,
as specified in the program listing:
http://localhost:8080/trunk/docs/reference/lz.button.html
.......
r7649 | ben | 2007-12-21 00:17:26 -0500 (Fri, 21 Dec 2007) | 35 lines
Change 20071220-ben-S by ben at slim.local on 2007-12-20 21:05:22 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Move chapters from contributor's guide into developer's guide
New Features: Chapters in devguide on doc toolchain, source build, licenses
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Several good chapters were hiding away in the contributors/ directory,
never making it into the shipped documentation. This change moves
the tasty chapters into the developer's guide, and adds them to
developers/index.dbk so they are included in the developer's
guide. These chapters are mostly incomplete, but they contain
useful information even so.
This change also adds an appendix listing all the components
of the distribution, and the associated licenses.
This change also consolidates several sections of the
developer's guide which each had one chapter into a single
section, which I've called "Advanced Topics."
Release Notes:
Details:
Tests:
.......
r7655 | max | 2007-12-21 10:38:05 -0500 (Fri, 21 Dec 2007) | 24 lines
Change 20071220-maxcarlson-X by maxcarlson at Roboto.local on 2007-12-20 13:13:36 PST
in /Users/maxcarlson/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: UPDATED - Fix enable/disabling of delegates bound to lztimer
New Features:
Bugs Fixed: LPP-5302 - LzTimer ignores disabled events
Technical Reviewer: promanik
QA Reviewer: ptw
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details: Check if a context is deleted before executing the delegate. Add more comments to keep track of inlining, fix inlining to match implementation of execute(). We need compiler inlining!!!
Tests: smoketest and testcase in LPP-5302 passes.
.......
r7661 | ben | 2007-12-21 18:53:46 -0500 (Fri, 21 Dec 2007) | 19 lines
Change 20071221-ben-a by ben at slim.local on 2007-12-21 15:42:59 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Improvements to contributor-oriented chapters in devguide
Documentation:
Modified the "Source Build" chapter to be up to date for the
4.1.x build, with no python and no jython required. Updated
it with some of the more recent changes on the wiki. This chapter
is now just about as good as
http://wiki.openlaszlo.org/SubversionBuildInstructions.
Gave each chapter an id, so the html chunks have nice filenames
instead of just "ch55.html"
Removed the completely empty chapter on release management.
.......
r7663 | ben | 2007-12-22 00:32:44 -0500 (Sat, 22 Dec 2007) | 29 lines
Change 20071221-ben-X by ben at slim.local on 2007-12-21 21:24:33 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Add explanation of first part of reference doc build
Documentation:
This checkin fills in the documentation toolchain chapter in the
developer's guide with an overview and then with a walkthrough of
each of the code entry points into the reference build data flow,
with examples of the relevant source and intermediate products.
I've also added two diagrams based on the doc-toolchain.graffle
dataflow diagram; the first, doc_overview_simple.png, is a
much simpler (but less accurate) representation of the doctools.
The second, doc_reference_details.png, is a simplified magnification
of three strands of the reference guide workflow.
We're keeping the original, highly-detailed data flow diagram,
of course.
Release Notes:
Details:
Tests:
.......
r7668 | ben | 2007-12-25 18:26:07 -0500 (Tue, 25 Dec 2007) | 7 lines
Change 20071225-ben-U by ben at slim.local on 2007-12-25 15:19:54 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: More discussion of the documentation toolchain
.......
r7671 | ben | 2007-12-26 21:10:36 -0500 (Wed, 26 Dec 2007) | 24 lines
Change 20071226-ben-7 by ben at slim.local on 2007-12-26 18:06:19 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Checkpointing more work on doctools explanatory chapter
Documentation:
Filled out a section about how js2doc intermediate files are
transformed into docbook files. This is the second major phase
of the documentation toolchain. (The remaining major phase is
docbook to html.)
A new diagram helps focus attention on this phase of the transformation.
This checkin also includes some advice on how to learn and
modify the documentation toolchain.
This checkin also adds emphasis to fragments of the program
listings.
Tests:
.......
r7673 | ben | 2007-12-27 16:57:29 -0500 (Thu, 27 Dec 2007) | 11 lines
Change 20071227-ben-y by ben at slim.local on 2007-12-27 13:55:42 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Additional content for the chapter describing the doctools
Documentation:
Added examples of many different id's and explained their structure.
Rearranged the js2doc2dbk section.
.......
r7675 | ben | 2007-12-27 23:04:34 -0500 (Thu, 27 Dec 2007) | 13 lines
Change 20071227-ben-a by ben at slim.local on 2007-12-27 20:02:53 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Improve structure of doctools chapter
Documentation:
This change improves the structure of the doctools chapter,
adds more diagrams, and cleans up the dataflow description to
match the document structure.
.......
r7678 | ben | 2007-12-29 00:53:26 -0500 (Sat, 29 Dec 2007) | 12 lines
Change 20071228-ben-o by ben at slim.local on 2007-12-28 21:50:31 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: doctools explanation: the ant build process, directory structure.
Documentation:
Added a diagram and explanation of how the ant build works and where
the important directories are and what the ant properties are that
match the actual directories.
.......
r7680 | ben | 2007-12-29 19:05:47 -0500 (Sat, 29 Dec 2007) | 14 lines
Change 20071229-ben-U by ben at slim.local on 2007-12-29 15:52:35 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Added pointers to the documentation about the documentation
Documentation:
Lest the next documentation tool maintainer overlook the words
of wisdom I am tucking away in the chapter about the doctools,
I have inserted pointers to that documentation at the beginning
of many of the key files of the doc build.
.......
r7682 | ben | 2007-12-29 19:07:53 -0500 (Sat, 29 Dec 2007) | 11 lines
Change 20071229-ben-x by ben at slim.local on 2007-12-29 16:06:12 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Improvements to visual look of documentation
Documentation:
Tweaked a few styles in the doc's CSS for a more
pleasing visual presentation.
.......
r7684 | ben | 2007-12-29 19:10:26 -0500 (Sat, 29 Dec 2007) | 14 lines
Change 20071229-ben-r by ben at slim.local on 2007-12-29 16:08:09 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Added an image and some explanation about how the
developer's guide is built by ant.
Documentation:
A new image at the bottom of the chapter shows the flow
through ant tasks in the process of building the
developer's guide.
.......
r7687 | ben | 2007-12-30 17:25:07 -0500 (Sun, 30 Dec 2007) | 42 lines
Change 20071230-ben-C by ben at slim.local on 2007-12-30 14:06:08 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Much doctools work and work on the documentation of the doctools
New Features: Chapter for the backwards transformation, from output to source
Documentation:
This change adds a new chapter describing the "backwards transformation,"
looking at visual elements of the output reference pages, and showing
how those elements came from docbook, and how those elements came from
js2doc, and how those elements came from source.
The purpose of this chapter is to give a starting point for a developer
who wants to change a particular thing, without having to snarf the
entire doctools structure.
Release Notes:
Details:
docs/src/developers/doc-toolchain.dbk
moved backwards transformation into its own chapter
docs/src/developers/doc-backwards-xform.dbk
new chapter to describe backwards transformation
docs/src/developers/index.dbk
added new chapter to the developer's guide
docs/src/build.xml
turned off draft mode
docs/src/xsl/common-html.xsl
took out debugging messages (just diagnostic, they didn't indicate a problem)
docs/src/developers/images/reference*
added new images with captures of a reference page and sections called out
Tests:
.......
r7693 | ben | 2008-01-01 19:52:17 -0500 (Tue, 01 Jan 2008) | 43 lines
Change 20080101-ben-w by ben at slim.local on 2008-01-01 16:43:46 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix misplaced comma in embedded examples
New Features:
Bugs Fixed:
Technical Reviewer: (pending)
QA Reviewer: max (pending)
Doc Reviewer: (pending)
Documentation:
Max reported a bug due to a stray comma:
http://labs.openlaszlo.org/trunk-nightly/docs/developers/tutorials/views-tutorial.html#
is failing now, due to a stray comma in the embedSWF calls, e.g.
Lz.swfEmbed({url: 'programs/views-tutorial-$1.lzx?lzt=swf', id: 'd0e6065SWF', history: false, width: 500,
height: 300,
});
This change moves around where we generate commas in the canvas parameters when
generating a live example. It now looks like this:
Lz.swfEmbed({url: 'programs/views-tutorial-$1.lzx?lzt=swf', id: 'd0e6061SWF', history: false
, width: 500
, height: 300});
Release Notes:
Details:
Tests:
build the doc
inspect the source of tutorials/views-tutorial.html
note good comma-ness.
.......
r7695 | ben | 2008-01-01 21:30:47 -0500 (Tue, 01 Jan 2008) | 15 lines
Change 20080101-ben-m by ben at slim.local on 2008-01-01 18:26:23 PST
in /Users/ben/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Description of how to trace the reference page contents back to the source
Documentation:
Febrile quest to trace important sections of the output reference *back*
to the xsl templates, js2doc intermediates, and docbook intermediates from
where they originate.
After the next build, this chapter will be available at:
http://labs.openlaszlo.org/trunk-nightly/docs/developers/doc-backwards.html
.......
r7702 | ptw | 2008-01-02 15:09:38 -0500 (Wed, 02 Jan 2008) | 26 lines
Change 20071220-ptw-4 by ptw at dueling-banjos.local on 2007-12-20 16:36:26 EST
in /Users/ptw/OpenLaszlo/ringding-2
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Use modern class constructor syntax
Bugs Fixed:
LPP-5307 'Our class constructor/initializer don't match JS2'
Technical Reviewer: dda at ddanderson.com (Message-Id: <347A6E41-4116-4AAE-BF9B-AFCE3377DA78 at ddanderson.com>)
QA Reviewer: max at laszlosystems.com (pending)
Details:
CommonGenerator: Output the initializer as a compiler function
$lzsc$initizlize. Translate super() calls to calls to
super.$lzsc$initialize.
Parser: accept super() calls
*: Rename initialize methods to the class name, use super() calls
to invoke the superclass initializer.
Tests:
smokecheck, sample apps
.......
r7717 | ptw | 2008-01-03 12:57:35 -0500 (Thu, 03 Jan 2008) | 24 lines
Change 20080103-maxcarlson-H by maxcarlson at Roboto.lan on 2008-01-03 00:01:55 PST
in /Users/maxcarlson/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix memory leaks for CSS-styled elements
New Features:
Bugs Fixed: LPP-5321 - Serious memory leak for CSS styled nodes
Technical Reviewer: ptw
QA Reviewer: mdemmon
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details: Attach style caches to the relevant nodes, instead of keeping global copies. This way, they're destroyed along with the nodes.
Tests: See LPP-5321. /trunk/test/style/metasuite.lzx continues to pass.
.......
Property changes on: openlaszlo/branches/devildog
___________________________________________________________________
Name: svnmerge-integrated
- /openlaszlo/branches/wafflecone:1-5746,5818-6068,6070-6205,6207-6213,6216-6265,6267-6368,6370-6431,6433-6450,6497 /openlaszlo/trunk:1-7497
+ /openlaszlo/branches/wafflecone:1-5746,5818-6068,6070-6205,6207-6213,6216-6265,6267-6368,6370-6431,6433-6450,6497 /openlaszlo/trunk:1-7718
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/Class.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/Class.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/Class.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/***
* Classes for Javascript with Mixins
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007, 2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access private
@@ -26,7 +26,7 @@
*/
var Instance = function constructor () {
this.constructor = arguments.callee
- this.initialize.apply(this, arguments);
+ this.$lzsc$initialize.apply(this, arguments);
};
Instance.prototype.constructor = Instance;
Instance.prototype.__initialized = false;
@@ -134,7 +134,7 @@
});
/**
- * Instance initialize method
+ * Instance $lzsc$initialize method
*
* Called by Instance constructor as the last operation on a new
* instance of a class. Arguments are the arguments that were passed
@@ -149,7 +149,7 @@
*
* @devnote The call to the default method is optimized away in class constructors
*/
-Instance.prototype.addProperty('initialize', function initialize () {});
+Instance.prototype.addProperty('$lzsc$initialize', function $lzsc$initialize () {});
/**
* Class initialize method
@@ -285,9 +285,9 @@
this.validateClassStructure();
}
// Call the initializer if it is not the default
- if (this.initialize !== Instance.prototype.initialize) {
+ if (this.$lzsc$initialize !== Instance.prototype.$lzsc$initialize) {
// Debug.debug('Initializing', this);
- this.initialize.apply(this, arguments);
+ this.$lzsc$initialize.apply(this, arguments);
}
};
nc.constructor = this;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzFormatter.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzFormatter.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzFormatter.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -3,7 +3,7 @@
/**
* Formatted output
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -21,7 +21,7 @@
var message = '';
var length = 0;
- function initialize (message) {
+ function LzMessage (message) {
if (arguments.length > 0) {
this.appendInternal('' + message, message);
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzRuntime.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzRuntime.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/compiler/LzRuntime.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/* -*- mode: JavaScript; c-basic-offset: 2; -*- */
/**
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access private
@@ -125,7 +125,7 @@
var dwd = dw.document;
var span = dwd.createElement('span');
// IE does not display \n in white-space: pre, so we translate...
- span.innerHTML = '<span style="white-space: pre">' + msg.split('\n').join('<br />') + '</span>';
+ span.innerHTML = '<span class="OUTPUT">' + msg.split('\n').join('<br />') + '</span>';
dwd.body.appendChild(span);
// Scroll to end
span.scrollIntoView(false);
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzDictionary.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzDictionary.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzDictionary.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -3,7 +3,7 @@
*
* Operations are containsKey, get, put, putAll
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007, 2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @todo 2006-05-22 ptw Needs proper iteration support
@@ -16,7 +16,7 @@
class LzDictionary extends Instance {
// If object is supplied, the elements of object will be added to
// the dictionary
- function initialize (object) {
+ function LzDictionary (object) {
// have to hold entries in an object not self or our methods
// appear as keys
this.entries = new Object;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzNode.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzNode.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/LzNode.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,7 +2,7 @@
* LzNode.lzs
*
* *
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic LZX
@@ -47,11 +47,11 @@
* @param Boolean instcall
* @access private
*/
-function initialize ( parent , attrs , children , instcall ){
+function LzNode ( parent , attrs , children , instcall ){
this.__LZUID = "__U" + ++LzNode.__UIDs;
this.__LZdeferDelegates = true;
var qpos = LzDelegate.__LZdelegatesQueue.length;
- super.initialize.apply(this, arguments);
+ super();
// Node node start
if ($profile) {
@@ -306,6 +306,10 @@
/** @access private */
var __LZUID = null;
/** @access private */
+var __LZPropertyCache = null;
+/** @access private */
+var __LZRuleCache = null;
+/** @access private */
var __LZdelegates = null;
/** @access private */
@@ -1296,7 +1300,7 @@
* @access private
*/
function __LZresolveRefs ( refs ){
- //need to resolve init= before constraints...
+ // $once are applied before $always
for ( var p in refs ){
var rp = refs[ p ];
var pp;
@@ -1321,18 +1325,17 @@
}
}
this.dataBindAttribute( p , pp );
- } else if ( !('dependencies' in rp && rp.dependencies) ){
- if (rp instanceof Function) {
- rp.call(this);
- }
+ } else if ((rp instanceof Function) &&
+ // A function with no or null dependencies is a $once
+ (! ('dependencies' in rp && rp.dependencies))) {
+ rp.call(this);
}
}
- // Now resolve the $always values
+ // Functions with dependencies are $always
for ( var p in refs ){
- // The string check prevents a dhtml error
var rp = refs[ p ];
- if (rp instanceof Function && ('dependencies' in rp)) {
+ if ((rp instanceof Function) && ('dependencies' in rp)) {
this.applyConstraint( p , rp , rp.dependencies.call(this) );
}
}
@@ -1774,7 +1777,7 @@
if (this.__LZdeleted == true) {
return;
}
-
+ // To keep delegates from resurrecting us. See LzDelegate#execute
this.__LZdeleted = true;
if (this.ondestroy.ready) this.ondestroy.sendEvent( this );
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/UserClass.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/UserClass.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/core/UserClass.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,7 +2,7 @@
* UserClass.lzs
*
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic LZX
@@ -74,10 +74,10 @@
*/
static var tagname = 'class';
-function initialize (parent, args) {
+function LzUserClass (parent, args) {
#pragma "warnUndefinedReferences=true"
// TODO: [2006-05-19 ptw] The original did not do this, should we?
- // super.initialize.apply(this, arguments);
+ // super(parent, args);
var classobj = args.initobj;
var classname = classobj.name;
var attrs = classobj.attrs;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataAttrBind.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataAttrBind.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataAttrBind.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access private
@@ -11,7 +11,7 @@
/** @access private */
class LzDataAttrBind extends LzDatapointer {
-function initialize ( ndpath , attr, path ){
+function LzDataAttrBind ( ndpath , attr, path ){
this.setAttr = attr;
this.pathparent = ndpath;
this.node = ndpath.immediateparent;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataElement.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataElement.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataElement.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,5 +1,5 @@
/**
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -639,8 +639,8 @@
class LzDataElement extends LzMiniNode inherits LzDataElementTrait, LzDataNode {
// N.B.: LzDataElement is not an LzNode so has a different
// initialize signature.
- function initialize ( name , attributes , children ) {
- super.initialize.apply(this, arguments);
+ function LzDataElement ( name , attributes , children ) {
+ super(name, attributes, children);
this.nodeName = name;
this.attributes = attributes;
this.ownerDocument = this;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataRequest.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataRequest.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataRequest.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -46,8 +46,8 @@
/** @lzxtype event */
var onstatus = LzDeclaredEvent;
- function initialize (requestor) {
- super.initialize.apply(this, arguments);
+ function LzDataRequest (requestor) {
+ super(requestor);
this.requestor = requestor;
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataText.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataText.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzDataText.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -21,8 +21,8 @@
/**
* @param String text: The text that this node holds.
*/
-function initialize ( text ){
- super.initialize.apply(this, arguments);
+function LzDataText ( text ){
+ super();
this.data = text;
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzParsedPath.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzParsedPath.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzParsedPath.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,401 +1,401 @@
-/**
- *
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
- * Use is subject to license terms.
- *
- * @access private
- * @topic LFC
- * @subtopic Data
- */
-
-/**
- * @access private
- */
-class LzParsedPath {
-
- /**
- * The xpath for this LzParsedPath
- *
- * @access private
- */
- var path = null;
-
- /**
- * Array containing selector-operations for this LzParsedPath
- *
- * @access private
- */
- var selectors = null;
-
- /**
- * Pointer to the dataset (if part of the path) otherwise null
- * (currently only used for "new"-datasets, see deprecated message)
- *
- * @access private
- * @deprecated may lead to memory leaks (LPP-4214)
- */
- var context = null;
-
- /**
- * Name of the dataset (if part of the path)
- *
- * @access private
- */
- var dsetname = null;
-
- /**
- * Name of the datasource (if part of the path)
- *
- * @access private
- */
- var dsrcname = null;
-
- /**
- * Array containing the path to the local-dataset
- *
- * @access private
- */
- var islocaldata = null;
-
- /* Parsing information */
-
- /**
- * One of: "nodeName", "__LZgetText", "serialize", "attributes"
- * or "attributes.xxx" with 'xxx' as an attribute-name
- *
- * @access private
- */
- var operator = null;
-
- /**
- * One of: "position" or "last"
- *
- * @access private
- */
- var aggOperator = null;
-
- /**
- * null or 0
- *
- * @access private
- */
- var operatorArgs = null;
-
- /**
- * true if terminal operator is a attribute-selector, otherwise false
- *
- * @access private
- */
- var hasAttrOper = false;
-
- /**
- * true if path contains a attribute-predicate
- *
- * @access private
- */
- var hasOpSelector = false;
-
- /**
- * true if path contains ".." or "//", otherwise false
- *
- * @access private
- */
- var hasDotDot = false;
-
- /**
- * Return the context for this LzParsedPath
- * Should be used instead of accessing directly the deprecated field context.
- *
- * @access private
- */
- function getContext ( dp ) {
- if (this.context != null) {
- return this.context;
- } else {
- if (this.islocaldata != null) {
- return dp.getLocalDataContext(this.islocaldata);
- } else {
- if (this.dsrcname != null) {
- return (canvas[ this.dsrcname ])[ this.dsetname ];
- } else {
- if (this.dsetname != null) {
- return canvas.datasets[ this.dsetname ];
- }
- }
- }
- }
- return null;
- }
-
- function initialize ( pa, node ){
- //split context part
- this.path = pa;
- this.selectors = [];
- var nowarn = false;
-
- var sourceindex = pa.indexOf( ":/" );
-
- //this.context = pointer to the dataset (if part of the path) otherwise null
-
- if ( sourceindex > -1 ){
- //we have a dset and possible dsource
- var sourceparts = pa.substring( 0 , sourceindex ).split( ":" );
- if ( sourceparts.length > 1 ){
- var dsrc = LzParsedPath.trim( sourceparts[ 0 ] );
- var dset = LzParsedPath.trim( sourceparts[ 1 ] );
- if (dsrc == 'local') {
- nowarn=true;
- this.islocaldata = dset.split('.');
- } else {
- //we have a datasource and a dataset
- nowarn = ((canvas[ dsrc ])[ dset ] != null);
- this.dsrcname = dsrc;
- this.dsetname = dset;
- }
- } else {
- var name = LzParsedPath.trim( sourceparts[ 0 ] );
- if ( name == "new" ){
- //Debug.write( "setting to anondset" );
- this.context = new AnonDatasetGenerator( this );
- /* } else if ( name == "localdata" ) {
- this.context = node.getLocalDataContext();
- Debug.write('found local dataset 2', this.context);
- this.islocaldata = true;
- */
- } else {
- nowarn = (canvas.datasets[ name ] != null);
- this.dsetname = name;
- }
- }
- if (nowarn != true){
- if ($debug) {
- Debug.error( "couldn't find dataset for %w", pa );
- }
- }
-
- var rest = pa.substring( sourceindex + 2 );
- } else {
- var rest = pa;
- }
-
- // Too simple - see lpp-737
- // var nodes = rest.split( "/" );
-
- var nodes = [];
- var currnode = '';
- var instring = false;
- var escape = false;
- for (var i = 0; i < rest.length; i++) {
- var c = rest.charAt(i);
- if (c == '\\' && escape == false) {
- escape = true;
- continue;
- } else if (escape == true) {
- escape = false;
- currnode += c;
- continue;
- } else if (instring == false && c == "/") {
- // only count slashes as new nodes if we're not inside a string
- // literal
-
- nodes.push(currnode);
- currnode = '';
- continue;
- } else if (c == "'") {
- instring = instring ? false : true;
- }
- currnode += c;
- }
- nodes.push(currnode);
-
-
- if (nodes != null) {
- for ( var i = 0 ; i < nodes.length ; i++ ){
- var cnode = LzParsedPath.trim( nodes[ i ] );
-
- if ( i == nodes.length - 1 ){
- //could be terminal operator...
- if ( cnode.charAt( 0 ) == "@" ){
- //attribute
- this.hasAttrOper = true;
- if ( cnode.charAt(1) == "*" ){
- this.operator = "attributes";
- } else {
- this.operator = "attributes." +
- cnode.substring( 1, cnode.length );
- }
- continue;
- } else if ( cnode.charAt( cnode.length -1 ) == ")" ){
- //name, text , serialize
- if ( cnode.indexOf( "last" ) > -1 ){
- this.aggOperator = "last";
- } else if ( cnode.indexOf( "position" ) > -1 ){
- this.aggOperator = "position";
- } else if ( cnode.indexOf( "name" ) > -1 ){
- this.operator = "nodeName";
- } else if ( cnode.indexOf( "text" ) > -1 ){
- this.operator = "__LZgetText";
- this.operatorArgs = 0;
- } else if ( cnode.indexOf( "serialize" ) > -1 ){
- this.operator = "serialize";
- this.operatorArgs = 0;
- } else {
- this.gotError( "Unknown operator: " + cnode );
- }
- continue;
- } else if ( cnode == "" ){
- //this is a trailing slash -- it should be ignored
- continue;
- }
- }
-
- //parse predicates
- var preds = cnode.split( '[' );
- var n = LzParsedPath.trim( preds[ 0 ] );
- this.selectors.push ( n =="" ? "/" : n );
-
- if ( n =="" || n==".." ){
- this.hasDotDot = true;
- }
- if (preds != null) {
- for ( var j = 1; j < preds.length ; j++ ){
- var pred = LzParsedPath.trim( preds[ j ] );
- pred = pred.substring( 0, pred.length-1);
- //Debug.write( 'predicate ' + pred );
-
- if ( LzParsedPath.trim ( pred ).charAt( 0 ) == '@'){
- //Debug.write( 'found predicate ' + pred );
- var attrpred = pred.split( '=' );
- var a;
- var tattr = attrpred[ 0 ].substring(1);
-
- if ( attrpred.length > 1 ){
- var aval = LzParsedPath.trim( attrpred[1] );
- aval = aval.substring( 1 , aval.length-1);
- a = { pred : 'attrval' ,
- attr : LzParsedPath.trim( tattr ),
- val : LzParsedPath.trim( aval )};
- } else {
- a = { pred : 'hasattr',
- attr : LzParsedPath.trim( tattr )};
- }
-
- //Debug.write( a.pred , a.attr , a.val );
- this.selectors.push( a );
- this.hasOpSelector = true;
- } else {
- //we have an offset
-
- var a = pred.split("-");
- //Debug.write( 'offset ' + a );
- a[ 0 ] = LzParsedPath.trim( a[ 0 ] );
-
-
- if ( a[ 0 ] == "" ){
- a[ 0 ] = 1;
- }
-
- if ( a[ 1 ] != null ){
- a[ 1 ] = LzParsedPath.trim( a[ 1 ] );
- }
-
- if ( a[ 1 ] == "" ){
- a[ 1 ] = Infinity;
- } else if ( a.length == 1 ){
- a[ 1 ] = a [ 0 ];
- }
-
- a.pred = "range";
- this.selectors.push( a );
- }
- }
- }
- }
- }
-
- //this.nodearray = an array of strings and offset pairs that represent the
- //slash-separated path for the datapath, with the dataset and operator
- //removed. The offset part of the pair can be:
- //*null if there is no offset given
- //*int if the offset is a single number
- //*array if the offset is dash separated
-
- //this.operator = "t" , "n" , or "a" plus "." and the attribute name
- //text, name or attribute, respectively
-}
-
-/**
- * @access private
- */
-static function trim ( s ){
- var st = 0;
- var dotrim = false;
- while( s.charAt( st ) == " " ){
- st++;
- dotrim = true;
- }
-
- var len = s.length - st;
-
- while( s.charAt( st + len - 1 ) == " " ){
- len--;
- dotrim = true;
- }
-
- return dotrim ? s.substr( st , len ) : s;
-}
-/**
- * @access private
- */
-function toString ( ){
- return "Parsed path for path: " + this.path;
-}
-
-/**
- * @access private
- */
-function debugWrite ( ){
- if ($debug) {
- Debug.write( this );
- Debug.write( " c:" + this.context + "|");
- Debug.write( " n:" + this.selectors.join('|') + "|");
- Debug.write( " d:" + this.operator + "|");
- Debug.write( " " );
- }
-}
-
-} // End of LzParsedPath
-
-
-/**
- * @access private
- */
-class AnonDatasetGenerator {
-
-/**
- * @access private
- */
-function initialize ( pp ){
- this.pp = pp;
-}
-
-/**
- * @access private
- */
-function getContext (){
- var d = new LzDataset( );
- var dp = d.getPointer();
- //start at 1 to skip '/'
- if (this.pp.selectors != null) {
- for ( var i = 0; i < this.pp.selectors.length; i++ ){
- if ( this.pp.selectors[ i ] == "/" ) continue;
- dp.addNode( this.pp.selectors[ i ] );
- dp.selectChild();
- }
- }
-
- return d;
-}
-
-var noncontext = true;
-} // End of AnonDatasetGenerator
+/**
+ *
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
+ * Use is subject to license terms.
+ *
+ * @access private
+ * @topic LFC
+ * @subtopic Data
+ */
+
+/**
+ * @access private
+ */
+class LzParsedPath {
+
+ /**
+ * The xpath for this LzParsedPath
+ *
+ * @access private
+ */
+ var path = null;
+
+ /**
+ * Array containing selector-operations for this LzParsedPath
+ *
+ * @access private
+ */
+ var selectors = null;
+
+ /**
+ * Pointer to the dataset (if part of the path) otherwise null
+ * (currently only used for "new"-datasets, see deprecated message)
+ *
+ * @access private
+ * @deprecated may lead to memory leaks (LPP-4214)
+ */
+ var context = null;
+
+ /**
+ * Name of the dataset (if part of the path)
+ *
+ * @access private
+ */
+ var dsetname = null;
+
+ /**
+ * Name of the datasource (if part of the path)
+ *
+ * @access private
+ */
+ var dsrcname = null;
+
+ /**
+ * Array containing the path to the local-dataset
+ *
+ * @access private
+ */
+ var islocaldata = null;
+
+ /* Parsing information */
+
+ /**
+ * One of: "nodeName", "__LZgetText", "serialize", "attributes"
+ * or "attributes.xxx" with 'xxx' as an attribute-name
+ *
+ * @access private
+ */
+ var operator = null;
+
+ /**
+ * One of: "position" or "last"
+ *
+ * @access private
+ */
+ var aggOperator = null;
+
+ /**
+ * null or 0
+ *
+ * @access private
+ */
+ var operatorArgs = null;
+
+ /**
+ * true if terminal operator is a attribute-selector, otherwise false
+ *
+ * @access private
+ */
+ var hasAttrOper = false;
+
+ /**
+ * true if path contains a attribute-predicate
+ *
+ * @access private
+ */
+ var hasOpSelector = false;
+
+ /**
+ * true if path contains ".." or "//", otherwise false
+ *
+ * @access private
+ */
+ var hasDotDot = false;
+
+ /**
+ * Return the context for this LzParsedPath
+ * Should be used instead of accessing directly the deprecated field context.
+ *
+ * @access private
+ */
+ function getContext ( dp ) {
+ if (this.context != null) {
+ return this.context;
+ } else {
+ if (this.islocaldata != null) {
+ return dp.getLocalDataContext(this.islocaldata);
+ } else {
+ if (this.dsrcname != null) {
+ return (canvas[ this.dsrcname ])[ this.dsetname ];
+ } else {
+ if (this.dsetname != null) {
+ return canvas.datasets[ this.dsetname ];
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ function LzParsedPath ( pa, node ){
+ //split context part
+ this.path = pa;
+ this.selectors = [];
+ var nowarn = false;
+
+ var sourceindex = pa.indexOf( ":/" );
+
+ //this.context = pointer to the dataset (if part of the path) otherwise null
+
+ if ( sourceindex > -1 ){
+ //we have a dset and possible dsource
+ var sourceparts = pa.substring( 0 , sourceindex ).split( ":" );
+ if ( sourceparts.length > 1 ){
+ var dsrc = LzParsedPath.trim( sourceparts[ 0 ] );
+ var dset = LzParsedPath.trim( sourceparts[ 1 ] );
+ if (dsrc == 'local') {
+ nowarn=true;
+ this.islocaldata = dset.split('.');
+ } else {
+ //we have a datasource and a dataset
+ nowarn = ((canvas[ dsrc ])[ dset ] != null);
+ this.dsrcname = dsrc;
+ this.dsetname = dset;
+ }
+ } else {
+ var name = LzParsedPath.trim( sourceparts[ 0 ] );
+ if ( name == "new" ){
+ //Debug.write( "setting to anondset" );
+ this.context = new AnonDatasetGenerator( this );
+ /* } else if ( name == "localdata" ) {
+ this.context = node.getLocalDataContext();
+ Debug.write('found local dataset 2', this.context);
+ this.islocaldata = true;
+ */
+ } else {
+ nowarn = (canvas.datasets[ name ] != null);
+ this.dsetname = name;
+ }
+ }
+ if (nowarn != true){
+ if ($debug) {
+ Debug.error( "couldn't find dataset for %w", pa );
+ }
+ }
+
+ var rest = pa.substring( sourceindex + 2 );
+ } else {
+ var rest = pa;
+ }
+
+ // Too simple - see lpp-737
+ // var nodes = rest.split( "/" );
+
+ var nodes = [];
+ var currnode = '';
+ var instring = false;
+ var escape = false;
+ for (var i = 0; i < rest.length; i++) {
+ var c = rest.charAt(i);
+ if (c == '\\' && escape == false) {
+ escape = true;
+ continue;
+ } else if (escape == true) {
+ escape = false;
+ currnode += c;
+ continue;
+ } else if (instring == false && c == "/") {
+ // only count slashes as new nodes if we're not inside a string
+ // literal
+
+ nodes.push(currnode);
+ currnode = '';
+ continue;
+ } else if (c == "'") {
+ instring = instring ? false : true;
+ }
+ currnode += c;
+ }
+ nodes.push(currnode);
+
+
+ if (nodes != null) {
+ for ( var i = 0 ; i < nodes.length ; i++ ){
+ var cnode = LzParsedPath.trim( nodes[ i ] );
+
+ if ( i == nodes.length - 1 ){
+ //could be terminal operator...
+ if ( cnode.charAt( 0 ) == "@" ){
+ //attribute
+ this.hasAttrOper = true;
+ if ( cnode.charAt(1) == "*" ){
+ this.operator = "attributes";
+ } else {
+ this.operator = "attributes." +
+ cnode.substring( 1, cnode.length );
+ }
+ continue;
+ } else if ( cnode.charAt( cnode.length -1 ) == ")" ){
+ //name, text , serialize
+ if ( cnode.indexOf( "last" ) > -1 ){
+ this.aggOperator = "last";
+ } else if ( cnode.indexOf( "position" ) > -1 ){
+ this.aggOperator = "position";
+ } else if ( cnode.indexOf( "name" ) > -1 ){
+ this.operator = "nodeName";
+ } else if ( cnode.indexOf( "text" ) > -1 ){
+ this.operator = "__LZgetText";
+ this.operatorArgs = 0;
+ } else if ( cnode.indexOf( "serialize" ) > -1 ){
+ this.operator = "serialize";
+ this.operatorArgs = 0;
+ } else {
+ this.gotError( "Unknown operator: " + cnode );
+ }
+ continue;
+ } else if ( cnode == "" ){
+ //this is a trailing slash -- it should be ignored
+ continue;
+ }
+ }
+
+ //parse predicates
+ var preds = cnode.split( '[' );
+ var n = LzParsedPath.trim( preds[ 0 ] );
+ this.selectors.push ( n =="" ? "/" : n );
+
+ if ( n =="" || n==".." ){
+ this.hasDotDot = true;
+ }
+ if (preds != null) {
+ for ( var j = 1; j < preds.length ; j++ ){
+ var pred = LzParsedPath.trim( preds[ j ] );
+ pred = pred.substring( 0, pred.length-1);
+ //Debug.write( 'predicate ' + pred );
+
+ if ( LzParsedPath.trim ( pred ).charAt( 0 ) == '@'){
+ //Debug.write( 'found predicate ' + pred );
+ var attrpred = pred.split( '=' );
+ var a;
+ var tattr = attrpred[ 0 ].substring(1);
+
+ if ( attrpred.length > 1 ){
+ var aval = LzParsedPath.trim( attrpred[1] );
+ aval = aval.substring( 1 , aval.length-1);
+ a = { pred : 'attrval' ,
+ attr : LzParsedPath.trim( tattr ),
+ val : LzParsedPath.trim( aval )};
+ } else {
+ a = { pred : 'hasattr',
+ attr : LzParsedPath.trim( tattr )};
+ }
+
+ //Debug.write( a.pred , a.attr , a.val );
+ this.selectors.push( a );
+ this.hasOpSelector = true;
+ } else {
+ //we have an offset
+
+ var a = pred.split("-");
+ //Debug.write( 'offset ' + a );
+ a[ 0 ] = LzParsedPath.trim( a[ 0 ] );
+
+
+ if ( a[ 0 ] == "" ){
+ a[ 0 ] = 1;
+ }
+
+ if ( a[ 1 ] != null ){
+ a[ 1 ] = LzParsedPath.trim( a[ 1 ] );
+ }
+
+ if ( a[ 1 ] == "" ){
+ a[ 1 ] = Infinity;
+ } else if ( a.length == 1 ){
+ a[ 1 ] = a [ 0 ];
+ }
+
+ a.pred = "range";
+ this.selectors.push( a );
+ }
+ }
+ }
+ }
+ }
+
+ //this.nodearray = an array of strings and offset pairs that represent the
+ //slash-separated path for the datapath, with the dataset and operator
+ //removed. The offset part of the pair can be:
+ //*null if there is no offset given
+ //*int if the offset is a single number
+ //*array if the offset is dash separated
+
+ //this.operator = "t" , "n" , or "a" plus "." and the attribute name
+ //text, name or attribute, respectively
+}
+
+/**
+ * @access private
+ */
+static function trim ( s ){
+ var st = 0;
+ var dotrim = false;
+ while( s.charAt( st ) == " " ){
+ st++;
+ dotrim = true;
+ }
+
+ var len = s.length - st;
+
+ while( s.charAt( st + len - 1 ) == " " ){
+ len--;
+ dotrim = true;
+ }
+
+ return dotrim ? s.substr( st , len ) : s;
+}
+/**
+ * @access private
+ */
+function toString ( ){
+ return "Parsed path for path: " + this.path;
+}
+
+/**
+ * @access private
+ */
+function debugWrite ( ){
+ if ($debug) {
+ Debug.write( this );
+ Debug.write( " c:" + this.context + "|");
+ Debug.write( " n:" + this.selectors.join('|') + "|");
+ Debug.write( " d:" + this.operator + "|");
+ Debug.write( " " );
+ }
+}
+
+} // End of LzParsedPath
+
+
+/**
+ * @access private
+ */
+class AnonDatasetGenerator {
+
+/**
+ * @access private
+ */
+function AnonDatasetGenerator ( pp ){
+ this.pp = pp;
+}
+
+/**
+ * @access private
+ */
+function getContext (){
+ var d = new LzDataset( );
+ var dp = d.getPointer();
+ //start at 1 to skip '/'
+ if (this.pp.selectors != null) {
+ for ( var i = 0; i < this.pp.selectors.length; i++ ){
+ if ( this.pp.selectors[ i ] == "/" ) continue;
+ dp.addNode( this.pp.selectors[ i ] );
+ dp.selectChild();
+ }
+ }
+
+ return d;
+}
+
+var noncontext = true;
+} // End of AnonDatasetGenerator
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzReplicationManager.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzReplicationManager.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/data/LzReplicationManager.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -596,7 +596,6 @@
* @access private
*/
function destroyClone ( v ) {
- if (v.sprite) v.sprite.destroy(true);
v.destroy();
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/Library.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/Library.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/Library.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -9,7 +9,7 @@
* In some runtimes the Debug object is subclassed for added
* functionality by the component/debug library
*
- * @copyright Copyright 2001-2006 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access private
@@ -53,10 +53,11 @@
#include "debugger/LzBacktrace.lzs"
#include "debugger/LzTrace.lzs"
#include "debugger/LzMonitor.lzs"
+ // Add memory tracing
+ #include "debugger/LzMemory.lzs"
if ($as2) {
// Order beyond here has not been thought about (yet)
#include "debugger/platform/swf/LzRemote.as"
- #include "debugger/platform/swf/LzMemory.as"
#include "debugger/platform/swf/LzFlashRemote.as"
}
// N.B.: LzInit.as is loaded as the last thing in LaszloLibrary
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/LzMemory.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/LzMemory.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/LzMemory.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,15 +2,19 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access private
* @topic LZX
* @subtopic Debugging
+ *
+ * @devnote [2007-12-08 ptw] Throughout this file the code inside `if
+ * ($as2) { } else` is a duplicate of the following `try` block and
+ * is only needed until the compiler can correctly compile `try` for
+ * $as2. Once that happens, the $as2 blocks can be removed.
*/
-
// Memory analysis tools for the debugger
// Define some annotations
@@ -38,35 +42,89 @@
Debug.leaks = [];
// For debugging yourself
Debug.debugTrace = false;
+Debug.loops = 0;
+Debug.loopCount = 0;
+Debug.loopElapsed = 0;
/**
* Mark an object
+ *
+ * @param o Object: the object
+ * @returns boolean: True unless the object could not be marked
+ * (indicates it is probably a primitive object that we cannot trace
+ * through)
+ *
* @access private
*/
Debug.mark = function (o) {
- var annotation = this.annotation;
- delete o[annotation.leaked];
- o[annotation.marked] = this.markGeneration;
+ // We can't trace things that don't support hasOwnProperty
+ if ((! (o instanceof Object)) ||
+ (! ('hasOwnProperty' in o)) ||
+ (! (o.hasOwnProperty instanceof Function))) {
+ if (this.debugTrace) {
+ console.log('Not marking %s\n', o);
+ }
+ return false;
+ }
+ if ($as2) {
+ var annotation = this.annotation;
+ delete o[annotation.leaked];
+ o[annotation.marked] = this.markGeneration;
+ } else
+ try {
+ var annotation = this.annotation;
+ delete o[annotation.leaked];
+ o[annotation.marked] = this.markGeneration;
+ } catch (e) { return false };
+ return true;
}
/**
* Is an object marked?
+ *
+ * @param o Object: the object
+ * @returns null|false|true: If the object has been marked in this
+ * generation, `true`; if the object has been marked, but not in this
+ * generation, `false`; if the object has never been marked, `null`.
+ * The latter distinction is used by the leak detector.
+ *
+ * @note Objects that do not support hasOwnProperty cannot be traced,
+ * so they are always considered marked.
+ *
* @access private
*/
Debug.isMarked = function (o) {
- // Deleted movieclips have no prototype?? Whatever, don't trace
- if ((! (o instanceof Object || o instanceof MovieClip)) ||
- (! (o.hasOwnProperty) instanceof Function)) {
+ // We can't trace things that don't support hasOwnProperty
+ if ((! o instanceof Object) ||
+ (! ('hasOwnProperty' in o)) ||
+ (! (o.hasOwnProperty instanceof Function))) {
if (this.debugTrace) {
- Debug.write('Not tracing', o);
+ console.log('Not tracing %s\n', o);
}
return true;
}
var marked = this.annotation.marked;
- if (! o.hasOwnProperty(marked)) {
- return false;
- }
- return o[marked] == this.markGeneration;
+ // Be careful calling hasOwnProperty (it could be a method in a
+ // native prototype that will fail when called on the prototype
+ // itself). If so, pretend the object is marked -- we can't trace
+ // any deeper
+ if ($as2) {
+ if (! o.hasOwnProperty(marked)) {
+ return null;
+ }
+ return o[marked] == this.markGeneration;
+ } else
+ try {
+ if (! o.hasOwnProperty(marked)) {
+ return null;
+ }
+ return o[marked] == this.markGeneration;
+ } catch (e) {
+ if (this.debugTrace) {
+ console.log('Not tracing %s\n', o);
+ }
+ return true;
+ }
}
/**
@@ -99,13 +157,15 @@
* @access private
*/
Debug.traceStep = function (steps, milliseconds) {
- // Limit background processing so player doesn't abort us. There
- //seems to be a limit both on total time in an idle function and
- //number of loop iterations (or backward branches?) in an idle function
- if (arguments.length < 1) { steps = 500; }
- if (arguments.length < 2) { milliseconds = 2000; }
+ // Limit background processing so player doesn't abort us. The loop
+ // limit no longer seems to be necessary
+ if (arguments.length < 1) { steps = Infinity; }
+ // The setInterval is 1400ms (because we know scriptRunningSlowly
+ // defaults to 1500
+ if (arguments.length < 2) { milliseconds = 1300; }
var loopStart = (new Date).getTime();
var loopCount = 0;
+ var loopElapsed = 0;
var os = this.obstack;
var dopath = this.noteWhy || this.debugTrace;
var annotation = this.annotation;
@@ -116,7 +176,7 @@
var leaked = annotation.leaked;
while ((loopCount++ < steps) &&
- (((new Date).getTime() - loopStart) < milliseconds)) {
+ ((loopElapsed = ((new Date).getTime() - loopStart)) < milliseconds)) {
// Clear the obstack of any objects we are done with
while (os.length > 0 && os[0].length == 0) {
// Done with this object
@@ -124,12 +184,16 @@
// If it's the last object, we are done
if (os.length == 0) {
- Debug.format(' ... done!\n');
- if (this.debugTrace) {
- Debug.write('Stopping:', Debugmc);
- }
- // Stop the clip that runs us
- __LzDebugmc.stop();
+ // Stop the idle callback
+ clearInterval(this.backgroundTask)
+ this.loops++;
+ this.loopCount += loopCount;
+ this.loopElapsed += loopElapsed;
+ this.debug("%d loops @ %0.0d iterations, %0.2d milliseconds",
+ this.loops,
+ this.loopCount / this.loops,
+ this.loopElapsed / this.loops)
+ this.format(' ... done!\n');
// done
return true;
}
@@ -139,37 +203,33 @@
// This is a breadth-first search
var ose = os[0];
var o = ose.pop();
+ var oo = o;
var name = ose.pop();
- var wasLeaked = false;
+ var wasMarked = this.isMarked(o);
+ var wasLeaked = (wasMarked === null);
+ if (o == global.NamedNodeMap.prototype) {
+ Debug.debug("wasMarked: %s, wasLeaked: %s", wasMarked, wasLeaked);
+ Debug.inspect(o);
+ }
+
// Make sure we didn't already get here via another path
- if (this.isMarked(o)) {
+ if (wasMarked) {
continue;
}
- var enumerableSlots = [];
- // Accumulate list of enumerable slots before annotating
- for (var p in o) {
- // attached movie clips don't show up as 'hasOwnProperty' (but
- // hasOwnProperty is more accurate -- consider if an instance
- // copies a prototype property)
- if ((! o['__proto__']) ||
- o.hasOwnProperty(p) ||
- (o[p] !== o.__proto__[p])) {
- enumerableSlots.push(p);
- }
- }
-
- // If asked to find leaks, collect new objects
- if (this.findLeaks) {
- if ((! (o instanceof Object || o instanceof MovieClip)) ||
- (! (o.hasOwnProperty) instanceof Function)) {
- if (this.debugTrace) {
- Debug.format('Not recording %w as leaked\n', o);
+ if ($as2) {
+ var enumerableSlots = [];
+ // Accumulate list of enumerable slots before annotating
+ for (var p in o) {
+ // attached movie clips don't show up as 'hasOwnProperty' (but
+ // hasOwnProperty is more accurate -- consider if an instance
+ // copies a prototype property)
+ if ((! o['__proto__']) ||
+ o.hasOwnProperty(p) ||
+ (o[p] !== o.__proto__[p])) {
+ enumerableSlots.push(p);
}
- } else if (! o.hasOwnProperty(marked)) {
- wasLeaked = true;
- this.leaks.push(o);
}
}
@@ -177,29 +237,50 @@
// But only if asked to
if (dopath) {
var path = ose.path.concat(name);
- o[why] = path.join('.');
+ if ($as2) {
+ // More compact than an Array
+ o[why] = path.join("\x01");
+ } else
+ try {
+ // More compact than an Array
+ o[why] = path.join("\x01");
+ } catch (e) {};
}
+ if (o !== oo) {
+ Debug.debug("Annotating %s[%s] (%#w) caused allocation of %#w", path, name, oo, o);
+ }
+ // If asked to find leaks, collect new objects
+ if (this.findLeaks && wasLeaked) {
+ this.leaks.push(o);
+ }
+
+ // Annotate why this object is alive
// Mark the object
- this.mark(o);
+ if (! this.mark(o)) {
+ // Don't trace into objects we can't mark
+ continue;
+ }
- // N.B.: Flash-specific hack to get at otherwise unenumerable
- // properties. This makes all properties enumerable.
- //
- // The first arg is the object to twiddle. The second argument is
- // a list of slots to twiddle on, or null for all slots.
- // The 3rd arg is a bitmask of flags to set:
- // 2^2 = unwritable
- // 2^1 = undeletable
- // 2^0 = unenumerable
- // The 4th argument is a bitmask of flags to clear (as above).
- // [Cf.,
- // http://pt.withy.org/ptalk/archives/2005/08/fourth_and_bitz.html]
- //
- // So, make all the properties of this object enumerable
- ASSetPropFlags(o, null, 0, 1);
- // But not the annotations
- ASSetPropFlags(o, this.allAnnotations, 1, 0);
+ if ($as2) {
+ // N.B.: Flash-specific hack to get at otherwise unenumerable
+ // properties. This makes all properties enumerable.
+ //
+ // The first arg is the object to twiddle. The second argument is
+ // a list of slots to twiddle on, or null for all slots.
+ // The 3rd arg is a bitmask of flags to set:
+ // 2^2 = unwritable
+ // 2^1 = undeletable
+ // 2^0 = unenumerable
+ // The 4th argument is a bitmask of flags to clear (as above).
+ // [Cf.,
+ // http://pt.withy.org/ptalk/archives/2005/08/fourth_and_bitz.html]
+ //
+ // So, make all the properties of this object enumerable
+ ASSetPropFlags(o, null, 0, 1);
+ // But not the annotations
+ ASSetPropFlags(o, this.allAnnotations, 1, 0);
+ }
// Rough measure of size
var obSize = 0;
@@ -213,27 +294,51 @@
queuedSlots.ancestors = ancestors.concat();
queuedSlots.ancestors.push(o);
}
- for (var p in o) {
- // attached movie clips don't show up as 'hasOwnProperty' (but
- // hasOwnProperty is more accurate -- consider if an instance
- // copies a prototype property)
- if ((! o['__proto__']) ||
- o.hasOwnProperty(p) ||
- (o[p] !== o.__proto__[p])) {
- var v = o[p];
- // Very rough estimate of size
- obSize += 2; // assume hashes are 50% full
- if (typeof(v) == 'string') {
- // Assume strings can be packed 4 chars/word
- obSize += Math.ceil(v.length/4);
- }
- // Object weight is calculated below.
+ var ownProperties = [];
+ if ($as2) {
+ this.objectOwnProperties(o, ownProperties, ownProperties);
+ } else
+ try {
+ this.objectOwnProperties(o, ownProperties, ownProperties);
+ } catch (e) {};
+ for (var i = ownProperties.length - 1; i >= 0; i--) {
+ var p = ownProperties[i];
+ var v = o[p];
+ // Very rough estimate of size
+ obSize += 2; // assume hashes are 50% full
+ if (typeof(v) == 'string') {
+ // Assume strings can be packed 4 chars/word
+ obSize += Math.ceil(v.length/4);
+ }
+ // Object weight is calculated below.
- // Optimization, skip non-objects and objects already marked
- if ((v instanceof Object || v instanceof MovieClip) && (! this.isMarked(v))) {
- queuedSlots.push(p, v);
+ if (v instanceof Object) {
+ if (v !== o[p]) {
+ // Debug.debug("Accessing %s[%s] (%#w) caused allocation of %#w", o, p, v, o[p]);
+ } else {
+ try {
+ v[size] = 0;
+ if (v !== o[p]) {
+ Debug.debug("Mutating %s[%s] (%#w) caused allocation of %#w", o, p, v, o[p]);
+ }
+ } catch (e) {
+ Debug.debug("Mutating %s[%s] (%#w) caused %#w", o, p, v, e);
+ v = null;
+ }
}
}
+ // The order of these tests is important for efficiency
+ if (
+ // Optimization: don't trace non-objects
+ (v instanceof Object) &&
+ // Correctness: don't trace wrapper objects that are consed
+ // on each access
+ (v === o[p]) &&
+ // Optimization: don't trace objects that have already been marked
+ (! this.isMarked(v))
+ ) {
+ queuedSlots.push(p, v);
+ }
}
// Annotate size
@@ -258,8 +363,8 @@
if (ai.hasOwnProperty(leaked)) {
if (this.debugTrace) {
if (o[why].indexOf(ai[why]) != 0) {
- Debug.format("%w(%s) +> %w(%s)\n", o, o[why], ai, ai[why]);
- Debug.format("%w[%d]\n", ancestors, i);
+ console.log("%w(%s) +> %w(%s)\n", o, o[why], ai, ai[why]);
+ console.log("%w[%d]\n", ancestors, i);
}
}
ai[leaked] += obSize;
@@ -269,10 +374,12 @@
}
}
- // Reset the enumerability
- // Make everything unenumerable, and then expose your saved list
- ASSetPropFlags(o, null, 1, 0);
- ASSetPropFlags(o, enumerableSlots, 0, 1);
+ if ($as2) {
+ // Reset the enumerability
+ // Make everything unenumerable, and then expose your saved list
+ ASSetPropFlags(o, null, 1, 0);
+ ASSetPropFlags(o, enumerableSlots, 0, 1);
+ }
// Queue the slots
if (queuedSlots.length) {
@@ -280,6 +387,9 @@
}
}
+ this.loops++;
+ this.loopCount += loopCount;
+ this.loopElapsed += loopElapsed;
// not done
return false;
}
@@ -301,6 +411,7 @@
}
// Start a new generation
this.markGeneration++;
+ this.loops = this.loopCount = this.loopElapsed = 0;
// Set flags
this.findLeaks = findLeaks;
if (findLeaks) {
@@ -310,17 +421,26 @@
}
this.noteWhy = noteWhy;
// Don't trace self
- for (var t = this; t !== Object.prototype; t = t['__proto__']) {
+ for (var t = this; t && (t !== Object.prototype); ) {
this.mark(t);
+ // Cf, objectOwnProperties
+ // Use typeof == 'object' rather than instanceof Object for native prototypes
+ t = (('__proto__' in t && (typeof t.__proto__ == 'object')) ? t.__proto__ :
+ (('constructor' in t && (typeof t.constructor.prototype == 'object')) ? t.constructor.prototype : null));
+
}
- // Or this debugger cruft
- if (global['_']) {
+ // Don't go 'up' above global
+ if ('frameElement' in global) {
+ this.mark(global.frameElement);
+ }
+ // Don't trace debugger history
+ if ('_' in global) {
this.mark(global._);
}
- if (global['__']) {
+ if ('__' in global) {
this.mark(global.__);
}
- if (global['___']) {
+ if ('___' in global) {
this.mark(global.___);
}
this.mark(this.evalloader);
@@ -329,8 +449,9 @@
osel.path = [];
osel.ancestors = [];
this.obstack[0] = osel;
- // set the background task to trace
- this.background = this.traceStep;
+
+ // Start the trace background task
+ this.backgroundTask = setInterval(function () { Debug.traceStep(); }, 1400);
}
/**
@@ -338,18 +459,13 @@
* @access private
*/
Debug.markObjects = function () {
- this.initTrace();
- // Start the debugger background task
- // SWF-player specific
- if (_root['__LzDebugmc']) {
- __LzDebugmc.play();
+ if ($as2) {
} else {
- _root.attachMovie("__LZdebugger", "__LzDebugmc", 4794);
+ Debug.warn("Memory tracing is for experimental use only in this runtime.")
}
- if (this.debugTrace) {
- Debug.write('Starting:', __LzDebugmc);
- }
- Debug.format('Marking objects... ');
+ Debug.format('Marking objects ... ');
+ // Output must come before init, so it is not seen as a leak
+ setTimeout(function () { Debug.initTrace(); }, 10);
}
/**
@@ -357,14 +473,14 @@
* @access private
*/
Debug.findNewObjects = function () {
- this.initTrace(true, true);
- // SWF-player specific
- if (_root['__LzDebugmc']) {
- __LzDebugmc.play();
- if (this.debugTrace) {
- Debug.write('Starting:', __LzDebugmc);
+ if (this.markGeneration > 0) {
+ if ($as2) {
+ } else {
+ Debug.warn("Memory tracing is for experimental use only in this runtime.")
}
- Debug.format('Finding new objects... ');
+ Debug.format('Finding new objects ... ');
+ // Output must come before init, so it is not seen as a leak
+ setTimeout(function () { Debug.initTrace(true, true); }, 10);
} else {
Debug.error('Call %w first', Debug.markObjects);
}
@@ -375,24 +491,40 @@
* A leak descriptor
*/
class __LzLeak {
- var obj = null;
+ var obj = void 0;
var path = '';
- var parent = null
+ var parent = void 0;
var property = '';
var leaked = 0;
- function initialize (o) {
+ function __LzLeak (o) {
+ super();
var annotations = Debug.annotation;
var why = annotations.why;
var leaked = annotations.leaked;
this.obj = o;
if (o && (why in o) && (leaked in o)) {
- var path = o[why];
- var lastdot = path.lastIndexOf('.');
- this.path = path.substring(0, lastdot);
- this.parent = eval(this.path);
- this.property = path.substring(lastdot + 1, path.length);
- this.leaked = o[leaked];
+ var path = o[why].split("\x01");
+ this.property = path.pop();
+ // Make pretty
+ this.path = path.join(".");
+ if ($as2) {
+ var p = eval(path[0]);
+ var pl = path.length;
+ for (var i = 1; i < pl; i++) {
+ p = p[path[i]];
+ }
+ this.parent = p;
+ } else
+ try {
+ var p = eval(path[0]);
+ var pl = path.length;
+ for (var i = 1; i < pl; i++) {
+ p = p[path[i]];
+ }
+ this.parent = p;
+ } catch (e) {};
+ this.leaked = Number(o[leaked]);
}
}
@@ -402,7 +534,7 @@
*/
function toString () {
if (this.obj) {
- return Debug.formatToString("%=s.%s: (\xa3%d) %0.32#w", this.parent, this.path, this.property, this.leaked, this.obj);
+ return Debug.formatToString("%=s.%s: (\xa3%d) %0.48#w", this['parent'], this.path, this.property, this.leaked, this['obj']);
} else {
return '' + this.obj;
}
@@ -419,7 +551,8 @@
var sort = Array.prototype.sort;
- function initialize () {
+ function __LzLeaks () {
+ super();
var l = Debug.leaks;
var ll = l.length;
var annotations = Debug.annotation;
@@ -428,54 +561,87 @@
var leaked = '_dbg_check';
// Sort leaks according to path
- l.sort(function (a, b) {
- var an = a[why];
- var bn = b[why];
- return (an > bn) - (an < bn);
+ l.sort(function (a, b) {
+ try {
+ var an = a[why];
+ var bn = b[why];
+ return (an > bn) - (an < bn);
+ } catch (e) {
+ return -1;
+ }
});
// Merge leaks under the same path
this.length = 0;
for (var i = 0; i < ll; i = j) {
- var p = l[i];
- p[leaked] = p[size];
var j = i + 1;
- var pn = p[why];
- if (typeof(pn) != 'undefined') {
- while (j < ll) {
- var c = l[j];
- var cn = c[why];
- if (typeof(cn) != 'undefined') {
- if (cn.indexOf(pn) == 0) {
- // Don't count loops
- if (c !== p) {
- p[leaked] += c[size];
- } else {
- if (Debug.debugTrace) {
- Debug.format('%s is %s\n', pn, cn);
+ if ($as2) {
+ var p = l[i];
+ p[leaked] = p[size];
+ var pn = p[why];
+ if (typeof(pn) != 'undefined') {
+ while (j < ll) {
+ var c = l[j];
+ var cn = c[why];
+ if (typeof(cn) != 'undefined') {
+ if (cn.indexOf(pn) == 0) {
+ // Don't count loops
+ if (c !== p) {
+ p[leaked] += c[size];
+ } else {
+ if (Debug.debugTrace) {
+ console.log('%s is %s\n', pn, cn);
+ }
}
+ j++;
+ continue;
}
- j++;
- continue;
}
+ break;
}
- break;
}
- }
- this[this.length++] = new __LzLeak(p);
+ this[this.length++] = new __LzLeak(p);
+ } else
+ try {
+ var p = l[i];
+ p[leaked] = p[size];
+ var pn = p[why];
+ if (typeof(pn) != 'undefined') {
+ while (j < ll) {
+ var c = l[j];
+ var cn = c[why];
+ if (typeof(cn) != 'undefined') {
+ if (cn.indexOf(pn) == 0) {
+ // Don't count loops
+ if (c !== p) {
+ p[leaked] += c[size];
+ } else {
+ if (Debug.debugTrace) {
+ console.log('%s is %s\n', pn, cn);
+ }
+ }
+ j++;
+ continue;
+ }
+ }
+ break;
+ }
+ }
+ this[this.length++] = new __LzLeak(p);
+ } catch (e) {j++};
}
}
-
function _dbg_name () {
var leakage = 0;
- for (var i in this) {
- var s = this[i].leaked;
+ var n = this.length;
+ for (var i = n - 1; i >=0; i--) {
+ var s = this[i]['leaked'];
if (! isNaN(s)) {
leakage += s;
}
}
- return leakage + ' smoots';
+ return Debug.formatToString("%d smoots [%d objects @ ~%0.0d smoots each]", leakage, n, leakage / n);
}
}
@@ -486,12 +652,17 @@
* @access private
*/
Debug.whyAlive = function (top) {
+ if ($as2) {
+ } else {
+ Debug.warn("Memory tracing is for experimental use only in this runtime.")
+ }
switch (arguments.length) {
case 0:
top = 10;
}
if (this['leaks']) {
var l = new __LzLeaks();
+ var ll = l.length;
// Sort the largest to the top
l.sort(function (a, b) {
@@ -500,11 +671,19 @@
return (al < bl) - (al > bl); });
// Output the top leaks
+ Debug.format("%w:\n", l);
+ if (top > ll) { top = ll; }
for (var i = 0; i < top; i++) {
Debug.format("%w\n", l[i].toString());
}
- if (top < l.length) {
- Debug.write('...');
+ if (top < ll) {
+ var rest = 0;
+ var n = ll - i;
+ for (; i < ll; i++) {
+ var lil = l[i].leaked;
+ if (! isNaN(lil)) { rest += lil; }
+ }
+ Debug.format("%=s [%d more @ ~%0.0d smoots each]", l, '...', n, rest/n);
}
// Return the data for inspection
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -3,7 +3,7 @@
/**
* Runtime support for Debug
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -11,12 +11,25 @@
* @subtopic Debugging
*/
+/** The HTML debug window
+ * @access private
+ */
+Debug.DebugWindow = null;
+
/**
* @access private
* Instantiates an instance of the user Debugger window
* Called last thing by the compiler when the app is completely loaded.
*/
Debug.makeDebugWindow = function () {
+ // The application and debugger are sibling iframes in the
+ // dhtml embedding.
+ try {
+ this.DebugWindow = window.parent.frames['LaszloDebugger'];
+ } catch (e) {
+ // But not in Rhino
+ };
+
// Name all global singletons
var module = $modules.lz;
var idp = new RegExp('^[_$\\w\\d]+$');
@@ -50,43 +63,27 @@
}
}
}
- // Nothing else to do for DHTML, since the Debugger window is done
- // in HTML and is always available (see below).
}
-/** The HTML debug window
- * @access private
- */
-Debug.DebugWindow = null;
-
/**
* @access private
*/
Debug.clear = function () {
var dw = this.DebugWindow;
- if (! dw) {
- // The application and debugger are sibling iframes in the
- // embedding.
- dw = this.DebugWindow = window.parent.frames['LaszloDebugger'];
- }
dw.document.body.innerHTML = '';
-}
+};
+
/**
* @access private
*/
Debug.addHTMLText = function (str) {
var dw = this.DebugWindow;
- if (! dw) {
- // The application and debugger are sibling iframes in the
- // embedding.
- dw = this.DebugWindow = window.parent.frames['LaszloDebugger'];
- }
var dwd = dw.document;
var span = dwd.createElement('span');
var dwdb = dwd.body;
// IE does not display \n in white-space: pre, so we translate...
- span.innerHTML = '<span style="white-space: pre">' + str.split('\n').join('<br />') + '</span>';
+ span.innerHTML = '<span class="OUTPUT">' + str.split('\n').join('<br />') + '</span>';
dwdb.appendChild(span);
// Duplicated from __write, for direct calls to this
this.atFreshLine = (str.charAt(str.length-1) == '\n');
Deleted: openlaszlo/branches/devildog/WEB-INF/lps/lfc/debugger/platform/swf/LzMemory.as
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/events/LaszloEvents.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/events/LaszloEvents.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/events/LaszloEvents.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzevent lzdelegate
@@ -32,8 +32,8 @@
* @param String eventName: Optional, but required if eventSender is used; The name
* of the event to register the new delegate for.
*/
-function initialize (context, functionName, eventSender, eventName) {
- super.initialize.apply(this, arguments);
+function LzDelegate (context, functionName, eventSender, eventName) {
+ super();
// too expensive to leave on all the time
// if ($debug) {
// this._dbg_created = Debug.backtrace();
@@ -87,8 +87,9 @@
// 'resurrect' the deleted view, causing a memory leak
// Usually this is because a deleted view has idle or timer events
// still registered.
+ // inlined in LzDelegate.sendEvent(), __LZdrainDelegatesQueue(), and LzTimer.addTimer();
var context = this.c;
- if (context) {
+ if (this.enabled && context) {
if (context['__LZdeleted']) {
return;
}
@@ -206,17 +207,31 @@
var evq = this.__LZdelegatesQueue;
var n = evq.length;
var i = pos;
- while (i < n) {
- var d = evq[i];
- var sd = evq[i+1];
- /*
- if ($debug) {
- Debug.debug("Deferred %w.execute(%w)", d, sd);
+ if (i < n) {
+ var calledDelegates = new Array;
+ var lockedEvents = new Array;
+ while (i < n) {
+ var e = evq[i];
+ var d = evq[i+1];
+ var sd = evq[i+2];
+ // Mimic sendEvent which prohibits events and delegates from
+ // recursing
+ e.locked = true;
+ lockedEvents.push(e);
+ if (! d.event_called) {
+ d.event_called = true; //this delegate has been called
+ calledDelegates.push( d );
+ // d.execute( sd ); inlined
+ if (d.c && ! d.c.__LZdeleted && d.c[d.f]) d.c[d.f]( sd );
+ }
+ i+=3;
}
- */
- // d.execute( sd ); inlined
- if (d.c[d.f]) d.c[d.f]( sd );
- i+=2;
+ while (d = calledDelegates.pop()) {
+ d.event_called = false;
+ }
+ while (e = lockedEvents.pop()) {
+ e.locked = false;
+ }
}
evq.length = pos;
}
@@ -340,8 +355,8 @@
* @param Object eventSender: The owner of this event
* @param String eventName: The name of this event.
*/
-function initialize ( eventSender , eventName , d ){
- super.initialize.apply(this, arguments);
+function LzEvent ( eventSender , eventName , d ){
+ super();
var _evs = eventSender._events;
if (_evs == null ){
@@ -431,10 +446,10 @@
// properly managed
if (d.enabled && d.c) {
if (d.c.__LZdeferDelegates) {
- evq.push(d, sd);
+ evq.push(this, d, sd);
} else {
// d.execute( sd ); inlined
- if (d.c[d.f]) d.c[d.f]( sd );
+ if (d.c && ! d.c.__LZdeleted && d.c[d.f]) d.c[d.f]( sd );
}
}
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/helpers/LzFont.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/helpers/LzFont.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/helpers/LzFont.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzfont
@@ -362,8 +362,8 @@
*/
var rsbtable;
-function initialize ( fontobject , attrs , style ){
- super.initialize.apply(this, arguments);
+function LzFont ( fontobject , attrs , style ){
+ super();
this.name = fontobject.name;
this.style = style;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/LzLibraryCleanup.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/LzLibraryCleanup.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/LzLibraryCleanup.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLibraryCleanup.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -19,9 +19,9 @@
static var tagname = '__libraryloadercomplete';
- function initialize ( owner , args ) {
+ function LzLibraryCleanup ( owner , args ) {
//this.callInherited( "constructor", arguments.callee ,owner ,args );
- super.initialize.apply(this, arguments);
+ super(owner, args);
var lib = LzLibrary.findLibrary(args.libname);
lib.loading = false;
if (lib.onload.ready) lib.onload.sendEvent(true);
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzContextMenu.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzContextMenu.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzContextMenu.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -19,7 +19,7 @@
*/
class LzContextMenu extends LzNode {
-function initialize(del) {
+function LzContextMenu (del) {
// set callback for "oncontextmenu" event
this.__LZmousedowndel = new LzDelegate( this , "__hide");
this.items = [];
@@ -165,7 +165,7 @@
*/
class LzContextMenuItem extends LzNode {
-function initialize (title, del) {
+function LzContextMenuItem (title, del) {
this.cmenuitem = {visible: true, enabled: true, separatorBefore: false, caption: title};
this.setDelegate(del);
}; // End of LzContextMenuItem
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzInputTextSprite.js
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -231,7 +231,7 @@
}
LzInputTextSprite.prototype.__textEvent = function ( e, eventname ){
- if (this.destroyed == true) return;
+ if (this.__LZdeleted == true) return;
var keycode = e ? e.keyCode : event.keyCode;
if (eventname == 'onfocus' || eventname == 'onmousedown') {
if (eventname == 'onfocus') {
@@ -284,7 +284,7 @@
this.__LzInputDiv.maxLength = val;
}
-LzInputTextSprite.prototype.select = function (start, end){
+LzInputTextSprite.prototype.select = function (){
this._cancelblur = true;
this.__show();
this.__LzInputDiv.focus();
@@ -295,8 +295,254 @@
//Debug.write('select', this.uid, LzKeyboardKernel.__cancelKeys);
}
-LzInputTextSprite.prototype.setSelection = LzInputTextSprite.prototype.select;
+LzInputTextSprite.prototype.setSelection = function (start, end){
+ if (end == null) {
+ end = start;
+ }
+ this._cancelblur = true;
+ this.__show();
+ LzInputTextSprite.__lastfocus = this;
+ if (this.quirks['text_selection_use_range']) {
+ var range = this.__LzInputDiv.createTextRange();
+
+ // look for leading \r\n
+ var val = this.__LzInputDiv.value;
+
+ if (start > end){
+ var st = start;
+ start = end;
+ end = st;
+ }
+
+ if(this.multiline) {
+ var offset = 0;
+ // account for leading \r\n
+ var startcounter = 0;
+ while (offset < start) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ startcounter++;
+ }
+ var midcounter = 0;
+ while (offset < end) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ midcounter++;
+ }
+ var endcounter = 0;
+ while (offset < val.length) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ endcounter++;
+ }
+
+ var tl = range.text.length;
+ var st = start;
+ var ed = end - val.length + startcounter + midcounter + endcounter + 1;
+
+ //if (endcounter) endcounter += startcounter;
+ //alert (startcounter + ', ' + midcounter + ', ' + endcounter + ', ' + st + ', ' + ed);
+ } else {
+ var st = start;
+ var ed = end - range.text.length;
+ }
+
+ range.moveStart("character", st);
+ range.moveEnd("character", ed);
+ range.select();
+ //this.__LzInputDiv.range = range;
+ //setTimeout('LzInputTextSprite.__lastfocus.__LzInputDiv.range.select()', 50);
+ //this.__LzInputDiv.focus();
+ } else {
+ this.__LzInputDiv.setSelectionRange(start, end);
+ }
+ this.__LzInputDiv.focus();
+
+ if (window['LzKeyboardKernel']) LzKeyboardKernel.__cancelKeys = false;
+}
+
+LzInputTextSprite.prototype.getSelectionPosition = function (){
+ if (! this.__shown || this.disabled == true) return -1;
+ if (this.quirks['text_selection_use_range']) {
+ if (this.multiline) {
+ var p = this._getTextareaSelection();
+ } else {
+ var p = this._getTextSelection();
+ }
+
+ if (p) {
+ return p.start;
+ } else {
+ return -1;
+ }
+ } else {
+ return this.__LzInputDiv.selectionStart;
+ }
+}
+
+LzInputTextSprite.prototype.getSelectionSize = function (){
+ if (! this.__shown || this.disabled == true) return -1;
+ if (this.quirks['text_selection_use_range']) {
+ if (this.multiline) {
+ var p = this._getTextareaSelection();
+ } else {
+ var p = this._getTextSelection();
+ }
+ if (p) {
+ return p.end - p.start;
+ } else {
+ return -1;
+ }
+ } else {
+ return this.__LzInputDiv.selectionEnd - this.__LzInputDiv.selectionStart;
+ }
+}
+
+if (LzSprite.prototype.quirks['text_selection_use_range']) {
+LzInputTextSprite.prototype._getTextSelection = function (){
+ this.__LzInputDiv.focus();
+
+ var range = document.selection.createRange();
+ var bookmark = range.getBookmark();
+
+ var originalContents = contents = this.__LzInputDiv.value;
+ do {
+ var marker = "~~~" + Math.random() + "~~~";
+ } while (contents.indexOf(marker) != -1)
+
+ var parent = range.parentElement();
+ if (parent == null || ! (parent.type == "text" || parent.type == "textarea")) {
+ return;
+ }
+ range.text = marker + range.text + marker;
+ contents = this.__LzInputDiv.value;
+
+ var result = {};
+ result.start = contents.indexOf(marker);
+ contents = contents.replace(marker, "");
+ result.end = contents.indexOf(marker);
+
+ this.__LzInputDiv.value = originalContents;
+ range.moveToBookmark(bookmark);
+ range.select();
+
+ return result;
+}
+
+LzInputTextSprite.prototype._getTextareaSelection = function (){
+ var textarea = this.__LzInputDiv;
+ var selection_range = document.selection.createRange().duplicate();
+
+ if (selection_range.parentElement() == textarea) { // Check that the selection is actually in our textarea
+ // Create three ranges, one containing all the text before the selection,
+ // one containing all the text in the selection (this already exists), and one containing all
+ // the text after the selection.
+ var before_range = document.body.createTextRange();
+ before_range.moveToElementText(textarea); // Selects all the text
+ before_range.setEndPoint("EndToStart", selection_range); // Moves the end where we need it
+
+ var after_range = document.body.createTextRange();
+ after_range.moveToElementText(textarea); // Selects all the text
+ after_range.setEndPoint("StartToEnd", selection_range); // Moves the start where we need it
+
+ var before_finished = false, selection_finished = false, after_finished = false;
+ var before_text, untrimmed_before_text, selection_text, untrimmed_selection_text, after_text, untrimmed_after_text;
+
+ // Load the text values we need to compare
+ before_text = untrimmed_before_text = before_range.text;
+ selection_text = untrimmed_selection_text = selection_range.text;
+ after_text = untrimmed_after_text = after_range.text;
+
+ // Check each range for trimmed newlines by shrinking the range by 1 character and seeing
+ // if the text property has changed. If it has not changed then we know that IE has trimmed
+ // a \r\n from the end.
+ do {
+ if (!before_finished) {
+ if (before_range.compareEndPoints("StartToEnd", before_range) == 0) {
+ before_finished = true;
+ } else {
+ before_range.moveEnd("character", -1)
+ if (before_range.text == before_text) {
+ untrimmed_before_text += "\r\n";
+ } else {
+ before_finished = true;
+ }
+ }
+ }
+ if (!selection_finished) {
+ if (selection_range.compareEndPoints("StartToEnd", selection_range) == 0) {
+ selection_finished = true;
+ } else {
+ selection_range.moveEnd("character", -1)
+ if (selection_range.text == selection_text) {
+ untrimmed_selection_text += "\r\n";
+ } else {
+ selection_finished = true;
+ }
+ }
+ }
+ if (!after_finished) {
+ if (after_range.compareEndPoints("StartToEnd", after_range) == 0) {
+ after_finished = true;
+ } else {
+ after_range.moveEnd("character", -1)
+ if (after_range.text == after_text) {
+ untrimmed_after_text += "\r\n";
+ } else {
+ after_finished = true;
+ }
+ }
+ }
+
+ } while ((!before_finished || !selection_finished || !after_finished));
+
+ // Untrimmed success test to make sure our results match what is actually in the textarea
+ // This can be removed once you're confident it's working correctly
+ var untrimmed_text = untrimmed_before_text + untrimmed_selection_text + untrimmed_after_text;
+ var untrimmed_successful = false;
+ if (textarea.value == untrimmed_text) {
+ untrimmed_successful = true;
+ }
+ // ** END Untrimmed success test
+
+ var startPoint = untrimmed_before_text.length;
+ var endPoint = startPoint + untrimmed_selection_text.length;
+ var selected_text = untrimmed_selection_text;
+
+ //alert("Start Index: " + startPoint + "\nEnd Index: " + endPoint + "\nSelected Text\n'" + selected_text + "'");
+
+ // account for leading \r\n
+ var val = this.__LzInputDiv.value;
+ var offset = 0;
+ var startcounter = 0;
+ while (offset < startPoint) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ startcounter++;
+ }
+ var midcounter = 0;
+ while (offset < endPoint) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ midcounter++;
+ }
+ var endcounter = 0;
+ while (offset < val.length) {
+ offset = val.indexOf('\r\n', offset + 2);
+ if (offset == -1) break;
+ endcounter++;
+ }
+
+ startPoint -= startcounter;
+ endPoint -= (midcounter + startcounter);
+
+ //Debug.write(startcounter + ', ' + midcounter + ', ' + endcounter + ', ' + startPoint + ', ' + endPoint);
+ return {start: startPoint, end: endPoint};
+ }
+}
+}
+
LzInputTextSprite.prototype.deselect = function (){
this._cancelfocus = true;
this.__hide();
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzSprite.js
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -225,6 +225,7 @@
,set_height_for_multiline_inputtext: false
,ie_opacity: false
,text_measurement_use_insertadjacenthtml: false
+ ,text_selection_use_range: false
}
LzSprite.prototype.capabilities = {
@@ -243,89 +244,92 @@
LzSprite.prototype.__updateQuirks = function(){
if (window['Lz'] && Lz.__BrowserDetect) {
Lz.__BrowserDetect.init();
- if (this.quirks['inner_html_strips_newlines'] == true) {
+ var quirks = this.quirks;
+
+ if (quirks['inner_html_strips_newlines'] == true) {
LzSprite.prototype.inner_html_strips_newlines_re = RegExp('$', 'mg');
}
// Divs intercept clicks if physically placed on top of an element
// that's not a parent. See LPP-2680.
// off for now
- //this.quirks['fix_clickable'] = true;
+ //quirks['fix_clickable'] = true;
if (Lz.__BrowserDetect.isIE) {
if (Lz.__BrowserDetect.version < 7) {
// Provide IE PNG/opacity support
- this.quirks['ie_alpha_image_loader'] = true;
+ quirks['ie_alpha_image_loader'] = true;
} else {
- this.quirks['invisible_parent_image_sizing_fix'] = true;
+ quirks['invisible_parent_image_sizing_fix'] = true;
}
- this.quirks['ie_opacity'] = true;
+ quirks['ie_opacity'] = true;
// IE DOM leak prevention
- this.quirks['ie_leak_prevention'] = true;
+ quirks['ie_leak_prevention'] = true;
// Use images to force click tree to work in IE
- this.quirks['fix_ie_clickable'] = true;
+ quirks['fix_ie_clickable'] = true;
// workaround for IE refusing to respect divs with small heights when
// no image is attached
- this.quirks['fix_ie_background_height'] = true;
+ quirks['fix_ie_background_height'] = true;
// workaround for IE not supporting ' in innerHTML
- this.quirks['inner_html_no_entity_apos'] = true;
+ quirks['inner_html_no_entity_apos'] = true;
// workaround for IE not supporting clip in divs containing inputtext
- this.quirks['inputtext_parents_cannot_contain_clip'] = true;
+ quirks['inputtext_parents_cannot_contain_clip'] = true;
// flag for components (basefocusview for now) to minimize opacity changes
- this.quirks['minimize_opacity_changes'] = true;
+ quirks['minimize_opacity_changes'] = true;
// multiline inputtext height must be set directly - height: 100% does not work. See LPP-4119
- this.quirks['set_height_for_multiline_inputtext'] = true;
+ quirks['set_height_for_multiline_inputtext'] = true;
// text size measurement uses insertAdjacentHTML()
- this.quirks['text_measurement_use_insertadjacenthtml'] = true;
+ quirks['text_measurement_use_insertadjacenthtml'] = true;
+ quirks['text_selection_use_range'] = true;
} else if (Lz.__BrowserDetect.isSafari) {
// Fix bug in where if any parent of an image is hidden the size is 0
// TODO: Tucker claims this is fixed in the latest version of webkit
- this.quirks['invisible_parent_image_sizing_fix'] = true;
+ quirks['invisible_parent_image_sizing_fix'] = true;
// Remap alt/option key also sends control since control-click shows context menu (see LPP-2584 - Lzpix: problem with multi-selecting images in Safari 2.0.4, dhtml)
- this.quirks['alt_key_sends_control'] = true;
+ quirks['alt_key_sends_control'] = true;
// Safari scrollHeight needs to subtract scrollbar height
- this.quirks['safari_textarea_subtract_scrollbar_height'] = true;
+ quirks['safari_textarea_subtract_scrollbar_height'] = true;
// Safari doesn't like clipped or placed input text fields.
- this.quirks['safari_avoid_clip_position_input_text'] = true;
+ quirks['safari_avoid_clip_position_input_text'] = true;
// Safari won't show canvas tags whose parent is display: none
- this.quirks['safari_visibility_instead_of_display'] = true;
- this.quirks['absolute_position_accounts_for_offset'] = true;
- this.quirks['canvas_div_cannot_be_clipped'] = true;
+ quirks['safari_visibility_instead_of_display'] = true;
+ quirks['absolute_position_accounts_for_offset'] = true;
+ quirks['canvas_div_cannot_be_clipped'] = true;
if (Lz.__BrowserDetect.version > 523.10) {
this.capabilities['rotation'] = true;
}
} else if (Lz.__BrowserDetect.isOpera) {
// Fix bug in where if any parent of an image is hidden the size is 0
- this.quirks['invisible_parent_image_sizing_fix'] = true;
- this.quirks['no_cursor_colresize'] = true;
- this.quirks['absolute_position_accounts_for_offset'] = true;
- this.quirks['canvas_div_cannot_be_clipped'] = true;
+ quirks['invisible_parent_image_sizing_fix'] = true;
+ quirks['no_cursor_colresize'] = true;
+ quirks['absolute_position_accounts_for_offset'] = true;
+ quirks['canvas_div_cannot_be_clipped'] = true;
} else if (Lz.__BrowserDetect.isFirefox && Lz.__BrowserDetect.version < 2) {
// see http://groups.google.ca/group/netscape.public.mozilla.dom/browse_thread/thread/821271ca11a1bdbf/46c87b49c026246f?lnk=st&q=+focus+nsIAutoCompletePopup+selectedIndex&rnum=1
- this.quirks['firefox_autocomplete_bug'] = true;
+ quirks['firefox_autocomplete_bug'] = true;
}
}
- if (this.quirks['safari_avoid_clip_position_input_text']) {
+ if (quirks['safari_avoid_clip_position_input_text']) {
LzSprite.prototype.__defaultStyles.lzswfinputtext.marginTop = '-2px';
LzSprite.prototype.__defaultStyles.lzswfinputtext.marginLeft = '-2px';
LzSprite.prototype.__defaultStyles.lzswfinputtextmultiline.marginTop = '-2px';
LzSprite.prototype.__defaultStyles.lzswfinputtextmultiline.marginLeft = '-2px';
}
- if (this.quirks['css_hide_canvas_during_init']) {
- if (this.quirks['safari_visibility_instead_of_display']) {
+ if (quirks['css_hide_canvas_during_init']) {
+ if (quirks['safari_visibility_instead_of_display']) {
LzSprite.prototype.__defaultStyles.lzcanvasdiv.visibility = 'hidden';
} else {
LzSprite.prototype.__defaultStyles.lzcanvasdiv.display = 'none';
@@ -333,7 +337,7 @@
LzSprite.prototype.__defaultStyles.lzcanvasclickdiv.display = 'none';
}
- if (this.quirks['hand_pointer_for_clickable']) {
+ if (quirks['hand_pointer_for_clickable']) {
LzSprite.prototype.__defaultStyles.lzclickdiv.cursor = 'pointer';
}
}
@@ -1178,16 +1182,22 @@
LzSprite.prototype.predestroy = function() {
}
-LzSprite.prototype.destroy = function(recursive) {
- if (this.destroyed == true) return;
- //alert('destroy' + this + ', recursive ' + recursive);
- if (recursive) {
- if (this.__children) {
- for (var i = 0; i < this.__children.length; i++) {
- this.__children[i].destroy(recursive);
- }
+LzSprite.prototype.destroy = function() {
+ if (this.__LZdeleted == true) return;
+ // To keep delegates from resurrecting us. See LzDelegate#execute
+ this.__LZdeleted = true;
+
+ // Remove from parent if the parent is not going to be GC-ed
+ if ((this.__parent) && (! this.__parent.__LZdeleted)) {
+ var pc = this.__parent.__children;
+ for (var i = pc.length - 1; i >= 0; i--) {
+ if (pc[i] === this) {
+ pc.splice(i, 1);
+ break;
}
+ }
}
+
if (this.__ImgPool) this.__ImgPool.destroy();
if (this.__LZimg) this.__discardElement(this.__LZimg);
if (this.__LZclick) {
@@ -1217,7 +1227,6 @@
this.__discardElement(this.__LZcanvas);
}
this.__ImgPool = null;
- this.destroyed = true;
}
/**
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzTextSprite.js
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -267,7 +267,11 @@
this._styledirty = false;
}
- if (this._sizecache.counter > this.__sizecacheupperbound) this._sizecache = {counter: 0};
+ // Empty the cache when full, but do not reset the counter because
+ // IE holds onto the object.
+ if (this._sizecache.counter > 0 && this._sizecache.counter % this.__sizecacheupperbound == 0) {
+ this._sizecache = {counter: this._sizecache.counter};
+ }
if (this._sizecache[style] == null) this._sizecache[style] = {};
var root = document.getElementById('lzTextSizeCache');
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/svg/LzSprite.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/svg/LzSprite.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/svg/LzSprite.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzSprite.js
*
- * @copyright Copyright 2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -471,7 +471,7 @@
}
}
-LzSprite.prototype.destroy = function(recursive) {
+LzSprite.prototype.destroy = function() {
}
LzSprite.prototype.getMouse = function(xy) {
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzContextMenu.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzContextMenu.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzContextMenu.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -19,7 +19,7 @@
*/
class LzContextMenu extends LzNode {
-function initialize(del) {
+function LzContextMenu (del) {
// set callback for Flash "onSelect" event
this.cm = new ContextMenu();
this.cm.hideBuiltInItems();
@@ -121,7 +121,7 @@
*/
class LzContextMenuItem extends LzNode {
-function initialize (title, del) {
+function LzContextMenuItem (title, del) {
this.cmenuitem = new ContextMenuItem(title);
this.setDelegate(del);
}; // End of LzContextMenuItem
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLibraryLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -9,13 +9,13 @@
*/
//* A_LZ_COPYRIGHT_BEGIN ******************************************************
-//* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+//* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
//* Use is subject to license terms. *
//* A_LZ_COPYRIGHT_END ********************************************************
class LzLibraryLoader extends LzLoader {
- function initialize ( owner , args ) {
- super.initialize.apply(this, arguments);
+ function LzLibraryLoader ( owner , args ) {
+ super(owner, args);
this.owner.loadperc = 0;
//setup loadmovie stuff that never changes
this.mc.loader = this;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -13,8 +13,8 @@
*/
class LzLoader {
-function initialize ( owner , args ){
- super.initialize.apply(this, arguments);
+function LzLoader ( owner , args ){
+ super(owner, args);
//Debug.write("LzLoader initialize owner=",owner,'attachref=', args.attachRef, args);
this.mc = args.attachRef == null ? owner.__LZmovieClipRef : args.attachRef;
//this breaks media loading in swf: this.mc = args.attachRef == null ? owner.getMCRef() : args.attachRef;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMakeLoadSprite.as
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMakeLoadSprite.as 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMakeLoadSprite.as 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzMakeLoadSprite.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -255,7 +255,7 @@
/**
* @access private
*/
-LzMakeLoadSprite.destroy = function (recur) {
+LzMakeLoadSprite.destroy = function () {
if ('updateDel' in this)
this.updateDel.unregisterAll();
if ('errorDel' in this)
@@ -266,5 +266,5 @@
this.loader.unload( this.loader.mc );
// call shadowed destroy()
- this.___destroy( recur );
+ this.___destroy();
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzMediaLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -12,8 +12,8 @@
* @access private
*/
class LzMediaLoader extends LzLoader {
- function initialize( owner , args ) {
- super.initialize.apply(this, arguments);
+ function LzMediaLoader ( owner , args ) {
+ super(owner, args);
this.owner.owner.loadperc = 0;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzSprite.as 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/LzSprite.as 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzSprite.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -897,7 +897,18 @@
LzSprite.prototype.predestroy = function(){
this.bringToFront();
-
+}
+
+/**
+ * This method should remove a view, its media, and any of its subviews.
+ * @access private
+ *
+ */
+LzSprite.prototype.destroy = function(){
+ if (this.__LZdeleted == true) return;
+ // To keep delegates from resurrecting us. See LzDelegate#execute
+ this.__LZdeleted = true;
+
if (this.updatePlayDel) {
this.updatePlayDel.unregisterAll();
delete this.updatePlayDel;
@@ -907,22 +918,7 @@
this.doQueuedDel.unregisterAll();
delete this.doQueuedDel;
}
-}
-/**
- * This method should remove a view, its media, and any of its subviews.
- * @access private
- *
- */
-LzSprite.prototype.destroy = function(recursive){
- if (recursive) {
- if (this.owner.subviews) {
- for (var i = 0; i < this.owner.subviews.length; i++) {
- this.owner.subviews[i].sprite.destroy(recursive);
- }
- }
- }
-
this.__LZFinishDestroyOnIdle();
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as 2008-01-04 16:20:15 UTC (rev 7726)
@@ -11,7 +11,7 @@
var _fscommandReady = false;
var _callbacks = [];
- function initialize(){
+ function DojoExternalInterfaceClass(){
//getURL("javascript:alert('FLASH:DojoExternalInterface initialize')");
//Debug.write('DojoExternalInterface.initialize()');
// FIXME: Set available variable by testing for capabilities
@@ -220,7 +220,7 @@
}
/* X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ******************************************************/
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as 2008-01-04 16:20:15 UTC (rev 7726)
@@ -23,7 +23,7 @@
var argData = null;
var resultData = null;
- function initialize(){
+ function DojoExternalInterfaceClass(){
// extract the dojo base path
//Debug.write('initialize', flash.external.ExternalInterface.addCallback);
@@ -227,7 +227,7 @@
}
/* X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ******************************************************/
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as 2008-01-04 16:20:15 UTC (rev 7726)
@@ -23,7 +23,7 @@
var updater = null
var hold = null
- function initialize(){
+ function ExpressInstall(){
// does the user need to update?
this.needsUpdate = (_root.MMplayerType == undefined) ? false : true;
}
@@ -75,6 +75,6 @@
}
/* X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ******************************************************/
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzContextMenu.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzContextMenu.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzContextMenu.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -19,7 +19,7 @@
*/
class LzContextMenu extends LzNode {
-function initialize(del) {
+function LzContextMenu (del) {
// set callback for Flash "onSelect" event
this.cm = new ContextMenu();
this.cm.hideBuiltInItems();
@@ -121,7 +121,7 @@
*/
class LzContextMenuItem extends LzNode {
-function initialize (title, del) {
+function LzContextMenuItem (title, del) {
this.cmenuitem = new ContextMenuItem(title);
this.setDelegate(del);
}; // End of LzContextMenuItem
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzHTTPLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzHTTPLoader.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -15,7 +15,7 @@
// We have an internal 'lzloader' property which points to an LzLoader (Flash-7-8-specific)
class LzHTTPLoader {
-function initialize (owner, proxied) {
+function LzHTTPLoader (owner, proxied) {
this.lzloader = this.makeLzLoader(proxied);
this.owner = owner;
this.options = {
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzInputTextSprite.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -14,11 +14,11 @@
*/
class LzInputTextSprite extends LzTextSprite {
-function initialize(newowner, args) {
+function LzInputTextSprite (newowner, args) {
// [todo pbr 10-31-07]
- // I'm not calling super.initialize because this appears to do what
+ // I'm not calling super because this appears to do what
// LzInputSprite ctor does
- // super.initialize.apply(this, arguments);
+ // super(newowner, args);
this.__LZdepth = newowner.immediateparent.sprite.__LZsvdepth++;
this.__LZsvdepth = 0;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLibraryLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLibraryLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLibraryLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLibraryLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -9,13 +9,13 @@
*/
//* A_LZ_COPYRIGHT_BEGIN ******************************************************
-//* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+//* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
//* Use is subject to license terms. *
//* A_LZ_COPYRIGHT_END ********************************************************
class LzLibraryLoader extends LzLoader {
- function initialize ( owner , args ) {
- super.initialize.apply(this, arguments);
+ function LzLibraryLoader ( owner , args ) {
+ super(owner, args);
this.owner.loadperc = 0;
//setup loadmovie stuff that never changes
this.mc.loader = this;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoadQueue.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLoadQueue.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -14,7 +14,7 @@
*/
class LzLoadQueueClass {
-function initialize () {
+function LzLoadQueueClass () {
this.addPriorityFunction( LzLoadQueueClass.defaultPriorityAssignment );
this.timeoutDel = new LzDelegate( this , "checkTimeout" );
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -13,8 +13,8 @@
*/
class LzLoader {
-function initialize ( owner , args ){
- super.initialize.apply(this, arguments);
+function LzLoader ( owner , args ){
+ super(owner, args);
//Debug.write("LzLoader initialize owner=",owner,'attachref=', args.attachRef, args);
this.mc = args.attachRef == null ? owner.__LZmovieClipRef : args.attachRef;
//this breaks media loading in swf: this.mc = args.attachRef == null ? owner.getMCRef() : args.attachRef;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMakeLoadSprite.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzMakeLoadSprite.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -254,7 +254,7 @@
/**
* @access private
*/
-function destroy (recur) {
+function destroy () {
if ('updateDel' in this)
this.updateDel.unregisterAll();
if ('errorDel' in this)
@@ -265,7 +265,7 @@
this.loader.unload( this.loader.mc );
// call shadowed destroy()
- this.___destroy( recur );
+ this.___destroy();
}
} // End of LzMakeLoadSpriteClass
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzMediaLoader.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzMediaLoader.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -12,8 +12,8 @@
* @access private
*/
class LzMediaLoader extends LzLoader {
- function initialize( owner , args ) {
- super.initialize.apply(this, arguments);
+ function LzMediaLoader ( owner , args ) {
+ super(owner, args);
this.owner.owner.loadperc = 0;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSoundMC.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzSoundMC.as
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -16,7 +16,7 @@
*/
class LzSoundMC {
-function initialize (mc) {
+function LzSoundMC (mc) {
this.init(mc);
this._playdel = new LzDelegate( this , "testPlay" );
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzSprite.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzSprite.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -10,8 +10,8 @@
class LzSprite {
-function initialize(newowner, isroot, args) {
- super.initialize.apply(this, arguments);
+function LzSprite (newowner, isroot, args) {
+ super();
if (newowner == null) return this;
this.owner = newowner;
//Debug.write('---> New sprite', newowner, newowner.immediateparent, newowner.immediateparent.sprite);
@@ -900,14 +900,11 @@
* @access private
*
*/
-function destroy(recursive){
- if (recursive) {
- if (this.owner.subviews) {
- for (var i = 0; i < this.owner.subviews.length; i++) {
- this.owner.subviews[i].sprite.destroy(recursive);
- }
- }
- }
+function destroy(){
+ if (this.__LZdeleted == true) return;
+ // To keep delegates from resurrecting us. See LzDelegate#execute
+ this.__LZdeleted = true;
+
if (this.updatePlayDel) {
this.updatePlayDel.unregisterAll();
delete this.updatePlayDel;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
/**
* LzTextSprite.lzs
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -10,11 +10,11 @@
class LzTextSprite extends LzSprite {
-function initialize(newowner, args) {
+function LzTextSprite (newowner, args) {
// [todo pbr 10-31-07]
- // I'm not calling super.initialize because this appears to do what
+ // I'm not calling super because this appears to do what
// LzInputSprite ctor does
- // super.initialize.apply(this, arguments);
+ // super(newowner, args);
if (newowner == null) return this;
this.__LZdepth = newowner.immediateparent.sprite.__LZsvdepth++;
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzCSSStyle.js
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzCSSStyle.js 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzCSSStyle.js 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzcssstyle lzcssstylerule
@@ -80,11 +80,6 @@
return csssd;
}
-/** @access private */
-LzCSSStyle.__LZRuleCache = {};
-LzCSSStyle.__LZPropertyCache = {};
-
-
//LzCSSStyle.time1 = 0;
LzCSSStyle.getPropertyValueFor = function ( initialnode , pname ){
//Debug.warn("node: %w, pname: %w, rules: %w\n", node, pname, this._rules);
@@ -94,11 +89,14 @@
var node = initialnode;
while (node != canvas) {
- var uid = node.__LZUID;
- var val = this.__LZPropertyCache[uid + pname];
- if (val != null) return val;
+ if (! node.__LZPropertyCache) {
+ node.__LZPropertyCache = {};
+ } else {
+ var val = node.__LZPropertyCache[pname];
+ if (val != null) return val;
+ }
- var rules = this.__LZRuleCache[ uid ];
+ var rules = node.__LZRuleCache;
if ( !rules ) {
rules = new Array();
var r;
@@ -211,7 +209,7 @@
rules.sort(this.__compareSpecificity);
- this.__LZRuleCache[ uid ] = rules;
+ node.__LZRuleCache = rules;
}
//Debug.write("About to print rule array.")
@@ -223,7 +221,7 @@
var props = rules[i++].properties;
if (pname in props) {
val = props[pname];
- this.__LZPropertyCache[uid + pname] = val;
+ node.__LZPropertyCache[pname] = val;
break;
}
}
@@ -248,7 +246,7 @@
// Go through all the selectors in the selector, keeping a running
// count of various kinds of selectors:
/*
- count 1 if the selector is a ’style’ attribute rather than a selector,
+ count 1 if the selector is a `style` attribute rather than a selector,
0 otherwise (= a)
count the number of ID attributes in the selector (= b)
count the number of other attributes and pseudo-classes in the selector (= c)
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzIdle.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzIdle.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzIdle.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzidle
@@ -34,12 +34,14 @@
*/
class LzIdleClass {
-var coi = [];
+ var coi;
var removeCOI = null;
-function initialize () {
-this.removeCOI = new LzDelegate( this , "removeCallIdleDelegates" );
+function LzIdleClass () {
+ // Create array on instance, not prototype
+ this.coi = new Array;
+ this.removeCOI = new LzDelegate( this , "removeCallIdleDelegates" );
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzInstantiator.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzInstantiator.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzInstantiator.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzinstantiator
@@ -19,7 +19,7 @@
class LzInstantiatorClass {
var checkQDel = null;
-function initialize () {
+function LzInstantiatorClass () {
this.checkQDel = new LzDelegate( this , "checkQ" );
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTimer.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTimer.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTimer.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lztimer
@@ -75,7 +75,12 @@
// User LzTimer explicitly below; "this" is not the outer function's
// this here.
LzTimer.removeTimerWithID(p.delegate, p.id);
- p.delegate.execute( (new Date()).getTime() );
+ var del = p.delegate;
+ // Inlining LzDelegate.execute()
+ if (del.enabled && del.c) {
+ //p.delegate.execute( (new Date()).getTime() ); inlined
+ if (! del.c.__LZdeleted && del.c[del.f]) del.c[del.f]( (new Date()).getTime() );
+ }
}
var id = setInterval(f, milisecs);
if ($debug) {
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTrack.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTrack.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/services/LzTrack.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lztrack
@@ -122,8 +122,8 @@
/** @access private */
var __LZmouseupDel = null;
-function initialize (){
- super.initialize.apply(this, arguments);
+function LzTrackClass (){
+ super();
this.__LZtrackDel = new LzDelegate( this, "__LZtrack" );// called on idle
this.__LZmouseupDel = new LzDelegate( this, "__LZmouseup", LzGlobalMouse, 'onmouseup');// called on global mouseup
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloCanvas.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloCanvas.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloCanvas.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzcanvas
@@ -61,9 +61,9 @@
*/
static var tagname = 'canvas';
-function initialize ( args ) {
+function LzCanvas ( args ) {
// TODO: [2006-05-19 ptw] The original did not do this, should we?
- // super.initialize.apply(this, arguments);
+ // super(null, args);
// Note canvas start
if ($profile) {
Profiler.event('start: #canvas');
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloView.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloView.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LaszloView.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @affects lzview
@@ -1157,10 +1157,10 @@
super.destroy.apply(this, arguments);
+ if (this.sprite) { this.sprite.destroy() }
+
if ( recursiveCall == true ) { return; }
- if (this.sprite) { this.sprite.destroy(true) }
-
//this.__LZFinishDestroyOnIdle();
this.setVisible ( false );
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzScript.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzScript.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzScript.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -69,7 +69,7 @@
static var tagname = 'script';
function LzScript ( parent, args ) {
- super(parent,null);
+ super(parent, args);
args.script();
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzViewLinkage.lzs
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzViewLinkage.lzs 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/lfc/views/LzViewLinkage.lzs 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/**
*
- * @copyright Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @access public
@@ -38,7 +38,7 @@
* @param fromView: the view from which to originate the transformation
* @param toView: the reference view
*/
- function initialize ( fromView, toView ) {
+ function LzViewLinkage ( fromView, toView ) {
//@field scale: An <b><i>LzPoint</b></i> representing the scale
//transformation of this linkage. 1 is no transformation.
this.scale = new Object ();
Modified: openlaszlo/branches/devildog/WEB-INF/lps/schema/build.xml
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/schema/build.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/schema/build.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,7 +1,7 @@
<project name="schema" default="build">
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
@@ -18,10 +18,9 @@
<property name="rnc" value="lzx.rnc"/>
<property name="docrng" value="lzxdoc.rng"/>
<property name="rng" value="lzx.rng"/>
- <property name="dtd" value="lzx.dtd"/>
<property name="xsd" value="lzx.xsd"/>
<property name="html" value="lzx-reference.html"/>
- <property name="python.exec" value="python" />
+
<mkdir dir="build"/>
<condition property="schemas.uptodate">
<and>
@@ -31,8 +30,6 @@
<include name="lzx.rnc"/>
</srcfiles>
</uptodate>
- <uptodate property="dtd.uptodate" value="false" srcfile="${rng}" targetfile="${dtd}">
- </uptodate>
<uptodate property="xsd.uptodate" value="false" srcfile="${rnc}" targetfile="${xsd}"/>
</and>
</condition>
@@ -53,17 +50,6 @@
<style in="build/lzx.direct.rng" out="${docrng}" style="strip-private.xsl"/>
</target>
- <target name="dtd"
- description="Generate DTD" depends="rng"
- unless="schemas.uptodate" >
- <exec executable="${python.exec}" taskname="rng2dtd" failonerror="true" >
- <arg value="rng2dtd.py"/>
- <arg value="${rng}"/>
- <arg value="-o"/>
- <arg value="${dtd}"/>
- </exec>
- </target>
-
<target name="clean"
description="Remove generated schema files" depends="init">
<delete dir="${build}"/>
Modified: openlaszlo/branches/devildog/WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt 2008-01-04 16:20:15 UTC (rev 7726)
@@ -370,24 +370,39 @@
{jjtThis.setFloatingPointValue(t.image);}
}
+Token IdentifierOrAS3Keyword() #void : {Token t;}
+{
+ // Newer AS3 keywords are allowed as identifiers, other
+ // keywords (like public, private, protected) apparently are not
+ ( t=<IDENTIFIER>
+ | t=<INTERNAL>
+ | t=<FINAL>
+ | t=<STATIC>
+ | t=<OVERRIDE>
+ | t=<DYNAMIC>
+ )
+ {return t;}
+}
+
ASTIdentifier Identifier() #Identifier : {Token t;}
{
- t=<IDENTIFIER>
+ ( t=IdentifierOrAS3Keyword() )
{jjtThis.setName(t.image); return jjtThis;}
}
void IdentifierOrKeyword() #Identifier : {Token t;}
{
- t=<IDENTIFIER>
+ ( t=IdentifierOrAS3Keyword()
+ | t=<CLASS>
+ | t=<EXTENDS>
+ | t=<IMPLEMENTS>
+ | t=<INHERITS>
+ | t=<WITH>
+ | t=<INTERFACE>
+ | t=<TRAIT>
+ | t=<MIXIN>
+ )
{jjtThis.setName(t.image);}
-| "class" {jjtThis.setName("class");}
-| "extends" {jjtThis.setName("extends");}
-| "implements" {jjtThis.setName("implements");}
-| "inherits" {jjtThis.setName("inherits");}
-| "with" {jjtThis.setName("with");}
-| "interface" {jjtThis.setName("interface");}
-| "trait" {jjtThis.setName("trait");}
-| "mixin" {jjtThis.setName("mixin");}
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java 2008-01-04 16:20:15 UTC (rev 7726)
@@ -8,7 +8,7 @@
*/
/* J_LZ_COPYRIGHT_BEGIN *******************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* J_LZ_COPYRIGHT_END *********************************************************/
@@ -43,6 +43,12 @@
private static byte[] backingStore;
Hashtable constants;
+ // relative indicates a normal relative reference if relative is
+ // false, this reference is part of label arithmetic, that is, a
+ // difference of two labels:
+ // (label2 - label1)
+ // this produces two references, one with positive=true and one
+ // with positive=false.
public static class LabelReference {
int patchloc;
boolean relative;
@@ -77,24 +83,31 @@
for (Iterator i = references.iterator(); i.hasNext(); ) {
LabelReference lr = (LabelReference)i.next();
int patchloc = lr.patchloc;
- int offset = location - (lr.relative ? (patchloc + 2) : 0);
- if (!lr.positive)
- offset = -offset;
-
- boolean rangecheck = true;
+ int offset = location - (patchloc + 2);
if (!lr.relative) {
- short curval = bytes.getShort(patchloc);
- offset += curval;
-
- // When we're in the middle of evaluating an expression like
- // (label1 - label0), the offset may be temporarily out of range,
- // so disable the check
-
- if (curval == 0)
- rangecheck = false;
+ // If we are doing label arithmetic, we store the relative
+ // offset of the first label we encounter, when the second
+ // label is encountered it will subtract its offset. When
+ // the instruction is first written, it will write 0 offsets
+ // at the patchloc. So, the test for curval == 0 is saying
+ // "is this the first label we have encountered for this
+ // location?" And if so, it will not do any arithmetic, it
+ // will simply write the offset of that label into the
+ // patchloc.
+ // FIXME [2007-12-14 ptw] (LPP-5262) This will fail if the
+ // blocks in the try are maximal
+ // Fetch unsigned:
+ int curval = bytes.getShort(patchloc) & MAX_OFFSET();
+ if (curval == 0) {
+ ;
+ } else if (lr.positive) {
+ offset = offset - curval;
+ } else {
+ offset = curval - offset;
+ }
}
- if (rangecheck && (offset < MIN_OFFSET() || offset > MAX_OFFSET())) {
+ if (offset < MIN_OFFSET() || offset > MAX_OFFSET()) {
throw new CompilerException((this instanceof Block?"Block":"Label") + " " +
name + ": jump offset " + offset + " too large");
}
Modified: openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
===================================================================
--- openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java 2008-01-04 16:20:15 UTC (rev 7726)
@@ -457,7 +457,13 @@
if (n instanceof ASTFunctionDeclaration && !keepClassMethods) {
SimpleNode[] c = n.getChildren();
assert c.length == 3;
- p.add(new ASTLiteral(((ASTIdentifier)c[0]).getName()));
+ String fname = ((ASTIdentifier)c[0]).getName();
+ // Transform constructor into '$lzsc$initialize' method
+ if (classnameString.equals(fname)) {
+ fname = "$lzsc$initialize";
+ c[0] = new ASTIdentifier(fname);
+ }
+ p.add(new ASTLiteral(fname));
SimpleNode funexpr = new ASTFunctionExpression(0);
funexpr.setBeginLocation(n.filename, n.beginLine, n.beginColumn);
funexpr.setChildren(c);
@@ -792,7 +798,10 @@
String ca = null;
String pattern = "(arguments.callee.superclass?arguments.callee.superclass.prototype[_1]:this.nextMethod(arguments.callee, _1)).call(this, _2)";
if (fname instanceof ASTEmptyExpression) {
- name = "constructor";
+ // super with no selector is the constructor, which will be
+ // renamed to $lzsc$initialize in translateClassDirective to
+ // mesh with lfc/compiler/Class.lzs framework
+ name = "$lzsc$initialize";
} else {
name = ((ASTIdentifier)fname).getName();
}
Modified: openlaszlo/branches/devildog/build-tools/runlztest.sh
===================================================================
--- openlaszlo/branches/devildog/build-tools/runlztest.sh 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/build-tools/runlztest.sh 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,7 +2,7 @@
# Run several tests in the rhino runtime.
# usage
# runlztest.sh [file-with-list-of-tests]
-# Copyright 2007 Laszlo Systems
+# Copyright 2007-2008 Laszlo Systems
# Use a default value for the tests file if its not specified on the command line
tests=${1:-"test/lztest/smoketest.txt"}
@@ -80,7 +80,7 @@
echo "if (LzTestManager.failedsuites > 0) quit(3);" >> $outfile
# load that file into rhino
- $JAVA_EXEC -jar 3rd-party/jars/custom_rhino.jar $outfile
+ $JAVA_EXEC -jar 3rd-party/jars/custom_rhino.jar -opt -1 $outfile
# Stop testing if we failed a test
if [ $? != 0 ] ; then
Modified: openlaszlo/branches/devildog/build.xml
===================================================================
--- openlaszlo/branches/devildog/build.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/build.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -6,7 +6,7 @@
<!-- Author: Eric Bloch / Benjamin Shine -->
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
@@ -230,8 +230,8 @@
</target>
<!--============== Convenience Targets [simple] ==================-->
- <target name="simple" depends="disable-tomcat,disable-dtd,build"
- description="Just do a simple build, without tomcat or a dtd or doc." />
+ <target name="simple" depends="disable-tomcat,build"
+ description="Just do a simple build, without tomcat or doc." />
<!--============== Convenience Targets [nightly] ==================-->
<target name="nightly" depends="disable-tomcat"
@@ -261,11 +261,6 @@
<property name="skip.nsi-dev" value="true" />
</target>
- <target name="disable-dtd"
- description="Don't want the endless dtd task to run? Just run this target first.">
- <property name="skip.dtd" value="true" />
- </target>
-
<!--=============== Target [init] ===================-->
<target name="init" description="Target for initialization"
depends="build-opt"
@@ -405,7 +400,6 @@
<include name="*.sit"/>
<include name="*.dmg"/>
<include name="*.exe"/>
- <include name="tools/lzx.dtd" />
<include name="tools/lzx.rnc" />
<include name="tools/lzx.rng" />
<include name="tools/lzx.xsd" />
@@ -456,13 +450,7 @@
unless="no.tomcat">
<ant target="webapp.undeploy" />
</target>
-
- <!--================ Target [dtd] ==============-->
- <target name="dtd" depends="init"
- description="build the dtd, only" >
- <ant dir="${webapp-lps-home}/schema" target="dtd" />
- </target>
-
+
<!--================ Target [build-source-distro] ==============-->
<target name="build-source-distro"
description="Build source distribution"
@@ -495,7 +483,7 @@
</target>
<target name="package-source-distro"
- description="Turn source dirs into packages" depends="disable-tomcat,init,dtd">
+ description="Turn source dirs into packages" depends="disable-tomcat,init">
<echo message="packaging source distro into ${source-distro-gzfile}" />
<!-- Create tar gz -->
@@ -706,10 +694,7 @@
<target name="build-dist-dir-dev"
description="Prepares dev copy of dist directory"
depends="disable-tomcat,init" unless="done.build-dist-dir-dev" >
-
- <!-- Explicitly build the dtd when we're building a distribution -->
- <ant target="dtd" />
-
+
<copy todir="${builddir-dev}" >
<fileset dir="${builddir}">
<patternset refid="manifest.top" />
@@ -810,8 +795,7 @@
<!--================ Target [dist-dev] ==============-->
<target name="dist-dev" depends="disable-tomcat,init,build-core" unless="done.dist.dev"
description="Build 'developer' distributions" >
- <!-- Explicitly build the dtd when we're building a distribution -->
- <ant dir="${webapp-lps-home}/schema" target="dtd" />
+
<ant target="build-dist-dir-dev" inheritrefs="true" />
<ant target="prefetch" inheritrefs="true" />
@@ -1013,7 +997,7 @@
<!--================ Target [build-dist-dir-core] ==============-->
<target name="build-dist-dir-core"
description="Build lps core distribution directory for tgz (w/out precache)"
- depends="disable-tomcat,init,build,doc,dtd"
+ depends="disable-tomcat,init,build,doc"
unless="build-dist-dir-core.done">
<property name="webapp" value="${builddir}/lps-${version.id}" />
Modified: openlaszlo/branches/devildog/docs/includes/docbook.css
===================================================================
--- openlaszlo/branches/devildog/docs/includes/docbook.css 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/includes/docbook.css 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/* Stylesheet for LZX Documentation */
/* J_LZ_COPYRIGHT_BEGIN *******************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* J_LZ_COPYRIGHT_END *********************************************************/
@@ -95,7 +95,7 @@
/* Emphasis inside a program listing is bold blue, instead of italic */
pre em {
- color: blue;
+ color: #111499;
font-weight: bold;
font-style: normal;
}
Modified: openlaszlo/branches/devildog/docs/includes/styles.css
===================================================================
--- openlaszlo/branches/devildog/docs/includes/styles.css 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/includes/styles.css 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
/* Stylesheet for LPS docs */
/* J_LZ_COPYRIGHT_BEGIN *******************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* J_LZ_COPYRIGHT_END *********************************************************/
@@ -31,9 +31,11 @@
}
h4 {
+ font-size: 12px;
}
h5 {
+ font-size: 12px;
color: #4F4F4F;
}
@@ -379,4 +381,4 @@
font-weight: bold;
line-height: 18px;
color: #333333;
-}
\ No newline at end of file
+}
Modified: openlaszlo/branches/devildog/docs/release-notes.html
===================================================================
--- openlaszlo/branches/devildog/docs/release-notes.html 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/release-notes.html 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,198 +1,42 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
-<title>OpenLaszlo 4.0.5 Release Notes</title>
-
-
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <link rel="stylesheet" href="../lps/includes/explore.css" type="text/css" />
- <link rel="SHORTCUT ICON" href="http://www.laszlosystems.com/images/laszlo.ico" />
- </head>
-
-<body class="release-notes">
-
-<h1>Release Notes for OpenLaszlo 4.0.5</h1>
-
-
-<p class="bodytext">
-
-<b>OpenLaszlo 4.0.5 is the recommended platform for .swf development.</b> With OpenLaszlo 4.0.5, there is no longer any reason to continue application development using OpenLaszlo 3.4. Support for applications to DHTML remains at "beta" level; it will be fully supported with OL 4.1. This release has been tested by users world wide and vetted by the Laszlo Systems Quality Assurance team. Hundreds of improvements have been made since OpenLaszlo 4.0.</p>
-
-<p>
-For every release, we rely on the OpenLaszlo community to help ensure
-the quality of the platform release and to determine its future
-direction. To propose or participate in discussion of new features,
-see <a href="http://wiki.openlaszlo.org/Enhancement_Proposals">the wiki.</a>
-We encourage you to report any problems, and to make
-suggestions for enhancements, through our <a
-href="http://www.openlaszlo.org/jira/browse/LPP">JIRA bug tracking
-system.</a> </p>
-<p>
-Please see the <a href="http://download.openlaszlo.org/4.0.0/release-notes.html">OpenLaszlo 4.0 Release Notes</a> for an overview of significant changes since 3.x.
-</p>
-<p><i>What happened to version 4.0.4? We skipped a number. We don't like 404s.</i></p>
-<h1>New Features in 4.0.5</h1>
-<ul>
- <li><b>Explicit Replication</b>. Please see <a href="http://wiki.openlaszlo.org/Explicit_Replication">the proposal for explicit replication on the wiki</a> for details. Expect more detailed documentation in upcoming releases. </li>
-</ul>
-<h1>Important Known Issues in 4.0.5</h1>
-<p>Some known bugs are present in this release; this is the way of the world. A few of these bugs deserve special attention:</p>
-<ul>
- <li><a href="http://www.openlaszlo.org/jira/browse/LPP-4235">With jdk 1.6 and tomcat 5.5.23, changes to build.xml deploy task necessary</a> The bug description indicates a small change that must be made to the main build.xml file in order to use these recent versions of tomcat and java.</li>
-<li><a href="http://www.openlaszlo.org/jira/browse/LPP-3579"> Fix debugger in Safari</a> The dhtml debugger does not work in Safari 2 or Safari 3 or WebKit nightly as of r24285. If you need the Safari debugger to work, in lps.properties you can set compiler.debug.safari to true, do a clean build and flush your browser cache to allow debugging in Safari 2. This is not on by default because it makes debugging less useful in Firefox (backtaces will not see function names). WebKit and Safari 3 work correctly without any workaround. </li>
-</ul>
-
-<h1>Bugs Fixed in 4.0.5</h1>
-<ul>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4655" target="buggies">LPP-4655: History mechanism not working</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4695" target="buggies">LPP-4695: Runtime-Exception in IE with Flash8</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4699" target="buggies">LPP-4699: Explicit replicator displays warning when a clone's datapath is null</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4660" target="buggies">LPP-4660: Httpdatarequest has LzLoader value for xmldata when status is "error" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4610" target="buggies">LPP-4610: 'request' method is deprecated, causing trouble, needs to be removed for LzDataset </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4600" target="buggies">LPP-4600: Flash: navbar buttons in laszlo-explorer and examples have clipped text </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4584" target="buggies">LPP-4584: dataset fires multiple ondata-Events </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4583" target="buggies">LPP-4583: Improve compiler and caching performance </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4582" target="buggies">LPP-4582: YouTube demo not working due to changes of Youtube.com FLV url pattern </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4560" target="buggies">LPP-4560: lzc does not respect JAVA_OPTS on non-windows platforms </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4538" target="buggies">LPP-4538: richtexteditarea-test.lzx and richtexteditarea-driver.lzx have warnings and errors </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4535" target="buggies">LPP-4535: Memory leaks in "LzMakeLoadSprite" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4532" target="buggies">LPP-4532: Two typos in "LzHTTPDatasource#doRequest(..)" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4509" target="buggies">LPP-4509: internal index page has broken link to deployer's guide </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4505" target="buggies">LPP-4505: Eliminate several warnings in doc build </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4497" target="buggies">LPP-4497: Selecting Contributor's and Developer's Guide results in 404 error </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4462" target="buggies">LPP-4462: When running a SOLO SWF in an HTML file located in a different directory than the SWF, data requests are made relative to SWF, not HTML file </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4436" target="buggies">LPP-4436: window decrements its x and y coordinates when clicked </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4433" target="buggies">LPP-4433: Better performance for <basetrackgroup> </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4432" target="buggies">LPP-4432: Memory leaks in "basetabelement" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4431" target="buggies">LPP-4431: <list> should disable "autoscrollbar" on destroy </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4418" target="buggies">LPP-4418: Wafflecone: LzDataElement.makeNodeList broken </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4370" target="buggies">LPP-4370: drawview doesn't respect visibility </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4352" target="buggies">LPP-4352: scrollrichedittext can't create scrollbar </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3431" target="buggies">LPP-3431: Ensure richtext and richtexteditor work in OL4/SWF
-</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4316" target="buggies">LPP-4316: "datalistselector#getItemByData(..)" and "datalistselector#getItemIndexByData(..)" should test against null </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4315" target="buggies">LPP-4315: "datalistselector#findIndex(..)" attempts to compare a "LzDataElement" against a "LzView" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4269" target="buggies">LPP-4269: No event data in calendar demo for August 2007 </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4206" target="buggies">LPP-4206: Add support for flash 8 font smoothing APIs </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4120" target="buggies">LPP-4120: LzTrack interferes w/ window drag w/ FF DHTML </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4055" target="buggies">LPP-4055: constructWithArgs defined twice in LzNode.lzs </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3907" target="buggies">LPP-3907: edittext and inputtext may fire onfocus resp. onblur twice </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3560" target="buggies">LPP-3560: radiogroup and selecting an item </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3521" target="buggies">LPP-3521: Debugger warnings when rich text editor is instantiated </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-1952" target="buggies">LPP-1952: destroy before resource is loaded leads to full load queue and hang </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4675" target="buggies">LPP-4675: Scrolling large text (100K) is very slow </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4665" target="buggies">LPP-4665: Compilation of some binary libraries fails </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4659" target="buggies">LPP-4659: DHTML: OS X: Cannot load laszlo-explorer in dhtml on OS X/FF2 </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4626" target="buggies">LPP-4626: Can only click into the first 10 to 20 pixels of inputtext </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4544" target="buggies">LPP-4544: Ability to override default container and mask views for explicit replicator </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4533" target="buggies">LPP-4533: Link to 3.4 docs on openlaszlo.org from laszlo explorer </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4414" target="buggies">LPP-4414: Improve startup performance </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4405" target="buggies">LPP-4405: Implement ExplicitReplication </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4404" target="buggies">LPP-4404: Implement DataProvider API </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4397" target="buggies">LPP-4397: rich text editor: cannot switch to the same font twice </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4396" target="buggies">LPP-4396: rich text editor: clicking bold moves insertion point </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4357" target="buggies">LPP-4357: getMouse returns absolute coordinates in DHTML + FF </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4332" target="buggies">LPP-4332: Merge release notes from 4.0.3 into legals </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4261" target="buggies">LPP-4261: Unable to load and unload resources repeatedly - DHTML </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4240" target="buggies">LPP-4240: View.updateResourceSize() generates error in DHTML </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4215" target="buggies">LPP-4215: wrappinglayout construct() method refers to args.spacing, which is undefined. should refer to this.spacing. </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4200" target="buggies">LPP-4200: Missing warnings in "LzBrowser.js" (DHTML) </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4015" target="buggies">LPP-4015: Text selection position and size should be available during onblur event </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3726" target="buggies">LPP-3726: stretches breaks clickable in swf7/8 </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-2894" target="buggies">LPP-2894: CSS: subclasses and instances can't override style constraints set on superclass* </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-2111" target="buggies">LPP-2111: Horrendously inefficient looping in layout classes!! </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4676" target="buggies">LPP-4676: replicator xpath attribute -- double quotes is strange </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4671" target="buggies">LPP-4671: explicit lazyreplicator tag places it's first two views out of order </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4667" target="buggies">LPP-4667: replicatorselectionmanager: yet another replication manager is confusing </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4666" target="buggies">LPP-4666: explicit lazyreplication fails in test file test-replicator.lzx </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4661" target="buggies">LPP-4661: View with stretches="both" does not get onclick </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4657" target="buggies">LPP-4657: Input text does not obey font style directives in SWF7/8 </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4638" target="buggies">LPP-4638: selectionmanager test broken </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4631" target="buggies">LPP-4631: test/lfc/data/datanode.lzx fails </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4630" target="buggies">LPP-4630: Dataset subclasses doRequest oninit if autorequest="true" and request="false" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4612" target="buggies">LPP-4612: Explicit replicator doesn't update when items are added or deleted </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4601" target="buggies">LPP-4601: Link to Deployer's Guide in Server Admin is broken </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4597" target="buggies">LPP-4597: turn debugger warnings for non-fatal issues into INFO </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4592" target="buggies">LPP-4592: basedatacombobox-based components with selectfirst="false" emits Debugger warnings </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4589" target="buggies">LPP-4589: Two messages highlighted on autocheck when one message is in inbox </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4585" target="buggies">LPP-4585: Two onmousetrackup events fired when only 1 should be fired. </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4571" target="buggies">LPP-4571: Text component not sized correctly when fontsize configured via a constraint </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4569" target="buggies">LPP-4569: Update nav_dhtml.xml whenever nav.xml for laszlo-explorer changes </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4565" target="buggies">LPP-4565: Selecting Contributor's Guide in navbar and quick index entry opens Comprehensive Reference </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4564" target="buggies">LPP-4564: Links to Contributor's Guide have (alpha), the guide has (beta) in the title </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4563" target="buggies">LPP-4563: LZX Reference gets 404 error from the quick index page </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4562" target="buggies">LPP-4562: LoadJS works differently in the dev console </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4561" target="buggies">LPP-4561: Multiple select is undone by mousedown </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4558" target="buggies">LPP-4558: test/wafflecone/test/components/incubator/richtexteditarea-driver.lzx needs to be deleted, no longer valid </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4556" target="buggies">LPP-4556: Rich text: Can't change font back to Verdana </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4553" target="buggies">LPP-4553: basefocusview warnings when canvas size changes </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4551" target="buggies">LPP-4551: debugger warnings emitted from a private LFC function </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4549" target="buggies">LPP-4549: runtime warnings should include file references, line #s </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4543" target="buggies">LPP-4543: setVisibility was not an approved API change </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4540" target="buggies">LPP-4540: Laszlo Explorer hierarchical menu does not display in dhtml/firefox/opera/safari </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4539" target="buggies">LPP-4539: Put in a header in each page of reference guide saying "this is an alpha; please look elsewhere(link) for better docs" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4537" target="buggies">LPP-4537: Laszlo Explorer welcome page says "This is a fully-qualified release" -- but it's not </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4534" target="buggies">LPP-4534: Make a left-nav index navigator for OL 4 docs </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4530" target="buggies">LPP-4530: lzunit basedatacombobox test fails </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4521" target="buggies">LPP-4521: dhtml/flash: Clicking OK without a zip code no longer gives an error (regression) </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4520" target="buggies">LPP-4520: dhtml/swf: Window is missing in Date Picker component </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4513" target="buggies">LPP-4513: Compiler Improvements to address performance </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4510" target="buggies">LPP-4510: Quick Index page has broken doc links </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4502" target="buggies">LPP-4502: Investigate whether the docs build </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4495" target="buggies">LPP-4495: Richedittext: can't change font </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4489" target="buggies">LPP-4489: Richedittext: Can't change formatting before typing </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4487" target="buggies">LPP-4487: test/explicit-replicators/replicator.lzx not working </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4481" target="buggies">LPP-4481: Richedittext: Text size 18 doesn't seem to do anything. </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4479" target="buggies">LPP-4479: Richedittext: Successive changing of a text's properties shortens the selected text range by one character. </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4478" target="buggies">LPP-4478: Richedittext: WARNING: __LZgetNodes: p is null in LzDatapointer </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4477" target="buggies">LPP-4477: Selecting all of the text in a richedittext and then changing the text's properties doesn't change the final character. </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4474" target="buggies">LPP-4474: amazon soap fails in dhtml / wafflecone branch </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4464" target="buggies">LPP-4464: setVisible(null) warning, but it is never called </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4463" target="buggies">LPP-4463: ERROR:Class for tag include has not been defined yet </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4461" target="buggies">LPP-4461: In rich text editor, font color combo box does not update when cursor moves to different colored text </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4459" target="buggies">LPP-4459: Visible property not respected for replication </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4458" target="buggies">LPP-4458: Flash and dhtml: Cannot enter/edit text in Calendar demo (broke between r5934 and r5938) </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4456" target="buggies">LPP-4456: Idle/wait resource is out of position </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4453" target="buggies">LPP-4453: datapointer gets stuck on text elements </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4448" target="buggies">LPP-4448: fixes for dataprovider </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4428" target="buggies">LPP-4428: Make warning on CSS value is null more informative </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4427" target="buggies">LPP-4427: Clean-up for "basescrollbar" </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4425" target="buggies">LPP-4425: Source for Small applications, Demos, and Components can't be viewed </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4423" target="buggies">LPP-4423: Class hierarchy document is not found </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4421" target="buggies">LPP-4421: linkdialog driver can't make links </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4403" target="buggies">LPP-4403: 4.0 history system should warn if first argument to save() isn't a string </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4401" target="buggies">LPP-4401: Namespace separators are not recognized in datapaths - updated </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4400" target="buggies">LPP-4400: Editor for live code examples in dguide isn't working </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4394" target="buggies">LPP-4394: "LzGlobalMouse.onmousemove" is way to slow for "LzView.prototype.getMouse.dependencies" in SWF </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4356" target="buggies">LPP-4356: link dialog does not make links (regression from r5852) </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4347" target="buggies">LPP-4347: baserichedittext-test.lzx fails
-</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3988" target="buggies">LPP-3988: Redundant 'validate' warnings on binary library compiles </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3738" target="buggies">LPP-3738: Remove DHTML startup warning message for IceWeasel browser </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3431" target="buggies">LPP-3431: Ensure richtext and richtexteditor work in OL4/SWF </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-3024" target="buggies">LPP-3024: If a css'd resource is not found, an error or warning should be issued </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-2760" target="buggies">LPP-2760: Decide how the data API's should handle null values </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4663" target="buggies">LPP-4663: Class hierarchy doc not found in binary dist </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4504" target="buggies">LPP-4504: Calendar demo presents no sample data </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4496" target="buggies">LPP-4496: Links to demo apps in refguide are wrongly mapped </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4470" target="buggies">LPP-4470: Make a test/driver file for lzcombobox </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4443" target="buggies">LPP-4443: Don't warn on undefined style constraints when constant specified </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4375" target="buggies">LPP-4375: Fix lztest-text.lzx </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4374" target="buggies">LPP-4374: Fix lztest-stableborderlayout.lzx </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4351" target="buggies">LPP-4351: richtexteditarea-test has warnings and errors in debugger, but lzunit test passes
-</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4350" target="buggies">LPP-4350: linkdialog-test fails </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4349" target="buggies">LPP-4349: test-baseedittext.lzx fails </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-4348" target="buggies">LPP-4348: rich-text: formatfontsize test fails
-</a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-1605" target="buggies">LPP-1605: ctor precedence is wrong </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-1417" target="buggies">LPP-1417: Allow backtracing to be invoked from the developer console </a></li>
-<li><a href="http://jira.openlaszlo.org/jira/browse/LPP-1635" target="buggies">LPP-1635: runtime warning on richtexteditarea test </a></li>
-</ul>
-
-
-</body>
+ <title>
+ OpenLaszlo 4.0.7 Release Notes
+ </title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" href="../lps/includes/explore.css" type="text/css" />
+ <link rel="SHORTCUT ICON" href="http://www.laszlosystems.com/images/laszlo.ico" />
+ </head>
+ <body class="release-notes">
+ <h1>
+ Release Notes for OpenLaszlo 4.1.x
+ </h1>
+ <p class="bodytext">
+ OpenLaszlo 4.1.x is a series of nightly builds from live development. For production, we recommend using OpenLaszlo 4.0.7.
+ </p>
+ <p>
+ For every release, we rely on the OpenLaszlo community to help ensure the quality of the platform release and to determine its future direction. To propose or participate in discussion of new features, see <a href="http://wiki.openlaszlo.org/Enhancement_Proposals">the wiki.</a> We encourage you to report any problems, and to make suggestions for enhancements, through our <a href="http://www.openlaszlo.org/jira/browse/LPP">JIRA bug tracking system.</a>
+ </p>
+ <p>
+ Please see the <a href="http://download.openlaszlo.org/4.0.0/release-notes.html">OpenLaszlo 4.0 Release Notes</a> for an overview of significant changes since 3.x.
+ </p>
+ <h1>
+ New Features in 4.1.x
+ </h1>
+ <p>
+ TBD
+ </p>
+ <h1>
+ Bugs Fixed in 4.1.x
+ </h1>
+ <p>
+ TBD
+ </p>
+ </body>
</html>
Modified: openlaszlo/branches/devildog/docs/src/build.xml
===================================================================
--- openlaszlo/branches/devildog/docs/src/build.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/build.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,12 +1,26 @@
<?xml version="1.0"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+
<!DOCTYPE project [
<!ENTITY build_opt SYSTEM "file:../../build-tools/build-opt.xml">
]>
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<project name="reference" default="build">
&build_opt;
@@ -40,7 +54,7 @@
<property name="show.fixmes" value="0"/>
</then>
<else>
- <property name="draft.mode" value="yes"/>
+ <property name="draft.mode" value="no"/> <!-- [bshine 12.30.2007] turn off draft bg because it bothers me ] -->
<property name="show.comments" value="1"/>
<if><equals arg1="${release}" arg2="Internal" casesensitive="true" trim="true"/>
<then>
@@ -279,12 +293,15 @@
</target> <!-- book.html.generate -->
- <target name="book.resources.generate" depends="init">
- <!--- @param local.input.dir
- @param local.build.dir
- @param local.output.dir
+ <!-- Copy resources (programs, images, data, resources) from the source directory to the output directory.
+ Note that this doesn't actively "generate" anything, it just copies stuff around. -->
+ <target name="book.resources.generate" depends="init"
+ description="Copy resources (programs, images, data, resources) from the source directory to the output directory.">
+ <!--- @param local.input.dir path to the source files on disk
+ @param local.build.dir where to put build intermediates
+ @param local.output.dir where to put the final product
-->
- <!-- Extract the lzx (and other) files from the *.in files. -->
+ <!-- Extract the lzx (and other) files from the input files. -->
<mkdir dir="${local.output.dir}/programs"/>
<copy todir="${local.output.dir}/programs">
<fileset dir="${local.build.dir}/programs" includes="*.lzx"/>
@@ -1123,6 +1140,7 @@
<copy todir="${developers.build.dir}">
<fileset dir="${developers.input.dir}"/>
</copy>
+ <copy todir="${developers.build.dir}" file="${lps.server.dir}/lib/js2doc.rnc"/>
</target>
<target name="developers.resources" depends="developers.preprocess">
@@ -1148,7 +1166,7 @@
<antcall target="dbk.examples.preprocess" inheritAll="true">
<param name="local.input.dir" value="${docs.build.dir}"/> <!-- $LPS_HOME/docs/src/build -->
<param name="local.input.index" value="developers/${developers.input.index}"/>
- <param name="local.output.dir" value="${developers.output.dir}"/> <!-- $LPS_HOME/docs/developers -->
+ <param name="local.output.dir" value="${developers.build.dir}"/>
<param name="local.output.index" value="${developers.dbk.index}"/>
<param name="local.worksheet" value="xsl/dbkpreprocessexamples.xsl"/>
</antcall>
@@ -1367,14 +1385,14 @@
</foreach>
</target>
- <target name="contributors" depends="contributors.preprocess,contribref.resources,contributors.resources">
+ <target name="contributors" depends="contributors.preprocess,contributors.resources">
<antcall target="book.html.generate" inheritAll="true">
<param name="local.input.dir" value="${docs.output.dir}"/>
<param name="local.input.index" value="contribindex.dbk"/>
<param name="local.output.dir" value="${docs.output.dir}"/>
<param name="local.output.index" value="contribindex.html"/>
<param name="local.output.depends.dir" value="${docs.output.dir}"/>
- <param name="local.output.depends.set" value="contribindex.html contributors/*.html contribref/*.html"/>
+ <param name="local.output.depends.set" value="contribindex.html contributors/*.html"/>
<param name="local.worksheet" value="xsl/refguide-html.xsl"/>
</antcall>
</target>
Modified: openlaszlo/branches/devildog/docs/src/contribset.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/contribset.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/contribset.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!--DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
@@ -12,8 +12,10 @@
<xi:fallback><para>Missing: Contributors Guide</para></xi:fallback>
</xi:include>
+ <!-- don't include the reference
<xi:include href="contribref/index.dbk">
<xi:fallback><para>Missing: Reference</para></xi:fallback>
</xi:include>
+ -->
</set>
Deleted: openlaszlo/branches/devildog/docs/src/contributors/branch-management.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/change-submission.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/doc-toolchain.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/docbook-code.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/docbook-local.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/images/doc-toolchain.graffle
Deleted: openlaszlo/branches/devildog/docs/src/contributors/images/doc-toolchain.png
Deleted: openlaszlo/branches/devildog/docs/src/contributors/js2doc-local.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/js2doc-ref.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/licenses.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/release-management.dbk
Deleted: openlaszlo/branches/devildog/docs/src/contributors/source-build.dbk
Copied: openlaszlo/branches/devildog/docs/src/developers/branch-management.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/branch-management.dbk)
Modified: openlaszlo/branches/devildog/docs/src/developers/browser-integration.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/browser-integration.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/browser-integration.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -502,13 +502,29 @@
<example role="live-example">
<title>Flash player version-detecting wrapper</title>
<programlisting>
- <!-- remove para tags for valid DocBook LI, LPP-4594 9/3/2007 -->
- <!-- para is not a legal child of programlisting -->
- <!-- <para role="fixme"> -->
- <remark role="fixme">
- <emphasis role="para-label">FIXME:</emphasis>
- </remark>
- <!-- </para> -->
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <link rel="SHORTCUT ICON" href="http://www.laszlosystems.com/favicon.ico">
+ <title>OpenLaszlo Application</title><style type="text/css">
+ html, body { margin: 0; padding: 0; height: 100%; }
+ body { background-color: #ffffff; }
+ </style><script language="JavaScript1.1" src="/lps-dev/lps/includes/vbembed.js"
+ type="text/javascript"></script><script src="/lps-dev/lps/includes/embed.js" type="text/javascript"></script></head>
+ <body><script type="text/javascript">
+ actualVersion = detectFlash();
+ requiredVersion = 6;
+ if (isIE && isWin || actualVersion >= requiredVersion) {
+ lzEmbed({url: 'graceie.lzx?lzt=swf', bgcolor: '#ffffff', width: '500', height: '200'}, requiredVersion);
+ } else {
+ document.write('This application requires Flash player ' + requiredVersion + '.
+ <a href="http://www.macromedia.com/go/getflashplayer" target="fpupgrade">Click here</a> to upgrade.');
+ }
+ </script></body>
+</html>
</programlisting>
</example>
<para>Depending on which version is running, you may wish to
@@ -631,17 +647,14 @@
globals.</para>
<example role="live-example">
<title>Passing query parameters to LZX application</title>
- <programlisting>
- <!-- remove para tags for valid DocBook LI, LPP-4594 9/3/2007 -->
- <!-- para is not a legal child of programlisting -->
- <!-- <para role="fixme"> -->
- <remark role="fixme">
- <emphasis role="para-label">FIXME:</emphasis>example
- showing passing of parameters</remark>
- <!-- </para> -->
- </programlisting>
+ <programlisting>
+<script type="text/javascript">
+ lzEmbed({url: 'mainApplication'+screenW+'.lzx?lzt=swf', bgcolor: '#394660', width: screenW, height: screenH});
+</script>
+
+</programlisting>
</example>
- <para />
+
<section>
<title>Query Parameters and Global Variables</title>
<para>Once the data has been passed in you can simply access
Copied: openlaszlo/branches/devildog/docs/src/developers/change-submission.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/change-submission.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/data_app.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/data_app.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/doc-backwards-xform.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/doc-backwards-xform.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/doc-toolchain.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/doc-toolchain.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/docbook-code.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/docbook-code.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/docbook-local.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/docbook-local.dbk)
Modified: openlaszlo/branches/devildog/docs/src/developers/fonts.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/fonts.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/fonts.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -86,6 +86,7 @@
<example role="live-example">
<title>Using device fonts</title>
<programlisting language="lzx">
+ <parameter role="canvas">height: 400, width: 800</parameter>
<textobject><textdata fileref="programs/fonts-$1.lzx"/></textobject>
</programlisting>
</example>
@@ -101,6 +102,7 @@
<example role="live-example">
<title>setting the default font on the canvas</title>
<programlisting language="lzx">
+ <parameter role="canvas">height: 100, width: 500, bgcolor: 'gray'</parameter>
<textobject><textdata fileref="programs/fonts-$2.lzx"/></textobject>
</programlisting>
</example>
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build-developers.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-ant-build-developers.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-ant-build.graffle)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-ant-build.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-ant-build.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain-is-docbook.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-toolchain-is-docbook.graffle)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain-is-docbook.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-toolchain-is-docbook.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-toolchain.graffle)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc-toolchain.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc-toolchain.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc_overview_simple.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc_overview_simple.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/doc_reference_details.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/doc_reference_details.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/docbook-to-html.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/docbook-to-html.graffle)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/docbook-to-html.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/docbook-to-html.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/js2doc2dbk.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/js2doc2dbk.graffle)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/js2doc2dbk.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/js2doc2dbk.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes-explanation.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-attributes-explanation.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes-table.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-attributes-table.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-attributes.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-attributes.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-events.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-events.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-example-explanation.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-example-explanation.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-header-explanation.graffle)
Deleted: openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle/data.plist
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.graffle/data.plist (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-header-explanation.graffle/data.plist)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-header-explanation.png (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-header-explanation.png)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-methods-explanation.graffle)
Deleted: openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle/data.plist
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-methods-explanation.graffle/data.plist (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-methods-explanation.graffle/data.plist)
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-overview-explanation.graffle)
Deleted: openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle/data.plist
Copied: openlaszlo/branches/devildog/docs/src/developers/images/reference-overview-explanation.graffle/data.plist (from rev 7717, openlaszlo/trunk/docs/src/developers/images/reference-overview-explanation.graffle/data.plist)
Modified: openlaszlo/branches/devildog/docs/src/developers/index.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/index.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/index.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,10 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!--DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"-->
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"-->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<book xmlns:xi="http://www.w3.org/2003/XInclude">
<?dbhtml dir="developers" ?>
<?dbhtml filename="index.html" ?>
@@ -76,7 +89,7 @@
<xi:include href="data-structures.dbk"/>
<!-- xi:include href="data-overview.dbk"/-->
<xi:include href="databinding.dbk"/>
- <xi:include href="tutorials/data_app.dbk"/>
+ <xi:include href="data_app.dbk"/>
<!-- xi:include href="static-databinding.dbk"/ -->
<!-- xi:include href="dynamic-databinding.dbk"/ -->
<!-- xi:include href="two-way-databinding.dbk"/ -->
@@ -85,27 +98,19 @@
<!-- xi:include href="dataprovider.dbk"/ -->
</part>
- <part id="developers.media">
- <title>Media</title>
+ <part id="developers.advanced">
+ <title>Advanced Topics</title>
+ <xi:include href="survey-chapter.dbk"/>
<xi:include href="video.dbk"/>
+ <xi:include href="performance.dbk"/>
+ <xi:include href="cookies.dbk"/>
</part>
- <part id="developers.application">
- <title>Examining Applications</title>
- <xi:include href="survey-chapter.dbk"/>
- </part>
- <part id="developers.performance">
- <title>Performance Monitoring and Tuning</title>
- <!--xi:include href="data-pooling.dbk"/-->
- <xi:include href="performance.dbk"/>
- <?ignore <chapter id="colors"><title>Color in Laszlo Applications</title></chapter>?>
- </part>
-
+ <?ignore
<part id="developers.server-integration">
<title>Server Integration</title>
<!--xi:include href="integrating-existing.dbk"/-->
- <xi:include href="cookies.dbk"/>
<!--xi:include href="persistent_connection.dbk"/-->
<!--xi:include href="logging.dbk"/-->
<!--xi:include href="lps-request-types.dbk"/-->
@@ -113,6 +118,7 @@
<!--xi:include href="deployers-guide.dbk"/-->
<!--xi:include href="caching.dbk"/-->
</part>
+ ?>
<?part id="developers.advanced">
<title>Power Programming in LZX</title>
@@ -138,12 +144,44 @@
<xi:include href="editing-lzx.dbk"/>
<xi:include href="debugging.dbk"/>
<xi:include href="lzunit.dbk"/>
+ <xi:include href="source-build.dbk">
+ <xi:fallback><para>Missing: Building from Source</para></xi:fallback>
+ </xi:include>
+ </part>
+
+ <part id="developers.doctools">
+ <title>Documentation Tools and Guidelines</title>
+
+ <xi:include href="doc-toolchain.dbk">
+ <xi:fallback><para>Missing: Doc Tool Chain</para></xi:fallback>
+ </xi:include>
+
+ <xi:include href="doc-backwards-xform.dbk">
+ <xi:fallback><para>Missing: Doc Backwards Transformation</para></xi:fallback>
+ </xi:include>
+
+
+ <xi:include href="docbook-local.dbk">
+ <xi:fallback><para>Missing: Docbook Local Style Guide</para></xi:fallback>
+ </xi:include>
+
+ <xi:include href="docbook-code.dbk">
+ <xi:fallback><para>Missing: Docbook Code Comment Style Guide</para></xi:fallback>
+ </xi:include>
+
+ <xi:include href="js2doc-ref.dbk">
+ <xi:fallback><para>Missing: JS2Doc Reference</para></xi:fallback>
+ </xi:include>
+
</part>
<part id="developers.appendices">
<title>Appendices</title>
<xi:include href="initialization-and-instantiation.dbk"/>
<xi:include href="ecmascript-and-lzx.dbk"/>
+ <xi:include href="licenses.dbk">
+ <xi:fallback><para>Missing: Licenses Reference</para></xi:fallback>
+ </xi:include>
</part>
<!--index/-->
Copied: openlaszlo/branches/devildog/docs/src/developers/js2doc-local.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/js2doc-local.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/js2doc-ref.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/js2doc-ref.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/licenses.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/licenses.dbk)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$1.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$1.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$3.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$3.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$4.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$4.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$5.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$5.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$6.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$6.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$8.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$8.lzx)
Copied: openlaszlo/branches/devildog/docs/src/developers/programs/data_app-$9.lzx (from rev 7717, openlaszlo/trunk/docs/src/developers/programs/data_app-$9.lzx)
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$15.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$15.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$15.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,54 +1,28 @@
+<canvas height="150" debug="true">
+ <debug x="150"/>
+ <dataset name="onion">
+ <layer order="1"><layer><layer>core</layer></layer></layer>
+ </dataset>
-<canvas height="200" >
- <dataset name="numbers"/>
- <datapointer name="top" xpath="numbers:/"/>
-
- <datapointer name="numptr">
- <handler name="ondata" args="d">
- // d is LzDataElement object
- result.update(d.nodeName)
- </handler>
- </datapointer>
-
- <simplelayout spacing="5"/>
- <text>Type in a number and press the button or the Enter key</text>
- <view>
- <simplelayout spacing="10" axis="x"/>
- <edittext name="input">
- <handler name="onkeyup" args="k">
- if ( k == 13 ) {
- parent.bSend.compute();
- }
+ <view datapath="onion:/layer">
+ <simplelayout spacing="5"/>
+ <view width="${100 / this.data}" height="${100 / this.data}"
+ bgcolor="0x09d055" datapath="@order"
+ opacity="${Math.min(1, this.data / 3)}"/>
+
+ <button text="Peel next layer">
+ <handler name="onclick">
+ with (parent.datapath) {
+ Debug.write(data)
+ if (!selectChild()) this.setAttribute('enabled', false)
+ else setNodeAttribute('order', Number(p.parentNode.attributes['order']) + 1)
+ }
</handler>
- </edittext>
- <button name="bSend" text="Add">
- <handler name="onclick" method="compute"/>
- <method name="compute">
- top.addNode(parent.input.getText())
- var end = top.xpathQuery('*/last()')
- numptr.setAttribute('xpath', 'numbers:/*[' + end + ']')
- parent.input.clearText()
- </method>
</button>
-</view>
-<view height="100" >
- <text bgcolor="0xcecece" datapath="numbers:/*/name()"/>
- <wrappinglayout axis="y" spacing="3"/>
</view>
-
- <view>
- <attribute name="sum" value="$once{0}"/>
- <simplelayout axis="x"/>
- <text><b>AVG: </b></text>
- <text id="result" fgcolor="blue" fontstyle="bold">
- <method name="update" args="v">
- parent.sum += Number(v)
- this.setAttribute('text', parent.sum / top.p.childNodes.length)
- </method>
- </text>
- </view>
</canvas>
+
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$20.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$20.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$20.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -4,7 +4,7 @@
<simplelayout axis="x" spacing="20"/>
<view name="contacts" height="150" width="100">
- <view bgcolor="0xe0e0e0" datapath="phonebook:/contacts/contact"
+ <view bgcolor="0xe0e0e0" datapath="phonebook:/phonebook/contact"
onmouseover="setAttribute('bgcolor', 0xc0c0c0)" onmouseout="setAttribute('bgcolor', 0xe0e0e0)"
onclick="details.datapath.setAttribute('p', this.datapath.p)">
<simplelayout axis="x" spacing="5"/>
@@ -24,6 +24,6 @@
</view>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$22.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$22.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$22.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -6,7 +6,7 @@
onclick="details.datapath.selectPrev()"/>
<view name="details" options="releasetolayout" height="150">
- <datapath xpath="phonebook:/contacts/contact[1]"/>
+ <datapath xpath="phonebook:/phonebook/contact[1]"/>
<text datapath="@firstName"/>
<text datapath="@lastName"/>
<text datapath="@phone"/>
@@ -21,6 +21,6 @@
<resizelayout axis="x" spacing="10"/>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$23.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$23.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$23.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -6,13 +6,13 @@
<handler name="onclick">
with (details.datapath) {
selectPrev()
- setXPath('phonebook:/contacts/contact[' + getNodeOffset() + ']' )
+ setXPath('phonebook:/phonebook/contact[' + getNodeOffset() + ']' )
}
</handler>
</button>
<view name="details" options="releasetolayout" height="150">
- <datapath xpath="phonebook:/contacts/contact[1]"/>
+ <datapath xpath="phonebook:/phonebook/contact[1]"/>
<text datapath="@firstName"/>
<text datapath="@lastName"/>
<text datapath="@phone"/>
@@ -26,7 +26,7 @@
<handler name="onclick">
with (details.datapath) {
selectNext()
- setAttribute('xpath', 'phonebook:/contacts/contact[' + getNodeOffset() + ']')
+ setAttribute('xpath', 'phonebook:/phonebook/contact[' + getNodeOffset() + ']')
}
</handler>
</button>
@@ -34,6 +34,6 @@
<resizelayout axis="x" spacing="10"/>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$26.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$26.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$26.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -37,7 +37,7 @@
</button>
<view name="all">
- <datapath xpath="phonebook:/contacts/contact" pooling="true"/>
+ <datapath xpath="phonebook:/phonebook/contact" pooling="true"/>
<view>
<simplelayout axis="x"/>
<checkbox width="30" datapath="@checked">
@@ -59,6 +59,6 @@
</view>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$9.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$9.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/databinding-$9.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -4,7 +4,7 @@
<datapointer xpath="myData:/" ondata="processData()">
<method name="processData">
- this.selectChild(2);
+ this.selectChild(1);
do {
if (this.xpathQuery( '@show' ) == 'south park') {
Debug.write(this.xpathQuery('lastName/text()'));
@@ -14,6 +14,6 @@
</datapointer>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/introductory-classes-$17.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/introductory-classes-$17.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/introductory-classes-$17.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,7 +2,7 @@
<canvas debug="true">
<script>
var foo = new LzView(canvas, {width: 50, height: 50,
- x: 50, y: 100,
+ x: 150, y: 0,
bgcolor: 0,
name: "myview"});
</script>
@@ -15,6 +15,6 @@
</button>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/developers/programs/resources/phonebook.xml
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/programs/resources/phonebook.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/programs/resources/phonebook.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,10 +1,10 @@
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
-<contacts>
+<phonebook>
<contact firstName="John" lastName="Smith" phone="617-555-7855" email="jsmith at mail.com"/>
<contact firstName="Karl" lastName="Oberschnautzer" phone="111-555-9713" email="kobe at mail.com"/>
<contact firstName="Lisa" lastName="Jones" phone="415-555-8743" email="ljones at mail.com"/>
<contact firstName="Mary" lastName="Brown" phone="212-555-5211" email="mbrown at mail.com"/>
-</contacts>
+</phonebook>
Copied: openlaszlo/branches/devildog/docs/src/developers/source-build.dbk (from rev 7717, openlaszlo/trunk/docs/src/developers/source-build.dbk)
Modified: openlaszlo/branches/devildog/docs/src/developers/tutorials/comp-intro.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/tutorials/comp-intro.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/tutorials/comp-intro.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -46,7 +46,8 @@
<example role="live-example">
<title>Components miscellany</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/comp-intro-$1.lzx"/></textobject>
+ <textobject><textdata fileref="programs/comp-intro-$1.lzx"/></textobject>
+ <parameter role="canvas">height: 500, width: 800</parameter>
</programlisting>
</example>
@@ -303,7 +304,8 @@
<example role="live-example">
<title>Components example-tags only</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/comp-intro-$2.lzx"/></textobject>
+ <textobject><textdata fileref="programs/comp-intro-$2.lzx"/></textobject>
+ <parameter role="canvas">height: 100</parameter>
</programlisting>
</example>
<?example role="live-example"><title>Components example-tags only</title><programlisting role="lzx-embednew"><filename>comp-intro-$2.lzx</filename><parameter/><code>
@@ -360,7 +362,8 @@
<example role="live-example">
<title>Creating components from script</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/comp-intro-$3.lzx"/></textobject>
+ <textobject><textdata fileref="programs/comp-intro-$3.lzx"/></textobject>
+ <parameter role="canvas">height: 150</parameter>
</programlisting>
</example>
<?example role="live-example"><title>Creating components from script</title><programlisting role="lzx-embednew"><filename>comp-intro-$3.lzx</filename><parameter/><code>
@@ -403,7 +406,8 @@
<example role="live-example">
<title>Component APIs</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/comp-intro-$4.lzx"/></textobject>
+ <textobject><textdata fileref="programs/comp-intro-$4.lzx"/></textobject>
+ <parameter role="canvas">height: 150</parameter>
</programlisting>
</example>
<?example role="live-example"><title>Component APIs</title><programlisting role="lzx-embednew"><filename>comp-intro-$4.lzx</filename><parameter/><code>
@@ -449,7 +453,8 @@
<example role="live-example">
<title>Data-Driven Components</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/comp-intro-$5.lzx"/></textobject>
+ <textobject><textdata fileref="programs/comp-intro-$5.lzx"/></textobject>
+ <parameter role="canvas">height: 200, width:800</parameter>
</programlisting>
</example>
<?example role="live-example"><title>Data-Driven Components</title><programlisting role="lzx-embednew"><filename>comp-intro-$5.lzx</filename><parameter/><code>
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/data_app.dbk
Modified: openlaszlo/branches/devildog/docs/src/developers/tutorials/laszlo_basics.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/tutorials/laszlo_basics.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/tutorials/laszlo_basics.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -44,6 +44,7 @@
<title>Empty Canvas</title>
<programlisting language="lzx">
<textobject><textdata fileref="programs/laszlo_basics-$1.lzx"/></textobject>
+ <parameter role="canvas">height: 100, width: 500, bgcolor: 'green'</parameter>
</programlisting>
</example>
@@ -55,8 +56,6 @@
</canvas>
</programlisting><?lzx-edit programs/laszlo_basics-$1.lzx></example?>
-
-
<para>For this simple example we have set the background color to green, just to show that it's there. If you don't set a background color for the
canvas, it will be rendered white. (Throughout the rest of this tutorial no background color will be specified for the canvas.) Now let's
put a window on a white canvas.
@@ -65,7 +64,8 @@
<example role="live-example">
<title>Simple_window</title>
<programlisting language="lzx">
- <textobject><textdata fileref="programs/laszlo_basics-$2.lzx"/></textobject>
+ <textobject><textdata fileref="programs/laszlo_basics-$2.lzx"/></textobject>
+ <parameter role="canvas">height: 100, width: 500</parameter>
</programlisting>
</example>
Modified: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data-tutorial-$6.lzx
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data-tutorial-$6.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data-tutorial-$6.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -4,7 +4,7 @@
<datapointer xpath="myData:/" ondata="processData()">
<method name="processData">
- this.selectChild(2);
+ this.selectChild(1);
do {
if (this.xpathQuery( '@show' ) == 'south park') {
Debug.write(this.xpathQuery('firstName/text()'));
@@ -14,6 +14,6 @@
</datapointer>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$1.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$3.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$4.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$5.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$6.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$8.lzx
Deleted: openlaszlo/branches/devildog/docs/src/developers/tutorials/programs/data_app-$9.lzx
Modified: openlaszlo/branches/devildog/docs/src/developers/tutorials/scripting.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/developers/tutorials/scripting.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/developers/tutorials/scripting.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -125,7 +125,7 @@
<para>Functions are global to the LZX document, and they follow the same scope rules as JavaScript.</para>
-<para/></section><section><title>Methods</title>
+<para/></section><section id="tutorial-methods"><title>Methods</title>
<para>Methods are in some ways similar to functions. They contain blocks of code between <indexterm><primary>method</primary></indexterm><sgmltag class="element"><method></sgmltag><remark role="fixme">[unknown tag]</remark>
<!--unknown tag: method-->
Modified: openlaszlo/branches/devildog/docs/src/reference/index.dbk
===================================================================
--- openlaszlo/branches/devildog/docs/src/reference/index.dbk 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/reference/index.dbk 2008-01-04 16:20:15 UTC (rev 7726)
@@ -3,6 +3,19 @@
* Copyright 2006 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<book xmlns:xi="http://www.w3.org/2003/XInclude">
Modified: openlaszlo/branches/devildog/docs/src/reference/welcome.html
===================================================================
--- openlaszlo/branches/devildog/docs/src/reference/welcome.html 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/reference/welcome.html 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>LZX 4.1.x Reference Manual</title>
@@ -107,6 +119,6 @@
</body>
</html>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/xsl/common-html.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/common-html.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/common-html.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!DOCTYPE xsl:stylesheet [
@@ -8,7 +8,21 @@
<!ENTITY nbsp " ">
]>
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exslt="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
@@ -17,6 +31,7 @@
xmlns:dbk="http://docbook.org/ns/docbook"
exclude-result-prefixes="exslt xi dbk dyn saxon"
version="1.0">
+
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
<xsl:import href="parameters.xsl"/>
@@ -42,9 +57,7 @@
<xsl:param name="show.fixmes" select="1"/>
<xsl:param name="textdata.default.encoding"/>
-
- <xsl:param name="warn.no.programlisting.canvas.width" select="false()"/>
-
+
<xsl:param name="show.examples.debuginfo" select="false()" />
<xsl:template name="base.book.name">
@@ -114,7 +127,6 @@
<script type="text/javascript" language="JavaScript" src="{$rootpath}{$root.relative.lps.includes}embed-compressed.js"/>
<script type="text/javascript" language="JavaScript" src="{$rootpath}includes/docs.js"/>
<script type="text/javascript" language="JavaScript"><xsl:text>lzOptions = { ServerRoot: '</xsl:text><xsl:value-of select="$rootpath"/><xsl:text>', dhtmlKeyboardControl: false };</xsl:text></script>
- <script type="text/javascript" language="JavaScript"><xsl:text>Lz.dhtmlEmbedLFC('</xsl:text><xsl:value-of select="$rootpath"/><xsl:text>/lps/includes/lfc/LFCdhtml.js');</xsl:text></script>
</xsl:template>
<xsl:template name="body.attributes">
@@ -198,14 +210,33 @@
<xsl:apply-templates select="programlisting"/>
</xsl:template>
- <xsl:template match="programlisting[@language='lzx' and textobject/textdata/@fileref]">
+ <xsl:template match="programlisting[@language='lzx' and textobject/textdata/@fileref]">
-
<!-- extract necessary information from context -->
<xsl:variable name="fname" select="textobject/textdata/@fileref"/>
<xsl:variable name="query-parameters" select="parameter[@role='query']"/>
- <xsl:variable name="canvas-parameters" select="parameter[@role='canvas']"/>
-
+
+ <!--If no canvas parameters are specified, set height to 400px and width to 500.
+ This fixes LPP-5207 change height of example code window from 200 to 400 pixels
+ [bshine 12.16.2007]
+ -->
+ <xsl:variable name="canvas-parameters">
+ <!-- The problem here! is that! if we do select="parameter[@role='canvas']" and there is
+ more than one parameter with role='canvas' then the value of the $canvas-parameters
+ variable is *only* the text contents of the *first* result of the xpath query.
+ We want to have a comma-separated list of the canvas parameters! The
+ bug LPP-5207 results from almost always discarding the canvas height, which is
+ almost always the second canvas parameter listed. To demonstrate that this is
+ indeed the problem, in dbkpreprocessexamples.xsl switch the order of emitting
+ the canvas parameters. Notice that we now have nice canvas heights, but bad
+ canvas widths.
+ The solution! Iterate over the result node set! -->
+ <xsl:for-each select="parameter[@role='canvas']">
+ , <xsl:value-of select="."/> <!-- do a leading comma so that we don't have a stray comma at the end -->
+ </xsl:for-each>
+ </xsl:variable>
+
+
<!-- format live example -->
<xsl:variable name="live" select="ancestor::example[@role='live-example'] or ancestor::informalexample[@role='live-example']"/>
<xsl:if test="$live">
@@ -214,8 +245,8 @@
<xsl:if test="$query-parameters">&<xsl:value-of select="$query-parameters[1]/text()"></xsl:value-of></xsl:if>
</xsl:variable>
<xsl:variable name="canvas-id" select="generate-id(.)"/>
- <xsl:variable name="swf-embed-params">{url: '<xsl:value-of select="concat($fname, '?lzt=swf', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'SWF')"/>', <xsl:value-of select="$canvas-parameters"/>}</xsl:variable>
- <xsl:variable name="dhtml-embed-params">{url: '<xsl:value-of select="concat($fname, '?lzt=html&lzr=dhtml', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'DHTML')"/>', <xsl:value-of select="$canvas-parameters"/>}</xsl:variable>
+ <xsl:variable name="swf-embed-params">{url: '<xsl:value-of select="concat($fname, '?lzt=swf', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'SWF')"/>', history: false <xsl:value-of select="$canvas-parameters"/>}</xsl:variable>
+ <xsl:variable name="dhtml-embed-params">{url: '<xsl:value-of select="concat($fname, '?lzt=html&lzr=dhtml', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'DHTML')"/>' <xsl:value-of select="$canvas-parameters"/>}</xsl:variable>
<!-- To test examples in DHTML, uncomment the second script block below.
If you don't want to see the SWF version as well, comment out the
first script block. -->
@@ -246,9 +277,6 @@
<xsl:value-of select="$fname"/>
</xsl:variable>
<xsl:variable name="editbuttonimg">
- <!-- TODO [bshine 10.19.2007]
- If we're in the top-level directory, we only need to go ../includes to get to the edit button.
- If we're in something/tutorial then we need to go up ../../includes -->
<xsl:call-template name="relative.path.to.lpshome"/>
<xsl:text>docs/includes/d_t_editbutton.gif</xsl:text>
</xsl:variable>
@@ -307,11 +335,29 @@
</xsl:choose>
</xsl:template>
+ <!-- Although this template is associated with role="lzx-embednew",
+ it does not in fact seem to be the currently favored way of
+ setting up live examples. It seems, rather, that it was *once* new,
+ and is no longer new, but rather, it is now old. Preferred to
+ this structure is the template defined at line 201 of this file,
+ with the first line
+ <xsl:template match="programlisting[@language='lzx' and textobject/textdata/@fileref]">
+
+ An example of this favored usage can be found in, for instance,
+ docs/src/developers/tutorials/comp-intro.dbk :
+ <example role="live-example">
+ <title>Components miscellany</title>
+ <programlisting language="lzx">
+ <textobject><textdata fileref="programs/comp-intro-$1.lzx"/></textobject>
+ </programlisting>
+ </example>
+
+ [bshine 12.16.2007]
+ -->
<xsl:template match="programlisting[@role='lzx-embednew']">
<xsl:variable name="fname" select="filename/text()"/>
<xsl:variable name="query-parameters" select="parameter/text()"/>
- <xsl:variable name="text" select="code/text()"/>
-
+ <xsl:variable name="text" select="code/text()"/>
<xsl:variable name="query-param">
<xsl:if test="$query-parameters">&<xsl:value-of select="$query-parameters"></xsl:value-of></xsl:if>
</xsl:variable>
@@ -330,7 +376,7 @@
</xsl:call-template>
</xsl:variable>
<xsl:variable name="canvas-id" select="generate-id(.)"/>
- <xsl:variable name="swf-embed-params">{url: '<xsl:value-of select="concat($lzxdir, $fname, '?lzt=swf', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'SWF')"/>', width: '<xsl:copy-of select="$canvas-width"/>', height: '<xsl:copy-of select="$canvas-height"/>'}</xsl:variable>
+ <xsl:variable name="swf-embed-params">{url: '<xsl:value-of select="concat($lzxdir, $fname, '?lzt=swf', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'SWF')"/>', width: '<xsl:copy-of select="$canvas-width"/>', height: '<xsl:copy-of select="$canvas-height"/>', history: false}</xsl:variable>
<xsl:variable name="dhtml-embed-params">{url: '<xsl:value-of select="concat($lzxdir, $fname, '?lzt=html&lzr=dhtml', $query-param)"/>', id: '<xsl:value-of select="concat($canvas-id,'DHTML')"/>', width: '<xsl:copy-of select="$canvas-width"/>', height: '<xsl:copy-of select="$canvas-height"/>'}</xsl:variable>
<div class="embedded-canvas">
Modified: openlaszlo/branches/devildog/docs/src/xsl/conditional-html.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/conditional-html.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/conditional-html.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,8 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
Modified: openlaszlo/branches/devildog/docs/src/xsl/dbk-toc2nav.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/dbk-toc2nav.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/dbk-toc2nav.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!DOCTYPE xsl:stylesheet [
@@ -9,6 +9,8 @@
]>
+<!-- This stylesheet is unused. [bshine 12.26.2007] -->
+
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml"
Modified: openlaszlo/branches/devildog/docs/src/xsl/js2doc2dbk.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/js2doc2dbk.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/js2doc2dbk.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,8 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
@@ -1287,4 +1300,4 @@
</xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>
Modified: openlaszlo/branches/devildog/docs/src/xsl/lzx-pretty-print.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/lzx-pretty-print.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/lzx-pretty-print.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -4,8 +4,20 @@
If you edit this file, please validate your work using http://validator.w3.org/
-->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
-
<!DOCTYPE xsl:stylesheet [
<!ENTITY constraint "(starts-with(normalize-space(.),'$') and
@@ -181,6 +193,6 @@
</xsl:stylesheet>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
Modified: openlaszlo/branches/devildog/docs/src/xsl/lzx2js2doc.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/lzx2js2doc.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/lzx2js2doc.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,8 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<!DOCTYPE xsl:stylesheet [
]>
Modified: openlaszlo/branches/devildog/docs/src/xsl/parameters.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/parameters.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/parameters.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
+ <!-- Specify a doctype. Fixes LPP-5207. [bshine 12.17.2007] -->
+ <xsl:param name="chunker.output.method" select="'html'"/>
+ <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
+ <xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/html4/loose.dtd'"/>
- <!-- todo: add doctype -->
<!--xsl:param name="emphasis.propagates.style" select="0"/-->
<!-- Adminitions -->
@@ -31,7 +34,7 @@
<xsl:param name="index.number.separator" select="', '"/>
<xsl:param name="index.range.separator" select="'-'"/>
<!-- HTML -->
- <xsl:param name="draft.mode" select="'yes'"/>
+ <xsl:param name="draft.mode" select="'no'"/> <!-- Set to 'yes' if you want a watermark -->
<xsl:param name="draft.watermark.image" select="'./images/draft.png'"/>
<xsl:param name="use.id.as.filename" select="1"/>
<!-- Meta/*.info -->
Modified: openlaszlo/branches/devildog/docs/src/xsl/refguide-html.xsl
===================================================================
--- openlaszlo/branches/devildog/docs/src/xsl/refguide-html.xsl 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/docs/src/xsl/refguide-html.xsl 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,8 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2006-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2006-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
+<!--
+ To understand the documentation toolchain, please consult the developer's guide,
+ in Part XI, Documentation Tools and Guidelines, and especially in
+ Chapter 52, The Documentation Toolchain.
+
+ In a source build of OpenLaszlo, those chapters can be found at
+ http://localhost:8080/trunk/docs/developers/developers.doctools.html
+
+ Currently, those chapters can be found live at the following URL
+ http://labs.openlaszlo.org/trunk-nightly/docs/developers/developers.doctools.html
+
+ [bshine 12.29.2007]
+-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
@@ -50,4 +63,4 @@
</xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>
Modified: openlaszlo/branches/devildog/laszlo-explorer/coverpages/documentation_cover.html
===================================================================
--- openlaszlo/branches/devildog/laszlo-explorer/coverpages/documentation_cover.html 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/laszlo-explorer/coverpages/documentation_cover.html 2008-01-04 16:20:15 UTC (rev 7726)
@@ -2,7 +2,7 @@
<!-- documentation_cover.html -->
<!-- -->
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!--=======================================================================-->
@@ -17,23 +17,21 @@
<div class="desc">
<strong><a href="../../docs/developers/index.html" target="laszlo-dguide">Software Developer's Guide to OpenLaszlo Applications</a></strong>
<p>In depth explanations of OpenLaszlo concepts—from tutorials through advanced concepts.</p>
+ <strong><a href="../../docs/reference/index.html" target="laszlo-reference">LZX Reference Manual</a></strong>
+ <p>Comprehensive listing of all LZX tag definitions and APIs—
+ including tag attributes and API methods and parameters. (The previous version of the OpenLaszlo reference is <a href="http://www.openlaszlo.org/lps3/docs/reference/index.html" target="laszlo-reference">also available</a>; please consult it if you have problems with the 4.1 documentation.
+ </p>
<strong><a href="../../docs/deployers/index.html" target="laszlo-deployers-guide">System Administrator's Guide to Deploying OpenLaszlo Applications</a></strong>
<p>Information for system administrators about how to deploy the OpenLaszlo Server, including explanations of configuration settings and server
monitoring.</p>
<!--strong><a href="../../docs/design/index.html" target="laszlo-designer-guide">Designer's Guide</a></strong>
<p>An explication of OpenLaszlo for
graphic designers and information architects.</p-->
- <strong><a href="http://www.openlaszlo.org/lps3/docs/reference/index.html" target="laszlo-reference">LZX Reference Manual</a></strong>
- <p>Comprehensive listing of all LZX tag definitions and APIs—
- including tag attributes and API methods and parameters. (We recommend that you use <a href="http://www.openlaszlo.org/lps3/docs/reference/index.html" target="laszlo-reference">the OpenLaszlo 3.4 Reference Manual</a>, because the <a href="../../docs/reference/index.html" target="laszlo-reference">4.0 docs included in this distribution</a> are only at "alpha" status. The 3.4 docs contain the same information as the 4.0 docs, because the API's have not changed from 3.4. Consult <a href="../../docs/reference/index.html" target="laszlo-reference">the local 4.0 docs</a> only if you are concerned that you are missing 4.0-specific information.
- </p>
<strong><a href="../../docs/component-design/index.html" target="laszlo-componentguide">Components Guide</a></strong>
<p>A visual design guide for the LZ Components, including detailed
explanations of their construction
(<a href="../../docs/component-design/component-design-2.0.pdf" target="laszlo-componentguide-pdf">PDF</a>).
</p>
- <strong><a href="../../docs/contributors/index.html" target="laszlo-contributorsguide">Contributor's Guide</a> (alpha)</strong>
- <p>Documentation for use by contributors to the OpenLaszlo platform, including private interfaces and kernel APIs. This is still in "alpha" status.</p>
<strong><a href="../../index.html" target="lzquickindex">Quick Index</a></strong>
<p>An list of links to all the content and applications referenced by the OpenLaszlo Explorer.
</p>
Modified: openlaszlo/branches/devildog/laszlo-explorer/nav.xml
===================================================================
--- openlaszlo/branches/devildog/laszlo-explorer/nav.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/laszlo-explorer/nav.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
<menu>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<section name="Welcome" src="/laszlo-explorer/coverpages/welcome/" title="OpenLaszlo Server"
@@ -305,12 +305,11 @@
<section name="Documentation" title="Documentation" src="/laszlo-explorer/coverpages/documentation_cover.html" text="Tutorial, advanced, reference">
<topic src="/docs/installation/index.html" name="Installation" />
- <topic src="http://www.openlaszlo.org/lps3/docs/reference/index.html" name="LZX Reference" action="popupexternal" target="laszlolzxreference" />
+ <topic popup="/docs/reference/index.html" name="LZX Reference" action="popup" target="laszlolzxreference"/>
<topic popup="/docs/developers/index.html" name="Developer's Guide" action="popup" target="laszlodevguide" />
<topic popup="/docs/deployers/index.html" name="Administrator's Guide" action="popup" target="laszloadminguide" />
<!--topic popup="/docs/design/index.html" name="UI Designer's Guide" action="popup" target="laszlouiguide" /-->
<topic popup="/docs/component-design/index.html" name="Components Guide" action="popup" target="laszlocomponentguide" />
- <topic popup="/docs/contributors/index.html" name="Contributor's Guide" action="popup" target="laszlocontributorsguide" />
<topic src="/docs/release-notes.html" name="Release Notes" />
<topic src="/tools/index.html" name="Developer's Tools" title="Development Tools" text="Tips for IDEs"/>
</section>
Modified: openlaszlo/branches/devildog/laszlo-explorer/nav_dhtml.xml
===================================================================
--- openlaszlo/branches/devildog/laszlo-explorer/nav_dhtml.xml 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/laszlo-explorer/nav_dhtml.xml 2008-01-04 16:20:15 UTC (rev 7726)
@@ -1,6 +1,6 @@
<menu>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<section name="Welcome" src="/laszlo-explorer/coverpages/welcome/" title="OpenLaszlo Server"
@@ -300,12 +300,11 @@
<section name="Documentation" title="Documentation" src="/laszlo-explorer/coverpages/documentation_cover.html" text="Tutorial, advanced, reference">
<topic src="/docs/installation/index.html" name="Installation" />
- <topic src="http://www.openlaszlo.org/lps3/docs/reference/index.html" name="LZX Reference" action="popupexternal" target="laszlolzxreference" />
+ <topic popup="/docs/reference/index.html" name="LZX Reference" action="popup" target="laszlolzxreference"/>
<topic popup="/docs/developers/index.html" name="Developer's Guide" action="popup" target="laszlodevguide" />
<topic popup="/docs/deployers/index.html" name="Administrator's Guide" action="popup" target="laszloadminguide" />
<!--topic popup="/docs/design/index.html" name="UI Designer's Guide" action="popup" target="laszlouiguide" /-->
<topic popup="/docs/component-design/index.html" name="Components Guide" action="popup" target="laszlocomponentguide" />
- <topic popup="/docs/contributors/index.html" name="Contributor's Guide" action="popup" target="laszlocontributorsguide" />
<topic src="/docs/release-notes.html" name="Release Notes" />
<topic src="/tools/index.html" name="Developer's Tools" title="Development Tools" text="Tips for IDEs"/>
</section>
Modified: openlaszlo/branches/devildog/lps/components/debugger/newcontent.lzx
===================================================================
--- openlaszlo/branches/devildog/lps/components/debugger/newcontent.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/lps/components/debugger/newcontent.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -3,7 +3,7 @@
**************************************************************************-->
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2004 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
@@ -281,7 +281,7 @@
<view name="lower_right_corner" bgcolor="#888888" width="11" height="11"
x="${parent.width-11}" y="${parent.height-11}"/>
- <_dbg_horiz_scrollbar id="dhsb" y="${classroot.textpane.height}"
+ <_dbg_horiz_scrollbar name="dhsb" y="${classroot.textpane.height}"
width="${parent.width - 11}"
bgcolor="#666666" height="13" />
Modified: openlaszlo/branches/devildog/lps/components/debugger/scrollingtext.lzx
===================================================================
--- openlaszlo/branches/devildog/lps/components/debugger/scrollingtext.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/lps/components/debugger/scrollingtext.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -281,7 +281,7 @@
<view name="lower_right_corner" bgcolor="#888888" width="11" height="11"
x="${parent.width-11}" y="${parent.height-11}"/>
- <_dbg_horiz_scrollbar id="dhsb" y="${parent.content.height-2}"
+ <_dbg_horiz_scrollbar name="dhsb" y="${parent.content.height-2}"
width="${parent.width - 11}"
bgcolor="#666666" height="13" />
@@ -421,7 +421,7 @@
</class>
</library>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2004 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!-- @LZX_VERSION@ -->
Modified: openlaszlo/branches/devildog/lps/includes/laszlo-debugger.css
===================================================================
--- openlaszlo/branches/devildog/lps/includes/laszlo-debugger.css 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/lps/includes/laszlo-debugger.css 2008-01-04 16:20:15 UTC (rev 7726)
@@ -44,7 +44,12 @@
background-color: white;
}
+/* Debug.addText */
+span.OUTPUT
+{
+ white-space: pre;
+}
/*
- * Copyright 2006 Laszlo Systems, Inc. All Rights Reserved.
+ * Copyright 2006-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*/
Modified: openlaszlo/branches/devildog/test/lztest/lztest-text.lzx
===================================================================
--- openlaszlo/branches/devildog/test/lztest/lztest-text.lzx 2008-01-04 11:14:08 UTC (rev 7725)
+++ openlaszlo/branches/devildog/test/lztest/lztest-text.lzx 2008-01-04 16:20:15 UTC (rev 7726)
@@ -19,7 +19,8 @@
<text name="text3" resize="false" y="20" bgcolor="0xaaaaaa"/>
<!-- text4: simple text for checking selection methods -->
- <text name="text4" resize="false" bgcolor="0xaaaaaa"/>
+ <inputtext name="text4" resize="false" bgcolor="0xaaaaaa"/>
+ <inputtext name="text4ml" width="100" multiline="true" bgcolor="0xaaaaaa"/>
<!-- text5: simple text for checking scroll methods -->
<view name="view5">
@@ -287,6 +288,21 @@
LzTestManager.assertEquals (2, text4.getSelectionSize(), "text4.getSelectionSize() failure (5)");
LzTestManager.assertEquals (0, text4.getSelectionPosition(), "text4.getSelectionPosition() failure (5)");
+ if ($dhtml) {
+ text4ml.setText('\r\n01234\r\n\r\n567890123456789\r\n')
+ } else {
+ text4ml.setText('\n01234\n\n567890123456789\n')
+ }
+ text4ml.setSelection(5, 14);
+ LzTestManager.assertEquals (9, text4ml.getSelectionSize(), "text4ml.getSelectionSize() failure (6)");
+ LzTestManager.assertEquals (5, text4ml.getSelectionPosition(), "text4ml.getSelectionPosition() failure (6)");
+ text4ml.setSelection(6, 9);
+ LzTestManager.assertEquals (3, text4ml.getSelectionSize(), "text4ml.getSelectionSize() failure (7)");
+ LzTestManager.assertEquals (6, text4ml.getSelectionPosition(), "text4ml.getSelectionPosition() failure (7)");
+ text4ml.setSelection(5, 8);
+ LzTestManager.assertEquals (3, text4ml.getSelectionSize(), "text4ml.getSelectionSize() failure (8)");
+ LzTestManager.assertEquals (5, text4ml.getSelectionPosition(), "text4ml.getSelectionPosition() failure (8)");
+
/*
text4.setText (" "); // Note: The user cannot select a string of spaces
text4.setSelection (0, 4);
@@ -479,7 +495,7 @@
</canvas>
<!--
/* X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2007 Laszlo Systems, Inc. All Rights Reserved. *
+* Copyright 2007-2008 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ******************************************************/
-->
More information about the Laszlo-checkins
mailing list