mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-26 04:31:34 +08:00
Set clang-format macro indent.
1) Set clang-format macro indent. 2) Run clang-format on every files.
This commit is contained in:
parent
9e71c467f6
commit
493e734680
@ -2,3 +2,4 @@
|
||||
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||
BasedOnStyle: Chromium
|
||||
Standard: Cpp11
|
||||
IndentPPDirectives: BeforeHash
|
||||
|
@ -1,9 +1,10 @@
|
||||
#ifndef FTXUI_COMPONENT_CHECKBOX_HPP
|
||||
#define FTXUI_COMPONENT_CHECKBOX_HPP
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include <functional>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class CheckBox : public Component {
|
||||
@ -15,8 +16,8 @@ class CheckBox : public Component {
|
||||
bool state = false;
|
||||
std::wstring label = L"label";
|
||||
|
||||
//std::wstring checked = L"[X] ";
|
||||
//std::wstring unchecked = L"[ ] ";
|
||||
// std::wstring checked = L"[X] ";
|
||||
// std::wstring unchecked = L"[ ] ";
|
||||
std::wstring checked = L"▣ ";
|
||||
std::wstring unchecked = L"☐ ";
|
||||
|
||||
@ -24,7 +25,7 @@ class CheckBox : public Component {
|
||||
Decorator unfocused_style = nothing;
|
||||
|
||||
// State update callback.
|
||||
std::function<void()> on_change = [](){};
|
||||
std::function<void()> on_change = []() {};
|
||||
|
||||
// Component implementation.
|
||||
Element Render() override;
|
||||
|
@ -11,7 +11,6 @@ class Focus;
|
||||
|
||||
class Component {
|
||||
public:
|
||||
|
||||
// Constructor/Destructor.
|
||||
Component() = default;
|
||||
virtual ~Component();
|
||||
|
@ -1,9 +1,10 @@
|
||||
#ifndef FTXUI_COMPONENT_INPUT_H_
|
||||
#define FTXUI_COMPONENT_INPUT_H_
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include <functional>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class Input : public Component {
|
||||
@ -17,8 +18,8 @@ class Input : public Component {
|
||||
std::wstring placeholder;
|
||||
|
||||
// State update callback.
|
||||
std::function<void()> on_change = [](){};
|
||||
std::function<void()> on_enter = [](){};
|
||||
std::function<void()> on_change = []() {};
|
||||
std::function<void()> on_enter = []() {};
|
||||
|
||||
// Component implementation.
|
||||
Element Render() override;
|
||||
|
@ -1,9 +1,10 @@
|
||||
#ifndef FTXUI_COMPONENT_MENU
|
||||
#define FTXUI_COMPONENT_MENU
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include <functional>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
@ -22,14 +23,14 @@ class Menu : public Component {
|
||||
Decorator normal_style = nothing;
|
||||
|
||||
// State update callback.
|
||||
std::function<void()> on_change = [](){};
|
||||
std::function<void()> on_enter = [](){};
|
||||
std::function<void()> on_change = []() {};
|
||||
std::function<void()> on_enter = []() {};
|
||||
|
||||
// Component implementation.
|
||||
Element Render() override;
|
||||
bool OnEvent(Event) override;
|
||||
};
|
||||
|
||||
} // namespace ftxui::Component
|
||||
} // namespace ftxui
|
||||
|
||||
#endif /* end of include guard: FTXUI_COMPONENT_MENU */
|
||||
|
@ -1,9 +1,10 @@
|
||||
#ifndef FTXUI_COMPONENT_RADIOBOX_HPP
|
||||
#define FTXUI_COMPONENT_RADIOBOX_HPP
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include <functional>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class RadioBox : public Component {
|
||||
@ -23,7 +24,7 @@ class RadioBox : public Component {
|
||||
Decorator unfocused_style = nothing;
|
||||
|
||||
// State update callback.
|
||||
std::function<void()> on_change = [](){};
|
||||
std::function<void()> on_change = []() {};
|
||||
|
||||
// Component implementation.
|
||||
Element Render() override;
|
||||
|
@ -1,12 +1,12 @@
|
||||
#ifndef FTXUI_COMPONENT_SCREEN_INTERACTIVE_HPP
|
||||
#define FTXUI_COMPONENT_SCREEN_INTERACTIVE_HPP
|
||||
|
||||
#include <atomic>
|
||||
#include <condition_variable>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <queue>
|
||||
#include <atomic>
|
||||
|
||||
#include "ftxui/component/event.hpp"
|
||||
#include "ftxui/screen/screen.hpp"
|
||||
@ -15,38 +15,38 @@ namespace ftxui {
|
||||
class Component;
|
||||
|
||||
class ScreenInteractive : public Screen {
|
||||
public:
|
||||
static ScreenInteractive FixedSize(int dimx, int dimy);
|
||||
static ScreenInteractive Fullscreen();
|
||||
static ScreenInteractive FitComponent();
|
||||
static ScreenInteractive TerminalOutput();
|
||||
public:
|
||||
static ScreenInteractive FixedSize(int dimx, int dimy);
|
||||
static ScreenInteractive Fullscreen();
|
||||
static ScreenInteractive FitComponent();
|
||||
static ScreenInteractive TerminalOutput();
|
||||
|
||||
~ScreenInteractive();
|
||||
void Loop(Component*);
|
||||
std::function<void()> ExitLoopClosure();
|
||||
~ScreenInteractive();
|
||||
void Loop(Component*);
|
||||
std::function<void()> ExitLoopClosure();
|
||||
|
||||
void PostEvent(Event event);
|
||||
void PostEvent(Event event);
|
||||
|
||||
private:
|
||||
void Draw(Component* component);
|
||||
void EventLoop(Component* component);
|
||||
private:
|
||||
void Draw(Component* component);
|
||||
void EventLoop(Component* component);
|
||||
|
||||
enum class Dimension {
|
||||
FitComponent,
|
||||
Fixed,
|
||||
Fullscreen,
|
||||
TerminalOutput,
|
||||
};
|
||||
Dimension dimension_ = Dimension::Fixed;
|
||||
ScreenInteractive(int dimx, int dimy, Dimension dimension);
|
||||
enum class Dimension {
|
||||
FitComponent,
|
||||
Fixed,
|
||||
Fullscreen,
|
||||
TerminalOutput,
|
||||
};
|
||||
Dimension dimension_ = Dimension::Fixed;
|
||||
ScreenInteractive(int dimx, int dimy, Dimension dimension);
|
||||
|
||||
std::condition_variable events_queue_cv;
|
||||
std::mutex events_queue_mutex;
|
||||
std::queue<Event> events_queue;
|
||||
std::atomic<bool> quit_ = false;
|
||||
std::condition_variable events_queue_cv;
|
||||
std::mutex events_queue_mutex;
|
||||
std::queue<Event> events_queue;
|
||||
std::atomic<bool> quit_ = false;
|
||||
|
||||
std::string set_cursor_position;
|
||||
std::string reset_cursor_position;
|
||||
std::string set_cursor_position;
|
||||
std::string reset_cursor_position;
|
||||
};
|
||||
|
||||
} // namespace ftxui
|
||||
|
@ -1,10 +1,11 @@
|
||||
#ifndef FTXUI_COMPONENT_TOGGLE_H_
|
||||
#define FTXUI_COMPONENT_TOGGLE_H_
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include <functional>
|
||||
#include <string>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class Toggle : public Component {
|
||||
@ -21,13 +22,13 @@ class Toggle : public Component {
|
||||
Decorator normal_style = dim;
|
||||
|
||||
// Callback.
|
||||
std::function<void()> on_change = [](){};
|
||||
std::function<void()> on_change = []() {};
|
||||
|
||||
// Component implementation.
|
||||
Element Render() override;
|
||||
bool OnEvent(Event) override;
|
||||
};
|
||||
|
||||
} // namespace ftxui::Component
|
||||
} // namespace ftxui
|
||||
|
||||
#endif /* end of include guard: FTXUI_COMPONENT_TOGGLE_H_ */
|
||||
|
@ -29,7 +29,8 @@ class Node {
|
||||
// Step 3: Draw this element.
|
||||
virtual void Render(Screen& screen);
|
||||
|
||||
std::vector<std::unique_ptr<Node>> children;
|
||||
std::vector<std::unique_ptr<Node>> children;
|
||||
|
||||
protected:
|
||||
Requirement requirement_;
|
||||
Box box_;
|
||||
|
@ -7,10 +7,16 @@ namespace ftxui {
|
||||
|
||||
struct Requirement {
|
||||
// The required size to fully draw the element.
|
||||
struct { int x = 0; int y = 0; } min;
|
||||
struct {
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
} min;
|
||||
|
||||
// How much flexibility is given to the component.
|
||||
struct { int x = 0; int y = 0; } flex;
|
||||
struct {
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
} flex;
|
||||
|
||||
// Frame.
|
||||
enum Selection {
|
||||
@ -21,6 +27,6 @@ struct Requirement {
|
||||
Box selected_box;
|
||||
};
|
||||
|
||||
} // namespace ftxui
|
||||
} // namespace ftxui
|
||||
|
||||
#endif /* end of include guard: FTXUI_REQUIREMENT_HPP */
|
||||
|
@ -10,7 +10,7 @@ inline void Merge(Elements& container, Element element) {
|
||||
|
||||
template <>
|
||||
inline void Merge(Elements& container, Elements elements) {
|
||||
for(auto& element : elements)
|
||||
for (auto& element : elements)
|
||||
container.push_back(std::move(element));
|
||||
}
|
||||
|
||||
@ -23,8 +23,8 @@ Elements unpack(Args... args) {
|
||||
}
|
||||
|
||||
// Make |container| able to take any number of argments.
|
||||
#define TAKE_ANY_ARGS(container) \
|
||||
template <class... Args> \
|
||||
Element container(Args... children) { \
|
||||
return container(unpack(std::forward<Args>(children)...)); \
|
||||
}
|
||||
#define TAKE_ANY_ARGS(container) \
|
||||
template <class... Args> \
|
||||
Element container(Args... children) { \
|
||||
return container(unpack(std::forward<Args>(children)...)); \
|
||||
}
|
||||
|
@ -35,6 +35,6 @@ enum class Color : uint8_t {
|
||||
YellowLight = 93,
|
||||
};
|
||||
|
||||
} // namespace ftxui
|
||||
} // namespace ftxui
|
||||
|
||||
#endif /* end of include guard: FTXUI_COLOR_H_ */
|
||||
|
@ -1,15 +1,15 @@
|
||||
#ifndef FTXUI_SCREEN_SCREEN
|
||||
#define FTXUI_SCREEN_SCREEN
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
#include "ftxui/screen/color.hpp"
|
||||
#include "ftxui/screen/box.hpp"
|
||||
#include "ftxui/screen/color.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
class Node;
|
||||
class Node;
|
||||
}
|
||||
|
||||
namespace ftxui {
|
||||
@ -49,8 +49,8 @@ class Screen {
|
||||
std::string ToString();
|
||||
|
||||
// Get screen dimensions.
|
||||
int dimx() { return dimx_;}
|
||||
int dimy() { return dimy_;}
|
||||
int dimx() { return dimx_; }
|
||||
int dimy() { return dimy_; }
|
||||
|
||||
// Move the terminal cursor n-lines up with n = dimy().
|
||||
std::string ResetPosition();
|
||||
|
@ -6,7 +6,7 @@
|
||||
std::string to_string(const std::wstring& s);
|
||||
std::wstring to_wstring(const std::string& s);
|
||||
|
||||
template<typename T>
|
||||
template <typename T>
|
||||
std::wstring to_wstring(T s) {
|
||||
return to_wstring(std::to_string(s));
|
||||
}
|
||||
|
@ -3,20 +3,20 @@
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
template<typename T>
|
||||
template <typename T>
|
||||
class AutoReset {
|
||||
public:
|
||||
AutoReset(T* variable, T new_value)
|
||||
: variable_(variable),
|
||||
previous_value_(std::move(*variable)) {
|
||||
: variable_(variable), previous_value_(std::move(*variable)) {
|
||||
*variable_ = std::move(new_value);
|
||||
}
|
||||
~AutoReset() { *variable_ = std::move(previous_value_); }
|
||||
|
||||
private:
|
||||
T* variable_;
|
||||
T previous_value_;
|
||||
};
|
||||
|
||||
} // namespace ftxui
|
||||
} // namespace ftxui
|
||||
|
||||
#endif /* end of include guard: FTXUI_UTIL_AUTORESET_HPP */
|
||||
|
@ -1,7 +1,9 @@
|
||||
#include "ftxui/component/input.hpp"
|
||||
#include "ftxui/screen/string.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "ftxui/screen/string.hpp"
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
// Component implementation.
|
||||
@ -22,15 +24,14 @@ Element Input::Render() {
|
||||
if (!is_focused)
|
||||
return text(content) | main_decorator;
|
||||
|
||||
std::wstring part_before_cursor = content.substr(0,cursor_position);
|
||||
std::wstring part_before_cursor = content.substr(0, cursor_position);
|
||||
std::wstring part_at_cursor = cursor_position < (int)content.size()
|
||||
? content.substr(cursor_position, 1)
|
||||
: L" ";
|
||||
std::wstring part_after_cursor = cursor_position < (int)content.size() - 1
|
||||
? content.substr(cursor_position + 1)
|
||||
: L"";
|
||||
auto focused =
|
||||
is_focused ? focus : select;
|
||||
auto focused = is_focused ? focus : select;
|
||||
|
||||
// clang-format off
|
||||
return
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "ftxui/component/menu.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "ftxui/component/radiobox.hpp"
|
||||
#include <functional>
|
||||
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
@ -41,7 +42,7 @@ bool RadioBox::OnEvent(Event event) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (event == Event::Character(' ') || event==Event::Return) {
|
||||
if (event == Event::Character(' ') || event == Event::Return) {
|
||||
selected = focused;
|
||||
on_change();
|
||||
}
|
||||
|
@ -3,18 +3,20 @@
|
||||
#include <stdio.h>
|
||||
#include <termios.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <csignal>
|
||||
#include <iostream>
|
||||
#include <stack>
|
||||
#include <thread>
|
||||
|
||||
#include "ftxui/component/component.hpp"
|
||||
#include "ftxui/screen/string.hpp"
|
||||
#include "ftxui/screen/terminal.hpp"
|
||||
#include <algorithm>
|
||||
|
||||
#if defined(__clang__) && defined (__APPLE__)
|
||||
// Quick exit is missing in standard CLang headers
|
||||
#define quick_exit(a) exit(a)
|
||||
#if defined(__clang__) && defined(__APPLE__)
|
||||
// Quick exit is missing in standard CLang headers
|
||||
#define quick_exit(a) exit(a)
|
||||
#endif
|
||||
|
||||
namespace ftxui {
|
||||
@ -42,14 +44,12 @@ auto install_signal_handler = [](int sig, SignalHandler handler) {
|
||||
on_exit_functions.push([&]() { std::signal(sig, old_signal_handler); });
|
||||
};
|
||||
|
||||
std::function<void()> on_resize = []{};
|
||||
std::function<void()> on_resize = [] {};
|
||||
void OnResize(int /* signal */) {
|
||||
on_resize();
|
||||
}
|
||||
|
||||
ScreenInteractive::ScreenInteractive(int dimx,
|
||||
int dimy,
|
||||
Dimension dimension)
|
||||
ScreenInteractive::ScreenInteractive(int dimx, int dimy, Dimension dimension)
|
||||
: Screen(dimx, dimy), dimension_(dimension) {}
|
||||
ScreenInteractive::~ScreenInteractive() {}
|
||||
|
||||
@ -176,8 +176,7 @@ void ScreenInteractive::Draw(Component* component) {
|
||||
if (dimx != dimx_ || dimy != dimy_) {
|
||||
dimx_ = dimx;
|
||||
dimy_ = dimy;
|
||||
pixels_ = std::vector<std::vector<Pixel>>(
|
||||
dimy, std::vector<Pixel>(dimx));
|
||||
pixels_ = std::vector<std::vector<Pixel>>(dimy, std::vector<Pixel>(dimx));
|
||||
cursor_.x = dimx_ - 1;
|
||||
cursor_.y = dimy_ - 1;
|
||||
}
|
||||
@ -196,7 +195,7 @@ void ScreenInteractive::Draw(Component* component) {
|
||||
reset_cursor_position += "\x1B[" + std::to_string(dx) + "C";
|
||||
}
|
||||
if (dy != 0) {
|
||||
set_cursor_position += "\x1B[" + std::to_string(dy) + "A";
|
||||
set_cursor_position += "\x1B[" + std::to_string(dy) + "A";
|
||||
reset_cursor_position += "\x1B[" + std::to_string(dy) + "B";
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "ftxui/component/toggle.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
using namespace ftxui;
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class DBox : public Node {
|
||||
|
@ -4,8 +4,6 @@
|
||||
#include "ftxui/dom/node.hpp"
|
||||
#include "ftxui/util/autoreset.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
using namespace ftxui;
|
||||
|
@ -3,8 +3,6 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class HBox : public Node {
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <algorithm>
|
||||
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class HFlow : public Node {
|
||||
|
@ -3,8 +3,6 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class Size : public Node {
|
||||
|
@ -3,8 +3,6 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/dom/node.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
class VBox : public Node {
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "ftxui/screen/string.hpp"
|
||||
#include "ftxui/screen/terminal.hpp"
|
||||
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
namespace {
|
||||
|
@ -3,12 +3,12 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#else
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <iostream>
|
||||
|
@ -59,9 +59,10 @@
|
||||
* Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
|
||||
*/
|
||||
|
||||
#include "ftxui/screen/string.hpp"
|
||||
#include <wchar.h>
|
||||
|
||||
#include "ftxui/screen/string.hpp"
|
||||
|
||||
namespace {
|
||||
struct interval {
|
||||
int first;
|
||||
|
Loading…
Reference in New Issue
Block a user