ActionSet

Since: BlackBerry 10.0.0

#include <bb/cascades/ActionSet>

Used to group a set of actions to be displayed in the Context Menu.

The Context Menu is a menu that is displayed by pressing and holding a control. It displays a set of actions that are relevant for that particular control.

An example is an application showing a list of emails where the user can press and hold a particular email to show the Context Menu. The menu could then typically show actions such as "Reply", "Forward" and "Read".

It is possible to specify several ActionSet objects on the same control. Currently, only the first ActionSet is used.

Here is an example of how to specify ActionSet objects, in QML:

ImageView {
    imageSource: "john.png"
    contextActions: [
        ActionSet {
            title: "Email"
            subtitle: "From: John Doe"
            ActionItem {title: "Reply"}
            ActionItem {title: "Forward"}
        },
        ActionSet {
            title: "Sender"
            ActionItem {title: "Call"}
            ActionItem {title: "Send SMS"}
        }
    ]
}

Here is an example of how to specify ActionSet objects, in C++:

ImageView* imageView = ImageView::create("john.png");
ActionSet* actionSet = ActionSet::create()
           .title("Email")
           .subtitle("From: John Doe")
           .add(ActionItem::create().title("Reply"))
           .add(ActionItem::create().title("Forward"));
imageView->addActionSet(actionSet);


Overview

Inheritance

QML properties

actions: QDeclarativeListProperty< bb::cascades::AbstractActionItem > [read-only]
subtitle: QString
title: QString
attachedObjects: QDeclarativeListProperty< QObject > [read-only]Inherited
objectName: QStringInherited
parent: QObject [read-only]Inherited
ui: bb::cascades::UIConfig [read-only]Inherited

Properties Index

QDeclarativeListProperty< bb::cascades::AbstractActionItem >actions [read-only]
QStringsubtitle
QStringtitle
QDeclarativeListProperty< QObject >attachedObjects [read-only]Inherited
QStringobjectNameInherited
QObjectparent [read-only]Inherited
bb::cascades::UIConfigui [read-only]Inherited

Public Functions Index

ActionSet ()
virtual ~ActionSet ()
Q_INVOKABLE voidadd (bb::cascades::AbstractActionItem *action)
Q_INVOKABLE bb::cascades::AbstractActionItem *at (int index) const
Q_INVOKABLE intcount () const
Q_INVOKABLE intindexOf (bb::cascades::AbstractActionItem *action) const
Q_INVOKABLE voidinsert (int index, bb::cascades::AbstractActionItem *action)
Q_INVOKABLE boolremove (bb::cascades::AbstractActionItem *action)
Q_INVOKABLE voidremoveAll ()
Q_SLOT voidresetSubtitle ()
Q_SLOT voidresetTitle ()
Q_SLOT voidsetSubtitle (const QString &subtitle)
Q_SLOT voidsetTitle (const QString &title)
QStringsubtitle () const
QStringtitle () const
virtual boolevent (QEvent *event)Inherited
voidsetObjectName (const QString &name)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

voidactionAdded (bb::cascades::AbstractActionItem *action)
voidactionRemoved (bb::cascades::AbstractActionItem *action)
voidsubtitleChanged (const QString &subtitle)
voidtitleChanged (const QString &title)
voidcreationCompleted ()Inherited
voidobjectNameChanged (const QString &objectName)Inherited

Properties

QDeclarativeListProperty< bb::cascades::AbstractActionItem > actions[read-only]

A list of actions that will be displayed in the Context Menu.

Note:

Make sure the AbstractActionItem objects live long enough for the action to occur. This is especially important if you work with just-in-time population of a Context Menu. A good place to clear the ActionSet is just before adding items to it. This way you are sure the objects are still available while they may be used.

Since:

BlackBerry 10.0.0

QString subtitle

The subtitle displayed in the Context Menu header, below the title.

The Context Menu header is only displayed if either of the properties title or subtitle are set. The default value is QString::Null, indicating no subtitle is set.

Since:

BlackBerry 10.0.0

QString title

The title displayed in the Context Menu header.

The Context Menu header is only displayed if either of the properties title or subtitle are set. The default value is QString::Null, indicating no title is set.

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

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

ActionSet ()

Constructs an ActionSet.

Since:

BlackBerry 10.0.0

virtual~ActionSet ()

Destructor.

Since:

BlackBerry 10.0.0

