Version history
---------------

1.27 Bugs fixed:
      . Deleting icons by dragging them outside a window had stopped
        working (since v. 1.24)
      . Gave error when trying to edit title bar with outline font in it
      . Corrected calculation of minimum icon size for text+sprite icons
        with empty text string
     Additions:
      . Fast resizing of work area, with Ctrl+Alt+Adjust

1.26 NOTE: For this version the source code has been left out of the
        distribution, because the archive was getting rather large. If
        there is enough demand I can distribute the source separately.
     Bugs fixed:
      . Decreased minimum size of drag-box when resizing icons. Old
        minimum (16x32) made it difficult to create sliders.
     Additions:
      . Added support for the WimpExt module. Like the Interface and AEH
        module, this contains a number of extensions to the Wimp (3D
        buttons, pointer change), plus a lot of other support for Wimp
        applications.
      . Can use the OLESupport module: changes in the file with custom
        sprites (e.g. with !Paint) are signalled by the module; TemplEd
        then re-loads the sprite file. (So you don't need to select
        "Re-load" from the menu)

1.25 Bugs fixed:
      . Move icons with cursor keys only (i.e. no drag) gave error if
        you hadn't dragged any icons in the same window first
      . Gave "Mistake" when deleting a template (though deleting did work)
      . "Min size" on sprite icons: looks for sprite in Wimp area if not
        found in custom area
     Additions:
      . 'Keep on Screen' and 'Ignore extent' window flags can be edited
        (these flags are for RO3 only)
      . 'Tidy icons' replaced by multiple options
      . From Acorn's !NewLook: 3D sprites, and the BorderUtils module
        (contains fix for the '3D-button bug')

1.24 Bugs fixed:
      . Font usage counting revised again. Version 1.23 might lose a font
        while still in use for an icon, resulting in "Illegal font handle"
        error
      . Incorrect PROC call within PROCsetworkarea. No one complained, so
        apparently the line is rarely executed
      . Gave an error if an icon resize-drag ended outside the template
     Additions:
      . Pressing the cursor keys moves the currently selected icons
        (without needing to drag with Shift+Select)
      . When editing multiple icons, you can now set just 1 aspect: click
        with Menu on 'Update' or 'Update & Exit'; then choose which flags
        you want to change. The other settings of the icons remain the same
      . Menu items to View/Re-load/Reset the custom sprites. (The "View"
        item just Filer_Runs the sprite file; use "Re-load" after editing
        the sprites; 't would be nice if !Paint supported the External Edit
        protocol...)
      . (Due to popular demand:) Pointer changes above appropriate icons in
        the Icon Edit and Window Edit windows (was: only if using the 3D
        templates). Not for RiscOS 2
      . To minimize the 'Max size' field, click with Adjust on the
        'Max size' text icon (sets number to length of text + 1)
     
1.23 Bugs fixed:
      . PLEASE NOTE: Use of function keys in the Edit windows has changed:
          F2 = Update
          F3 = Update & Exit
          F4 = Exit
        F1 is for activating interactive help, be it !StrongHelp or RiscOS
        !Help. (This also follows Acorn guidelines)
      . If a drag-select ended with the pointer over another window, the
        icons in that window were selected (instead of in the window where
        the drag started ...)
      . Input focus wasn't shown correctly for templates with 'Pane' bit set
        (instead, the non-pane window that was last opened, was highlighted)
      . Count of font usage not always correct; sometimes caused the
        counting by the FontManager to be too high
      . Extended icon info (via !Help) gave wrong ESG number
     Additions:
      . During icon move/resize, Icon info window shows coords of drag-box
        (thanks to Paul Hobbs for showing that it can be done)
        This means that for single icons you can see the new position and
        size during the drag.
      . Interactive help for Icon Edit and Window Edit windows: press F1
        with pointer above a button, to get help on the flag that this
        button represents (!StrongHelp and !TemplHlp must be loaded first)
      . Double grid:
          - 'Icon size' grid locks all corners of the icons
          - 'Icon position' grid locks the bottomleft corner, leaving the
            size unchanged
      . 'Same size' for icon selections
      . Cooperates in desktop save (RiscOS 3)
      . TAB key can be used to move the caret in dialogue windows
1.22 Bugs fixed:
      . Copying templates caused an error, due to a brilliant new bug in
        version 1.21
      . Better calculation of minimum icon size
      . Revised renumbering of icon selection
     Additions:
      . Filer-like browser window
      . Hotkeys for Align, Space Out and for Copy Up/Down/Left/Right
      . When editing title bar, you can set its colours from the Icon
        Edit window (was: from Window Edit window only)
      . Pressing Esc during a drag aborts it
      . Moving icons to other templates is equivalent to copying
      . Prevents desktop shutdown if data is changed & not saved
      . Menus over Edit windows (Button type, ESG, Font etc.) pop up
        when ANY mouse button is pressed (was: only for Menu button)
