SceneCover

Since: BlackBerry 10.0.0

#include <bb/cascades/SceneCover>

Renders a non-interactive scene graph that is displayed when the application is in cover mode.

The cover of the app is displayed on the Home screen when a user minimizes the app by swiping up from the bottom of the screen. These minimized covers are also referred to as Active frames.

No caption available

One way to create a custom cover for an app is to inherit from SceneCover. The content for a a scene cover is provided through the content property which defines a root Control for the cover. The content within the scene is non-interactive. Animations are also disabled within covers.

Here's an example of how to inherit from SceneCover to create a custom cover called ActiveFrame.

#include "ActiveFrame.h"

ActiveFrame::ActiveFrame() :
       SceneCover(this) {

    qml = QmlDocument::create("asset:///active_frame_cover.qml").parent(this);
    mMainContainer = qml->createRootObject<Container>();

    // Set the content of ActiveFrame
    setContent(mMainContainer);
  
    // Trigger the update slot
    update();
  
    // Another option is to initiate the update when the app moves
    // To the background. For example:
    // QObject::connect(Application::instance(),
    //         SIGNAL(thumbnail()), this, SLOT(update()));
}

ActiveFrame::~ActiveFrame() {

}

void ActiveFrame::update() {

    // ...Here's where you can update the cover...
}

To set the cover on that application, you retrieve an instance of the Application and call setCover().

Application::instance()->setCover(new ActiveFrame());


Overview

QML properties

content: bb::cascades::Control
attachedObjects: QDeclarativeListProperty< QObject > [read-only]Inherited
description: QStringInherited
objectName: QStringInherited
parent: QObject [read-only]Inherited
size: QSize [read-only]Inherited
ui: bb::cascades::UIConfig [read-only]Inherited

Properties Index

bb::cascades::Controlcontent
QDeclarativeListProperty< QObject >attachedObjects [read-only]Inherited
QStringdescriptionInherited
QStringobjectNameInherited
QObjectparent [read-only]Inherited
QSizesize [read-only]Inherited
bb::cascades::UIConfigui [read-only]Inherited

Public Functions Index

SceneCover (QObject *parent=0)
virtual ~SceneCover ()
bb::cascades::Control *content () const
Q_SLOT voidsetContent (bb::cascades::Control *content)
QStringdescription () const Inherited
virtual boolevent (QEvent *event)Inherited
Q_SLOT voidsetDescription (const QString &description)Inherited
voidsetObjectName (const QString &name)Inherited
QSizesize () const Inherited
virtual Q_INVOKABLE QStringtoDebugString () const Inherited
Q_INVOKABLE bb::cascades::UIConfig *ui () const Inherited

Static Public Functions Index

Buildercreate ()

Protected Functions Index

Only has inherited protected functions

BaseObject (QObject *parent=0)Inherited
virtual voidconnectNotify (const char *signal)Inherited
virtual voiddisconnectNotify (const char *signal)Inherited

Signals Index

voidcontentChanged (bb::cascades::Control *content)
voidcreationCompleted ()Inherited
voiddescriptionChanged (const QString &description)Inherited
voidobjectNameChanged (const QString &objectName)Inherited
voidsizeChanged (const QSize &size)Inherited

Properties

bb::cascades::Control content

The root control for the scene cover.

Since:

BlackBerry 10.0.0

QDeclarativeListProperty< QObject > attachedObjectsInherited[read-only]

A hierarchical list of the UIObject's attached objects.

Since:

BlackBerry 10.0.0

QString descriptionInherited

Descriptive text that is shown under the cover in navigator.

Since:

BlackBerry 10.0.0

QString objectNameInherited

This property is overridden from QObject.

See also:

QObject::objectName().

Since:

BlackBerry 10.0.0

QObject parentInherited[read-only]

A read-only property that represents this object's parent.

The parent of an object is specified using QObject::setParent(QObject*). The purpose of the property is to expose the object's parent to QML.

This property is read-only to prevent modifications from QML, where typically the parent is declaratively set. In C++ code, the parent can be explicitly set using QObject::setParent(QObject*), or implicitly set by adding it to a visual container.

The default value of this property is 0.

Since:

BlackBerry 10.0.0

QSize sizeInherited[read-only]

Size in pixels (if applicable) that this cover will use when drawn to the screen.

Since:

BlackBerry 10.3.0

bb::cascades::UIConfig uiInherited[read-only]

An object that gives access to unit conversion routines.

QML use:
        // Size using design units
        Container {
            preferredWidth: ui.du(12)
            preferredHeight: ui.du(5)
        }

        // Size using design units, snap to whole pixels
        Container {
            preferredWidth: ui.sdu(13.5)
            preferredHeight: ui.sdu(7.5)
        }

        // Size using absolute pixel values
        Container {
            preferredWidth: ui.px(150)
            preferredHeight: ui.px(50)
        }
C++ use:
Container *container1 = Container::create().background(Color::Red);
UIConfig *ui = container1->ui();
container1->setPreferredWidth(ui->du(12));
container1->setPreferredHeight(ui->du(5));

Container *container2 = Container::create().background(Color::Green);
container2->setPreferredWidth(ui->sdu(13.5));
container2->setPreferredHeight(ui->sdu(7.5));

