Known bugs in Window CSE
------------------------

1  MFC  22-Apr-94  -  FIXED

(Enhancement) It would be nice to be able to drag a gadget and drop it into
a "before" or "after" field in a dialogue box.

2  MFC  29-Apr-94  -  FIXED

Reloading the messages for a window that is being edited will also reset the
grid settings to their default values. See also (22) and (23) in !Menu.

3  MFC  17-May-94  -  FIXED

Should the "real colours" window flag affect the pop-up menu in the Colours
dialogue box? (!)

4  MFC  24-May-94  -  NOTABUG (in ResEd, anyway)

Why can't I set the justification of, eg, Length fields to be "right" instead
of "Centre" using !WinEdit? Does it matter?

5  MFC  24-May-94  -  FIXED

Are my pop-up menus positioned on a Style-Guide compliant manner? Are the
options for raising them Style-Guide compliant? (see also 69)

6  MFC  25-May-94  -  FIXED

Check relationship between window icons in the window properties dbox. For
example, it's not possible to ask for a Size icon unless there is a vertical
scroll bar.

7  MFC  25-May-94  -  COMMENT

!Window regards a window as "modified" whenever it receives an Open_Window
request for it from the Wimp. These requests come when the user drags it,
adjusts its size, moves a scroll bar - which is fine - but also when there
is a mode change (and the window *may* change position) and when the user
alters its stacking order by clicking on the back icon (which should not
count as a modification since this is always forced to "on top" when the
window template is saved).

8  MFC  25-May-94  -  FIXED

The "Info =>" menu entry leads to a small dbox with simply a display field
for the window object's name. At present, an asterisk is appended to the
name if the object has been "modified" since it was last returned to the
shell. This is really a debugging aid, and should be removed.

9  MFC  25-May-94  -  FIXED

When a string is too long for the "Title" field in the Window properties
dialogue box, the caret appears just to the right of the field - in green -
when the dbox is first displayed.

10 MFC  25-May-94  -  FIXED

Click ADJ on OK in Window properties dbox when the window is behind it; the
window is reopened in front of it.

11 MFC  25-May-94  -  FIXED

Should limits be placed on the ranges possible for coordinates? eg in the
extent dbox.

12 MFC  25-May-94  -  FIXED (coordinates are always multiples of 4)

The Wimp ensures that a window's extent coordinates are an exact multiple of
the pixel size; this means that no application can assume that the extent
given to a window before it is created will be the same after it has been
created (or even after a mode change). !WinEdit forces extent coordinates to
be multiples of the pixel size *in the mode in which editing is taking place*
- necessary for RISC OS 2; !ResEd does not. Perhaps instead !ResEd should
force window extent coordinates to grid points when the grid is on and locked
and the same should be true for the visible area. The extent coordinates
would, under these circumstances, "adjust" in units of grid size.

13 MFC  26-May-94  -  NOTABUG

Should the X,Y coordinates be top left and bottom right in the Extent dbox?
No (by tradition).

14 MFC  26-May-94  -  COMMENT

Should there be an option to set the visible area to the extent? Probably
not necessary because the user can use the resize icon or CTRL-SHT-DRG-ADJ.

15 MFC  26-May-94  -  FIXED

The Extent dbox processing should prevent the user from setting a minimum
width/height that is greater than the extent (ie force compatibility).

16 MFC  27-May-94  -  COMMENT

A couple of "Future enhancements":
  - Provide support for multi-line help messages, and for tokenised help
     messages
  - Provide support for automatic generation of toolbox event numbers - to
     avoid accidental duplication, and to generate #define's automatically.

17 MFC  27-May-94  -  FIXED

Clicking the mouse in a dialogue box should give it the input focus - but to
which writable, if it has any?

18 MFC  31-May-94  -  DEFER

The "uncolours[]" array - and the foreground and background colours in the
colour menus and dialogue boxes - should be reset whenever the palette is
changed.

