 |
qooxdoo 0.8.1 |
qooxdoo One of the most comprehensive and innovative Open Source Ajax frameworks
System Requirememts Mac OS X |
 |
| Download Details |
|
| Company |
Sebastian Werner |
| Version |
0.8.1 |
| Post Date |
April 30, 2009 |
| License |
GPL |
| File Size |
19.9 MB |
|
|
|
|
|
There are no screenshots |
|
qooxdoo 0.8.1
One of the most comprehensive and innovative Open Source Ajax frameworks qooxdoo is a multipurpose framework that includes support for professional JavaScript development, a state-of-the-art GUI toolkit and high-level client-server communication. qooxdoo is entirely class-based and tries to leverage the features of object-oriented JavaScript. It is fully based on namespaces and does not extend native JavaScript types to allow for easy integration with other libraries and existing user code. Most modern browsers are supported (e.g. Opera, Firefox, Internet Explorer, WebKit/Safari) and it is free of memory leaks. qooxdoo comes with a comprehensive API reference, that is auto-generated from Javadoc-like comments and from the syntax tree representing the code. The fast and complete JavaScript parser not only allows doc generation, but is an integral part of the automatic build process that makes optimizing, compressing, linking and deployment of custom applications very user-friendly. What's New in This Release:
Framework
Core
Most protected members where changed to private ones, so that nobody can overwrite protected members in subclasses by mistake.
Non-static classes have to define the “extend” key
qx.List now works correctly in IE if running an application from the local file system
The addListener() method now returns an id
Introduced new qx.util.TimerManager, thanks Derrell
Added a method to qx.core.Assert, which can check if an event would be fired.
Application
Life-cycle methods terminate() and close() methods are available for qx.application. The re-introduced close() method allows a user to prevent accidentially unloading the document, i.e. exiting the application.
Fixed issue in startup of an “Inline Application” in IE.
Browser Support
IE8 is currently supported in IE7 compatibility mode. Full support for IE8 standard mode is expected in time with the final IE8 release.
Chrome 1.0 is fully supported.
Of course, the latest versions of Safari 3.2.x and Firefox 3.1 beta are also fine.
Improved handling in client detection, particularly if an illegal user agent string is sent.
Transport
Additional HTTP headers inserted by qooxdoo up to version 0.7.x were removed to reduce unnecessary overhead
Low-level
Fixed issue in IE with creating an element and applying its styles at the same time
Removed “ontimeout” property for IE in “qx.bom.Request” class
Fixed ellipsis problems at low-level layer
Fixed clipping issue in IE
“OpenBSD” is now recognized correctly
Added “has” method in “qx.bom.Multimedia” class
qx.ui.root.Inline can be configured to no longer disregard the size of its root DIV node. This is perfect for often encountered setups when integrating qooxdoo widgets into traditional HTML pages.
GUI Toolkit
UI Core
Parts of the child control API are now no longer protected but public. Particularly getChildControl() is meant for widget authors, who want to access child controls, which are created by the widget itself. This method exposes widget internals and modifying the returned sub widget may bring the widget into an inconsistent state. Accessing child controls defined in a super class or in an foreign class is not supported. Do not use it if the result can be achieved using public API or qooxdoo’s theming capabilities.
“_hasChildren” method now returns “false” instead of null if no children widgets are available
Implemented “height for width” for layouts (it was previously only available for widgets). This feature request was brought up by contributors that required this behaviour for custom layouts.
Add missing methods “getActiveWidget()” and “getFocusedWidget()”
As intended it is again impossible to select text on labels in Opera and Internet Explorer.
Changed the implementation of the action queues at startup. Now every action (like “focus”, “activate”, etc.) is queued and flushed to ensure the actions are processed in the right order
Fixed problems with scrolling and focus if the queue hasn’t already rendered all widgets.
Fixed FocusRoot issue with wrong tabOrder
Fixed rendering problems in IE6: A widget couldn’t become smaller than the currently applied font size.
In IE6 some icons showed a black background (image transparency broken).
Drag selection within the tree widget is now working again
General fix for drag selections - drag selection didn’t work if an already selected item was used
Added support for drag and drop inside window widgets
Fixed issue with combination keys for command shortcuts (every combination key was shown)
Command shortcuts which use the keys “-” and “+” are now working properly
Horizontal lists can now be scrolled using the mouse wheel
Fixed mousewheel support at SelectBox widgets inside Scroll container widgets
Data binding
Added a single-value binding as a solid basis for the upcoming data binding components. This features is still experimental. A detailed description is in the preliminary Data Binding documentation.
The possibility of validating the properties of a qooxdoo class has been added. This is also experimental and may change.
Widgets
Fixed Spinner issues with deactivating/activating buttons, if the value were greater or less than the min/max value.
The Spinner value is now correctly set in IE when pressing the enter key
Fixed Desktop widget
Hidden textfields are removed from the tab sequence
A readonly textfield is not focusable any longer
No “keypress” event in textfields for some keys in FF3
TextArea will automatically get a scrollbar if its content implies that
The location of an iframe can now be set in it’s construtor
Set property allowShrinkY by default to false in Label.
Add rich property in ToolTip for rich text tooltips.
Add formatter property in ComboBox to allow for HTML entities in the List items.
ColorPopup: init values changed from “black” (RGB 0, 0, 0) to “null” (no color).
ColorSelector: Buttons now correctly show associated icons.
Table
Status bar can now be hidden permanently
Removed spurious horizontal scroll bars in table
Filtered Table Model does restore values more than once.
Table pane no longer caches rows if maxCacheLines property is zero
Flash
Support for Flash has significantly been updated and extended.
Fixed the issue that it is not possible to call the External API form Flash in IE7 and higher.
Fixed memory leaks in IE.
Window
Added method to get the current mode (”minimized”, “maximized”, “normal” and “close”).
Fixed issue with using the center() method: If the window was larger than the view, the title is moved out the view, so it wasn’t possible to close the window.
Fixed issue with maximizing/minimizing a window if it is managed by the window manager.
Added support for deactivating window widgets
Windows won’t interrupt dragging when being moved too quickly
Modal windows now work as expected in IE
Theming
The API of the manager classes were made consistent: a property “theme” was added to the appearance manager class. The existing “appearanceTheme” property is deprecated and will be removed in a future release
Re-introduced the possibility of including/patching themes at runtime
“grey” is now a named color - as an alias to the already defined color “gray”
Implemented missing hover effects on SelectBox widgets
Improved style of disabled buttons in Modern theme
Fixed ugly problem with wrongly referenced image in IE6
Fixed issue with hover effects for toggle buttons in checked state
Fixed appearance issue with disabled and checked checkbox widget
Fixed appearance for right aligned tab buttons
Fixed several appearance issues of the toolbar widget
Fixed appearance of SelectBox widget in Classic theme
Fixed appearance of slider-knob in Classic theme
Harmonized tree open/close symbols
Image names in compat theme have been modified to better work with the legacy theme
Applications
Playground
A new interactive application was introduced. It allows for experimenting with qooxdoo application code. Basically, the code in a (syntax-highlighting) JavaScript editor on the left can be executed as an application on the right. This works purely in the browser, also offline, without the usual, locally installed tools or any server-side components. Playground does not pretend to be an online IDE, but it certainly is a handy solution. Particularly new users can now actually “play” with qooxdoo code without being required to setup qooxdoo’s tool chain on their local computers. The Playground app is fairly new, so be aware of any existing issues. Feedback welcome.
Skeleton
Added empty theme to the default GUI skeleton, which is the starting point for creating a typical qooxdoo application. The custom theme extends the built-in Modern theme. This enables a user to easily add theme entries for his/her custom widgets into the theme files provided.
Updated include list for low-level “BOM”-style applications
Skeleton templates have been reduced to gui (default), migration and bom. The with-contrib skeleton is gone, its features are re-created in the gui skeleton as comments.
Demobrowser
All demos have been tested and corrected if necessary.
Removed the remote table model demo (may be re-introduced in the future once improved hosting is available). You may also be interested in checking out the RpcExample in qooxdoo-contrib.
Minor fix for the BOM selection and application demo
Testrunner
Removed testrunner output from browser’s native console
API viewer
Replaced the combined PNG image with a GIF image to resolve issues.
Portal
The application now fits nicely onto screen for a 1024×768 resolution
Suppress the console for IE in build version.
Tooling
Python under Windows
For MS Windows users it is now recommended to install the free ActivePython distribution. It comes with a nice wizard that allows for a really simple installation. The default settings of the wizard are fine, and it also takes care of adding the python interpreter to the list of known executables (via PATH environment variable). This further simplifies the installation of python compared to the previously featured “orginal” python distribution from Python.org.
Internationalization
Support adding comments to PO files. On the JavaScript side the “trc()” method of the locale manager now also supports translations with contextual comments.
proper support for trn() framework method; plural keys now working
Source code validation
Added encoding support for Unicode in ecmalint source code validator
The rest of the Tooling section is about the Generator:
Jobs
new standard job source-all includes all classes in a source build
new includer job libraries, to take a single library key for additional libraries of the application
job name resolution order acknowledged and job “shadowing” available as documented
jobs of external config files can now be imported under a different name, to prevent name clashes (s. the import sub-key of include)
overriding jobs and job features now possible with = prefix
when merging jobs, all map keys are now deep merging, and all list keys are appending, minus duplicates
the base configuration files (base.json, application.json, ...) now export all of their jobs; jobs are only filtered at the application-level config.json, as can be seen in the skeletons’ config.json files
Known Issues and workarounds:
lint job: you should remove the cache files after running the lint job that had errors
api job: you should remove the cache files before running api job when using additional libraries/contribs
URI handling
URI handling has been revamped; the most significant change is that the uri key of library entries is optional, but if present will take precendence when calculating URIs to resources of that library. If the uri parameter is absent, settings of the individual job (compile-source, compile-dist, ...) will be used to calculate URIs.
Macros
macros from a config’s global let section are now usable throught the config file, e.g. in the include section
macros QOOXDOO_URI and APPLICATION_URI have been removed, the QOOXDOO_PATH macro is now expected to point to the root qooxdoo installation folder
in Skelton-based apps, it now suffices to change QOOXDOO_PATH in config.json to switch to another qooxdoo installation; the generate.py script will also read it from there
QXTHEME defaults to qx.theme.Modern
new macro OPTIMIZE, to tweak compile-dist’s optimize parameter
Config Keys
compile-dist has been revamped and restructured, to provide a clearer interface [this change is incompatible with the old version of the key]
packages has been restructured and extended, to allow more fine-grain control over package sizes
the themes key has been renamed to asset-let, to better match its purpose
new key log with log/classes-unused, to report unused classes of a library
new key desc, to add a descriptive string to a job; these descriptions are printed on the command line when invoking ‘generate.py x’
keys with minor changes: cache, library
Packages
merging packages is now only done for parts that should be collapsed
size for unshared packages can now be limited
Misc
resource compilation has been optimized
console logging has been split to the standard streams, STDOUT (levels “debug” and “info”) and STDERR (levels “warning”, “error” and “fatal”)
unknown classes are now reported
the contrib:// download cache now defaults to /downloads
removal of the framework/tool folder and other 0.7 legacy stuff
new experimental tool/data/test folder, for generator tests
Documentation
Many improvements and corrections of the 0.8 manual
A number of additional articles, e.g. for “qx.ui.core”, “qx.ui.container” and “Layouting”
The Tooling documentation was kept in sync with the often rapid development progress. Lots of fixes of missing or incorrect documentation were applied.
|