home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2002 April / GSSH42002.iso / EDITOREN / DS / gmax / gmaxinst_1-1.exe / gmaxsetup11.cab / Macro_AdvancedQuadOptions.mcr < prev    next >
Text File  |  2002-02-13  |  34KB  |  665 lines

  1. -- Quad Menu Options Macroscript File
  2. -- 
  3. -- Created:  Sept 21 2000
  4. -- Modified: May 17 2001 - Michael Russo - uses new SaveQuadOptions function with .qmo files
  5. --           June 7 2001 - Michael Russo - uses new CUI UI methods
  6. -- 
  7. -- Author:   Fred Ruff, John Burnett, Boris Petrov
  8. -- 
  9. -- Macro Scripts for Setting Quad Menu Options and colors
  10.  
  11. --***********************************************************************************************
  12. -- MODIFY THIS AT YOUR OWN RISK
  13.  
  14. --***********************************************************************************************
  15. -- Interface Rollout        
  16. --***********************************************************************************************
  17. macroscript AdvancedQuadOptions 
  18. category:"Customize User Interface" 
  19. internalCategory:"Customize User Interface" 
  20. tooltip:"Advanced Quad Option Menu"
  21. buttontext:"Advanced Quad Options"
  22. (
  23. global QMS_AdvancedQuadOptions
  24.     rollout QMS_AdvancedQuadOptions "Advanced Quad Menu Options" width:588 height:410
  25.     (
  26.     local QuadOptionsColorLocks = #("locktback","lockttext","lockback","locktext","lockhtext","lockhback","locklutext","lockdish","lockdiss","lockborder")
  27.     local QuadOptionsUIArray = #(
  28.                 #("q1tback","q2tback","q3tback","q4tback"),
  29.                 #("q1Ttext","q2Ttext","q3Ttext","q4Ttext"),
  30.                 #("q1back","q2back","q3back","q4back"),
  31.                 #("q1text","q2text","q3text","q4text"),
  32.                 #("q1htext","q2htext","q3htext","q4htext"),
  33.                 #("q1hback","q2hback","q3hback","q4hback"),
  34.                 #("q1lutext","q2lutext","q3lutext","q4lutext"),
  35.                 #("q1dish","q2dish","q3dish","q4dish"),
  36.                 #("q1diss","q2diss","q3diss","q4diss"),
  37.                 #("q1border","q2border","q3border","q4border")
  38.                 )
  39.     local Qa1bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 1)
  40.     local Qb1bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 1)
  41.     local Qc1bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 1)
  42.     local Qd1bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 1)
  43.     
  44.     local Qa2bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 2)
  45.     local Qb2bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 2)
  46.     local Qc2bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 2)
  47.     local Qd2bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 2)
  48.  
  49.     local Qa3bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 3)
  50.     local Qb3bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 3)
  51.     local Qc3bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 3)
  52.     local Qd3bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 3)
  53.  
  54.     local Qa4bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 4)
  55.     local Qb4bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 4)
  56.     local Qc4bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 4)
  57.     local Qd4bmp = bitmap 16 16 color:(quadmenusettings.GetTitleBarBackgroundColor 4)
  58.  
  59. --\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\        
  60. -- Note to localization.  The following strings are used to diplay the fonts you can choose.
  61. -- The system uses these strings to set the fonts for the quad menus. 
  62. -- See the "Body of main interface reactions" at the bottom of the script to see where this happens
  63. --\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  64.         
  65.         local fontList = #(
  66.             "",
  67.             "Arial","    Arial Bold","    Arial Bold Italic","    Arial Italic",
  68.             "Arial Black",
  69.             "Comic Sans MS","    Comic Sans MS Bold",
  70.             "Courier New","    Courier New Bold","    Courier New Bold Italic","    Courier New Italic",
  71.             "Georgia","    Georgia Bold","    Georgia Bold Italic","    Georgia Italic",
  72.             "Impact",
  73.             "Lucida Console",
  74.             "Lucida Sans Unicode",
  75.             "Microsoft Sans Serif Regular",
  76.             "Palatino Linotype","    Palatino Linotype Bold","    Palatino Linotype Bold Italic","    Palatino Linotype Italic",
  77.             "Symbol",
  78.             "Tahoma","    Tahoma Bold",
  79.             "Times New Roman","    Times New Roman Bold","    Times New Roman Bold Italic","    Times New Roman Italic",
  80.             "Trebuchet MS","    Trebuchet MS Bold","    Trebuchet MS Bold Italic","    Trebuchet MS Italic",
  81.             "Verdana","    Verdana Bold","    Verdana Bold Italic","    Verdana Italic",
  82.             "Webdings",
  83.             "WingDings"
  84.         )
  85.     local str
  86.     
  87. -- Define the rollout interface
  88.     --Save options
  89.         GroupBox grp7 "Save" pos:[10,10] width:360 height:50
  90.         button LoadQcl "Load" pos:[15,30] width:60 height:20
  91.         button SaveQcl "Save" pos:[83,30] width:60 height:20
  92.         button savestartup "Save As Startup" pos:[160,30] width:90 height:20
  93.         button reset "Reset To Startup" pos:[260,30] width:100 height:20
  94.     -- Quad Position Buttons
  95.         label qposlabel "Starting Quadrant" pos:[37,73] 
  96.         checkButton qpos3 "3" pos:[60,95] width:20 height:20 highlightcolor:(quadmenusettings.GetHighlightedItemBackgroundColor 3)
  97.         checkButton qpos2 "2" pos:[80,95] width:20 height:20 highlightcolor:(quadmenusettings.GetHighlightedItemBackgroundColor 2)
  98.         checkButton qpos1 "1" pos:[80,115] width:20 height:20 highlightcolor:(quadmenusettings.GetHighlightedItemBackgroundColor 1)
  99.         checkButton qpos4 "4" pos:[60,115] width:20 height:20 highlightcolor:(quadmenusettings.GetHighlightedItemBackgroundColor 4)
  100.  
  101.     --Small quad center samples as bitmaps
  102.     -- Since we removed "setPixels" we had to change these to be "static" bitmaps.  i.e. now there
  103.     -- are 16 bitmaps instead of 4 that were drawn into 4 quadrants each.
  104.     -- -----
  105.     -- |d|c|
  106.     -- -----
  107.     -- |b|a|
  108.     -- -----
  109.         bitmap Qa1bmpUI "Bitmap" pos:[150,98]  width:15 height:15 bitmap:qa1bmp
  110.         bitmap Qb1bmpUI "Bitmap" pos:[165,98]  width:15 height:15 bitmap:qb1bmp
  111.         bitmap Qc1bmpUI "Bitmap" pos:[150,113] width:15 height:15 bitmap:qc1bmp
  112.         bitmap Qd1bmpUI "Bitmap" pos:[165,113] width:15 height:15 bitmap:qd1bmp
  113.  
  114.         bitmap qa2bmpUI "Bitmap" pos:[230,98]  width:15 height:15 bitmap:qa2bmp
  115.         bitmap qb2bmpUI "Bitmap" pos:[245,98]  width:15 height:15 bitmap:qb2bmp
  116.         bitmap qc2bmpUI "Bitmap" pos:[230,113] width:15 height:15 bitmap:qc2bmp
  117.         bitmap qd2bmpUI "Bitmap" pos:[245,113] width:15 height:15 bitmap:qd2bmp
  118.  
  119.         bitmap qa3bmpUI "Bitmap" pos:[279,98]  width:15 height:15 bitmap:qa3bmp
  120.         bitmap qb3bmpUI "Bitmap" pos:[294,98]  width:15 height:15 bitmap:qb3bmp
  121.         bitmap qc3bmpUI "Bitmap" pos:[279,113] width:15 height:15 bitmap:qc3bmp
  122.         bitmap qd3bmpUI "Bitmap" pos:[294,113] width:15 height:15 bitmap:qd3bmp
  123.  
  124.         bitmap qa4bmpUI "Bitmap" pos:[328,98]  width:15 height:15 bitmap:qa4bmp
  125.         bitmap qb4bmpUI "Bitmap" pos:[343,98]  width:15 height:15 bitmap:qb4bmp
  126.         bitmap qc4bmpUI "Bitmap" pos:[328,113] width:15 height:15 bitmap:qc4bmp
  127.         bitmap qd4bmpUI "Bitmap" pos:[343,113] width:15 height:15 bitmap:qd4bmp
  128.  
  129.         label lbl106 "Quad 1" pos:[146,73] width:40 height:20
  130.         label lbl107 "Quad 2" pos:[225,73] width:40 height:20
  131.         label lbl108 "Quad 3" pos:[275,73] width:40 height:20
  132.         label lbl109 "Quad 4" pos:[325,73] width:40 height:20
  133.     -- Color Titles as labels
  134.         label lbl18 "Title Background" pos:[54,151] width:90 height:20    
  135.         label lbl17 "Title Text" pos:[92,174] width:50 height:20
  136.         label lbl10 "Background" pos:[78,198] width:70 height:20
  137.         label lbl9 "Text" pos:[114,222] width:36 height:20
  138.         label lbl13 "Highlighted Text" pos:[59,246] width:84 height:20 align:#right
  139.         label lbl14 "Highlighted Background" pos:[22,270] width:120 height:20
  140.         label lbl16 "Last Used Text" pos:[63,295] width:77 height:20
  141.         label lbl19 "Disabled Highlight" pos:[49,320] width:91 height:20
  142.         label lbl20 "Disabled Shadow" pos:[52,345] width:92 height:20
  143.         label lbl15 "Border" pos:[103,370] width:36 height:20
  144.     -- Colorpickers
  145.         GroupBox grp11 "Colors" pos:[11,60] width:360 height:340
  146.         colorPicker Q1TBack "" pos:[142,151] width:40 height:20
  147.         colorPicker Q2TBack "" pos:[222,151] width:40 height:20
  148.         colorPicker Q3TBack "" pos:[272,151] width:40 height:20 
  149.         colorPicker Q4TBack "" pos:[322,151] width:40 height:20
  150.         colorPicker Q2TText "" pos:[222,174] width:40 height:20
  151.         colorPicker Q1TText "" pos:[142,174] width:40 height:20
  152.         colorPicker Q3TText "" pos:[272,174] width:40 height:20
  153.         colorPicker Q4TText "" pos:[322,174] width:40 height:20
  154.         colorPicker Q2Back "" pos:[222,198] width:40 height:20
  155.         colorPicker Q1Back "" pos:[142,198] width:40 height:20
  156.         colorPicker Q3Back "" pos:[272,198] width:40 height:20
  157.         colorPicker Q4Back "" pos:[322,198] width:40 height:20
  158.         colorPicker Q2Text "" pos:[222,222] width:40 height:20
  159.         colorPicker Q1Text "" pos:[142,222] width:40 height:20
  160.         colorPicker Q3Text "" pos:[272,222] width:40 height:20
  161.         colorPicker Q4Text "" pos:[322,222] width:40 height:20
  162.         colorPicker Q2Htext "" pos:[222,246] width:40 height:20
  163.         colorPicker Q1HText "" pos:[142,246] width:40 height:20
  164.         colorPicker Q3Htext "" pos:[272,246] width:40 height:20
  165.         colorPicker Q4HText "" pos:[322,246] width:40 height:20
  166.         colorPicker Q2HBack "" pos:[222,270] width:40 height:20
  167.         colorPicker Q1HBack "" pos:[142,270] width:40 height:20
  168.         colorPicker q3hback "" pos:[272,270] width:40 height:20
  169.         colorPicker q4hback "" pos:[322,270] width:40 height:20
  170.         colorPicker q2lutext "" pos:[222,295] width:40 height:20
  171.         colorPicker q1lutext "" pos:[142,295] width:40 height:20
  172.         colorPicker q3lutext "" pos:[272,295] width:40 height:20
  173.         colorPicker q4lutext "" pos:[322,295] width:40 height:20
  174.         colorPicker q2dish "" pos:[222,320] width:40 height:20
  175.         colorPicker q1dish "" pos:[142,320] width:40 height:20
  176.         colorPicker q3dish "" pos:[272,320] width:40 height:20
  177.         colorPicker q4dish "" pos:[322,320] width:40 height:20
  178.         colorPicker q2diss "" pos:[222,345] width:40 height:20
  179.         colorPicker q1diss "" pos:[142,345] width:40 height:20
  180.         colorPicker q3diss "" pos:[272,345] width:40 height:20
  181.         colorPicker q4diss "" pos:[322,345] width:40 height:20
  182.         colorPicker q2border "" pos:[222,370] width:40 height:20
  183.         colorPicker q1border "" pos:[142,370] width:40 height:20
  184.         colorPicker q3border "" pos:[272,370] width:40 height:20
  185.         colorPicker q4border "" pos:[322,370] width:40 height:20
  186.     -- "Lock" Checkboxes
  187.         checkbutton lockTBack "L" pos:[192,151] width:20 height:20 checked:true
  188.         checkbutton LockTText "L" pos:[192,174] width:20 height:20  checked:true
  189.         checkbutton lockback "L" pos:[192,198] width:20 height:20 checked:true
  190.         checkbutton locktext "L" pos:[192,222] width:20 height:20 checked:true
  191.         checkbutton lockhtext "L" pos:[192,246] width:20 height:20 checked:true
  192.         checkbutton lockhback "L" pos:[192,270] width:20 height:20 checked:true
  193.         checkbutton locklutext "L" pos:[192,295] width:20 height:20 checked:true
  194.         checkbutton lockdish "L" pos:[192,320] width:20 height:20 checked:true
  195.         checkbutton lockdiss "L" pos:[192,345] width:20 height:20 checked:true
  196.         checkbutton lockborder "L" pos:[192,370] width:20 height:20 checked:true
  197.     -- Display Options
  198.         GroupBox grp12 "Display" pos:[380,10] width:200 height:110
  199.         checkbox UniformQW "Uniform Quad Width" pos:[390,30] width:160 height:20
  200.         checkbox MirrorQuads "Mirror Quads" pos:[390,50] width:79 height:20
  201.         Spinner VertMargin "Vertical Margins" pos:[481,73] width:62 height:20 type:#integer
  202.         label lbl21 "Opacity Amount:" pos:[411,93] width:79 height:20
  203.         spinner OpacityAmt "" pos:[493,94] width:50 height:16
  204.     -- Positioning Settings
  205.         GroupBox grp13 "Positioning" pos:[380,121] width:200 height:87
  206.         checkbox ReposQuad "Reposition Quad When Off Screen" pos:[390,140] width:185 height:20
  207.         checkbox MoveCursor "Move Cursor When Repositioned" pos:[390,160] width:180 height:20 enabled:true
  208.         checkbox ReturnCursor "Return Cursor After Repositioned" pos:[390,180] width:180 height:18
  209.     -- Fonts and sizes
  210.         GroupBox grp14 "Fonts" pos:[380,209] width:200 height:120
  211.         dropdownList TitleFont "Title Font" pos:[390,227] width:180 height:40 items:fontlist height:5
  212.         label lbl22 "Size:" pos:[485,224] width:30 height:15 
  213.         spinner TitleFontSize "" pos:[517,226] width:50 height:16 type:#Integer range:[1,20,5]
  214.         dropdownList MenuFont "Menu Font" pos:[389,280] width:180 height:40 items:fontlist height:5
  215.         label lbl23 "Size:" pos:[485,279] width:30 height:15
  216.         spinner MenuFontSize "" pos:[516,280] width:50 height:16 type:#Integer range:[1,20,1]
  217.     -- Animation options
  218.         GroupBox grpanim "Animation" pos:[380,330] width:200 height:70
  219.         dropdownList AnimationType "Type" pos:[391,350] width:80 height:40 enabled:true items:#("None","Stretch","Fade")
  220.         spinner steps "" pos:[520,350] width:50 height:16 range:[0,20,5] type:#integer
  221.         spinner speed "" pos:[520,370] width:50 height:16 range:[0,20,5] type:#integer
  222.         label lbl24 "Steps" pos:[480,350] width:30 height:20
  223.         label lbl25 "Pause" pos:[480,370] width:35 height:20
  224.         
  225. --***********************************************************************************************
  226. -- Functions
  227. --***********************************************************************************************
  228.  
  229. -- Function to update little bitmaps in interface
  230.         fn UpdateBitmaps =
  231.         ( -- Create intial Bitmaps
  232.         -- Since we removed "setPixels" we had to change these to be "static" bitmaps.  i.e. now there
  233.         -- are 16 bitmaps instead of 4 that were drawn into 4 quadrants each.
  234.         -- -----
  235.         -- |d|c|
  236.         -- -----
  237.         -- |b|a|
  238.         -- -----
  239.         Qa1bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 1)
  240.         Qb1bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 1)
  241.         Qc1bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 1)
  242.         Qd1bmp = bitmap 32 32 color:(quadmenusettings.GetHighlightedItemBackgroundColor 1)
  243.  
  244.         Qa2bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 2)
  245.         Qb2bmp = bitmap 32 32 color:(quadmenusettings.GetHighlightedItemBackgroundColor 2)
  246.         Qc2bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 2)
  247.         Qd2bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 2)
  248.  
  249.         Qa3bmp = bitmap 32 32 color:(quadmenusettings.GetHighlightedItemBackgroundColor 3)
  250.         Qb3bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 3)
  251.         Qc3bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 3)
  252.         Qd3bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 3)
  253.  
  254.         Qa4bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 4)
  255.         Qb4bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 4)
  256.         Qc4bmp = bitmap 32 32 color:(quadmenusettings.GetHighlightedItemBackgroundColor 4)
  257.         Qd4bmp = bitmap 32 32 color:(quadmenusettings.GetItemBackgroundColor 4)
  258.  
  259.         qa1bmpUI.bitmap = qa1bmp
  260.         qb1bmpUI.bitmap = qb1bmp
  261.         qc1bmpUI.bitmap = qc1bmp
  262.         qd1bmpUI.bitmap = qd1bmp
  263.  
  264.         qa2bmpUI.bitmap = qa2bmp
  265.         qb2bmpUI.bitmap = qb2bmp
  266.         qc2bmpUI.bitmap = qc2bmp
  267.         qd2bmpUI.bitmap = qd2bmp
  268.  
  269.         qa3bmpUI.bitmap = qa3bmp
  270.         qb3bmpUI.bitmap = qb3bmp
  271.         qc3bmpUI.bitmap = qc3bmp
  272.         qd3bmpUI.bitmap = qd3bmp
  273.  
  274.         qa4bmpUI.bitmap = qa4bmp
  275.         qb4bmpUI.bitmap = qb4bmp
  276.         qc4bmpUI.bitmap = qc4bmp
  277.         qd4bmpUI.bitmap = qd4bmp
  278.             
  279.         )
  280.  
  281. -- Function to Strip out extra spaces in a string
  282.         fn StripSpaces aString = 
  283.         (
  284.             local strAr = filterString aString " "
  285.             local newStr = ""
  286.             for str in strAr do newStr += (str + " ")
  287.             subString newStr 1 (newStr.count-1)
  288.         )
  289. -- Function to check colors and set the interface locks
  290.         fn SetLocks =
  291.         (
  292.             QMS = quadmenusettings
  293.             if (QMS.GetTitleBarBackgroundColor 1)==(QMS.GetTitleBarBackgroundColor 2)and(QMS.GetTitleBarBackgroundColor 1)==(QMS.GetTitleBarBackgroundColor 3)and(QMS.GetTitleBarBackgroundColor 1)==(QMS.GetTitleBarBackgroundColor 4)then locktback.checked = true
  294.             else locktback.checked = false
  295.             
  296.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  297.             else lockttext.checked = false
  298.             
  299.             if (QMS.GetItemBackgroundColor 1)==(QMS.GetItemBackgroundColor 2)and(QMS.GetItemBackgroundColor 1)==(QMS.GetItemBackgroundColor 3)and(QMS.GetItemBackgroundColor 1)==(QMS.GetItemBackgroundColor 4) then lockback.checked = true
  300.             else lockback.checked = false
  301.             
  302.             if (QMS.GetItemTextColor 1)==(QMS.GetItemTextColor 2)and(QMS.GetItemTextColor 1)==(QMS.GetItemTextColor 3)and(QMS.GetItemTextColor 1)==(QMS.GetItemTextColor 4) then locktext.checked = true
  303.             else locktext.checked = false
  304.             
  305.             if (QMS.GetHighlightedItemTextColor 1)==(QMS.GetHighlightedItemTextColor 2)and(QMS.GetHighlightedItemTextColor 1)==(QMS.GetHighlightedItemTextColor 3)and(QMS.GetHighlightedItemTextColor 1)==(QMS.GetHighlightedItemTextColor 4) then lockhtext.checked = true
  306.             else lockhtext.checked = false
  307.             
  308.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  309.             else lockttext.checked = false
  310.             
  311.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  312.             else lockttext.checked = false
  313.             
  314.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  315.             else lockttext.checked = false
  316.             
  317.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  318.             else lockttext.checked = false
  319.             
  320.             if (QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 2)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 3)and(QMS.GetTitleBarTextColor 1)==(QMS.GetTitleBarTextColor 4) then lockttext.checked = true
  321.             else lockttext.checked = false
  322.         )
  323.  
  324. -- Function for setting all colorpicker colors to match current quad settings
  325.         fn InitalizeColorPickers =
  326.         (
  327.             
  328.             -- Set Start Position checkboxes
  329.             local xpos= quadmenusettings.GetInitialCursorLocXInBox_0to1()
  330.             local ypos= quadmenusettings.GetInitialCursorLocYInBox_0to1()
  331.             --print  xpos;--print ypos
  332.             if xpos > 0 and ypos > 0 do QMS_AdvancedQuadOptions.qpos1.checked = true
  333.             --else (qpos2.checked = false; qpos3.checked = false; qpos4.checked = false)
  334.         
  335.             if xpos > 0 and ypos < 0 do QMS_AdvancedQuadOptions.qpos2.checked = true
  336.             --else (qpos1.checked = false; qpos3.checked = false; qpos4.checked = false)
  337.             
  338.             if xpos < 0 and ypos < 0 do QMS_AdvancedQuadOptions.qpos3.checked = true
  339.             --else (qpos1.checked = false; qpos2.checked = false; qpos4.checked = false)
  340.  
  341.             if xpos < 0 and ypos > 0 do QMS_AdvancedQuadOptions.qpos4.checked = true
  342.             --else (qpos1.checked = false; qpos2.checked = false; qpos3.checked = false)
  343.     
  344.             -- Set all checkboxes and spinners to current states
  345.             UniformQW.state = quadmenusettings.GetUseUniformQuadWidth()
  346.             VertMargin.value = quadmenusettings.GetVerticalMarginInPoints()
  347.             MirrorQuads.state = quadmenusettings.GetMirrorQuad()
  348.             OpacityAmt.value = (quadmenusettings.GetOpacity() *100)
  349.             
  350.             ReposQuad.state = quadmenusettings.GetRepositionWhenClipped()
  351.             MoveCursor.state = quadmenusettings.GetMoveCursorOnReposition()
  352.             MoveCursor.enabled = ReposQuad.state
  353.             ReturnCursor.state = quadmenusettings.GetReturnCursorAfterReposition()
  354.             ReturnCursor.enabled = MoveCursor.state
  355.             
  356.             TitleFont.selected = quadmenusettings.GetTitleFontFace()
  357.             MenuFont.selected = quadmenusettings.GetItemFontFace()
  358.             TitleFontSize.value = quadmenusettings.GetTitleFontSize()
  359.             MenuFontSize.value = quadmenusettings.GetItemFontSize()
  360.             AnimationType.selection = (quadmenusettings.GetDisplayMethod()+1)
  361.             Steps.value = quadmenusettings.GetAnimatedSteps()
  362.             Speed.value = quadmenusettings.GetAnimatedStepTime()
  363.             -- Set all color pickers
  364.             q1tback.color = quadmenusettings.GetTitleBarBackgroundColor 1
  365.             q2tback.color = quadmenusettings.GetTitleBarBackgroundColor 2
  366.             q3tback.color = quadmenusettings.GetTitleBarBackgroundColor 3
  367.             q4tback.color = quadmenusettings.GetTitleBarBackgroundColor 4
  368.             
  369.             q1ttext.color = quadmenusettings.GetTitleBarTextColor 1
  370.             q2ttext.color = quadmenusettings.GetTitleBarTextColor 2
  371.             q3ttext.color = quadmenusettings.GetTitleBarTextColor 3
  372.             q4ttext.color = quadmenusettings.GetTitleBarTextColor 4
  373.             
  374.             q1back.color = quadmenusettings.GetItemBackgroundColor 1
  375.             q2back.color = quadmenusettings.GetItemBackgroundColor 2
  376.             q3back.color = quadmenusettings.GetItemBackgroundColor 3
  377.             q4back.color = quadmenusettings.GetItemBackgroundColor 4
  378.         
  379.             q1text.color = quadmenusettings.GetItemTextColor 1
  380.             q2text.color = quadmenusettings.GetItemTextColor 2
  381.             q3text.color = quadmenusettings.GetItemTextColor 3
  382.             q4text.color = quadmenusettings.GetItemTextColor 4
  383.             
  384.             q1htext.color = quadmenusettings.GetHighlightedItemTextColor 1
  385.             q2htext.color = quadmenusettings.GetHighlightedItemTextColor 2
  386.             q3htext.color = quadmenusettings.GetHighlightedItemTextColor 3
  387.             q4htext.color = quadmenusettings.GetHighlightedItemTextColor 4
  388.         
  389.             q1hback.color = quadmenusettings.GetHighlightedItemBackgroundColor 1
  390.             q2hback.color = quadmenusettings.GetHighlightedItemBackgroundColor 2
  391.             q3hback.color = quadmenusettings.GetHighlightedItemBackgroundColor 3
  392.             q4hback.color = quadmenusettings.GetHighlightedItemBackgroundColor 4
  393.             
  394.             q1lutext.color = quadmenusettings.GetLastExecutedItemTextColor 1
  395.             q2lutext.color = quadmenusettings.GetLastExecutedItemTextColor 2
  396.             q3lutext.color = quadmenusettings.GetLastExecutedItemTextColor 3
  397.             q4lutext.color = quadmenusettings.GetLastExecutedItemTextColor 4
  398.         
  399.             q1dish.color = quadmenusettings.GetDisabledHighlightColor 1
  400.             q2dish.color = quadmenusettings.GetDisabledHighlightColor 2
  401.             q3dish.color = quadmenusettings.GetDisabledHighlightColor 3
  402.             q4dish.color = quadmenusettings.GetDisabledHighlightColor 4    
  403.         
  404.             q1diss.color = quadmenusettings.GetDisabledShadowColor 1
  405.             q2diss.color = quadmenusettings.GetDisabledShadowColor 2
  406.             q3diss.color = quadmenusettings.GetDisabledShadowColor 3
  407.             q4diss.color = quadmenusettings.GetDisabledShadowColor 4    
  408.             
  409.             q1border.color = quadmenusettings.GetborderColor 1
  410.             q2border.color = quadmenusettings.GetborderColor 2
  411.             q3border.color = quadmenusettings.GetborderColor 3
  412.             q4border.color = quadmenusettings.GetborderColor 4
  413.         )
  414.     
  415.     -- Function to update all the quad settings at once. Called everytime you adjust a UI widjet
  416.         fn UpdateAllQuadColors =
  417.         (
  418.              quadmenusettings.SetTitleBarBackgroundColor 1 q1tback.color
  419.              quadmenusettings.SetTitleBarBackgroundColor 2 q2tback.color
  420.              quadmenusettings.SetTitleBarBackgroundColor 3 q3tback.color
  421.              quadmenusettings.SetTitleBarBackgroundColor 4 q4tback.color
  422.             
  423.              quadmenusettings.SetTitleBarTextColor 1 q1ttext.color
  424.              quadmenusettings.SetTitleBarTextColor 2 q2ttext.color
  425.              quadmenusettings.SetTitleBarTextColor 3 q3ttext.color
  426.              quadmenusettings.SetTitleBarTextColor 4 q4ttext.color
  427.                 
  428.              quadmenusettings.SetItemBackgroundColor 1 q1back.color
  429.              quadmenusettings.SetItemBackgroundColor 2 q2back.color
  430.              quadmenusettings.SetItemBackgroundColor 3 q3back.color
  431.              quadmenusettings.SetItemBackgroundColor 4 q4back.color
  432.         
  433.             quadmenusettings.SetItemTextColor 1 q1text.color
  434.             quadmenusettings.SetItemTextColor 2    q2text.color
  435.             quadmenusettings.SetItemTextColor 3    q3text.color
  436.             quadmenusettings.SetItemTextColor 4    q4text.color
  437.                 
  438.             quadmenusettings.SetHighlightedItemTextColor 1 q1htext.color 
  439.             quadmenusettings.SetHighlightedItemTextColor 2 q2htext.color 
  440.             quadmenusettings.SetHighlightedItemTextColor 3 q3htext.color
  441.             quadmenusettings.SetHighlightedItemTextColor 4 q4htext.color
  442.         
  443.             quadmenusettings.SetHighlightedItemBackgroundColor 1 q1hback.color
  444.             quadmenusettings.SetHighlightedItemBackgroundColor 2 q2hback.color
  445.             quadmenusettings.SetHighlightedItemBackgroundColor 3 q3hback.color
  446.              quadmenusettings.SetHighlightedItemBackgroundColor 4 q4hback.color
  447.              
  448.             quadmenusettings.SetLastExecutedItemTextColor 1 q1lutext.color
  449.             quadmenusettings.SetLastExecutedItemTextColor 2 q2lutext.color
  450.             quadmenusettings.SetLastExecutedItemTextColor 3 q3lutext.color
  451.              quadmenusettings.SetLastExecutedItemTextColor 4    q4lutext.color
  452.         
  453.              quadmenusettings.SetDisabledHighlightColor 1 q1dish.color
  454.              quadmenusettings.SetDisabledHighlightColor 2 q2dish.color
  455.              quadmenusettings.SetDisabledHighlightColor 3 q3dish.color
  456.              quadmenusettings.SetDisabledHighlightColor 4 q4dish.color
  457.         
  458.             quadmenusettings.SetDisabledShadowColor 1 q1diss.color 
  459.             quadmenusettings.SetDisabledShadowColor 2 q2diss.color
  460.             quadmenusettings.SetDisabledShadowColor 3 q3diss.color
  461.             quadmenusettings.SetDisabledShadowColor 4 q4diss.color    
  462.             
  463.             quadmenusettings.SetborderColor 1 q1border.color
  464.             quadmenusettings.SetborderColor 2 q2border.color
  465.             quadmenusettings.SetborderColor 3 q3border.color
  466.             quadmenusettings.SetborderColor 4 q4border.color
  467.         )
  468. -- Function to change the interface colors with respect to the lock status
  469.         fn UpdateColorPicker QuadNum ItemName Lock=
  470.         (
  471.             numquad = QuadNum
  472.             local str = ""
  473.             local val = FindItem QuadOptionsColorLocks ItemName
  474.             if lock == true then 
  475.             (
  476.                 for i = 1 to 4 do 
  477.                 (
  478.                     Try
  479.                     (
  480.                         str =  "QMS_AdvancedQuadOptions." +QuadOptionsUIArray[val][i]+".color = QMS_AdvancedQuadOptions."+QuadOptionsUIArray[val][numQuad]+".color\n"
  481.                         execute str
  482.                     )
  483.                     Catch()
  484.                 )
  485.             )
  486.             else 
  487.             (
  488.                 Try
  489.                 (
  490.                     str = "QMS_AdvancedQuadOptions."+ QuadOptionsUIArray[val][numQuad]+".color = QMS_AdvancedQuadOptions."+QuadOptionsUIArray[val][numQuad]+".color\n"
  491.                     execute str
  492.                 )
  493.                 Catch()
  494.             )
  495.             UpdateAllQuadColors()
  496.             UpdateBitmaps()
  497.         )
  498.  
  499. --***********************************************************************************************
  500. -- Body of main interface reactions
  501. --***********************************************************************************************
  502.         on Loadqcl pressed do 
  503.         (
  504.             QclFileName = getOpenFilename caption:"Load Quad Options" types:"Quad Options File(*.qmo)|*.qmo|"
  505.             -- russom 06/20/01
  506.             -- try (filein (QclFilename)) Catch ()
  507.  
  508.             if (QclFileName != undefined) then -- orb 07-24-01 fixing defect 303499
  509.             (
  510.                 QuadMenuSettings.LoadSettingsFile QclFilename
  511.                 InitalizeColorPickers()
  512.                 SetLocks()
  513.                 UpdateBitmaps()
  514.             )
  515.         )
  516.         on Saveqcl pressed do
  517.         (
  518.             Try 
  519.             (
  520.                 qmoFileName = getSaveFilename caption:"Save Quad Colors" types:"Quad Color File(*.qmo)|*.qmo|"
  521.                 -- russom 06/07/01
  522.                 -- local qmoPath = getfilenamepath qmoFileName
  523.                 -- local qmoFile = getfilenamefile qmoFileName
  524.                 -- SaveQuadOptions qmoPath qmoFile ".qmo"
  525.                 QuadMenuSettings.SaveSettingsFile qmoFileName
  526.             )
  527.             Catch ()
  528.         )
  529.         on savestartup pressed do 
  530.         (
  531.         if (querybox  "Are you sure?" Title:"Save as Startup") == true do 
  532.             (
  533.             -- russom 06/07/01
  534.             -- SaveQuadOptions  (GetDir #ui) "MaxQuadMenus" ".qmo"
  535.             QuadMenuSettings.SaveSettingsFile "MaxQuadMenus.qmo"
  536.             )
  537.         )
  538.         on reset pressed do
  539.         (    
  540.         -- russom 06/07/01
  541.         -- LoadQuadOptions (GetDir #ui) "MaxQuadMenus" ".qmo"
  542.         QuadMenuSettings.LoadSettingsFile "MaxQuadMenus.qmo"
  543.         InitalizeColorPickers();UpdateBitmaps()
  544.         )
  545.         on qpos1 changed state do if state == true do 
  546.         (
  547.         qpos2.checked = false; qpos3.checked = false; qpos4.checked = false
  548.         quadmenusettings.SetInitialCursorLocInBox_0to1 .5 .5
  549.         )
  550.         on qpos2 changed state do if state == true do 
  551.         (
  552.         qpos1.checked = false; qpos3.checked = false; qpos4.checked = false
  553.         quadmenusettings.SetInitialCursorLocInBox_0to1 .5 -.5
  554.         )
  555.         on qpos3 changed state do if state == true do 
  556.         (
  557.         qpos1.checked = false; qpos2.checked = false; qpos4.checked = false
  558.         quadmenusettings.SetInitialCursorLocInBox_0to1 -.5 -.5
  559.         )
  560.         on qpos4 changed state do if state == true do 
  561.         (
  562.         qpos1.checked = false; qpos2.checked = false; qpos3.checked = false
  563.         quadmenusettings.SetInitialCursorLocInBox_0to1 -.5 .5
  564.         )
  565.         
  566.         On UniformQW changed state do quadmenusettings.SetUseUniformQuadWidth UniformQW.state
  567.         On VertMargin changed value do quadmenusettings.SetVerticalMarginInPoints VertMargin.value
  568.         on MirrorQuads changed state do quadmenusettings.SetMirrorQuad MirrorQuads.state
  569.         on OpacityAmt changed value do quadmenusettings.SetOpacity (OpacityAmt.value *.01)
  570.         
  571.         on ReposQuad changed state do 
  572.         (
  573.         quadmenusettings.SetRepositionWhenClipped ReposQuad.state
  574.         MoveCursor.enabled = ReposQuad.state
  575.         )
  576.         on MoveCursor changed state do 
  577.         (
  578.         quadmenusettings.SetMoveCursorOnReposition MoveCursor.state
  579.         ReturnCursor.enabled = MoveCursor.state
  580.         )
  581.         on ReturnCursor changed state do quadmenusettings.SetReturnCursorAfterReposition MoveCursor.state
  582.         
  583.         on TitleFont selected TFont do quadmenusettings.SetTitleFontFace (StripSpaces (FontList[TFont]))
  584.         on MenuFont selected MFont do quadmenusettings.SetItemFontFace (StripSpaces (FontList[MFont]))
  585.         on TitleFontSize changed value do quadmenusettings.SetTitleFontSize value
  586.         on MenuFontSize changed value do quadmenusettings.SetItemFontSize value
  587.         
  588.         on AnimationType selected Type do quadmenusettings.SetDisplayMethod (Type-1)
  589.         on Steps changed value do quadmenusettings.SetAnimatedSteps Value
  590.         on Speed changed value do quadmenusettings.SetAnimatedStepTime Value
  591.         
  592.         on q1tback changed color do UpdateColorPicker 1 "locktback" locktback.checked
  593.         on q2tback changed color do UpdateColorPicker 2 "locktback" locktback.checked
  594.         on q3tback changed color do UpdateColorPicker 3 "locktback" locktback.checked
  595.         on q4tback changed color do UpdateColorPicker 4 "locktback" locktback.checked
  596.         on locktback changed state do UpdateColorPicker 1 "locktback" locktback.checked
  597.         
  598.         on q1TText changed color do UpdateColorPicker 1 "lockttext" lockTText.checked
  599.         on q2TText changed color do UpdateColorPicker 2 "lockttext" lockTText.checked
  600.         on q3TText changed color do UpdateColorPicker 3 "lockttext" lockTText.checked
  601.         on q4TText changed color do UpdateColorPicker 4 "lockttext" lockTText.checked
  602.         on lockTText changed state do UpdateColorPicker 1 "lockttext" lockTText.checked
  603.             
  604.         on q1back changed color do UpdateColorPicker 1 "lockback" lockback.checked
  605.         on q2back changed color do UpdateColorPicker 2 "lockback" lockback.checked
  606.         on q3back changed color do UpdateColorPicker 3 "lockback" lockback.checked
  607.         on q4back changed color do UpdateColorPicker 4 "lockback" lockback.checked
  608.         on lockback changed state do UpdateColorPicker 1 "lockback" lockback.checked
  609.                 
  610.         on q1text changed color do UpdateColorPicker 1 "locktext" locktext.checked
  611.         on q2text changed color do UpdateColorPicker 2 "locktext" locktext.checked
  612.         on q3text changed color do UpdateColorPicker 3 "locktext" locktext.checked
  613.         on q4text changed color do UpdateColorPicker 4 "locktext" locktext.checked
  614.         on locktext changed state do UpdateColorPicker 1 "locktext" locktext.checked
  615.         
  616.         on q1htext changed color do UpdateColorPicker 1 "lockhtext" lockhtext.checked
  617.         on q2htext changed color do UpdateColorPicker 2 "lockhtext" lockhtext.checked
  618.         on q3htext changed color do UpdateColorPicker 3 "lockhtext" lockhtext.checked
  619.         on q4htext changed color do UpdateColorPicker 4 "lockhtext" lockhtext.checked
  620.         on lockhtext changed state do UpdateColorPicker 1 "lockhtext" lockhtext.checked
  621.                 
  622.         on q1hback changed color do UpdateColorPicker 1 "lockhback" lockhback.checked
  623.         on q2hback changed color do UpdateColorPicker 2 "lockhback" lockhback.checked
  624.         on q3hback changed color do UpdateColorPicker 3 "lockhback" lockhback.checked
  625.         on q4hback changed color do UpdateColorPicker 4 "lockhback" lockhback.checked
  626.         on lockhback changed state do UpdateColorPicker 1 "lockhback" lockhback.checked
  627.         
  628.         on q1lutext changed color do UpdateColorPicker 1 "locklutext" locklutext.checked
  629.         on q2lutext changed color do UpdateColorPicker 2 "locklutext" locklutext.checked
  630.         on q3lutext changed color do UpdateColorPicker 3 "locklutext" locklutext.checked
  631.         on q4lutext changed color do UpdateColorPicker 4 "locklutext" locklutext.checked
  632.         on locklutext changed state do UpdateColorPicker 1 "locklutext" locklutext.checked
  633.         
  634.         on q1dish changed color do UpdateColorPicker 1 "lockdish" lockdish.checked
  635.         on q2dish changed color do UpdateColorPicker 2 "lockdish" lockdish.checked
  636.         on q3dish changed color do UpdateColorPicker 3 "lockdish" lockdish.checked
  637.         on q4dish changed color do UpdateColorPicker 4 "lockdish" lockdish.checked
  638.         on lockdish changed state do UpdateColorPicker 1 "lockdish" lockdish.checked
  639.         
  640.         on q1diss changed color do UpdateColorPicker 1 "lockdiss" lockdiss.checked
  641.         on q2diss changed color do UpdateColorPicker 2 "lockdiss" lockdiss.checked
  642.         on q3diss changed color do UpdateColorPicker 3 "lockdiss" lockdiss.checked
  643.         on q4diss changed color do UpdateColorPicker 4 "lockdiss" lockdisse.checked
  644.         on lockdish changed state do UpdateColorPicker 1 "lockdish" lockdiss.checked
  645.         
  646.         on q1border changed color do UpdateColorPicker 1 "lockborder" lockborder.checked
  647.         on q2border changed color do UpdateColorPicker 2 "lockborder" lockborder.checked
  648.         on q3border changed color do UpdateColorPicker 3 "lockborder" lockborder.checked
  649.         on q4border changed color do UpdateColorPicker 4 "lockborder" lockborder.checked
  650.         on lockborder changed state do UpdateColorPicker 1 "lockborder" lockdiss.checked
  651.         
  652.         -- Call update function on startup
  653.         on QMS_AdvancedQuadOptions open do 
  654.         (    
  655.         -- Turn Off Animate Button so title quad aren't red
  656.             AnimButtonState = False
  657.         -- Call the function to set the quad titles back to original color
  658.             ChangeSystemColorsAnimateOff()
  659.             InitalizeColorPickers()
  660.             SetLocks()
  661.             UpdateBitmaps()
  662.         )
  663.     )
  664.     CreateDialog QMS_AdvancedQuadOptions width:595 height:405
  665. )