Q_INVOKABLE void add (

Adds an action to the ActionSet.

ActionSet takes ownership of the action, so actions cannot be shared. If action already belongs to the ActionSet or actionItem is 0, nothing will happen. Once completed, the actionAdded() signal is emitted.

Parameters
action

The actionItem to add to the ActionSet.

Since:

BlackBerry 10.0.0

Q_INVOKABLE bb::cascades::AbstractActionItem * at (
  • intindex)

Returns the action at the specified index.

Ownership of the action remains with the ActionSet.

Parameters
index

The index of the action.

Return:

The requested action if the index was valid, 0 otherwise.

Since:

BlackBerry 10.0.0

Q_INVOKABLE int count ()

Returns the number of actions.

Return:

The number of actions.

Since:

BlackBerry 10.0.0

Q_INVOKABLE int indexOf (

Returns the index of an action.

If the action does not belong to the ActionSet or if the action is 0, -1 is returned.

Parameters
action

The action to get the index of.

Return:

The index of the specified action if the action is valid, -1 otherwise.

Since:

BlackBerry 10.0.0

Q_INVOKABLE void insert (

Inserts an ActionItem at a specified index in the ActionSet.

ActionSet takes ownership of the action, so actions cannot be shared. If action already belongs to the ActionSet or action is 0, nothing will happen. If the action is currently belongs to another ActionSet, it is removed from that ActionSet, and ownership is transferred to the new ActionSet. Once completed, the actionAdded() signal is emitted.

Parameters
index

The index where the action will be placed. If index < 0 the action is inserted as the first item. If index > the number of items in the ActionSet it is added as the last item.

action

The AbstractActionItem to add to the ActionSet.

Since:

BlackBerry 10.0.0

Q_INVOKABLE bool remove (

Removes an action from the ActionSet.

Once the action is removed, the ActionSet no longer references it, but it is still owned by the ActionSet. It is up to the application to either delete the removed action, transfer its ownership (by setting its parent) to another object or leave it as a child of the ActionSet (in which case it will be deleted with the ActionSet).

Once completed, the actionRemoved() signal is emitted.

Parameters
action

The action to remove.

Return:

true if the action was owned by the ActionSet, false otherwise.

See also:

removeAll();

Since:

BlackBerry 10.0.0

Q_INVOKABLE void removeAll ()

Removes all actions from the ActionSet and frees up their memory.

Once completed, the actionRemoved() signal is emitted with 0 as its parameter.

Since:

BlackBerry 10.0.0

Q_SLOT void resetSubtitle ()

Resets the subtitle on the ActionSet to QString::Null.

Since:

BlackBerry 10.0.0

Q_SLOT void resetTitle ()

Resets the title on the ActionSet to QString::Null.

Since:

BlackBerry 10.0.0

Q_SLOT void setSubtitle (

Sets the subtitle on the ActionSet.

Parameters
subtitle

The subtitle of the ActionSet.

Since:

BlackBerry 10.0.0

Q_SLOT void setTitle (

Sets the title on the ActionSet.

Parameters
title

The title of the ActionSet.

Since:

BlackBerry 10.0.0

QString subtitle ()

Gets the subtitle of the ActionSet.

Return:

The subtitle of the ActionSet.

Since:

BlackBerry 10.0.0

QString title ()

Gets the title of the ActionSet.

Return:

The title of the ActionSet.

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

void setObjectName (Inherited

Sets the objectName property.

Parameters
name

The new name for the object.

Since:

BlackBerry 10.0.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 an ActionSet.

Using the builder to create an action set:
ActionSet* actionSet = ActionSet::create()
           .title("Email")
           .subtitle("From: John Doe")
           .add(ActionItem::create().title("Reply")
           .add(ActionItem::create().title("Forward");s
Return:

A Builder for constructing an ActionSet.

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 actionAdded (

Emitted when an action has been added to the ActionSet.

Parameters
action

The action that has been added.

Since:

BlackBerry 10.0.0

void actionRemoved (

Emitted when an action has been removed from the ActionSet.

Parameters
action

The action that has been removed. 0 if emitted by removeAll().

Since:

BlackBerry 10.0.0

void subtitleChanged (

Emitted when the subtitle has changed.

Parameters
subtitle

The new title.

Since:

BlackBerry 10.0.0

void titleChanged (

Emitted when the title has changed.

Parameters
title

The new title.

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 objectNameChanged (Inherited

This signal is emitted when the objectName property is changed.

Since:

BlackBerry 10.0.0

Last modified: 2014-06-24



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

comments powered by Disqus