VSF Documented
Macros | Functions | Variables
vsf_tgui_panel.h File Reference
#include "./__vsf_tgui_controls_common.h"
#include "./vsf_tgui_label.h"
#include "./vsf_tgui_control.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Macros

#define __VSF_TGUI_INTERFACE_CONTROLS_PANEL
 
#define __tgui_set_internal_panel(__OWNER_ADDR, __MEMBER, __PREVIOUS, __NEXT, ...)
 
#define tgui_set_internal_panel(__OWNER_ADDR, __MEMBER, __PREVIOUS, __NEXT, ...)
 
#define tgui_set_priv_panel(__OWNER_ADDR, __MEMBER, ...)
 
#define __declare_tgui_panel(__NAME)    typedef struct __NAME __NAME;
 
#define declare_tgui_panel(__NAME)   __declare_tgui_panel(__NAME)
 
#define __def_tgui_panel(__NAME, ...)
 
#define def_tgui_panel(__NAME, ...)   __def_tgui_panel(__NAME, __VA_ARGS__)
 
#define end_def_tgui_panel(...)    };
 
#define __describ_tgui_panel(__TYPE, __NAME, ...)
 
#define describ_tgui_panel(__NAME, __VAR, ...)    __describ_tgui_panel(__NAME, __VAR, __VA_ARGS__)
 
#define __use_tgui_panel(__NAME, ...)
 
#define use_tgui_panel(__NAME, ...)   __use_tgui_panel(__NAME, ##__VA_ARGS__)
 
#define __tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT, ...)
 
#define tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT, ...)
 

Functions

 declare_class (vsf_tgui_panel_t) def_class(vsf_tgui_panel_t
 
 end_def_class (vsf_tgui_panel_t) extern fsm_rt_t vk_tgui_panel_init(vsf_tgui_panel_t *ptPanel)
 
fsm_rt_t vk_tgui_panel_update (vsf_tgui_panel_t *ptPanel)
 
fsm_rt_t vsf_tgui_panel_msg_handler (vsf_tgui_panel_t *control_ptr, vsf_tgui_msg_t *ptMSG)
 

Variables

vsf_tgui_label_t tTitleLabel
 

Macro Definition Documentation

◆ __VSF_TGUI_INTERFACE_CONTROLS_PANEL

#define __VSF_TGUI_INTERFACE_CONTROLS_PANEL
Value:
{ \
.msg_handler = { \
}, \
.Status = (vsf_msgt_method_status_t *) \
}
vsf_msgt_method_shoot_t * Shoot
range check
Definition vsf_msg_tree.h:139
fsm_rt_t vsf_msgt_method_fsm_t(vsf_msgt_node_t *node_ptr, vsf_msgt_msg_t *msg_ptr)
Definition vsf_msg_tree.h:113
vsf_msgt_node_status_t vsf_msgt_method_status_t(vsf_msgt_node_t *)
Definition vsf_msg_tree.h:112
@ VSF_MSGT_NODE_HANDLER_TYPE_FSM
use fsm (same as normal callback)
Definition vsf_msg_tree.h:96
bool vsf_msgt_method_shoot_t(const vsf_msgt_node_t *, uintptr_t)
Definition vsf_msg_tree.h:111
vsf_tgui_status_t vsf_tgui_control_status_get(const vsf_tgui_control_t *control_ptr)
Definition vsf_tgui_control.c:433
bool vsf_tgui_control_shoot(const vsf_tgui_control_t *control_ptr, const vsf_tgui_location_t *ptLocation)
Definition vsf_tgui_control.c:387
fsm_rt_t vsf_tgui_panel_msg_handler(vsf_tgui_panel_t *control_ptr, vsf_tgui_msg_t *ptMSG)
Definition vsf_tgui_panel.c:74

\NOTE: Make sure #include "utilities/ooc_class.h" is close to the class ! definition and there is NO ANY OTHER module-interface-header file ! included in this file

◆ __tgui_set_internal_panel

#define __tgui_set_internal_panel (   __OWNER_ADDR,
  __MEMBER,
  __PREVIOUS,
  __NEXT,
  ... 
)
Value:
(*__OWNER_ADDR) tgui_panel( \
__MEMBER, \
(__OWNER_ADDR), \
__PREVIOUS, \
__NEXT, \
__VA_ARGS__)
#define tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT,...)
Definition vsf_tgui_panel.h:168

◆ tgui_set_internal_panel

