home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / AMWP-2.ZIP / MACROS.ZIP / CUSTMENU.SMM < prev    next >
Encoding:
INI File  |  1990-07-05  |  34.1 KB  |  2,560 lines

  1. [ver]
  2.     4
  3. [sty]
  4.     
  5. [files]
  6. [prn]
  7.     PCL / HP LaserJet
  8. [lang]
  9.     1
  10. [desc]
  11.     Allows complete customization of Am<\m> Professional menu bar and sub menus. Can rename, delete, add menus and items.
  12.     
  13.     
  14.     
  15.     
  16.     647228509
  17.     76
  18.     629144757
  19. [fopts]
  20.     0
  21.     1
  22.     0
  23.     0
  24. [lnopts]
  25.     2
  26.     Body Text
  27. [docopts]
  28.     5
  29.     2
  30. [tag]
  31.     Body Text
  32.     2
  33.     [fnt]
  34.         Helv
  35.         240
  36.         0
  37.         16385
  38.     [algn]
  39.         225
  40.         1
  41.         0
  42.         0
  43.         0
  44.     [spc]
  45.         17
  46.         201
  47.         1
  48.         0
  49.         72
  50.         1
  51.         100
  52.     [brk]
  53.         0
  54.     [line]
  55.         8
  56.         0
  57.         1
  58.         0
  59.         1
  60.         1
  61.         1
  62.         10
  63.         10
  64.         1
  65.     [spec]
  66.         0
  67.         0
  68.         
  69.         0
  70.         1
  71.         0
  72.         0
  73.         0
  74.         0
  75.         0
  76.     [nfmt]
  77.         272
  78.         1
  79.         2
  80.         .
  81.         ,
  82.         $
  83. [tag]
  84.     Body Single
  85.     3
  86.     [fnt]
  87.         Helv
  88.         240
  89.         0
  90.         16385
  91.     [algn]
  92.         225
  93.         1
  94.         0
  95.         0
  96.         0
  97.     [spc]
  98.         17
  99.         201
  100.         1
  101.         0
  102.         72
  103.         1
  104.         100
  105.     [brk]
  106.         4
  107.     [line]
  108.         8
  109.         0
  110.         1
  111.         0
  112.         1
  113.         1
  114.         1
  115.         10
  116.         10
  117.         1
  118.     [spec]
  119.         0
  120.         0
  121.         
  122.         0
  123.         1
  124.         0
  125.         0
  126.         0
  127.         0
  128.         0
  129.     [nfmt]
  130.         272
  131.         1
  132.         2
  133.         .
  134.         ,
  135.         $
  136. [lay]
  137.     Standard
  138.     513
  139.     [rght]
  140.         15840
  141.         12240
  142.         1
  143.         1440
  144.         1440
  145.         1
  146.         1440
  147.         1440
  148.         0
  149.         1
  150.         0
  151.         1
  152.         1
  153.         1
  154.         1
  155.         1440
  156.         10800
  157.         0
  158.     [hrght]
  159.     [lyfrm]
  160.         1
  161.         11200
  162.         0
  163.         0
  164.         12240
  165.         1440
  166.         1
  167.         1
  168.         3
  169.         1
  170.         0
  171.         0
  172.         0
  173.     [frmlay]
  174.         1440
  175.         12240
  176.         1
  177.         1440
  178.         0
  179.         1
  180.         0
  181.         1440
  182.         0
  183.         1
  184.         0
  185.         1
  186.         1
  187.         1
  188.         1
  189.         1440
  190.         10800
  191.         0
  192.     [txt]
  193. >
  194.     [frght]
  195.     [lyfrm]
  196.         1
  197.         13248
  198.         0
  199.         14400
  200.         12240
  201.         15840
  202.         1
  203.         1
  204.         3
  205.         1
  206.         0
  207.         0
  208.         0
  209.     [frmlay]
  210.         15840
  211.         12240
  212.         1
  213.         1440
  214.         0
  215.         1
  216.         14400
  217.         1440
  218.         0
  219.         1
  220.         0
  221.         1
  222.         1
  223.         1
  224.         1
  225.         1440
  226.         10800
  227.         0
  228.     [txt]
  229. >
  230. [elay]
  231. [l1]
  232.     0
  233. [edoc]
  234. @Body Single@'
  235.  
  236. @Body Single@' modmenu - create custom menus 
  237.  
  238. @Body Single@'
  239.  
  240. @Body Single@function modmenu(barname)
  241.  
  242. @Body Single@'singlestep(0)
  243.  
  244. @Body Single@ignorekeyboard(1)
  245.  
  246. @Body Single@Declare    InitMenuArray(globalid, filename)
  247.  
  248. @Body Single@Declare FreeMenuArray(globalid)
  249.  
  250. @Body Single@Declare LoadTopDialog(globalid, count, name)
  251.  
  252. @Body Single@Declare LoadSubDialog(globid, globcnt, index)
  253.  
  254. @Body Single@Declare FindIdxByName(id, string)
  255.  
  256. @Body Single@Declare DoSubMenu(globid, menucnt, index)
  257.  
  258. @Body Single@Declare DeleteByIndex(id, index)
  259.  
  260. @Body Single@Declare LoadInsDlg()
  261.  
  262. @Body Single@Declare InsertAmi(id, index, before, text)
  263.  
  264. @Body Single@Declare InsertMacro(id, index, before, text, macro)
  265.  
  266. @Body Single@Declare SaveMenu(id, cnt, name, overwrite)
  267.  
  268. @Body Single@Declare AddExt(name, ext)
  269.  
  270. @Body Single@Declare InsertMenu(id, name, index, before)
  271.  
  272. @Body Single@Declare menunew.smm!NewMenu(name)
  273.  
  274. @Body Single@Declare Wild(xBarname)
  275.  
  276. @Body Single@macpath = getmacpath$()
  277.  
  278. @Body Single@stdname = "{macpath}standard.mnu"
  279.  
  280. @Body Single@if "" = barname                        ' if none passed use
  281.  
  282.     autoloadmnu = getprofilestring$("" "custmnu")
  283.  
  284.     if autoloadmnu = "" then
  285.  
  286.         writeprofilestring("" "custmnu" "{macpath}standard.mnu")
  287.  
  288. @Body Single@        barname = "{macpath}standard.mnu"
  289.  
  290.     else
  291.  
  292.         barname = autoloadmnu
  293.  
  294. @Body Single@    endif
  295.  
  296. @Body Single@endif
  297.  
  298. @Body Single@
  299. @Body Single@oncancel freeup
  300.  
  301. @Body Single@'time1 = GetTime()
  302.  
  303.  
  304. @Body Single@menucnt = InitMenuArray(927, barname)
  305.  
  306. @Body Single@'time2 = (GetTime() - time1) / 1000
  307.  
  308. @Body Single@'message("That took {time2} seconds (menucnt {menucnt})")
  309.  
  310. @Body Single@
  311. @Body Single@go = 1
  312.  
  313. @Body Single@if (0 << menucnt)                                        ' init ok?
  314.  
  315. @Body Single@    while (go)
  316.  
  317. @Body Single@        LoadTopDialog(927, menucnt, barname)    
  318.  
  319. @Body Single@        what = DialogBox("menumac.ext", "topmenu")
  320.  
  321. @Body Single@        if (1 = what)
  322.  
  323. @Body Single@            if (barname != stdname)
  324.  
  325. @Body Single@                savemenu(927,  menucnt, barname, TRUE)
  326.  
  327. @Body Single@                menunew.smm!NewMenu(barname)
  328.  
  329. @Body Single@                barname = ucase$(barname)
  330.  
  331. @Body Single@                writeprofilestring("" "custmnu" barname)
  332.  
  333. @Body Single@                break
  334.  
  335. @Body Single@            endif
  336.  
  337. @Body Single@        endif
  338.  
  339. @Body Single@        if (0 = what)
  340.  
  341. @Body Single@            break
  342.  
  343. @Body Single@        endif
  344.  
  345. @Body Single@
  346. @Body Single@        ' delete, rename and modify need to know what was selected
  347.  
  348. @Body Single@
  349. @Body Single@        if (what = 3) or (what = 4) or (what = 7) or (what = 8)
  350.  
  351. @Body Single@            temp = GetDialogField$(9000)
  352.  
  353. @Body Single@            if ("" <<>> temp)
  354.  
  355. @Body Single@                globidx = FindIdxByname(927, temp)
  356.  
  357. @Body Single@            else
  358.  
  359. @Body Single@                globidx = 1
  360.  
  361. @Body Single@                temp = GetGlobalArray$(927, 1)
  362.  
  363. @Body Single@            endif
  364.  
  365. @Body Single@        endif
  366.  
  367. @Body Single@
  368. @Body Single@        switch what
  369.  
  370. @Body Single@        case 4                        ' Rename
  371.  
  372. @Body Single@            FillEdit(8000, temp)
  373.  
  374. @Body Single@            Filledit(8001, temp)
  375.  
  376. @Body Single@            if (DialogBox("menumac.ext", "rename"))
  377.  
  378. @Body Single@                newname = GetDialogField$(8000)
  379.  
  380. @Body Single@                if (newname <<>> "")
  381.  
  382. @Body Single@                    offset = globidx * 2 - 1
  383.  
  384. @Body Single@                    SetGlobalArray(927, offset, newname)
  385.  
  386. @Body Single@                endif
  387.  
  388. @Body Single@            endif
  389.  
  390. @Body Single@        case  3                        ' Modify
  391.  
  392. @Body Single@            DoSubMenu(927, menucnt, globidx)
  393.  
  394. @Body Single@        case 1
  395.  
  396. @Body Single@            goto saveit                ' Good Heavens!  a goto.
  397.  
  398. @Body Single@        case 5                        ' Save As
  399.  
  400. @Body Single@saveit:
  401.  
  402. @Body Single@            if (barname != stdname)
  403.  
  404. @Body Single@                filledit(8001 barname)
  405.  
  406. @Body Single@            endif
  407.  
  408. @Body Single@            filledit(8001, stdname)
  409.  
  410. @Body Single@            if (DialogBox("menumac.ext", "savemenu"))
  411.  
  412. @Body Single@                savename = GetDialogField$(8000)
  413.  
  414. @Body Single@                savename = AddExt(savename, "mnu")
  415.  
  416. @Body Single@                if (savename <<>> stdname)
  417.  
  418. @Body Single@                    if (savemenu(927,  menucnt, savename,
  419.  
  420. @Body Single@                                         FALSE))
  421.  
  422. @Body Single@                        barname = savename
  423.  
  424. @Body Single@                    endif
  425.  
  426. @Body Single@                    if (1 = what)
  427.  
  428. @Body Single@                        menunew.smm!NewMenu(barname)
  429.  
  430. @Body Single@                        go = 0
  431.  
  432. @Body Single@                    endif
  433.  
  434. @Body Single@                else
  435.  
  436. @Body Single@                    Message("Cannot use {stdname}")
  437.  
  438. @Body Single@                endif
  439.  
  440. @Body Single@            endif
  441.  
  442. @Body Single@        case 6                        ' Open
  443.  
  444. @Body Single@            FillEdit(9001, "{macpath}*.mnu")
  445.  
  446. @Body Single@            if (DialogBox("menumac.ext", "openmenu"))
  447.  
  448. @Body Single@                tempname = GetDialogField$(9001)
  449.  
  450. @Body Single@                tempname = AddExt(tempname, "mnu")
  451.  
  452. @Body Single@                fid = fopen("{macpath}{tempname}", "r")
  453.  
  454. @Body Single@                if (-1 != fid)
  455.  
  456. @Body Single@                    fclose(fid)
  457.  
  458. @Body Single@                    menucnt = initmenuarray(927, tempname)
  459.  
  460. @Body Single@                    barname = tempname
  461.  
  462. @Body Single@                endif
  463.  
  464. @Body Single@            endif
  465.  
  466. @Body Single@        case 9                        ' reset
  467.  
  468. @Body Single@            hourglass(1)
  469.  
  470. @Body Single@            menucnt = initmenuarray(927, stdname)
  471.  
  472. @Body Single@            xstdname = wild(stdname)
  473.  
  474. @Body Single@            writeprofilestring("" "{macpath}custmnu" xstdname)
  475.  
  476. @Body Single@            barname = stdname
  477.  
  478. @Body Single@            hourglass(0)
  479.  
  480. @Body Single@        case 7                        ' AddMenu...
  481.  
  482. @Body Single@            FillEdit(8001, temp)
  483.  
  484. @Body Single@            FillEdit(8002, temp)
  485.  
  486. @Body Single@            FillEdit(104, 1)
  487.  
  488. @Body Single@            if (DialogBox("menumac.ext", "addmenu"))
  489.  
  490. @Body Single@                newname = GetDialogField$(8000)
  491.  
  492. @Body Single@                if (newname <<>> "")
  493.  
  494. @Body Single@                    before = GetDialogField$(104)
  495.  
  496. @Body Single@                    InsertMenu(927, newname, globidx, before)
  497.  
  498. @Body Single@                    menucnt = menucnt + 1
  499.  
  500. @Body Single@                endif
  501.  
  502. @Body Single@            endif
  503.  
  504. @Body Single@        case 8                    ' Delete
  505.  
  506. @Body Single@            offset = globidx * 2
  507.  
  508. @Body Single@            temp = GetGlobalArray$(927, offset)
  509.  
  510. @Body Single@            FreeGlobalVar(temp)
  511.  
  512. @Body Single@            hourglass(1)
  513.  
  514. @Body Single@            DeleteByIndex(927, globidx)
  515.  
  516. @Body Single@            hourglass(0)
  517.  
  518. @Body Single@            menucnt = menucnt - 1        
  519.  
  520. @Body Single@        endswitch
  521.  
  522. @Body Single@    wend
  523.  
  524. @Body Single@endif
  525.  
  526. @Body Single@freeup:
  527.  
  528. @Body Single@FreeMenuArray(927)
  529.  
  530. @Body Single@hourglass(0)
  531.  
  532. @Body Single@end function
  533.  
  534. @Body Single@<:p<* >>
  535.  
  536. @Body Single@' InitMenuArray - load a ".MNU" file into memory.  There will be one 
  537. main 
  538.  
  539. @Body Single@' array for the bar, and then one array per menu.  Each element will 
  540. have two
  541.  
  542. @Body Single@' parts.  The main will have the text that appears on the bar, and 
  543. the global id
  544.  
  545. @Body Single@' that contains the menu definition.  The menu definition has the 
  546. text that 
  547.  
  548. @Body Single@' appears on the pull down, and then either the ami function number 
  549. or 
  550.  
  551. @Body Single@' a macro name.
  552.  
  553. @Body Single@'  MNU files has one line entries with ` separated fields.  The first 
  554. field specifies
  555.  
  556. @Body Single@' the type: a menu (1), menu item (2) or a separator(3).  
  557.  
  558. @Body Single@FUNCTION InitMenuArray(globid, filename)
  559.  
  560. @Body Single@if (0 = AllocGlobalVar(globid, 40))
  561.  
  562. @Body Single@    FreeMenuArray(globid)
  563.  
  564. @Body Single@    AllocGlobalVar(globid, 40)
  565.  
  566. @Body Single@endif                    ' keep info here
  567.  
  568. @Body Single@menucnt = 0
  569.  
  570. @Body Single@hourglass(1)
  571.  
  572. @Body Single@fid = fopen(filename, "r")
  573.  
  574. @Body Single@if (0 != fid)
  575.  
  576. @Body Single@    while (1)                                    ' read until
  577.  
  578. @Body Single@        line = fgets$(fid)
  579.  
  580. @Body Single@        if (-1 = line)                            ' end of file
  581.  
  582. @Body Single@            break
  583.  
  584. @Body Single@        endif
  585.  
  586. @Body Single@        ctrl = strfield$(line, 1, "`")
  587.  
  588. @Body Single@        switch ctrl
  589.  
  590. @Body Single@            case 1        ' New menu
  591.  
  592. @Body Single@                menucnt = menucnt + 1
  593.  
  594. @Body Single@                menuname = strfield$(line, 2, "`")
  595.  
  596. @Body Single@                SetGlobalArray(globid, menucnt, menuname)
  597.  
  598. @Body Single@                menucnt = menucnt + 1
  599.  
  600. @Body Single@                subcnt = 0
  601.  
  602. @Body Single@                subid = AllocGlobalVar(0, 40)
  603.  
  604. @Body Single@                SetGlobalArray(globid, menucnt, subid)
  605.  
  606. @Body Single@            case 2
  607.  
  608. @Body Single@                subcnt = subcnt + 1
  609.  
  610. @Body Single@                itemname = Strfield$(line, 2, "`")
  611.  
  612. @Body Single@                SetGlobalArray(subid, subcnt, itemname)
  613.  
  614. @Body Single@                subcnt = subcnt + 1
  615.  
  616. @Body Single@                itemid = Strfield$(line, 3, "`")
  617.  
  618. @Body Single@                SetGlobalArray(subid, subcnt, itemid)
  619.  
  620. @Body Single@            case 3
  621.  
  622. @Body Single@                subcnt = subcnt + 1
  623.  
  624. @Body Single@                SetGlobalArray(subid, subcnt, "-")
  625.  
  626. @Body Single@                subcnt = subcnt + 1
  627.  
  628. @Body Single@        endswitch
  629.  
  630. @Body Single@    wend
  631.  
  632. @Body Single@    fclose(fid)
  633.  
  634. @Body Single@else
  635.  
  636. @Body Single@    message("Failed to open {filename}")
  637.  
  638. @Body Single@endif
  639.  
  640. @Body Single@hourglass(0)
  641.  
  642. @Body Single@return menucnt / 2
  643.  
  644. @Body Single@END FUNCTION<:p<* >>
  645.  
  646. @Body Single@' FreeMenuArray - free the global  array 
  647.  
  648. @Body Single@function FreeMenuArray(globid)
  649.  
  650. @Body Single@
  651. @Body Single@' run through the main array and free the menu arrays
  652.  
  653. @Body Single@
  654. @Body Single@for i = 1 to 20
  655.  
  656. @Body Single@    index = i * 2
  657.  
  658. @Body Single@    id = GetGlobalArray$(globid, index)
  659.  
  660. @Body Single@    if ("" = id)
  661.  
  662. @Body Single@        break
  663.  
  664. @Body Single@    endif
  665.  
  666. @Body Single@    FreeGlobalVar(id)
  667.  
  668. @Body Single@next
  669.  
  670. @Body Single@
  671. @Body Single@FreeGlobalVar(globid)        ' finally free the main
  672.  
  673. @Body Single@end function
  674.  
  675. @Body Single@<:p<* >>
  676.  
  677. @Body Single@' Stuff the top level dialog box
  678.  
  679. @Body Single@'
  680.  
  681. @Body Single@function LoadTopDialog(globid, cnt, barname)
  682.  
  683. @Body Single@
  684. @Body Single@' Add all the menu names
  685.  
  686. @Body Single@
  687. @Body Single@for i = 1 to cnt
  688.  
  689. @Body Single@    index = (i * 2) - 1
  690.  
  691. @Body Single@    item = GetGlobalArray$(globid, index)
  692.  
  693. @Body Single@    FillList(item)
  694.  
  695. @Body Single@next
  696.  
  697. @Body Single@xbarname = wild(barname)
  698.  
  699. @Body Single@FillEdit(8008, xbarname)                ' finally the filename
  700.  
  701. @Body Single@end function
  702.  
  703. @Body Single@'
  704.  
  705. @Body Single@' Stuff the modify menu dialog box.
  706.  
  707. @Body Single@function LoadSubDialog(globid, globcnt, globidx)
  708.  
  709. @Body Single@' Locate the menu array
  710.  
  711. @Body Single@offset = globidx * 2
  712.  
  713. @Body Single@subid = GetGlobalArray$(globid, offset)            ' pick up the global id
  714.  
  715. @Body Single@offset = offset - 1                            ' back up to where
  716.  
  717. @Body Single@temp = GetGlobalArray$(globid, offset)            ' where name is
  718.  
  719. @Body Single@FillEdit(8006, temp)                            ' add the name
  720.  
  721. @Body Single@
  722. @Body Single@' now run through the array adding the menu strings to the list box
  723.  
  724. @Body Single@offset = 1
  725.  
  726. @Body Single@hourglass(1)
  727.  
  728. @Body Single@while (1)
  729.  
  730. @Body Single@    item = GetGlobalArray$(subid, offset)
  731.  
  732. @Body Single@    if ("" = item)
  733.  
  734. @Body Single@        break
  735.  
  736. @Body Single@    endif
  737.  
  738. @Body Single@
  739. @Body Single@    FillEdit(9000, item)
  740.  
  741. @Body Single@    offset = offset + 2
  742.  
  743. @Body Single@wend
  744.  
  745. @Body Single@hourglass(0)
  746.  
  747. @Body Single@end function
  748.  
  749. @Body Single@    <:p<* >>
  750.  
  751. @Body Single@' Given a string find the index of that string.
  752.  
  753. @Body Single@'
  754.  
  755. @Body Single@function FindIdxbyname(id, string)
  756.  
  757. @Body Single@index = 1
  758.  
  759. @Body Single@while (1)
  760.  
  761. @Body Single@    temp = GetGlobalArray$(id, index)
  762.  
  763. @Body Single@    if "" = temp
  764.  
  765. @Body Single@        if ("" != string)
  766.  
  767. @Body Single@            message("{string} not found")
  768.  
  769. @Body Single@        endif
  770.  
  771. @Body Single@        return 1
  772.  
  773. @Body Single@    endif
  774.  
  775. @Body Single@    if (string = temp)
  776.  
  777. @Body Single@        return (index + 1) / 2
  778.  
  779. @Body Single@    endif
  780.  
  781. @Body Single@    index = index + 2
  782.  
  783. @Body Single@wend
  784.  
  785. @Body Single@end function
  786.  
  787. @Body Single@
  788. @Body Single@' Make sure the passed name has the passed extension
  789.  
  790. @Body Single@
  791. @Body Single@function AddExt(name, ext)
  792.  
  793. @Body Single@offset = strchr(1, name, ".")
  794.  
  795. @Body Single@if (-1 = offset)                            ' No extension?
  796.  
  797. @Body Single@    name = strcat$(name, ".")            ' add the period
  798.  
  799. @Body Single@    name = strcat$(name, ext)            ' then the extension
  800.  
  801. @Body Single@else
  802.  
  803. @Body Single@    name = mid$(name, 1, offset)            ' pull all but the ext
  804.  
  805. @Body Single@    name = strcat$(name, ext)            ' then add it
  806.  
  807. @Body Single@endif
  808.  
  809. @Body Single@return name
  810.  
  811. @Body Single@end function
  812.  
  813. @Body Single@<:p<* >>
  814.  
  815. @Body Single@'  Modify menu dialog box
  816.  
  817. @Body Single@function DoSubMenu(globid, menucnt, globidx)
  818.  
  819. @Body Single@offset = globidx * 2
  820.  
  821. @Body Single@subid = GetGlobalArray$(globid, offset)
  822.  
  823. @Body Single@while (1)
  824.  
  825. @Body Single@    LoadSubDialog(globid, menucnt, globidx)
  826.  
  827. @Body Single@    stat = dialogBox("menumac.ext", "submenu")
  828.  
  829. @Body Single@    if (1 = stat) or (0 = stat)
  830.  
  831. @Body Single@        break
  832.  
  833. @Body Single@    endif
  834.  
  835. @Body Single@    temp = GetDialogField$(9000)
  836.  
  837. @Body Single@    if ("" != temp) or (stat = 4) or (stat = 6)
  838.  
  839. @Body Single@        index = FindIdxByName(subid, temp)
  840.  
  841. @Body Single@        switch stat
  842.  
  843. @Body Single@            case 3                                ' delete
  844.  
  845. @Body Single@                DeleteByIndex(subid, index)
  846.  
  847. @Body Single@            case 5                                ' rename
  848.  
  849. @Body Single@                temp = GetDialogField$(9000)
  850.  
  851. @Body Single@                if ("" = temp)
  852.  
  853. @Body Single@                    break
  854.  
  855. @Body Single@                endif
  856.  
  857. @Body Single@                subidx = FindIdxbyname(subid, temp)
  858.  
  859. @Body Single@                offset = subidx * 2 - 1
  860.  
  861. @Body Single@                FillEdit(8001, temp)
  862.  
  863. @Body Single@                FillEdit(8000, temp)
  864.  
  865. @Body Single@                if (DialogBox("menumac.ext", "rename"))
  866.  
  867. @Body Single@                    newname = GetDialogField$(8000)
  868.  
  869. @Body Single@                    if ("" <<>> newname)
  870.  
  871. @Body Single@                        SetGlobalArray(subid, offset,newname)
  872.  
  873. @Body Single@                    endif
  874.  
  875. @Body Single@                endif
  876.  
  877. @Body Single@            case 4                                ' insert Ami Fun
  878.  
  879. @Body Single@                LoadInsDlg()
  880.  
  881. @Body Single@                FillEdit(8009, temp)
  882.  
  883. @Body Single@                if (DialogBox("menumac.ext", "amimenu"))
  884.  
  885. @Body Single@                    temp = GetDialogField$(9000)
  886.  
  887. @Body Single@                    before = GetDialogField$(104)
  888.  
  889. @Body Single@                    if ("" <<>> temp)
  890.  
  891. @Body Single@                        InsertAmi(subid, index, before, temp)
  892.  
  893. @Body Single@                    endif
  894.  
  895. @Body Single@                endif
  896.  
  897. @Body Single@            case 6                                ' insert macro
  898.  
  899. @Body Single@                macropath = getprofilestring$("" "macrodir")
  900.  
  901. @Body Single@                FillEdit(9001, macropath)
  902.  
  903. @Body Single@                FillEdit(104, "1")
  904.  
  905. @Body Single@                FillEdit(8009, temp)
  906.  
  907. @Body Single@                if (DialogBox("menumac.ext", "macmenu"))
  908.  
  909. @Body Single@                    macname = GetDialogfield$(9001)
  910.  
  911. @Body Single@                    text = GetDialogField$(8010)
  912.  
  913. @Body Single@                    before = GetDialogField$(104)
  914.  
  915. @Body Single@                    InsertMacro(subid, index, before, text,  macname)
  916.  
  917. @Body Single@                endif
  918.  
  919. @Body Single@                
  920.  
  921. @Body Single@        endswitch
  922.  
  923. @Body Single@    else
  924.  
  925. @Body Single@        Message("Please select menu item first")
  926.  
  927. @Body Single@    endif
  928.  
  929. @Body Single@wend
  930.  
  931. @Body Single@end function<:p<* >>
  932.  
  933. @Body Single@' Given a global id and an index delete a entry
  934.  
  935. @Body Single@'
  936.  
  937. @Body Single@function DeleteByIndex(id, index)
  938.  
  939. @Body Single@taroff = index * 2 - 1
  940.  
  941. @Body Single@soroff = taroff + 2
  942.  
  943. @Body Single@while (1)
  944.  
  945. @Body Single@    temp = GetGlobalArray$(id, soroff)
  946.  
  947. @Body Single@    if ("" = temp)
  948.  
  949. @Body Single@        break
  950.  
  951. @Body Single@    endif
  952.  
  953. @Body Single@    SetGlobalArray(id, taroff, temp)
  954.  
  955. @Body Single@    soroff = soroff + 1
  956.  
  957. @Body Single@    taroff = taroff + 1
  958.  
  959. @Body Single@    temp = GetGlobalArray$(id, soroff)
  960.  
  961. @Body Single@    SetGlobalArray(id, taroff, temp)
  962.  
  963. @Body Single@    soroff = soroff + 1
  964.  
  965. @Body Single@    taroff = taroff + 1
  966.  
  967. @Body Single@wend
  968.  
  969. @Body Single@SetGlobalArray(id, taroff, "")                    ' signal end of array
  970.  
  971. @Body Single@taroff = taroff + 1
  972.  
  973. @Body Single@SetGlobalArray(id, taroff, "")
  974.  
  975. @Body Single@end function
  976.  
  977. @Body Single@'
  978.  
  979. @Body Single@' Stuff the insert ami function dialog box.
  980.  
  981. @Body Single@function LoadInsDlg()
  982.  
  983. @Body Single@macpath = getmacpath$()
  984.  
  985. @Body Single@fid = fopen("{macpath}standard.mnu", "r")        ' open the standard to 
  986. get all ami funs
  987.  
  988. @Body Single@if (0 != fid)
  989.  
  990. @Body Single@    hourglass(1)
  991.  
  992. @Body Single@    while (1)
  993.  
  994. @Body Single@        line = fgets$(fid)
  995.  
  996. @Body Single@        if (-1 = line)
  997.  
  998. @Body Single@            break
  999.  
  1000. @Body Single@        endif
  1001.  
  1002. @Body Single@        ctrltype = strfield$(line, 1, "`")
  1003.  
  1004. @Body Single@        if (ctrltype = 2)
  1005.  
  1006. @Body Single@            name = strfield$(line, 2, "`")
  1007.  
  1008. @Body Single@            if ("-" != mid$(line, 1, 1))
  1009.  
  1010. @Body Single@                FillList(name)
  1011.  
  1012. @Body Single@            endif
  1013.  
  1014. @Body Single@        endif
  1015.  
  1016. @Body Single@    wend
  1017.  
  1018. @Body Single@    fclose(fid)
  1019.  
  1020. @Body Single@    hourglass(0)
  1021.  
  1022. @Body Single@endif
  1023.  
  1024. @Body Single@Filledit(104, "1")
  1025.  
  1026. @Body Single@end function
  1027.  
  1028. @Body Single@<:p<* >>
  1029.  
  1030. @Body Single@function InsertMenu(globid, newname, index, before)
  1031.  
  1032. @Body Single@
  1033. @Body Single@' make a hole for the new entry, find the end
  1034.  
  1035. @Body Single@
  1036. @Body Single@taroff = 1
  1037.  
  1038. @Body Single@while ("" != GetGlobalArray$(globid, taroff)) 'find the end
  1039.  
  1040. @Body Single@    taroff = taroff + 2
  1041.  
  1042. @Body Single@wend
  1043.  
  1044. @Body Single@taroff = taroff + 1        ' point to macroname
  1045.  
  1046. @Body Single@soroff = taroff - 2
  1047.  
  1048. @Body Single@if (before)
  1049.  
  1050. @Body Single@    lastsor = index * 2 - 1
  1051.  
  1052. @Body Single@else
  1053.  
  1054. @Body Single@    lastsor = index * 2 + 1
  1055.  
  1056. @Body Single@endif
  1057.  
  1058. @Body Single@while (soroff >>= lastsor)
  1059.  
  1060. @Body Single@    temp = GetGlobalArray$(globid, soroff)
  1061.  
  1062. @Body Single@    SetGlobalArray(globid, taroff, temp)
  1063.  
  1064. @Body Single@    soroff = soroff - 1
  1065.  
  1066. @Body Single@    taroff = taroff - 1
  1067.  
  1068. @Body Single@wend
  1069.  
  1070. @Body Single@
  1071. @Body Single@SetGlobalArray(globid, lastsor, newname)
  1072.  
  1073. @Body Single@lastsor  = lastsor+ 1
  1074.  
  1075. @Body Single@subid = AllocGlobalVar(0, 40)
  1076.  
  1077. @Body Single@SetGlobalArray(globid, lastsor, subid)
  1078.  
  1079. @Body Single@
  1080. @Body Single@end function
  1081.  
  1082. @Body Single@
  1083. @Body Single@
  1084. @Body Single@
  1085. @Body Single@' Insert a macro into a menu array
  1086.  
  1087. @Body Single@'
  1088.  
  1089. @Body Single@function InsertMacro(subid, index, before, menutext, macroname)
  1090.  
  1091. @Body Single@lastsor = 1
  1092.  
  1093. @Body Single@if ("" <<>> GetGlobalArray$(subid, 1))
  1094.  
  1095. @Body Single@
  1096. @Body Single@' make a hole for the new entry, find the end
  1097.  
  1098. @Body Single@
  1099. @Body Single@    taroff = 1
  1100.  
  1101. @Body Single@    while ("" != GetGlobalArray$(subid, taroff))
  1102.  
  1103. @Body Single@        taroff = taroff + 2
  1104.  
  1105. @Body Single@    wend
  1106.  
  1107. @Body Single@    taroff = taroff + 1        ' point to macroname
  1108.  
  1109. @Body Single@    soroff = taroff - 2
  1110.  
  1111. @Body Single@    if (before)
  1112.  
  1113. @Body Single@        lastsor = index * 2 - 1
  1114.  
  1115. @Body Single@    else
  1116.  
  1117. @Body Single@        lastsor = index * 2 + 1
  1118.  
  1119. @Body Single@    endif
  1120.  
  1121. @Body Single@    while (soroff >>= lastsor)
  1122.  
  1123. @Body Single@        temp = GetGlobalArray$(subid, soroff)
  1124.  
  1125. @Body Single@        SetGlobalArray(subid, taroff, temp)
  1126.  
  1127. @Body Single@        soroff = soroff - 1
  1128.  
  1129. @Body Single@        taroff = taroff - 1
  1130.  
  1131. @Body Single@    wend
  1132.  
  1133. @Body Single@endif
  1134.  
  1135. @Body Single@SetGlobalArray(subid, lastsor, menutext)
  1136.  
  1137. @Body Single@lastsor  = lastsor+ 1
  1138.  
  1139. @Body Single@SetGlobalArray(subid, lastsor, macroname)
  1140.  
  1141. @Body Single@
  1142. @Body Single@end function
  1143.  
  1144. @Body Single@'<:p<* >>
  1145.  
  1146. @Body Single@' Insert an ami function into a menu array
  1147.  
  1148. @Body Single@function InsertAmi(subid, index, before, menutext)
  1149.  
  1150. @Body Single@macpath = getmacpath$()
  1151.  
  1152. @Body Single@menuid = 0
  1153.  
  1154. @Body Single@fid = fopen("{macpath}standard.mnu", "r")        ' reopen the standard
  1155.  
  1156. @Body Single@if (0 != fid)                        ' then shag through until we get
  1157.  
  1158. @Body Single@    while (1)                        ' a macth on menutext, so that
  1159.  
  1160. @Body Single@        hourglass(1)
  1161.  
  1162. @Body Single@        line = fgets$(fid)            ' we can get the function number
  1163.  
  1164. @Body Single@        if (-1 = line)
  1165.  
  1166. @Body Single@            break
  1167.  
  1168. @Body Single@        endif
  1169.  
  1170. @Body Single@        ctrltype = strfield$(line, 1, "`")
  1171.  
  1172. @Body Single@        if (ctrltype = 2)
  1173.  
  1174. @Body Single@            if (menutext = strfield$(line, 2, "`"))
  1175.  
  1176. @Body Single@                menuid = strfield$(line, 3, "`")
  1177.  
  1178. @Body Single@                break
  1179.  
  1180. @Body Single@            endif
  1181.  
  1182. @Body Single@        endif
  1183.  
  1184. @Body Single@    wend
  1185.  
  1186. @Body Single@    fclose(fid)
  1187.  
  1188. @Body Single@    hourglass(0)
  1189.  
  1190. @Body Single@endif
  1191.  
  1192. @Body Single@if (menuid)
  1193.  
  1194. @Body Single@    ' make a hole for the new entry, find the end
  1195.  
  1196. @Body Single@    lastsor = 1
  1197.  
  1198. @Body Single@    if ("" <<>> GetGlobalArray$(subid, 1))
  1199.  
  1200. @Body Single@        taroff = 1
  1201.  
  1202. @Body Single@        while ("" != GetGlobalArray$(subid, taroff))
  1203.  
  1204. @Body Single@            taroff = taroff + 2
  1205.  
  1206. @Body Single@        wend
  1207.  
  1208. @Body Single@        taroff = taroff + 1        ' point to number
  1209.  
  1210. @Body Single@        soroff = taroff - 2
  1211.  
  1212. @Body Single@        if (before)
  1213.  
  1214. @Body Single@            lastsor = index * 2 - 1
  1215.  
  1216. @Body Single@        else
  1217.  
  1218. @Body Single@            lastsor = index * 2 + 1
  1219.  
  1220. @Body Single@        endif
  1221.  
  1222. @Body Single@        while (soroff >>= lastsor)
  1223.  
  1224. @Body Single@
  1225. @Body Single@            temp = GetGlobalArray$(subid, soroff)
  1226.  
  1227. @Body Single@            SetGlobalArray(subid, taroff, temp)
  1228.  
  1229. @Body Single@            soroff = soroff - 1
  1230.  
  1231. @Body Single@            taroff = taroff - 1
  1232.  
  1233. @Body Single@        wend
  1234.  
  1235. @Body Single@    endif
  1236.  
  1237. @Body Single@    SetGlobalArray(subid, lastsor, menutext)
  1238.  
  1239. @Body Single@    lastsor  = lastsor+ 1
  1240.  
  1241. @Body Single@    SetGlobalArray(subid, lastsor, menuid)
  1242.  
  1243. @Body Single@endif
  1244.  
  1245. @Body Single@end function<:p<* >>
  1246.  
  1247. @Body Single@' Save the global menu def to disk
  1248.  
  1249. @Body Single@'
  1250.  
  1251. @Body Single@function SaveMenu(id, cnt, name, overwrite)
  1252.  
  1253. @Body Single@macpath = getmacpath$()
  1254.  
  1255. @Body Single@Declare SaveSub(fid, globod)
  1256.  
  1257. @Body Single@if (NOT overwrite)
  1258.  
  1259. @Body Single@    fid = fopen("{macpath}{name}", "r")
  1260.  
  1261. @Body Single@    if (0 != fid)
  1262.  
  1263. @Body Single@        fclose(fid)
  1264.  
  1265. @Body Single@        if (NOT Decide("{name} exists! Overwrite?"))
  1266.  
  1267. @Body Single@            return 0
  1268.  
  1269. @Body Single@        endif
  1270.  
  1271. @Body Single@    endif
  1272.  
  1273. @Body Single@endif
  1274.  
  1275. @Body Single@fid = fopen("{macpath}{name}", "w")
  1276.  
  1277. @Body Single@if (0 != fid)
  1278.  
  1279. @Body Single@    offset = 1
  1280.  
  1281. @Body Single@    hourglass(1)
  1282.  
  1283. @Body Single@    for i = 1 to cnt
  1284.  
  1285. @Body Single@        temp = GetGlobalArray$(id, offset)
  1286.  
  1287. @Body Single@        temp = strcat$("1`", temp)
  1288.  
  1289. @Body Single@        fputs(fid, temp)
  1290.  
  1291. @Body Single@        offset = offset + 1
  1292.  
  1293. @Body Single@        subid = GetGlobalArray$(id, offset)
  1294.  
  1295. @Body Single@        SaveSub(fid, subid)
  1296.  
  1297. @Body Single@        offset = offset + 1
  1298.  
  1299. @Body Single@    next
  1300.  
  1301. @Body Single@    fclose(fid)
  1302.  
  1303. @Body Single@    hourglass(0)
  1304.  
  1305. @Body Single@    return 1
  1306.  
  1307. @Body Single@endif
  1308.  
  1309. @Body Single@return 0
  1310.  
  1311. @Body Single@end function     
  1312.  
  1313. @Body Single@
  1314. @Body Single@' Save a sub menu to disk
  1315.  
  1316. @Body Single@
  1317. @Body Single@function SaveSub(fid, id)
  1318.  
  1319. @Body Single@offset = 1
  1320.  
  1321. @Body Single@while (1)
  1322.  
  1323. @Body Single@    name = GetGlobalArray$(id, offset)
  1324.  
  1325. @Body Single@    if ("" = name)
  1326.  
  1327. @Body Single@        break
  1328.  
  1329. @Body Single@    endif
  1330.  
  1331. @Body Single@    offset = offset + 1
  1332.  
  1333. @Body Single@    menuid = GetGlobalArray$(id, offset)
  1334.  
  1335. @Body Single@    offset = offset + 1
  1336.  
  1337. @Body Single@    if ("-" = mid$(name, 1, 1))
  1338.  
  1339. @Body Single@        fputs(fid, "3")
  1340.  
  1341. @Body Single@    else
  1342.  
  1343. @Body Single@        temp = strcat$("2`", name)
  1344.  
  1345. @Body Single@        temp = strcat$(temp, "`")
  1346.  
  1347. @Body Single@        temp = strcat$(temp, menuid)
  1348.  
  1349. @Body Single@        fputs(fid, temp)
  1350.  
  1351. @Body Single@    endif
  1352.  
  1353. @Body Single@wend
  1354.  
  1355. @Body Single@end function
  1356.  
  1357. @Body Single@
  1358. @Body Single@function wild(xbarname)
  1359.  
  1360. num = 1
  1361.  
  1362. while (1)
  1363.  
  1364.     wild = strfield$(xbarname num "\")
  1365.  
  1366.     if wild = -1 then
  1367.  
  1368.         break
  1369.  
  1370.     endif
  1371.  
  1372.     num = num + 1
  1373.  
  1374. wend
  1375.  
  1376. num = num - 1
  1377.  
  1378. wild = strfield$(xbarname num "\")
  1379.  
  1380. return wild
  1381.  
  1382. end function
  1383.  
  1384. >
  1385. [macsum] 16
  1386. modmenu 0 1 16 3
  1387. InitMenuArray 2554 2 10 162
  1388. FreeMenuArray 3420 1 4 207
  1389. LoadTopDialog 3666 3 5 225
  1390. LoadSubDialog 3905 3 5 239
  1391. FindIdxbyname 4215 2 3 264
  1392. AddExt 4488 2 2 283
  1393. DoSubMenu 4701 3 12 296
  1394. DeleteByIndex 6026 2 4 356
  1395. LoadInsDlg 6430 0 6 378
  1396. InsertMenu 6822 4 6 402
  1397. InsertMacro 7297 5 5 435
  1398. InsertAmi 7806 4 10 466
  1399. SaveMenu 8718 4 7 518
  1400. SaveSub 9305 2 5 552
  1401. wild 9682 1 2 573
  1402. [macse]
  1403. 14 modmenu
  1404. 0 32 1
  1405. 0 295
  1406. 13
  1407. 8 2
  1408. 7 "{2}standard.mnu"
  1409. 8 3
  1410. 7 ""
  1411. 6 0
  1412. 18 0
  1413. 11 00000238
  1414. 0 286 "" "custmnu"
  1415. 13
  1416. 8 4
  1417. 6 4
  1418. 7 ""
  1419. 18 0
  1420. 11 00000228
  1421. 0 287 "" "custmnu" "{2}standard.mnu"
  1422. 7 "{2}standard.mnu"
  1423. 8 0
  1424. 10 00000238
  1425. 6 4
  1426. 8 0
  1427. 19 00002511
  1428. 16 InitMenuArray 927 "{0}"
  1429. 13
  1430. 8 5
  1431. 5 1
  1432. 8 6
  1433. 5 0
  1434. 6 5
  1435. 18 5
  1436. 11 00002511
  1437. 6 6
  1438. 11 00002511
  1439. 16 LoadTopDialog 927 "{5}" "{0}"
  1440. 0 26 "menumac.ext" "topmenu"
  1441. 13
  1442. 8 7
  1443. 5 1
  1444. 6 7
  1445. 18 0
  1446. 11 00000597
  1447. 6 0
  1448. 6 3
  1449. 18 1
  1450. 11 00000597
  1451. 16 savemenu 927 "{5}" "{0}" 1
  1452. 16 menunew.smm!NewMenu "{0}"
  1453. 0 18 "{0}"
  1454. 13
  1455. 8 0
  1456. 0 287 "" "custmnu" "{0}"
  1457. 10 00002511
  1458. 5 0
  1459. 6 7
  1460. 18 0
  1461. 11 00000639
  1462. 10 00002511
  1463. 6 7
  1464. 5 3
  1465. 18 0
  1466. 6 7
  1467. 5 4
  1468. 18 0
  1469. 6 7
  1470. 5 7
  1471. 18 0
  1472. 6 7
  1473. 5 8
  1474. 18 0
  1475. 1 2
  1476. 1 2
  1477. 1 2
  1478. 11 00000863
  1479. 0 27 9000
  1480. 13
  1481. 8 8
  1482. 7 ""
  1483. 6 8
  1484. 18 1
  1485. 11 00000831
  1486. 16 FindIdxByname 927 "{8}"
  1487. 13
  1488. 8 9
  1489. 10 00000863
  1490. 5 1
  1491. 8 9
  1492. 0 273 927 1
  1493. 13
  1494. 8 8
  1495. 5 4
  1496. 6 7
  1497. 18 0
  1498. 11 00001093
  1499. 0 31 8000 "{8}"
  1500. 0 31 8001 "{8}"
  1501. 0 26 "menumac.ext" "rename"
  1502. 13
  1503. 11 00001080
  1504. 0 27 8000
  1505. 13
  1506. 8 10
  1507. 6 10
  1508. 7 ""
  1509. 18 1
  1510. 11 00001080
  1511. 6 9
  1512. 5 2
  1513. 4 0
  1514. 5 1
  1515. 3 1
  1516. 8 11
  1517. 0 272 927 "{11}" "{10}"
  1518. 10 00002498
  1519. 5 3
  1520. 6 7
  1521. 18 0
  1522. 11 00001165
  1523. 16 DoSubMenu 927 "{5}" "{9}"
  1524. 10 00002498
  1525. 5 1
  1526. 6 7
  1527. 18 0
  1528. 11 00001220
  1529. 10 00001249
  1530. 10 00002498
  1531. 5 5
  1532. 6 7
  1533. 18 0
  1534. 11 00001622
  1535. 6 0
  1536. 6 3
  1537. 18 1
  1538. 11 00001295
  1539. 0 31 8001 "{0}"
  1540. 0 31 8001 "{3}"
  1541. 0 26 "menumac.ext" "savemenu"
  1542. 13
  1543. 11 00001609
  1544. 0 27 8000
  1545. 13
  1546. 8 12
  1547. 16 AddExt "{12}" "mnu"
  1548. 13
  1549. 8 12
  1550. 6 12
  1551. 6 3
  1552. 18 1
  1553. 11 00001587
  1554. 16 savemenu 927 "{5}" "{12}" 0
  1555. 13
  1556. 11 00001505
  1557. 6 12
  1558. 8 0
  1559. 5 1
  1560. 6 7
  1561. 18 0
  1562. 11 00001574
  1563. 16 menunew.smm!NewMenu "{0}"
  1564. 5 0
  1565. 8 6
  1566. 10 00001609
  1567. 0 3 "Cannot use {3}"
  1568. 10 00002498
  1569. 5 6
  1570. 6 7
  1571. 18 0
  1572. 11 00001914
  1573. 0 31 9001 "{2}*.mnu"
  1574. 0 26 "menumac.ext" "openmenu"
  1575. 13
  1576. 11 00001901
  1577. 0 27 9001
  1578. 13
  1579. 8 13
  1580. 16 AddExt "{13}" "mnu"
  1581. 13
  1582. 8 13
  1583. 0 259 "{2}{13}" "r"
  1584. 13
  1585. 8 14
  1586. 5 -1
  1587. 6 14
  1588. 18 1
  1589. 11 00001901
  1590. 0 260 "{14}"
  1591. 16 initmenuarray 927 "{13}"
  1592. 13
  1593. 8 5
  1594. 6 13
  1595. 8 0
  1596. 10 00002498
  1597. 5 9
  1598. 6 7
  1599. 18 0
  1600. 11 00002076
  1601. 0 296 1
  1602. 16 initmenuarray 927 "{3}"
  1603. 13
  1604. 8 5
  1605. 16 wild "{3}"
  1606. 13
  1607. 8 15
  1608. 0 287 "" "{2}custmnu" "{15}"
  1609. 6 3
  1610. 8 0
  1611. 0 296 0
  1612. 10 00002498
  1613. 5 7
  1614. 6 7
  1615. 18 0
  1616. 11 00002342
  1617. 0 31 8001 "{8}"
  1618. 0 31 8002 "{8}"
  1619. 0 31 104 1
  1620. 0 26 "menumac.ext" "addmenu"
  1621. 13
  1622. 11 00002329
  1623. 0 27 8000
  1624. 13
  1625. 8 10
  1626. 6 10
  1627. 7 ""
  1628. 18 1
  1629. 11 00002329
  1630. 0 27 104
  1631. 13
  1632. 8 16
  1633. 16 InsertMenu 927 "{10}" "{9}" "{16}"
  1634. 6 5
  1635. 5 1
  1636. 3 0
  1637. 8 5
  1638. 10 00002498
  1639. 5 8
  1640. 6 7
  1641. 18 0
  1642. 11 00002498
  1643. 6 9
  1644. 5 2
  1645. 4 0
  1646. 8 11
  1647. 0 273 927 "{11}"
  1648. 13
  1649. 8 8
  1650. 0 266 "{8}"
  1651. 0 296 1
  1652. 16 DeleteByIndex 927 "{9}"
  1653. 0 296 0
  1654. 6 5
  1655. 5 1
  1656. 3 1
  1657. 8 5
  1658. 10 00000327
  1659. 16 FreeMenuArray 927
  1660. 0 296 0
  1661. 6 1
  1662. 15
  1663. 9
  1664. 14 InitMenuArray
  1665. 5 0
  1666. 0 271 "{0}" 40
  1667. 13
  1668. 18 0
  1669. 11 00000102
  1670. 16 FreeMenuArray "{0}"
  1671. 0 271 "{0}" 40
  1672. 5 0
  1673. 8 3
  1674. 0 296 1
  1675. 0 259 "{1}" "r"
  1676. 13
  1677. 8 4
  1678. 5 0
  1679. 6 4
  1680. 18 1
  1681. 11 00000797
  1682. 5 1
  1683. 11 00000771
  1684. 0 257 "{4}"
  1685. 13
  1686. 8 5
  1687. 5 -1
  1688. 6 5
  1689. 18 0
  1690. 11 00000259
  1691. 10 00000771
  1692. 0 20 "{5}" 1 "`"
  1693. 13
  1694. 8 6
  1695. 5 1
  1696. 6 6
  1697. 18 0
  1698. 11 00000476
  1699. 6 3
  1700. 5 1
  1701. 3 0
  1702. 8 3
  1703. 0 20 "{5}" 2 "`"
  1704. 13
  1705. 8 7
  1706. 0 272 "{0}" "{3}" "{7}"
  1707. 6 3
  1708. 5 1
  1709. 3 0
  1710. 8 3
  1711. 5 0
  1712. 8 8
  1713. 0 271 0 40
  1714. 13
  1715. 8 9
  1716. 0 272 "{0}" "{3}" "{9}"
  1717. 10 00000758
  1718. 5 2
  1719. 6 6
  1720. 18 0
  1721. 11 00000666
  1722. 6 8
  1723. 5 1
  1724. 3 0
  1725. 8 8
  1726. 0 20 "{5}" 2 "`"
  1727. 13
  1728. 8 10
  1729. 0 272 "{9}" "{8}" "{10}"
  1730. 6 8
  1731. 5 1
  1732. 3 0
  1733. 8 8
  1734. 0 20 "{5}" 3 "`"
  1735. 13
  1736. 8 11
  1737. 0 272 "{9}" "{8}" "{11}"
  1738. 10 00000758
  1739. 5 3
  1740. 6 6
  1741. 18 0
  1742. 11 00000758
  1743. 6 8
  1744. 5 1
  1745. 3 0
  1746. 8 8
  1747. 0 272 "{9}" "{8}" "-"
  1748. 6 8
  1749. 5 1
  1750. 3 0
  1751. 8 8
  1752. 10 00000176
  1753. 0 260 "{4}"
  1754. 10 00000823
  1755. 0 3 "Failed to open {1}"
  1756. 0 296 0
  1757. 6 3
  1758. 5 2
  1759. 4 1
  1760. 15
  1761. 9
  1762. 6 2
  1763. 15
  1764. 9
  1765. 14 FreeMenuArray
  1766. 5 1
  1767. 8 2
  1768. 5 20
  1769. 6 2
  1770. 18 2
  1771. 12 00000104
  1772. 10 00000221
  1773. 5 1
  1774. 6 2
  1775. 3 0
  1776. 8 2
  1777. 10 00000028
  1778. 6 2
  1779. 5 2
  1780. 4 0
  1781. 8 3
  1782. 0 273 "{0}" "{3}"
  1783. 13
  1784. 8 4
  1785. 7 ""
  1786. 6 4
  1787. 18 0
  1788. 11 00000195
  1789. 10 00000221
  1790. 0 266 "{4}"
  1791. 10 00000071
  1792. 0 266 "{0}"
  1793. 6 1
  1794. 15
  1795. 9
  1796. 14 LoadTopDialog
  1797. 5 1
  1798. 8 4
  1799. 6 1
  1800. 6 4
  1801. 18 2
  1802. 12 00000103
  1803. 10 00000186
  1804. 5 1
  1805. 6 4
  1806. 3 0
  1807. 8 4
  1808. 10 00000028
  1809. 6 4
  1810. 5 2
  1811. 4 0
  1812. 5 1
  1813. 3 1
  1814. 8 5
  1815. 0 273 "{0}" "{5}"
  1816. 13
  1817. 8 6
  1818. 0 25 "{6}"
  1819. 10 00000070
  1820. 16 wild "{2}"
  1821. 13
  1822. 8 7
  1823. 0 31 8008 "{7}"
  1824. 6 3
  1825. 15
  1826. 9
  1827. 14 LoadSubDialog
  1828. 6 2
  1829. 5 2
  1830. 4 0
  1831. 8 4
  1832. 0 273 "{0}" "{4}"
  1833. 13
  1834. 8 5
  1835. 6 4
  1836. 5 1
  1837. 3 1
  1838. 8 4
  1839. 0 273 "{0}" "{4}"
  1840. 13
  1841. 8 6
  1842. 0 31 8006 "{6}"
  1843. 5 1
  1844. 8 4
  1845. 0 296 1
  1846. 5 1
  1847. 11 00000289
  1848. 0 273 "{5}" "{4}"
  1849. 13
  1850. 8 7
  1851. 7 ""
  1852. 6 7
  1853. 18 0
  1854. 11 00000239
  1855. 10 00000289
  1856. 0 31 9000 "{7}"
  1857. 6 4
  1858. 5 2
  1859. 3 0
  1860. 8 4
  1861. 10 00000150
  1862. 0 296 0
  1863. 6 3
  1864. 15
  1865. 9
  1866. 14 FindIdxbyname
  1867. 5 1
  1868. 8 3
  1869. 5 1
  1870. 11 00000261
  1871. 0 273 "{0}" "{3}"
  1872. 13
  1873. 8 4
  1874. 7 ""
  1875. 6 4
  1876. 18 0
  1877. 11 00000167
  1878. 7 ""
  1879. 6 1
  1880. 18 1
  1881. 11 00000155
  1882. 0 3 "{1} not found"
  1883. 5 1
  1884. 15
  1885. 9
  1886. 6 1
  1887. 6 4
  1888. 18 0
  1889. 11 00000228
  1890. 6 3
  1891. 5 1
  1892. 3 0
  1893. 5 2
  1894. 4 1
  1895. 15
  1896. 9
  1897. 6 3
  1898. 5 2
  1899. 3 0
  1900. 8 3
  1901. 10 00000028
  1902. 6 2
  1903. 15
  1904. 9
  1905. 14 AddExt
  1906. 0 13 1 "{0}" "."
  1907. 13
  1908. 8 3
  1909. 5 -1
  1910. 6 3
  1911. 18 0
  1912. 11 00000133
  1913. 0 16 "{0}" "."
  1914. 13
  1915. 8 0
  1916. 0 16 "{0}" "{1}"
  1917. 13
  1918. 8 0
  1919. 10 00000189
  1920. 0 15 "{0}" 1 "{3}"
  1921. 13
  1922. 8 0
  1923. 0 16 "{0}" "{1}"
  1924. 13
  1925. 8 0
  1926. 6 0
  1927. 15
  1928. 9
  1929. 6 2
  1930. 15
  1931. 9
  1932. 14 DoSubMenu
  1933. 6 2
  1934. 5 2
  1935. 4 0
  1936. 8 4
  1937. 0 273 "{0}" "{4}"
  1938. 13
  1939. 8 5
  1940. 5 1
  1941. 11 00001313
  1942. 16 LoadSubDialog "{0}" "{1}" "{2}"
  1943. 0 26 "menumac.ext" "submenu"
  1944. 13
  1945. 8 6
  1946. 5 1
  1947. 6 6
  1948. 18 0
  1949. 5 0
  1950. 6 6
  1951. 18 0
  1952. 1 2
  1953. 11 00000218
  1954. 10 00001313
  1955. 0 27 9000
  1956. 13
  1957. 8 7
  1958. 7 ""
  1959. 6 7
  1960. 18 1
  1961. 6 6
  1962. 5 4
  1963. 18 0
  1964. 6 6
  1965. 5 6
  1966. 18 0
  1967. 1 2
  1968. 1 2
  1969. 11 00001263
  1970. 16 FindIdxByName "{5}" "{7}"
  1971. 13
  1972. 8 8
  1973. 5 3
  1974. 6 6
  1975. 18 0
  1976. 11 00000421
  1977. 16 DeleteByIndex "{5}" "{8}"
  1978. 10 00001250
  1979. 5 5
  1980. 6 6
  1981. 18 0
  1982. 11 00000753
  1983. 0 27 9000
  1984. 13
  1985. 8 7
  1986. 7 ""
  1987. 6 7
  1988. 18 0
  1989. 11 00000513
  1990. 10 00001250
  1991. 16 FindIdxbyname "{5}" "{7}"
  1992. 13
  1993. 8 9
  1994. 6 9
  1995. 5 2
  1996. 4 0
  1997. 5 1
  1998. 3 1
  1999. 8 4
  2000. 0 31 8001 "{7}"
  2001. 0 31 8000 "{7}"
  2002. 0 26 "menumac.ext" "rename"
  2003. 13
  2004. 11 00000740
  2005. 0 27 8000
  2006. 13
  2007. 8 10
  2008. 7 ""
  2009. 6 10
  2010. 18 1
  2011. 11 00000740
  2012. 0 272 "{5}" "{4}" "{10}"
  2013. 10 00001250
  2014. 5 4
  2015. 6 6
  2016. 18 0
  2017. 11 00000983
  2018. 16 LoadInsDlg
  2019. 0 31 8009 "{7}"
  2020. 0 26 "menumac.ext" "amimenu"
  2021. 13
  2022. 11 00000970
  2023. 0 27 9000
  2024. 13
  2025. 8 7
  2026. 0 27 104
  2027. 13
  2028. 8 11
  2029. 7 ""
  2030. 6 7
  2031. 18 1
  2032. 11 00000970
  2033. 16 InsertAmi "{5}" "{8}" "{11}" "{7}"
  2034. 10 00001250
  2035. 5 6
  2036. 6 6
  2037. 18 0
  2038. 11 00001250
  2039. 0 286 "" "macrodir"
  2040. 13
  2041. 8 12
  2042. 0 31 9001 "{12}"
  2043. 0 31 104 "1"
  2044. 0 31 8009 "{7}"
  2045. 0 26 "menumac.ext" "macmenu"
  2046. 13
  2047. 11 00001250
  2048. 0 27 9001
  2049. 13
  2050. 8 13
  2051. 0 27 8010
  2052. 13
  2053. 8 14
  2054. 0 27 104
  2055. 13
  2056. 8 11
  2057. 16 InsertMacro "{5}" "{8}" "{11}" "{14}" "{13}"
  2058. 10 00001300
  2059. 0 3 "Please select menu item first"
  2060. 10 00000062
  2061. 6 3
  2062. 15
  2063. 9
  2064. 14 DeleteByIndex
  2065. 6 1
  2066. 5 2
  2067. 4 0
  2068. 5 1
  2069. 3 1
  2070. 8 3
  2071. 6 3
  2072. 5 2
  2073. 3 0
  2074. 8 4
  2075. 5 1
  2076. 11 00000328
  2077. 0 273 "{0}" "{4}"
  2078. 13
  2079. 8 5
  2080. 7 ""
  2081. 6 5
  2082. 18 0
  2083. 11 00000157
  2084. 10 00000328
  2085. 0 272 "{0}" "{3}" "{5}"
  2086. 6 4
  2087. 5 1
  2088. 3 0
  2089. 8 4
  2090. 6 3
  2091. 5 1
  2092. 3 0
  2093. 8 3
  2094. 0 273 "{0}" "{4}"
  2095. 13
  2096. 8 5
  2097. 0 272 "{0}" "{3}" "{5}"
  2098. 6 4
  2099. 5 1
  2100. 3 0
  2101. 8 4
  2102. 6 3
  2103. 5 1
  2104. 3 0
  2105. 8 3
  2106. 10 00000068
  2107. 0 272 "{0}" "{3}" ""
  2108. 6 3
  2109. 5 1
  2110. 3 0
  2111. 8 3
  2112. 0 272 "{0}" "{3}" ""
  2113. 6 2
  2114. 15
  2115. 9
  2116. 14 LoadInsDlg
  2117. 0 295
  2118. 13
  2119. 8 1
  2120. 0 259 "{1}standard.mnu" "r"
  2121. 13
  2122. 8 2
  2123. 5 0
  2124. 6 2
  2125. 18 1
  2126. 11 00000366
  2127. 0 296 1
  2128. 5 1
  2129. 11 00000344
  2130. 0 257 "{2}"
  2131. 13
  2132. 8 3
  2133. 5 -1
  2134. 6 3
  2135. 18 0
  2136. 11 00000190
  2137. 10 00000344
  2138. 0 20 "{3}" 1 "`"
  2139. 13
  2140. 8 4
  2141. 6 4
  2142. 5 2
  2143. 18 0
  2144. 11 00000331
  2145. 0 20 "{3}" 2 "`"
  2146. 13
  2147. 8 5
  2148. 7 "-"
  2149. 0 15 "{3}" 1 1
  2150. 13
  2151. 18 1
  2152. 11 00000331
  2153. 0 25 "{5}"
  2154. 10 00000107
  2155. 0 260 "{2}"
  2156. 0 296 0
  2157. 0 31 104 "1"
  2158. 6 0
  2159. 15
  2160. 9
  2161. 14 InsertMenu
  2162. 5 1
  2163. 8 5
  2164. 7 ""
  2165. 0 273 "{0}" "{5}"
  2166. 13
  2167. 18 1
  2168. 11 00000106
  2169. 6 5
  2170. 5 2
  2171. 3 0
  2172. 8 5
  2173. 10 00000025
  2174. 6 5
  2175. 5 1
  2176. 3 0
  2177. 8 5
  2178. 6 5
  2179. 5 2
  2180. 3 1
  2181. 8 6
  2182. 6 3
  2183. 11 00000207
  2184. 6 2
  2185. 5 2
  2186. 4 0
  2187. 5 1
  2188. 3 1
  2189. 8 7
  2190. 10 00000237
  2191. 6 2
  2192. 5 2
  2193. 4 0
  2194. 5 1
  2195. 3 0
  2196. 8 7
  2197. 6 6
  2198. 6 7
  2199. 18 2
  2200. 11 00000372
  2201. 0 273 "{0}" "{6}"
  2202. 13
  2203. 8 8
  2204. 0 272 "{0}" "{5}" "{8}"
  2205. 6 6
  2206. 5 1
  2207. 3 1
  2208. 8 6
  2209. 6 5
  2210. 5 1
  2211. 3 1
  2212. 8 5
  2213. 10 00000237
  2214. 0 272 "{0}" "{7}" "{1}"
  2215. 6 7
  2216. 5 1
  2217. 3 0
  2218. 8 7
  2219. 0 271 0 40
  2220. 13
  2221. 8 9
  2222. 0 272 "{0}" "{7}" "{9}"
  2223. 6 4
  2224. 15
  2225. 9
  2226. 14 InsertMacro
  2227. 5 1
  2228. 8 6
  2229. 7 ""
  2230. 0 273 "{0}" 1
  2231. 13
  2232. 18 1
  2233. 11 00000427
  2234. 5 1
  2235. 8 7
  2236. 7 ""
  2237. 0 273 "{0}" "{7}"
  2238. 13
  2239. 18 1
  2240. 11 00000161
  2241. 6 7
  2242. 5 2
  2243. 3 0
  2244. 8 7
  2245. 10 00000080
  2246. 6 7
  2247. 5 1
  2248. 3 0
  2249. 8 7
  2250. 6 7
  2251. 5 2
  2252. 3 1
  2253. 8 8
  2254. 6 2
  2255. 11 00000262
  2256. 6 1
  2257. 5 2
  2258. 4 0
  2259. 5 1
  2260. 3 1
  2261. 8 6
  2262. 10 00000292
  2263. 6 1
  2264. 5 2
  2265. 4 0
  2266. 5 1
  2267. 3 0
  2268. 8 6
  2269. 6 8
  2270. 6 6
  2271. 18 2
  2272. 11 00000427
  2273. 0 273 "{0}" "{8}"
  2274. 13
  2275. 8 9
  2276. 0 272 "{0}" "{7}" "{9}"
  2277. 6 8
  2278. 5 1
  2279. 3 1
  2280. 8 8
  2281. 6 7
  2282. 5 1
  2283. 3 1
  2284. 8 7
  2285. 10 00000292
  2286. 0 272 "{0}" "{6}" "{3}"
  2287. 6 6
  2288. 5 1
  2289. 3 0
  2290. 8 6
  2291. 0 272 "{0}" "{6}" "{4}"
  2292. 6 5
  2293. 15
  2294. 9
  2295. 14 InsertAmi
  2296. 0 295
  2297. 13
  2298. 8 5
  2299. 5 0
  2300. 8 6
  2301. 0 259 "{5}standard.mnu" "r"
  2302. 13
  2303. 8 7
  2304. 5 0
  2305. 6 7
  2306. 18 1
  2307. 11 00000376
  2308. 5 1
  2309. 11 00000354
  2310. 0 296 1
  2311. 0 257 "{7}"
  2312. 13
  2313. 8 8
  2314. 5 -1
  2315. 6 8
  2316. 18 0
  2317. 11 00000199
  2318. 10 00000354
  2319. 0 20 "{8}" 1 "`"
  2320. 13
  2321. 8 9
  2322. 6 9
  2323. 5 2
  2324. 18 0
  2325. 11 00000341
  2326. 6 3
  2327. 0 20 "{8}" 2 "`"
  2328. 13
  2329. 18 0
  2330. 11 00000341
  2331. 0 20 "{8}" 3 "`"
  2332. 13
  2333. 8 6
  2334. 10 00000354
  2335. 10 00000107
  2336. 0 260 "{7}"
  2337. 0 296 0
  2338. 6 6
  2339. 11 00000900
  2340. 5 1
  2341. 8 10
  2342. 7 ""
  2343. 0 273 "{0}" 1
  2344. 13
  2345. 18 1
  2346. 11 00000826
  2347. 5 1
  2348. 8 11
  2349. 7 ""
  2350. 0 273 "{0}" "{11}"
  2351. 13
  2352. 18 1
  2353. 11 00000544
  2354. 6 11
  2355. 5 2
  2356. 3 0
  2357. 8 11
  2358. 10 00000460
  2359. 6 11
  2360. 5 1
  2361. 3 0
  2362. 8 11
  2363. 6 11
  2364. 5 2
  2365. 3 1
  2366. 8 12
  2367. 6 2
  2368. 11 00000650
  2369. 6 1
  2370. 5 2
  2371. 4 0
  2372. 5 1
  2373. 3 1
  2374. 8 10
  2375. 10 00000681
  2376. 6 1
  2377. 5 2
  2378. 4 0
  2379. 5 1
  2380. 3 0
  2381. 8 10
  2382. 6 12
  2383. 6 10
  2384. 18 2
  2385. 11 00000826
  2386. 0 273 "{0}" "{12}"
  2387. 13
  2388. 8 13
  2389. 0 272 "{0}" "{11}" "{13}"
  2390. 6 12
  2391. 5 1
  2392. 3 1
  2393. 8 12
  2394. 6 11
  2395. 5 1
  2396. 3 1
  2397. 8 11
  2398. 10 00000681
  2399. 0 272 "{0}" "{10}" "{3}"
  2400. 6 10
  2401. 5 1
  2402. 3 0
  2403. 8 10
  2404. 0 272 "{0}" "{10}" "{6}"
  2405. 6 4
  2406. 15
  2407. 9
  2408. 14 SaveMenu
  2409. 0 295
  2410. 13
  2411. 8 5
  2412. 6 3
  2413. 1 3
  2414. 11 00000187
  2415. 0 259 "{5}{2}" "r"
  2416. 13
  2417. 8 6
  2418. 5 0
  2419. 6 6
  2420. 18 1
  2421. 11 00000187
  2422. 0 260 "{6}"
  2423. 0 2 "{2} exists! Overwrite?"
  2424. 13
  2425. 1 3
  2426. 11 00000187
  2427. 5 0
  2428. 15
  2429. 9
  2430. 0 259 "{5}{2}" "w"
  2431. 13
  2432. 8 6
  2433. 5 0
  2434. 6 6
  2435. 18 1
  2436. 11 00000563
  2437. 5 1
  2438. 8 7
  2439. 0 296 1
  2440. 5 1
  2441. 8 8
  2442. 6 1
  2443. 6 8
  2444. 18 2
  2445. 12 00000349
  2446. 10 00000529
  2447. 5 1
  2448. 6 8
  2449. 3 0
  2450. 8 8
  2451. 10 00000274
  2452. 0 273 "{0}" "{7}"
  2453. 13
  2454. 8 9
  2455. 0 16 "1`" "{9}"
  2456. 13
  2457. 8 9
  2458. 0 258 "{6}" "{9}"
  2459. 6 7
  2460. 5 1
  2461. 3 0
  2462. 8 7
  2463. 0 273 "{0}" "{7}"
  2464. 13
  2465. 8 10
  2466. 16 SaveSub "{6}" "{10}"
  2467. 6 7
  2468. 5 1
  2469. 3 0
  2470. 8 7
  2471. 10 00000316
  2472. 0 260 "{6}"
  2473. 0 296 0
  2474. 5 1
  2475. 15
  2476. 9
  2477. 5 0
  2478. 15
  2479. 9
  2480. 6 4
  2481. 15
  2482. 9
  2483. 14 SaveSub
  2484. 5 1
  2485. 8 3
  2486. 5 1
  2487. 11 00000365
  2488. 0 273 "{1}" "{3}"
  2489. 13
  2490. 8 4
  2491. 7 ""
  2492. 6 4
  2493. 18 0
  2494. 11 00000111
  2495. 10 00000365
  2496. 6 3
  2497. 5 1
  2498. 3 0
  2499. 8 3
  2500. 0 273 "{1}" "{3}"
  2501. 13
  2502. 8 5
  2503. 6 3
  2504. 5 1
  2505. 3 0
  2506. 8 3
  2507. 7 "-"
  2508. 0 15 "{4}" 1 1
  2509. 13
  2510. 18 0
  2511. 11 00000255
  2512. 0 258 "{0}" "3"
  2513. 10 00000352
  2514. 0 16 "2`" "{4}"
  2515. 13
  2516. 8 6
  2517. 0 16 "{6}" "`"
  2518. 13
  2519. 8 6
  2520. 0 16 "{6}" "{5}"
  2521. 13
  2522. 8 6
  2523. 0 258 "{0}" "{6}"
  2524. 10 00000022
  2525. 6 2
  2526. 15
  2527. 9
  2528. 14 wild
  2529. 5 1
  2530. 8 2
  2531. 5 1
  2532. 11 00000144
  2533. 0 20 "{0}" "{2}" "\"
  2534. 13
  2535. 8 1
  2536. 6 1
  2537. 5 -1
  2538. 18 0
  2539. 11 00000111
  2540. 10 00000144
  2541. 6 2
  2542. 5 1
  2543. 3 0
  2544. 8 2
  2545. 10 00000019
  2546. 6 2
  2547. 5 1
  2548. 3 1
  2549. 8 2
  2550. 0 20 "{0}" "{2}" "\"
  2551. 13
  2552. 8 1
  2553. 6 1
  2554. 15
  2555. 9
  2556. 6 1
  2557. 15
  2558. 9
  2559. 00024615
  2560.