XEmacs 21.4.5 "Civil Service".
[chise/xemacs-chise.git.1] / lwlib / lwlib.h
index 76d3241..ad0241b 100644 (file)
@@ -104,8 +104,11 @@ typedef struct _widget_args
   ArgList args;
   int  nargs;
   /* Copying args is impossible so we make the caller give us heap allocated
-     args and free them when on-one wants them any more. */
+     args and free them when no one wants them any more. */
   int  ref_count;
+  /* Since we are reference counting we need to be able to determine
+     when something has changed. */
+  Boolean      args_changed;
 } widget_args;
 
 typedef struct _widget_value
@@ -115,7 +118,7 @@ typedef struct _widget_value
 
   /* name of widget */
   char*                name;
-  /* value (meaning BOGUSLY depend on widget type) */
+  /* value (meaning BOGUSLY depends on widget type) */
   char*                value;
   /* keyboard equivalent. no implications for XtTranslations */
   char*                key;
@@ -134,11 +137,11 @@ typedef struct _widget_value
   Boolean      edited;
   /* true if has changed (maintained by lw library) */
   change_type  change;
-  /* Contents of the sub-widgets, also selected slot for checkbox */
+  /* Contents of sub-widgets, also selected slot for checkbox */
   struct _widget_value*        contents;
   /* data passed to callback */
   XtPointer    call_data;
-  /* next one in the list */
+  /* next in the list of siblings */
   struct _widget_value*        next;
   /* slot for the toolkit dependent part.  Always initialize to NULL. */
   void* toolkit_data;
@@ -211,6 +214,7 @@ void lw_pop_up_all_widgets (LWLIB_ID id);
 void lw_pop_down_all_widgets (LWLIB_ID id);
 void lw_add_value_args_to_args (widget_value* wv, ArgList addto, int* offset);
 void lw_add_widget_value_arg (widget_value* wv, String name, XtArgVal value);
+XtArgVal lw_get_value_arg (widget_value* wv, String name);
 void lw_copy_widget_value_args (widget_value* copy, widget_value* val);
 widget_value * copy_widget_value_tree (widget_value *val, change_type change);