mirror of
https://github.com/yoboujon/ftxui_template.git
synced 2025-06-08 13:00:50 +02:00
Added button to go to page 2, fixed string issue.
This commit is contained in:
parent
c90b0bcabb
commit
f63c6e83a8
3 changed files with 22 additions and 8 deletions
|
@ -16,13 +16,15 @@ private:
|
||||||
ftxui::Element transform(ftxui::InputState state);
|
ftxui::Element transform(ftxui::InputState state);
|
||||||
ftxui::Element render_input();
|
ftxui::Element render_input();
|
||||||
ftxui::Element render_log();
|
ftxui::Element render_log();
|
||||||
ftxui::Element render_status();
|
ftxui::Component render_status();
|
||||||
bool catch_event(ftxui::Event event);
|
bool catch_event(ftxui::Event event);
|
||||||
|
void change_screen();
|
||||||
|
|
||||||
std::string _input_str;
|
std::string _input_str;
|
||||||
ftxui::InputOption _input_option;
|
ftxui::InputOption _input_option;
|
||||||
bool _input_selected;
|
bool _input_selected;
|
||||||
ftxui::Component _input_component;
|
ftxui::Component _input_component;
|
||||||
|
ftxui::Component _button;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // HEADER_PAGE1_FTXUI
|
#endif // HEADER_PAGE1_FTXUI
|
|
@ -101,9 +101,22 @@ ftxui::Element Page1::render_log()
|
||||||
flex;
|
flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
ftxui::Element Page1::render_status()
|
ftxui::Component Page1::render_status()
|
||||||
{
|
{
|
||||||
return window(text("status") | hcenter | bold, text("content") | center | dim, BorderStyle::EMPTY) | flex | size(WIDTH, GREATER_THAN, 30);
|
_button = Button("Go to Page2", [&]
|
||||||
|
{ return change_screen(); });
|
||||||
|
|
||||||
|
return Renderer(_button, [this]
|
||||||
|
{ return window(
|
||||||
|
text("status") | hcenter | bold,
|
||||||
|
vbox({text("content") | center | dim,
|
||||||
|
_button->Render() | center})) |
|
||||||
|
flex | size(WIDTH, GREATER_THAN, 30); });
|
||||||
|
}
|
||||||
|
|
||||||
|
void Page1::change_screen()
|
||||||
|
{
|
||||||
|
this->send_event(EventType::SWITCH_SCREEN, static_cast<size_t>(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
Page1::Page1(EventHandler &handler)
|
Page1::Page1(EventHandler &handler)
|
||||||
|
@ -128,8 +141,7 @@ Page1::Page1(EventHandler &handler)
|
||||||
Component log = Renderer([&]()
|
Component log = Renderer([&]()
|
||||||
{ return render_log(); });
|
{ return render_log(); });
|
||||||
|
|
||||||
Component status = Renderer([&]()
|
Component status = render_status();
|
||||||
{ return render_status(); });
|
|
||||||
|
|
||||||
_page = Container::Vertical({
|
_page = Container::Vertical({
|
||||||
Container::Horizontal({log,
|
Container::Horizontal({log,
|
||||||
|
|
|
@ -12,7 +12,7 @@ inline const std::vector<std::string> create_entries(const size_t num)
|
||||||
{
|
{
|
||||||
std::vector<std::string> ret;
|
std::vector<std::string> ret;
|
||||||
for (size_t i = 0; i < num; i++)
|
for (size_t i = 0; i < num; i++)
|
||||||
ret.push_back("Sample " + std::to_string(num));
|
ret.push_back("Sample " + std::to_string(i));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue