1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #if defined(Hiro_NameDialog)
- struct NameDialog {
- using type = NameDialog;
- NameDialog();
- auto create(string name = "") -> string;
- auto rename(string name) -> string;
- auto setIcon(const image& icon = {}) -> type&;
- auto setAlignment(Alignment = Alignment::Center) -> type&;
- auto setAlignment(sWindow relativeTo, Alignment = Alignment::Center) -> type&;
- auto setText(const string& text = {}) -> type&;
- auto setTitle(const string& title = {}) -> type&;
- private:
- auto show(string mode, string name) -> string;
- Window window;
- VerticalLayout layout{&window};
- Label textLabel{&layout, Size{~0, 0}};
- HorizontalLayout nameLayout{&layout, Size{~0, 0}};
- Canvas typeIcon{&nameLayout, Size{16_sx, 16_sy}};
- LineEdit nameValue{&nameLayout, Size{~0, 0}};
- HorizontalLayout controlLayout{&layout, Size{~0, 0}};
- Widget controlSpacer{&controlLayout, Size{~0, 0}};
- Button acceptButton{&controlLayout, Size{80, 0}};
- Button cancelButton{&controlLayout, Size{80, 0}};
- struct State {
- Alignment alignment = Alignment::Center;
- image icon;
- sWindow relativeTo;
- string text;
- string title;
- } state;
- string response;
- };
- #endif
|