Default button created with text
This commit is contained in:
parent
38123ace0e
commit
4deb6fa64a
3 changed files with 11 additions and 4 deletions
|
|
@ -22,7 +22,7 @@ struct ui_example
|
||||||
element_factory.set_style(style);
|
element_factory.set_style(style);
|
||||||
|
|
||||||
auto screen = element_factory.make_screen();
|
auto screen = element_factory.make_screen();
|
||||||
screen->add(element_factory.make_button(), ui::screen::x_policy::center, ui::screen::y_policy::center);
|
screen->add(element_factory.make_button("Test"), ui::screen::x_policy::center, ui::screen::y_policy::center);
|
||||||
|
|
||||||
ui_controller.set_root(std::move(screen));
|
ui_controller.set_root(std::move(screen));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ namespace psemek::ui
|
||||||
void set_style(std::shared_ptr<struct style> st);
|
void set_style(std::shared_ptr<struct style> st);
|
||||||
std::shared_ptr<struct style> style() const;
|
std::shared_ptr<struct style> style() const;
|
||||||
|
|
||||||
std::unique_ptr<button> make_button();
|
std::unique_ptr<button> make_button(std::string text);
|
||||||
std::unique_ptr<screen> make_screen();
|
std::unique_ptr<screen> make_screen();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ namespace psemek::ui
|
||||||
struct button_impl
|
struct button_impl
|
||||||
: button
|
: button
|
||||||
{
|
{
|
||||||
|
button_impl()
|
||||||
|
{
|
||||||
|
set_label(std::make_unique<struct label>());
|
||||||
|
}
|
||||||
|
|
||||||
struct shape const & shape() const override
|
struct shape const & shape() const override
|
||||||
{
|
{
|
||||||
return shape_;
|
return shape_;
|
||||||
|
|
@ -86,9 +91,11 @@ namespace psemek::ui
|
||||||
return impl().style;
|
return impl().style;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<button> default_element_factory::make_button()
|
std::unique_ptr<button> default_element_factory::make_button(std::string text)
|
||||||
{
|
{
|
||||||
return impl().create<button_impl>();
|
auto r = impl().create<button_impl>();
|
||||||
|
r->label()->set_text(std::move(text));
|
||||||
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<screen> default_element_factory::make_screen()
|
std::unique_ptr<screen> default_element_factory::make_screen()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue