Rose
|
A Dialog is a way for the application to have a brief conversation with the user. More...
#include <PopupWindow.h>
Public Member Functions | |
Dialog (const PopupWindow &)=delete | |
Dialog (PopupWindow &&)=delete | |
Dialog (const Position< int > &position) | |
std::string_view | nodeId () const noexcept override |
void | addedToContainer () override |
Called when a Node is added to a Container. More... | |
template<class WidgetClass > | |
void | addWidget (std::shared_ptr< WidgetClass > widget) |
Dialog (Dialog &&)=delete | |
Dialog (const Dialog &)=delete | |
Dialog & | operator= (Dialog &&)=delete |
Dialog & | operator= (const Dialog &)=delete |
Dialog (shared_ptr< Rose > parent) | |
Construct a PopupWindow which covers the entire screen. More... | |
Dialog (shared_ptr< Rose > parent, const Position &position) | |
Construct a Window of specified position. More... | |
Dialog (shared_ptr< Rose > parent, const Position &pos, const Size &size) | |
Construct a Window of specified position and size. More... | |
void | initializeComposite () override |
See Widget::initializeComposite() | |
void | createActionButton (const DialogActionButton &dialogActionButton) override |
Create a DialogActionButton. More... | |
void | setButtonSlot (shared_ptr< Slot< Button::SignalType >> &buttonSlot, bool dismissAll) override |
See Widget::setButtonSlot() More... | |
![]() | |
PopupWindow (const PopupWindow &)=delete | |
PopupWindow (PopupWindow &&)=delete | |
PopupWindow & | operator= (const PopupWindow &)=delete |
PopupWindow & | operator= (PopupWindow &&)=delete |
Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
Layout the visual. | |
constexpr bool | removePopup () const noexcept |
PopupWindow (PopupWindow &&)=delete | |
PopupWindow (const PopupWindow &)=delete | |
PopupWindow & | operator= (PopupWindow &&)=delete |
PopupWindow & | operator= (const PopupWindow &)=delete |
PopupWindow (shared_ptr< Rose > parent) | |
Construct a PopupWindow which covers the entire screen. More... | |
PopupWindow (shared_ptr< Rose > parent, const Position &position) | |
Construct a Window of specified position. More... | |
PopupWindow (shared_ptr< Rose > parent, const Position &pos, const Size &size) | |
Construct a Window of specified position and size. More... | |
void | initializeComposite () override |
See Widget::initializeComposite() | |
Rectangle | widgetLayout (sdl::Renderer &renderer, Rectangle available, uint layoutStage) override |
void | setTitle (const std::string &text) override |
Set the value of the Window Title. More... | |
bool | mouseDragEvent (const Position &mousePos, const Position &rel, int button, int modifiers) override |
Handle a mouse drag event (default implementation: do nothing) | |
![]() | |
Popup (Popup &&)=delete | |
Popup (const Popup &)=delete | |
Popup & | operator= (Popup &&)=delete |
Popup & | operator= (const Popup &)=delete |
Popup (const shared_ptr< Rose > &parent) | |
Construct a Popup which covers the entire screen or as determined by the size of its children. More... | |
Popup (const shared_ptr< Rose > &parent, const Position &position) | |
Construct a Window of specified position. More... | |
Popup (const shared_ptr< Rose > &parent, const Position &pos, const Size &minimumSize) | |
Construct a Window of specified position and size. More... | |
void | initializeComposite () override |
See Widget::initializeComposite() | |
Rectangle | widgetLayout (sdl::Renderer &renderer, Rectangle available, uint layoutStage) override |
See Widget::widgetLayout() | |
void | draw (sdl::Renderer &renderer, Rectangle parentRect) override |
See Widget::draw() | |
void | addChild (const std::shared_ptr< Widget > &widget) override |
Add a child Widget to the container that will be managing children. More... | |
template<class C > | |
void | setActionButtons (C actionButtonList) |
Create the DialogActionButton objects. More... | |
![]() | |
std::string_view | nodeId () const noexcept override |
bool | isModal () const |
void | add (const std::shared_ptr< Node > &node) override |
Add a Manager to the Window. More... | |
void | draw (gm::Context &context, const Position< int > &containerPosition) override |
Draw the contents of the Window. | |
bool | baseTextureNeeded (const Position< int > &containerPosition) |
void | generateBaseTexture (gm::Context &context, const Position< int > &containerPosition) |
Create a Texture for the Window that can be drawn over by animations. More... | |
void | drawBaseTexture (gm::Context &context, const Position< int > &containerPosition) |
Draw the base texture for the window. More... | |
Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
Layout the contents of the Window. | |
std::shared_ptr< Widget > | pointerWidget (const Position< int > &position) |
The the Widget which contains the Position. | |
std::shared_ptr< Screen > | getScreen () |
Get the Screen which supports the Window. | |
std::shared_ptr< Screen > | getScreen () const |
Get the Screen which support the const Window. | |
![]() | |
void | setScreenRectangle (const Position< int > &containerPosition) |
Compute the screen rectangle from the Container screen Position. More... | |
Rectangle | getScreenRectangle (const Position< int > &containerPosition) const |
Get the rectangle occupied by the Visual. More... | |
Position< int > | drawPadding (const Position< int > &containerPosition) |
Pad the drawing location. | |
Rectangle | layoutPadding (const Rectangle &screenRect) |
Pad the layout. | |
void | setSize (const Size &size) |
Set preferred Size. | |
Size | getSize () const |
Get the preferred size. | |
void | setPosition (const Position< int > &position) |
Set preferred Position. | |
Position< int > | getPosition () const |
Get the preferred Position. | |
void | setPadding (const Padding &padding) |
Set Padding. | |
void | setScreenRectangle (const Rectangle &screenRect) |
Set Screen Rectangle. | |
constexpr bool | isVisible () const noexcept |
Check visibility. | |
void | setVisible (bool visible) noexcept |
Set visibility. | |
void | setLayoutHint (const LayoutHint &hint) |
Add a LayoutHint. | |
std::optional< int > | getAttachmentHint (LayoutHint::Attachment attachment) |
Get an AttachmentHint value given a LayoutHint::Attachment. More... | |
std::optional< int > | getGridHint (LayoutHint::GridLayoutHint gridLayoutHint) |
Get a GridLayoutHint value given a LayoutHint::GridLayoutHint. More... | |
template<size_t HintClass> | |
std::optional< const ValueMap > | getHintMap () const |
SemanticGesture | supportedSemanticGestures () const |
Get supported SemanticGestures. | |
![]() | |
void | remove (const std::shared_ptr< Node > &node) |
![]() | |
Node (const std::shared_ptr< Container > &container) | |
Create a node and add it to a Container. More... | |
void | setId (const Id &nodeId) noexcept |
Set Id. | |
std::string_view | getId () const |
Get Id. | |
IdPath | getIdPath () const |
Get the Id Path. | |
std::shared_ptr< Container > | container () |
std::shared_ptr< Container > | container () const |
template<typename C > | |
std::shared_ptr< C > | containerAs () |
template<typename C > | |
std::shared_ptr< C > | containerAs () const |
std::shared_ptr< const Node > | getNode () const |
Get a const std::shared_ptr to this node. More... | |
std::shared_ptr< Node > | getNode () |
Get a std::shared_ptr to this node. More... | |
template<typename NodeType > | |
std::shared_ptr< const Node > | getNode () const |
Get a std::shared_ptr<const NodeType> to this node. More... | |
template<typename NodeType > | |
std::shared_ptr< NodeType > | getNode () |
Get a std::shared_ptr<NodeType> to this node. More... | |
std::shared_ptr< Node > | remove () |
Static Public Attributes | |
static constexpr std::string_view | id = "Dialog" |
![]() | |
static constexpr std::string_view | id = "PopupWindow" |
![]() | |
static constexpr std::string_view | id = "Window" |
![]() | |
static constexpr std::string_view | id = "Container" |
![]() | |
static constexpr std::string_view | id = "Node" |
Protected Attributes | |
ImageId | mBadgeId {} |
The ImageId of the Dialog badge. | |
std::shared_ptr< Row > | mMessageRow |
The area where the Dialog badge and message are held. | |
std::shared_ptr< Row > | mButtonRow |
The area where the Dialog ActionButtons are held. | |
![]() | |
std::shared_ptr< Frame > | mContentFrame {} |
bool | mRemovePopup {false} |
std::string | mWindowTitle {} |
The title of the window. | |
std::shared_ptr< Label > | mTitle |
The Window Title Label. | |
![]() | |
Size | mMinimumSize |
The minimum size requests for the popup if supported by derived types. | |
std::shared_ptr< Frame > | mFrame |
The Window Frame. | |
std::shared_ptr< Column > | mColumn |
A container for the Window Title gadget and the window Container. | |
std::shared_ptr< Slot< Button::SignalType > > | mActionButtonRx {} |
The slot to receive action button signals. | |
std::shared_ptr< Slot< Button::SignalType > > | mDismissButtonRx {} |
The slot to close the menu. | |
![]() | |
bool | mModalWindow {} |
gm::Texture | mBaseTexture {} |
The base texture which animations draw over. | |
![]() | |
SemanticGesture | mSemanticGesture {} |
Position< int > | mPos {} |
Position relative to the container, arrived at by layout. | |
Size | mSize {} |
The size on screen, arrived at by layout. | |
Position< int > | mPreferredPos {} |
The preferred position. | |
Size | mPreferredSize {} |
The preferred size. | |
Rectangle | mScreenRect {} |
The screen Rectangle computed at drawing time. | |
Padding | mPadding {} |
Immediately around the Visual, used for separation and alignment. | |
State | mState {} |
The object state Id string. | |
bool | mVisible {true} |
If true the object is visible. | |
![]() | |
std::weak_ptr< Container > | mContainer {} |
The Container that holds the Node. More... | |
Id | mId {} |
Additional Inherited Members | |
![]() | |
using | ValueMap = std::map< int, int > |
The std::map type for each hint class. | |
![]() | |
using | NodePtr = std::shared_ptr< Node > |
![]() | |
template<typename NodeType > | |
static std::shared_ptr< NodeType > | create () |
Create a Node with no arguments. More... | |
template<typename NodeType , typename ... Args> | |
static std::shared_ptr< NodeType > | create (Args ... args) |
Create a Node with arguments. More... | |
template<typename NodeType , typename ContainerType , typename ... Args> | |
static std::shared_ptr< NodeType > | add (ContainerType container, Args ... args) |
Create a Node with arguments and add to a Container. More... | |
![]() | |
std::map< size_t, ValueMap > | mHintsMap {} |
The std::map of hint class to ValueMap. | |
A Dialog is a way for the application to have a brief conversation with the user.
A Dialog has a Title, Text, Badge and one or more action buttons.
|
explicit |
Construct a PopupWindow which covers the entire screen.
parent | the Rose application object. |
rose::Dialog::Dialog | ( | shared_ptr< Rose > | parent, |
const Position & | position | ||
) |
|
overridevirtual |
Called when a Node is added to a Container.
By default it is ignored but can be used to perform initialization that is required when a Node is placed in a Container.
Reimplemented from rose::Node.
|
overridevirtual |
Create a DialogActionButton.
dialogActionButton | The data structure that describes the button. |
Reimplemented from rose::Popup.
|
overridevirtual |
See Widget::setButtonSlot()
If buttons have been created, they are disconnected from all slots before being connected to buttonSlot.
buttonSlot |
Reimplemented from rose::Popup.