#define tgui_set_internal_panel (   __OWNER_ADDR,
  __MEMBER,
  __PREVIOUS,
  __NEXT,
  ... 
)
Value:
__tgui_set_internal_panel( (__OWNER_ADDR), \
__MEMBER, \
__PREVIOUS, \
__NEXT, \
__VA_ARGS__)
#define __tgui_set_internal_panel(__OWNER_ADDR, __MEMBER, __PREVIOUS, __NEXT,...)
Definition vsf_tgui_panel.h:72

◆ tgui_set_priv_panel

#define tgui_set_priv_panel (   __OWNER_ADDR,
  __MEMBER,
  ... 
)
Value:
__tgui_set_internal_panel( (__OWNER_ADDR), \
__MEMBER, \
__MEMBER, \
__MEMBER, \
__VA_ARGS__)

◆ __declare_tgui_panel

#define __declare_tgui_panel (   __NAME)     typedef struct __NAME __NAME;

◆ declare_tgui_panel

#define declare_tgui_panel (   __NAME)    __declare_tgui_panel(__NAME)

◆ __def_tgui_panel

#define __def_tgui_panel (   __NAME,
  ... 
)
Value:
struct __NAME { \
implement(vsf_tgui_panel_t) \
\
union { \
vsf_msgt_node_t __NAME##_FirstNode ; \
struct { \
__VA_ARGS__; \
}; \
};

◆ def_tgui_panel

#define def_tgui_panel (   __NAME,
  ... 
)    __def_tgui_panel(__NAME, __VA_ARGS__)

◆ end_def_tgui_panel

#define end_def_tgui_panel (   ...)     };

◆ __describ_tgui_panel

#define __describ_tgui_panel (   __TYPE,
  __NAME,
  ... 
)
Value:
__NAME, \
__TYPE, \
__VA_ARGS__ \
.is_top = true, \
)
#define VSF_TGUI_V_PANEL_STATIC_INIT_DEFAULT
Definition vsf_tgui_v_type.h:160
#define VSF_TGUI_V_PANEL_STATIC_INIT_OVERRIDE
Definition vsf_tgui_v_type.h:197
uint8_t is_top
Definition vsf_msg_tree.h:172
@ VSF_TGUI_COMPONENT_ID_PANEL
Definition vsf_msg_tree_cfg.h:50
#define describe_tgui_container_base( __NAME, __ID, __TYPE, ...)
Definition vsf_tgui_control.h:189

◆ describ_tgui_panel

#define describ_tgui_panel (   __NAME,
  __VAR,
  ... 
)     __describ_tgui_panel(__NAME, __VAR, __VA_ARGS__)

◆ __use_tgui_panel

#define __use_tgui_panel (   __NAME,
  ... 
)
Value:
struct { \
implement(vsf_tgui_panel_t) \
\
union { \
vsf_msgt_node_t __NAME##_FirstNode ; \
struct { \
__VA_ARGS__; \
}; \
}; \
} __NAME;

◆ use_tgui_panel

#define use_tgui_panel (   __NAME,
  ... 
)    __use_tgui_panel(__NAME, ##__VA_ARGS__)

◆ __tgui_panel

#define __tgui_panel (   __NAME,
  __PARENT_ADDR,
  __PREVIOUS,
  __NEXT,
  ... 
)
Value:
__NAME, \
vsf_tgui_panel_t, \
(__PARENT_ADDR), \
__PREVIOUS, \
__NEXT, \
__VA_ARGS__ \
.is_top = false, \
)
#define tgui_container_base(__NAME, __ID, __TYPE, __PARENT_ADDR, __PREVIOUS, __NEXT, ...)
Definition vsf_tgui_control.h:312

◆ tgui_panel

#define tgui_panel (   __NAME,
  __PARENT_ADDR,
  __PREVIOUS,
  __NEXT,
  ... 
)
Value:
__tgui_panel( __NAME, \
(__PARENT_ADDR), \
__PREVIOUS, \
__NEXT, \
__VA_ARGS__)
#define __tgui_panel(__NAME, __PARENT_ADDR, __PREVIOUS, __NEXT,...)
Definition vsf_tgui_panel.h:154

Function Documentation

◆ declare_class()

declare_class ( vsf_tgui_panel_t  )

◆ end_def_class()

end_def_class ( vsf_tgui_panel_t  )

◆ vk_tgui_panel_update()

fsm_rt_t vk_tgui_panel_update ( vsf_tgui_panel_t *  ptPanel)
extern

◆ vsf_tgui_panel_msg_handler()

fsm_rt_t vsf_tgui_panel_msg_handler ( vsf_tgui_panel_t *  control_ptr,
vsf_tgui_msg_t ptMSG 
)
extern

Variable Documentation

◆ tTitleLabel

vsf_tgui_label_t tTitleLabel
Note
make sure vsf_tgui_container_t must be the last member