Table of Contents
qooxdoo 1.0-beta1 (2009-11-25)
qooxdoo 1.0-beta1 is a preview release for the upcoming 1.0 version.
Framework
Performance
- Disposing of objects takes less time
- Assertions are faster now
qx.html.element.Style.setStyleshas been improved- Improved
qx.lang.String.pad
Event System
- #2891 Mouse capturing now works even if the user leaves the browser view port.
- #2919 Mouse Capturing: Captured events are now bubbling
- #2795 All native events can now be cloned without breaking any of the public API
- #2856 Drag and drop events are now bubbling
qx.event.Commandhas been split up into two different classes. One,qx.bom.Shortcut, handles the shortcut functionality. The other,qx.ui.core.Commandis the high level command.
Core
- All legacy code has been removed.
- Improved browser detection and added
qx.bom.client.Browserwhich can be used to get the browser name and version number. Thanks to Sebastian Werner for contribution. - Fixed some issues with the size calculation on
qx.bom.Viewportandqx.bom.Document. - Safari 3 always returned the wrong value for
isStandardModeonqx.bom.Document, this is now fixed. - Fixed an iframe issue in Firefox. Whenever the iframe got a new parent element Firefox did load the wrong source under certain circumstances
- Prevent inline root from growing endlessly if the height of the element is implicit (=defined by the content)
- New method
qx.util.DisposeUtil.disposeTriggeredBy() - Corrected several destructors
- Fixed wrong format and size return values in
qx.io2.ImageLoader - Added a Serializer util class that produces a native JavaScript object.
Browser Support
- Firefox 1.5 is working again
- #2230 For Internet Explorer 8, fixed unreachable TextField when a TextField is lying over a image.
- Fixed mouse events in iPhone.
Transport
qx.io.remote.RequestQueuestopped sending when too many requestHandler throw an exception. Applied a patch that places the request handler in a try/catch block to prevent a program crash upon exception. If an exception is thrown, an "aborted" message is now issued to the application.
Low-level
- History manager has been refactored. It now supports the native
hashchangeevent and IE support has been improved. Additionally the state is now available as property which makes it bindable. - Fixed loading issue in BOM libraries in IE
- Improved low-level blocker class.
GUI Toolkit
UI Core
- #3075 Fixed size hint calculation for some edge cases
- Removed the color
greyas valid color, because this is not a valid color for IE6 and IE7. - Added property
wraptoqx.ui.basic.Label, to allow or deny line breaks. But this feature only works with rich labels. - Added property
blockToolTiptoqx.ui.core.Widgetto disable a tool tip. - Removed limitation of not be able to change the scaling mode and/or the source of a
qx.ui.basic.Imagewidget during runtime. - Fixed alpha PNG issue at decoration util class.
Data Binding
- The data binding is no longer experimental!
- Added two new data stores:
- JSONP data store.
- YQL data store.
- Two new delegate methods for the data stores:
- Added the possibility to change settings on the created request.
- Added the possibility to manipulate the data returned from the request.
- Improvements to the form controller concerning init values and binding options.
- Improvements to the selection handling of the controller
Forms
- Form validation is no longer experimental!
- The placeholder now also supports password fields.
- Minor improvements to the resetter.
- The model selection array for RadioGroup's, RadioButtonGroup's, List's, SelectBox'es and Trees has been changed from a native JavaScript array to a qooxdoo data binding array.
Widgets
- #730 Large menus are no longer cut off at browser window
- #2847 Option to use native browser scroll bars in all widgets.
- Changed
unblockandunblockContenbehavior from our Blocker. Both methods take now care of the number ofblockandblockContentcalls, before the Blocker is removed. To force a unblock, two new methods are addedforceUnblockandforceUnblockContent. - Adjust the
Tableto the Selection API and renamed theclearSelectionmethod toresetSelection. - Table column model has a new method
setColumnsOrder(), the remote table model new setters for attributessortColumnIndexandsortAscending - The
getPreviousSiblingOf()method of Tree has new param allowing search to be restricted to current nest level - Progressive: removed experimental indications. The Progressive interface is now considered reasonably stable. Contributed and maintained by Derrell Lipman.
Applications
Inspector
- The auto completion now works with the key word
thisand you can type the tab key without having a valid sub key likeqx.. - Done some improvements on the property window do make it more reliable for internal exceptions.
Demobrowser
- Demobrowser GUI and demos are now generated jointly in one generator process
- A search field has been added to the demo browser which makes it possible to search for the names of demos.
Playground
- Added table demo
- Added a YQL demo.
API Viewer
- #1649
throwinformation will now be displayed for every method which can throw errors. - #1780 You can now include API doc for all used libraries of the application, using the API_INCLUDE config macro.
Test Runner
- #2907 Generator jobs "test" and "test-source" now honor the "libraries" job, so that additional libraries used in the application are also considered for the test application.
Tooling
- A new bash COMPSPEC file allows tab-completion of generator jobs (tool/bin/generator_compspec.bash)
Generation
- The generator now only prints stack traces when invoked with the -s command line option
- #2376 Dependency checking is more accurate now, also after library changes; unknown global symbols are warned about
- #2800 Add new option to split off I18N data in separate files, using config key packages/i18n-with-boot = false [experimental; not working for source versions]
- #2129 Resource information is now maintained on the package level, not globally in the loader script, which greatly reduces loader script sizes; using this with the new packages/<part>/no-merge-private-package key allows theme-specific packages to retain their own resources
- #2879 Add facility to hook JS code into qx.$$loader.decodeUris(), using compile-source/decode-uris-plug or compile-dist/code/decode-uris-plug
- Parts are now being verified after package collapsing, to make sure they contain all required classes
- Speed up in the generation of .po files
- "#ignore" compiler hints in class code are functional again
- The clean-files action key now allows Python-style file globs
- Improved logging when checking/downloading contribs
- Various parser bugs fixed
- [BUG #3031] If create-application.py is invoked with both namespace and application name parameters, only the namespace will be modified to only contain valid JavaScript identifier characters.
- [BUG #2038] New generator job "info": Prints some basic environment information for debugging.
- [BUG #2220] The "copy-files" job will now overwrite target files that are write-protected.
Configuration
- #2868 Set translate/poentry-with-occurrences = false, to disable the generation of location comments in .po files
- New add-script config key allows inclusion of arbitrary Javascript files
- The loader template for the source/build versions is now configurable (compile-dist/paths/loader-template and compile-source/loader-template)
- A new generator option -m/--macro allows specification of let macros on the command line
extendandrunconfig keys now allow the use of macros; bear in mind that these keys are evaluated very early, so the referenced macros should usually be within the same file to take effect
Internationalization
- Various updates to the translation handling module (polib)
Code Formatting
- #2886 Compiler hints (#require, #asset, …) now allow leading white-space
Migration
API Changes
qx.util.ColorUtil.hsbToRgbnow returns the RGB value as array instead of a map.
