home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / VPR_DATA / DOGA / SOURCES / POLYEDIT.LZH / MODEL / MENU.H < prev    next >
C/C++ Source or Header  |  1996-03-08  |  2KB  |  78 lines

  1. /*
  2.  *    プルダウンメニュー制御
  3.  *
  4.  *        Copyright    T.Kobayashi        1994.7.9
  5.  */
  6. #ifndef MENU
  7. #define    MENU
  8.  
  9. #define    MAX_ITEM        40            /*    メニューの数                */
  10. #define    MAX_MENU        12            /*    メニューの最大数            */
  11. #define    MENU_LEVELS        5            /*    サブメニューのレベル        */
  12. #define    CTRL_WIDTH        (9*FontH+7)    /*    コントロールパネルの幅        */
  13. #define    TITLE_LEN        39            /*    タイトル名の長さ            */
  14. #define    ITEM_LEN        39            /*    項目名の長さ                */
  15.  
  16. #define MENU_CHECK        1            /*    チェックマーク付き    */
  17. #define MENU_DISABLE    2            /*    選択不可 */
  18. #define STATUSTEXTLENGTH 255        /*    ステータス文字列の長さ    */
  19. #define MAXSTATUS 8                    /*     ステータス領域の数    */
  20.  
  21. typedef    char    ItemName[ITEM_LEN+1] ;
  22.  
  23. typedef    struct    {
  24.     short        type ;
  25.     short        ref ;
  26.     int            size ;
  27.     int            items ;
  28.     char        title[TITLE_LEN+1] ;
  29.     ItemName    item[MAX_ITEM] ;
  30.     int            exec[MAX_ITEM] ;
  31.     int            query[MAX_ITEM] ;
  32.     int            check[MAX_ITEM];
  33. }
  34.     MenuClass ;
  35.  
  36. extern    MenuClass    *Menu[MAX_MENU] ;
  37. extern    MenuClass    *MenuStack[MENU_LEVELS][MAX_MENU] ;
  38. extern    int            MenuStackPtr ;
  39. extern    int            MenuClassID ;
  40. extern    int            CurrentX, CurrentY;
  41. extern    char         StatusText[MAXSTATUS][STATUSTEXTLENGTH+1];
  42. extern    int            StatusWidth[MAXSTATUS];
  43.  
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47. /*    menu.c    */
  48. extern    void    MenuInit( void );
  49. extern    void    DrawTitleBar( void );
  50. extern    void    CallMenu( int, int );
  51. #ifdef WINDOWS
  52. extern    void    ExecMenu( int, int );
  53. #endif
  54. #ifndef __cplusplus
  55. extern    void    SetMenu( MenuClass*, int );
  56. #endif
  57. extern    void    PushMenu( void );
  58. extern    void    PopMenu( void );
  59. extern    void    CurrentMenuItem(char *item);
  60. extern    void    CurrentMenuFunction(int ident);
  61. extern    void    CurrentMenuEnable(int check);
  62.  
  63. /*    menulib.c    */
  64. extern    void    MenuLibInit( void );
  65.  
  66. /*    ctrl.c    */
  67. extern    void    DrawControlPanel( void );
  68. extern    void    ControlSelect( int, int );
  69. extern    void    DrawAttrSelect( void );
  70. extern    void    DrawObjSelect( void );
  71. extern    void    DrawCursorPos( void );
  72.  
  73. extern    void    DrawStatusBar(int);
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77. #endif
  78.