home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 19 / AACD19.BIN / AACD / Programming / rxmui / examples / slidorama.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2001-01-29  |  4.9 KB  |  152 lines

  1. /**/
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  7. if AddLibrary("rxmui.library")~=0 then exit
  8.  
  9. call rxmuiopt("showerr debugmode")
  10.  
  11. call CreateApp
  12. call handleApp
  13.  
  14. /***********************************************************************/
  15. CreateApp: procedure
  16.  
  17.  
  18.     app.Title="Slidorama"
  19.     app.Version="$VER: Slidorama 1.0 (17.12.00)"
  20.     app.Copyright="©1999, alfie"
  21.     app.Author="alfie"
  22.     app.Description="Slidorama example"
  23.     app.Base="EXAMPLE"
  24.     app.menustrip=MakeObj(,"menustrip",,
  25.                     MakeObj(,"menu","Project",,
  26.                         menuitem("mabout","About...","?"),,
  27.                         menuitem("maboutrxmui","About RxMUI..."),,
  28.                         menuitem("maboutmui","About MUI..."),,
  29.                         menuitem("","BAR"),,
  30.                         menuitem("mhide","Hide","H"),,
  31.                         menuitem("","BAR"),,
  32.                         menuitem("mquit","Quit","Q")),,
  33.                     MakeObj("medit","menu","Editor",,
  34.                         MakeObj(,"MenuItem",menuitem("mtest","Test"),,
  35.                             menuitem("mtest1","Show all",,"CHECKED CHEKIT TOGGLE",6),,
  36.                             menuitem("mtest2","Show left",,"CHEKIT TOGGLE",5),,
  37.                             menuitem("mtest3","Show right",,"CHEKIT TOGGLE",3))))
  38.  
  39.     app.SubWindow="win"
  40.      win.ID="MAIN"
  41.      win.Title="Slidorama"
  42.  
  43.      sl.Stringify="parse arg v;if v=0 then return ' You''re kidding! '; if v<40 then return v 'points. :-(';if v<61 then return v 'points. :-|';if v=100 then return ' It''s magic! '; return v 'points. :-)'"
  44.  
  45.      win.Contents=,
  46.         MakeObj("mgroup","VGroup",,
  47.             MakeObj(,"HGroup",,
  48.                 MakeObj("left","HFrameGroup","Knobs",,
  49.                     MAkeObj(,"HCenter",,
  50.                         MAkeObj(,"VCenter",,
  51.                             MakeObj(,"ColGroup",2,,
  52.                                 Label("Volume:"),,
  53.                                   MakeObj(,"HGroup",,
  54.                                     MakeObj(,"Knob",,0,64,64),,
  55.                                     MakeObj(,"Knob",,0,64,64),,
  56.                                     MakeObj(,"Knob",,0,64,64),,
  57.                                     MakeObj(,"Knob",,0,64,64)),,
  58.                                 Label("Bass:"),,
  59.                                 MakeObj(,"HGroup",,
  60.                                     MakeObj(,"Knob",,-100,100,0),,
  61.                                     MakeObj(,"Knob",,-100,100,0),,
  62.                                     MakeObj(,"Knob",,-100,100,0),,
  63.                                     MakeObj(,"Knob",,-100,100,0)),,
  64.                                   Label("Treble:"),,
  65.                                   MakeObj(,"HGroup",,
  66.                                     MakeObj(,"Knob",,-100,100,0),,
  67.                                     MakeObj(,"Knob",,-100,100,0),,
  68.                                     MakeObj(,"Knob",,-100,100,0),,
  69.                                     MakeObj(,"Knob",,-100,100,0)))))),,
  70.                 MakeObj("right","VGroup",,
  71.                     MakeObj(,"HFrameGroup","Levelmeter Displays",,
  72.                         MakeObj(,"HCenter",,
  73.                             MAkeObj(,"VCenter",,
  74.                                 MakeObj(,"HGroup",,
  75.                                     MakeObj("lm1","Levelmeter",,,,,"Horizontal"),,
  76.                                     MakeObj("lm2","Levelmeter",,,,,"Vertical"),,
  77.                                     MakeObj("lm3","Levelmeter",,,,,"Total"))))),,
  78.                     MakeObj(,"HFrameGroup","Numeric Buttons",,
  79.                         MakeObj(,"HCenter",,
  80.                             MakeObj(,"ColGroup",2,,
  81.                                 Label("Low:"),,
  82.                                 MakeObj(,"HGroup",,
  83.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  84.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  85.                                     MakeObj(,"NumericButton",,,,,"%ld %%")),,
  86.                                 Label("Mid:"),,
  87.                                 MakeObj(,"HGroup",,
  88.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  89.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  90.                                     MakeObj(,"NumericButton",,,,,"%ld %%")),,
  91.                                 Label("High:"),,
  92.                                 MakeObj(,"HGroup",,
  93.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  94.                                     MakeObj(,"NumericButton",,,,,"%ld %%"),,
  95.                                     MakeObj(,"NumericButton",,,,,"%ld %%"))))))),,
  96.             MakeObj(,"HGroup",,
  97.                 Label("Slidorama Rating:"),,
  98.                 MakeObj("sl","Slider")))
  99.  
  100.     res=NewObj("application","app")
  101.     if res~=0 then exit
  102.  
  103.     call Notify("win","closerequest",1,"_app","returnid","quit")
  104.     call Notify("mabout","menutrigger","everytime","_app","about","win")
  105.     call Notify("maboutrxmui","menutrigger","everytime","_app","aboutrxmui","win")
  106.     call Notify("maboutmui","menutrigger","everytime","_app","aboutmui","win")
  107.     call Notify("mhide","menutrigger","everytime","_app","set","iconified",1)
  108.     call Notify("mquit","menutrigger","everytime","_app","returnid","quit")
  109.  
  110.     call Notify("mtest1","checked",1,"left","set","showme",1)
  111.     call Notify("mtest1","checked",1,"right","set","showme",1)
  112.  
  113.     call Notify("mtest2","checked",1,"left","set","showme",1)
  114.     call Notify("mtest2","checked",1,"right","set","showme",0)
  115.  
  116.     call Notify("mtest3","checked",1,"right","set","showme",1)
  117.     call Notify("mtest3","checked",1,"left","set","showme",0)
  118.  
  119.     call Notify("sl","value","EveryTime","lm1","set","value","triggervalue")
  120.     call Notify("sl","value","EveryTime","lm2","set","value","triggervalue")
  121.     call Notify("sl","value","EveryTime","lm3","set","value","triggervalue")
  122.  
  123.     call set("lm2","Reverse",1)
  124.  
  125.     call set("win","open",1)
  126.     call getattr("win","open","o")
  127.     if o=0 then do
  128.         say "can't open window"
  129.         exit
  130.     end
  131.  
  132.     return
  133. /**************************************************************************/
  134. handleApp: procedure
  135.     hggg=1
  136.     ctrl_c=2**12
  137.     do forever
  138.         call newhandle("APP","H",ctrl_c)
  139.         if and(h.signals,ctrl_c)>0 then exit
  140.         select
  141.             when h.event="QUIT" then do
  142.                 exit
  143.             end
  144.             otherwise say h.event
  145.         end
  146.     end
  147. /***********************************************************************/
  148. halt:
  149. break_c:
  150.     exit
  151. /**************************************************************************/
  152.