diff options
author | Paul Reilly <pmr@pajato.com> | 1994-09-16 17:37:03 +0000 |
---|---|---|
committer | Paul Reilly <pmr@pajato.com> | 1994-09-16 17:37:03 +0000 |
commit | 5f66976685e22c338885d3aff6247d56779e206e (patch) | |
tree | 75a466cd4d75bdd55a051365400f4a92d7329e71 /lwlib | |
parent | dc61a15fda46aee194299868b6c5497ab80d088d (diff) | |
download | emacs-5f66976685e22c338885d3aff6247d56779e206e.tar.gz |
*** empty log message ***
Diffstat (limited to 'lwlib')
-rw-r--r-- | lwlib/lwlib-Xm.c | 25 | ||||
-rw-r--r-- | lwlib/lwlib.h | 58 |
2 files changed, 59 insertions, 24 deletions
diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c index 13d28862697..f56d22bf288 100644 --- a/lwlib/lwlib-Xm.c +++ b/lwlib/lwlib-Xm.c @@ -37,8 +37,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <Xm/FileSB.h> #include <Xm/Label.h> #include <Xm/List.h> +#include <Xm/MainW.h> #include <Xm/MenuShell.h> #include <Xm/MessageB.h> +#include <Xm/PanedW.h> #include <Xm/PushB.h> #include <Xm/PushBG.h> #include <Xm/ArrowB.h> @@ -84,8 +86,8 @@ make_destroyed_instance (char* name, char* type, Widget widget, Widget parent, { destroyed_instance* instance = (destroyed_instance*)malloc (sizeof (destroyed_instance)); - instance->name = strdup (name); - instance->type = strdup (type); + instance->name = safe_strdup (name); + instance->type = safe_strdup (type); instance->widget = widget; instance->parent = parent; instance->pop_up_p = pop_up_p; @@ -635,7 +637,7 @@ xm_update_one_value (widget_instance* instance, Widget widget, { if (val->value) free (val->value); - val->value = strdup (XtName (toggle)); + val->value = safe_strdup (XtName (toggle)); } } val->edited = True; @@ -659,7 +661,7 @@ xm_update_one_value (widget_instance* instance, Widget widget, if (pos_list [j] == i) { cur->selected = True; - val->value = strdup (cur->name); + val->value = safe_strdup (cur->name); } } val->edited = 1; @@ -1152,6 +1154,20 @@ make_popup_menu (widget_instance* instance) parent->core.window = parent_window; return result; } +static Widget +make_main (widget_instance* instance) +{ + Widget parent = instance->parent; + Widget result; + Arg al[2]; + int ac; + + ac = 0; + XtSetArg (al[ac], XtNborderWidth, 0); ac++; + XtSetArg (al[ac], XmNspacing, 0); ac++; + result = XmCreateMainWindow (parent, instance->info->name, al, ac); + return result; +} /* Table of functions to create widgets */ @@ -1260,6 +1276,7 @@ xm_creation_table [] = { {"menubar", make_menubar}, {"popup", make_popup_menu}, + {"main", make_main}, #ifdef ENERGIZE {"project_p_sheet", make_project_p_sheet}, {"debugger_p_sheet", make_debugger_p_sheet}, diff --git a/lwlib/lwlib.h b/lwlib/lwlib.h index f52e257bd7a..607695ccb48 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" <ign> T/F data) +** main: ("name") */ typedef unsigned long LWLIB_ID; @@ -66,31 +67,48 @@ typedef struct _widget_value } widget_value; -typedef void (*lw_callback) (); +typedef void (*lw_callback) (/* Widget w, LWLIB_ID id, void* data */); -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 (); +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, Boolan 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 */); #endif /* LWLIB_H */ |