NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::tui::element类 参考

虚拟UI元素 更多...

#include <element.hpp>

Public 类型

enum class  kind : uint8_t {
  empty , vbox , hbox , zstack ,
  text , spacer , separator , button ,
  text_input , checkbox , scroll_view , canvas ,
  when , each , flexbox , gridbox
}
 元素类型枚举 更多...

Public 成员函数

element & with_key (size_t k)
 分配列表 key,帮助 Reconciler 追踪元素身份
element & with_style (const tui::style &s)
 合并样式

静态 Public 成员函数

static element canvas (function< void(int, int, int, int)> draw_function, tui::style style={})
 自定义绘制区域
static element flexbox (vector< element > children, box_props config={})
 CSS-flexbox 弹性容器
static element gridbox (vector< vector< element > > grid)
 网格布局容器
static element when (bool cond, function< element()> then, function< element()> otherwise=[]() { return element::empty();})
 条件渲染
template<typename T>
static element each (const vector< T > &items, function< element(const T &, size_t)> render)
 列表渲染

详细描述

虚拟UI元素

纯值类型,描述 UI 树的一个节点。

注解
列表元素应通过 with_key() 分配 key 以帮助 reconciler 追踪身份。

在文件 element.hpp37 行定义.

成员枚举类型说明

◆ kind

enum class neforce::tui::element::kind : uint8_t
strong

元素类型枚举

枚举值
empty 

空元素

vbox 

垂直布局容器

hbox 

水平布局容器

zstack 

层叠容器

text 

文本节点

spacer 

弹性占位

separator 

分割线

button 

按钮

text_input 

文本输入框

checkbox 

复选框

scroll_view 

滚动区域

canvas 

自定义绘制

when 

条件渲染

each 

列表渲染

flexbox 

CSS-flexbox 弹性容器

gridbox 

网格布局容器

在文件 element.hpp42 行定义.

成员函数说明

◆ each()

template<typename T>
element neforce::tui::element::each ( const vector< T > & items,
function< element(const T &, size_t)> render )
inlinestatic

列表渲染

模板参数
T列表元素类型
参数
items数据列表
render渲染回调,接收 (item引用, index)
返回
Each 元素
注解
列表元素应通过 withKey() 分配唯一 key。

在文件 element.hpp177 行定义.

引用了 each , 以及 neforce::vector< T, Alloc >::size().

◆ flexbox()

element neforce::tui::element::flexbox ( vector< element > children,
box_props config = {} )
static

CSS-flexbox 弹性容器

参数
children子元素列表
config布局配置
返回
FlexBox 元素

◆ gridbox()

element neforce::tui::element::gridbox ( vector< vector< element > > grid)
static

网格布局容器

参数
grid二维子元素网格
返回
GridBox 元素

◆ when()

element neforce::tui::element::when ( bool cond,
function< element()> then,
function< element()> otherwise = []() { return element::empty();} )
static

条件渲染

参数
cond条件
then条件为真时的渲染函数
otherwise条件为假时的渲染函数
返回
When 元素

◆ with_key()

element & neforce::tui::element::with_key ( size_t k)

分配列表 key,帮助 Reconciler 追踪元素身份

参数
k唯一标识
返回
自身引用

◆ with_style()

element & neforce::tui::element::with_style ( const tui::style & s)

合并样式

参数
s要合并的样式
返回
自身引用

该类的文档由以下文件生成: