Beta 2 Updates to the Cascades UI Framework


Update from Anders about what great new stuff has been added to the Cascades™ UI framework in Beta 2! – Ed.

Cascades Beta 2 continues the path of C++, QT, QML and JavaScript®. You will recognize the UI controls, the event handling, the prepackaged data models and other features. You will also discover a couple of new features and lots of improvements to existing features.

We have also changed many APIs and we’ve provided you with a porting guide to help you upgrade your app from Beta 1 to Beta 2.

I’ve listed what I think are the most interesting new features and improvements here:

ActionBar, TabbedPane and Context Menu

We noticed that Tabs were very popular for dividing application content, but it wasn’t always very convenient to move to new pages when switching tabs. In many cases it was just better to stay on the same page but replace the content. Hence we changed the structure of the TabbedPane to allow tabs to work more than actions when needed.


The general appearance and interaction with the ActionBar, the Action Overflow menu and the Tab Sidebar has improved. We still have some way to go before we reach where we want to be, but you’ll see a major improvement in this release.


Application Menu

If you are a BlackBerry® PlayBook™ tablet user, you probably noticed that the previous version of Cascades didn’t include the application menu, widely used on the BlackBerry PlayBook tablet. It’s a menu that can be pulled down from the top using a swipe gesture, and we’ve now enabled it in Cascades. You would typically put less commonly-used functionality in the menu, such as application settings and help.


Since Beta 1, we have performed major refactoring of the listview control.

We now have a dedicated GridListLayout. You could do GridLists in Beta 1 as well by messing around with two level lists. However, this workaround is no longer possible, so you should use the dedicated gridlistlayout instead.

Sheets and Custom Dialogs

In Beta 1, we had the NavigationPane to create navigational flow. But there was no easy way of creating a modal UI, such as dialogs. In Beta 2 we have added two new concepts the remedy that.

Sheets are the way to put a navigation flow on hold and start a new temporary flow that needs to be finished before the underlying flow can be resumed. For example, if you need the user to edit some forms or compose something before continuing the normal navigational flow, sheets are ideal. They are full screen and can contain a complete navigation history of their own if they need to (i.e. include a NavigationPane or even TabbedPane). They are put on top of any ongoing navigation which cannot continue until the sheet is dismissed.

The BlackBerry® 10 platform already contains a bunch of standard system dialogs for the application developer to use. But for cases where an application needs to pop up a completely custom modal dialog, the CustomDialog class can be used. It’s pretty straightforward — put whatever UI you want in the dialog and it will be presented on top of existing UI (which will be dimmed out). The user can’t interact with what’s behind the dialog until it’s dismissed.

Scrolling and pinching

We have changed a little bit of how scrolling in a container works; one of the reasons being that we also want to make it play well with pinching, panning and rotating content. We have now introduced a separate scroll control handling this — the ScrollView.

We have enabled scrolling, zooming, panning by just setting a property as well as a full programmatic API to scroll around or zoom in and out in a scrollView.

Invocation and sharing from the ContextMenu and ActionBar

With BlackBerry 10, we are continuing the great BlackBerry tradition of connected, deeply integrated Super Apps. And it should be easy to create Super Apps!


In Beta 1 we showed how easy it is to include ActionItems on the ActionBar or the Context menu by just adding some small fragments of QML. It’s almost as simple to add sharing and invocation actions to your application. Add an invokeActionItem and point out the content to share, and you are more or less good to go.


Generally Beta 2 should perform much better than Beta 1. We still have some of work left to get the performance we want, but we are getting there!

We’ve also made sure to include a bunch of new examples for you, and we’ve also updated the existing ones for your cut n’ paste pleasure.

Hopefully you’ll like the taste of this Cascades dough, and when you put your fingers into it this time, they are going to be less sticky. Let us know what you like and what we should change — this one is soon going in the oven!

Join the conversation

Show comments Hide comments
+ -