home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-19.28-src.tgz / tar.out / fsf / emacs / lwlib / lwlib-int.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  1KB  |  55 lines

  1. #ifndef LWLIB_INTERNAL_H
  2. #define LWLIB_INTERNAL_H
  3.  
  4. #include "lwlib.h"
  5.  
  6. /*
  7. extern char *strdup (const char *);
  8. extern int strcasecmp (const char *, const char *);
  9. */
  10.  
  11. typedef struct _widget_instance
  12. {
  13.   Widget        widget;
  14.   Widget        parent;
  15.   Boolean        pop_up_p;
  16.   struct _widget_info*        info;
  17.   struct _widget_instance*    next;
  18. } widget_instance;
  19.  
  20. typedef struct _widget_info
  21. {
  22.   char*            type;
  23.   char*            name;
  24.   LWLIB_ID        id;
  25.   widget_value*        val;
  26.   Boolean        busy;
  27.   lw_callback        pre_activate_cb;
  28.   lw_callback        selection_cb;
  29.   lw_callback        post_activate_cb;
  30.   struct _widget_instance*    instances;
  31.   struct _widget_info*        next;
  32. } widget_info;
  33.  
  34. typedef Widget
  35. (*widget_creation_function) ();
  36.  
  37. typedef struct _widget_creation_entry
  38. {
  39.   char*                type;
  40.   widget_creation_function    function;
  41. } widget_creation_entry;
  42.  
  43. /* update all other instances of a widget.  Can be used in a callback when
  44.    a wiget has been used by the user */
  45. void
  46. lw_internal_update_other_instances ();
  47.  
  48. /* get the widget_value for a widget in a given instance */
  49. widget_value*
  50. lw_get_widget_value_for_widget ();
  51.  
  52. widget_info *lw_get_widget_info ();
  53.  
  54. #endif /* LWLIB_INTERNAL_H */
  55.