22 std::shared_ptr<Frame> mContentFrame{};
23 bool mRemovePopup{
false};
40 static constexpr std::string_view
id =
"PopupWindow";
41 std::string_view nodeId()
const noexcept
override {
46 auto rect = screenRect;
47 for (
auto &content : (*
this)) {
48 if (
auto manager = std::dynamic_pointer_cast<Manager>(content); manager) {
49 rect = manager->layout(context, screenRect);
50 manager->setScreenRectangle(rect);
57 constexpr
bool removePopup()
const noexcept {
68 ~
Dialog()
override =
default;
78 static constexpr std::string_view
id =
"Dialog";
79 std::string_view nodeId()
const noexcept
override {
85 template<
class W
idgetClass>
86 void addWidget(std::shared_ptr<WidgetClass> widget) {
87 mContentFrame << widget;
92 template<
class W
idgetClass>
93 inline std::shared_ptr<WidgetClass> operator<<(std::shared_ptr<rose::Dialog> dialog, std::shared_ptr<WidgetClass> widget) {
94 dialog->addWidget(widget);
98 inline std::shared_ptr<rose::Dialog>
100 dialog->setPosition(position);
111 inline std::shared_ptr<rose::PopupWindow>
113 widget->setPosition(position);
A Window is a visual abstraction of a number of related user interface objects.
Definition: Visual.h:315
virtual void addedToContainer()
Called when a Node is added to a Container.
Definition: StructuredTypes.h:206
A Dialog is a way for the application to have a brief conversation with the user. ...
Definition: Popup.h:62
Definitions to support callbacks.
Context
Definition: GraphicsModel.h:76
Classes and functions used to implement structured data collections.
Abstraction of the graphics model.
A composite of a Position and a Size.
Definition: Types.h:307
ToDo: There is an issue that the initial scroll interaction is lost if the click/press lands on a Wid...
Definition: CelestialOverlay.cpp:13
void setPosition(const Position< int > &position)
Set preferred Position.
Definition: Visual.h:188
User Interface Visual types.
Position< int > mPreferredPos
The preferred position.
Definition: Visual.h:136