Container *container3 = Container::create().background(Color::Blue);
container3->setPreferredWidth(ui->px(150));
container3->setPreferredHeight(ui->sdu(50));
Since:

Blackberry 10.3.0

Public Functions

SceneCover (

Creates the SceneCover.

The ownership of the cover is transferred to the parent if one is specified.

Parameters
parent

The parent object or 0. This parameter is optional and defaults to 0 if not specified.

Since:

BlackBerry 10.0.0

virtual~SceneCover ()

Destructor.

Since:

BlackBerry 10.0.0

bb::cascades::Control * content ()

Returns the root control for the scene cover.

Ownership of the Control object remains unchanged.

Return:

The root control for the cover.

Since:

BlackBerry 10.0.0

Q_SLOT void setContent (

Sets the root control for the scene cover.

The SceneCover takes ownership of the root control object.

Parameters
content

The new root control for the cover.

Since:

BlackBerry 10.0.0

QString description ()Inherited

Returns the description for the cover.

Return:

The description for the cover.

Since:

BlackBerry 10.0.0

virtual bool event (Inherited

Overloaded to implement the event mechanism in Cascades.

Warning!

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
event

The received event.

Return:

True if the received event was recognized and processed, false otherwise.

Since:

BlackBerry 10.0.0

Q_SLOT void setDescription (Inherited

Sets the description for the cover.

Parameters
description

The new description for the cover.

Since:

BlackBerry 10.0.0

void setObjectName (Inherited

Sets the objectName property.

Parameters
name

The new name for the object.

Since:

BlackBerry 10.0.0

QSize size ()Inherited

Returns the size of the cover.

Return:

The size of the cover.

Since:

BlackBerry 10.3.0

virtual Q_INVOKABLE QString toDebugString ()Inherited

Returns a debug string representing this object.

Return:

A debug string for the object.

Since:

BlackBerry 10.0.0

Q_INVOKABLE bb::cascades::UIConfig * ui ()Inherited

Returns the UIConfig for this ui object.

The UIConfig can be used to perform unit conversions from design units (du) and snapped design units (sdu) to pixels.

Ownership remains with Cascades.

C++ use:
Container *container1 = Container::create().background(Color::Red);
UIConfig *ui = container1->ui();
container1->setPreferredWidth(ui->du(12));
container1->setPreferredHeight(ui->du(5));

Container *container2 = Container::create().background(Color::Green);
container2->setPreferredWidth(ui->sdu(13.5));
container2->setPreferredHeight(ui->sdu(7.5));

Container *container3 = Container::create().background(Color::Blue);
container3->setPreferredWidth(ui->px(150));
container3->setPreferredHeight(ui->sdu(50));
Return:

The UIConfig for this ui object.

Since:

BlackBerry 10.3.0

Static Public Functions

Builder create ()

Creates and returns a builder for constructing a SceneCover.

Using the builder to create a SceneCover:
SceneCover* pCover = SceneCover::create();
Return:

A builder used for constructing a SceneCover.

Since:

BlackBerry 10.0.0

Protected Functions

(Only has inherited protected functions)

BaseObject (Inherited

Constructs an instance of BaseObject's subclass.

Parameters
parent

An optional parent, defaults to 0.

Since:

BlackBerry 10.0.0

virtual void connectNotify (
  • const char *signal)
Inherited

Overloaded to implement the event mechanism in Cascades.

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
signal

The connected signal.

Since:

BlackBerry 10.0.0

virtual void disconnectNotify (
  • const char *signal)
Inherited

Overloaded to implement the event mechanism in Cascades.

If this function is overridden, it must be called by the derived class for events to work properly in Cascades.

Parameters
signal

The disconnected signal.

Since:

BlackBerry 10.0.0

Signals

void contentChanged (

Emitted when the root control of the scene cover changes.

Parameters
content

The new root control for the cover.

Since:

BlackBerry 10.0.0

void creationCompleted ()Inherited

Emitted when this object is instantiated as a result of loading a QML document and creating the root node (only after the root component that caused this instantiation has completed construction), or when the object is being constructed from its builder class.

This signal indicates that the construction and initialization of the object has been completed, the properties are initialized, and any QML binding values have been assigned to the object.

This signal is not emitted when the object is constructed from C++ using the constructor. If the object is constructed using its builder class, the signal is emitted when the the builder class returns the fully constructed object.

This signal can be used when there is an activity that needs to be performed, such as a property state integrity verification after the object is instantiated from a QML document or a builder, but before control is returned to the application.

See also:

QmlDocument

Since:

BlackBerry 10.0.0

void descriptionChanged (Inherited

Emitted when the description of the cover changes.

Parameters
description

The new description for the cover.

Since:

BlackBerry 10.0.0

void objectNameChanged (Inherited

This signal is emitted when the objectName property is changed.

Since:

BlackBerry 10.0.0

void sizeChanged (Inherited

Emitted when the size of the cover changes.

This signal will typically be emitted once the cover is added or removed from a MultiCover.

Parameters
size

The new size of the cover.

Since:

BlackBerry 10.3.0

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus