| Release: Select 1i1 |
| 0.20 (25 Sep 2001) (retagged) |
Removed resources path in Makefile. |
| 0.21 (03 Oct 2001) |
Added install rule. |
|
| Release: Select 1i2 |
| 0.22 (16 Nov 2001) |
Added support for cursor positioning. Fix for initial text offset bug. |
| 0.23 (24 Nov 2001) |
Added changes from Rik Griffin. |
| 0.24 (26 Nov 2001) |
Changed error returns to be valid. |
| 0.25 (27 Nov 2001) |
Removed MemCheck references. |
|
| Release: Select 1i9 |
| 0.26 (15 Apr 2002) |
Added support for multiple columns in scrolllist. |
| 0.27 (16 Apr 2002) |
Added 'No selection' and 'Icon selection' flags to Scrolling Lists. |
|
| Release: Select 2i1 |
| 0.29 (01 Jul 2002) |
Updated ScrollList fade algorithm. Added column headings. Redraw of wide lists improved. Column sizing is now more reliable. Rendering the gadget outline uses defined colours for ScrollList. Rendering the gadget outline writes the name for ScrollList and TextArea. |
| 0.30 (09 Oct 2002) |
Fix for reversed sprite pointer/name flags for items. Fix for sprites being plot from specified area. |
| 0.31 (09 Oct 2002) |
Fix for Help not being provided. |
| 0.32 (11 Oct 2002) |
Fix for 'option' like selection being non-standard. Fix for resizing failing when icons were toggled. |
|
| Release: Select 3i1 |
| 0.33 (02 Jan 2003) |
Fix for sprite highlighting (tentative). Added some space beside associated sprites. |
| 0.34 (23 Apr 2003) |
Updated Makefile to new format. Added support for clipboard. Added keyboard support for select all/none (ctrl-a/z) Added support for reading text selection colours from the Wimp. Added new flag for 'Key notifications' to gadget. |
| 0.34 (23 Apr 2003) (retagged) |
Disabled debug now that I'm happy with it in real use. |
| 0.35 (01 May 2003) |
Fix for caret/selection positions not being set. |
| 0.36 (04 May 2003) |
Fix for deselecting items in scrolling lists. Added AutoScroll to text areas. Clicking in a Text Area will now give it the focus where selection is. Redraw bugs now fixed where text is inserted from clipboard. Selections will now reflect the current colours, rather than the unfaded colours. Files other than text files are not dataloaded. |
| 0.37 (04 May 2003) |
Improved redraw speed for unselected text. |
| 0.38 (04 May 2003) |
Stripped out binary data from imported text to TextAreas. Added TextArea_DataLoaded event. |
| 0.39 (04 May 2003) |
Fix for dragging the text area selection causing a selection. |
| 0.40 (08 May 2003) |
Fix for single pixel redraw glitch on cut. Fix for text replacement on DataLoad generating binary data. Added support for dragging to iconbar icons. |
| 0.41 (08 May 2003) |
Removed the ability to insert tabs with ctrl-i in text areas. |
| 0.42 (08 May 2003) |
Added support for keeping a 'free' pool of scroll list entries. |
|
| Release: Select 3i2 |
| 0.43 (09 Jun 2003) |
Fix for memory leak on opening scroll list gadget. Allowed menu to be passed through to client in scrolling lists. Optimised window sizing by centralising furniture size code. |
| 0.44 (09 Jun 2003) |
Another tentative fix for dataload problems in TextAreas. |
| 0.45 (23 Jun 2003) |
Fix for 'hiding' scrolling lists. Fix for 0-length columns becoming infinitely wide. Added support for reading the scrolling list font. Removed clicks being passed on (was failed menu fix). Added support for re-finding fonts on mode change (TextArea and ScrollList) Tool furniture resizing can use RISC OS 4 Wimp call. Fix for TextArea redraw bug on inserting text manually. Fix for TextArea caret redraw bug resurfacing on cut text. |
| 0.46 (01 Jul 2003) |
Fix for title bar sizing. |
| 0.47 (03 Jul 2003) |
Added support for system font in text areas. |
| 0.48 (05 Jul 2003) |
Fix for DataSaveAck response not using an estimated size of -1. |
| 0.49 (06 Jul 2003) |
Fix for dragging objects to and from text areas. |
|
| Release: Select 3i4 |
| 0.50 (11 Nov 2003) |
Updated mis-aligned window when creating and toggling scroll bars. Fix for mis-wrapped text on windows with scroll bars. Fix for passing on clipboard events if the ClipboardHolder is absent |
| 0.51 (03 Jan 2004) |
Initial support for DBRM in ScrollLists (disabled). Improved item add speed and redraw handling in ScrollList (broken). |
| 0.52 (03 Jan 2004) |
Moved DBRM code into separate file to simplify redraw reorganisation. |
| 0.53 (09 Jan 2004) |
Added large amount of debug for locating leaks. Rewrote column handling code in order to simplify its operation and make it more extensible. Improved sprite rendering to allow sprites with non-22 eigen-factors. |
| 0.54 (13 Jan 2004) |
Added initial code for user-specified ScrollList column widths. Fix for SVC stack abuse during graphics window operations. Fix for memory leak on removing ScrollList gadgets. |
| 0.55 (14 Jan 2004) |
Added tentative code for horizontal scroll bar on ScrollingLists. Added support for reading maximum sizes of the list Gadget. |
| 0.56 (16 Jan 2004) |
Added support for controllable scrollbars. Updated DBRM code (still disabled) to handle cancelled queries. |
| 0.57 (17 Jan 2004) |
Optimised delete and add in Scrolling Lists. Fix for memory leak/corruption in deleting from Scrolling List. Fix for memory leak in remove where headings present. |
| 0.58 (19 Jan 2004) |
Added support for 'standard' key bindings in the text area (SC-Cursors, Page Up/Page Down, Home). Fix for dragging selection on systems without Wimp_AutoScroll. Fix for exporting text with tabs in. Fix for moving cursor through text with tabs in. |
| 0.59 (20 Jan 2004) |
Fix for deleting tab characters. Added support for Shift-cursors moving in words. |
| 0.60 (20 Jan 2004) |
Fix for crash when loading files into TextArea. |
| 0.61 (20 Jan 2004) |
Optimised region selection in TextAreas (similar to Slider optimisation). |
| 0.62 (21 Jan 2004) |
Fix for redraw of 'fast' selections in TextAreas. Fix for right margin redraw during selections in TextAreas. Added support for changing the pointer shape over editable TextAreas. |
| 0.63 (21 Jan 2004) |
Fix for ctrl-cursors (and ctrl-U) using logical lines rather than physical lines (TextArea). Fix for word stepping being obscure when wordwrapping enabled. |
| 0.64 (22 Jan 2004) |
Added QueryCompleted message for ScrollList gadget (unused without DBRM). Added support for 'GadgetLostFocus' to TextArea. Keyboard reduction of the selection to nothing now clears selection. Insert text from memory (ie paste) now sets the caret correctly. Using Adjust with no selection now extends from caret. Using Adjust with a selection changes the nearest end. |
| 0.65 (23 Jan 2004) |
Fix for adjust drags in TextAreas failing to select properly. |
| 0.66 (24 Jan 2004) |
Reorganised text selection and dragging code. |
| 0.67 (24 Jan 2004) |
Added support for ghost selections. Single Select click in a window without focus merely gains focus now. Added 'DisplayOnly' flag. Updated fading algorithm to match ScrollList. Key press handler reorganised to remove redundency. |
| 0.68 (24 Jan 2004) |
Updated GadgetPlot to reflect scroll bar flags. |
| 0.69 (27 Jan 2004) |
Adjust click to resize region now redraws correctly. |
| 0.70 (27 Jan 2004) |
Updated to use invisible caret whilst selections in progress. |
| 0.71 (30 Jan 2004) |
Updated assembler to use standard headers. |
| 0.72 (15 Feb 2004) |
Many, many changes from Chris: Fixed a bug in the code that interprets 'wide' characters (e.g. TAB), which caused the character at the caret position to be returned as ASCII 0. This manifested as incorrect Shift-Left/Right (skip word) behaviour, and almost certainly dates from version 0.58. Fixed TextArea left-margin selection redraw bug when using system font. Now shows hourglass during TextArea file operations that take more than 1/3 second. Added large amount of extra debugging output. Tentative implementation of double/triple/quadruple mouse SELECT clicks to select word/line/all in a TextArea, and multiple ADJUST clicks to extend a selection to end of word/line/text. The standard C library isspace() function is now used in place of custom expressions when searching for start-of-word in a TextArea. Extended auto-scroll of TextAreas during selection to correctly handle horizontal as well as vertical movement in the case where word wrap is not enabled. Fixed the implementation of the TextArea_SetText method, which for some time had been completely broken. Fixed bugs in the TextArea_GetSelection and TextArea_GetText methods, which were returning the string length in R5 rather than the number of bytes written. Excluded various bits of apparently redundant code from TextArea. Fixed a bug where ADJUST mouse clicks could be used to create a selection in a TextArea gadget that didn't have its AllowSelection flag set. More low-level OS errors are now trapped and passed up to the client application, rather than the relevant TextArea methods just 'going wrong'. For example calling Gadget_MoveGadget may result in an error from Font_Converttopoints (used during re-calculation of the TA margin width). Fixed strange jerky scrolling movement when dragging the 'caret end' of a TextArea selection on machines that do not support SWI Wimp_AutoScroll. |
| 0.73 (18 Feb 2004) |
Rationalised faded rendering of the icons to use new Wimp interface. |
| 0.74 (18 Feb 2004) |
Fix for font change on Text Area not affecting the scrollbars. |
| 0.74 (18 Feb 2004) (retagged) |
Fix for files omitted during last checkin. |
| 0.75 (20 Feb 2004) |
Partial fix for some redraw issues with sprite backgrounds on TextAreas. |
| 0.76 (22 Feb 2004) |
Updated scroll bar plotting in ResEd for Scrolling Lists. |
| 0.77 (01 Mar 2004) (retagged) |
Minor fix for renamed TextArea_GetWindowId. |
| 0.77 (01 Mar 2004) |
More changes from Chris: Multiple mouse clicks in a TextArea gadget will now cycle through the different stages of selection ad-infinitum, rather than just flickering subsequent to the fourth click. Fixed a bug with the rendering of ScrollList and TextArea gadgets in ResEd. More bugs fixed in the TextArea_GetSelection method, which behaved badly when no selection existed and also consistently overran the stated length of the client's buffer. Fading a TextArea gadget now results in it giving up the input focus, which is analogous to what happens when a writable field is faded. The TextArea gadget now ignores attempts to alter the generic 'faded' flag (bit 31) using the TextArea_SetState method; client applications should instead use Gadget_SetFlags to fade or unfade a TextArea. The TextArea_SetBackground method has also been extended to allow any existing background sprite to be removed and to allow use of sprites from the the Wimp pool. A TextArea background sprite can now be specified by name as an alternative to passing a sprite pointer. TextArea_SetBackground now checks that the specified sprite is accessible and (unless a Wimp sprite is being used) also verifies the sprite area. Any subsequent failure to render the sprite will result in removal of the background. Bits 10-16 of the TextArea state have been reserved for various flags that in future versions of TextGadgets will control the display attributes of any background sprite (e.g. alignment and tiling). Added a new method TextArea_GetWindowID to return the object Id of the nested window used to implement a TextArea gadget. Widespread changes in favour of using dedicated SWI veneers (where available) rather than generic calling methods such as _swix(). |
| 0.78 (02 Mar 2004) |
Added click data to ScrollingList selection events. Fix for Scrolling List selected colours when faded. |
| 0.79 (06 Mar 2004) |
Unknown method numbers are now reported by the Scrollbar and TextArea gadgets. Detection of repeat mouse clicks has been tightened up to exclude the possibility of false positives from rapid clicks in adjacent TextAreas. Fixed a TextArea selection extension bug that manifested when the user double or triple clicked ADJUST beyond the end of the final word on a wrapped text line, and this caused the non-caret end of the selection to move. Fixed a bug in the tab-parsing code which caused wrong jump-to-next-word behaviour when the caret position coincided with the start of a text line. Internal changes in favour of accessing Font Manager SWIs through dedicated veneer functions in preference to using generic calling methods. Continued review and improvement of internal propagation of OS errors. |
| 0.80 (06 Mar 2004) |
A TextArea gadget will now pass Ctrl-C, Ctrl-V and Ctrl-X keypresses on to the client application when neither 'Clipboard' (bit 6) nor 'KeyNotify' (bit 8) state flags are set. The correct component Id is now filled in for Wimp mouse click events on a TextArea gadget; previously only the object Id was set to that of the parent window. |
| 0.81 (10 Mar 2004) |
Fixed a bug with using the TextArea_InsertText method to insert text immediately after a newline. Removed some debugging text that had erroneously been left in the code that deals with Ctrl-U (delete line) key presses. |
| 0.82 (21 Mar 2004) |
TextArea gadgets now recognised a variety of common plain-text file types, rather than refusing to load anything not typed as &FFF/'Text'. However, selections are still saved with this file type. Requests to load unrecognised file types (or when a TextArea is faded) are now rejected at an earlier stage to prevent unnecessary file access. The TextArea gadget now fulfills its obligations to delete temporary files used for inter-application data transfer. Tightened up TextArea's interpretation of the AllowSelection flag to prevent the user from altering the extent of a pre-existing selection when selections are not allowed. Fixed a redraw bug in TextAreas that don't have AllowSave set, which was triggered by the user dragging SELECT within an existing selection. Users can now successfully start a new selection by this method; it is up to individual applications to decide whether this functionality is more valuable than drag and drop. After the TextArea_SetText method had been called, the caret would be painted at the end of the text, yet the actual insert position (and origin of subsequent caret movement) was at the start of text. This bug has been fixed. Fixed horizontal auto-scrolling in TextAreas that don't have word wrap enabled (this had been broken since it was first implemented in 0.72). Fixed a TextArea bug where dragging SELECT to start a new selection at the same time as restoring the input focus resulted in a bad initial redraw and subsequent behaviour more akin to an ADJUST drag. (Note: it is no longer possible to restore the input focus without losing/changing any existing selection, unless AllowSave is set and you click SELECT on the selection itself.) For completeness, all Font Manager SWIs are now accessed via strongly typed dedicated veneer functions rather than by generic calling methods. |
| 0.83 (27 Mar 2004) |
Fixed another TextArea bug concerning the case where the start of a drag coincides with restoration of the input focus, and hence other implications of the click are ignored. This time it is ADJUST drags where no selection exists (or not editable), and the fix is very similar to that already done for SELECT drags. Calling the TextArea_SetSelection method no longer causes a TextArea gadget to claim the input focus - which it was doing even when the gadget in question was faded! Calling TextArea_SetSelection (or pressing Ctrl-A) no longer results in the nested window being forceably scrolled so that the active ('caret') end of the selection is visible. When an ADJUST drag of the non-active end of a selection finishes, the window no longer snaps back to reveal the active ('caret') end of the selection (which undid the effects of any auto-scroll during the drag). Added a new TextArea key shortcut (Ctrl-Shift-Tab) to allow a user to swap which is the active (keyboard movable) end of a selection. The TextArea_ReplaceText method will now silently swap the specified selection endpoints to ensure that start index >= end index. Previously the result of calling this method with reversed indices was undefined. |
| 0.84 (25 Apr 2004) |
Fixed a critical bug that often resulted in data aborts when the user attempted to insert text into a TextArea gadget by drag & drop or by pasting from the clipboard (unless at end of text, or replacing a selection). Fixed a minor problem where calling the methods TextArea_InsertText and TextArea_ReplaceText would have the undesirable side effect of forceably scrolling the text to the current caret position (even in a display-only TextArea). The order of selection indices returned by the TextArea_GetSelection method (i.e. which is the 'pivot' end) now corresponds to the interpretation used by TextArea_SetSelection. Thus calling one method with the indices from the other no longer reverses the 'direction' of a selection. The code that allows reversed indices as parameters to the TextArea_ReplaceText method (introduced in the previous version of TextGadgets) has been fixed to deal with the possibility that the end index may be '-1' (meaning EOF). |
| 0.85 (25 Apr 2004) |
Added support for indented rows. |
|
| Release: Select 4 Preview |
| 0.86 (23 May 2004) |
The display attributes of a text area background sprite may now be controlled by configuring bits 10-14 of the gadget state (using TextArea_SetState). The alignment and tiling attributes of the sprite may be set for each dimension individually; for example you may have horizontal but not vertical tiling. The coordinate offsets supplied to TextArea_SetBackground still allow the position of the sprite to be fine-tuned, but this is now relative to the configured alignment (left/bottom, centred or right/top). The TextArea_DataLoaded event is now generated upon pasting text from the clipboard into a text area, when ClipboardHolder delivers the data immediately from memory or file. Hitherto the client application would only be notified if the data transfer protocol were used. Any of the known plain-text file types that may be dropped into a text area can now also be pasted from the global clipboard, rather than just clipboard contents of type 0xfff. |
| 0.87 (23 May 2004) |
Fix for ScrollList Selection events not being sent for all items changed. |
| 0.88 (23 May 2004) |
Rationalised ScrollList click handling. |
| 0.89 (23 May 2004) |
Added support to ScrollList for DataTransfer operations and decoding mouse positions. |
| 0.90 (15 Feb 2005) |
Added export of defs and header. |
| 0.91 (17 Feb 2005) |
Updated header to include version number. |
| 0.92 (13 Oct 2005) |
Fix for misnamed header declaration in defs file. |
| 0.93 (18 Jan 2006) |
Removed redundant local glib files. Rationalised DBRM interfaces to use Toolbox timers. |
| 0.94 (28 Feb 2006) |
Fix for buffer overflow in ScrollList_GetFont. Fix for ScrollList_GetFont to return buffer requirements. Updated ScrollList_GetFont to always return font width and height. Updated ScrollList_GetFont to propogate errors from FontManager. Fixed TextArea_GetText, TextArea_GetSelection, ScrollList_GetItemText, ScrollList_GetHeadingText to return buffer requirements. Fixed ScrollList_GetHeadingText to return buffer size correctly. Fixed TextArea_GetSelection to return buffer size requirements. Rationalised structure of the TextArea_DataLoaded event data (unfinished). |
| 0.94 (28 Feb 2006) (retagged) |
Fix for unfinished changes to the symbol names change. |