ActionItem

Since: BlackBerry 10.0.0

#include <bb/cascades/ActionItem>

Represents an action that can be invoked on a page.

Action items can be added to a page to be displayed on a toolbar (the action bar) that is positioned at the bottom of the screen. To specify that an action should appear on the action bar, rather than in the overflow menu the attached property ActionBar.placement can be used.

For an email application typical actions might be "write", "forward" or "reply".
No caption available
Here's how to create an ActionItem and add it to the action bar on a Page. The action item has a title and an image, and it's created using the builder pattern.
ActionItem* aItem = ActionItem::create()
   .title("myActionTitle")
   .image(Image("asset:///myImage.png"));

Page* myPage = Page::create();
myPage->addAction(actionItem, ActionBarPlacement::OnBar);
Here's another example of creating an ActionItem, this time by calling the constructor and setting the properties individually.
QString actionTitleText = "myActionTitle";
ActionItem* aItem = new ActionItem();
aItem->setTitle(actionTitleText);
aItem->setImage(Image("asset:///myImage.png"));

Page* myPage = Page::create();
myPage->addAction(actionItem, ActionBarPlacement::OnBar);
And here's how to create an action item for a Page using QML:
Page {
    actions: [
        ActionItem {
            id: action1
            title: "myActionTitle"
            imageSource: "asset:///myImageName"
            ActionBar.placement: ActionBarPlacement.OnBar
        }
    ]
}

If you want to use an image for your action item, there are some guidelines for how large the image should be and how much padding you should use around it. The actual action item image size should be 81x81 pixels, but for the best visual appearance it's recommended that you create a smaller icon in the middle of the image that's 57x57 pixels.

These images show the behavior of actionitem icon colorization. -The "Dashboard" tab is using the white default icon and adopts to theme, but the tab is selected and therefore colored with the system primary color (blue) -The "Controls" tab is using the white default icon and adopts to theme. -The "More controls" tab is using a colored icon where the .amd type property is set to normal and left uncolorized by the system.
No caption available
No caption available
These are the assets used (without dropshadows):
No caption available
No caption available
See also:

Page

As of 10.3, the default behavior for action item images is to adopt the colors of the current theme. To allow your images to adapt to changes in the theme, the image asset should be a grayscale image (preferably white) with the alpha channel set. You can turn off this behavior by using the type "normal" in the image's .amd file.
No caption available
See also:

Image (Image colorization)


Overview

QML properties

Only has inherited QML properties

accessibility: bb::cascades::AbstractA11yObject [read-only]Inherited
attachedObjects: QDeclarativeListProperty< QObject > [read-only]Inherited
backgroundColor: bb::cascades::Color | bb::cascades::ColorPaintInherited
builtInShortcutsEnabled: boolInherited
enabled: boolInherited
image: bb::cascades::ImageInherited
imageSource: QUrlInherited
objectName: QStringInherited
parent: QObject [read-only]Inherited
shortcuts: QDeclarativeListProperty< bb::cascades::AbstractShortcut > [read-only]Inherited
title: QStringInherited
ui: bb::cascades::UIConfig [read-only]Inherited

Properties Index

Only has inherited properties

bb::cascades::AbstractA11yObjectaccessibility [read-only]Inherited
QDeclarativeListProperty< QObject >attachedObjects [read-only]Inherited
QVariantbackgroundColorInherited
boolbuiltInShortcutsEnabledInherited
boolenabledInherited
QVariantimageInherited
QUrlimageSourceInherited
QStringobjectNameInherited
QObjectparent [read-only]Inherited
QDeclarativeListProperty< bb::cascades::AbstractShortcut >shortcuts [read-only]Inherited
QStringtitleInherited
bb::cascades::UIConfigui [read-only]Inherited

Public Functions Index

