From: Fred Pierresteguy Date: Fri, 11 Mar 1994 10:36:17 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: emacs-19.34~9547 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9331cca8ba2f434bcbd468d14efbd5acf7426880;p=emacs.git *** empty log message *** --- diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c index 1f858cbea3d..996238cc37a 100644 --- a/lwlib/lwlib.c +++ b/lwlib/lwlib.c @@ -35,11 +35,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define alloca __builtin_alloca #endif -#if ((!__GNUC__) && !defined(__hpux)) && !defined(AIXV3) +#if ((!__GNUC__) && !defined(__hpux)) && !defined(_AIX) #include #endif -#if defined(AIXV3) +#if defined(_AIX) #pragma alloca #endif @@ -52,6 +52,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #if defined (USE_OLIT) #include "lwlib-Xol.h" #endif +#if defined (USE_XAW) +#include "lwlib-Xaw.h" +#endif #if !defined (USE_LUCID) && !defined (USE_MOTIF) && !defined (USE_OLIT) ERROR! At least one of USE_LUCID, USE_MOTIF or USE_OLIT must be defined. @@ -321,6 +324,14 @@ get_widget_info (id, remove_p) return NULL; } +/* Internal function used by the library dependent implementation to get the + widget_value for a given widget in an instance */ +widget_info * +lw_get_widget_info (LWLIB_ID id) +{ + return get_widget_info (id, 0); +} + static widget_instance * get_widget_instance (widget, remove_p) Widget widget; @@ -572,6 +583,10 @@ set_one_value (instance, val, deep_p) #if defined (USE_OLIT) if (lw_olit_widget_p (instance->widget)) xol_update_one_widget (instance, widget, val, deep_p); +#endif +#if defined (USE_XAW) + if (lw_xaw_widget_p (instance->widget)) + xaw_update_one_widget (instance, widget, val, deep_p); #endif } } @@ -741,6 +756,10 @@ instanciate_widget_instance (instance) if (!function) function = find_in_table (instance->info->type, xol_creation_table); #endif +#if defined (USE_XAW) + if (!function) + function = find_in_table (instance->info->type, xaw_creation_table); +#endif if (!function) { @@ -753,6 +772,10 @@ instanciate_widget_instance (instance) if (!function) function = xm_create_dialog; #endif +#if defined (USE_XAW) + if (!function) + function = xaw_create_dialog; +#endif #if defined (USE_OLIT) /* not yet */ #endif @@ -878,6 +901,11 @@ destroy_one_instance (instance) if (lw_olit_widget_p (instance->widget)) xol_destroy_instance (instance); else +#endif +#if defined (USE_XAW) + if (lw_xaw_widget_p (instance->widget)) + xaw_destroy_instance (instance); + else #endif /* do not remove the empty statement */ ; @@ -995,19 +1023,34 @@ lw_pop_all_widgets (id, up) for (instance = info->instances; instance; instance = instance->next) if (instance->pop_up_p && instance->widget) { - if (!XtIsRealized (instance->widget)) - XtRealizeWidget (instance->widget); #if defined (USE_LUCID) if (lw_lucid_widget_p (instance->widget)) - xlw_pop_instance (instance, up); + { + XtRealizeWidget (instance->widget); + xlw_pop_instance (instance, up); + } #endif #if defined (USE_MOTIF) if (lw_motif_widget_p (instance->widget)) - xm_pop_instance (instance, up); + { + XtRealizeWidget (instance->widget); + xm_pop_instance (instance, up); + } #endif #if defined (USE_OLIT) if (lw_olit_widget_p (instance->widget)) - xol_pop_instance (instance, up); + { + XtRealizeWidget (instance->widget); + xol_pop_instance (instance, up); + } +#endif +#if defined (USE_XAW) + if (lw_xaw_widget_p (instance->widget)) + { + XtRealizeWidget (XtParent (instance->widget)); + XtRealizeWidget (instance->widget); + xaw_pop_instance (instance, up); + } #endif } } @@ -1042,6 +1085,10 @@ lw_popup_menu (widget) if (lw_olit_widget_p (widget)) xol_popup_menu (widget); #endif +#if defined (USE_XAW) + if (lw_xaw_widget_p (widget)) + xaw_popup_menu (widget); +#endif } /* get the values back */ @@ -1065,6 +1112,10 @@ get_one_value (instance, val) #if defined (USE_OLIT) if (lw_olit_widget_p (instance->widget)) xol_update_one_value (instance, widget, val); +#endif +#if defined (USE_XAW) + if (lw_xaw_widget_p (instance->widget)) + xaw_update_one_value (instance, widget, val); #endif return True; }