#ifndef VSMENUWIN_H #define VSMENUWIN_H #include "../include/osw-x.h" #include "../include/widget.h" #include "vsmenu.h" typedef struct _xsw_vsmenu_win_struct xsw_vsmenu_win_struct; #define XSW_VSMENU_WIN(p) ((xsw_vsmenu_win_struct *)(p)) /* * Draw amount codes: */ #define VSMW_DRAW_AMOUNT_COMPLETE 0 /* * Viewscreen Menu Configuration Window: */ struct _xsw_vsmenu_win_struct { bool_t map_state, has_focus, disabled; int freeze_count, busy_count; int x, y; unsigned int width, height; visibility_t visibility_state; win_t toplevel; clist_struct list; push_button_struct add_btn, remove_btn, shift_up_btn, shift_down_btn; label_struct type_label; popup_list_struct type_pulist; label_struct action_label; popup_list_struct action_pulist; prompt_struct text_prompt, icon_file_prompt; push_button_struct ok_btn, apply_btn, cancel_btn; xsw_vsmenu_struct *vsmenu; }; extern "C" xsw_vsmenu_win_struct *VSMWNew(xsw_vsmenu_struct *vsmenu); extern "C" void VSMWResize(xsw_vsmenu_win_struct *vsmw); extern "C" void VSMWQueueResize(xsw_vsmenu_win_struct *vsmw); extern "C" void VSMWDraw(xsw_vsmenu_win_struct *vsmw, const int amount); extern "C" void VSMWQueueDraw(xsw_vsmenu_win_struct *vsmw, const int amount); extern "C" int VSMWManage(xsw_vsmenu_win_struct *vsmw, event_t *event); extern "C" void VSMWMap(xsw_vsmenu_win_struct *vsmw, win_t toplevel); extern "C" void VSMWUnmap(xsw_vsmenu_win_struct *vsmw); extern "C" void VSMWDelete(xsw_vsmenu_win_struct *vsmw); #endif /* VSMENUWIN_H */