列表视图控件
节点显示事件的回调函数原型
typedef void (*listview_node_show_func)(TWidget *widget, TwDataNode *node, void *arg);
功能:节点显示事件的回调函数原型
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
node | 显示的节点 |
arg | TwListViewSetNodeShowCallback的最后一个参数,通常为空。 |
返回值:无
注解:调函数用于更新或准备节点的内容,不能删除节点
获取列表视图控件中选中的节点个数
Tint TwListViewGetSelectedCount(TWidget *widget);
功能:获取列表视图控件中选中的节点个数
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
返回值:选中的节点个数
示例:
Tint count = TwListViewGetSelectedCount(Listview);
获取列表视图控件中选中的节点
Tint TwListViewGetSelected(TWidget *widget, Tint count, TwDataNode ** ret);
功能:获取列表视图控件中选中的节点
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
count | 最大获取节点数 |
ret[out] | 保存选中的节点 |
返回值:选中的节点数
示例:
Tint count = TwListViewGetSelected(Listview,count,ret);
获取最近一次点击的节点
TwDataNode *TwListViewGetClick(TWidget *widget);
功能:获取最近一次点击的节点
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
返回值:最近一次点击的节点
示例:
TwDataNode *node = TwListViewGetClick(Listview);
获取最近一次点击的节点的ID
T_ID TwListViewGetClickItemKey(TWidget *widget);
功能:获取最近一次点击的节点的ID
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
返回值:节点的ID
示例:
T_ID id = TwListViewGetClickItemKey(Listview);
获取当前活跃的节点
TwDataNode *TwListViewGetActive(TWidget *widget);
功能:获取当前活跃的节点
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
返回值:活跃的节点
注解:活跃即获得焦点
示例:
TwDataNode *node = TwListViewGetActive(Listview);
改变节点显示的类型
void TwListViewChangeNodeShowType(TWidget *widget, TwDataNode *node, T_ID show_type);
功能:改变节点显示的类型
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
node | 节点 |
show_type | 节点类型 |
返回值:无
示例:
TwListViewChangeNodeShowType(Listview,node,TStringID("type"));
获取节点的坐标位置
Tbool TwListViewGetNodePos(TWidget *widget, TwDataNode *node, Tint *px, Tint *py);
功能:获取节点的坐标位置
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
node | 节点 |
px[out] | 节点相对于列表视图控件的x坐标 |
py[out] | 节点相对于列表视图控件的y坐标 |
返回值:TRUE 节点处于显示状态,FALSE 节点处于隐藏状态
示例:
Tbool bool = TwListViewGetNodePos(Listview,node,&posx,&posy);
注册节点显示事件的回调函数
void TwListViewSetNodeShowCallback(TWidget *widget, listview_node_show_func func, void *arg);
功能:注册节点显示事件的回调函数
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
func | 节点显示触发的回调函数 |
arg | 传递到回调函数func中 |
返回值:无
示例:
void listview_show(TWidget *widget, TwDataNode *node, void *arg)
{
TLogI("node_name %s\n", TwDMGetNodeName(node));
}
TwListViewSetNodeShowCallback(listview, listview_show, NULL); //lisview注册节点show事件
扩展/收缩节点
void TwListViewSetNodeExpand(TWidget *widget, TwDataNode *node, Tbool expand);
功能:扩展/收缩节点
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
node | 节点 |
expand | TURE为扩展节点的子节点,FALSE则收缩节点的子节点 |
返回值:无
注解:扩展节点即显示该节点的子节点,收缩节点即隐藏该节点的子节点
示例:
TwDataNode *proot;
proot = (TwDataNode *)TwGetValue(listview);
TwListViewSetNodeExpand(listview, proot, TRUE);
获取节点是否有扩展节点
Tbool TwListViewGetNodeExpand(TWidget *widget, TwDataNode *node);
功能:获取节点是否有扩展节点
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
node | 节点 |
返回值:TRUE 为有扩展节点,FALSE 则没有扩展节点
注解:扩展节点即子节点
示例:
TwDataNode *proot;
proot = (TwDataNode *)TwGetValue(listview);
TwListViewGetNodeExpand(listview, proot, TRUE);
获取列表视图控件的显示区域大小
void TwListViewGetScrollArea(TWidget *widget, Tint *w, Tint *h);
功能:获取列表视图控件的显示区域大小
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
w[out] | 保存列表视图控件显示区域的宽 |
h[out] | 保存列表视图控件显示区域的高 |
返回值:无
示例:
TwListViewGetScrollArea(Listview,&w,&h);
获取列表视图控件的显示区域位置坐标
void TwListViewGetScrollPos(TWidget *widget, Tint *posx, Tint *posy);
功能:获取列表视图控件的显示区域位置坐标
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
posx[out] | 保存列表视图控件当前显示区域的x坐标 |
posy[out] | 保存列表视图控件当前显示区域的y坐标 |
返回值:无
示例:
TwListViewGetScrollPos(Listview,&posx,&posy);
设置列表视图控件显示的位置
void TwListViewSetScrollPos(TWidget *widget, Tint posx, Tint posy, Tbool animate);
功能:设置列表视图控件显示的位置
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
posx | 列表视图控件将要显示的x坐标 |
posy | 列表视图控件将要显示的y坐标 |
animate | 为TRUE时有滚动效果,为FALSE没有滚动效果 |
返回值:无
示例:
TwListViewSetScrollPos(Listview,posx,posy,TRUE);
列表视图控件设置滚动对齐
void TwListViewSetScrollAlign(TWidget *widget, int align_x, int align_y);
功能:列表视图控件设置滚动对齐
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
align_x | 水平方向对齐距离 |
align_y | 垂直方向对齐距离 |
返回值:无
注解:对齐的意思是每次滚动的距离都是x/y的整数倍
TwListViewSetScrollAlign(Listview,align_x,align_y);
设置列表视图控件滚动时的最大惯性滑动距离
void TwListViewSetScrollMaxStep(TWidget *widget, int max_step_x, int max_step_y);
功能:设置列表视图控件滚动时的最大惯性滑动距离
参数:
参数 | 说明 |
---|---|
widget | 列表视图控件 |
max_step_x | 水平方向的最大惯性滑动距离 |
max_step_y | 垂直方向的最大惯性滑动距离 |
返回值:无
TwListViewSetScrollMaxStep(Listview,max_step_x,max_step_y);
解析列表视图控件对应的布局文件
void TwListViewParseLayoutFile(const char *file);
功能:解析列表视图控件对应的布局文件
参数:
参数 | 说明 |
---|---|
file | 布局文件路径 |
返回值:无