#ifndef OPTWIN_H #define OPTWIN_H #include "../include/osw-x.h" #include "../include/widget.h" #include "uetypes.h" /* * Draw amount codes: */ #define OPTWIN_DRAW_AMOUNT_COMPLETE 0 #define OPTWIN_DRAW_AMOUNT_TABS 1 #define OPTWIN_DRAW_AMOUNT_SCANKEY 2 /* * Tabs: */ #define OPTWIN_TAB_GENERAL 0 #define OPTWIN_TAB_FONTS 1 #define OPTWIN_TAB_DISPLAY 2 #define OPTWIN_TAB_LOCATIONS 3 #define OPTWIN_TAB_KEYMAP 4 /* * Options Window: */ struct _optwin_struct { bool_t map_state, has_focus; int x, y; unsigned int width, height; bool_t has_changes; int tab; win_t toplevel; push_button_struct ok_btn, apply_btn, cancel_btn; win_t general_tab_win, fonts_tab_win, display_tab_win, paths_tab_win, keymap_tab_win; /* General */ check_button_struct record_window_geometry_cb; /* Fonts */ prompt_struct object_label_font_prompt, geometry_label_font_prompt; /* Display */ check_button_struct show_object_labels_cb, show_geometry_labels_cb, show_grid_cb, show_contact_bounds_cb, animate_object_display_cb; prompt_struct grid_spacing_prompt, object_marker_radius_prompt; /* Locations */ prompt_struct toplevel_path_prompt, etc_path_prompt, images_path_prompt, sounds_path_prompt, server_path_prompt, opm_file_prompt; push_button_struct toplevel_path_btn, etc_path_btn, images_path_btn, sounds_path_btn, server_path_btn, opm_file_btn; /* Keymaps */ clist_struct keymaps_list; push_button_struct scan_key_btn; win_t scan_key_win; /* Prompts for keypress */ bool_t scanning_key; pixel_t scan_key_fg_pix, scan_key_bg_pix; }; extern void OptWinSetTab(optwin_struct *ow, const int tab_num); extern optwin_struct *OptWinNew(void); extern void OptWinDraw(optwin_struct *ow, const int amount); extern void OptWinQueueDraw(optwin_struct *ow, const int amount); extern int OptWinManage(optwin_struct *ow, event_t *event); extern void OptWinMap(optwin_struct *ow); extern void OptWinMapValues(optwin_struct *ow, win_t toplevel); extern void OptWinUnmap(optwin_struct *ow); extern void OptWinDelete(optwin_struct *ow); #endif /* OPTWIN_H */