Table of Contents
qooxdoo 0.7.1 (2007-07-09)
This is an important maintainance release that includes many bugfixes. Every user of the previous 0.7 release is advised to migrate to this release, which is regarded as the most stable release of the 0.7.x line of qooxdoo.
Quick Summary
- Tons of bugfixes.
- Tons of performance improvements.
- Cross-browser JavaScript profiling, powered by built-in support for aspect-oriented programming (AOP).
- Made development and integration of user contributions much easier by introducing the associated repository qoooxdoo-contrib and a transparent build process.
New Features
- qooxdoo-contrib support has been added. New widgets available through qooxdoo-contrib:
- HtmlArea
- UploadWidget
- ProgressBar
- Safari 3 support (The maximum recursion depth, which is very limited compared to other browsers, remains a problem for deeply nested layouts)
- Tree and TreeFullControl have finally been merged into a single widget
qx.ui.tree.Tree. - New cross-browser JavaScript profiling has been introduced to benchmark qooxdoo function calls and runtimes.
- Demo browser:
- new mode to successively execute all available demos
- Much requested "view source" feature including syntax highlighting
- API viewer: Syntax highlighting for embedded JavaScript examples
- Themes now support Mixin-like
includeandpatch. - Appearance themes now support
base:true. This means, if enabled, that the appearance entry includes the defintion of the derived theme in the same way likeincludeworks locally for that theme. qx.lang.Functiongot a new methodglobalEval()to evaluate script in a global contextqx.lang.Stringhas got a new methodtoArray()which converts a string to an Array (splitting at each character/whitespace).- New class
qx.util.Typewas added (easy object type detection) - New class
qx.util.EditDistancewas added (Class to implement different edit distance ideas.) - New class
qx.dev.Tokenizerwas added (Simple JavaScript tokenizer used to print syntax-highlighted JavaScript code.)
Changes
- Resource declarations inside classes were modified. This must be changed by all classes declaring resources. Each entry must be prefixed with the toplevel namespace of the application now. For instance. a previous "custom.deep.namespace.Application" class needs to change the old resource declaration
#resource(image:image)to#resource(custom.image:image). This change makes it possible to add paths to already existing resource identifiers e.g.qx.icontheme. - Modified build system to only accept (the
#prefixed) meta information that is declared at the beginning of a line.
Improvements & Fixes
Demo Browser
- CSS no longer needed
- Profiling support was added to the demo browser (including additional controls in the menu bar)
- Runtime switching of themes can now easily be demonstrated for any demo (by additional controls in the menu bar)
- Code of demo browser was cleaned up and restructured to a great extend
- Log-level of demo browser was reduced in built version
Framework
Core
- Performance tweaking of
qx.dom.String.escapeEntities() toCamelCase(),startsWith()andendsWith()of classqx.lang.Stringwere improved regarding their performance- NumberFormat fixed for processing of non-trivial floating-point numbers
- General
set()now also supports to set one property at time usingset(propertyName, propertyValue). - General
getwas re-added to get the value of a property by name e.g.instance.get(propertyName); - General
resetwas added to reset the value of a property by name e.g.instance.reset(propertyName); - Performance of runtime namespace generation was improved
- Performance of Settings and Variants improved
- Settings and Variants can now be selected by the query string of the initial application Url (feature disabled by default)
- Selection of
box-sizingattribute was improved. This fixed layout issues in Safari 3 Beta. - Aspect-oriented programming now built into qooxdoo (
qx.core.Aspect) - Minor tweaks to
qx.core.Log(improved Webkit compatibility) WindowAppenderwas improved (popup handling, filtering support, layout, …)- Fixed disposer issues in
qx.core.Object IframeTransportnow correctly switches tosendingstate when starting backend communication
User Interface
- Support for
keyCodeproperty was removed. Please usekeyIdentifierinstead. - The interactive performance of the tree was dramatically improved - especially in Internet Explorer
- Better routine to disable text selection in Internet Explorer. This also improves interactive performance of widgets like
Window, etc. - Focus/Blur improvements (in particular for text fields)
- Fixes some issues with caret positioning inside TextFields in Internet Explorer
- Minor bugfixes to
SpinnerandComboBoxto allow for a more flexible layout. BackgroundColorsupport for bothSpinnerandComboBoxwas fixed.- Table row colors are now defined by the regular color themes
- Improved caching algorithm behind the theming system
- Fixed issues with image preloader when non-visible images (or unused images) were preloaded (produced 404 errors in some applications)
- Many small improvements to key event handling were made, especially with respect to cross-browser differences
- Mouse wheel support in gecko-based browsers was fixed
Exttheme can now be used standalone. Theextendattribute toClassicwas removed. This change should reduce the size of final applications that only depend on theExttheme.- Fixed small Atom issue with combination of icon, text and show property, which might have led to errors when the parent was defined before (related to inheritance of show property)
- Design of scrollbar blocker is now defineable through the appearance system
ResizeablePopupwas renamed toResizablePopup(withoute)Tablenow correctly supports font handling introduced with 0.7 (by inheritance)- Fixed
underlinesupport inFontclass - Global cursor handling was dramatically improved regarding performance (especially for Internet Explorer)
- Events were added for
Widgetproperties:backgroundColor,zIndex,textColor,border,font,overflowandtabIndex - All outstanding Webkit and Safari 3 layout and reflow issues were fixed
- Overflow handling was improved (fixing issues with
scrollXandscrollYin Internet Explorer) readOnlystate forTextFieldwas added (useful for appearance themes)textColorproperty ofTextFieldwas fixed- In order to control the built-in spellcheck feature in Firefox 2.0 a
spellCheckproperty was added toTextField,TextArea - API documentation of
qx.ui.window.Windowwas extended - Iframe
loadevent has got a major improvement and fires correctly now in all supported browsers (even IE) reload()was fixed and improved inIframeclass.