19 MFC  06-Jun-94  -  COMMENT

Use !Configure to allow windows off-screen only to the top and left of the
screen. Drag the Keyboard shortcuts dbox to the bottom of the screen. The
Wimp does not constrain the mouse pointer (bug in Wimp?) and so repeated
redraw attempts are made to draw the window off-screen - with a resultant
nasty flickery effect.

20 MFC  06-Jun-94  -  NOTABUG

Whenever a change is made to the properties of a window object template, the
window is deleted and recreated. Unfortunately, this forces the window to be
on-screen. Worse still, windowedit_redisplay_window(..) doesn't copy coords
back to the window structure after opening, so any changes will not be
recorded. This is probably true elsewhere as well - there should be a general
"writeback" after Wimp_OpenWindow for a window that is being edited (just in
case the Wimp has had to force the window on-screen for some reason).

Actually, Wimp_OpenWindow updates the window structure itself if the window
moves under these conditions - and after clicking OK on a properties dbox,
the object is always marked as modified - so all is well!

21 MFC  07-Jun-94  -  FIXED

Use "new" system font for the text in a keyboard shortcuts window - so that
anti-aliased system font appears where appropriate (Wimp_TextOp from 3.5?).

22 MFC  09-Jun-94  -  DEFER

update_keycut(..) may fail due to lack of memory when allocating space for
the name of the object to be shown; if it does when adding a new entry, then
this new entry will - erroneously - appear in the list. [keycuts.c]

23 MFC  09-Jun-94  -  FIXED

Should check range of values for key codes and event codes in keycuts.c - see
update_keycut(..).

24 MFC  10-Jun-94  -  FIXED

The UI for creation and editing of keyboard shortcuts is far from ideal; two
immediate problems are:
  - it's not possible to drag'n'drop objects into the "Show object" field,
     since the editing dialogue box is transient;
  - you have to know the (decimal or hex) code of the key you wish to define
Options for modified/new design include:
  - menu instead of dbox for editing and creation
  - menu for keys (deal with modifiers and characters separately)
  - direct "type-in" for keys

25 MFC  10-Jun-94  -  COMMENT

Could add the ability to select/toggle-select a contiguous sequence of
keycuts by dragging a lasso in the keyboard shortcuts pane.

26 MFC  10-Jun-94  -  NOTRELEVANT

Where should the KeyShort2 transient dbox be opened when the user:
  - clicks on EDIT or ADD
  - double-clicks on a keycut line in the pane?

27 SAH  14-Jun-94  -  NOTABUG

Interesting idea for alignment - given a selection of gadgets to align, align
to the one that was selected *first*. Can also display how a selection is
built up as a lasso is dragged.

28 MFC  16-Jun-94  -  COMMENT

Disambiguating componentids is not very efficient (also for !Menu) - a better
method should be found.

29 MFC  01-Jul-94  -  COMMENT

Constrained moves - ADJ-DRAG on a resize handle - should allow the mouse to
move outside the window just far enough so that the bounding box is just off
screen (perhaps).

30 MFC  01-Jul-94  -  FIXED

When the window properties dbox is displayed, the caret is positioned in the
first writable field - that is, the "Title" field. This occurs even if the
window has no title bar - in which case this field is faded - but still has
the caret (and characters can still be entered). The caret also remains in
a writable field even after it has been faded - I guess I have to check for
its presence and put it somewhere else if necessary; Neil suggests I use
Wimp_WhichIcon to find the first writable non-faded icon into which to place
the caret. See also (38).

31 MFC  01-Jul-94  -  FIXED

The problem mentioned above (30) is also true for the coordinates dialogue
box - which might be more difficult to solve, since this is a transient dbox.
Neil says it's not a problem - simply set the caret explicitly as required
immediately after calling Wimp_CreateSUbMenu.

32 MFC  07-Jul-94  -  FIXED

