Fix format. Try compile on Windows.

This commit is contained in:
ArthurSonzogni
2020-03-22 22:32:44 +01:00
parent 4ff45ee540
commit a402cb4fbb
67 changed files with 615 additions and 569 deletions

View File

@@ -1,4 +1,5 @@
#include "ftxui/component/checkbox.hpp"
#include "ftxui/component/component.hpp"
#include "ftxui/component/container.hpp"
#include "ftxui/component/screen_interactive.hpp"
@@ -6,25 +7,26 @@
using namespace ftxui;
class MyComponent : public Component {
private:
CheckBox box_1_;
CheckBox box_2_;
CheckBox box_3_;
Container container_ = Container::Vertical();
public:
MyComponent() {
Add(&container_);
container_.Add(&box_1_);
container_.Add(&box_2_);
container_.Add(&box_3_);
box_1_.label = L"Build examples";
box_2_.label = L"Build tests";
box_3_.label = L"Use WebAssembly";
box_3_.state = true;
}
private:
CheckBox box_1_;
CheckBox box_2_;
CheckBox box_3_;
Container container_ = Container::Vertical();
public:
MyComponent() {
Add(&container_);
container_.Add(&box_1_);
container_.Add(&box_2_);
container_.Add(&box_3_);
box_1_.label = L"Build examples";
box_2_.label = L"Build tests";
box_3_.label = L"Use WebAssembly";
box_3_.state = true;
}
};
int main(int argc, const char *argv[]) {
int main(int argc, const char* argv[]) {
auto screen = ScreenInteractive::TerminalOutput();
MyComponent component;
screen.Loop(&component);

View File

@@ -2,7 +2,6 @@
#include "ftxui/component/container.hpp"
#include "ftxui/component/input.hpp"
#include "ftxui/component/menu.hpp"
#include "ftxui/component/checkbox.hpp"
#include "ftxui/component/screen_interactive.hpp"
#include "ftxui/component/toggle.hpp"
#include "ftxui/screen/string.hpp"
@@ -14,15 +13,16 @@ class MyComponent : public Component {
MyComponent() {
Add(&container);
checkbox.resize(30);
for(int i = 0; i<checkbox.size(); ++i) {
for (int i = 0; i < checkbox.size(); ++i) {
checkbox[i].label = (L"CheckBox " + to_wstring(i));
container.Add(&checkbox[i]);
}
}
// clang-format off
Element Render() override {
Elements content;
for(auto& it : checkbox) {
for (auto& it : checkbox) {
content.push_back(it.Render());
}
return vbox(std::move(content))

View File

@@ -1,8 +1,8 @@
#include "ftxui/component/checkbox.hpp"
#include "ftxui/component/container.hpp"
#include "ftxui/component/input.hpp"
#include "ftxui/component/menu.hpp"
#include "ftxui/component/radiobox.hpp"
#include "ftxui/component/checkbox.hpp"
#include "ftxui/component/screen_interactive.hpp"
#include "ftxui/component/toggle.hpp"
@@ -53,6 +53,7 @@ class MyComponent : public Component {
container.Add(&input);
}
// clang-format off
Element Render(std::wstring name, Component& component) {
return
hbox(
@@ -72,6 +73,7 @@ class MyComponent : public Component {
Render(L"input", input) | size(WIDTH, LESS_THAN, 30)
) | border;
}
// clang-format on
};
int main(int argc, const char* argv[]) {

View File

@@ -1,5 +1,6 @@
#include <cmath>
#include <thread>
#include "ftxui/component/checkbox.hpp"
#include "ftxui/component/container.hpp"
#include "ftxui/component/input.hpp"
@@ -19,7 +20,7 @@ class Graph {
for (int i = 0; i < width; ++i) {
float v = 0;
v += 0.1 * sin((i + shift) * 0.1);
v += 0.2 * sin((i + shift+10) * 0.15);
v += 0.2 * sin((i + shift + 10) * 0.15);
v += 0.1 * sin((i + shift) * 0.03);
v *= height;
v += 0.5 * height;
@@ -36,6 +37,7 @@ class HTopComponent : public Component {
HTopComponent() {}
~HTopComponent() override {}
// clang-format off
Element Render() override {
return
hbox(
@@ -77,18 +79,19 @@ class HTopComponent : public Component {
) | flex
) | flex | border;
}
// clang-format on
};
class CompilerComponent : public Component {
Container container = Container::Horizontal();
RadioBox compiler;
Container flag = Container::Vertical();
CheckBox flag_checkbox[4];
Container subcontainer = Container::Vertical();
Container input_container = Container::Horizontal();
Input input_add;
Menu input;
Input executable;
RadioBox compiler;
Container flag = Container::Vertical();
CheckBox flag_checkbox[4];
Container subcontainer = Container::Vertical();
Container input_container = Container::Horizontal();
Input input_add;
Menu input;
Input executable;
public:
~CompilerComponent() override {}
@@ -97,45 +100,45 @@ class CompilerComponent : public Component {
// Compiler ----------------------------------------------------------------
compiler.entries = {
L"gcc",
L"clang",
L"emcc",
L"game_maker"
L"Ada compilers",
L"ALGOL 60 compilers",
L"ALGOL 68 compilers",
L"Assemblers (Intel *86)",
L"Assemblers (Motorola 68*)",
L"Assemblers (Zilog Z80)",
L"Assemblers (other)",
L"BASIC Compilers",
L"BASIC interpreters",
L"Batch compilers",
L"C compilers",
L"Source-to-source compilers",
L"C++ compilers",
L"C# compilers",
L"COBOL compilers",
L"Common Lisp compilers",
L"D compilers",
L"DIBOL/DBL compilers",
L"ECMAScript interpreters",
L"Eiffel compilers",
L"Fortran compilers",
L"Go compilers",
L"Haskell compilers",
L"Java compilers",
L"Pascal compilers",
L"Perl Interpreters",
L"PHP compilers",
L"PL/I compilers",
L"Python compilers",
L"Scheme compilers and interpreters",
L"Smalltalk compilers",
L"Tcl Interpreters",
L"VMS Interpreters",
L"Rexx Interpreters",
L"CLI compilers",
L"gcc",
L"clang",
L"emcc",
L"game_maker"
L"Ada compilers",
L"ALGOL 60 compilers",
L"ALGOL 68 compilers",
L"Assemblers (Intel *86)",
L"Assemblers (Motorola 68*)",
L"Assemblers (Zilog Z80)",
L"Assemblers (other)",
L"BASIC Compilers",
L"BASIC interpreters",
L"Batch compilers",
L"C compilers",
L"Source-to-source compilers",
L"C++ compilers",
L"C# compilers",
L"COBOL compilers",
L"Common Lisp compilers",
L"D compilers",
L"DIBOL/DBL compilers",
L"ECMAScript interpreters",
L"Eiffel compilers",
L"Fortran compilers",
L"Go compilers",
L"Haskell compilers",
L"Java compilers",
L"Pascal compilers",
L"Perl Interpreters",
L"PHP compilers",
L"PL/I compilers",
L"Python compilers",
L"Scheme compilers and interpreters",
L"Smalltalk compilers",
L"Tcl Interpreters",
L"VMS Interpreters",
L"Rexx Interpreters",
L"CLI compilers",
};
container.Add(&compiler);
@@ -145,11 +148,12 @@ class CompilerComponent : public Component {
flag_checkbox[1].label = L"-Werror";
flag_checkbox[2].label = L"-lpthread";
flag_checkbox[3].label = L"-O3";
for(auto& c : flag_checkbox)
for (auto& c : flag_checkbox)
flag.Add(&c);
container.Add(&subcontainer);
// Executable ----------------------------------------------------------------
// Executable
// ----------------------------------------------------------------
executable.placeholder = L"executable";
subcontainer.Add(&executable);
@@ -165,6 +169,7 @@ class CompilerComponent : public Component {
input_container.Add(&input);
}
// clang-format off
Element Render() override {
return
vbox(
@@ -194,13 +199,14 @@ class CompilerComponent : public Component {
hflow(RenderCommandLine())
) | border;
}
// clang-format on
Elements RenderCommandLine() {
Elements line;
// Compiler
line.push_back(text(compiler.entries[compiler.selected]) | bold);
// flags
for(auto& it : flag_checkbox) {
for (auto& it : flag_checkbox) {
if (it.state) {
line.push_back(text(L" "));
line.push_back(text(it.label) | dim);
@@ -212,7 +218,7 @@ class CompilerComponent : public Component {
line.push_back(text(executable.content) | color(Color::BlueLight) | bold);
}
// Input
for(auto& it : input.entries) {
for (auto& it : input.entries) {
line.push_back(text(L" " + it) | color(Color::RedLight));
}
return line;
@@ -220,6 +226,7 @@ class CompilerComponent : public Component {
};
class SpinnerComponent : public Component {
// clang-format off
Element Render() override {
Elements entries;
for(int i = 0; i<22; ++i) {
@@ -233,9 +240,11 @@ class SpinnerComponent : public Component {
}
return hflow(std::move(entries)) | border;
}
// clang-format on
};
class ColorComponent : public Component {
// clang-format off
Element Render() override {
return
hbox(
@@ -278,10 +287,12 @@ class ColorComponent : public Component {
bgcolor(Color::YellowLight, text(L"YellowLight"))
)
) | hcenter | border;
// clang-format on
}
};
class GaugeComponent : public Component {
// clang-format off
Element RenderGauge(int delta) {
float progress = (shift + delta) % 1000 / 1000.f;
return hbox(text(std::to_wstring(int(progress * 100)) + L"% ") | size(WIDTH, EQUAL, 5),
@@ -308,46 +319,40 @@ class GaugeComponent : public Component {
RenderGauge(348) | color(Color::YellowLight)
) | border;
};
// clang-format on
};
class Tab : public Component {
public:
Container main_container = Container::Vertical();
public:
Container main_container = Container::Vertical();
Toggle tab_selection;
Container container = Container::Tab(&tab_selection.selected);
Toggle tab_selection;
Container container = Container::Tab(&tab_selection.selected);
HTopComponent htop_component;
ColorComponent color_component;
SpinnerComponent spinner_component;
GaugeComponent gauge_component;
CompilerComponent compiler_component;
HTopComponent htop_component;
ColorComponent color_component;
SpinnerComponent spinner_component;
GaugeComponent gauge_component;
CompilerComponent compiler_component;
Tab() {
Add(&main_container);
main_container.Add(&tab_selection);
tab_selection.entries = {
L"htop",
L"color",
L"spinner",
L"gauge",
L"compiler",
};
main_container.Add(&container);
container.Add(&htop_component);
container.Add(&color_component);
container.Add(&spinner_component);
container.Add(&gauge_component);
container.Add(&compiler_component);
}
Tab() {
Add(&main_container);
main_container.Add(&tab_selection);
tab_selection.entries = {
L"htop", L"color", L"spinner", L"gauge", L"compiler",
};
main_container.Add(&container);
container.Add(&htop_component);
container.Add(&color_component);
container.Add(&spinner_component);
container.Add(&gauge_component);
container.Add(&compiler_component);
}
Element Render() override {
return vbox(
text(L"FTXUI Demo") | bold | hcenter,
tab_selection.Render() | hcenter,
container.Render()
);
}
Element Render() override {
return vbox(text(L"FTXUI Demo") | bold | hcenter,
tab_selection.Render() | hcenter, container.Render());
}
};
int main(int argc, const char* argv[]) {

View File

@@ -1,7 +1,8 @@
#include "ftxui/component/input.hpp"
#include <iostream>
#include "ftxui/component/container.hpp"
#include "ftxui/component/input.hpp"
#include "ftxui/component/screen_interactive.hpp"
#include "ftxui/screen/string.hpp"
@@ -28,6 +29,7 @@ class MyComponent : public Component {
Input input_2;
Input input_3;
// clang-format off
Element Render() override {
return
border(
@@ -38,6 +40,7 @@ class MyComponent : public Component {
)
);
}
// clang-format on
};
int main(int argc, const char* argv[]) {

View File

@@ -1,8 +1,9 @@
#include "ftxui/component/menu.hpp"
#include <chrono>
#include <iostream>
#include <thread>
#include "ftxui/component/menu.hpp"
#include "ftxui/component/screen_interactive.hpp"
int main(int argc, const char* argv[]) {

View File

@@ -10,27 +10,33 @@
using namespace ftxui;
class MyComponent : public Component {
public:
MyComponent() {
Add(&container);
container.Add(&left_menu);
container.Add(&right_menu);
public:
MyComponent() {
Add(&container);
container.Add(&left_menu);
container.Add(&right_menu);
left_menu.entries = {L"0%", L"10%", L"20%", L"30%", L"40%", L"50%",
L"60%", L"70%", L"80%", L"90%"};
right_menu.entries = {L"0%", L"1%", L"2%", L"3%", L"4%", L"5%",
L"6%", L"7%", L"8%", L"9%", L"10%"};
left_menu.entries = {
L"0%", L"10%", L"20%", L"30%", L"40%",
L"50%", L"60%", L"70%", L"80%", L"90%",
};
right_menu.entries = {
L"0%", L"1%", L"2%", L"3%", L"4%", L"5%",
L"6%", L"7%", L"8%", L"9%", L"10%",
};
left_menu.on_enter = [this]() { on_enter(); };
right_menu.on_enter = [this]() { on_enter(); };
}
left_menu.on_enter = [this]() { on_enter(); };
right_menu.on_enter = [this]() { on_enter(); };
}
std::function<void()> on_enter = [](){};
private:
Container container = Container::Horizontal();
Menu left_menu;
Menu right_menu;
std::function<void()> on_enter = []() {};
private:
Container container = Container::Horizontal();
Menu left_menu;
Menu right_menu;
// clang-format off
Element Render() override {
int sum = left_menu.selected * 10 + right_menu.selected;
return
@@ -61,10 +67,10 @@ class MyComponent : public Component {
)
);
}
// clang-format on
};
int main(int argc, const char *argv[])
{
int main(int argc, const char* argv[]) {
auto screen = ScreenInteractive::TerminalOutput();
MyComponent component;
component.on_enter = screen.ExitLoopClosure();

View File

@@ -9,50 +9,48 @@
using namespace ftxui;
class MyComponent : public Component {
public:
MyComponent() {
Add(&container);
public:
MyComponent() {
Add(&container);
for(Menu* menu : {&menu_1, &menu_2, &menu_3, &menu_4, &menu_5, &menu_6}) {
container.Add(menu);
menu->entries = {
L"Monkey",
L"Dog",
L"Cat",
L"Bird",
L"Elephant",
};
menu->on_enter = [this]() { on_enter(); };
}
for (Menu* menu : {&menu_1, &menu_2, &menu_3, &menu_4, &menu_5, &menu_6}) {
container.Add(menu);
menu->entries = {
L"Monkey", L"Dog", L"Cat", L"Bird", L"Elephant",
};
menu->on_enter = [this]() { on_enter(); };
}
menu_2.selected_style = color(Color::Blue);
menu_2.focused_style = bold | color(Color::Blue);
menu_2.selected_style = color(Color::Blue);
menu_2.focused_style = bold | color(Color::Blue);
menu_3.selected_style = color(Color::Blue);
menu_3.focused_style = bgcolor(Color::Blue);
menu_3.selected_style = color(Color::Blue);
menu_3.focused_style = bgcolor(Color::Blue);
menu_4.selected_style = bgcolor(Color::Blue);
menu_4.focused_style = bgcolor(Color::BlueLight);
menu_4.selected_style = bgcolor(Color::Blue);
menu_4.focused_style = bgcolor(Color::BlueLight);
menu_5.normal_style = bgcolor(Color::Blue);
menu_5.selected_style = bgcolor(Color::Yellow);
menu_5.focused_style = bgcolor(Color::Red);
menu_5.normal_style = bgcolor(Color::Blue);
menu_5.selected_style = bgcolor(Color::Yellow);
menu_5.focused_style = bgcolor(Color::Red);
menu_6.normal_style = dim | color(Color::Blue);
menu_6.selected_style = color(Color::Blue);
menu_6.focused_style = bold | color(Color::Blue);
}
menu_6.normal_style = dim | color(Color::Blue);
menu_6.selected_style = color(Color::Blue);
menu_6.focused_style = bold | color(Color::Blue);
}
std::function<void()> on_enter = [](){};
private:
Container container = Container::Horizontal();
Menu menu_1;
Menu menu_2;
Menu menu_3;
Menu menu_4;
Menu menu_5;
Menu menu_6;
std::function<void()> on_enter = []() {};
private:
Container container = Container::Horizontal();
Menu menu_1;
Menu menu_2;
Menu menu_3;
Menu menu_4;
Menu menu_5;
Menu menu_6;
// clang-format off
Element Render() override {
return
hbox(
@@ -64,10 +62,10 @@ class MyComponent : public Component {
menu_6.Render() | flex
) | border;
}
// clang-format on
};
int main(int argc, const char *argv[])
{
int main(int argc, const char* argv[]) {
auto screen = ScreenInteractive::TerminalOutput();
MyComponent component;
component.on_enter = screen.ExitLoopClosure();

View File

@@ -1,4 +1,5 @@
#include "ftxui/component/radiobox.hpp"
#include "ftxui/component/component.hpp"
#include "ftxui/component/container.hpp"
#include "ftxui/component/screen_interactive.hpp"

View File

@@ -14,7 +14,7 @@ class MyComponent : public Component {
public:
MyComponent() {
for(int i = 0; i<30; ++i) {
for (int i = 0; i < 30; ++i) {
radiobox.entries.push_back(L"RadioBox " + to_wstring(i));
}
Add(&radiobox);

View File

@@ -44,13 +44,9 @@ class MyComponent : public Component {
std::function<void()> on_enter = []() {};
Element Render(){
return
vbox(
toggle_.Render(),
separator(),
tab_container_.Render()
) | border;
Element Render() {
return vbox(toggle_.Render(), separator(), tab_container_.Render()) |
border;
}
private:

View File

@@ -1,10 +1,11 @@
#include "ftxui/component/toggle.hpp"
#include <chrono>
#include <iostream>
#include <thread>
#include "ftxui/component/container.hpp"
#include "ftxui/component/screen_interactive.hpp"
#include "ftxui/component/toggle.hpp"
#include "ftxui/screen/string.hpp"
using namespace ftxui;
@@ -33,6 +34,7 @@ class MyComponent : public Component {
Toggle toggle_3_;
Toggle toggle_4_;
// clang-format off
Element Render() override {
return
vbox(
@@ -44,6 +46,7 @@ class MyComponent : public Component {
hbox(text(L" * Number of elements : "), toggle_4_.Render())
);
}
// clang-format on
};
int main(int argc, const char* argv[]) {

View File

@@ -2,12 +2,12 @@
#include <iostream>
#include <thread>
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char *argv[])
{
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
hbox(
window(text(L" main frame ") | hcenter,
@@ -41,6 +41,7 @@ int main(int argc, const char *argv[])
),
filler()
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());
std::cout << screen.ToString() << std::endl;

View File

@@ -1,10 +1,11 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
dbox(
vbox(
@@ -16,6 +17,7 @@ int main(int argc, const char *argv[])
) | border,
text(L"overlay") | border | center
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -2,24 +2,25 @@
#include <iostream>
#include <thread>
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char *argv[])
{
int main(int argc, const char* argv[]) {
using namespace ftxui;
using namespace std::chrono_literals;
std::string reset_position;
for(float percentage = 0; percentage <= 1.0; percentage+=0.002) {
for (float percentage = 0; percentage <= 1.0; percentage += 0.002) {
std::wstring data_downloaded =
std::to_wstring(int(percentage * 5000)) + L"/5000";
// clang-format off
auto document =
hbox(
text(L"downloading:"),
gauge(percentage) | flex,
text(L" " + data_downloaded)
);
// clang-format on
auto screen = Screen(100, 1);
Render(screen, document.get());
std::cout << reset_position << screen.ToString() << std::flush;

View File

@@ -2,6 +2,7 @@
#include <cmath>
#include <iostream>
#include <thread>
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
@@ -13,7 +14,7 @@ class Graph {
for (int i = 0; i < width; ++i) {
float v = 0;
v += 0.1 * sin((i + shift) * 0.1);
v += 0.2 * sin((i + shift+10) * 0.15);
v += 0.2 * sin((i + shift + 10) * 0.15);
v += 0.1 * sin((i + shift) * 0.03);
v *= height;
v += 0.5 * height;
@@ -40,6 +41,7 @@ int main(int argc, const char* argv[]) {
std::string reset_position;
for (int i = 0;; ++i) {
// clang-format off
auto document =
hbox(
vbox(
@@ -55,6 +57,7 @@ int main(int argc, const char* argv[]) {
)
| border
| size(HEIGHT, GREATER_THAN, 40);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,47 +1,32 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
auto make_box = [](size_t dimx, size_t dimy) {
std::wstring title = to_wstring(dimx) + L"x" + to_wstring(dimy);
return
window(
text(title) | hcenter | bold,
text(L"content") | hcenter | dim
) | size(WIDTH, EQUAL, dimx)
| size(HEIGHT, EQUAL, dimy)
;
// clang-format off
return window(text(title) | hcenter | bold,
text(L"content") | hcenter | dim) |
size(WIDTH, EQUAL, dimx) | size(HEIGHT, EQUAL, dimy);
// clang-format on
};
// clang-format off
auto document =
hflow(
make_box(7,7),
make_box(7,5),
make_box(5,7),
make_box(10,4),
make_box(10,4),
make_box(10,4),
make_box(10,4),
make_box(11,4),
make_box(11,4),
make_box(11,4),
make_box(11,4),
make_box(12,4),
make_box(12,5),
make_box(12,4),
make_box(13,4),
make_box(13,3),
make_box(13,3),
make_box(10,3)
) | size(WIDTH, GREATER_THAN, 20)
hflow(make_box(7, 7), make_box(7, 5), make_box(5, 7), make_box(10, 4),
make_box(10, 4), make_box(10, 4), make_box(10, 4), make_box(11, 4),
make_box(11, 4), make_box(11, 4), make_box(11, 4), make_box(12, 4),
make_box(12, 5), make_box(12, 4), make_box(13, 4), make_box(13, 3),
make_box(13, 3), make_box(10, 3))
| size(WIDTH, GREATER_THAN, 20)
| border
| size(HEIGHT, GREATER_THAN, 30)
| size(WIDTH, LESS_THAN, 50)
;
| size(WIDTH, LESS_THAN, 50);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,6 +1,7 @@
#include <chrono>
#include <iostream>
#include <thread>
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"

View File

@@ -1,15 +1,14 @@
#include <chrono>
#include <iostream>
#include <list>
#include <thread>
#include <vector>
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
#include <list>
#include <vector>
int main(int argc, const char *argv[])
{
int main(int argc, const char* argv[]) {
using namespace ftxui;
struct Task {
@@ -46,6 +45,7 @@ int main(int argc, const char *argv[])
return text(to_wstring(number)) | size(WIDTH, EQUAL, 3);
};
// clang-format off
auto renderTask = [&](const Task& task) {
auto style = (task.downloaded == task.size) ? dim : bold;
return
@@ -87,9 +87,10 @@ int main(int argc, const char *argv[])
hbox(renderSummary(), filler())
);
};
// clang-format on
auto updateModel = [&](){
for(auto& task : displayed_task) {
auto updateModel = [&]() {
for (auto& task : displayed_task) {
if (task.downloaded != task.size) {
task.downloaded++;
} else if (task.number_of_threads) {
@@ -111,8 +112,7 @@ int main(int argc, const char *argv[])
};
std::string reset_position;
for(;;) {
for (;;) {
// Draw.
auto document = render();
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));

View File

@@ -1,13 +1,15 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
using namespace ftxui;
std::wstring p = LR"(In probability theory and statistics, Bayes' theorem (alternatively Bayes' law or Bayes' rule) describes the probability of an event, based on prior knowledge of conditions that might be related to the event. For example, if cancer is related to age, then, using Bayes' theorem, a person's age can be used to more accurately assess the probability that they have cancer, compared to the assessment of the probability of cancer made without knowledge of the person's age. One of the many applications of Bayes' theorem is Bayesian inference, a particular approach to statistical inference. When applied, the probabilities involved in Bayes' theorem may have different probability interpretations. With the Bayesian probability interpretation the theorem expresses how a subjective degree of belief should rationally change to account for availability of related evidence. Bayesian inference is fundamental to Bayesian statistics.)";
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
std::wstring p =
LR"(In probability theory and statistics, Bayes' theorem (alternatively Bayes' law or Bayes' rule) describes the probability of an event, based on prior knowledge of conditions that might be related to the event. For example, if cancer is related to age, then, using Bayes' theorem, a person's age can be used to more accurately assess the probability that they have cancer, compared to the assessment of the probability of cancer made without knowledge of the person's age. One of the many applications of Bayes' theorem is Bayesian inference, a particular approach to statistical inference. When applied, the probabilities involved in Bayes' theorem may have different probability interpretations. With the Bayesian probability interpretation the theorem expresses how a subjective degree of belief should rationally change to account for availability of related evidence. Bayesian inference is fundamental to Bayesian statistics.)";
// clang-format off
auto document =
vbox(
hbox(
@@ -23,6 +25,7 @@ int main(int argc, const char *argv[])
hflow(paragraph(p)) | border
) | flex
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,10 +1,11 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"left-column"),
@@ -17,6 +18,7 @@ int main(int argc, const char *argv[])
separator(),
text(L"right-column")
) | border;
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,11 +1,12 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
#include "ftxui/screen/string.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto make_box = [](const std::wstring title) {
return
window(
@@ -21,6 +22,7 @@ int main(int argc, const char *argv[])
| size(WIDTH, EQUAL, x)
);
}
// clang-format on
auto document = hbox(std::move(content));
auto screen = Screen::Create(Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -17,6 +17,7 @@ int main(int argc, const char *argv[])
for(int i = 0; i<22; ++i) {
if (i != 0)
entries.push_back(separator());
// clang-format off
entries.push_back(
hbox(
text(to_wstring(i)) | size(WIDTH, EQUAL, 2),
@@ -24,6 +25,7 @@ int main(int argc, const char *argv[])
spinner(i, index) | bold
)
);
// clang-format on
}
auto document = hbox(vbox(std::move(entries)) | border, filler());
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));

View File

@@ -1,16 +1,18 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"This text is "),
text(L"blink") | blink,
text(L". Do you like it?")
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,16 +1,18 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"This text is "),
text(L"bold") | bold,
text(L". Do you like it?")
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -1,10 +1,11 @@
#include "ftxui/screen/screen.hpp"
#include "ftxui/dom/elements.hpp"
#include <iostream>
int main(int argc, const char *argv[])
{
#include "ftxui/dom/elements.hpp"
#include "ftxui/screen/screen.hpp"
int main(int argc, const char* argv[]) {
using namespace ftxui;
// clang-format off
auto document =
hbox(
vbox(
@@ -47,6 +48,7 @@ int main(int argc, const char *argv[])
),
filler()
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -5,12 +5,14 @@
int main(int argc, const char *argv[])
{
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"This text is "),
text(L"dim") | dim,
text(L". Do you like it?")
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -5,6 +5,7 @@
int main(int argc, const char *argv[])
{
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"normal") , text(L" ") ,
@@ -16,6 +17,7 @@ int main(int argc, const char *argv[])
text(L"color") | color(Color::Blue) , text(L" ") ,
text(L"bgcolor") | bgcolor(Color::Blue)
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -5,12 +5,14 @@
int main(int argc, const char *argv[])
{
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"This text is "),
text(L"inverted") | inverted,
text(L". Do you like it?")
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -5,12 +5,14 @@
int main(int argc, const char *argv[])
{
using namespace ftxui;
// clang-format off
auto document =
hbox(
text(L"This text is "),
text(L"underlined") | underlined,
text(L". Do you like it?")
);
// clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get());

View File

@@ -6,6 +6,7 @@
int main(int argc, const char *argv[])
{
using namespace ftxui;
// clang-format off
auto document =
vbox(
hbox(
@@ -28,6 +29,7 @@ int main(int argc, const char *argv[])
text(L"south-east")
)
);
// clang-format on
auto screen = Screen::Create(Dimension::Full());
Render(screen, document.get());