home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / mag_discs / 15 / director / !Director / !ChangeLog next >
Text File  |  1994-10-22  |  12KB  |  322 lines

  1. 0.00 - 05Aug94
  2. --------------
  3.  
  4. First version that even vaguely works
  5. Does TreeMenu functions but not BackMenu yet!
  6.  
  7. 0.01 - 11Aug94
  8. --------------
  9.  
  10. *DirectorMemory added to allow tracing of dynamic memory allocations and
  11. malloc, free and realloc changed to keep the totals updated.
  12.  
  13. Filters initialised by task instead of module.
  14.  
  15. BMG parsing added for BackMenus
  16.  
  17. Static menus kept in sorted linked list
  18.  
  19. -path items added for BMG so can now attach TreeMenus to BackMenus!
  20.  
  21. "Main" menu attached to icon bar icon on select
  22.  
  23. Filter on pinboard to intercept the menu opening the menu called "Pinboard"
  24.  
  25. Sprites in the file menus
  26.  
  27. 0.02 - 11Aug94
  28. --------------
  29.  
  30. OS_GBPB uses a malloc-ed 4k block for much improved speed
  31.  
  32. -key made to work for hot keyed items
  33.  
  34. Hotkeys can now be added to "Menu" command via a -key, so a key can open a
  35. menu
  36.  
  37. TreeMenu takes 64k
  38. Pinboard+ uses 18k (module) + 42k (menu)
  39. Total 124k
  40.  
  41. DirectorMemory
  42.  
  43. Program code      10704
  44. Workspace          3408
  45. Heap              21456 (143 blocks)
  46. -----------------------
  47. Total             35568 Bytes
  48.  
  49. Saving 90k
  50.  
  51. 0.03 - 12Aug94
  52. --------------
  53.  
  54. DirectorObey implemented.  Cuts time to load 14k menu from 5.2 seconds to
  55. 0.75 seconds (with cached directories)
  56.  
  57. System variable MenuText set to the text of the menu whenever a command
  58. option is chosen
  59.  
  60. -len implemented.  Size of buffer allocated is the greater of the string
  61. supplied and the length so 'Option FillMeIn -len 0' is acceptable.  However
  62. it doesn't set %0, use <MenuText> instead
  63.  
  64. These system variables are set whenever a sub menu is opened or an item is
  65. chosen off a menu
  66.     Director$CurrentPath - full path of object
  67.     Director$CurrentDir - directory object lives in
  68.     Director$CurrentLeaf - leaf name of object
  69. If the object is a root directory (eg ADFS::4.$ or Root:) then CurrentPath =
  70. CurrentDir = CurrentLeaf
  71.  
  72. "MenuMenu" opened when menu clicked on a path menu, otherwise the command is
  73. run as normal
  74.  
  75. Bug fix: menus always removed from displayed even when error occurs.  Fixes
  76. Menu not found after choosing an option that caused an error
  77.  
  78. Bug fix: module always removed on task shutdown (stops error after choosing
  79. cancel on an error box, loading a script and then rmkilling the module).
  80.  
  81. Bug fix: number of paramters to Menu increased so can have aliased menus with
  82. keys!
  83.  
  84. Dash command to add a dashed line underneath the last option
  85.  
  86. 0.04 - 15Aug94
  87. --------------
  88.  
  89. Put scaled large icon in menu if small sprite not available
  90.  
  91. Keys added to menus by name
  92.     Keys are case insensitive
  93.     Can be modified by ⇧ (shift) ^ (ctrl) or ~ (alt)
  94.     Keys are done by name, eg F1 or ⇧^Insert (case insensitive)
  95.         Home, Return, Ret, Enter, Backspace, BkSp, Space, Delete,
  96.         Del, Esc, Print, Pnt, F1, F2, F3, F4, F5, F6, F7, F8, F9,
  97.         Tab, Copy, Cpy, End, Left, Right, Down, Up, PageDown, PgDn,
  98.         PageUp, PgUp, F10, F11, F12, Insert, Ins
  99.     ^Number keys don't work, ^KeyPad numbers should
  100.     Haven't found any keys that work with ALT!
  101.     ⇧A = ⇧a and A = a (ie keys are independent of CapsLock state)
  102.  
  103. If an option or a menu has a key definition it is added to the text with a
  104. space before it.  If you want the items to line up then you will have to add
  105. spaces after the menu text.  RISCOS 3.5 will line them up for you (most of
  106. the time!).
  107.  
  108. Bug fix: "Too Many Menus" error removed.  If the Wimp ever allows more than 8
  109. menus then Director will be able to cope just fine.  (Director allows that
  110. one error to pass un-reported afer making the sub-menu).
  111.  
  112. 0.05 - 17Aug94
  113. --------------
  114.  
  115. Commands and submenus are now parsed when run
  116.     "Text" for normal command or sub-menu
  117.     "Menu:Name" to bring up named menu
  118.     "Save:Path" for save box of the given path (*)
  119.     "Path:Path" for menu of that path (*)
  120.     "Command:Text" runs the text as if it were a command
  121.     "Quit:" Quits Director
  122.     "Info:" Brings up Director's info window
  123.     "OldMenu:" To open the last filtered menu (for getting pinboard menu)
  124.  
  125.     (*) If the path is missing eg "Path:" or "Save:" then it will use
  126.     the path of the window that the pointer is over.  If the path is
  127.     present it is GS_Trans-ed before use.
  128.  
  129. Director no longer has any native menus.  Icon bar menus changed to
  130. "IconMenu" and "IconClick".
  131.  
  132. If you click on an option which has no commands attached, but does have a
  133. sub-menu, Director will open the sub-menu
  134.  
  135. Save: implemented.  Brings up a box with an icon like a large info icon in a
  136. filer window which you can drag to an application or pinboard. (The save box
  137. was much more difficult than I thought.  On reading of the PRMs I though I'll
  138. just pretend to be the Filer (which is what I am doing really) and send a
  139. Message_DataLoad.  This works fine sending data to applications.  However It
  140. put the icons in really odd places on the pinboard so I worked out I had to
  141. send out another message (FilerSelected or something like that).  Then the
  142. pinboard and applications worked but the filer didn't want to do anything
  143. with my DataLoads, and even worse it Acknowledged them!  So I had to write a
  144. bit which discovered whether the task was the Filer and then do a DataSave,
  145. DataSaveAck and then use FilerAction to copy the files, reading the default
  146. state of the Verbose etc from the CMOS.  Phew!)
  147.  
  148. DirectorDo Implemented
  149.  
  150. DirectorIcon implemented for defineable icons.  Director no longer has any
  151. inbuilt icons.
  152.  
  153. 0.06 - 05Sep94
  154. --------------
  155.  
  156. Changed the way mouse clicks are intercepted by intercepting MouseV rather
  157. than EventV.  This works because the Wimp uses SWI XOS_Mouse internally. 
  158. This means that the Wimp always gets the menu click on the title bar before
  159. we open our menu so we can have the menus opening on the downward press of
  160. menu rather than its release as before.  We can also stop the wimp getting
  161. the mouse button clicks at all.  This seems to imply that the Wimp module is
  162. re-entrant, at least with Wimp_PointerInfo and Wimp_SendMessage.  Don't know
  163. how far you could push it though!
  164.  
  165. Bug fix: When computer busy, menu click over title bar opens menu then
  166. closes it! (See above)
  167.  
  168. Discovered how to cancel an open menu (with Wimp_CreateMenu with r1 = -1) and
  169. this is used to cancel an open menu if menu is clicked twice over a title
  170. bar.  Why oh why can't I call a SWI to ask the Wimp whether a menu is open
  171. and if so ask it for the address of the MenuBlock?  This would make it all
  172. much simpler!
  173.  
  174. Bug fix: SaveBox icon is no longer filled so it now looks like the filer with
  175. textured window backgrounds in RISOCS 3.5.
  176.  
  177. Icons kept in sorted linked list (referred to by sprite name) and duplicates
  178. deleted.  -alias <name> added to DirectorIcon to allow reference to icons by
  179. other than their sprite name.
  180.  
  181. Icons now created on a PollWord rather than a Null which makes them appear
  182. much quicker.
  183.  
  184. -time implemented for DirectorIcon.  The length of the string is the length
  185. of the -text or the length of the -time string if no text is supplied
  186. Eg DirectorIcon !Director -time "%24:%MI:%SE" -text "00:00:00"
  187.  
  188. The time string is updated with ForceRedraw on the icon text to avoid the
  189. icon flickering in RISCOS 3.5.  The text still flickers in a rather
  190. unsatisfactory manner.
  191.  
  192. The first item above the divider (in the UpMenus) in an automatically
  193. generated menu does not now have a sub-menu.  There is no need for one since
  194. the contents of the directory is visible below the divider.
  195.  
  196. Bug fix: updating a menu from itself didn't work. (If a menu is returned to
  197. the stored list and a menu of that name already exists then the menu being
  198. returned is deleted.  This means that if you update a menu from a itself, the
  199. new menu will appear as soon as you open it again (the old menu will persist
  200. as long as you keep it open).)
  201.  
  202. Bug fix: can't open the MenuMenu from the MenuMenu.  (Was firstly because the
  203. displayed list was not being checked for opening a menu and second because
  204. the adjust click code looked at the menu handle and decided it hadn't changed
  205. so deleted the new menu.)
  206.  
  207. MenuMenu now opened when the File 'XXXX' item clicked on in filer menus (with
  208. any button).
  209.  
  210. "MenuMenu:Path" menu command added.  Takes path, adds .<leaf> to it, sets up
  211. the Director system variables and opens the MenuMenu.  A bit obscure maybe!
  212.  
  213. Method of discovering a window's taskhandle changed to use UserMessageAck as
  214. per 3-198.  Avoids disturbing the task with a null event.
  215.  
  216. A WimpMessage defined for opening a menu which is a Wimp_Pointer block with a
  217. menu name on the end.  This is used internally rather than the cumbersome way
  218. it was done before.  Could also be used externally.
  219.  
  220. Adjust click on disc drive icons produces a directory menu of the path that
  221. would have been opened.
  222.  
  223. Wrote the !Help file.  Changed file structure slightly.
  224.  
  225. BMGon and BMGoff changed to MenuProcessing <On|Off|1|0|Yes|No>
  226.  
  227. Memoriser added.  A new extended menu type Memoriser: opens it.  (NB I spell
  228. Memoriser with an 's' (English) not with a 'z' (American) as doen Ben
  229. Summers!).
  230.  
  231. MemoriserItems command added to control the growth of the Memoriser menu.
  232.  
  233. Argument to -sub is now GSTransed as originally intended.  You may have to
  234. change your MenuMenu changing -sub Path:<Director$CurrentDir> to
  235. -sub Path:|<Director$CurrentDir> 
  236.  
  237. -up added to Option.  When used with -path will cause the sub-menu produced
  238. to have upmenus.  Used with Memoriser.
  239.  
  240. ProcessKeys implemented.
  241.  
  242. 0.07 - 09Sep94
  243. --------------
  244.  
  245. Name changed :-)
  246.  
  247. Sprites and Sprites22 made
  248.  
  249. Made a strlen1 for length of a string + terminator since this seems to be the
  250. most common usage, and added it in.
  251.  
  252. Deleted some unused printing routines.
  253.  
  254. Memoriser files now have submenu pointers.
  255.  
  256. A Path: or -path can now be given of a file as well as a directory.  It puts
  257. the file above the dotted line as well as below.
  258.  
  259. Anywhere that used the directory that the pointer was over (eg Path: or
  260. Save:) now is given the straight path (whether it is a file or directory)
  261. instead of the path is it was a directory or the ^ path if it was a file. 
  262. Not sure what effect this will have on existing Menus.
  263.  
  264. Removed some unused message types
  265.  
  266. Where using SaveRegs and ROUTINE changed the saved registers to NONE
  267.  
  268. Added a -v or -verbose option to DirectorObey
  269.  
  270. Included &, @ and % in ParsePath (fixes problem with & when using the net).
  271.  
  272. Fixed root directories appearing as unknown files
  273.  
  274. 0.08 - 04Oct94
  275. --------------
  276.  
  277. Swi chunk (&4A100) and error chunk (&80D000) arrived from Acorn.
  278.  
  279. Error numbers rationalised (but not documented :-)
  280.  
  281. Installation of pinboard filter changed so it doesn't give an error if there
  282. is no pinboard installed
  283.  
  284. 0.09 - 10Oct94
  285. --------------
  286.  
  287. Dynamic: made.  Works like Command: except the command should set
  288. Director$Menu to the name of the extended menu to open on its return.
  289.  
  290. -up makes the item have a submenu even if it is a file
  291.  
  292. SWI interface made.  Pass r0 as a string with the parameters to the
  293. equivalently named * command to speed up dynamic menus.
  294.  
  295. GSTrans: command made.  It GSTranses the following command and then
  296. reinterprets it.
  297.  
  298. Director$MenuMenu used to get name of MenuMenu to open (could/should do this
  299. to the pinboard menu also)
  300.  
  301. -temp option added to Menu.  A menu with -temp will be displayed once and
  302. then destroyed.  Useful for dynamic menus and used internally with directory
  303. menus.  Temporary menus show on ListMenus with a * appended.
  304.  
  305. MenuText system variable is set whenever a menu selection is decoded so it
  306. can be used in dynamic menus attached as sub-menus, not just commands.
  307.  
  308. 0.10 - 19Oct94
  309. --------------
  310.  
  311. Menu over filer menu had stopped working.
  312.  
  313. DirectorPathParse implemented (an external interface to an existing routine).
  314.  
  315. 0.11 - 21Oct94
  316. --------------
  317.  
  318. DirectorEdit changed so it works in a task window and at the F12 star prompt. 
  319. Should work from every possible situation now.
  320.  
  321. DirectorMouseDir implemented (an external interface to an existing routine).
  322.