Dialog

Since: BlackBerry 10.0.0

#include <bb/cascades/Dialog>

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

A screen shot showing a dialog box

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
ui: bb::cascades::UIConfig [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
bb::cascades::UIConfigui [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
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)
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.

Since:

BlackBerry 10.0.0

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

Defines this dialog's accessibility objects.

Since:

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

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

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

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

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

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

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



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

comments powered by Disqus