home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0925.lha / DonsGenies / FrenchGenies.lha / Rexx / PositionGrille.pprx < prev    next >
Text File  |  1993-08-08  |  2KB  |  81 lines

  1. /*
  2. @BPositionGrille @P @I Ecrit et ⌐ par Don Cox en FΘvrier 1993 et Aug 93.
  3. @IN'est pas du Domaine Publique. Tous Droits RΘservΘs.
  4. Traduit par Fabien Larini le 30/07/93.
  5.  
  6. Ce GΘnie met en place une grille en demandant sa position plut⌠t que sa
  7. taille, en activant l'alignement sur grille. Il sauve les anciennes 
  8. dimensions de la grille afin de pouvoir les rappeler en utilisant le 
  9. GΘnie "RestoreGrille".
  10. */
  11.  
  12.  
  13. /*GridSetPosition*/
  14. /* This Genie sets up a grid to a user-defined position (rather than size), with snap enabled.
  15. Written by Don Cox  ⌐ Feb 93. Mods Aug 93. Not public domain. All rights reserved. */
  16.  
  17.  
  18. signal on error
  19. signal on syntax
  20. address command
  21. call SafeEndEdit.rexx()
  22. call ppm_AutoUpdate(0)
  23. cr="0a"x
  24.  
  25. currentunits = ppm_GetUnits()
  26.  
  27. gsize = ppm_GetGridSize()
  28. gwidth = word(gsize,1)
  29. gheight = word(gsize,2)
  30. call ppm_SaveText("ram:gridsize",gsize)
  31.  
  32. form = "Abscisse"cr"OrdonnΘe"
  33. form = ppm_GetForm("Saisie de l'Abscisse et/ou de l'OrdonnΘe",8,form)
  34. if form = "" then exit_msg("Position non fixΘe")
  35. parse var form xpos "0a"x ypos
  36.  
  37. if xpos>=4 then do
  38.     xnum = xpos%2.0
  39.     xspacing = xpos/xnum
  40.     end
  41. else if xpos>=2 then xspacing = xpos/2
  42. else xspacing = xpos
  43.  
  44. if ypos>2 then do
  45.     ynum = ypos%2.0
  46.     yspacing = ypos/ynum
  47.     end
  48. else if ypos>=2 then yspacing = ypos/2
  49. else yspacing = ypos
  50.  
  51.  
  52. select
  53.     when xpos = 0 | xpos = "" then call ppm_SetGridSize(0.01,yspacing)
  54.     when ypos = 0 | ypos = "" then call ppm_SetGridSize(xspacing,0.01)
  55.     otherwise call ppm_SetGridSize(xspacing,yspacing)
  56.     end
  57.  
  58. call ppm_SetGrid(1)
  59. call ppm_SetGridSnap(1)
  60.  
  61. call exit_msg()
  62.  
  63. end
  64.  
  65. error:
  66. syntax:
  67.     do
  68.     exit_msg("ArrΩt du GΘnie d√ α l'erreur: "errortext(rc))
  69.     end
  70.  
  71. exit_msg:
  72.     do
  73.     parse arg message
  74.     if message ~= "" then
  75.     call ppm_Inform(1,message,)
  76.     call ppm_ClearStatus()
  77.     call ppm_AutoUpdate(1)
  78.     exit
  79.     end
  80.  
  81.