Lets take a look back at another enjoyable week in qooxdoo:
Native Scroll Bars
Since qooxdoo 0.8 we render the scroll bars as pure qooxdoo widgets. This has the advantage that one has full control over the behavior and theming of scroll bars. Unfortunately, it is not possible to always replace the scroll bars with qooxdoo scroll bars. Especially the areas that are not fully under control of the layout engine still show the native scroll bars. Examples for that are HTML embed, IFrame and TextArea widgets. Since this mixed look in a more complex app can potentially irritate users we have now added an option to render all scroll bars as native scroll bars. There is a global setting
qx.nativeScrollBars which determines the kind of scroll bars used throughout the application.
Drag and Drop events now bubbling
We only recently realized that drag and drop events in qooxdoo 0.8.x were not bubbling. This is different to the drag and drop events in qooxdoo 0.7 and the proposed drag and drop specification in HTML5. Since there are several uses cases which require bubbling drag and drop events, we have now turned those events into bubbling events. Note that this fix changes behavior and can lead to problems with existing code if draggable or droppable widgets are nested. In these cases the old behavior can be restored by adding
stopPropagation() calls to the end of drag and drop event handlers.
Label API adjustments
In order to further standardize the API, the methods
setContent()in qx.bom.Label and qx.html.Label have been deprecated in favor of
setValue(), bringing them in line with qx.ui.basic.Label. Unfortunately, this inconsistency hasn’t been noticed earlier, but we felt it needed to be corrected asap to account for all the cleanups in this area made towards 0.8.3.
SVN trunk cleanup
Talking of 0.8.3: in that release we had quite a number of API changes as mentioned, and to support the transition of existing code had included a lot of run-time deprecations. While working towards the 1.0 release now, it was time to get rid of all deprecated code and also the legacy sources that were kept in the framework from 0.7.x. It was quite some work but finally and successfully, we got the SVN trunk almost deprecation free, including all the qooxdoo apps and components. The SVN revision before removals is r20219 just in case you’d need it. If you encounter any problems, please do not hesitate to file bug reports, thanks.
For a complete list of bugs fixed during the last working week, use this bugzilla query.
“This is primarily a serialization engine for the creation of forms. We have
created a JSON format that describes forms, scripts and functions on
objects. This is a similar approach to some of the UIDeclaration or
qxTransformer work. I’m hoping to get some feedback on our solution.”
See here for the full announcement. Among other things, Dan has created a specialized Playground application that let’s you evaluate Blueprint JSON data immediately. The project’s current home page is here.
Not surprisingly, but impressive nevertheless, there is a designer component that lets you create forms interactively, and which creates Blueprint JSON in the background. – Way to go, Dan!
In next week’s blog post we’ll try to showcase some of the other contributions that have entered qooxdoo-contrib just recently or are currently being completed. It’s great to see so many high-quality contributions for qooxdoo to appear. If you feel like contributing a project yourself, feel free to do so. Keep in mind that it doesn’t need to be big, though, just useful for or “colorful” within the qooxdoo community.
That’s it for the moment, see you around next week.