A FTXUI component implementing an
easy grid container using Container::Horizontal
and Container::Vertical
.
#include "ftxui-grid-container/grid-container.hpp"
namespace ftxui {
Component GridContainer(const std::vector<Components>& lines);
Component GridContainer(const std::vector<Components>& lines, int* x, int* y);
} // namespace ftxui
See ./example.
#include "ftxui/component/component.hpp"
#include "ftxui/component/screen_interactive.hpp"
#include "ftxui/dom/elements.hpp"
#include "ftxui-grid-container/grid-container.hpp"
using namespace ftxui;
int main() {
auto button0 = Button({.label = "0"});
auto button1 = Button({.label = "1"});
auto button2 = Button({.label = "2"});
auto button3 = Button({.label = "3"});
auto grid = GridContainer({
{ button0, button1 },
{ button2, button3 },
})
auto screen = ScreenInteractive::TerminalOutput();
screen.Loop(grid);
return 0;
}
cmake_minimum_required (VERSION 3.14)
project(my-app LANGUAGES CXX VERSION 1.0.0)
include(FetchContent)
FetchContent_Declare(ftxui
GIT_REPOSITORY https://github.com/ArthurSonzogni/ftxui
GIT_TAG v5.0.0
)
FetchContent_Declare(ftxui-grid-container
GIT_REPOSITORY https://github.com/mingsheng13/grid-container-ftxui
GIT_TAG master
)
FetchContent_MakeAvailable(ftxui)
FetchContent_MakeAvailable(ftxui-grid-container)
add_executable(my-app src/main.cpp)
target_link_libraries(my-app
PRIVATE ftxui-grid-container
)