ActionItem ()
virtual ~ActionItem ()
bb::cascades::AbstractA11yObject *accessibility () const Inherited
Q_INVOKABLE voidaddShortcut (bb::cascades::AbstractShortcut *shortcut)Inherited
QVariantbackgroundColor () const Inherited
Q_INVOKABLE boolbuiltInShortcutsEnabled () const Inherited
Q_INVOKABLE voiddisableAllShortcuts ()Inherited
Q_INVOKABLE voidenableAllShortcuts ()Inherited
virtual boolevent (QEvent *event)Inherited
bb::cascades::Imageimage () const Inherited
QUrlimageSource () const Inherited
boolisEnabled () const Inherited
Q_INVOKABLE voidremoveAllShortcuts ()Inherited
Q_INVOKABLE boolremoveShortcut (bb::cascades::AbstractShortcut *shortcut)Inherited
Q_SLOT voidresetBackgroundColor ()Inherited
Q_INVOKABLE voidresetBuiltInShortcutsEnabled ()Inherited
Q_SLOT voidresetEnabled ()Inherited
Q_SLOT voidresetImage ()Inherited
Q_SLOT voidresetImageSource ()Inherited
Q_SLOT voidresetTitle ()Inherited
Q_SLOT voidsetBackgroundColor (const ColorPaint &backgroundColor)Inherited
Q_INVOKABLE voidsetBuiltInShortcutEnabled (bb::cascades::SystemShortcuts::Type type, bool enabled)Inherited
Q_SLOT voidsetBuiltInShortcutsEnabled (bool enabled)Inherited
Q_SLOT voidsetEnabled (bool enabled)Inherited
Q_SLOT voidsetImage (const bb::cascades::Image &image)Inherited
Q_SLOT voidsetImageSource (const QUrl &source)Inherited
voidsetObjectName (const QString &name)Inherited
Q_SLOT voidsetTitle (const QString &title)Inherited
Q_INVOKABLE bb::cascades::AbstractShortcut *shortcutAt (int index) const Inherited
Q_INVOKABLE intshortcutCount () const Inherited
const QStringtitle () 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

Only has inherited signals

voidbackgroundColorChanged (const ColorPaint &backgroundColor)Inherited
voidbuiltInShortcutsEnabledChanged (bool builtInShortcutsEnabled)Inherited
voidcreationCompleted ()Inherited
voidenabledChanged (bool enabled)Inherited
voidimageChanged (const bb::cascades::Image &image)Inherited
voidimageSourceChanged (const QUrl &imageSource)Inherited
voidobjectNameChanged (const QString &objectName)Inherited
voidtitleChanged (const QString &title)Inherited
voidtriggered ()Inherited

Properties

(Only has inherited properties)

bb::cascades::AbstractA11yObject accessibilityInherited[read-only]

Defines this action's accessibility object.

Since:

BlackBerry 10.2.0

QDeclarativeListProperty< QObject > attachedObjectsInherited[read-only]

A hierarchical list of the UIObject's attached objects.

Since:

BlackBerry 10.0.0

QVariant backgroundColorInherited

A background color to display on an action item.

Right now it's only a signature action that utilizes it but may well be used by other action items.

The default value is the system primary color as a QVariant.

Since:

BlackBerry 10.3.0

bool builtInShortcutsEnabledInherited

Enables or disables all ActionItem's built-in shortcuts.

This property is used when all ActionItem's built-in shortcuts should be enabled or disabled. built-in shortcuts are ActionItem's built-in shortcuts like 'backspace' shortcut in DeleteActionItem

Since:

BlackBerry 10.2.0

bool enabledInherited

Indicates whether the action is enabled.

When an action is disabled, it will be dimmed and it will not be possible for the user to press on it and it will not emit the triggered signal.

Since:

BlackBerry 10.0.0

QVariant imageInherited

The image set on the action.

The default value is an empty image, indicating no image is set.

Since:

BlackBerry 10.0.0

QUrl imageSourceInherited

The image set on the action.

If no image is set, an invalid QUrl will be returned. When changing the image source the imageSourceChanged() signal will be emitted.

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

QDeclarativeListProperty< bb::cascades::AbstractShortcut > shortcutsInherited[read-only]

A list of shortcuts that can be triggered via user actions.

The order in which they are added will determine which shortcut will be triggered in case of an overlap. Predefined shortcuts take precedence over shortcuts defined via QString in case of a collision.

