home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / RxMUI / Examples / ColorField.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2001-09-23  |  4.8 KB  |  162 lines

  1. /**/
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. call Init
  7. call CreateApp
  8. call HandleApp
  9. /* never reached */
  10. /***********************************************************************/
  11. Init: procedure expose global.
  12.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  13.     if AddLibrary("rxmui.library")~=0 then exit
  14.     call RxMUIOpt("debugmode showerr")
  15.     global.red="red"
  16.     global.green="green"
  17.     global.blue="blue"
  18.     global.violet="violet"
  19.     return
  20. /***********************************************************************/
  21. HandleApp: procedure expose global.
  22.     ctrl_c=2**12
  23.     do forever
  24.         call NewHandle("app","h",ctrl_c)
  25.         if and(h.signals,ctrl_c)>0 then exit
  26.         select
  27.             when h.event="QUIT" then exit
  28.             when h.event="DROPEVENT" then call dropfun(h.from,h.to)
  29.             otherwise interpret h.event
  30.         end
  31.     end
  32.     exit
  33. /***********************************************************************/
  34. CreateApp: procedure expose global.
  35.  
  36.     app.Title="ColorFieldExample"
  37.     app.Version="$VER: ColorFieldExample 1.0 (10.12.99)"
  38.     app.Copyright="©2001, alfie"
  39.     app.Author="alfie"
  40.     app.Description="Just a little example"
  41.     app.Base="EXAMPLE"
  42.     app.menustrip="menustrip"
  43.      menustrip.class="menustrip"
  44.       menustrip.0="Project"
  45.        project.class="menu"
  46.        project.title="Project"
  47.         project.0="mabout"
  48.          mabout.class="menuitem"
  49.          mabout.title="About..."
  50.          mabout.ShortCut="?"
  51.         project.1=MenuItem("maboutrxmui","About RxMUI...")
  52.         project.2=MenuItem("maboutmui","About MUI...")
  53.         project.3=MenuItem("","BAR")
  54.         project.4=MenuItem("mhide","Hide","H")
  55.         project.5=MenuItem("","BAR")
  56.         project.6=MenuItem("mquit","Quit","Q")
  57.  
  58.     app.SubWindow="win"
  59.      win.ID="MAIN"
  60.      win.Title="ColorField Example"
  61.      win.Contents="mgroup"
  62.       mgroup.0="g"
  63.        g.class="GROUP"
  64.        g.columns=2
  65.         g.0="red"
  66.          red.class="colorfield"
  67.          red.Draggable=1
  68.          red.Dropable=1
  69.          red.Frame="button"
  70.          red.red="FF000000"x
  71.          red.green="00000000"x
  72.          red.blue="00000000"x
  73.          red.ContextMenu="stripRed"
  74.           stripRed.class="menustrip"
  75.            stripRed.0="menu0"
  76.             menu0.class="menu"
  77.             menu0.title=""
  78.              menu0.0=menuitem("item0",global.red)
  79.         g.1="green"
  80.          green.class="colorfield"
  81.          green.Draggable=1
  82.          green.Dropable=1
  83.          green.Frame="button"
  84.          green.red="00000000"x
  85.          green.green="FF000000"x
  86.          green.blue="00000000"x
  87.          green.ContextMenu="stripGreen"
  88.           stripGreen.class="menustrip"
  89.            stripGreen.0="menu1"
  90.             menu1.class="menu"
  91.             menu1.title=""
  92.              menu1.0=menuitem("item1",global.green)
  93.         g.2="blue"
  94.          blue.class="colorfield"
  95.          blue.Draggable=1
  96.          blue.Dropable=1
  97.          blue.Frame="button"
  98.          blue.red="00000000"x
  99.          blue.green="00000000"x
  100.          blue.blue="FF000000"x
  101.          blue.ContextMenu="stripBlue"
  102.           stripBlue.class="menustrip"
  103.            stripBlue.0="menu2"
  104.             menu2.class="menu"
  105.             menu2.title=""
  106.              menu2.0=menuitem("item2",global.blue)
  107.         g.3="violet"
  108.          violet.class="colorfield"
  109.          violet.Draggable=1
  110.          violet.Dropable=1
  111.          violet.Frame="button"
  112.          violet.red="FF000000"x
  113.          violet.green="00000000"x
  114.          violet.blue="FF000000"x
  115.          violet.ContextMenu="stripViolet"
  116.           stripViolet.class="menustrip"
  117.            stripViolet.0="menu3"
  118.             menu3.class="menu"
  119.             menu3.title=""
  120.              menu3.0=menuitem("item3",global.violet)
  121.  
  122.     call NewObj("APPLICATION","APP")
  123.  
  124.     call Notify("win","closerequest",1,"app","returnid","quit")
  125.  
  126.     call DandD("red","green","both")
  127.     call DandD("red","blue","both")
  128.     call DandD("red","violet","both")
  129.     call DandD("green","blue","both")
  130.     call DandD("green","violet","both")
  131.     call DandD("violet","blue","both")
  132.  
  133.     call set("win","open",1)
  134.     if ~xget("win","open") then exit
  135.  
  136.     return
  137. /***********************************************************************/
  138. halt:
  139. break_c:
  140.     exit
  141. /**************************************************************************/
  142. dropfun: procedure expose global.
  143. parse arg from,to
  144.     l.0=from;   l.0.attr="Red"
  145.     l.1=from;   l.1.attr="Green"
  146.     l.2=from;   l.2.attr="Blue"
  147.     l.3=to;     l.3.attr="Red"
  148.     l.4=to;     l.4.attr="Green"
  149.     l.5=to;     l.5.attr="Blue"
  150.     call MultiGetAttr("l")
  151.     do i=0 to 2; l.i=to; end
  152.     do i=3 to 5; l.i=from; end
  153.     call MultiSetAttr("l")
  154.     fromStrip=global.from
  155.     toStrip=global.to
  156.     global.from=toStrip
  157.     global.to=fromStrip
  158.     call set(to,"contextmenu","strip"fromStrip)
  159.     call set(from,"contextmenu","strip"toStrip)
  160.     return
  161. /**************************************************************************/
  162.