qooxdoo

One of the most comprehensive and innovative Open Source Ajax frameworks
Download

qooxdoo Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Sebastian Werner
  • Publisher web site:
  • http://qooxdoo.org/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 24 MB

qooxdoo Tags


qooxdoo Description

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 · 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.


qooxdoo Related Software