DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦d56d70701⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Menus, seg_021fd0

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--      Copyright (c) 1990 Meridian Software Systems, Inc.      --
with Mac_Types;
use Mac_Types;
with Quickdraw;
package Menus is

    Nomark : constant := 0;
    Mdrawmsg : constant := 0;
    Mchoosemsg : constant := 1;
    Msizemsg : constant := 2;
    Textmenuproc : constant := 0;
    Hmenucmd : constant := 27;
    Hiermenu : constant := -1;
    Mpopupmsg : constant := 3;
    Mctallitems : constant := -98;
    Mctlastidindic : constant := -99;

    type Menuinfo is
        record
            Menuid : Mac_Types.Integer;
            Menuwidth : Mac_Types.Integer;
            Menuheight : Mac_Types.Integer;
            Menuproc : Handle;
            Enableflags : Longint;
            Menudata : Str255;
        end record;
    type Menuptr is access Menuinfo;
    type Menuhandle is access Menuptr;

    type Mcentry is
        record
            Mctid : Mac_Types.Integer;
            Mctitem : Mac_Types.Integer;
            Mctrgb1 : Quickdraw.Rgbcolor;
            Mctrgb2 : Quickdraw.Rgbcolor;
            Mctrgb3 : Quickdraw.Rgbcolor;
            Mctrgb4 : Quickdraw.Rgbcolor;
            Mctreserved : Mac_Types.Integer;
        end record;
    type Mcentryptr is access Mcentry;

    type Mctable is array (0 .. 0) of Mcentry;
    type Mctableptr is access Mctable;
    type Mctablehandle is access Mctableptr;

    procedure Initmenus;
    pragma Interface (Mpwpascal, Initmenus, "16#A930#");

    function Newmenu (Menuid : Mac_Types.Integer; Menutitle : Str255)
                     return Menuhandle;
    pragma Interface (Mpwpascal, Newmenu, "16#A931#");

    function Getmenu (Resourceid : Mac_Types.Integer) return Menuhandle;
    pragma Interface (Mpwpascal, Getmenu, "16#A9BF#");

    procedure Disposemenu (Themenu : Menuhandle);
    pragma Interface (Mpwpascal, Disposemenu, "16#A932#");

    procedure Appendmenu (Menu : Menuhandle; Data : Str255);
    pragma Interface (Mpwpascal, Appendmenu, "16#A933#");

    procedure Addresmenu (Themenu : Menuhandle; Thetype : Restype);
    pragma Interface (Mpwpascal, Addresmenu, "16#A94D#");

    procedure Insertresmenu (Themenu : Menuhandle;
                             Thetype : Restype;
                             Afteritem : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Insertresmenu, "16#A951#");

    procedure Insertmenu (Themenu : Menuhandle; Beforeid : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Insertmenu, "16#A935#");

    procedure Drawmenubar;
    pragma Interface (Mpwpascal, Drawmenubar, "16#A937#");

    procedure Deletemenu (Menuid : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Deletemenu, "16#A936#");

    procedure Clearmenubar;
    pragma Interface (Mpwpascal, Clearmenubar, "16#A934#");

    function Getnewmbar (Menubarid : Mac_Types.Integer) return Handle;
    pragma Interface (Mpwpascal, Getnewmbar, "16#A9C0#");

    function Getmenubar return Handle;
    pragma Interface (Mpwpascal, Getmenubar, "16#A93B#");

    procedure Setmenubar (Menulist : Handle);
    pragma Interface (Mpwpascal, Setmenubar, "16#A93C#");

    procedure Insmenuitem (Themenu : Menuhandle;
                           Itemstring : Str255;
                           Afteritem : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Insmenuitem, "16#A826#");

    procedure Delmenuitem (Themenu : Menuhandle; Item : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Delmenuitem, "16#A952#");

    function Menukey (Ch : Charword) return Longint;
    pragma Interface (Mpwpascal, Menukey, "16#A93E#");

    procedure Hilitemenu (Menuid : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Hilitemenu, "16#A938#");

    procedure Setitem (Themenu : Menuhandle;
                       Item : Mac_Types.Integer;
                       Itemstring : Str255);
    pragma Interface (Mpwpascal, Setitem, "16#A947#");

    procedure Getitem (Themenu : Menuhandle;
                       Item : Mac_Types.Integer;
                       Itemstring : in out Str255);
    pragma Interface (Mpwpascal, Getitem, "16#A946#");

    procedure Disableitem (Themenu : Menuhandle; Item : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Disableitem, "16#A93A#");

    procedure Enableitem (Themenu : Menuhandle; Item : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Enableitem, "16#A939#");

    procedure Checkitem (Themenu : Menuhandle;
                         Item : Mac_Types.Integer;
                         Checked : Boolean);
    pragma Interface (Mpwpascal, Checkitem, "16#A945#");

    procedure Setitemmark (Themenu : Menuhandle;
                           Item : Mac_Types.Integer;
                           Markchar : Charword);
    pragma Interface (Mpwpascal, Setitemmark, "16#A944#");

    procedure Getitemmark (Themenu : Menuhandle;
                           Item : Mac_Types.Integer;
                           Markchar : in out Charword);
    pragma Interface (Mpwpascal, Getitemmark, "16#A943#");

    procedure Setitemicon (Themenu : Menuhandle;
                           Item : Mac_Types.Integer;
                           Icon : Byteword);
    pragma Interface (Mpwpascal, Setitemicon, "16#A940#");

    procedure Getitemicon (Themenu : Menuhandle;
                           Item : Mac_Types.Integer;
                           Iconnum : in out Byteword);
    pragma Interface (Mpwpascal, Getitemicon, "16#A93F#");

    procedure Setitemstyle (Themenu : Menuhandle;
                            Item : Mac_Types.Integer;
                            Chstyle : Quickdraw.Style);
    pragma Interface (Mpwpascal, Setitemstyle, "16#A942#");

    procedure Getitemstyle (Themenu : Menuhandle;
                            Item : Mac_Types.Integer;
                            Chstyle : in out Quickdraw.Style);
    pragma Interface (Mpwpascal, Getitemstyle, "GETITEMSTYLE");

    procedure Calcmenusize (Themenu : Menuhandle);
    pragma Interface (Mpwpascal, Calcmenusize, "16#A948#");

    function Countmitems (Themenu : Menuhandle) return Mac_Types.Integer;
    pragma Interface (Mpwpascal, Countmitems, "16#A950#");

    function Getmhandle (Menuid : Mac_Types.Integer) return Menuhandle;
    pragma Interface (Mpwpascal, Getmhandle, "16#A949#");

    procedure Flashmenubar (Menuid : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Flashmenubar, "16#A94C#");

    procedure Setmenuflash (Count : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Setmenuflash, "16#A94A#");

    function Menuselect (Startpt : Point) return Longint;
    pragma Interface (Mpwpascal, Menuselect, "16#A93D#");

    procedure Initprocmenu (Resid : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Initprocmenu, "16#A808#");

    procedure Getitemcmd (Themenu : Menuhandle;
                          Item : Mac_Types.Integer;
                          Cmdchar : in out Charword);
    pragma Interface (Mpwpascal, Getitemcmd, "16#A84E#");

    procedure Setitemcmd (Themenu : Menuhandle;
                          Item : Mac_Types.Integer;
                          Cmdchar : Charword);
    pragma Interface (Mpwpascal, Setitemcmd, "16#A84F#");

    function Popupmenuselect (Menu : Menuhandle;
                              Top : Mac_Types.Integer;
                              Left : Mac_Types.Integer;
                              Popupitem : Mac_Types.Integer) return Longint;
    pragma Interface (Mpwpascal, Popupmenuselect, "16#A80B#");

    function Menuchoice return Longint;
    pragma Interface (Mpwpascal, Menuchoice, "16#AA66#");

    procedure Delmcentries (Menuid : Mac_Types.Integer;
                            Menuitem : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Delmcentries, "16#AA60#");

    function Getmcinfo return Mctablehandle;
    pragma Interface (Mpwpascal, Getmcinfo, "16#AA61#");

    procedure Setmcinfo (Menuctbl : Mctablehandle);
    pragma Interface (Mpwpascal, Setmcinfo, "16#AA62#");

    procedure Dispmcinfo (Menuctbl : Mctablehandle);
    pragma Interface (Mpwpascal, Dispmcinfo, "16#AA63#");

    function Getmcentry
                (Menuid : Mac_Types.Integer; Menuitem : Mac_Types.Integer)
                return Mcentryptr;
    pragma Interface (Mpwpascal, Getmcentry, "16#AA64#");

    procedure Setmcentries (Numentries : Mac_Types.Integer;
                            Menucentries : Mctableptr);
    pragma Interface (Mpwpascal, Setmcentries, "16#AA65#");

    generic
        with procedure Routine (Message : Mac_Types.Integer;
                                Themenu : Menuhandle;
                                Menurect : Rect;
                                Hitpt : Point;
                                Whichitem : Varinteger);
    procedure Usermenuroutine;

    generic
        with function Routine (Selector : Mac_Types.Integer;
                               Message : Mac_Types.Integer;
                               Parameter1 : Mac_Types.Integer;
                               Parameter2 : Longint) return Longint;
    procedure Usermenubarroutine;

end Menus;



E3 Meta Data

    nblk1=b
    nid=6
    hdr6=14
        [0x00] rec0=23 rec1=00 rec2=01 rec3=02e
        [0x01] rec0=1a rec1=00 rec2=02 rec3=044
        [0x02] rec0=19 rec1=00 rec2=03 rec3=046
        [0x03] rec0=19 rec1=00 rec2=04 rec3=03a
        [0x04] rec0=17 rec1=00 rec2=05 rec3=01c
        [0x05] rec0=15 rec1=00 rec2=0b rec3=07a
        [0x06] rec0=19 rec1=00 rec2=07 rec3=022
        [0x07] rec0=16 rec1=00 rec2=08 rec3=064
        [0x08] rec0=1a rec1=00 rec2=09 rec3=052
        [0x09] rec0=09 rec1=00 rec2=0a rec3=000
        [0x0a] rec0=2c rec1=00 rec2=00 rec3=010
    tail 0x2171dcbd283906e006132 0x42a00088462060003
Free Block Chain:
  0x6: 0000  00 00 03 fc 80 29 20 20 20 20 20 20 20 20 20 20  ┆     )          ┆