X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/01492d1b7c916d117bce7d634243f2132437f270..716e0b0ab9bff9358719803a607745387aca65f9:/lwlib/lwlib.h diff --git a/lwlib/lwlib.h b/lwlib/lwlib.h index f52e257bd7..6bf26fe23c 100644 --- a/lwlib/lwlib.h +++ b/lwlib/lwlib.h @@ -19,6 +19,7 @@ ** radio: ("name" NULL NULL T/F data (selectable thing...)) ** strings: ("name" NULL NULL T/F data (selectable thing...)) ** text: ("name" "string" T/F data) +** main: ("name") */ typedef unsigned long LWLIB_ID; @@ -47,6 +48,9 @@ typedef struct _widget_value Boolean edited; /* true if has changed (maintained by lw library) */ change_type change; + /* true if this widget itself has changed, + but not counting the other widgets found in the `next' field. */ + change_type this_one_change; /* Contents of the sub-widgets, also selected slot for checkbox */ struct _widget_value* contents; /* data passed to callback */ @@ -66,31 +70,53 @@ typedef struct _widget_value } widget_value; -typedef void (*lw_callback) (); - -void lw_register_widget (); -Widget lw_get_widget (); -Widget lw_make_widget (); -Widget lw_create_widget (); -LWLIB_ID lw_get_widget_id (); -void lw_modify_all_widgets (); -void lw_destroy_widget (); -void lw_destroy_all_widgets (); -void lw_destroy_everything (); -void lw_destroy_all_pop_ups (); -Widget lw_raise_all_pop_up_widgets (); -widget_value* lw_get_all_values (); -Boolean lw_get_some_values (); -void lw_pop_up_all_widgets (); -void lw_pop_down_all_widgets (); +typedef void (*lw_callback) (/* Widget w, LWLIB_ID id, void* data */); + +void lw_register_widget (/* char* type, char* name, LWLIB_ID id, + widget_value* val, lw_callback pre_activate_cb, + lw_callback selection_cb, + lw_callback post_activate_cb */); +Widget lw_get_widget (/* LWLIB_ID id, Widget parent, Boolean pop_up_p */); +Widget lw_make_widget (/* LWLIB_ID id, Widget parent, Boolean pop_up_p */); +Widget lw_create_widget (/* char* type, char* name, LWLIB_ID id, + widget_value* val, Widget parent, Boolean pop_up_p, + lw_callback pre_activate_cb, + lw_callback selection_cb, + lw_callback post_activate_cb */); +LWLIB_ID lw_get_widget_id (/* Widget w */); +void lw_modify_all_widgets (/* LWLIB_ID id, widget_value* val, Boolean deep_p */); +void lw_destroy_widget (/* Widget w */); +void lw_destroy_all_widgets (/* LWLIB_ID id */); +void lw_destroy_everything (/* void */); +void lw_destroy_all_pop_ups (/* void */); +Widget lw_raise_all_pop_up_widgets (/* void */); +widget_value* lw_get_all_values (/* LWLIB_ID id */); +Boolean lw_get_some_values (/* LWLIB_ID id, widget_value* val */); +void lw_pop_up_all_widgets (/* LWLIB_ID id */); +void lw_pop_down_all_widgets (/* LWLIB_ID id */); widget_value *malloc_widget_value (); -void free_widget_value (); -void lw_popup_menu (); +void free_widget_value (/* widget_value * */); +void lw_popup_menu (/* Widget */); /* Toolkit independent way of focusing on a Widget at the Xt level. */ -void lw_set_keyboard_focus (); +void lw_set_keyboard_focus (/* Widget parent, Widget w */); /* Silly Energize hack to invert the "sheet" button */ -void lw_show_busy (); +void lw_show_busy (/* Widget w, Boolean busy */); + +/* Silly hack to assist with Lucid/Athena geometry management. */ +void lw_refigure_widget (/* Widget w, Boolean doit */); + +/* Toolkit independent way of determining if an event occurred on a + menubar. */ +Boolean lw_window_is_in_menubar (/* Window win, Widget menubar_widget */); + +/* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */ +void lw_allow_resizing (/* Widget w, Boolean flag */); + +/* Set up the main window. */ +void lw_set_main_areas (/* Widget parent, + Widget menubar, + Widget work_area */); #endif /* LWLIB_H */