import GUI in "%oot/lib/GUI" 
 
        
 
        View.Set ("graphics:250;150,nobuttonbar") 
 
        var first, second : int     % The menus. 
 
        var item : array 1 .. 12 of int % The menu items. 
 
        var name : array 1 .. 12 of string (20) := 
 
            init ("Quit", "---", "A", "B", "---", "C", "D", 
 
            "Disable B Menu Item", "Enable B Menu Item", "---", 
 
            "Disable Second Menu", "Enable Second Menu") 
 
        
 
        procedure MenuSelected 
 
            for i : 1 .. 12 
 
                if item (i) = GUI.GetEventWidgetID then 
 
                    Text.Locate (maxrow, 1) 
 
                    put name (i) + " selected               " .. 
 
                end if 
 
            end for 
 
        end MenuSelected 
 
        
 
        procedure DisableB 
 
            GUI.Disable (item (4)) 
 
        end DisableB 
 
        
 
        procedure EnableB 
 
            GUI.Enable (item (4)) 
 
        end EnableB 
 
        
 
        procedure DisableFirst 
 
            GUI.Disable (first) 
 
        end DisableFirst 
 
        
 
        procedure EnableFirst 
 
            GUI.Enable (first) 
 
        end EnableFirst 
 
        
 
        % Create the menus 
 
        first := GUI.CreateMenu ("First") 
 
        item (1) := GUI.CreateMenuItem (name (1), GUI.Quit) 
 
        for cnt : 2 .. 7 
 
            item (cnt) := GUI.CreateMenuItem (name (cnt), 
 
                MenuSelected) 
 
        end for 
 
        
 
        second := GUI.CreateMenu ("Second") 
 
        item (8) := GUI.CreateMenuItem (name (8), DisableB) 
 
        item (9) := GUI.CreateMenuItem (name (9), EnableB) 
 
        item (10) := GUI.CreateMenuItem (name (10), MenuSelected) 
 
        item (11) := GUI.CreateMenuItem (name (11), DisableFirst) 
 
        item (12) := GUI.CreateMenuItem (name (12), EnableFirst) 
 
        
 
        loop 
 
            exit when GUI.ProcessEvent 
 
        end loop 
 
  |