Document Information

Last modified:
2008/07/30 13:28 by willavery

qooxdoo 0.8-alpha2 (2008-07-11)

Framework

Core

  • qx.Class.patch preserves references to overwritten methods
  • Abstract classes should not be required to implement all interface methods
  • The mixin MUserData which adds setUserData/getUserData was merged into qx.core.Object for better performance of the core object class.
  • Fix in Property class: allow “deferredInit” to init complex types
  • For improved performance the property values are not validated in non-debug builds anymore. It is suggested to test applications intensively using debugging enabled, though
  • Use assertion for property checks. This gives us much better error messages and a stack trace.
  • Adobe AIR is now correctly detected by the client detection.

Events

  • Optimized event dispatch significantly
  • Let fireEvent return false if preventDefault was called on the event object
  • fireDataEvent is now non-bubbling
  • Improve error messages thrown by Object’s addListener/removeListener
  • Added getChar to KeyInput events
  • “load” and “input” events now not processed by the UI EventHandler anymore. These are custom implementations for every widget (mainly because not every widget can support these events)
  • Change and Data events were merged to Data event. These were often used exchangeable but had complicated this because of different interfaces (getValue vs. getData)

Communication

  • Some fixes to the transport layer: serverData property declaration fixed. Windows error code 12007 handled appropriately
  • qx.util.Json.parse is now working.

BOM/DOM

  • Added get method in bom/element/Class class to retrieve classname property
  • Added getElementIndex method to Hierarchy class
  • Fix URL to the helper html file in the history manager.
  • The focus APIs of qx.html.Element were improved to allow better access to some information only the element itself can give (isNativelyFocusable, isFocusable, getNodeName, ...)
  • Fixed event listeners in Iframe.js
  • Make use of deprecation infrastructure from 0.7

GUI Toolkit

New Features

  • Added support for embedding canvas tags into qooxdoo GUI applications.
  • TabView scrolls TabButtons
  • Introduced sub-control handling
  • Introduced state inheritance support
  • Implement addChild and removeChild events
  • Added support for global cursors (used for resizing or drag arrows etc.) (no support for IE available)
  • Ported the completely rewritten and improved SplitPane widget to 0.8.
  • The improved TabView widget is now ported to 0.8.
  • Polished SelectBox and ComboBox widgets are now available in 0.8.

Improved Features

  • Major improvement for appearance caching. The new solution is heavily based on bit-masks and boosts performance for cache access tremendously.
  • Implement remote padding and font style handling
  • More polished themes Classic and Modern
  • Atoms now support shrinking and show an ellipsis sign in their Labels when not enough room is available.
  • I18N: Reintroduced optional runtime switching of locales. LocalizedString is now sub class of String
  • Support for tabFocus was added. This means that on focusing a widget using the Tab key something else may happen than when using the mouse. This is mainly used by Spinners etc. to move the caret into the textfield when pressing Tab.
  • Hopefully the “final” implementation for the scrolling system is now included. It correctly handles issues like scroll positions which got forgotten when toggling visibility of widgets. Also possible now is to scroll or to scrollIntoView at every moment of application runtime.
  • The SlideBar widget was improved. First steps were made to support different orientations (as used by the TabView).
  • SelectionHandling now supports a new method replaceSelection to easily switch to another selection (available in Lists, Trees, ...)
  • TabView now supports all directions for positioning the SlideBar.

API Improvements

  • Removed runtime switching of themes after discussion, as this showed to have significant technical impact
  • Made Tree API more consistent
  • The Spinner widget now enforces the configured limits when checking the value property. New gotoValue method to automatically move value into allowed range.
  • Window got more love: Moved zIndex code from window into the window manager. Lazily create statusBar. Support maximize, minimize, and close events. Grid layout used for captionbar. Support for modal windows is still missing.
  • RadioManager was renamed to RadioGroup
  • Interfaces were created for form elements and radio items. All form elements already implement these.
  • SelectBox and ComboBox now fire correct changeSelected respectively changeValue events.
  • RadioGroupBox now behaves like a regular RadioButton (same interface)
  • The align property of the Atom has finally renamed back to iconPosition to not interfere with the already existing alignX and alignY properties used by the layout managers.
  • Optional layout options for the Toolbar’s add method.
  • ComboBox: Removed “editable” property. Use SelectBox for a non-editable and ComboBox for an editable widget.

Fixes

  • Several fixes for IE under HTTPS to get rid of “insecure elements” warnings
  • Fixed IE rendering issues and failing IE unit tests.
  • Added support for loading external images → now handled by the ImageLoader
  • Bug fixes and improvements for almost all widgets. Particularly resolved issues for Spinner, Image, Button, ...
  • Fixed switching between text and icon multiple times in Atom
  • Fixed Grid layout bug, as an incorrect minSize was calculated
  • Fixed appearance queue issues for dynamically created widgets through the appearance system itself which often received the wrong appearance.
  • Remove Decorator queue. There is no longer a connection between widget and decorator

Todo

  • Porting the following widgets has not been started: Menu, Table
  • Complex combined controls like ColorPickers, Datepickers etc. are still missing
  • FocusRoot support still missing

Tools

  • Fix problems reported by make lint added new check to ecmalint: check if all loops statements are followed by a block
  • Fixed Profiler, which only reported static methods
  • Like GWT qooxdoo’s string optimizer now uses scope global variables instead of an array. This makes the lookup of strings a lot faster in IE.
  • The variable optimizer now takes care of reserved words and do not overwrite these in local variables anymore.
  • Reworked structure of ‘tool’ folder
  • Changed command line interface of new generator: -c is optional (defaults to config.json) and -j is removed, the jobs being specified as arguments.
  • Implemented helper targets pretty, clean, distclean, publish, lint, migration, fix in new generator.
  • Standard applications Apiviewer, Demobrowser, Feedreader, Portal, Showcase, Skeleton, Testrunner and Website use the new generator for their main build targets (source, build and api).
  • Minimized application-level config.json files for Feedreader, Skeleton, due to better support in generic application.json.
  • Config files: New top-level include syntax and semantics. include entries are maps now. Namespace-less includes of external config files. Config files can still be imported under a name space prefix with the optional as key. List of jobs to import can be specified with the optional import key.
  • Config files: export list, to narrow the list of jobs to be exported on include.
  • Config files: Top-level let section which will be automatically added to each job.
  • Config files: Triggers compile-dist and copy-resources don’t rely on each other anymore and can be invoked independently for build jobs.
  • Fixes in parsing of regexps and arithmetic expressions.
  • Better support for native Win32 Python.

Applications

  • Added portal application
  • Many bugfixes for the demo section, e.g. Safari compatibility
  • TestRunner runs again in IE7. Also missing icons were added.
  • Added three new animation demos to demobrowser.

Documentation

  • A lot of API documentation improvements
  • Complete/Fix documentation of qx.core
  • Major additions to the GUI Development article

Information

Last modified:
2008/07/30 13:28 by willavery

Account

Not logged in

 
 

Job Offers

To further improve qooxdoo we are seeking javascript developers. Read more...

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.