Since:

BlackBerry 10.1.0

QString titleInherited

A string that will be displayed with the action.

The default value is QString::Null, indicating that no text is set.

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

ActionItem ()

Constructs an ActionItem.

Since:

BlackBerry 10.0.0

virtual~ActionItem ()

Destructor.

Since:

BlackBerry 10.0.0

bb::cascades::AbstractA11yObject * accessibility ()Inherited

Returns the accessibility object.

Return:

The accessibility object.

Since:

BlackBerry 10.2.0

Q_INVOKABLE void addShortcut (Inherited

Adds a shortcut to the AbstractActionItem.

AbstractActionItem will always take ownership, as shortcuts should never be shared. If the shortcut already belongs to the AbstractActionItem or the shortcut is 0, nothing will happen. The order in which shortcuts are added will determine which shortcut will be triggered in case of an overlap.

Parameters
shortcut

The AbstractShortcut to add to the AbstractActionItem.

Since:

BlackBerry 10.1.0

QVariant backgroundColor ()Inherited

Returns the backgroundColor used on this action item.

The returned QVariant contain values of type Color or ColorPaint.

Use QVariant::canConvert<Type T>() to find the type, and then use QVariant::value<Type T>() to get the value.

Return:

The background Color or ColorPaint used on the action item.

Since:

BlackBerry 10.3.0

Q_INVOKABLE bool builtInShortcutsEnabled ()Inherited

Returns a builtInShortcutsEnabled property value.

Return:

true if builtInShortcutsEnabled property is set to true and false otherwise.

Since:

BlackBerry 10.2.0

Q_INVOKABLE void disableAllShortcuts ()Inherited

Disables all shortcuts attached to the AbstractActionItem.

Shortcuts that are attached afterward will use the default enabled state.

Since:

BlackBerry 10.1.0

Q_INVOKABLE void enableAllShortcuts ()Inherited

Enables all shortcuts attached to the AbstractActionItem.

Since:

BlackBerry 10.1.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

bb::cascades::Image image ()Inherited

Returns the image to display on the action item.

Return:

The image for the item or an empty image.

Since:

BlackBerry 10.0.0

QUrl imageSource ()Inherited

Returns the image source.

Return:

The source of the displayed image.

Since:

BlackBerry 10.0.0

bool isEnabled ()Inherited

Returns the enabled state of the action.

Return:

true if the control is enabled, false otherwise.

Since:

BlackBerry 10.0.0

Q_INVOKABLE void removeAllShortcuts ()Inherited

Removes all of a AbstractActionItem's shortcuts and frees up their memory.

Since:

BlackBerry 10.1.0

Q_INVOKABLE bool removeShortcut (Inherited

Removes a shortcut from the AbstractActionItem.

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

Parameters
shortcut

The AbstractShortcut to remove.

Return:

true if the shortcut was owned by the AbstractActionItem, false otherwise.

Since:

BlackBerry 10.1.0

Q_SLOT void resetBackgroundColor ()Inherited

Resets the background color for this action item to the system primary color.

Since:

BlackBerry 10.3.0

Q_INVOKABLE void resetBuiltInShortcutsEnabled ()Inherited

Resets a builtInShortcutsEnabled property to default value.

Default value is true.

Since:

BlackBerry 10.2.0

Q_SLOT void resetEnabled ()Inherited

Resets the enabled state of the action to true.

After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.

Since:

BlackBerry 10.0.0

Q_SLOT void resetImage ()Inherited

Resets the image, meaning no image is set for the action.

After the operation is completed and the image is changed, the imageChanged() signal is emitted.

Since:

BlackBerry 10.0.0

Q_SLOT void resetImageSource ()Inherited

Resets the Image on the action to its default, meaning that no image is set.

This function emits an imageSourceChanged() signal if the currently set image source changes.

Since:

BlackBerry 10.0.0

Q_SLOT void resetTitle ()Inherited

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

After the operation is completed, and the title is changed, the titleChanged() signal is emitted.

Since:

BlackBerry 10.0.0

Q_SLOT void setBackgroundColor (Inherited

Sets the background color used on this action item.

Parameters
backgroundColor

The background Color or ColorPaint used on the action item.

Since:

BlackBerry 10.3.0

Q_INVOKABLE void setBuiltInShortcutEnabled (Inherited

Sets the enabled state of the built-in shortcut attached to the AbstractActionItem at a system level.

Built-in SystemShortcuts that are attached afterward will use the same enabled state.

Note:

Selected built-in shortcut can be enabled or disbaled only if AbstractActionItem::builtInShortcutsEnabled property is set to true.

Parameters
type

The system shortcut type

enabled

If true the shortcut is enabled, and if false the shortcut is disabled.

Since:

BlackBerry 10.2.0

Q_SLOT void setBuiltInShortcutsEnabled (
  • boolenabled)
Inherited

Sets the enabled state of all built-in shortcut attached to the AbstractActionItem at a system level.

Built-in shortcuts that are attached afterward will use the specified enabled state.

Parameters
enabled

If true all shortcuts are enabled, and if false all shortcut are disabled.

Since:

BlackBerry 10.2.0

Q_SLOT void setEnabled (
  • boolenabled)
Inherited

Sets the enabled state of the action.

After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.

Parameters
enabled

If true the action is enabled and if false the action is disabled.

Since:

BlackBerry 10.0.0

Q_SLOT void setImage (Inherited

Sets the image to display on the action item.

After the operation is completed and the image is changed, the imageChanged() signal is emitted.

Parameters
image

The image to display.

Since:

BlackBerry 10.0.0

Q_SLOT void setImageSource (Inherited

Sets the Image for the action.

An invalid QUrl indicates no image. This function emits an imageSourceChanged() signal if the currently set image source changes.

Parameters
source

The image URL.

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

Q_SLOT void setTitle (Inherited

Sets the title on the action.

After the operation is completed, and the title changed, the titleChanged() signal is emitted.

Parameters
title

The title of the action.

Since:

BlackBerry 10.0.0

Q_INVOKABLE bb::cascades::AbstractShortcut * shortcutAt (
  • intindex)
Inherited

Returns a shortcut at the specified index.

Ownership of the shortcut remains with the AbstractActionItem.

Parameters
index

The index of the shortcut.

Return:

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

Since:

BlackBerry 10.1.0

Q_INVOKABLE int shortcutCount ()Inherited

Returns the number of shortcuts.

Return:

The number of shortcuts.

Since:

BlackBerry 10.1.0

const QString title ()Inherited

Gets the title of the action.

Return:

The title of the action.

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

Using the builder to create an ActionItem:
ActionItem* actionItem = ActionItem::create();            
Return:

A builder used for constructing an ActionItem.

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

(Only has inherited signals)

void backgroundColorChanged (Inherited

Emitted when the background color for this action changes.

Parameters
backgroundColor

The new background color for this action

Since:

BlackBerry 10.3.0

void builtInShortcutsEnabledChanged (
  • boolbuiltInShortcutsEnabled)
Inherited

Emitted when the builtInShortcutsEnabled property changes.

Parameters
builtInShortcutsEnabled

The new value.

Since:

BlackBerry 10.2.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 enabledChanged (
  • boolenabled)
Inherited

Emitted when the enabled property on the action changes.

Parameters
enabled

If true the action is enabled, if false the action is disabled.

Since:

BlackBerry 10.0.0

void imageChanged (Inherited

Emitted when the image for the action changes.

Parameters
image

The new image or an empty image if changed to no image.

Since:

BlackBerry 10.0.0

void imageSourceChanged (
  • const QUrl &imageSource)
Inherited

Emitted when the image source changes.

Parameters
imageSource

The new image source or an invalid QUrl if no source is set.

Since:

BlackBerry 10.0.0

void objectNameChanged (Inherited

This signal is emitted when the objectName property is changed.

Since:

BlackBerry 10.0.0

void titleChanged (Inherited

Emitted when the title has changed.

Parameters
title

The new title.

Since:

BlackBerry 10.0.0

void triggered ()Inherited

Emitted when the ActionItem is triggered by user.

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