21 MenuEntryOption option;
22 option.transform = [c](EntryState state) {
23 state.label = (state.active ?
"> " :
" ") + state.label;
37 auto screen = App::TerminalOutput();
40 auto menu = Container::Vertical(
48 Renderer([] {
return separator(); }),
56 Renderer([] {
return separator(); }),
73 hbox(
text(
"selected = "),
text(std::to_string(selected))),
80 screen.Loop(renderer);
82 std::cout <<
"Selected element = " << selected << std::endl;
Component Renderer(Component child, std::function< Element()>)
|child| に似た、|render| をComponent::Render()イベントとして 使用する新しいComponentを返します。
Component MenuEntry(ConstStringRef label, MenuEntryOption options={})
特定のメニューエントリ。Container::Verticalに入れることで メニューを形成できます。
Element text(std::string_view text)
UTF8エンコードされたユニコードテキストを表示します。
Decorator size(WidthOrHeight direction, Constraint constraint, int value)
要素のサイズに制約を適用する。
Element bold(Element child)
より強調したい要素に、太字フォントを使用します。
Element inverted(Element child)
前景色と背景色を反転させるフィルターを追加します。
Element color(Color color, Element child)
要素の前景色を設定します。
Element vbox(Elements children)
要素を縦に一つずつ表示するコンテナ。
std::shared_ptr< Node > Element
Element hbox(Elements children)
要素を水平方向に1つずつ表示するコンテナ。