NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
table.hpp
浏览该文件的文档.
1#ifndef NEFORCE_TUI_DOM_TABLE_HPP__
2#define NEFORCE_TUI_DOM_TABLE_HPP__
3
10
12NEFORCE_BEGIN_NAMESPACE__
13NEFORCE_BEGIN_TUI__
14
19
33class NEFORCE_API table {
34public:
40
46
52
58 table& select_row(int row);
59
65 table& select_column(int column);
66
75 table& select_rectangle(int col_min, int col_max, int row_min, int row_max);
76
83
89
96
104
109 NEFORCE_NODISCARD element render() const;
110
111private:
113 int rows_ = 0;
114 int cols_ = 0;
115 vector<vector<bool>> selected_;
116 enum style::border selection_border_ = style::border::none;
117 bool separator_ = false;
118 decorator decorator_;
119 decorator even_decorator_;
120 decorator odd_decorator_;
121 bool alt_row_ = false;
122};
123 // TUI
125
126NEFORCE_END_TUI__
127NEFORCE_END_NAMESPACE__
128#endif // NEFORCE_TUI_DOM_TABLE_HPP__
table & border(enum style::border border)
对当前选择应用边框
table & separator()
对当前选择添加分隔线(行之间)
table & select_all()
全选所有单元格
table & select_row(int row)
选择指定行
element render() const
构建表格元素
table(vector< vector< string > > data)
从二维字符串构造
table & decorate_alternate_row(const decorator &even, const decorator &odd)
隔行应用装饰器
table & decorate(const decorator &decorator)
对当前选择应用装饰器
table & select_column(int column)
选择指定列
table & select_rectangle(int col_min, int col_max, int row_min, int row_max)
选择矩形区域
table(vector< vector< element > > data)
从二维 element 构造
动态大小数组容器
虚拟UI元素
function< element(element)> decorator
元素装饰器
constexpr decltype(auto) data(Container &cont) noexcept(noexcept(cont.data()))
获取容器的底层数据指针