home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsf / jfshared / Modules / TextCopy / !Help < prev    next >
Encoding:
Text File  |  1995-08-20  |  8.4 KB  |  185 lines

  1.                                 TextCopy
  2.                                 ========
  3. Version 1.00 (05 Feb 1995)
  4.         1.05 (10 Feb 1995)
  5.         1.06 (03 May 1995)
  6.         1.07 (10 Jun 1995)
  7.         1.08 (21 Jun 1995)
  8.         1.09 (01 Jul 1995)
  9.         1.10 (10 Aug 1995)
  10.         1.11 (20 Aug 1995)
  11.         
  12. Introduction
  13. ------------
  14.    It is nice having Drag and Drop file facilities, but there are one or two
  15. areas which are sadly lacking in the Desktop. Although you can drag any file
  16. anywhere on the desktop, you cannot always get the application at the other
  17. end to accept it. The new Acorn Drag and Drop standard makes this somewhat
  18. easier, but there are several problems related to this. The first of these is
  19. that the recipient application must follow and conform to the standard.
  20.    This is got around somewhat by the standard file load messages being sent,
  21. but it still makes for an awkward life if you have an application which does
  22. not accept these files. For example, Writeable Icons (WIs) can have any text
  23. in them, but you have to type it yourself. Wouldn't it be nice if you could
  24. just drag a text file on to the WI and have its text entered into it.
  25.    Sometimes, however you might not want all the text to be copied into the
  26. icon, but instead the filename like !Edit and !Zap do, and at other times it
  27. may be more appropriate to let the task deal with the request itself.
  28.    Other times it is useful to drag the contents of an icon to another icon
  29. or window as seen in Impression or Datapower giving true drag and drop
  30. facilities to the desktop.
  31.    This is what TextCopy does.
  32.  
  33. Usage
  34. -----
  35.   Open a window with a WI in it, eg the Create New Sprite window in !Paint.
  36. Now drag a text file on to the “name” WI. Nothing happens.
  37.   Now load TextCopy.
  38.   Open the window and drag it onto the WI now.
  39.   What has happened is that the text has been entered into the Name field,
  40. and when that field is full, overflown into the next.
  41.   Unfortunately, in this situation, it is not very useful. But try dragging
  42. text from !DataPower into !Almanac and see the result (eg the Address field).
  43.   Now open a !Zap save window.
  44.   Grab a file and drop it in the writeable icon with shift held down. See the
  45. filename appear. Great !
  46.   Now clear the icon and drag the file with Ctrl held down. Nothing happens.
  47. This means that the file load request has been passed on to Zap directly
  48. without bothering TextCopy, just as if it had never been loaded.
  49.   It is not brilliant, and doesn't always work as you might expect, but it
  50. does work and it fills a small gap in the OS.
  51.  
  52.   Why not try grabbing the save text icon in !Zap and dragging it. Nothing
  53. happens does it ? There is a good reason for this. There are two types of
  54. writeable icon used by the desktop - type 15 Writable and type 14
  55. Write/Click/Drag. The former was the only type of writable icon under Arthur
  56. and has stuck with the system. All it does is put a caret inside itself if
  57. you click on it. Because it is very simple the program which owns it never
  58. even sees the click on the icon, and therefore neither does TextCopy.
  59.   The Write/Click/Drag type, however, were designed in Risc OS to allow
  60. facilities like those provided by TextCopy to be implemented. All button
  61. presses and drags are passed on to the task which owns it and therefore
  62. TextCopy can intercept them.
  63.   Unfortunately, the two types /look/ identical and feel identical. In
  64. practice the only way that you will know that you are using a Writable rather
  65. than Write/Click/Drag icon is that you can't drag it.
  66.   If you install AllWCD, however, much of the problem is solved and you can
  67. then drag any writable icon around the desktop as if it were a text file. If
  68. you have a program like Almanac which has multiple WI's which you wish to
  69. copy you could drag each of them individually, or you could use another
  70. feature of TextCopy.
  71.   Drag the first icon you wish to copy, but don't let go of it. Move over the
  72. second icon you wish to copy and click Adjust (whilst holding Select). That
  73. may sound difficult, but it really is quite easy and means you don't need to
  74. use the keyboard. The icon will change to a small text icon whilst adjust is
  75. held to indicate that the icon under the pointer has been added to the
  76. selection. Each icon will occupy a single line and so if you have !Almanac
  77. and wish to drag the persons name by clicking the Miss, then Angela, then
  78. Beardsmore, (for example) each of these will be on a new line.
  79.   When you have finished adding icons drop the file on where you want the
  80. data and it will be copied as if it were a real text file (mainly because to
  81. all intents and purposes it /is/ a real text file). This will also work from
  82. icon to icon as TextCopy's two functions are independant of one another.
  83.   
  84.   
  85.   
  86. Bugs
  87. ----
  88.    I have now fixed what I think all the bugs are. There was a problem with
  89. the external edit protocol but this was fixed in version 1.06.
  90.    There is a bug which seems to occur in the dragging of multiple icons
  91. whereby when you drop the file it is not transfered, though the operation
  92. ceases quite neatly. I'm not sure why this is and can't duplicate it, but be
  93. aware that it may happen. It could be a problem with a lack of RMA, but I
  94. don't know.
  95.    
  96. [[[[
  97. The main bug appears to be one of catching type 15 button presses. This is
  98. not going to be easy and there are two ways I may tackle this :
  99.   a) Use a filter to watch Null polls for the pointer having select pressed
  100.      and being over a type 14 icon and it still being pressed after
  101.      drag-click delay has elapsed.
  102.   b) Use a key press vector to check only when button is clicked and in
  103.      the desktop if the pointer is over type 14 icon and still pressed after
  104.      drag click delay elapsed.
  105.  
  106. Each has it's advantages and drawbacks, eg. a) slows desktop down greatly, b)
  107. requires the claim of the key press vector and it's subsequent communication
  108. to the filter that a drag is taking place. Both these are major problems and,
  109. although I would prefer the latter, I'm not sure how I can force a message to
  110. the filter without making a mess of the system.
  111. ]]]]
  112. This prior section has been bypassed temporarily by installing the AllWCD
  113. module before the desktop is entered. This forces all type 15 icons to be
  114. created as type 14.
  115.  
  116. Patch
  117. -----
  118.    To recompile this module, it is necessary to use the JFPatch application.
  119. This is likely to be released into the Public Domain in the next few weeks at
  120. Arcade, and possibly other BBS.
  121.    This is simply a Pre-assembler and processor for Patches to ARM code
  122. programs.
  123.  
  124.  
  125. Contact                
  126. -------
  127. Any comments, queries, donations or bug reports can be sent to :
  128.  
  129. Fidonet NetMail :  Justin Fletcher at Arcade (0181 655 4412) [2:254/27]
  130. E-Mail : Gerph@arcade.demon.co.uk
  131.  
  132. Snail Mail :
  133.     Justin Fletcher
  134.     “Galadriel”
  135.     17b Cromwell Road,
  136.     Weeting,
  137.     Brandon,
  138.     Suffolk.
  139.     IP27 0QT
  140.     
  141. History
  142. =======
  143. Version 1.00 (First release to Arcade)
  144.  • Main filter written, text file drags will be entered directly, in memory
  145.    transfer not supported, but Wimp$Scrap used.
  146.  
  147. Version 1.05 (Second release to Arcade)
  148.  • Bug with illegal window handles fixed.
  149.    
  150. Version 1.06 (Third release to Arcade)
  151.  • Forcing of the redraw of changed icons added.
  152.  • It would appear that the problems with Exernal Edits were fixed in this
  153.    version of the TextCopy module, or so Alex Hayward tells me. Thanks for
  154.    testing this Alex.
  155.  
  156. Version 1.07 (Released only to Nick Craig-Wood)
  157.  • Shift drag for filename, or Ctrl drag to bypass implemented.
  158.  • Fixed filter mask as suggested by Nick Craig-Wood.
  159.  
  160. Version 1.08
  161.  • Dragging of type 14 icons provided for.
  162.  • Bug in inserting text files (where if the last character was a return then
  163.    the next icon would blank even though nothing was written to it) fixed.
  164.  
  165. Version 1.09
  166.  • Dragging of multiple icons implemented :-)
  167.  
  168. Version 1.10
  169.  • Numerous bug fixes to the MessageAck code (ie it wasn't being called)
  170.  • Changed to totally JFPatch claiming of Filter, rather than an arbitary
  171.    method.
  172.  
  173. Version 1.11
  174.  • Bug fix to Shift dragging code where filename was only entered if the
  175.    file was text, and ignored otherwise. Thanks to Nick Craig-Wood for
  176.    noticing this, about 4 months before I fixed it!
  177.  
  178. Note
  179. ----
  180. This is likely to be the final release of TextCopy because it is unlikely
  181. that I will add any further features. Features which I may add are :
  182.  • The ability to not abort when dragging a text file if the next icon is not
  183.    text, but to move to the next icon directly below the current icon. This
  184.    could be a biggy, and I'm not sure if I can be bothered.
  185.