The treatment of unknown gadget types in gadget_load(..) inside c.gadgets is
unsatisfactory!

33 MFC  12-Jul-94  -  FIXED

gadget_open_dbox(..) places the caret in the "first writable" icon as defined
in the GadgetDefRec; this happens even if that field is faded.

34 MFC  12-Jul-94  -  FIXED

If an attempt is made to set a duplicate componentID, the properties dbox
will be closed after the error message has been given. This is not very
friendly.

35 MFC  18-Jul-94  (Also MH 24-Aug-94)  -  FIXED

When an action button becomes the "default" button - or vice-versa - should
!ResEd change its size appropriately to allow for the bigger border?

36 MFC  18-Jul-94  -  FIXED

Perhaps the "Cancel" action button could be visually distinguished in some
way. See also (53).

37 MFC  18-Jul-94  -  FIXED

Perhaps the writable icon which has the "default focus" should be visually
distinguished - and, maybe, the chains of "before/after" links for writable
icons. One possibility might be to have special menu entries which select
the "default focus"/"cancel" icons - or which display the links. See also
(53).

38 MFC  18-Jul-94  -  FIXED

What should happen to the caret when fields are faded and unfaded dynamically
in a properties dbox? For example, should clicking on the Help option icon
cause the caret to move into the unfaded help text field - and what do you do
when clicking the Help option icon off when the caret is in the help text
field? This is slightly more complicated for the text/sprite options in the
labelled box dbox.

39 MFC  19-Jul-94  -  FIXED

Writable field for "other allowable" displays full field before removing the
'a-z' bits etc. Irritating!

40 MFC  20-Jul-94  -  COMMENT

At present, bit 30 in a gadget's flags word indicates that the gadget is to
be painted first. Perhaps a set of bits containing a priority value would be
better: only ResEd would look at these, and would then order the gadgets
accordingly before writing them out to the window object template. Presumably
the addgadget method would have to be altered to say where the gadget was to
be inserted in the list.

41 MFC  20-Jul-94  -  NOTABUG

The draggable gadget template allows you to specify that there is no text
component and also include a text value at the same time. This is different
to other gadgets (and reflects in the dialogue box); is it sensible?

42 MFC  20-Jul-94  -  DEFER

In the numberrange dbox, the "before/after" object fields can sometimes be
unshaded and then shaded when applying the dbox with adj-click on OK. This is
visually irritating.

This is a general problem for gadget property dboxes where there is a special
initialisation function as well as the generic one. For example, stringset
dboxes have gadget_ss_init(..) which is called after generic initialisation
has been done to fade out irrelevant icons. So if such an icon is off before
the ADJ-click, it may be set on by generic initialisation, and then off again
by the special routine. There does not appear to be a simple fix, and the
visual irritation is not great.

43 MFC  21-Jul-94  -  DONE

Review the length of the writable fields in the property dialogue boxes.

44 MFC  21-Jul-94  -  FIXED

Should check that ESG <= 31 when applying a Wimp Icon dbox.

45 MFC  22-Jul-94  -  DONE

Check memory usage/leakage!

46 NK   22-Jul-94  -  FIXED

Setting a window's background to "transparent" should not actually *do* it in
ResEd; instead, it should be set to white.

47 MFC  22-Jul-94  -  FIXED

Can redraw be made faster after ADJ-CANCEL/ADJ-OK? Perhaps by closing window
before reinitialising it, and then reopening. Slowness may be due to frame
synchronisation by the Wimp.

Major improvement obtained by only calling Wimp_SetIconState if the icon's
state/content has actually changed.

48 MFC  25-Jul-94  -  NOTABUG

Why does the Templates file fail to load into !FormEd? It loads into other
template editors (such as !TemplEd) - maybe it's because of the special
validation items included by !WinEdit.

49 NK   25-Jul-94  -  FIXED

Once a labelled box has been created around, say, a group of radio buttons,
you can no longer select the radio buttons ...

