home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / EDGE1_704.DMS / in.adf / ExtraStuff / Edge_SasC.lha / rexx / hn_projectsettings.edge < prev    next >
Encoding:
Text File  |  1993-08-09  |  2.4 KB  |  95 lines

  1. /* Edge macro: hn_projectsettings
  2. **
  3. ** $VER: hn_projectsettings.edge 1.0 (17-Feb-93 13:48:11)
  4. **
  5. ** Usage:    hn_projectsettings PROJECT|SUBPROJECT|ARGUMENTS|EDIT|NEW
  6. **            PROJECT    : Select main project
  7. **            SUBPROJECT : Select sub project
  8. **            ARGUMENTS  : Select arguments used when running program
  9. **            EDIT       : Edit project makefile
  10. **            NEW        : Create a NEW project
  11. **
  12. ** Synopsis: 
  13. **
  14. ** Author:   Henrik Nordström
  15. **           Ängsvägen 1
  16. **           S 756 45 Uppsala
  17. **
  18. ** System:   _fe_user9=<project>,<subproject>,<arguments>
  19. ** 
  20. */
  21.  
  22. options results
  23.  
  24. parse upper arg mode
  25.  
  26. 'getenvvar _fe_user9 RAW'
  27. settings=replacestar(RESULT)
  28. parse var settings projectdir ',' subproject ',' arguments
  29.  
  30. select
  31. when mode='PROJECT' then do
  32.   'requestfile TITLE "Select project" PATH "'projectdir'" GETDIR DIR'
  33.   if RC~=0 then exit(RC)
  34.   projectdir=result
  35.   subproject=''
  36.   arguments=''
  37.   end
  38. when mode='SUBPROJECT' then do
  39.   'requestfile TITLE "Select subproject" PATH "'projectdir'" FILE "'subproject'" SAVE GETDIR'
  40.   if RC~=0 then exit(RC)
  41.   project=result
  42.   /* Split into path and filename */
  43.   st=lastpos('/',project)
  44.   if st==0 then st=lastpos(':',project)
  45.   subproject=substr(project,st+1)
  46.   projectdir=left(project,st)
  47.   end
  48. when mode='ARGUMENTS' then do
  49.   'requeststring title "Arguments?" default "'arguments'"'
  50.   if RC~=0 then exit(RC)
  51.   arguments=replacestar(RESULT)  
  52.   end
  53. when mode='NEW' then do
  54.   'requestfile TITLE "Select new project" PATH "'projectdir'" GETDIR SAVE DIR'
  55.   if RC~=0 then exit RC
  56.   projectdir=result
  57.   subproject=''
  58.   arguments=''
  59.   call hn_createproject(projectdir)
  60.   end
  61. when mode='EDIT' then do
  62.   'new PATH "'projectdir'" NAME MakeFile'
  63.   address value result
  64.   'open "'projectdir||MakeFile'"'
  65.   if subproject~="" then 'find "'projectname':" UCEQLC FORWARD CIRCULAR '
  66.   end
  67. otherwise do
  68.   say 'USAGE: hn_projectsettings PROJECT|SUBPROJECT|ARGUMENTS|EDIT|NEW'
  69.   exit(10)
  70.   end
  71. end
  72.  
  73. /* Create absolute path */
  74. call pragma('d',projectdir)
  75. projectdir=pragma(d)
  76. if right(projectdir,1)~=':' then
  77.   projectdir=projectdir||'/'
  78.  
  79. 'putenvvar _fe_user9 "'projectdir','subproject','arguments'"'
  80.  
  81. 'getenvvar _fe_name'
  82. if compare(result,'NONAME')=7 then 'putenvvar _fe_path "'projectdir'"'
  83.  
  84. exit 0
  85.  
  86. /* Replace * with ** */
  87. replacestar: procedure
  88. str=arg(1)
  89. i=index(str,'*',1)
  90. do while i>0
  91.     str=insert('*',str,i)
  92.    i=index(str,'*',i+2)
  93. end
  94. return str
  95.