1.21 Bugs fixed:
      . Sprite area pointer of windows was not reset to 1 (Wimp area) when
        saving
      . Saving to other applications (via Wimp$Scrap) now properly supported
        Now it is possible to exchange templates between 2 copies of TemplEd
      . Another bug in Wimp_LoadTemplate (#$&$#%@!!!): it expects some
        indirected data for an indirected non-text, non-sprite icon.
        Although the indirected data is not used, it won't digest an
        invalid pointer.
     Additions:
      . Uses DragASprite in save windows
      . Hotkeys for some functions (^Z, ^X, ^C etc.)
      . Windows can be centered to the screen
      . Icons can be centered to the window
      . Support for AEH module
      . 'Minimize size' for icons
      . Using cursor keys to move pointer now also works for moving/
        resizing windows (when done using Ctrl+Select/Ctrl+Adjust)
      . When loading a templates file called 'Templates', TemplEd
        automatically loads the 'Sprites' file from same directory, if such
        a file exists
      . MaxFonts% limit removed: font menu can contain any number of font
        families
      . If browser window is closed, all template windows are closed, too
1.20 Bugs fixed:
      . Templates with deleted, indirected icons were saved without any
        indirected data; Wimp_LoadTemplate gave an error when reading this,
        because it expects some indirected data. (Weird...)
      . TemplEd's own templates may now contain outline fonts (including
        the custom icons for the 'Create icon' submenu)
      . Would not run together with Joris Rlings !FontSelect utility; the
        FontLister module did not like the way TemplEd (v1.11) reads the
        font names.
     Additions:
      . Resizing of a selection of icons
      . Reads 'Templates' and 'Sprites' file of an application when its icon
        is dropped on the icon bar
      . Renumbering of a selection of icons
      . Moving the mouse pointer during icon move/resize: cursor keys move
        the pointer 1 pixel, or 4 pixels when combined with the Shift key
      . When creating standard icons (from the 'Create icon' submenu), you
        can now create several icons with one click.
        (NOTE: the way standard icons are defined has changed. If you
        already have a set of custom icons, DON'T just copy them into the
        Templates file. Read the section on customizing in the Manual.)
      . Option 'Delete icons moved outside'
      . Alternative sets of templates and sprites, with 3D look
      . Possibility to resize icons when aligning
      . Icon resizing now only in 1 dimension (x or y) at a time
      . Double-click on icon, title bar or background opens the appropriate
        Edit window
      . Drag-selecting of templates in 'Templates' window
      . Souped-up 'Templates' window: templates appear as sprite+name
      . Direction (up/down/left/right) for copying of icons in menu
      . Extended icon info, such as button type and validation string, is
        sent to !Help (Acorn's interactive help application).
      . Help files for !StrongHlp
      . Possibility to set coordinates of topleft corner (min.X & max.Y) of
        work area (were fixed to 0,0 in old version)
1.11 Removed automatic minimizing of WimpSlot at startup, since it seemed
     to give problems with RiscOS 2
     Grid size now adapts to mode changes
1.10 First distributed version

1.00 Test version


Known bugs
----------

* In some cases, you may find it difficult to click-select an icon:
     - When its button type is 'Menu' (icon is deselected when pointer
       moves away from the icon)
     - When it has border type 'R5' in its validation string (icon is
       deselected after a short delay)
     - When the icon is shaded (no reaction to a click)
     - When the icon is part of a selection group (ESG), and the 'Allow
       adjust' flags are cleared (click-selecting with Adjust deselects
       the other icons)
  In all cases, you can drag-select the icon, or you can use 'Select all'
  and deselect some other icons.

* Double-clicking on an icon to open the Icon Edit window does not work
smoothly with all button types; the Wimp interferes with TemplEd's
reactions to clicks. For the same reason, double-clicking on the title bar
has the weird effect that the Icon Edit window is opened, and immediately
the template window is re-opened on top. I have made the double-click thingy
optional; if you don't like it, you can switch it off.


Limitations
-----------

* Limits on the number of templates and the number of icons per template.
This can be changed by setting the variables MaxTemplates% and MaxIcons%.
There is also a limit on the size of indirected data that is stored with a
template. Current settings:
    MaxTemplates% = 100
    MaxIcons%     = 200
    MaxIndirSize% = 8000
Note: files contain only actual contents; an empty indirected string with
max size of 1000 takes up 1 byte (the CR terminator) in the file.

* TemplEd can't handle indirected strings longer than 255 bytes. You can set
the maximum length above this limit, but TemplEd can't put more than 255
characters in a text area.

* You can't set the sprite area for each icon separately; all sprites in a
template are read from the same area.

* TemplEd is a single-file editor...


Possible future additions
-------------------------

Future versions MAY have one or more of the following features:

* Show grid
* Multi-file editing
* Grouping of icons
* Export templates as Text file    
* On fatal error, save templates in <Wimp$ScrapDir>