50 MFC  28-Jul-94  -  DONE

Should ResEd support bit 30?

51 MH   08-Aug-94  -  FIXED

A redraw problem has been observed, whereby a horizontal red line appears
through the middle of a gadget that has been dragged from the palette to a
window. This may be mode-specific - Matt uses mode 31. I have also observed
this problem in mode 31, when dragging a gadget from the palette to an empty
window: the resize ears are plotted in the correct position, but the bounding
box is not - just the horizontal line appears.

52 TR  08-Aug-94  -  FIXED

Display fields have to be made writable before altering their justification
in string sets; this is not necessary. Also affects number range gadgets.

53 MFC  11-Aug-94  -  FIXED

The specification calls for other buttons in a group to be surrounded by a
black dotted border whenever one of them is selected. I suggest a better
interface would be to add a menu entry "Select radio group" which is ungreyed
only if exactly one radio button is selected; choosing this item selects all
buttons in the group. This idea could be extended to select the next/previous
writable, the default/cancel action button, the default focus writable, ...
See also (36) and (37).

54 MFC  12-Aug-94  -  FIXED

Numberrange gadgets can have their display fields resized by dragging the
internal resize ear - should there also be a way of specifying the size
numerically? (eg in the numberrange's properties dbox somewhere). And should
dragging one numberrange ina multiple selection move all of them - and should
the moves be affected by grid lock?

55 MFC  12-Aug-94  -  FIXED

It seems that plotting a numberrange gadget which has no numerical display,
no slider and no adjusters (ie nothing) causes problems - perhaps this is a
Window module bug.

56 MFC  12-Aug-94  -  FIXED

What should ResEd do about checking sensible sizes for gadgets? For example,
there must be a minimum size for adjuster arrows. Even worse, what about the
components of a numberrange and their relationships?

57 MFC  12-Aug-94  -  COMMENT

When dragging the display field inside a numberrange gadget, the precise
limit on its new size is determined by where the mouse is positioned inside
the resize ear. Not very significant, but certainly inelegant.

58 MFC  15-Aug-94  -  FIXED

"Pointer bounce" when dragging or resizing a window using a CTRL/SHFT/DRAG is
untidy; it would be better to work out an appropriate constraining box for
the mouse before starting the drag.

59 MFC  15-Aug-94  -  FIXED

Mouse pointer can move outside window when resizing using CTRL/SHFT/DRG; this
is inelegant.

60 NK   16-Aug-94  -  FIXED

Linking writables does not mark document window as updated.

61 MFC  17-Aug-94  -  COMMENT

A "transparent" window is now displayed by ResEd with a white background; it
might be better if a cross-hatch was done (like FormEd).

62 PL   17-Aug-94  (also DM  31-Aug-94)  -  COMMENT

If one labelled box is on top of another (or behind it) it may not be
possible to select one or other of them.

With some combinations of gadgets, it is sometimes impossible to select a
gadget that has been obscured by another. The 'gadget selection' mechanism
does not I believe support anything which will allow such a gadget to be
selected. This problem will appear mostly when using the 'Button' gadget.

My [ie DM's] suggestion is this:

If the user holds down a key (e.g. ALT or CTRL) whilst trying to select a
gadget by clicking on it, ResEd will look for any other gadgets behind the
gadget on which the user has clicked. If one exists, that gadget will be
selected. If the user repeats this process, ResEd should look behind the
currently selected gadget thus allowing the user to select gadgets that are
more than one level deep.

63 MFC  18-Aug-94  -  FIXED/DEFER

SHFT/ESC and SHFT/RET do not function as expected with the transient dboxes
Grid, Coordinates and Align. The Wimp intercepts ESC (with or without SHFT)
to close transient items, so SHFT/ESC is not implemented.

64 MFC  18-Aug-94  -  FIXED

The palette window should respond only to ^A and ^Z keyboard shortcuts.

65 MFC  18-Aug-94  -  FIXED

When a window's backdrop flag is set, its stacking position should be stored
as -2 (instead of -1).

66 MFC  18-Aug-94  -  NOTRELEVANT

If the keyedit dbox has been open, it seems that ESC has to be pressed twice
before the keycuts dbox will disappear.

67 MC   19-Aug-94  (also MH  24-Aug-94)  -  FIXED

When a slider's orientation is changed, ResEd should also change its bounding
box in a sensible way! (ie swap coordinates)

68 MC   19-Aug-94  -  FIXED

The slider's size in the palette is not Style-Guide compliant - in fact, we
should check *all* gadgets in the palette to make sure they are the correct
size.

69 IJ   19-Aug-94  -  FIXED

Pop-up menus should be displayed immediately to the right of the pop-up icon,
not where the mouse is! (see p96 of the Style Guide).

70 IJ   19-Aug-94  -  COMMENT

Style Guide does not specify that MENU on the display associated with a
pop-up displays the menu; perhaps this should be removed from ResEd.

71 PL   22-Aug-94  -  FIXED

"Draggable type" radio buttons do not set correct values in the draggable
gadget's flags field. A consequence of this is that an error is dispalyed
during redraw if an attempt is made to set a draggable gadget's type to
"Double/Click/Drag".

72 DEV  23-Aug-94  -  COMMENT

ResEd could allow the user to specify event numbers and component IDs as
identifiers, and could maintain a dictionary mapping these names to numbers
determined as necessary. An extra menu option would create a header file.

73 DEV  23-Aug-94  -  FIXED

Should the group number of a radio button be displayed in the radio button's
properties dialogue box? Should it be settable?

74 DM   26-Aug-94  -  COMMENT

Although the grid option in ResEd can make positioning gadgets in a window
quite easy, it can still be quite difficult getting the icon positioning
right when working on a large window. This same problem applies to Impression
Style when creating or repositioning Frames. Style gets around this problem
by using guide lines that extend from each corner of the bounding box of the
selected Frame on the x and y axis when the object is being dragged. Perhaps
it would be a good idea if ResEd were to implement this.

75 DM   26-Aug-94  -  DONE

Its possible that some developers will want to convert some of their old
applications to use the Toolbox. Because old 'Template' files cannot be
loaded into ResEd, it means that windows must be generated from scratch using
!ResEd. Having tried this myself, one of the things I found myself doing
constantly was looking at the physical size and positioning of icons in the
original window so I could make an exact copy in ResEd. Doing this get quite
tedious as the only way to do it is by selecting the 'Coordinates' option in
ResEds Window.Edit menu. Perhaps it would be a good idea to bind this option
to a key?

76 MFC  31-Aug-94  -  FIXED

Adjust-click to choose an item from the Font selection menu (in a FontMenu or
FontDbox dialogue) does not re-tick the menu.

77 MFC  31-Aug-94  -  DEFER

The font menu code is almost certainly not internationalisable - and the way
in which "System" font is identified is certainly suspect.

78 MFC  31-Aug-94  -  FIXED

Hitting RETURN to close a dialogue box when a pop-up menu is on the screen
removes the dbox but not the menu.

79 MC   02-Sep-94  -  DONE

Please, please add keyboard shortcut ^G to the Window CSE to bring up the
Gadgets palette.

80 MFC  02-Sep-94  -  FIXED

Add support for client-specified events for "Before showing" and "When
hidden" with windows; requires a new version of the window resource file
format.

81 MFC  02-Sep-94  -  FIXED

Add support for the "password" flag bit in writables.

82 MFC  05-Sep-94  -  COMMENT

The new "Align" menu does not allow alignment of, eg, left and right sides
simultaneously. This means that it is not possible to align *and* make the
same width in one go. In fact, the operation of "making the same width" is
independent of alignment, and so - if required - should really be a separate
operation. Perhaps another submenu to make same width/height/size would be
worthwhile.

83 MFC  05-Sep-94  -  FIXED

Keyboard shortcut for "Make radio group" (^R) should give error message if
it cannot complete its task - ie if the current selection does not consist
entirely of radio buttons. This may also apply to other keyboard shortcuts.

84 MFC  06-Sep-94  -  FIXED

Clear any selection, and bring the main menu onto display. Use ^A to select
all gadgets in the window, and now bring up the Edit sub-menu; all items
are greyed out. Worse still (!), if the edit sub-menu is already on display
the shading of its entries does not change as keyboard shortcut actions
take place...

Although probably not worth fixing as such, it does mean that action code
should always check that the conditions that obtained *before* the menu was
displayed still obtain when the action is selected. Or perhaps use of any
keyboard shortcut should simply remove the menu from display.

85 MFC  09-Sep-94  -  FIXED

Should allow '*' in a "length" field to mean "make the length equal to the
actual length of the string + 1".

86 MFC  09-Sep-94  -  FIXED

For a writable gadget, choose, eg, 'a-z' as allowed characters, and then add,
say, C in the "Other" writable. ADJ-click OK - the caret is incorrectly
placed in the "Other" writable.

87 MFC  12-Sep-94  -  FIXED

If the size of a number range gadget is made "negative" by dragging a resize
ear right "through" the gadget, it displays in a strange way. This may also
apply to other gadgets.

88 MFC  19-Sep-94  -  COMMENT

If the "Length" icon for an "Allowable characers" field has "*" in it, and a
click on an adjuster arrow is made, the value entered into the length field
does not take account of any of the A-Z, a-z or 0-9 option icon settings.

89 MFC  23-Sep-94  -  FIXED

"Toolbars..." menu entry should be shaded if the window is a toolbar window.

90 MFC  23-Sep-94  -  FIXED

The "Real colours" flag bit for a window template means that the window's
colour bytes are interpreted as GCOL numbers - and so can range up to 255 in
value; but the "Colours" dbox does not allow values greater than 15 to be
assigned. Perhaps the Colours dbox should be different if the window has the
"Real colours" flags bit set.

91 MFC  23-Sep-94  -  COMMENT

Saving grid settings with window templates would be really useful.

92 MFC  27-Sep-94  -  COMMENT

The scrolling pane in the Keyboard shortcuts window now displays system text
in outline font where appropriate - but still assumes a fixed line separation
(of 40 OS units). It also  makes no attempt to line up items, and could also
do with a horizontal scroll bar.

93 NK   27-Sep-94  -  FIXED

Clicking in the scroll bar background to scroll the keyboard shortcuts pane
confuses the code - and items are not recognised properly until a click on
a scroll arrow occurs, or the scroll bar is dragged.

94 DH   03-Oct-94  -  FIXED

It's possible to "pick up" the internal resize ear on a numberrange gadget
sometimes even when it is *not* displayed. Dragging it does not, of course,
alter the appearance of the numberrange object.

95 SM   30-Aug-94  -  DONE

Should all menu entries have keyboard shortcuts? If not, at least the Align
and Coordinates submenu entries should have them.

96 MH   20-Sep-94  -  REJECTED

It would be nice if the Grid dialogue was displayed as a persistent dialogue
box.

97 NK   05-Oct-94  -  FIXED

If a group of gadgets is dragged to an empty window, their component ids all
remain as zero. This is also a bug in the Menu editor.

98 MFC  14-Oct-94  -  FIXED

The menu entry "Select radio group" is unshaded only if the selection
consists entirely of radio buttons in a single group. This same criterion is
applied to the keyboard shortcut SHFT/R - but no indication is given. In
other words, if the user has two radio buttons selected and he presses SHFT/R
and the selection remains unchanged, he does not know whether both are the
only buttons in a single group, or whether they are buttons from two 
different groups.
