Dialog

Since: BlackBerry 10.0.0

#include <bb/cascades/Dialog>

A class that represents a full-screen view as a dialog.

A Dialog is a full-screen view that is displayed as a transparent layer on top of the current screen context. Basically, it's a separate view within the current application.

Dialog is primarily used to display UI options that are related to the creation or selection of content, often as a temporary subtask that's outside the main navigation of the application. You can think of a dialog as representing a separate flow, or a detour, from the main application flow.

A dialog always occupies the entire screen when it is displayed, and can contain Control components. An opened dialog will always be shown on top of the current screen context. Any screen context directly underneath a dialog is still visible when a dialog is shown.

You can attach a dialog to any UIObject by using the attachedObjects property.

Defining a Dialog in C++:

Dialog* pMyDialog = Dialog::create()
                    .content(Container::create())
                    .onClosed(this, SLOT(onClosedHandler())
                    .open();

Defining a Dialog in QML:

Page {
    attachedObjects: [
        Dialog {
           id: myDialog

           Container {
               horizontalAlignment: HorizontalAlignment.Fill
               verticalAlignment: VerticalAlignment.Fill

               Button {
                   horizontalAlignment: HorizontalAlignment.Center
                   text: "Hide Dialog"
                   onClicked: myDialog.close()
               }
           }
       }
   ]
   actions: [
        ActionItem {
            title: "Show Dialog"
            ActionBar.placement: ActionBarPlacement.OnBar
            onTriggered: {
               myDialog.open();
            }
        }
    ]
}


Overview

QML properties

content: bb::cascades::Control
accessibility: bb::cascades::AbstractA11yObject [read-only]Inherited
attachedObjects: QDeclarativeListProperty< QObject > [read-only]Inherited
objectName: QStringInherited
opened: bool [read-only]Inherited
parent: QObject [read-only]Inherited

QML signals

Properties Index

bb::cascades::Controlcontent
bb::cascades::AbstractA11yObjectaccessibility [read-only]Inherited
QDeclarativeListProperty< QObject >attachedObjects [read-only]Inherited
QStringobjectNameInherited
boolopened [read-only]Inherited
QObjectparent [read-only]Inherited

Public Functions Index

Dialog (UIObject *parent=0)
virtual ~Dialog ()
bb::cascades::Control *content () const
Q_SLOT voidresetContent ()
Q_SLOT voidsetContent (bb::cascades::Control *content)
bb::cascades::AbstractA11yObject *accessibility () const Inherited
Q_SLOT voidclose ()Inherited
virtual boolevent (QEvent *event)Inherited
boolisOpened () const Inherited
Q_SLOT voidopen ()Inherited
voidsetObjectName (const QString &name)Inherited
virtual Q_INVOKABLE QStringtoDebugString () 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)
voidclosed ()Inherited
voidcreationCompleted ()Inherited
voidobjectNameChanged (const QString &objectName)Inherited
voidopened ()Inherited
voidopenedChanged (bool opened)Inherited

Properties

bb::cascades::Control content

The root control for the Dialog.

This property is the default property of the Dialog control, so it does not need to be explicitly declared in the QML. A control added inside the Dialog will automatically be assigned to the content property.

Page {
   attachedObjects: [
       Dialog {
           Container {
               Button {}
               Button {}
           }
       }
   ]
}

The following code sample produces the same result as the one above.

Page {
     attachedObjects: [
         Dialog {
             content: Container {
                 Button {}
                 Button {}
             }
         }
     ]
}

Since:

BlackBerry 10.0.0

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

Defines this dialog's accessibility objects.

Accessibility objects are used by assistive technologies for people with disabilities or special needs (for example, visual impairment).

Since:

BlackBerry 10.2.0

QDeclarativeListProperty< QObject > attachedObjectsInherited[read-only]

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"
        }
    ]
}

Since:

BlackBerry 10.0.0

QString objectNameInherited

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.

See also:

QObject::objectName().

Since:

BlackBerry 10.0.0

bool openedInherited[read-only]

Indicates whether the dialog is currently opened.

If the value is true, the dialog is opened. If it is false, the dialog is closed.

The default value of this property is false.

The openedChanged() signal is emitted when this property changes.

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

Public Functions

Dialog (

Constructs a Dialog instance.

Since:

BlackBerry 10.0.0

virtual~Dialog ()

Destructor.

bb::cascades::Control * content ()

Gets the active content of this Dialog.

Ownership will not be transferred.

Return:

The content of this Dialog.

Since:

BlackBerry 10.0.0

Q_SLOT void resetContent ()

Resets the content for this Dialog.

This function resets the content for this Dialog. Content will be removed and content property set to 0. This is equivalent to setContent(0). When this function completes, the contentChanged() signal is emitted.

Since:

BlackBerry 10.0.0

Q_SLOT void setContent (

Sets the content of this Dialog.

Ownership of the content will always be transferred to this Dialog. If this Dialog already has content, the old content is still owned by this Dialog and will be destroyed when this Dialog is destroyed.

If content was successfully set using this function, the contentChanged() signal is emitted.

Parameters
content

The content to set. Can be 0 to remove content (old content will still be owned by this Dialog).

Since:

BlackBerry 10.0.0

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

Returns the accessibility object.

Return:

The accessibility object.

Since:

BlackBerry 10.2.0

Q_SLOT void close ()Inherited

Closes the dialog.

When the dialog is closed, the value of the opened property changes to false and the closed() signal is emitted. The closed() signal might not be emitted immediately when this function is called, but could happen asynchronously at a later time.

If called when the dialog is already opening or closing, this function has no effect.

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

bool isOpened ()Inherited

Indicates whether the dialog is opened.

Return:

true if the dialog is opened, false otherwise.

Since:

BlackBerry 10.0.0

Q_SLOT void open ()Inherited

Opens the dialog.

When the dialog is opened, the value of the opened property changes to true and the opened() signal is emitted. The opened() signal might not be emitted immediately when this function is called, but could happen asynchronously at a later time.

If called when the dialog is already opening or closing, this function has no effect.

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

Static Public Functions

Builder create ()

Creates and returns a builder for constructing a Dialog.

Using the builder to create a Dialog:
Dialog* myDialog = Dialog::create();
Return:

A Builder used for constructing a Dialog.

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 content of this Dialog has changed.

Parameters
content

The new content of this Dialog.

Since:

BlackBerry 10.0.0

void closed ()Inherited

Emitted when the dialog is closed.

The signal is emitted asynchronously when the dialog is completely closed after the close animation is finished.

Since:

BlackBerry 10.0.0

void creationCompleted ()Inherited

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.

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

void opened ()Inherited

Emitted when the dialog is opened.

The signal is emitted asynchronously when the dialog is completely opened after the open animation is finished.

Since:

BlackBerry 10.0.0

void openedChanged (
  • boolopened)
Inherited

Emitted when the opened property changes its value.

Parameters
opened

If true the dialog is opened, if false the dialog is closed.

Since:

BlackBerry 10.0.0

Last modified: 2014-03-13

comments powered by Disqus