Sheet

Since: BlackBerry 10.0.0

#include <bb/cascades/Sheet>

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

An image showing a sheet moving into view

Sheets are full-screen views that are placed as separate layers on top of the current screen context. A sheet displays a view from within the current application.

Sheets are primarily used to display a UI that's related to the creation or selection of content, often as temporary subtasks to the main navigation of the application. You can think of a sheet as representing a separate flow, or detour, from the main application flow.

Some examples of where you might use sheets include composing an email, creating a new contact, creating a meeting, or selecting content by using a picker.

A sheet includes a set of buttons at the top, which represent actions that are specific to that sheet. For example, a sheet for composing an email might include actions such as Cancel and Send. In general, a sheet should contain a cancel or back action in the upper-left corner, and a positive action (such as Send, Confirm, or OK) in the upper-right corner.

A sheet always occupies the entire screen when it is displayed, and can contain NavigationPane, TabbedPane, or Page components. A sheet can also include actions that appear on the action bar at the bottom of the sheet. An opened sheet will always be placed on top of the current screen context and will cover any previously opened sheets.

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

Defining a Sheet in C++:
 Sheet* pMySheet = Sheet::create()
                   .content(Page::create())
                   .onClosed(this, SLOT(onClosedHandler())
                   .open();
Defining a Sheet in QML:
  Page {
      attachedObjects: [
          Sheet {
              id: mySheet
              content: Page {
                  Button {
                      text: "Close Sheet"
                      onClicked: mySheet.close()
                  }
              }
          }
      ]
      actions: [
          ActionItem {
              title: "Show Sheet"
              ActionBar.placement: ActionBarPlacement.OnBar
              onTriggered: {
                 mySheet.open();
              }
          }
      ]
  }


Overview

QML properties

content: bb::cascades::AbstractPane
peekEnabled: bool
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

Properties Index

bb::cascades::AbstractPanecontent
boolpeekEnabled
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

Sheet (UIObject *parent=0)
virtual ~Sheet ()
bb::cascades::AbstractPane *content () const
boolisPeekEnabled () const
Q_SLOT voidresetContent ()
Q_SLOT voidresetPeekEnabled ()
Q_SLOT voidsetContent (bb::cascades::AbstractPane *content)
Q_SLOT voidsetPeekEnabled (bool enabled)
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::AbstractPane *content)
voidpeekEnabledChanged (bool enabled)
voidclosed ()Inherited
voidcreationCompleted ()Inherited
voidobjectNameChanged (const QString &objectName)Inherited
voidopened ()Inherited
voidopenedChanged (bool opened)Inherited

Properties

bb::cascades::AbstractPane content

The root control for this Sheet.

Since:

BlackBerry 10.0.0

bool peekEnabled

Indicates whether peeking should be enabled in this Sheet.

This property specifies whether dragging and swiping to the right inside the current Sheet should peek. The default value is true (enabled). If enabled, the drag and swipe gestures will allow peeking in the Sheet.

When enabled, dragging or swiping to the right inside the Sheet will reveal the content directly underneath the Sheet.

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

Sheet (

Construct a Sheet instance.

Since:

BlackBerry 10.0.0

virtual~Sheet ()

Destructor.

bb::cascades::AbstractPane * content ()

Gets the active content of this Sheet.

Ownership will not be transferred.

Return:

The content of this Sheet.

Since:

BlackBerry 10.0.0

bool isPeekEnabled ()

Indicates whether peeking from within the current Sheet should be enabled.

Return:

true if peeking is enabled, false otherwise.

Since:

BlackBerry 10.0.0

Q_SLOT void resetContent ()

Resets the content for this Sheet.

This function resets the content for this Sheet. 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 resetPeekEnabled ()

Resets the peeking behavior of the Sheet to its default state, which is disabled.

Since:

BlackBerry 10.0.0

Q_SLOT void setContent (

Sets the content of this Sheet.

Ownership of the content will always be transferred to this Sheet. If this Sheet already has content, the old content is still owned by this Sheet and will be destroyed when this Sheet 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 Sheet).

Since:

BlackBerry 10.0.0

Q_SLOT void setPeekEnabled (
  • boolenabled)

Sets whether peeking from within the current Sheet should be enabled.

If successfully set using this function, the peekedEnabledChanged() signal is emitted.

Parameters
enabled

If true peeking is enabled, if false peeking is disabled.

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

Using the builder to create a Sheet:
 Sheet* mySheet = Sheet::create();
Return:

A Builder used for constructing a Sheet.

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 Sheet has changed.

Parameters
content

The new content of this Sheet.

Since:

BlackBerry 10.0.0

void peekEnabledChanged (
  • boolenabled)

Emitted when peeking on the Sheet is enabled or disabled.

Parameters
enabled

If true peeking is enabled, if false peeking is disabled.

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