home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 19 / AACD19.BIN / CDTools / MUIRexx / demos / MUIRexxDock / edit_open.rexx < prev    next >
OS/2 REXX Batch file  |  1997-06-09  |  8KB  |  212 lines

  1. /* */
  2. options results
  3. parse arg m
  4.  
  5. address dock
  6.  
  7. MUIA_CycleChain = 0x80421ce7
  8. MUIA_Dropable = 0x8042fbce
  9. MUIA_FixWidth = 0x8042a3f1
  10. MUIA_Frame = 0x8042ac64
  11. MUIA_Listview_DragType = 0x80425cd3
  12. MUIA_List_DragSortable = 0x80426099
  13. MUIA_Menuitem_Title = 0x804218be
  14. MUIA_Selected = 0x8042654b
  15. MUIA_String_MaxLen = 0x80424984
  16. MUIA_Weight = 0x80421d1f
  17.  
  18. MUIV_Frame_Group = 9
  19. MUIV_List_GetEntry_Active = -1
  20. MUIV_List_Insert_Bottom = -3
  21. MUIV_Listview_DragType_Immediate = 1
  22. FALSE = 0
  23. TRUE = 1
  24.  
  25. call dock_mode m 0 0
  26.  
  27. getvar 'F'||m
  28. flags = result
  29. if index(flags,'HORIZ') = 0 then hflag = FALSE
  30. else hflag = TRUE
  31. if index(flags,'FRAME') = 0 then fflag = FALSE
  32. else fflag = TRUE
  33. if index(flags,'VIRTUAL') = 0 then vflag = FALSE
  34. else vflag = TRUE
  35. if index(flags,'DRAGBAR') = 0 then dflag = FALSE
  36. else dflag = TRUE
  37.  
  38. getvar EDIT
  39. n = result
  40. if n ~= 0 then do
  41.     window ID EDIT CLOSE
  42.     call dock n
  43. end
  44. setvar EDIT m
  45. setvar ITEM 0
  46. dockname = 'DOCK'm
  47. window ID EDIT TITLE """Edit Dock "m"""",
  48.     PORT INLINE COMMAND """
  49.         address dock;
  50.         window ID EDIT CLOSE;
  51.         call dock "m";
  52.         setvar EDIT 0;""" 
  53.  menu LABEL "Project"
  54.   menu LABEL "Next Dock"
  55.    item COMMAND """dock_save "m" DOCK 1""" LABEL "New"
  56.    item COMMAND """dock_save "m" DOCK 0""" LABEL "Remove"
  57.   endmenu
  58.   item COMMAND """MUIREXX:demos/MUIRexxDir/muidir DOCK""" LABEL "Open DirUtil"
  59.   item ATTRS MUIA_Menuitem_Title '-1'
  60.   item PORT INLINE COMMAND """
  61.         address dock;
  62.         window ID EDIT CLOSE;
  63.         call dock "m";
  64.         setvar EDIT 0;""" LABEL "Close"
  65.  endmenu
  66.  group HORIZ FRAME
  67.   space HORIZ
  68.   label 'Horiz'
  69.   check COMMAND """dock_save "m" HORIZ %s""" ATTRS MUIA_Selected hflag HELP """If checked then the dock\nwill be horizontal."""
  70.   label 'Frame'
  71.   check COMMAND """dock_save "m" FRAME %s""" ATTRS MUIA_Selected fflag HELP """If checked then the dock\nwill have a frame."""
  72.   label 'Virtual'
  73.   check COMMAND """dock_save "m" VIRTUAL %s""" ATTRS MUIA_Selected vflag HELP """If checked then the dock\nwill be a virtual group."""
  74.   label 'Dragbar'
  75.   check COMMAND """dock_save "m" DRAGBAR %s""" ATTRS MUIA_Selected dflag HELP """If checked then the dock\nwill have a drag bar."""
  76.   space HORIZ
  77.  endgroup
  78.  group HORIZ
  79.   group FRAME
  80.    group ID BICON ATTRS MUIA_Weight 0 HELP """Drop an icon from either\nthe dock or the Workbench.\nDrag this icon to the\ndock to change a dock icon.\nNote that dock icons can be\nrearranged by drag and drop."""
  81.     group ID 'G00'
  82.      button ID '00' ATTRS MUIA_Frame MUIV_Frame_Group MUIA_FixWidth 40
  83.     endgroup
  84.    endgroup
  85.    cycle ID BTYPE HELP """Select the type of icon.""" LABELS "button,switch,pop"
  86.   endgroup
  87.   group ID MGRP REGISTER LABELS "Press,App,Drop,Pop,Add"
  88.    group ID PGRP HORIZ
  89.     group
  90.      label DOUBLE "command:"
  91.      label DOUBLE "port:"
  92.     endgroup
  93.     group
  94.      popasl ID PCOMM ATTRS MUIA_CycleChain TRUE MUIA_String_MaxLen 160 HELP """Enter a command or drop command\nfrom Workbench or directory utility."""
  95.      string ID PPORT ATTRS MUIA_CycleChain TRUE HELP """Enter port name for command."""
  96.     endgroup
  97.    endgroup
  98.    group ID AGRP HORIZ
  99.     group
  100.      label DOUBLE "command:"
  101.      label DOUBLE "port:"
  102.     endgroup
  103.     group
  104.      popasl ID ACOMM ATTRS MUIA_CycleChain TRUE MUIA_String_MaxLen 160 HELP """Enter a command or drop command\nfrom Workbench or directory utility."""
  105.      string ID APORT ATTRS MUIA_CycleChain TRUE HELP """Enter port name for command."""
  106.     endgroup
  107.    endgroup
  108.    group ID DGRP HORIZ
  109.     group
  110.      label DOUBLE "command:"
  111.      label DOUBLE "port:"
  112.     endgroup
  113.     group
  114.      popasl ID DCOMM ATTRS MUIA_CycleChain TRUE MUIA_String_MaxLen 160 HELP """Enter a command or drop command\nfrom Workbench or directory utility."""
  115.      string ID DPORT ATTRS MUIA_CycleChain TRUE HELP """Enter port name for command."""
  116.     endgroup
  117.    endgroup
  118.    group ID LGRP
  119.     list ID LLST,
  120.         ATTRS MUIA_Listview_DragType MUIV_Listview_DragType_Immediate,
  121.               MUIA_List_DragSortable TRUE,
  122.               MUIA_Dropable TRUE,
  123.         COMMAND """string ID LSTR CONTENT %s""" PORT DOCK,
  124.         HELP """Drop a command from Workbench\nor directory utility.\nDouble click entry to edit."""
  125.     group HORIZ
  126.      string ID LSTR COMMAND """list ID LLST INSERT POS '"MUIV_List_Insert_Bottom"' STRING =%s""" PORT DOCK ATTRS MUIA_String_MaxLen 160 HELP """Enter a MUIRexx command."""
  127.      button COMMAND """list ID LLST POS "MUIV_List_GetEntry_Active" STRING""" PORT DOCK ATTRS MUIA_Weight 0 HELP """Delete selected command from list.""" LABEL "Del"
  128.     endgroup
  129.    endgroup
  130.    group ID IGRP
  131.     list ID ILST,
  132.         ATTRS MUIA_Listview_DragType MUIV_Listview_DragType_Immediate,
  133.               MUIA_List_DragSortable TRUE,
  134.               MUIA_Dropable TRUE,
  135.         COMMAND """string ID ISTR CONTENT %s""" PORT DOCK,
  136.         HELP """Double click entry to edit."""
  137.     group HORIZ
  138.      string ID ISTR COMMAND """list ID ILST INSERT POS '"MUIV_List_Insert_Bottom"' STRING =%s""" PORT DOCK ATTRS MUIA_String_MaxLen 160 HELP """Enter a MUIRexx command."""
  139.      button COMMAND """list ID ILST POS "MUIV_List_GetEntry_Active" STRING""" PORT DOCK ATTRS MUIA_Weight 0 HELP """Delete selected command from list.""" LABEL "Del"
  140.     endgroup
  141.    endgroup
  142.   endgroup
  143.  endgroup
  144.  group HORIZ
  145.   button ID BADD HELP """Add the icon to the end of\nthe dock.""" PORT INLINE COMMAND """
  146.     options results;
  147.     address dock;
  148.     getvar EDIT;
  149.     m = result;
  150.     getvar 'D'||m;
  151.     n = result+1;
  152.     setvar 'D'||m n;
  153.     call dock_set m n;
  154.     call dock_save m;
  155.     getvar 'N'||m;
  156.     call dock result m;
  157.     call dock_mode m 0 0;
  158.     setvar ITEM n;""" LABEL "add"
  159.   button ID BDEL HELP """Delete this icon from the dock.""" PORT INLINE COMMAND """
  160.     options results;
  161.     address dock;
  162.     getvar ITEM;
  163.     n = result;
  164.     if n ~= 0 then do;
  165.     getvar EDIT;
  166.     m = result;
  167.     setvar 'B'||m||n '';
  168.     call dock_save m;
  169.     getvar 'N'||m;
  170.     call dock result m;
  171.     call dock_mode m 0 0;
  172.     setvar ITEM 0;
  173.     end;""" LABEL "delete"
  174.  endgroup
  175. endwindow
  176. callhook ID BICON APP COMMAND """dock_change "m" 0 OBJ 0 %s"""
  177. callhook ID BICON DROP COMMAND """dock_change "m" 0 OBJ %s""" EXCLUDE "00"
  178. group ID G00 ATTRS MUIA_Dropable FALSE
  179. callhook ID ILST INCLUDE "ILST"
  180. callhook ID PCOMM APP DROP INCLUDE "DIR1,DIR2" PORT INLINE COMMAND """
  181.     address dock;
  182.     comm = '%s';
  183.     port = '';
  184.     if index(comm,'.rexx') ~= 0 then comm = substr(comm,1,index(comm,'.rexx')-1);
  185.     else port = 'COMMAND';
  186.     popasl ID PCOMM CONTENT comm;
  187.     string ID PPORT CONTENT port;"""
  188. callhook ID ACOMM APP DROP INCLUDE "DIR1,DIR2" PORT INLINE COMMAND """
  189.     address dock;
  190.     comm = '%s';
  191.     port = '';
  192.     if index(comm,'.rexx') ~= 0 then comm = substr(comm,1,index(comm,'.rexx')-1);
  193.     else port = 'COMMAND';
  194.     popasl ID ACOMM CONTENT comm;
  195.     string ID APORT CONTENT port;"""
  196. callhook ID DCOMM APP DROP INCLUDE "DIR1,DIR2" PORT INLINE COMMAND """
  197.     address dock;
  198.     comm = '%s';
  199.     port = '';
  200.     if index(comm,'.rexx') ~= 0 then comm = substr(comm,1,index(comm,'.rexx')-1);
  201.     else port = 'COMMAND';
  202.     popasl ID DCOMM CONTENT comm;
  203.     string ID DPORT CONTENT port;"""
  204. callhook ID LLST APP DROP INCLUDE "LLST,DIR1,DIR2" PORT INLINE COMMAND """
  205.     address dock;
  206.     comm = '%s';
  207.     if lastpos('/',comm) ~= 0 then lab = substr(comm,lastpos('/',comm)+1);
  208.     else lab = substr(comm,lastpos(':',comm)+1);
  209.     if index(comm,'.rexx') ~= 0 then comm = ''''substr(comm,1,index(comm,'.rexx')-1)'''';
  210.     else comm = ''''comm''' PORT COMMAND';
  211.     list ID LLST INSERT POS '-3' STRING 'button COMMAND 'comm' LABEL '''lab'''';"""
  212.