home *** CD-ROM | disk | FTP | other *** search
- TextCopy
- ========
- Version 1.00 (05 Feb 1995)
- 1.05 (10 Feb 1995)
- 1.06 (03 May 1995)
- 1.07 (10 Jun 1995)
- 1.08 (21 Jun 1995)
- 1.09 (01 Jul 1995)
- 1.10 (10 Aug 1995)
- 1.11 (20 Aug 1995)
-
- Introduction
- ------------
- It is nice having Drag and Drop file facilities, but there are one or two
- areas which are sadly lacking in the Desktop. Although you can drag any file
- anywhere on the desktop, you cannot always get the application at the other
- end to accept it. The new Acorn Drag and Drop standard makes this somewhat
- easier, but there are several problems related to this. The first of these is
- that the recipient application must follow and conform to the standard.
- This is got around somewhat by the standard file load messages being sent,
- but it still makes for an awkward life if you have an application which does
- not accept these files. For example, Writeable Icons (WIs) can have any text
- in them, but you have to type it yourself. Wouldn't it be nice if you could
- just drag a text file on to the WI and have its text entered into it.
- Sometimes, however you might not want all the text to be copied into the
- icon, but instead the filename like !Edit and !Zap do, and at other times it
- may be more appropriate to let the task deal with the request itself.
- Other times it is useful to drag the contents of an icon to another icon
- or window as seen in Impression or Datapower giving true drag and drop
- facilities to the desktop.
- This is what TextCopy does.
-
- Usage
- -----
- Open a window with a WI in it, eg the Create New Sprite window in !Paint.
- Now drag a text file on to the “name” WI. Nothing happens.
- Now load TextCopy.
- Open the window and drag it onto the WI now.
- What has happened is that the text has been entered into the Name field,
- and when that field is full, overflown into the next.
- Unfortunately, in this situation, it is not very useful. But try dragging
- text from !DataPower into !Almanac and see the result (eg the Address field).
- Now open a !Zap save window.
- Grab a file and drop it in the writeable icon with shift held down. See the
- filename appear. Great !
- Now clear the icon and drag the file with Ctrl held down. Nothing happens.
- This means that the file load request has been passed on to Zap directly
- without bothering TextCopy, just as if it had never been loaded.
- It is not brilliant, and doesn't always work as you might expect, but it
- does work and it fills a small gap in the OS.
-
- Why not try grabbing the save text icon in !Zap and dragging it. Nothing
- happens does it ? There is a good reason for this. There are two types of
- writeable icon used by the desktop - type 15 Writable and type 14
- Write/Click/Drag. The former was the only type of writable icon under Arthur
- and has stuck with the system. All it does is put a caret inside itself if
- you click on it. Because it is very simple the program which owns it never
- even sees the click on the icon, and therefore neither does TextCopy.
- The Write/Click/Drag type, however, were designed in Risc OS to allow
- facilities like those provided by TextCopy to be implemented. All button
- presses and drags are passed on to the task which owns it and therefore
- TextCopy can intercept them.
- Unfortunately, the two types /look/ identical and feel identical. In
- practice the only way that you will know that you are using a Writable rather
- than Write/Click/Drag icon is that you can't drag it.
- If you install AllWCD, however, much of the problem is solved and you can
- then drag any writable icon around the desktop as if it were a text file. If
- you have a program like Almanac which has multiple WI's which you wish to
- copy you could drag each of them individually, or you could use another
- feature of TextCopy.
- Drag the first icon you wish to copy, but don't let go of it. Move over the
- second icon you wish to copy and click Adjust (whilst holding Select). That
- may sound difficult, but it really is quite easy and means you don't need to
- use the keyboard. The icon will change to a small text icon whilst adjust is
- held to indicate that the icon under the pointer has been added to the
- selection. Each icon will occupy a single line and so if you have !Almanac
- and wish to drag the persons name by clicking the Miss, then Angela, then
- Beardsmore, (for example) each of these will be on a new line.
- When you have finished adding icons drop the file on where you want the
- data and it will be copied as if it were a real text file (mainly because to
- all intents and purposes it /is/ a real text file). This will also work from
- icon to icon as TextCopy's two functions are independant of one another.
-
-
-
- Bugs
- ----
- I have now fixed what I think all the bugs are. There was a problem with
- the external edit protocol but this was fixed in version 1.06.
- There is a bug which seems to occur in the dragging of multiple icons
- whereby when you drop the file it is not transfered, though the operation
- ceases quite neatly. I'm not sure why this is and can't duplicate it, but be
- aware that it may happen. It could be a problem with a lack of RMA, but I
- don't know.
-
- [[[[
- The main bug appears to be one of catching type 15 button presses. This is
- not going to be easy and there are two ways I may tackle this :
- a) Use a filter to watch Null polls for the pointer having select pressed
- and being over a type 14 icon and it still being pressed after
- drag-click delay has elapsed.
- b) Use a key press vector to check only when button is clicked and in
- the desktop if the pointer is over type 14 icon and still pressed after
- drag click delay elapsed.
-
- Each has it's advantages and drawbacks, eg. a) slows desktop down greatly, b)
- requires the claim of the key press vector and it's subsequent communication
- to the filter that a drag is taking place. Both these are major problems and,
- although I would prefer the latter, I'm not sure how I can force a message to
- the filter without making a mess of the system.
- ]]]]
- This prior section has been bypassed temporarily by installing the AllWCD
- module before the desktop is entered. This forces all type 15 icons to be
- created as type 14.
-
- Patch
- -----
- To recompile this module, it is necessary to use the JFPatch application.
- This is likely to be released into the Public Domain in the next few weeks at
- Arcade, and possibly other BBS.
- This is simply a Pre-assembler and processor for Patches to ARM code
- programs.
-
-
- Contact
- -------
- Any comments, queries, donations or bug reports can be sent to :
-
- Fidonet NetMail : Justin Fletcher at Arcade (0181 655 4412) [2:254/27]
- E-Mail : Gerph@arcade.demon.co.uk
-
- Snail Mail :
- Justin Fletcher
- “Galadriel”
- 17b Cromwell Road,
- Weeting,
- Brandon,
- Suffolk.
- IP27 0QT
-
- History
- =======
- Version 1.00 (First release to Arcade)
- • Main filter written, text file drags will be entered directly, in memory
- transfer not supported, but Wimp$Scrap used.
-
- Version 1.05 (Second release to Arcade)
- • Bug with illegal window handles fixed.
-
- Version 1.06 (Third release to Arcade)
- • Forcing of the redraw of changed icons added.
- • It would appear that the problems with Exernal Edits were fixed in this
- version of the TextCopy module, or so Alex Hayward tells me. Thanks for
- testing this Alex.
-
- Version 1.07 (Released only to Nick Craig-Wood)
- • Shift drag for filename, or Ctrl drag to bypass implemented.
- • Fixed filter mask as suggested by Nick Craig-Wood.
-
- Version 1.08
- • Dragging of type 14 icons provided for.
- • Bug in inserting text files (where if the last character was a return then
- the next icon would blank even though nothing was written to it) fixed.
-
- Version 1.09
- • Dragging of multiple icons implemented :-)
-
- Version 1.10
- • Numerous bug fixes to the MessageAck code (ie it wasn't being called)
- • Changed to totally JFPatch claiming of Filter, rather than an arbitary
- method.
-
- Version 1.11
- • Bug fix to Shift dragging code where filename was only entered if the
- file was text, and ignored otherwise. Thanks to Nick Craig-Wood for
- noticing this, about 4 months before I fixed it!
-
- Note
- ----
- This is likely to be the final release of TextCopy because it is unlikely
- that I will add any further features. Features which I may add are :
- • The ability to not abort when dragging a text file if the next icon is not
- text, but to move to the next icon directly below the current icon. This
- could be a biggy, and I'm not sure if I can be bothered.
-