home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / CLIPPER / NCCLIB.ZIP / NCCVIEW.ZIP / G_MENU.PRG < prev    next >
Text File  |  1994-01-20  |  8KB  |  134 lines

  1. //═══════════════════════════════════════════════════════╕
  2. //  Program .....: G_Menu                                │
  3. //  CopyRight ...: 1993 National Computer Consultants    │
  4. //                 All rights are reserved.              │
  5. //  Author ......: Greg Rice                             │
  6. //═══════════════════════════════════════════════════════╛
  7.  
  8.  
  9. #include "g_menu.ch"
  10. #include "inkey.ch"
  11.  
  12. Function g_menu()
  13.  
  14.     local Bar
  15.  
  16.  
  17.     Bar := NccBar():New(1)
  18.  
  19.     Bar:MouseActive := .t.
  20.  
  21.     Bar:AddMenuPrompt( ABOUT , ' ≡ '         ) ; Bar:PromptSubMenu( ABOUT ,  Menu_(0, Bar) )
  22.     Bar:AddMenuPrompt( FILE , ' File '       ) ; Bar:PromptSubMenu( FILE ,  Menu_(1, Bar) )
  23.     Bar:AddMenuPrompt( EDIT , ' Edit '       ) ; Bar:PromptSubMenu( EDIT ,  Menu_(2, Bar) )
  24.     Bar:AddMenuPrompt( INDEX , ' Index '     ) ; Bar:PromptSubMenu( INDEX ,  Menu_(3, Bar) )
  25.     Bar:AddMenuPrompt( VIEW , ' Field~s '    ) ; Bar:PromptSubMenu( VIEW ,  Menu_(4, Bar) )
  26.     Bar:AddMenuPrompt( POSITION , ' Record ' ) ; Bar:PromptSubMenu( POSITION ,  Menu_(5, Bar) )
  27.     Bar:AddMenuPrompt( WINDOW , ' Window '   ) ; Bar:PromptSubMenu( WINDOW ,  Menu_(6, Bar) )
  28.     Bar:AddMenuPrompt( HELP , ' Help '       ) ; Bar:PromptSubMenu( HELP ,  Menu_(8, Bar) )
  29.  
  30.     Bar:PromptQuickKey( CHANGE_RECORD , K_ENTER )
  31.     Bar:PromptQuickKey( VIEW_MODIFY   , K_ALT_L )
  32.     Bar:PromptQuickKey( WIN_MOVE      , K_ALT_M )
  33.     Bar:PromptQuickKey( SYS_EXIT      , K_ALT_X )
  34.     Bar:PromptQuickKey( WIN_ZOOM      , K_ALT_Z )
  35.  
  36.     Bar:PromptQuickKey( INDEX_REORDER , K_CTRL_H )
  37.  
  38. Return( Bar )
  39.  
  40.  
  41. static Function Menu_( x, Bar )
  42.  
  43.     local m, s
  44.  
  45.  
  46.     m := NccMenu():New
  47.     m:Shadow       := .t.
  48.     m:Border       := 4
  49.     m:LetterColor  := Bar:LetterColor
  50.  
  51.     Do Case
  52.       Case x == 0
  53.         m:AddPrompt( ABOUT_ABOUT , ' About ' )                                      ; m:PromptMessage( , 'About National Computer Consultants' )
  54.  
  55.       Case x == 1
  56.         m:AddPrompt( DATABASE_OPEN    , ' Open                F' )               ; m:PromptMessage( , 'Open a Database File' )
  57.         m:AddPrompt( DATABASE_CLOSE   , ' Close ' )                                 ; m:PromptMessage( , 'Close Database File' )
  58.         m:AddPromptLine()
  59.         m:AddPrompt( TEXTFILE_OPEN    , ' View Text File ' )                        ; m:PromptMessage( , 'View a Text File' )
  60.         m:AddPromptLine()
  61.         m:AddPrompt( PRINT_SUB, ' Print ' )                                         ; m:PromptMessage( , 'Print...' )
  62.           s := NccMenu():New
  63.           s:Shadow       := m:Shadow
  64.           s:Border       := m:Border
  65.           s:BorderColor  := m:BorderColor
  66.           s:LetterColor  := m:LetterColor
  67.           s:MessageColor := m:MessageColor
  68.  
  69.           s:AddPrompt( PRINT_FILE     , ' File ' )                               ; s:PromptMessage( , 'Print File based on criteria' )
  70.           s:AddPrompt( PRINT_STRUCTURE, ' file ~Structure ' )                    ; s:PromptMessage( , 'Print File structure' )
  71.  
  72.           m:PromptSubMenu( , s )
  73.         m:AddPromptLine()
  74.         m:AddPrompt( SYS_EXIT, ' e~Xit            Alt-X' )                      ; m:PromptMessage( , 'Quit NccView...' )
  75.  
  76.       Case x == 2
  77.         m:AddPrompt( CHANGE_RECORD   , ' Change record               Enter' )      ; m:PromptMessage( , 'Edit Current Record' )
  78.         m:AddPromptLine()
  79.         m:AddPrompt( ADD_RECORD      , ' Add record                      A' )      ; m:PromptMessage( , 'Add Record to Database' )
  80.         m:AddPrompt( DUPE_RECORD     , ' d~Uplicate record ' )                     ; m:PromptMessage( , 'Duplicate Current Record' )
  81.         m:AddPrompt( INS_BLANK       , ' Insert blank record           Ins' )      ; m:PromptMessage( , 'Insert Blank Record' )
  82.         m:AddPrompt( DELE_RECORD     , ' Delete/undelete record          D' )      ; m:PromptMessage( , 'Delete/undelete Group of Records' )
  83.         m:AddPromptLine()
  84.         m:AddPrompt( REPLACE_REC     , ' Replace                         R' )      ; m:PromptMessage( , 'Replace Field values for group of records' )
  85.         m:AddPrompt( PACK_FILE       , ' Pack                            P' )      ; m:PromptMessage( , 'Permanently remove deleted records' )
  86.         m:AddPrompt( ZAP_FILE        , ' Zap                             Z' )      ; m:PromptMessage( , 'Permanently remove all records from current database' )
  87.  
  88.       Case x == 3
  89.         m:AddPrompt( INDEX_NEW      , ' New ' )                                  ; m:PromptMessage( , 'Create New Index' )
  90.         m:AddPrompt( INDEX_OPEN     , ' Open                            I' )     ; m:PromptMessage( , 'Open a Existing Index' )
  91.         m:AddPrompt( INDEX_CLOSE    , ' Close ' )                                ; m:PromptMessage( , 'Close all Index files' )
  92.         m:AddPromptLine()
  93.         m:AddPrompt( INDEX_REORDER  , ' c~Hange index order         Ctrl-H' )    ; m:PromptMessage( , 'Change Controlling Index order' )
  94.         m:AddPrompt( INDEX_MODIFY   , ' modify index ~Expression ' )             ; m:PromptMessage( , 'Change an index expression' )
  95.         m:AddPrompt( INDEX_REINDEX  , ' Recreate all index files    Alt-R' )     ; m:PromptMessage( , 'Reindex all index files' )
  96.         m:AddPromptLine()
  97.         m:AddPrompt( INDEX_RELATION , ' Set Relation ', .f. )                         ; m:PromptMessage( , 'Not available. Underdevelopment' )
  98.  
  99.       Case x == 4
  100.         m:AddPrompt( VIEW_MODIFY  , ' modify field ~List   Alt-L' )             ; m:PromptMessage( , 'Modify Fields in Window')
  101.         m:AddPromptLine()
  102.         m:AddPrompt( VIEW_VERT       , ' Vertical records ' )                       ; m:PromptMessage( , 'Display records in a Vertical format' )
  103.         m:AddPrompt( VIEW_HORI       , ' Horizontal records ' )                     ; m:PromptMessage( , 'Display records in a Horizontal format' )
  104.         m:AddPromptLine()
  105.         m:AddPrompt( _STRUCTURE       , ' str~Ucture ' )                            ; m:PromptMessage( , 'Database Structure...' )
  106.           s := NccMenu():New
  107.           s:Shadow       := m:Shadow
  108.           s:Border       := m:Border
  109.           s:BorderColor  := m:BorderColor
  110.           s:LetterColor  := m:LetterColor
  111.           s:MessageColor := m:MessageColor
  112.           s:AddPrompt( STRUCTURE_DISPLAY, ' Display structure ' )                  ; s:PromptMessage( , 'Display Database Structure' )
  113.           s:AddPrompt( DATABASE_MODIFY  , ' Modify structure '  )                  ; s:PromptMessage( , 'Not available. Underdevelopment' )
  114.           m:PromptSubMenu( , s )
  115.  
  116.       Case x == 5
  117.         m:AddPrompt( GO_REC          , ' Go to record   G' )                     ; m:PromptMessage( , 'Go to specific record' )
  118.         m:AddPrompt( LOCA_REC        , ' Locate         L' )                     ; m:PromptMessage( , 'Locate a record based on a locate command' )
  119.         m:AddPrompt( SEEK_REC        , ' Seek           S' )                     ; m:PromptMessage( , 'Seek a record based on an Index condition' )
  120.  
  121.       Case x == 6
  122.         m:AddPrompt( WIN_NEXT        , ' Next                Tab' )                ; m:PromptMessage( , 'Change to next window by mouse or keyboard' )
  123.         m:AddPrompt( WIN_PREV        , ' Previous      Shift-Tab' )                ; m:PromptMessage( , 'Change to previous window by mouse or keyboard' )
  124.         m:AddPrompt( WIN_MOVE        , ' Move/resize       Alt-M' )                ; m:PromptMessage( , 'Change window coordinates or position by mouse or keyboard' )
  125.         m:AddPrompt( WIN_ZOOM        , ' Zoom              Alt-Z' )                ; m:PromptMessage( , 'Toggle between Full screen and default size window' )
  126.  
  127.       Case x == 8
  128.         m:AddPrompt( HELP_GEN        , ' Help ' )                                  ; m:PromptMessage( , 'Help on NccView' )
  129.         m:AddPrompt( HELP_KEY        , ' Help Index ' )                              ; m:PromptMessage( , 'Index on Help in the system' )
  130.  
  131.     EndCase
  132.  
  133. Return( m )
  134.