#include <memory>
#include <string>
int main() {
std::string first_name;
std::string last_name;
std::string password;
Component input_password =
Input(&password,
"password", password_option);
input_first_name,
input_last_name,
input_password,
});
auto renderer =
Renderer(component, [&] {
text(
"Hello " + first_name +
" " + last_name),
hbox(
text(
" First name : "), input_first_name->Render()),
hbox(
text(
" Last name : "), input_last_name->Render()),
hbox(
text(
" Password : "), input_password->Render()),
}) |
});
screen.Loop(renderer);
}
static ScreenInteractive TerminalOutput()
Component Vertical(Components children)
A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or...
Component Renderer(Component child, std::function< Element()>)
Return a new Component, similar to |child|, but using |render| as the Component::Render() event.
Element hbox(Elements)
A container displaying elements horizontally one by one.
Element text(std::wstring text)
Display a piece of unicode text.
Component Input(InputOption options={})
An input box for editing text.
Element separator()
Draw a vertical or horizontal separation in between two other elements.
Element border(Element)
Draw a border around the element.
std::shared_ptr< ComponentBase > Component
Element vbox(Elements)
A container displaying elements vertically one by one.