home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gwm18a.zip / wl_menu.h < prev    next >
C/C++ Source or Header  |  1995-07-03  |  2KB  |  79 lines

  1. /* Copyright 1989 GROUPE BULL -- See license conditions in file COPYRIGHT
  2.  * Copyright 1989 Massachusetts Institute of Technology
  3.  */
  4. /*********************\
  5. *               *
  6. *  WOOL_OBJECT  Menu  *
  7. *  DEFINITIONS          *
  8. *               *
  9. \*********************/
  10.  
  11. #ifndef INCLUDE_WL_MENU_H
  12. #define INCLUDE_WL_MENU_H
  13.  
  14. /* type */
  15.  
  16. /*
  17.  * A menu is a window around bars
  18.  */
  19.  
  20. typedef struct _WOOL_Menu {
  21.     WOOL_HEADER;
  22.     int            direction;
  23.     int            bar_separator;
  24.     Menu        wob_menu;
  25.     int             width;
  26.     int             heigth;
  27.     int             borderwidth;
  28.     long            borderpixel;
  29.     long            background;
  30.     WOOL_OBJECT        property;
  31.     WOOL_OBJECT        bordertile;
  32.     WOOL_OBJECT     fsm;
  33.     WOOL_OBJECT     menu;
  34.     WOOL_OBJECT     cursor;
  35.     int            bars_size;
  36.     WOOL_Bar        bars[1];
  37. }              *WOOL_Menu;
  38.  
  39. /* exported functions */
  40.  
  41. EXT WOOL_Menu wool_menu_make();
  42. EXT WOOL_Menu WLMenu_make();
  43. EXT WOOL_OBJECT WLMenu_print();
  44. EXT WOOL_OBJECT WLMenu_free();
  45. EXT WOOL_OBJECT WLMenu_get_dimensions();
  46.  
  47. #define must_be_menu(obj, n) must_be_or_nil(WLMenu, obj, n)
  48.  
  49. /* methods */
  50.  
  51. EXT WOOL_METHOD WLMenu[]
  52. #ifdef DO_INIT
  53. = {
  54.    (WOOL_METHOD) 0,        /* METHODS_ARRAY */
  55.    WLNumber_eval,        /* WOOL_eval 1 */
  56.    WLMenu_print,        /* WOOL_print 2 */
  57.    WLMenu_free,            /* WOOL_free 3 */
  58.    wool_undefined_method_2,        /* WOOL_execute 4 */
  59.    wool_undefined_method_2,        /* WOOL_set 5 */
  60.    wool_undefined_method_1,    /* WOOL_get_C_value 6 */
  61.    wool_undefined_method_1,    /* WOOL_open 7 */
  62.    wool_undefined_method_1,    /* WOOL_close 8 */
  63.    wool_undefined_method_2,    /* WOOL_process_event 9 */
  64.    wool_undefined_method_1,    /* WOOL_copy 10 */
  65.    WLMenu_get_dimensions,    /* WOOL_get_dimensions 11 */
  66.    wool_undefined_method_2,    /* WOOL_draw 12 */
  67.    wool_undefined_method_2,    /* WOOL_equal 13 */
  68.    wool_undefined_method_2,
  69.    wool_undefined_method_2,
  70.    wool_undefined_method_1,
  71.    wool_undefined_method_1,
  72.    wool_undefined_method_1,
  73.    wool_undefined_method_1,
  74.    wool_undefined_method_1
  75. }
  76. #endif /* DO_INIT */
  77.                ;
  78. #endif /* INCLUDE_WL_MENU_H */
  79.