35#ifndef __VSF_TGUI_CONTROLS_PANEL_H__
36#define __VSF_TGUI_CONTROLS_PANEL_H__
48#if defined(__VSF_TGUI_CONTROLS_PANEL_CLASS_IMPLEMENT)
49# define __PLOOC_CLASS_IMPLEMENT__
50# undef __VSF_TGUI_CONTROLS_PANEL_CLASS_IMPLEMENT
51#elif defined(__VSF_TGUI_CONTROLS_PANEL_CLASS_INHERIT)
52# define __PLOOC_CLASS_INHERIT__
53# undef __VSF_TGUI_CONTROLS_PANEL_CLASS_INHERIT
64# define __VSF_TGUI_INTERFACE_CONTROLS_PANEL { \
66 VSF_MSGT_NODE_HANDLER_TYPE_FSM, \
67 (vsf_msgt_method_fsm_t *)&vsf_tgui_panel_msg_handler, \
69 .Status = (vsf_msgt_method_status_t *) \
70 &vsf_tgui_control_status_get, \
71 .Shoot = (vsf_msgt_method_shoot_t *)&vsf_tgui_control_shoot, \
76#define __tgui_set_internal_panel( __OWNER_ADDR, \
80 (*__OWNER_ADDR) tgui_panel( \
87#define tgui_set_internal_panel( __OWNER_ADDR, \
91 __tgui_set_internal_panel( (__OWNER_ADDR), \
98#define tgui_set_priv_panel( __OWNER_ADDR , \
101 __tgui_set_internal_panel( (__OWNER_ADDR), \
108#define __declare_tgui_panel(__NAME) \
109 typedef struct __NAME __NAME;
110#define declare_tgui_panel(__NAME) __declare_tgui_panel(__NAME)
112#define __def_tgui_panel_ex(__NAME, __VAR_NAME, ...) \
113 typedef struct __NAME { \
114 implement(vsf_tgui_panel_t) \
117 vsf_msgt_node_t __VAR_NAME##_FirstNode ; \
123#define def_tgui_panel(__NAME, ...) \
124 __def_tgui_panel_ex(__NAME, __NAME, __VA_ARGS__)
125#define def_tgui_panel_ex(__NAME, __VAR_NAME, ...) \
126 __def_tgui_panel_ex(__NAME, __VAR_NAME, __VA_ARGS__)
128#define end_def_tgui_panel(__NAME) \
131#define __describ_tgui_panel(__TYPE, __NAME, ...) \
132 describe_tgui_container_base( \
134 VSF_TGUI_COMPONENT_ID_PANEL, \
136 VSF_TGUI_V_PANEL_STATIC_INIT_DEFAULT \
138 VSF_TGUI_V_PANEL_STATIC_INIT_OVERRIDE \
143#define describ_tgui_panel(__NAME, __VAR, ...) \
144 __describ_tgui_panel(__NAME, __VAR, __VA_ARGS__)
146#define __use_tgui_panel(__NAME, ...) \
148 implement(vsf_tgui_panel_t) \
151 vsf_msgt_node_t __NAME##_FirstNode ; \
158#define use_tgui_panel(__NAME, ...) __use_tgui_panel(__NAME, ##__VA_ARGS__)
161#define __tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT, ...) \
162 tgui_container_base( \
164 VSF_TGUI_COMPONENT_ID_PANEL, \
169 VSF_TGUI_V_PANEL_STATIC_INIT_DEFAULT \
171 VSF_TGUI_V_PANEL_STATIC_INIT_OVERRIDE \
175#define tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT, ...) \
176 __tgui_panel( __NAME, \
189 implement(vsf_tgui_v_panel_t)
#define ENABLED
Definition __type.h:28
Definition vsf_tgui_common.h:558
Definition vsf_tgui_common.h:371
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_PANEL_HAS_LABEL
Definition vsf_tgui_cfg.h:239
struct vsf_tgui_root_container_t vsf_tgui_root_container_t
Definition vsf_tgui_common.h:556
which(union { inherit(vsf_msgt_container_t) vsf_tgui_control_t };vsf_tgui_v_container_t) implement_ex(struct
Definition vsf_tgui_control.h:566
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_panel_init(vsf_tgui_panel_t *ptPanel)
Definition vsf_tgui_panel.c:102
fsm_rt_t vsf_tgui_panel_msg_handler(vsf_tgui_panel_t *control_ptr, vsf_tgui_msg_t *ptMSG)
Definition vsf_tgui_panel.c:75
end_def_class(vsf_tgui_panel_t) extern fsm_rt_t vk_tgui_panel_init(vsf_tgui_panel_t *ptPanel)
vsf_tgui_label_t tTitleLabel
Definition vsf_tgui_panel.h:187
declare_class(vsf_tgui_panel_t) def_class(vsf_tgui_panel_t
fsm_rt_t vk_tgui_panel_update(vsf_tgui_panel_t *ptPanel)
Definition vsf_tgui_panel.c:83
const vsf_tgui_control_t * control_ptr
Definition vsf_tgui_scguiv_port.h:91