X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lwlib%2Flwlib-Xaw.c;h=2fe4dc9cefbcbcb9fc966de98ed57240c275b5de;hb=7b241b273a632ab80d7c620b5add28d5f11b0fd3;hp=4cf14dea677e4ef4a946d79b057047615215a2e3;hpb=a1655b870904de973c366d85ebdc8adde4ef5e1e;p=chise%2Fxemacs-chise.git.1 diff --git a/lwlib/lwlib-Xaw.c b/lwlib/lwlib-Xaw.c index 4cf14de..2fe4dc9 100644 --- a/lwlib/lwlib-Xaw.c +++ b/lwlib/lwlib-Xaw.c @@ -33,22 +33,20 @@ Boston, MA 02111-1307, USA. */ #include #ifdef LWLIB_SCROLLBARS_ATHENA -#include ATHENA_INCLUDE(Scrollbar.h) +#include ATHENA_Scrollbar_h_ #endif #ifdef LWLIB_DIALOGS_ATHENA -#include ATHENA_INCLUDE(Dialog.h) -#include ATHENA_INCLUDE(Form.h) -#include ATHENA_INCLUDE(Command.h) -#include ATHENA_INCLUDE(Label.h) +#include ATHENA_Dialog_h_ +#include ATHENA_Form_h_ +#include ATHENA_Command_h_ +#include ATHENA_Label_h_ #endif #ifdef LWLIB_WIDGETS_ATHENA -#include ATHENA_INCLUDE(Toggle.h) +#include ATHENA_Toggle_h_ #include "xlwradio.h" #include "xlwcheckbox.h" #include "xlwgauge.h" -#ifndef NEED_MOTIF -#include ATHENA_INCLUDE(AsciiText.h) -#endif +#include ATHENA_AsciiText_h_ #endif #include @@ -179,6 +177,7 @@ xaw_update_one_widget (widget_instance *instance, Widget widget, } #endif /* ! LWLIB_DIALOGS_ATHENA3D */ + lw_remove_accelerator_spec (val->value); XtSetArg (al [0], XtNlabel, val->value); XtSetArg (al [1], XtNsensitive, val->enabled); /* Force centered button text. See above. */ @@ -230,7 +229,7 @@ xaw_update_one_value (widget_instance *instance, Widget widget, Arg al [2]; String buf = 0; XtSetArg (al [0], XtNstring, &buf); - XtGetValues (widget, al, 2); + XtGetValues (widget, al, 1); if (val->value) { @@ -598,11 +597,14 @@ wm_delete_window (Widget shell, XtPointer closure, XtPointer call_data) abort (); XtSetArg (al [0], XtNchildren, &kids); XtGetValues (shell, al, 1); - if (!kids || !*kids) - abort (); - widget = kids [0]; - if (! XtIsSubclass (widget, dialogWidgetClass)) - abort (); + if (!kids || !*kids) abort (); + + for (widget = *kids; + widget && ! XtIsSubclass (widget, dialogWidgetClass); + widget = *++kids) + ; + if (!widget) abort (); + id = lw_get_widget_id (widget); if (! id) abort (); @@ -791,6 +793,8 @@ xaw_create_label (Widget parent, widget_value* val) /* Do it again for arguments that have no effect until the widget is realized. */ ac = 0; lw_add_value_args_to_args (val, al, &ac); + if (ac > 20) + abort (); /* #### need assert macro in lwlib */ XtSetValues (label, al, ac); return label; @@ -835,7 +839,7 @@ xaw_create_progress (widget_instance *instance) return scale; } -#ifndef NEED_MOTIF +#if defined(LWLIB_WIDGETS_ATHENA) #define TEXT_BUFFER_SIZE 128 static Widget xaw_create_text_field (widget_instance *instance) @@ -877,7 +881,7 @@ xaw_create_text_field (widget_instance *instance) #endif /* LWLIB_WIDGETS_ATHENA */ -widget_creation_entry +const widget_creation_entry xaw_creation_table [] = { #ifdef LWLIB_SCROLLBARS_ATHENA @@ -887,9 +891,7 @@ xaw_creation_table [] = #ifdef LWLIB_WIDGETS_ATHENA {"button", xaw_create_button }, { "label", xaw_create_label_field }, -#ifndef NEED_MOTIF {"text-field", xaw_create_text_field }, -#endif {"progress", xaw_create_progress }, #endif {NULL, NULL}