35#ifndef __VSF_TGUI_CONTROLS_LIST_H__
36#define __VSF_TGUI_CONTROLS_LIST_H__
43#if VSF_TGUI_CFG_SUPPORT_LIST == ENABLED
49#if defined(__VSF_TGUI_CONTROLS_LIST_CLASS_IMPLEMENT)
50# define __PLOOC_CLASS_IMPLEMENT__
51# undef __VSF_TGUI_CONTROLS_LIST_CLASS_IMPLEMENT
52#elif defined(__VSF_TGUI_CONTROLS_LIST_CLASS_INHERIT)
53# define __PLOOC_CLASS_INHERIT__
54# undef __VSF_TGUI_CONTROLS_LIST_CLASS_INHERIT
65# define __VSF_TGUI_INTERFACE_CONTROLS_LIST { \
67 VSF_MSGT_NODE_HANDLER_TYPE_FSM, \
68 (vsf_msgt_method_fsm_t *)&vsf_tgui_list_msg_handler, \
70 .Status = (vsf_msgt_method_status_t *) \
71 &vsf_tgui_control_status_get, \
72 .Shoot = (vsf_msgt_method_shoot_t *)&vsf_tgui_control_shoot, \
78# define __tgui_list( __NAME, \
82 tgui_container_base( __NAME, \
83 VSF_TGUI_COMPONENT_ID_LIST, \
88 VSF_TGUI_V_LIST_STATIC_INIT_DEFAULT \
90 VSF_TGUI_V_LIST_STATIC_INIT_OVERRIDE \
93 .u5Type = VSF_TGUI_CONTAINER_TYPE_PLANE, \
95 .bIsAutoSize = false, \
96 .bIsHideContentInsideContainer = false, \
98 (vsf_msgt_container_t *)&((__PARENT_ADDR)-> \
99 __NAME.use_as__vsf_msgt_node_t), \
100 .list.id = VSF_TGUI_COMPONENT_ID_CONTAINER, \
101 .list.Offset = {0}, \
102 .list.is_container = true, \
103 .list.bIsTransparent = true, \
104 .list.ContainerAttribute \
105 .bIsAutoSize = true, \
106 .list.bIsEnabled = true, \
107 .list.bIsVisible = true, \
110 &((__PARENT_ADDR)-> \
111 __NAME.list.list_FirstNode), \
113 __tgui_name_string_tag( __NAME.list, \
118#define tgui_list( __NAME, \
123 __tgui_list( __NAME, \
129# define tgui_list_items(...) \
131 VSF_TGUI_V_CONTAINER_STATIC_INIT_DEFAULT \
132 .is_container = false, \
133 .bIsTransparent = false, \
135 VSF_TGUI_V_CONTAINER_STATIC_INIT_OVERRIDE \
139#define __use_tgui_list(__NAME, ...) \
141 implement(vsf_tgui_list_t); \
143 vsf_msgt_node_t __NAME##_FirstNode ; \
144 use_tgui_container(list, __VA_ARGS__) \
148#define use_tgui_list(__NAME, ...) __use_tgui_list(__NAME, __VA_ARGS__)
169 implement(vsf_tgui_container_t)
170 implement(vsf_tgui_v_list_t)
176 implement(__vk_tgui_slider_t)
190 inherit_ex(__vk_tgui_slider_t, tSlider)
235#if VSF_TGUI_CFG_LIST_SUPPORT_SCROOLBAR == ENABLED
236VSF_CAL_SECTION(
".text.vsf.component.tgui.vsf_tgui_list_scrollbar_regions_generate")
240 const vsf_tgui_list_t*
ptList,
#define VSF_CAL_SECTION(__SEC)
Definition __compiler.h:181
#define ENABLED
Definition __type.h:28
unsigned char uint8_t
Definition lvgl.h:40
unsigned char uint_fast8_t
Definition stdint.h:23
short int_fast16_t
Definition stdint.h:24
Definition vsf_tgui_common.h:558
Definition vsf_tgui_common.h:281
fsm_rt_t
Definition vsf_fsm.h:315
def_class(vsf_stream_fifo_t, which(vsf_stream_tx_t TX;vsf_stream_rx_t RX;), private:vsf_slist_queue_t union { vsf_stream_fifo_cfg_t cfg;struct { vsf_stream_dat_rdy_evt_t tDataReadyEventHandling;vsf_stream_dat_drn_evt_t tDataDrainEventHandling;vsf_stream_status_t Status;#if !defined(VSF_PBUF_QUEUE_CFG_ATOM_ACCESS) vsf_protect_region_t *pregion;#endif };};) end_def_class(vsf_stream_fifo_t) extern vsf_err_t vsf_stream_fifo_init(vsf_stream_fifo_t *obj_ptr
#define VSF_TGUI_CFG_LIST_SUPPORT_SLIDE
Definition vsf_tgui_cfg.h:226
struct vsf_tgui_control_t vsf_tgui_control_t
Definition vsf_tgui_common.h:555
which(vsf_tgui_control_t vsf_tgui_v_label_t) public vsf_tgui_msg_t * ptMSG
Definition vsf_tgui_label.h:161
fsm_rt_t vk_tgui_list_update(vsf_tgui_list_t *ptList)
Definition vsf_tgui_list.c:392
which(vsf_tgui_container_t vsf_tgui_v_list_t) union
Definition vsf_tgui_list.h:168
declare_class(vsf_tgui_list_t) def_class(vsf_tgui_list_t
int_fast16_t vk_tgui_list_selected_item_get(vsf_tgui_list_t *ptList)
Definition vsf_tgui_list.c:458
vsf_tgui_container_t ptList[]
Definition vsf_tgui_list.h:217
int_fast16_t vk_tgui_list_display_item_start_get(vsf_tgui_list_t *ptList)
Definition vsf_tgui_list.c:432
end_def_class(vsf_tgui_list_t) extern fsm_rt_t vk_tgui_list_update(vsf_tgui_list_t *ptList)
int_fast16_t vk_tgui_list_selected_item_set(vsf_tgui_list_t *ptList, uint_fast8_t chSelectIndex)
Definition vsf_tgui_list.c:469
fsm_rt_t vsf_tgui_list_msg_handler(vsf_tgui_list_t *control_ptr, vsf_tgui_msg_t *ptMSG)
Definition vsf_tgui_list.c:284
int_fast16_t vk_tgui_list_display_item_start_set(vsf_tgui_list_t *ptList, uint_fast8_t chStartIndex)
Definition vsf_tgui_list.c:443
vsf_tgui_list_scrollbar_region_t * vsf_tgui_list_scrollbar_regions_generate(const vsf_tgui_control_t *control_ptr, const vsf_tgui_list_t *ptList, uint_fast8_t chScalingRatio, vsf_tgui_list_scrollbar_region_t *ptOutputBuffer)
Definition vsf_tgui_list.c:487
vsf_tgui_list_work_mode_t
Definition vsf_tgui_list.h:153
@ VSF_TGUI_LIST_MODE_ITEM_SELECTION
Definition vsf_tgui_list.h:156
@ VSF_TGUI_LIST_MODE_ITEM_SELECTION_CENTER_ALIGN
Definition vsf_tgui_list.h:157
@ VSF_TGUI_LIST_MODE_FREE_MOVE_STICK_TO_ITEM
Definition vsf_tgui_list.h:154
@ VSF_TGUI_LIST_MODE_FREE_MOVE
Definition vsf_tgui_list.h:155
fsm_rt_t vk_tgui_list_init(vsf_tgui_list_t *ptList)
Definition vsf_tgui_list.c:411
const vsf_tgui_control_t * control_ptr
Definition vsf_tgui_scguiv_port.h:91