Shortcut
#include <bb/cascades/Shortcut>
Represents a shortcut that can be invoked on objects that inherit from Control, AbstractPane, and AbstractActionItem.
The Shortcut events propagate from the control in focus up to the root of the scene. In case no control is currently in focus, all shortcut events are redirected to the root (eg. Page).
You can specify a character to be used to trigger a particular Shortcut:
Shortcut* myShortcut1 = Shortcut::create()
.key("a")
.onTriggered(this, SLOT(keyShortcutHandlerButton2()));
Button* myButton2 = Button::create()
.text("Button 2")
.addShortcut(myShortcut1)
.focusPolicy(FocusPolicy::KeyAndTouch);
Here's an example of creating a key Shortcut by calling the constructor and connecting to each signal individually:Shortcut* myShortcut2 = new Shortcut();
myShortcut2->setKey("b");
connect(myShortcut2, SIGNAL(triggered()), this, SLOT(keyShortcutHandlerButton3()));
Button* myButton3 = Button::create();
myButton3->setText("Button 3");
myButton3->addShortcut(myShortcut2);
myButton3->setFocusPolicy(FocusPolicy::KeyAndTouch);
And here's how to create a key shortcut for a Control using QML: TextArea {
id: shortcutText
objectName: "shortcutText"
text: ""
}
Button {
text: "Button 1"
focusPolicy: FocusPolicy.KeyAndTouch
shortcuts: [
Shortcut {
key: "d"
onTriggered: {
shortcutText.text = "'d' shortcut triggered"
}
},
Shortcut {
key: "@"
onTriggered: {
shortcutText.text = "'@' shortcut triggered"
}
},
Shortcut {
key: "Delete"
onTriggered: {
shortcutText.text = "Delete shortcut triggered"
}
}
]
}
BlackBerry 10.1.0
Inheritance
| bb::cascades::BaseObject | ||||
| bb::cascades::UIObject | ||||
| bb::cascades::AbstractShortcut | ||||
| bb::cascades::Shortcut | ||||
QML properties
| key | : QString |
| attachedObjects | : QDeclarativeListProperty< QObject > [read-only] |
| enabled | : bool |
| objectName | : QString |
| parent | : QObject [read-only] |
QML signals
| onKeyChanged | : {} |
| onCreationCompleted | |
| onEnabledChanged | |
| onObjectNameChanged | |
| onTriggered |
Properties Index
| QString | key |
| QDeclarativeListProperty< QObject > | attachedObjects [read-only] |
| bool | enabled |
| QString | objectName |
| QObject | parent [read-only] |
Public Functions Index
| Shortcut (UIObject *parent=0) | |
| virtual | ~Shortcut () |
| Q_SLOT void | setKey (const QString &key) |
| Q_SLOT void | resetKey () |
| QString | key () const |
| virtual bool | event (QEvent *event) |
| bool | isEnabled () const |
| Q_SLOT void | resetEnabled () |
| Q_SLOT void | setEnabled (bool enabled) |
| void | setObjectName (const QString &name) |
| virtual Q_INVOKABLE QString | toDebugString () const |
Static Public Functions Index
| Builder | create () |
Protected Functions Index
Only has inherited protected functions
| BaseObject (QObject *parent=0) | |
| virtual void | connectNotify (const char *signal) |
| virtual void | disconnectNotify (const char *signal) |
Signals Index
| void | keyChanged (const QString &key) |
| void | creationCompleted () |
| void | enabledChanged (bool enabled) |
| void | objectNameChanged (const QString &objectName) |
| void | triggered () |
Properties
QString
A string that will trigger this shortcut.
The default value is a null QString, indicating that no key will trigger this shortcut.
BlackBerry 10.1.0
QDeclarativeListProperty< QObject >
A hierarchical list of the UIObject's attached objects.
This QDeclarativeListProperty can contain any QObject. When a QObject is added to property, the UIObject takes ownership of the attached object.
This feature is typically used from QML to specify business logic object or any other shared objects for the subnodes of this UIObject. In C++ the same functionality can be achived by setting a parent of a QObject to be attached to the QObject which is going to own it.
QML usage example (MyObject is a custom class registered for QML using the qmlRegisterType() function):
Container {
Label { text: "Title: " + myObject.title }
Label { text: "Subject: " + myObject.subject }
attachedObjects: [
MyObject { id: myObject
title: "Hello World"
subject: "Nice Day"
}
]
}
BlackBerry 10.0.0
bool
Describes whether the current shortcut is enabled or disabled.
By default a shortcut is enabled.
BlackBerry 10.1.0
QString
This property is overridden from QObject.
As the objectName property is overridden from the QObject class, this signal will not be emitted if setObjectName() function is called directly on QObject.
The default value of this property is QString::null.
QObject::objectName().
BlackBerry 10.0.0
QObject
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.
BlackBerry 10.0.0
Public Functions
Default constructor.
virtual
Destructor.
Q_SLOT void
Sets the key or a key combination to be used to trigger this shortcut.
If the key is changed, the keyChanged() signal is emitted after the value has been set.
The accepted syntax for this string is case insensitive and is defined as follows [Shift+][Alt+]<Key>
Where:
The key is a single character, symbol or a special key (defined below).
Alpha key values are case insensitive. The character maps to the key, not the ASCII value. This means that "Shift+a" is the same shortcut as "Shift+A".
Modifiers are optional, but the key must be defined.
'+' must separate modifiers.
The order of modifiers is not important as long as they precede key.
Each modifier may exist exactly once.
Enter
Space
Backspace
Delete
shortcut->setKey("a"); // These two are equivalent
shortcut->setKey("A"); // These two are equivalent
shortcut->setKey("@");
shortcut->setKey("Enter");
shortcut->setKey("Alt+Q");
shortcut->setKey("Shift+Alt+@");
shortcut->setKey("shift+space");
shortcut->setKey("Shift+Alt+Delete");
| Parameters | |
|---|---|
| key |
The key that triggers this shortcut if it is a key shortcut and it is enabled. |
BlackBerry 10.1.0
Q_SLOT void
Resets the key on the shortcut to a null QString.
If the key actually changes, the keyChanged() signal is emitted after the value has been reset.
BlackBerry 10.1.0
QString
Gets the key used to trigger this shortcut.
A key shortcut that can trigger this shortcut. Note that a null QString is returned if the key has not been set.
BlackBerry 10.1.0
virtual bool 
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 | |
|---|---|
| event |
The received event. |
True if the received event was recognized and processed, false otherwise.
BlackBerry 10.0.0
bool 
Gets the enabled state of the shortcut.
true if this shortcut is enabled and false otherwise.
BlackBerry 10.1.0
Q_SLOT void 
Resets the enabled state of the shortcut to true.
After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.
BlackBerry 10.1.0
Q_SLOT void 
Sets the enabled state of the shortcut.
After the operation is completed and the enabled state is changed, the enabledChanged() signal is emitted.
| Parameters | |
|---|---|
| enabled |
If true the shortcut is enabled, and if false the shortcut is disabled. |
BlackBerry 10.1.0
void 
Sets the objectName property.
| Parameters | |
|---|---|
| name |
The new name for the object. |
BlackBerry 10.0.0
virtual Q_INVOKABLE QString 
Returns a debug string representing this object.
A debug string for the object.
BlackBerry 10.0.0
Static Public Functions
Builder
Creates and returns a builder for constructing a Shortcut.
Shortcut* shortcut = Shortcut::create();
A builder used for constructing a Shortcut.
BlackBerry 10.1.0
Protected Functions
(Only has inherited protected functions)
Constructs an instance of BaseObject's subclass.
| Parameters | |
|---|---|
| parent |
An optional parent, defaults to 0. |
BlackBerry 10.0.0
virtual void 
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. |
BlackBerry 10.0.0
virtual void 
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. |
BlackBerry 10.0.0
Signals
void
Emitted when the key has changed.
| Parameters | |
|---|---|
| key |
The new key or key combination to use to trigger this shortcut |
BlackBerry 10.1.0
void 
This signal is emitted only when this object is instantiated as a result of loading a QML document and creating the root node, or when an object is being constructed using its builder class.
This signal is emitted only 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 is emitted to indicate 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.
BlackBerry 10.0.0
void 
Emitted when the enabled property on the shortcut changes.
| Parameters | |
|---|---|
| enabled |
If true the shortcut is enabled, if false the shortcut is disabled. |
BlackBerry 10.1.0
void 
This signal is emitted when the objectName property is changed.
BlackBerry 10.0.0
void 
Emitted when the AbstractShortcut is triggered by the user.
BlackBerry 10.1.0