mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-23 03:10:01 +08:00
455998d759
1. Stop taking Ref<XxxOption> in Component constructors. Instead, use the XxxOption directly. Passing by copy avoid problems developers had where one was shared in between multiple component, causing issues. 2. Add variants of most component constructors taking a struct only. This replaces: https://github.com/ArthurSonzogni/FTXUI/pull/670 This fixes: https://github.com/ArthurSonzogni/FTXUI/issues/426
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
#include <functional> // for function
|
|
#include <iostream> // for basic_ostream::operator<<, operator<<, endl, basic_ostream, basic_ostream<>::__ostream_type, cout, ostream
|
|
#include <string> // for string, basic_string, allocator
|
|
#include <vector> // for vector
|
|
|
|
#include "ftxui/component/captured_mouse.hpp" // for ftxui
|
|
#include "ftxui/component/component.hpp" // for Menu
|
|
#include "ftxui/component/component_options.hpp" // for MenuOption
|
|
#include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive
|
|
|
|
int main() {
|
|
using namespace ftxui;
|
|
auto screen = ScreenInteractive::TerminalOutput();
|
|
|
|
std::vector<std::string> entries = {
|
|
"entry 1",
|
|
"entry 2",
|
|
"entry 3",
|
|
};
|
|
int selected = 0;
|
|
|
|
MenuOption option;
|
|
option.on_enter = screen.ExitLoopClosure();
|
|
auto menu = Menu(&entries, &selected, option);
|
|
|
|
screen.Loop(menu);
|
|
|
|
std::cout << "Selected element = " << selected << std::endl;
|
|
}
|
|
|
|
// Copyright 2020 Arthur Sonzogni. All rights reserved.
|
|
// Use of this source code is governed by the MIT license that can be found in
|
|
// the LICENSE file.
|