qooxdoo-commit Mailing List for qooxdoo (Page 1434)
Brought to you by:
ecker,
martinwittemann
You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(453) |
Feb
(800) |
Mar
(247) |
Apr
(324) |
May
(172) |
Jun
(145) |
Jul
(265) |
Aug
(447) |
Sep
(271) |
Oct
(312) |
Nov
(327) |
Dec
(472) |
| 2007 |
Jan
(493) |
Feb
(631) |
Mar
(565) |
Apr
(469) |
May
(757) |
Jun
(460) |
Jul
(440) |
Aug
(411) |
Sep
(813) |
Oct
(339) |
Nov
(112) |
Dec
(215) |
| 2008 |
Jan
(423) |
Feb
(671) |
Mar
(578) |
Apr
(566) |
May
(498) |
Jun
(411) |
Jul
(845) |
Aug
(1208) |
Sep
(176) |
Oct
(144) |
Nov
(216) |
Dec
(353) |
| 2009 |
Jan
(363) |
Feb
(700) |
Mar
(416) |
Apr
(362) |
May
(292) |
Jun
(238) |
Jul
(243) |
Aug
(216) |
Sep
(287) |
Oct
(304) |
Nov
(300) |
Dec
(416) |
| 2010 |
Jan
(200) |
Feb
(200) |
Mar
(183) |
Apr
(259) |
May
(217) |
Jun
(241) |
Jul
(320) |
Aug
(330) |
Sep
(209) |
Oct
(217) |
Nov
(460) |
Dec
(392) |
| 2011 |
Jan
(338) |
Feb
(465) |
Mar
(1257) |
Apr
(433) |
May
(505) |
Jun
(417) |
Jul
(438) |
Aug
(241) |
Sep
(258) |
Oct
(223) |
Nov
(224) |
Dec
(172) |
| 2012 |
Jan
(151) |
Feb
(119) |
Mar
(220) |
Apr
(182) |
May
(236) |
Jun
(264) |
Jul
(188) |
Aug
(145) |
Sep
(186) |
Oct
(183) |
Nov
(243) |
Dec
(126) |
| 2013 |
Jan
(133) |
Feb
(165) |
Mar
(122) |
Apr
(116) |
May
(177) |
Jun
(177) |
Jul
(290) |
Aug
(150) |
Sep
(165) |
Oct
(168) |
Nov
(252) |
Dec
(152) |
| 2014 |
Jan
(109) |
Feb
(150) |
Mar
(135) |
Apr
(186) |
May
(235) |
Jun
(181) |
Jul
(193) |
Aug
(117) |
Sep
(118) |
Oct
(194) |
Nov
(207) |
Dec
(261) |
| 2015 |
Jan
(138) |
Feb
(218) |
Mar
(180) |
Apr
(141) |
May
(114) |
Jun
(24) |
Jul
(22) |
Aug
(14) |
Sep
(22) |
Oct
(11) |
Nov
(7) |
Dec
(10) |
| 2016 |
Jan
(1) |
Feb
(31) |
Mar
(13) |
Apr
(30) |
May
(34) |
Jun
(25) |
Jul
(16) |
Aug
(14) |
Sep
(21) |
Oct
(20) |
Nov
(6) |
Dec
|
|
From: Sebastian W. <wp...@us...> - 2006-01-16 13:27:49
|
Update of /cvsroot/qooxdoo/qooxdoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26418 Modified Files: Tag: renderer TODO Log Message: Minor update Index: TODO =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/TODO,v retrieving revision 1.1.2.39 retrieving revision 1.1.2.40 diff -C2 -d -r1.1.2.39 -r1.1.2.40 *** TODO 16 Jan 2006 10:00:10 -0000 1.1.2.39 --- TODO 16 Jan 2006 13:27:39 -0000 1.1.2.40 *************** *** 1,4 **** --- 1,6 ---- h4. For next release + * Use Appearance for QxFieldSet and QxSpinner + * UTF-8 coding for files to fix "umlauts" in parts of the current code. Or change the examples to include the qooxdoo.js with the charset="iso-8859-15" attribute? *************** *** 8,23 **** * isDisplayed vs. isDisplayable (cleanups naming) - h4. Optimizations - * Reduce buildURI calls from Image handling stuff. - * Optimize application load time * Optimize addProperty, use multiple functions for setters which themselves only call submethods and send the "p" variable to the handlers. Build setters which only do the stuff, which is needed for this property. Try to remove these "hasXXX" stuff. - * Optimize singletons. Store singleton instance under the name of the class. Tests have shown that there is a major potentecial if we optimize this part. Mean instead of (new QxClient).getEngine() the code will be QxClient.getEngine(). * Optimize unit detection and unit handling and storage for dimension and location properties. Try to remove all these boolean flags. * Discuss if it is useful to also cache hasPercentX, hasAutoX, ... * Reimplement cached properties so that the invaliation will not set the old value to null, but set a isInvalid flag which will define that the next get must re-evaluate the value first. - * Add depth property to widgets. Sort job queue according to depth before flush. * Speed-up toggling (tree, tabView) without re-layouting of children - * Rework and cleanup disposer code - do we really need to dispose all this stuff? h4. Later --- 10,25 ---- * isDisplayed vs. isDisplayable (cleanups naming) * Reduce buildURI calls from Image handling stuff. * Optimize addProperty, use multiple functions for setters which themselves only call submethods and send the "p" variable to the handlers. Build setters which only do the stuff, which is needed for this property. Try to remove these "hasXXX" stuff. * Optimize unit detection and unit handling and storage for dimension and location properties. Try to remove all these boolean flags. + * Rework and cleanup disposer code - do we really need to dispose all this stuff? + + * Splitting QxNativeWindow (Move virtual mode to new class which itself inherits from the cleaned up QxNativeWindow) + + h4. Layouter Rework + * Discuss if it is useful to also cache hasPercentX, hasAutoX, ... * Reimplement cached properties so that the invaliation will not set the old value to null, but set a isInvalid flag which will define that the next get must re-evaluate the value first. * Speed-up toggling (tree, tabView) without re-layouting of children h4. Later |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 13:04:17
|
Update of /cvsroot/qooxdoo/qooxdoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19796 Modified Files: Tag: renderer CHANGELOG Log Message: Updated Index: CHANGELOG =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/Attic/CHANGELOG,v retrieving revision 1.1.2.29 retrieving revision 1.1.2.30 diff -C2 -d -r1.1.2.29 -r1.1.2.30 *** CHANGELOG 13 Jan 2006 10:59:46 -0000 1.1.2.29 --- CHANGELOG 16 Jan 2006 13:04:08 -0000 1.1.2.30 *************** *** 1,2 **** --- 1,99 ---- + 2006-01-16 13:55 wpbasti + + * source/script/: core/QxApplication.js, core/QxExtend.js, + core/QxMain.js, core/QxObject.js, gui/QxWidget.js: Improved + overall performance + + 2006-01-16 12:55 wpbasti + + * source/script/core/QxExtend.js: Minor improvement + + 2006-01-16 12:54 wpbasti + + * source/script/core/QxExtend.js: Removed setDefault/getDefault + from properties + + 2006-01-16 12:53 wpbasti + + * source/script/: core/QxExtend.js, gui/QxWidget.js, + widgets/QxNode.js: Removed apply* method from properties + + 2006-01-16 12:44 wpbasti + + * source/script/core/QxExtend.js: Improved performance of property + setter + + 2006-01-16 11:49 wpbasti + + * source/script/binding/QxData.js, + source/script/binding/QxXmlHttpLoader.js, + source/script/deprecated/QxData.js, + source/script/deprecated/QxXmlHttpLoader.js, BUGS, + tools/config.sh: Make old xmlhttploader stuff deprecated + + 2006-01-16 11:24 wpbasti + + * source/script/widgets/QxMenu.js: Minor fix + + 2006-01-16 11:22 wpbasti + + * source/test/user/Window_6.html: Updated example + + 2006-01-16 11:00 ecker + + * TODO: Minor additions + + 2006-01-15 20:46 wpbasti + + * tools/: compileng.py, compileng_compress.xsl: Added new block + handling, minor improvements to real compressor, first version + which gives us a runable qooxdoo with the new compressor + + 2006-01-13 17:04 wpbasti + + * source/test/user/Window_6.html: Added test for menu zIndex + problem + + 2006-01-13 16:38 wpbasti + + * tools/: compileng.py, compileng_compress.xsl: Some changes + + 2006-01-13 15:58 wpbasti + + * TODO: Minor updates + + 2006-01-13 15:47 wpbasti + + * source/script/core/QxCompare.js: Added ip4v compare + + 2006-01-13 14:59 wpbasti + + * source/script/binding/QxData.js: Minor updates + + 2006-01-13 14:38 wpbasti + + * tools/: compileng_compress.xsl, compileng_methods.xsl: Some new + stuff + + 2006-01-13 14:21 ecker + + * source/script/gui/QxAppearanceTheme.js: Completed init --> setup + change + + 2006-01-13 12:52 ecker + + * source/script/: appearance/QxAppearanceTheme-Default.js, + gui/QxAppearanceTheme.js: Resolved naming problem init/initial by + replacing init with setup. Format of appearance theme is still + subject to change. + + 2006-01-13 12:20 ecker + + * tools/makesource.sh: Removed test code + + 2006-01-13 11:59 wpbasti + + * CHANGELOG: Updated + 2006-01-13 11:53 wpbasti |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 12:56:06
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17259/source/script/core Modified Files: Tag: renderer QxApplication.js QxExtend.js QxMain.js QxObject.js Log Message: Improved overall performance Index: QxApplication.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxApplication.js,v retrieving revision 1.2.2.55 retrieving revision 1.2.2.56 diff -C2 -d -r1.2.2.55 -r1.2.2.56 *** QxApplication.js 13 Jan 2006 10:50:26 -0000 1.2.2.55 --- QxApplication.js 16 Jan 2006 12:55:57 -0000 1.2.2.56 *************** *** 89,92 **** --- 89,93 ---- QxApplication.MSG_INSTANCES = "Created Instances: "; QxApplication.MSG_CLASSES = "Available Classes: "; + QxApplication.MSG_PROPERTIES = "Property Count: "; QxApplication.MSG_CLIENTINFO = "Client Detection: "; QxApplication.MSG_STRICTMODE = "Document is not in Quirksmode! This is needed in Internet Explorer <= 6 to let qooxdoo render correctly."; *************** *** 126,129 **** --- 127,133 ---- this._printClassInfo(); + // Output the number existing properties + this._printPropertyInfo(); + // Print short client detection info this._printClientInfo(); *************** *** 223,226 **** --- 227,234 ---- }; + proto._printPropertyInfo = function() { + this.info(QxApplication.MSG_PROPERTIES + QxPropertyCounter); + }; + proto._printClientInfo = function() { Index: QxExtend.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxExtend.js,v retrieving revision 1.7.2.97 retrieving revision 1.7.2.98 diff -C2 -d -r1.7.2.97 -r1.7.2.98 *** QxExtend.js 16 Jan 2006 11:55:06 -0000 1.7.2.97 --- QxExtend.js 16 Jan 2006 12:55:57 -0000 1.7.2.98 *************** *** 368,371 **** --- 368,378 ---- var modifyKey = QxConst.INTERNAL_MODIFY + p.implMethod; var checkKey = QxConst.INTERNAL_CHECK + p.implMethod; + + if (!QxSetter[p.name]) + { + QxSetter[p.name] = QxConst.INTERNAL_SET + p.method; + QxGetter[p.name] = QxConst.INTERNAL_GET + p.method; + QxResetter[p.name] = QxConst.INTERNAL_RESET + p.method; + }; // unit detection support *************** *** 545,548 **** --- 552,557 ---- Function.prototype.addProperty = function(p) { + QxPropertyCounter++; + this._createProperty(p); Index: QxMain.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/Attic/QxMain.js,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -C2 -d -r1.1.2.6 -r1.1.2.7 *** QxMain.js 13 Jan 2006 10:50:26 -0000 1.1.2.6 --- QxMain.js 16 Jan 2006 12:55:58 -0000 1.1.2.7 *************** *** 30,33 **** **************************************************************************** */ ! QxVersion = "0.2_beta-4"; ! QxClasses = {}; --- 30,38 ---- **************************************************************************** */ ! var QxVersion = "0.2_beta-4"; ! var QxPropertyCounter = 0; ! var QxClasses = {}; ! ! var QxSetter = {}; ! var QxGetter = {}; ! var QxResetter = {}; Index: QxObject.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxObject.js,v retrieving revision 1.2.2.32 retrieving revision 1.2.2.33 diff -C2 -d -r1.2.2.32 -r1.2.2.33 *** QxObject.js 13 Jan 2006 10:50:26 -0000 1.2.2.32 --- QxObject.js 16 Jan 2006 12:55:58 -0000 1.2.2.33 *************** *** 185,193 **** try { ! this[QxConst.INTERNAL_SET + prop.toFirstUp()](propertyValues[prop]); } catch(ex) { ! throw new Error("Setter of property " + prop + " returned with an error: " + ex); }; }; --- 185,193 ---- try { ! this[QxSetter[prop]](propertyValues[prop]); } catch(ex) { ! this.error("Setter of property " + prop + " returned with an error: " + ex, "set"); }; }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 12:56:05
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17259/source/script/gui Modified Files: Tag: renderer QxWidget.js Log Message: Improved overall performance Index: QxWidget.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/gui/Attic/QxWidget.js,v retrieving revision 1.1.2.43 retrieving revision 1.1.2.44 diff -C2 -d -r1.1.2.43 -r1.1.2.44 *** QxWidget.js 16 Jan 2006 11:53:00 -0000 1.1.2.43 --- QxWidget.js 16 Jan 2006 12:55:58 -0000 1.1.2.44 *************** *** 3168,3175 **** for (vProp in vOldAppearanceProperties) { ! if (!(vProp in vNewAppearanceProperties)) ! { ! // OPTIMIZE!!! ! this["reset" + vProp.toFirstUp()](); }; }; --- 3168,3173 ---- for (vProp in vOldAppearanceProperties) { ! if (!(vProp in vNewAppearanceProperties)) { ! this[QxResetter[vProp]](); }; }; *************** *** 3258,3265 **** for (vProp in vOldAppearanceProperties) { ! if (!(vProp in vNewAppearanceProperties)) ! { ! // OPTIMIZE!!! ! this["reset" + vProp.toFirstUp()](); }; }; --- 3256,3261 ---- for (vProp in vOldAppearanceProperties) { ! if (!(vProp in vNewAppearanceProperties)) { ! this[QxResetter[vProp]](); }; }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:55:24
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5550/source/script/core Modified Files: Tag: renderer QxExtend.js Log Message: Minor improvement Index: QxExtend.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxExtend.js,v retrieving revision 1.7.2.96 retrieving revision 1.7.2.97 diff -C2 -d -r1.7.2.96 -r1.7.2.97 *** QxExtend.js 16 Jan 2006 11:54:11 -0000 1.7.2.96 --- QxExtend.js 16 Jan 2006 11:55:06 -0000 1.7.2.97 *************** *** 395,402 **** // building forceFoo(): Set (override) without do anything else ! pp[QxConst.INTERNAL_FORCE + p.method] = function(newValue) ! { ! this[valueKey] = newValue; ! return true; }; --- 395,400 ---- // building forceFoo(): Set (override) without do anything else ! pp[QxConst.INTERNAL_FORCE + p.method] = function(newValue) { ! return this[valueKey] = newValue; }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:54:43
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5336/source/script/core Modified Files: Tag: renderer QxExtend.js Log Message: Removed setDefault/getDefault from properties Index: QxExtend.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxExtend.js,v retrieving revision 1.7.2.95 retrieving revision 1.7.2.96 diff -C2 -d -r1.7.2.95 -r1.7.2.96 *** QxExtend.js 16 Jan 2006 11:53:00 -0000 1.7.2.95 --- QxExtend.js 16 Jan 2006 11:54:11 -0000 1.7.2.96 *************** *** 389,402 **** pp[valueKey] = p.defaultValue; - // building getDefaultFoo() - pp[QxConst.INTERNAL_GETDEFAULT + p.method] = function() { - return p.defaultValue; - }; - - // building setDefaultFoo() - pp[QxConst.INTERNAL_SETDEFAULT + p.method] = function(newValue) { - return p.defaultValue = newValue; - }; - // building getFoo(): Returns current stored value pp[QxConst.INTERNAL_GET + p.method] = function() { --- 389,392 ---- |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:53:25
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5109/source/script/gui Modified Files: Tag: renderer QxWidget.js Log Message: Removed apply* method from properties Index: QxWidget.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/gui/Attic/QxWidget.js,v retrieving revision 1.1.2.42 retrieving revision 1.1.2.43 diff -C2 -d -r1.1.2.42 -r1.1.2.43 *** QxWidget.js 13 Jan 2006 10:50:26 -0000 1.1.2.42 --- QxWidget.js 16 Jan 2006 11:53:00 -0000 1.1.2.43 *************** *** 1078,1082 **** */ proto._createElementImpl = function() { ! return this.applyElement(this.getTopLevelWidget().getDocumentElement().createElement(this.getTagName())); }; --- 1078,1082 ---- */ proto._createElementImpl = function() { ! return this.setElement(this.getTopLevelWidget().getDocumentElement().createElement(this.getTagName())); }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:53:24
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5109/source/script/core Modified Files: Tag: renderer QxExtend.js Log Message: Removed apply* method from properties Index: QxExtend.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxExtend.js,v retrieving revision 1.7.2.94 retrieving revision 1.7.2.95 diff -C2 -d -r1.7.2.94 -r1.7.2.95 *** QxExtend.js 16 Jan 2006 11:44:46 -0000 1.7.2.94 --- QxExtend.js 16 Jan 2006 11:53:00 -0000 1.7.2.95 *************** *** 424,456 **** }; - // building applyFoo(): Apply value without checking or converting types - pp[QxConst.INTERNAL_APPLY + p.method] = function(newValue) - { - var oldValue = this[valueKey]; - - if (newValue != oldValue) - { - // Store new value - this[valueKey] = newValue; - - - // Check if there is a modifier implementation - if (typeof this[modifyKey] == QxConst.TYPEOF_FUNCTION) - { - try - { - var r = this[modifyKey](newValue, oldValue, p); - if (!r) { - return this.error("Modification of property \"" + p.name + "\" failed without exception (" + r + ")", modifyKey); - }; - } - catch(ex) - { - return this.error("Modification of property \"" + p.name + "\" failed with exception (" + ex + ")", modifyKey); - }; - }; - }; - }; - // building setFoo(): Setup new value, do type and change detection, converting types, call unit detection, ... pp[QxConst.INTERNAL_SET + p.method] = function(newValue) --- 424,427 ---- |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:53:24
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5109/source/script/widgets Modified Files: Tag: renderer QxNode.js Log Message: Removed apply* method from properties Index: QxNode.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/widgets/Attic/QxNode.js,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** QxNode.js 19 Dec 2005 14:29:20 -0000 1.1.2.3 --- QxNode.js 16 Jan 2006 11:53:00 -0000 1.1.2.4 *************** *** 51,56 **** }; ! vNode.style.display = ""; ! return this.applyElement(vNode); }; --- 51,56 ---- }; ! vNode.style.display = QxConst.CORE_EMPTY; ! return this.setElement(vNode); }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 11:44:58
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3676/source/script/core Modified Files: Tag: renderer QxExtend.js Log Message: Improved performance of property setter Index: QxExtend.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/QxExtend.js,v retrieving revision 1.7.2.93 retrieving revision 1.7.2.94 diff -C2 -d -r1.7.2.93 -r1.7.2.94 *** QxExtend.js 13 Jan 2006 10:50:26 -0000 1.7.2.93 --- QxExtend.js 16 Jan 2006 11:44:46 -0000 1.7.2.94 *************** *** 456,472 **** pp[QxConst.INTERNAL_SET + p.method] = function(newValue) { ! if (arguments.length > 1) ! { ! if (p.allowMultipleArguments) ! { ! // convert arguments to array ! newValue = QxUtil.convertArgumentsToArray(arguments); ! } ! else ! { ! throw new Error("Attention! The property \"" + p.name + "\" does not allow multiple arguments!"); ! }; }; if (p.hasConvert) { --- 456,465 ---- pp[QxConst.INTERNAL_SET + p.method] = function(newValue) { ! // convert multiple arguments to array ! if (p.allowMultipleArguments && arguments.length > 1) { ! newValue = QxUtil.convertArgumentsToArray(arguments); }; + // support converter methods if (p.hasConvert) { *************** *** 480,484 **** }; }; ! if (!(newValue == null && p.allowNull)) { --- 473,483 ---- }; }; ! ! var oldValue = this[valueKey]; ! ! if (newValue == oldValue) { ! return newValue; ! }; ! if (!(newValue == null && p.allowNull)) { *************** *** 506,509 **** --- 505,513 ---- { newValue = this[checkKey](newValue, p); + + // Don't do anything if new value is indentical to old value + if (newValue == oldValue) { + return newValue; + }; } catch(ex) *************** *** 512,570 **** }; }; ! var oldValue = this[valueKey]; ! ! if (newValue != oldValue) { ! // Store new value ! this[valueKey] = newValue; ! ! // Check if there is a modifier implementation ! if (typeof this[modifyKey] == QxConst.TYPEOF_FUNCTION) { ! try ! { ! var r = this[modifyKey](newValue, oldValue, p); ! if (!r) { ! return this.error("Modification of property \"" + p.name + "\" failed without exception (" + r + ")", modifyKey); ! }; ! } ! catch(ex) ! { ! return this.error("Modification of property \"" + p.name + "\" failed with exception (" + ex + ")", modifyKey); }; - }; - - // Unit detection support - if (p.hasUnitDetection) { - this[unitDetectionKey](p, newValue); - }; - - // Auto queue addition support - if (p.addToQueue) { - this.addToQueue(p.name); } ! else if (p.addToQueueRuntime) { ! this.addToQueueRuntime(p.name); }; ! // Create Event ! if (this instanceof QxTarget && this.hasEventListeners(changeKey)) ! { ! var ce = new QxDataEvent(changeKey, newValue, oldValue, false); ! ce.setTarget(this); ! try ! { ! this.dispatchEvent(ce, true); ! } ! catch(ex) ! { ! throw new Error("Property " + p.name + " modified: Failed to dispatch change event: " + ex); ! }; ! ce = null; }; }; --- 516,569 ---- }; }; + + // Store new value + this[valueKey] = newValue; ! // Check if there is a modifier implementation ! if (typeof this[modifyKey] == QxConst.TYPEOF_FUNCTION) { ! try { ! var r = this[modifyKey](newValue, oldValue, p); ! if (!r) { ! return this.error("Modification of property \"" + p.name + "\" failed without exception (" + r + ")", modifyKey); }; } ! catch(ex) ! { ! return this.error("Modification of property \"" + p.name + "\" failed with exception (" + ex + ")", modifyKey); }; + }; ! // Unit detection support ! if (p.hasUnitDetection) { ! this[unitDetectionKey](p, newValue); ! }; ! // Auto queue addition support ! if (p.addToQueue) { ! this.addToQueue(p.name); ! } ! else if (p.addToQueueRuntime) { ! this.addToQueueRuntime(p.name); ! }; ! // Create Event ! if (this instanceof QxTarget && this.hasEventListeners(changeKey)) ! { ! var ce = new QxDataEvent(changeKey, newValue, oldValue, false); ! ce.setTarget(this); ! ! try ! { ! this.dispatchEvent(ce, true); ! } ! catch(ex) ! { ! throw new Error("Property " + p.name + " modified: Failed to dispatch change event: " + ex); }; + + ce = null; }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:50:17
|
Update of /cvsroot/qooxdoo/qooxdoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26800 Modified Files: Tag: renderer BUGS Log Message: Make old xmlhttploader stuff deprecated Index: BUGS =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/Attic/BUGS,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** BUGS 13 Jan 2006 10:53:06 -0000 1.1.2.1 --- BUGS 16 Jan 2006 10:50:07 -0000 1.1.2.2 *************** *** 1,23 **** ! Hello, ! ! I'm trying to get some pull-down menus going within a QxWindow. ! The problem I'm having is that the menus are being hidden by the ! QxWindow: ! ! http://embeddedfolk.org/menu.png ! ! Looking at the rendered document tree under firefox using the ! 'View Rendered Source' extension: ! ! http://embeddedfolk.org/menu.html ! ! I see that the z-index of the QxWindow is 1000000, whereas the z-index ! of the QxMenu is a small number (e.g. 7), explaining what is ! seen in menu.png. ! ! I'm trying to figure out what I should be doing to make the menus ! appear as expected. Any suggestions would be greatly appreciated. ! ! Thanks, ! -Frank ! --- 1 ---- ! - None \ No newline at end of file |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:50:15
|
Update of /cvsroot/qooxdoo/qooxdoo/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26800/tools Modified Files: Tag: renderer config.sh Log Message: Make old xmlhttploader stuff deprecated Index: config.sh =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/tools/config.sh,v retrieving revision 1.16.2.92 retrieving revision 1.16.2.93 diff -C2 -d -r1.16.2.92 -r1.16.2.93 *** config.sh 13 Jan 2006 10:50:31 -0000 1.16.2.92 --- config.sh 16 Jan 2006 10:50:07 -0000 1.16.2.93 *************** *** 101,106 **** # Data Binding L="$L binding/QxXmlExtras" ! L="$L binding/QxXmlHttpLoader" ! L="$L binding/QxData" # Image Support --- 101,108 ---- # Data Binding L="$L binding/QxXmlExtras" ! ! # Old Data Binding ! L="$L deprecated/QxXmlHttpLoader" ! L="$L deprecated/QxData" # Image Support |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:49:56
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/deprecated In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26671/deprecated Added Files: Tag: renderer QxData.js QxXmlHttpLoader.js Log Message: Make old xmlhttploader stuff deprecated --- NEW FILE: QxXmlHttpLoader.js --- /* **************************************************************************** qooxdoo - the new era of web interface development Version: $Id: QxXmlHttpLoader.js,v 1.1.2.1 2006/01/16 10:49:44 wpbasti Exp $ Copyright: (C) 2004-2005 by Schlund + Partner AG, Germany All rights reserved License: LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ Internet: * http://qooxdoo.oss.schlund.de Authors: * Sebastian Werner (wpbasti) <sebastian dot werner at 1und1 dot de> * Andreas Ecker (aecker) <andreas dot ecker at 1und1 dot de> **************************************************************************** */ /* **************************************************************************** #package(ajax) **************************************************************************** */ function QxXmlHttpLoader() { QxTarget.call(this); if (!QxXmlHttpLoader._ok) { throw new Error("Your Browser does not support XML-HTTP!"); }; // Object wrapper to events (needed for DOM events) var o = this; this.__onreadystatechange = function() { o._onreadystatechange(); }; this.__onload = function() { o._onload(); }; this.__onreadystatefix = function () { o.req.readyState = 4; o._onreadystatechange(); }; }; QxXmlHttpLoader.extend(QxTarget, "QxXmlHttpLoader"); /* ----------------------------------------------------------------- The XMLHTTP-Object: http://developer.apple.com/internet/webcontent/xmlhttpreq.html ----------------------------------------------------------------- Functions: --------------- abort() Stops the current request getAllResponseHeaders() Returns complete set of headers (labels and values) as a string getResponseHeader("headerLabel") Returns the string value of a single header label open("method", "URL"[, asyncFlag[, "userName"[, "password"]]]) Assigns destination URL, method, and other optional attributes of a pending request send(content) Transmits the request, optionally with postable string or DOM object data setRequestHeader("label", "value") Assigns a label/value pair to the header to be sent with a request Properties: ---------------- onreadystatechange Event handler for an event that fires at every state change readyState Object status integer: 0 = uninitialized 1 = loading 2 = loaded 3 = interactive 4 = complete responseText String version of data returned from server process responseXML DOM-compatible document object of data returned from server process status Numeric code returned by server, such as 404 for "Not Found" or 200 for "OK" statusText String message accompanying the status code */ // Do this once per load to reduce execution time QxXmlHttpLoader._http = window.XMLHttpRequest ? true : false; QxXmlHttpLoader._activex = window.ActiveXObject && !QxClient.isOpera() ? true : false; QxXmlHttpLoader._activexobj = null; QxXmlHttpLoader._ok = QxXmlHttpLoader._http || QxXmlHttpLoader._activex; QxXmlHttpLoader.addProperty({ name : "requestMethod", type : QxConst.TYPEOF_STRING, defaultValue : "GET" }); // Try to find valid Microsoft implementation of XMLHTTP if (QxXmlHttpLoader._activex) { var servers = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; for (var i=0; i<servers.length; i++) { try { var o = new ActiveXObject(servers[i] + ".XMLHTTP"); QxXmlHttpLoader._activexobj = servers[i]; o = null; } catch(ex) {}; }; }; QxXmlHttpLoader.addProperty({ name : "xml" }); // add an empty hash for request headers proto._requestHeaders = {}; proto.removeRequestHeader = function(headerName) { delete this._requestHeaders[headerName]; return true; }; proto.setRequestHeader = function(headerName, headerValue) { this._requestHeaders[headerName] = headerValue; return true; }; proto._applyHeaders = function() { if ( !this.req ) return; var vHeaders = this._requestHeaders; var headerName; for (headerName in vHeaders) { this.req.setRequestHeader(headerName,vHeaders[headerName]); } }; // add an empty hash for request Properties // proto._requestProperties = {}; proto.removeRequestProperty = function(propName) { delete this._requestProperties[propName]; return true; }; proto.setRequestProperty = function(propName, propValue) { this._requestProperties[propName] = propValue; return true; }; proto._applyRequestProperties = function(vUrl) { var vProperties = this._requestProperties; var propName; if ( vUrl != null ) { vUrl += ( vUrl.indexOf("?") == -1 ) ? "?" : "&"; } else vUrl = ""; for (propName in vProperties) { vUrl += propName + "=" + encodeURIComponent(vProperties[propName]) + "&"; } return vUrl; }; proto.load = function(url) { try { this.req = QxXmlHttpLoader._activex ? new ActiveXObject(QxXmlHttpLoader._activexobj + ".XMLHTTP") : new XMLHttpRequest(); // opera 7.6 beta1 does not support this if (typeof this.req.abort != QxConst.TYPEOF_UNDEFINED) { this.req.abort(); }; this.req.onreadystatechange = this.__onreadystatechange; // this works also in gecko based browsers // this.req.onload = this.__onload; // some versions of Moz do not support the readyState property // and the onreadystate event, so we patch it! if (this.req.readyState == null) { this.req.readyState = 1; req.addEventListener(QxConst.EVENT_TYPE_LOAD, this.__onreadystatefix, false); }; var method = this.getRequestMethod(); // append the request properties to the request url // if the method is of type GET if ( method == "GET" ) url = this._applyRequestProperties(url); this.req.open(method, url, true); // apply request headers to the request object // this._applyHeaders(); // if the request method is POST // create a property list and use it as argument to the send // method var data = null; if ( method == "POST" ) data = this._applyRequestProperties(); return QxXmlHttpLoader._activex ? this.req.send(data) : this.req.send(data); } catch(e) { throw new Error("Your browser does not support XML-HTTP:\n" + e); }; }; proto._onload = function() { }; proto._onreadystatechange = function() { switch(this.req.readyState) { case 1: if (this.hasEventListeners("init")) { this.dispatchEvent(new QxEvent("init")); }; //this.debug("[1/4] About to send request."); break; case 2: if (this.hasEventListeners("connect")) { this.dispatchEvent(new QxEvent("connect")); }; //this.debug("[2/4] Connection to server established."); // msxml does not have the status property available at // this stage and gives "unknown error" if the property is // accessed // if (!QxXmlHttpLoader._activex) // Check HTTP State if (this.req.status != 200 && this.req.status != 0) { // opera 7.6 beta1 does not support this if (typeof this.req.abort != QxConst.TYPEOF_UNDEFINED) this.req.abort(); throw new Error("File request failed: " + this.req.statusText + " [" + this.req.status + "]"); }; break; case 3: if (this.hasEventListeners("download")) this.dispatchEvent(new QxEvent("download")); try { var l = this.req.getResponseHeader("Content-Length"); if (typeof l != QxConst.TYPEOF_NUMBER) { l = NaN; }; } catch(ex) { var l = NaN; }; //this.debug("[3/4] Downloading data: " + l); break; case 4: if (this.hasEventListeners("done")) { this.dispatchEvent(new QxEvent("done")); }; //this.debug("[4/4] Downloading done."); // Check HTTP State if (this.req.status != 200 && this.req.status != 0) { // be nice to opera 7.6beta1 if (this.req.abort) { this.req.abort(); }; throw new Error("File request failed: " + this.req.statusText + " [" + this.req.status + "]"); }; if (this.req.responseXML) { // Typical behaviour on file:// on mshtml // Could we check this with something like: /^file\:/.test(path); ? // No browser check here, because it doesn't seem to break other browsers if (!this.req.responseXML.documentElement) { // Clear xml file declaration, this breaks non unicode files (like ones with Umlauts) var s = String(this.req.responseText).replace(/<\?xml[^\?]*\?>/, QxConst.CORE_EMPTY); this.req.responseXML.loadXML(s); }; // Re-check if fixed... if (!this.req.responseXML.documentElement) { throw new Error("Missing Document Element!"); }; if (this.req.responseXML.documentElement.tagName == "parseerror") { throw new Error("XML-File is not well-formed!"); }; // Dispatch complete event this.dispatchEvent(new QxDataEvent("complete", this.req.responseXML), true); } else { this.dispatchEvent(new QxDataEvent("complete", this.req.responseText), true); }; }; }; proto.dispose = function() { if (this._disposed) { return; }; if (this.req) { // Next line of code was supposed to fix a IE memory leak. Unfortunately, // it lets IE consume more and more memory by each request. // this.req.onreadystatechange = null; // this seems to be ok this.req = null; }; this.__onreadystatechange = null; return QxTarget.prototype.dispose.call(this); }; --- NEW FILE: QxData.js --- /* **************************************************************************** qooxdoo - the new era of web interface development Version: $Id: QxData.js,v 1.1.2.1 2006/01/16 10:49:44 wpbasti Exp $ Copyright: (C) 2004-2005 by Schlund + Partner AG, Germany All rights reserved License: LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/ Internet: * http://qooxdoo.oss.schlund.de Authors: * Sebastian Werner (wpbasti) <sebastian dot werner at 1und1 dot de> * Andreas Ecker (aecker) <andreas dot ecker at 1und1 dot de> **************************************************************************** */ /* **************************************************************************** #package(ajax) #require(QxTimer) **************************************************************************** */ /*! Helper class for data transfer from server to client */ function QxData(c) { QxTarget.call(this); this._requestQueue = []; this._storeQueue = []; this._cache = {}; this._interval = new QxTimer(25); this._processRequestQueue = false; var o = this; this._interval.addEventListener(QxConst.EVENT_TYPE_INTERVAL, function() { o.checkProcess(); }); }; QxData.extend(QxTarget, "QxData"); proto.loadData = function(dataKey) { if (this.getDisposed()) { return; }; this._requestQueue.push(dataKey); if (!this._interval.getEnabled()) { this._interval.start(); }; }; proto.checkProcess = function() { if (this.getDisposed()) { return; }; if (this._processRequestQueue) { return; }; this._processRequestQueue = true; while(this._requestQueue.length > 0) { this.process(this._requestQueue.shift(), new QxXmlHttpLoader); }; this._processRequestQueue = false; this._interval.stop(); }; proto.process = function(dataKey, loader) { if (this.getDisposed()) { return; }; this._storeQueue.push(dataKey); var o = this; loader.addEventListener("complete", function(e) { o.processComplete(e.getNewValue()); loader.dispose(); }); loader.load(this.makeRequest(dataKey)); // sending xmlRequest... (callback := processComplete) }; /*! This handles the dataKey and generates the request URI Extend QxData and overwrite this function! */ proto.makeRequest = function(dataKey) { var t = dataKey.indexOf("["); var p0 = dataKey.substring(0, t); var p1 = dataKey.substring(t+1, dataKey.length-1); return "data/" + p0 + "/" + p1 + ".xml" + "?r=" + Math.round(Math.random()^Math.random()*100000); }; proto.processComplete = function(xmlData) { var req = this.getRequest(xmlData); var res = this.parseData(req, xmlData); this.mergeCacheData(res); this.dispatchEvent(new QxDataEvent("update" + req.toFirstUp(), this), true); }; proto.getRequest = function(xmlData) { return xmlData.documentElement.getElementsByTagName("PfxRequest")[0].getElementsByTagName("PfxSoap")[0].getAttribute("reqname"); }; proto.getResultXml = function(xmlData) { return xmlData.documentElement.getElementsByTagName("PfxResult")[0]; }; proto.mapXmlToObject = function(xmlFrag) { var r = {}; var c = xmlFrag.childNodes; for (var i=0; i<c.length; i++) { if (c[i].nodeType == 1) { r[c[i].tagName] = c[i].firstChild.nodeValue; }; }; return r; }; proto.parseData = function(req, xmlData) { var handler = this["_parseData_" + req]; if (typeof handler != QxConst.TYPEOF_FUNCTION) { throw new Error("QxData: The Parser function is not defined: _parseData_" + req + "!"); }; return handler.call(this, xmlData); }; proto.mergeCacheData = function(res) { for (i in res) { this._cache[i] = res[i]; }; }; proto.dispose = function() { if(this._disposed) { return; }; QxObject.prototype.dispose.call(this); if (typeof this._requestQueue == QxConst.TYPEOF_OBJECT) { for (var i=0; i<this._requestQueue.length; i++) { delete this._requestQueue[i]; }; }; delete this._requestQueue; if (typeof this._storeQueue == QxConst.TYPEOF_OBJECT) { for (var i=0; i<this._storeQueue.length; i++) { delete this._storeQueue[i]; }; }; delete this._storeQueue; if (typeof this._cache == QxConst.TYPEOF_OBJECT) { for (i in this._cache) { delete this._cache[i]; }; }; this._cache = null; if (this._interval) { this._interval.dispose(); }; this._interval = null; this._processRequestQueue = null; }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:49:56
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/binding In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26671/binding Removed Files: Tag: renderer QxData.js QxXmlHttpLoader.js Log Message: Make old xmlhttploader stuff deprecated --- QxXmlHttpLoader.js DELETED --- --- QxData.js DELETED --- |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:48:45
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/deprecated In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26513/deprecated Log Message: Directory /cvsroot/qooxdoo/qooxdoo/source/script/deprecated added to the repository --> Using per-directory sticky tag `renderer' |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:24:17
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22322/source/script/widgets Modified Files: Tag: renderer QxMenu.js Log Message: Minor fix Index: QxMenu.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/widgets/QxMenu.js,v retrieving revision 1.17.2.33 retrieving revision 1.17.2.34 diff -C2 -d -r1.17.2.33 -r1.17.2.34 *** QxMenu.js 13 Jan 2006 10:50:26 -0000 1.17.2.33 --- QxMenu.js 16 Jan 2006 10:24:03 -0000 1.17.2.34 *************** *** 134,139 **** proto._beforeAppear = function() { ! QxAtom.prototype._beforeAppear.call(this); ! // register to menu manager as active widget QxMenuManager.add(this); --- 134,139 ---- proto._beforeAppear = function() { ! QxCanvasLayout.prototype._beforeAppear.call(this); ! // register to menu manager as active widget QxMenuManager.add(this); *************** *** 148,152 **** proto._beforeDisappear = function() { ! QxAtom.prototype._beforeDisappear.call(this); // zIndex handling --- 148,152 ---- proto._beforeDisappear = function() { ! QxCanvasLayout.prototype._beforeDisappear.call(this); // zIndex handling |
|
From: Sebastian W. <wp...@us...> - 2006-01-16 10:22:22
|
Update of /cvsroot/qooxdoo/qooxdoo/source/test/user In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21991/source/test/user Modified Files: Tag: renderer Window_6.html Log Message: Updated example Index: Window_6.html =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/test/user/Attic/Window_6.html,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** Window_6.html 13 Jan 2006 16:04:41 -0000 1.1.2.1 --- Window_6.html 16 Jan 2006 10:22:13 -0000 1.1.2.2 *************** *** 65,69 **** m4.add(mb41, mb42); ! --- 65,69 ---- m4.add(mb41, mb42); ! this.add(m1, m2, m3, m4); *************** *** 78,85 **** t1.setRight(0); ! var tb1 = new QxMenuBarButton("File", m1); ! var tb2 = new QxMenuBarButton("Edit", m2); ! var tb3 = new QxMenuBarButton("View", m3); ! var tb4 = new QxMenuBarButton("Help", m4); t1.add(tb1, tb2, tb3, tb4); --- 78,85 ---- t1.setRight(0); ! var tb1 = new QxToolBarMenuButton("File", m1); ! var tb2 = new QxToolBarMenuButton("Edit", m2); ! var tb3 = new QxToolBarMenuButton("View", m3); ! var tb4 = new QxToolBarMenuButton("Help", m4); t1.add(tb1, tb2, tb3, tb4); *************** *** 87,90 **** --- 87,130 ---- w1.add(t1); + var tt1 = new QxToolTip("File Menu Button"); + var tt2 = new QxToolTip("Edit Menu Button"); + var tt3 = new QxToolTip("View Menu Button"); + var tt4 = new QxToolTip("Help Menu Button"); + + tb1.setToolTip(tt1); + tb2.setToolTip(tt2); + tb3.setToolTip(tt3); + tb4.setToolTip(tt4); + + this.add(tt1, tt2, tt3, tt4); + + + + + + + + + var c1 = new QxComboBox; + + c1.setLocation(0, 40); + + c1.getList().add(new QxListItem("Item 1")); + c1.getList().add(new QxListItem("Item 2")); + c1.getList().add(new QxListItem("Item 3")); + c1.getList().add(new QxListItem("Item 4")); + c1.getList().add(new QxListItem("Item 5")); + + w1.add(c1); + + + + + + + + + + w1.open(); |
|
From: Andreas E. <ec...@us...> - 2006-01-16 10:00:24
|
Update of /cvsroot/qooxdoo/qooxdoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18226 Modified Files: Tag: renderer TODO Log Message: Minor additions Index: TODO =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/TODO,v retrieving revision 1.1.2.38 retrieving revision 1.1.2.39 diff -C2 -d -r1.1.2.38 -r1.1.2.39 *** TODO 13 Jan 2006 14:58:37 -0000 1.1.2.38 --- TODO 16 Jan 2006 10:00:10 -0000 1.1.2.39 *************** *** 4,7 **** --- 4,11 ---- Or change the examples to include the qooxdoo.js with the charset="iso-8859-15" attribute? + * Make API nice, clean and consistent: + * Discuss property names: "html", "text" and "content" for QxText, QxHtml and QxLabel. + * isDisplayed vs. isDisplayable (cleanups naming) + h4. Optimizations |
|
From: Sebastian W. <wp...@us...> - 2006-01-15 19:47:09
|
Update of /cvsroot/qooxdoo/qooxdoo/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1726/tools Modified Files: Tag: renderer compileng.py compileng_compress.xsl Log Message: Added new block handling, minor improvements to real compressor, first version which gives us a runable qooxdoo with the new compressor Index: compileng_compress.xsl =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/tools/Attic/compileng_compress.xsl,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** compileng_compress.xsl 13 Jan 2006 15:38:54 -0000 1.1.2.2 --- compileng_compress.xsl 15 Jan 2006 19:46:56 -0000 1.1.2.3 *************** *** 1,144 **** <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"> - <xsl:output method="text" version="1.0" encoding="iso-8859-1"/> ! <xsl:template match="/"> ! <result> ! <xsl:apply-templates/> ! </result> ! </xsl:template> ! <xsl:template match="text()"/> ! <xsl:template match="block"> <xsl:apply-templates/> ! <xsl:if test="parent::casecontent or count(following-sibling::*) > 0"> ! <xsl:text>; ! </xsl:text> ! </xsl:if> ! </xsl:template> ! <xsl:template match="commandgroup"> ! <xsl:text>{</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>}</xsl:text> ! <xsl:choose> ! <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and @detail = 'DO'] and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'WHILE']"> ! <!-- PASS: Do-While --> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() != 'token' and not(@detail = 'ELSE' or @detail = 'CATCH' or @detail = 'FINALLY')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:when> ! </xsl:choose> ! </xsl:template> ! <xsl:template match="argumentgroup"> ! <xsl:text>(</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>)</xsl:text> ! ! <xsl:choose> ! <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and (@detail = 'WHILE' or @detail = 'IF')]"> ! ! </xsl:when> ! <xsl:otherwise> ! <xsl:if test="following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and not(@detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF')))]"> ! <xsl:text>; ! </xsl:text> ! </xsl:if> ! </xsl:otherwise> ! </xsl:choose> ! </xsl:template> ! <xsl:template match="accessgroup"> ! <xsl:text>[</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>]</xsl:text> ! <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE' or @detail = 'IN')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:if> ! </xsl:template> ! <xsl:template match="namegroup"> ! <xsl:for-each select="*"> ! <xsl:value-of select="text()"/> ! <xsl:if test="position()!=last()">.</xsl:if> ! </xsl:for-each> ! <xsl:if test="count(following-sibling::*) > 0"> ! <xsl:choose> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IN' or @detail = 'INSTANCEOF')]"> ! <xsl:text> </xsl:text> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:when> ! </xsl:choose> ! </xsl:if> ! </xsl:template> ! <xsl:template match="command"> ! <xsl:value-of select="concat(text(), ' ')"/> ! </xsl:template> ! <xsl:template match="protected"> <xsl:value-of select="text()"/> <xsl:choose> ! <xsl:when test="@detail = 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'IF']"> ! <xsl:text> </xsl:text> ! </xsl:when> ! <xsl:when test="@detail != 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'RETURN')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'CASE' or @detail = 'DEFAULT')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'token']"> ! <!-- PASS --> ! </xsl:when> ! <xsl:when test="(@detail = 'DELETE' or @detail = 'FUNCTION' or @detail = 'RETURN' or @detail = 'VAR' or @detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF' or @detail = 'THROW' or @detail = 'NEW' or @detail = 'CASE') and following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and @detail != 'FUNCTION' and @detail != 'VAR') or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> <xsl:text> </xsl:text> </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'protected' or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> ! <xsl:text>; ! </xsl:text> </xsl:when> </xsl:choose> ! </xsl:template> ! <xsl:template match="token"> ! <xsl:value-of select="text()"/> ! <xsl:choose> ! <xsl:when test="@detail = 'INC' or @detail = 'DEC'"> ! <xsl:if test="preceding-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'number')] and count(following-sibling::*) > 0"> ! <xsl:text>; ! </xsl:text> ! </xsl:if> ! </xsl:when> ! ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'WHILE' or @detail = 'DO' or @detail = 'DELETE')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:when> ! </xsl:choose> ! </xsl:template> ! <xsl:template match="number|regexp|boolean|name|string|builtin"> ! <xsl:value-of select="text()"/> ! <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:text>; ! </xsl:text> ! </xsl:if> ! </xsl:template> </xsl:stylesheet> \ No newline at end of file --- 1,146 ---- <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"> ! <xsl:output method="text" version="1.0" encoding="iso-8859-1"/> ! <xsl:param name="blockdivider">;</xsl:param> ! <xsl:template match="/"> ! <result> <xsl:apply-templates/> + </result> + </xsl:template> ! <xsl:template match="text()"/> ! <xsl:template match="block"> ! <xsl:apply-templates/> ! <xsl:if test="parent::casecontent or count(following-sibling::*) > 0"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:if> ! </xsl:template> ! <xsl:template match="function"> ! <xsl:text>function</xsl:text> ! <xsl:if test="namegroup"> ! <xsl:text> </xsl:text> ! </xsl:if> ! <xsl:apply-templates/> ! </xsl:template> ! <xsl:template match="commandgroup"> ! <xsl:text>{</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>}</xsl:text> ! <xsl:choose> ! <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and @detail = 'DO'] and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'WHILE']"> ! <!-- PASS: Do-While --> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() != 'token' and not(@detail = 'ELSE' or @detail = 'CATCH' or @detail = 'FINALLY')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:when> ! </xsl:choose> ! </xsl:template> ! <xsl:template match="argumentgroup"> ! <xsl:text>(</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>)</xsl:text> ! <xsl:choose> ! <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and (@detail = 'WHILE' or @detail = 'IF')]"> ! ! </xsl:when> ! <xsl:otherwise> ! <xsl:if test="following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and not(@detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF')))]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:if> ! </xsl:otherwise> ! </xsl:choose> ! </xsl:template> ! ! <xsl:template match="accessgroup"> ! <xsl:text>[</xsl:text> ! <xsl:apply-templates/> ! <xsl:text>]</xsl:text> ! ! <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:if> ! </xsl:template> ! ! <xsl:template match="namegroup"> ! <xsl:for-each select="*"> <xsl:value-of select="text()"/> + <xsl:if test="position()!=last()">.</xsl:if> + </xsl:for-each> + <xsl:if test="count(following-sibling::*) > 0"> <xsl:choose> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IN' or @detail = 'INSTANCEOF')]"> <xsl:text> </xsl:text> </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:value-of select="$blockdivider"/> </xsl:when> </xsl:choose> ! </xsl:if> ! </xsl:template> ! <xsl:template match="command"> ! <xsl:value-of select="concat(text(), ' ')"/> ! </xsl:template> ! <xsl:template match="protected"> ! <xsl:value-of select="text()"/> ! <xsl:choose> ! <xsl:when test="@detail = 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'IF']"> ! <xsl:text> </xsl:text> ! </xsl:when> ! <xsl:when test="@detail != 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'RETURN')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'CASE' or @detail = 'DEFAULT')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and name() = 'token']"> ! <!-- PASS --> ! </xsl:when> ! <xsl:when test="(@detail = 'DELETE' or @detail = 'FUNCTION' or @detail = 'RETURN' or @detail = 'VAR' or @detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF' or @detail = 'THROW' or @detail = 'NEW' or @detail = 'CASE') and following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'function' or (name() = 'protected' and @detail != 'FUNCTION' and @detail != 'VAR') or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> ! <xsl:text> </xsl:text> ! </xsl:when> ! <xsl:when test="following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'protected' or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:when> ! </xsl:choose> ! </xsl:template> ! <xsl:template match="token"> ! <xsl:value-of select="text()"/> ! ! <xsl:choose> ! <xsl:when test="@detail = 'INC' or @detail = 'DEC'"> ! <xsl:if test="preceding-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'number')] and count(following-sibling::*) > 0 and not(following-sibling::*[position()=1 and name() = 'token' and @detail = 'COMMA'])"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:if> ! </xsl:when> ! ! <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'WHILE' or @detail = 'DO' or @detail = 'DELETE')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:when> ! </xsl:choose> ! </xsl:template> ! ! <xsl:template match="number|regexp|boolean|name|string|builtin"> ! <xsl:value-of select="text()"/> ! ! <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> ! <xsl:value-of select="$blockdivider"/> ! </xsl:if> ! </xsl:template> </xsl:stylesheet> \ No newline at end of file Index: compileng.py =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/tools/Attic/compileng.py,v retrieving revision 1.1.2.64 retrieving revision 1.1.2.65 diff -C2 -d -r1.1.2.64 -r1.1.2.65 *** compileng.py 13 Jan 2006 15:38:54 -0000 1.1.2.64 --- compileng.py 15 Jan 2006 19:46:55 -0000 1.1.2.65 *************** *** 61,64 **** --- 61,66 ---- "&" : "BITAND", + "^" : "POWEROF", + "<<" : "LSH", ">>" : "RSH", *************** *** 415,761 **** src = item["source"] ! if typ == "eof" or typ == "eol" or typ == "comment": ! pass ! ! else: ! if typ == "token": ! if det != "DOT" and treecontext[-1] == "namegroup": ! tagstop("namegroup") ! ! ! ! ! if det == "LC": ! tagstart("commandgroup") ! ! elif det == "RC": ! tagstop("commandgroup") ! ! elif det == "LB": ! tagstart("accessgroup") ! ! elif det == "RB": ! tagstop("accessgroup") ! ! elif det == "LP": ! tagstart("argumentgroup") ! ! elif det == "RP": ! tagstop("argumentgroup") ! ! elif det == "DOT" and treecontext[-1] == "namegroup": ! pass ! ! else: ! tagsource(typ, det, src) ! # print "Other token: %s" % src ! ! ! ! ! elif (typ == "protected" and (det == "THIS" or det == "PROTOTYPE" or det == "CALL" or det == "APPLY")) or typ == "name" or typ == "builtin": ! if treecontext[-1] != "namegroup": ! tagstart("namegroup") ! ! tagsource(typ, det, src) ! ! elif typ == "protected": ! if treecontext[-1] == "namegroup": ! tagstop("namegroup") ! ! tagsource(typ, det, src) ! ! elif typ == "number" or typ == "string" or typ == "regexp": ! tagsource(typ, det, src) ! ! else: ! print "Other type: %s" % typ ! ! ! ! ! ! ! ! ! ! ! def treebuilder_old(data, item): ! global xmlindent ! ! context = [ "root" ] ! ind = -1 ! xmlindent = 0 ! line = 0 ! ! xmlstart() ! ! tagstart("file", line) ! ! tagstart("info", line) ! ! tagsingle("item", item) ! tagsingle("size", len(data)) ! ! tagstop("info", line) ! ! ! for item in data: ! ind+=1 ! line = item["line"] ! ! ! ! ! ! if item["type"] == "eof": ! pass ! ! ! elif item["type"] == "eol": ! pass ! ! elif item["type"] == "comment": pass - elif item["type"] == "token": - - if item["detail"] != "DOT": - if context[-1] == "NAMEGROUP": - context.pop() - tagstop("namegroup", line) - - - - if item["detail"] == "LC": - tagstart("commandgroup", line) - context.append("COMMANDGROUP") - - elif item["detail"] == "RC": - - # Intelli-While-Closer - while context[-1] == "BLOCK" or context[-1] == "ASSIGN" or context[-1] == "CASECONTENT" or context[-1] == "CASE": - if context[-1] == "BLOCK": - context.pop() - tagstop("block", line) - - if context[-1] == "ASSIGN": - context.pop() - tagstop("assign", line) - - if context[-1] == "CASECONTENT": - context.pop() - tagstop("casecontent", line) - - if context[-1] == "CASE": - context.pop() - tagstop("case", line) - - context.pop() - tagstop("commandgroup", line) - - if context[-1] == "ASSIGN": - context.pop() - tagstop("assign", line) - - # Intelli-While-Closer - while context[-1] == "BLOCK" or context[-1] == "ASSIGN": - if context[-1] == "BLOCK": - context.pop() - tagstop("block", line) - - if context[-1] == "ASSIGN": - context.pop() - tagstop("assign", line) - - - elif item["detail"] == "LP": - tagstart("argumentgroup", line) - context.append("ARGUMENTGROUP") - - elif item["detail"] == "RP": - - # Intelli-While-Closer - while context[-1] == "BLOCK" or context[-1] == "ASSIGN": - if context[-1] == "BLOCK": - context.pop() - tagstop("block", line) - - if context[-1] == "ASSIGN": - context.pop() - tagstop("assign", line) - - context.pop() - tagstop("argumentgroup", line) - - - - elif item["detail"] == "LB": - tagstart("accessgroup", line) - context.append("ACCESSGROUP") - - elif item["detail"] == "RB": - - # Intelli-While-Closer - while context[-1] == "BLOCK" or context[-1] == "ASSIGN": - if context[-1] == "BLOCK": - context.pop() - tagstop("block", line) ! if context[-1] == "ASSIGN": ! context.pop() ! tagstop("assign", line) - context.pop() - tagstop("accessgroup", line) ! elif item["detail"] == "ASSIGN": ! tagstart("assign", line) ! context.append("ASSIGN") - elif item["detail"] == "SEMICOLON": - # Intelli-While-Closer - while context[-1] == "BLOCK" or context[-1] == "ASSIGN": - if context[-1] == "BLOCK": - context.pop() - tagstop("block", line) ! if context[-1] == "ASSIGN": ! context.pop() ! tagstop("assign", line) ! elif context[-1] == "CASETEST" and item["detail"] == "COLON": ! tagstop("casetest", line) ! context.pop() ! tagstart("casecontent", line) ! context.append("CASECONTENT") ! else: ! if context[-1] == "NAMEGROUP" and item["detail"] == "DOT": ! continue ! if item["detail"] != "SEMICOLON": ! tagsource("token", item["detail"], line, item["source"]) ! elif item["type"] == "protected": ! if item["detail"] == "CASE": ! # Intelli-While-Closer ! while context[-1] == "BLOCK" or context[-1] == "ASSIGN" or context[-1] == "CASECONTENT" or context[-1] == "CASE": ! if context[-1] == "BLOCK": ! context.pop() ! tagstop("block", line) - if context[-1] == "ASSIGN": - context.pop() - tagstop("assign", line) - if context[-1] == "CASECONTENT": - context.pop() - tagstop("casecontent", line) - - if context[-1] == "CASE": - context.pop() - tagstop("case", line) ! context.append("CASE") ! tagstart("case", line) ! context.append("CASETEST") ! tagstart("casetest", line) - elif item["detail"] == "BREAK": - tagstart("block", line) - tagsource("protected", item["detail"], line, item["source"]) - tagstop("block", line) else: ! if context[-1] != "BLOCK" and context[-1] != "ASSIGN" and context[-1] != "ACCESSGROUP" and context[-1] != "NAMEGROUP" and context[-1] != "CASE" and context[-1] != "CASETEST": ! context.append("BLOCK") ! tagstart("block", line) ! ! if item["detail"] == "THIS" or item["detail"] == "PROTOTYPE": ! if context[-1] != "NAMEGROUP": ! context.append("NAMEGROUP") ! tagstart("namegroup", line) ! ! elif context[-1] == "NAMEGROUP": ! context.pop() ! tagstop("namegroup", line) ! ! tagsource("protected", item["detail"], line, item["source"]) ! ! - else: - if context[-1] != "BLOCK" and context[-1] != "ASSIGN" and context[-1] != "ACCESSGROUP" and context[-1] != "NAMEGROUP" and context[-1] != "CASE" and context[-1] != "CASETEST": - context.append("BLOCK") - tagstart("block", line) ! if item["type"] == "name": ! if context[-1] != "NAMEGROUP": ! context.append("NAMEGROUP") ! tagstart("namegroup", line) ! tagsource("name", item["detail"], line, item["source"]) ! elif item["type"] == "builtin": ! if context[-1] != "NAMEGROUP": ! context.append("NAMEGROUP") ! tagstart("namegroup", line) - tagsource("builtin", item["detail"], line, item["source"]) ! else: ! if context[-1] == "NAMEGROUP": ! context.pop() ! tagstop("namegroup", line) - if item["type"] == "string": - if item["detail"]=="'": - stringCharMode = "single" else: ! stringCharMode = "double" - tagsource("string", stringCharMode, line, item["source"]) - elif item["type"] == "number": - tagsource("number", item["detail"], line, item["source"]) ! elif item["type"] == "regexp": ! tagsource("regexp", item["detail"], line, item["source"]) else: ! print "Unknown Type: %s" % item["type"] - if context[-1] == "BLOCK": - tagstop("block", line) - tagstop("file", line) --- 417,545 ---- src = item["source"] ! # store in global variable ! sourceline = lin ! if typ == "comment": pass ! elif typ == "eof": ! if treecontext[-1] == "namegroup": ! tagstop("namegroup") + if treecontext[-1] == "block": + tagstop("block") + elif typ == "eol": + pass + elif typ == "token" and det == "SEMICOLON": + if treecontext[-1] == "namegroup": + tagstop("namegroup") ! if treecontext[-1] == "block": ! tagstop("block") ! else: ! print " Warning: Used semicolon outside a block! (line: %s)" % lin + else: + if typ == "token": + if det != "DOT" and treecontext[-1] == "namegroup": + tagstop("namegroup") ! if det == "LC": ! tagstart("commandgroup") + elif det == "RC": + if treecontext[-1] == "block": + tagstop("block") + if treecontext[-1] != "commandgroup": + print "Warning: Wrong context: %s. Requires commandgroup close here!" % treecontext[-1] ! tagstop("commandgroup") ! if treecontext[-1] == "function": ! tagstop("function") + elif det == "LB": + tagstart("accessgroup") ! elif det == "RB": ! if treecontext[-1] == "block": ! tagstop("block") ! tagstop("accessgroup") ! elif det == "LP": ! tagstart("argumentgroup") + elif det == "RP": + if treecontext[-1] == "block": + tagstop("block") ! tagstop("argumentgroup") + elif det == "DOT" and treecontext[-1] == "namegroup": + pass ! else: ! if treecontext[-1] != "namegroup" and treecontext[-1] != "block": ! tagstart("block") ! tagsource(typ, det, src) ! # print "Other token: %s" % src else: ! if treecontext[-1] != "namegroup" and treecontext[-1] != "block" and treecontext[-1] != "function": ! tagstart("block") ! if (typ == "protected" and (det == "THIS" or det == "PROTOTYPE" or det == "CALL" or det == "APPLY")) or typ == "name" or typ == "builtin": ! if treecontext[-1] != "namegroup": ! tagstart("namegroup") ! tagsource(typ, det, src) ! elif typ == "protected": ! if treecontext[-1] == "namegroup": ! tagstop("namegroup") ! if det == "FUNCTION": ! tagstart("function") else: ! tagsource(typ, det, src) ! elif typ == "number" or typ == "string" or typ == "regexp": ! tagsource(typ, det, src) else: ! print "Other type: %s" % typ ! *************** *** 805,808 **** --- 589,602 ---- global sourceline + + + while treecontext[-1] != tag: + print "Want to close: %s, but in wrong tree context: %s" % (tag, treecontext[-1]) + + xmlindent -= 1; + xmloutput += "%s</%s>\n" % ((" " * xmlindent), treecontext.pop()) + + + xmlindent -= 1; xmloutput += "%s</%s>\n" % ((" " * xmlindent), tag) |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 16:04:51
|
Update of /cvsroot/qooxdoo/qooxdoo/source/test/user In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30901/source/test/user Added Files: Tag: renderer Window_6.html Log Message: Added test for menu zIndex problem --- NEW FILE: Window_6.html --- <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <script type="text/javascript">window._htmlstart=(new Date).valueOf()</script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" /> <meta http-equiv="MsThemeCompatible" content="yes" /> <meta http-equiv="ImageToolBar" content="no" /> <meta name="MSSmartTagsPreventParsing" content="yes" /> <title>qooxdoo demo dev</title> <link type="text/css" rel="stylesheet" href="../../style/qooxdoo.css"/> <link type="text/css" rel="stylesheet" href="../../style/demolayout.css"/> <script type="text/javascript" src="../../../tools/script/includer.js"></script> </head> <body> <script type="text/javascript" src="../../../tools/script/demolayout.js"></script> <div id="testDescription"> <p>This is the QxWindow widget. These should emulate the default look and behaviour of the application windows running under Microsoft Windows(TM).</p> </div> <script type="text/javascript"> window.application.main = function() { var d = this.getClientWindow().getClientDocument(); var w1 = new QxWindow("Application Window"); w1.setSpace(20, 400, 48, 250); d.add(w1); var m1 = new QxMenu; var mb11 = new QxMenuButton("Open"); var mb12 = new QxMenuButton("Save"); var mb13 = new QxMenuButton("Close"); var mb14 = new QxMenuButton("Exit"); m1.add(mb11, mb12, mb13, mb14); var m2 = new QxMenu; var mb21 = new QxMenuButton("Cut"); var mb22 = new QxMenuButton("Copy"); var mb23 = new QxMenuButton("Paste"); m2.add(mb21, mb22, mb23); var m3 = new QxMenu; var mb31 = new QxMenuButton("Toolbars"); var mb32 = new QxMenuButton("Options"); m3.add(mb31, mb32); var m4 = new QxMenu; var mb41 = new QxMenuButton("Help"); var mb42 = new QxMenuButton("Info"); m4.add(mb41, mb42); var t1 = new QxToolBar; t1.setLocation(0, 0); t1.setRight(0); var tb1 = new QxMenuBarButton("File", m1); var tb2 = new QxMenuBarButton("Edit", m2); var tb3 = new QxMenuBarButton("View", m3); var tb4 = new QxMenuBarButton("Help", m4); t1.add(tb1, tb2, tb3, tb4); w1.add(t1); w1.open(); }; </script> </body> </html> |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 15:39:03
|
Update of /cvsroot/qooxdoo/qooxdoo/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24522/tools Modified Files: Tag: renderer compileng.py compileng_compress.xsl Log Message: Some changes Index: compileng_compress.xsl =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/tools/Attic/compileng_compress.xsl,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** compileng_compress.xsl 13 Jan 2006 13:38:22 -0000 1.1.2.1 --- compileng_compress.xsl 13 Jan 2006 15:38:54 -0000 1.1.2.2 *************** *** 40,48 **** <xsl:apply-templates/> <xsl:text>)</xsl:text> ! ! <xsl:if test="following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and not(@detail = 'ELSE' or @detail = 'IN')))]"> ! <xsl:text>; </xsl:text> ! </xsl:if> </xsl:template> --- 40,55 ---- <xsl:apply-templates/> <xsl:text>)</xsl:text> ! ! <xsl:choose> ! <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and (@detail = 'WHILE' or @detail = 'IF')]"> ! ! </xsl:when> ! <xsl:otherwise> ! <xsl:if test="following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and not(@detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF')))]"> ! <xsl:text>; </xsl:text> ! </xsl:if> ! </xsl:otherwise> ! </xsl:choose> </xsl:template> *************** *** 99,103 **** <!-- PASS --> </xsl:when> ! <xsl:when test="(@detail = 'DELETE' or @detail = 'FUNCTION' or @detail = 'RETURN' or @detail = 'VAR' or @detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF' or @detail = 'THROW' or @detail = 'NEW' or @detail = 'CASE') and following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'protected' or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> <xsl:text> </xsl:text> </xsl:when> --- 106,110 ---- <!-- PASS --> </xsl:when> ! <xsl:when test="(@detail = 'DELETE' or @detail = 'FUNCTION' or @detail = 'RETURN' or @detail = 'VAR' or @detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF' or @detail = 'THROW' or @detail = 'NEW' or @detail = 'CASE') and following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and @detail != 'FUNCTION' and @detail != 'VAR') or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> <xsl:text> </xsl:text> </xsl:when> *************** *** 114,119 **** <xsl:choose> <xsl:when test="@detail = 'INC' or @detail = 'DEC'"> ! <xsl:text>; </xsl:text> </xsl:when> --- 121,128 ---- <xsl:choose> <xsl:when test="@detail = 'INC' or @detail = 'DEC'"> ! <xsl:if test="preceding-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'number')] and count(following-sibling::*) > 0"> ! <xsl:text>; </xsl:text> + </xsl:if> </xsl:when> Index: compileng.py =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/tools/Attic/compileng.py,v retrieving revision 1.1.2.63 retrieving revision 1.1.2.64 diff -C2 -d -r1.1.2.63 -r1.1.2.64 *** compileng.py 13 Jan 2006 10:50:31 -0000 1.1.2.63 --- compileng.py 13 Jan 2006 15:38:54 -0000 1.1.2.64 *************** *** 426,433 **** ! if det == "SEMICOLON": ! pass ! ! elif det == "LC": tagstart("commandgroup") --- 426,430 ---- ! if det == "LC": tagstart("commandgroup") *************** *** 450,458 **** pass - elif det == "DOT" or det == "COMMA" or det == "COLON": - tagsource(typ, det.lower(), src) - else: ! tagsource(typ, det.lower(), src) # print "Other token: %s" % src --- 447,452 ---- pass else: ! tagsource(typ, det, src) # print "Other token: %s" % src |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 14:58:45
|
Update of /cvsroot/qooxdoo/qooxdoo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15314 Modified Files: Tag: renderer TODO Log Message: Minor updates Index: TODO =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/TODO,v retrieving revision 1.1.2.37 retrieving revision 1.1.2.38 diff -C2 -d -r1.1.2.37 -r1.1.2.38 *** TODO 13 Jan 2006 10:50:25 -0000 1.1.2.37 --- TODO 13 Jan 2006 14:58:37 -0000 1.1.2.38 *************** *** 4,12 **** Or change the examples to include the qooxdoo.js with the charset="iso-8859-15" attribute? - * Add appearance support - - * Discuss property names: "html", "text" and "content" for QxText, QxHtml and QxLabel. - * isDisplayed vs. isDisplayable (cleanups naming) - h4. Optimizations --- 4,7 ---- |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 14:48:05
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13495/source/script/core Modified Files: Tag: renderer QxCompare.js Log Message: Added ip4v compare Index: QxCompare.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/core/Attic/QxCompare.js,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** QxCompare.js 13 Dec 2005 11:23:53 -0000 1.1.2.2 --- QxCompare.js 13 Jan 2006 14:47:53 -0000 1.1.2.3 *************** *** 71,72 **** --- 71,90 ---- QxCompare.byNumberString = QxCompare.byFloatString; + + QxCompare.byIPv4 = function(a, b) + { + var ipa = a.split(QxConst.CORE_DOT, 4); + var ipb = b.split(QxConst.CORE_DOT, 4); + + for (var i=0; i<3; i++) + { + a = parseInt(ipa[i]); + b = parseInt(ipb[i]); + + if (a != b) { + return a - b; + }; + }; + + return parseInt(ipa[3]) - parseInt(ipb[3]); + }; |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 13:59:37
|
Update of /cvsroot/qooxdoo/qooxdoo/source/script/binding In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1930/source/script/binding Modified Files: Tag: renderer QxData.js Log Message: Minor updates Index: QxData.js =================================================================== RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/binding/Attic/QxData.js,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -C2 -d -r1.1.2.5 -r1.1.2.6 *** QxData.js 20 Dec 2005 08:38:12 -0000 1.1.2.5 --- QxData.js 13 Jan 2006 13:59:28 -0000 1.1.2.6 *************** *** 28,32 **** #package(ajax) #require(QxTimer) - #require(QxDataManager) **************************************************************************** */ --- 28,31 ---- |
|
From: Sebastian W. <wp...@us...> - 2006-01-13 13:38:36
|
Update of /cvsroot/qooxdoo/qooxdoo/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30517/tools Added Files: Tag: renderer compileng_compress.xsl compileng_methods.xsl Log Message: Some new stuff --- NEW FILE: compileng_compress.xsl --- <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"> <xsl:output method="text" version="1.0" encoding="iso-8859-1"/> <xsl:template match="/"> <result> <xsl:apply-templates/> </result> </xsl:template> <xsl:template match="text()"/> <xsl:template match="block"> <xsl:apply-templates/> <xsl:if test="parent::casecontent or count(following-sibling::*) > 0"> <xsl:text>; </xsl:text> </xsl:if> </xsl:template> <xsl:template match="commandgroup"> <xsl:text>{</xsl:text> <xsl:apply-templates/> <xsl:text>}</xsl:text> <xsl:choose> <xsl:when test="preceding-sibling::*[position()=1 and name() = 'protected' and @detail = 'DO'] and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'WHILE']"> <!-- PASS: Do-While --> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and name() != 'token' and not(@detail = 'ELSE' or @detail = 'CATCH' or @detail = 'FINALLY')]"> <xsl:text>; </xsl:text> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="argumentgroup"> <xsl:text>(</xsl:text> <xsl:apply-templates/> <xsl:text>)</xsl:text> <xsl:if test="following-sibling::*[position()=1 and (name() = 'namegroup' or (name() = 'protected' and not(@detail = 'ELSE' or @detail = 'IN')))]"> <xsl:text>; </xsl:text> </xsl:if> </xsl:template> <xsl:template match="accessgroup"> <xsl:text>[</xsl:text> <xsl:apply-templates/> <xsl:text>]</xsl:text> <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE' or @detail = 'IN')) or name() = 'namegroup' or name() = 'builtin')]"> <xsl:text>; </xsl:text> </xsl:if> </xsl:template> <xsl:template match="namegroup"> <xsl:for-each select="*"> <xsl:value-of select="text()"/> <xsl:if test="position()!=last()">.</xsl:if> </xsl:for-each> <xsl:if test="count(following-sibling::*) > 0"> <xsl:choose> <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IN' or @detail = 'INSTANCEOF')]"> <xsl:text> </xsl:text> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> <xsl:text>; </xsl:text> </xsl:when> </xsl:choose> </xsl:if> </xsl:template> <xsl:template match="command"> <xsl:value-of select="concat(text(), ' ')"/> </xsl:template> <xsl:template match="protected"> <xsl:value-of select="text()"/> <xsl:choose> <xsl:when test="@detail = 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and @detail = 'IF']"> <xsl:text> </xsl:text> </xsl:when> <xsl:when test="@detail != 'ELSE' and following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'RETURN')]"> <xsl:text>; </xsl:text> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'CASE' or @detail = 'DEFAULT')]"> <xsl:text>; </xsl:text> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and name() = 'token']"> <!-- PASS --> </xsl:when> <xsl:when test="(@detail = 'DELETE' or @detail = 'FUNCTION' or @detail = 'RETURN' or @detail = 'VAR' or @detail = 'IN' or @detail = 'INSTANCEOF' or @detail = 'TYPEOF' or @detail = 'THROW' or @detail = 'NEW' or @detail = 'CASE') and following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'protected' or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> <xsl:text> </xsl:text> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and (name() = 'namegroup' or name() = 'protected' or name() = 'string' or name() = 'number' or name() = 'boolean' or name() = 'regexp' or name() = 'token')]"> <xsl:text>; </xsl:text> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="token"> <xsl:value-of select="text()"/> <xsl:choose> <xsl:when test="@detail = 'INC' or @detail = 'DEC'"> <xsl:text>; </xsl:text> </xsl:when> <xsl:when test="following-sibling::*[position()=1 and name() = 'protected' and (@detail = 'IF' or @detail = 'WHILE' or @detail = 'DO' or @detail = 'DELETE')]"> <xsl:text>; </xsl:text> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="number|regexp|boolean|name|string|builtin"> <xsl:value-of select="text()"/> <xsl:if test="count(following-sibling::*) > 0 and following-sibling::*[position()=1 and ((name() = 'protected' and not(@detail = 'ELSE')) or name() = 'namegroup' or name() = 'builtin')]"> <xsl:text>; </xsl:text> </xsl:if> </xsl:template> </xsl:stylesheet> --- NEW FILE: compileng_methods.xsl --- <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"> <xsl:output method="xml" indent="yes" version="1.0" encoding="iso-8859-1"/> <xsl:template match="/"> <result> <xsl:apply-templates/> </result> </xsl:template> <xsl:template match="text()"/> <xsl:template name="tolower"> <xsl:param name="in"/> <xsl:value-of select="translate($in, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/> </xsl:template> <xsl:template name="firsttolower"> <xsl:param name="in"/> <xsl:call-template name="tolower"> <xsl:with-param name="in"> <xsl:value-of select="substring($in, 1, 1)"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="substring($in, 2)"/> </xsl:template> <xsl:template match="namegroup[following-sibling::assign/protected[@detail='FUNCTION']]/name[text() = 'proto']"> <protomethod> <xsl:variable name="name"> <xsl:value-of select="following-sibling::name"/> </xsl:variable> <xsl:attribute name="name"> <xsl:value-of select="$name"/> </xsl:attribute> <xsl:if test="starts-with($name, '_')"> <xsl:attribute name="private">true</xsl:attribute> <xsl:if test="starts-with($name, '_modify')"> <xsl:attribute name="modifier">true</xsl:attribute> <xsl:attribute name="property"> <xsl:call-template name="firsttolower"> <xsl:with-param name="in" select="substring($name, 8)"/> </xsl:call-template> </xsl:attribute> </xsl:if> </xsl:if> </protomethod> </xsl:template> </xsl:stylesheet> |