296 lines
10 KiB
Plaintext
296 lines
10 KiB
Plaintext
|
|
These instructions go with the "item.ss" MrEd test file. You probably
|
|
got them by clicking on the "Get Instructions" button.
|
|
|
|
This file mostly contains instructions for running the "Make Big
|
|
Frame" and "Make Medium Frame" tests. "Big" and "Medium" are silly
|
|
names; they're essentially the same set of tests, but for different
|
|
sets of controls. There are just too many kinds of controls to fit in
|
|
one frame.
|
|
|
|
The clock in the upper right of the "Test Selector" frame should
|
|
increment every second.
|
|
|
|
The buttons at the bottom of the Selector frame open little frames for
|
|
testing individual control types in detail. Those frames come with
|
|
their own instructions.
|
|
|
|
Make XXX Frame
|
|
--------------
|
|
|
|
Big Frame should contain the following on the left:
|
|
|
|
Message (a message) <down-left arrow> (a message)
|
|
Hello (a button)
|
|
<BB logo> (a button)
|
|
List (a list box)
|
|
Apple
|
|
Banana
|
|
Coconut & Donut
|
|
Check (a check box)
|
|
<MrEd logo> (a check box)
|
|
Radio (a radio box)
|
|
First
|
|
Second
|
|
Third
|
|
Image Radio (a check box)
|
|
<down-left arrow>
|
|
<down-right arrow>
|
|
Choice (a choice item)
|
|
Alpha
|
|
Beta
|
|
Gamma
|
|
Delta & Rest
|
|
Text (a text field)
|
|
initial & starting
|
|
|
|
Medium Frame should contain:
|
|
|
|
H Slider (a horizontal slider)
|
|
V Slider (a vertical slider)
|
|
H Gauge (a horizontal slider)
|
|
V Gauge (a vertical slider)
|
|
Text (a multi-line text field)
|
|
initial & starting
|
|
A tab panel with two tabs
|
|
|
|
|
|
The names on labels must match the above exactly, except that most
|
|
labels have an "e" or "i" that gets an accent mark to test Latin-1
|
|
labels. Also, <> above indicates an image. Watch out for letters that
|
|
are dropped or &s that are dropped.
|
|
|
|
Make sure all the controls with moving parts work.
|
|
|
|
Tabbing and arrow keys should work correctly. The canvas in the bottom
|
|
middle area does not receive the focus via tabs in Big Frame, but it
|
|
does in Medium Frame. When it receives the focus via a tab, "Tab in"
|
|
is drawn in the canvas; when the focus leaves the canvas for any reason
|
|
(tab out, mouse click somewhere else, etc.), "Tab in" is erased.
|
|
|
|
Window Resizing
|
|
---------------
|
|
|
|
Stretch the window vertically. Stretch it horizontally. Unless the
|
|
frame was created with "all stechy" on, then messages, buttons, check
|
|
boxes, and radio boxes should not stretch. Choice and text items
|
|
should only stretch horizontally. Sliders and gauges should only
|
|
resize in the major direction.
|
|
|
|
If "all stretchy" was on, then everything in the left column should
|
|
stretch both directions.
|
|
|
|
Show and Hide
|
|
-------------
|
|
|
|
The second column in the window starts with "Hide and Show". Click it
|
|
and see that the frame disappears and reappears. The remaining
|
|
checkboxes can be un-checked to hide items. The first two hide
|
|
everything in the left column. The remained hide the corresponding
|
|
item on the left.
|
|
|
|
Click on the canvas at the bottom of the second column. A popup menu
|
|
should accurately report the local visibility of each control. (If a
|
|
control is shown but the panel is hidden, the menu should still say
|
|
SHOWN.)
|
|
|
|
|
|
* hide/show all the controls through each panel
|
|
checkbox; the menu should say SHOWN for all
|
|
items
|
|
|
|
* click each checkbox to hide an item, then click
|
|
again to show it before moving to the next item;
|
|
check the popup menu for accuracy before and after
|
|
re-showing
|
|
|
|
* hide all of the controls, then hide and unhide the
|
|
whole panel (one of the top checkboxes); unhiding
|
|
should not show the hidden controls; unhide one
|
|
or two to convince yourself that the panel is
|
|
unhid
|
|
|
|
* hide the panel and unhide all of the controls;
|
|
you should not see any of them; then unhide the
|
|
panel; they should all appear
|
|
|
|
* hide the panel; hide all the controls; unhide the
|
|
panel (the controls should not appear); unhide
|
|
all the controls
|
|
|
|
* repeat the three steps above with the other panel checkbox
|
|
|
|
Enable and Disable
|
|
------------------
|
|
|
|
The third column contains checkboxes for enabling things. Note that
|
|
each radio button has its own enabler, as well as the whole radio
|
|
box. Try each one, clicking on the item to make sure it's really
|
|
disabled.
|
|
|
|
* enable/disable all the controls through each panel
|
|
checkbox
|
|
|
|
* click each checkbox to disable an item; click on the
|
|
item to make sure it's disabled; recheck the checkbox;
|
|
make sure the item is re-enabled
|
|
|
|
* disable all the controls; disable and re-enable the
|
|
whole panel; make sure the controls are still disabled
|
|
|
|
* disable the panel; re-enable the individual controls;
|
|
make sure the controls are still not enabled; re-enable
|
|
the panel and check that the controls are enabled
|
|
|
|
* disable the panel; disable all the controls; enable the
|
|
panel and make sure the controls are still disabled;
|
|
enable all the controls
|
|
|
|
* repeat the three steps above with the other panel checkbox
|
|
|
|
* repeat the three steps for radioboxes and radio items,
|
|
instead of panels and controls
|
|
|
|
Relabeling
|
|
----------
|
|
|
|
The buttons in the fourth column toggle the labels on items. The
|
|
control should not resize itself for the new label.
|
|
|
|
For text labels, the new label is XXXXXXXXX. For icon labels,
|
|
it depends:
|
|
|
|
- message: <down-right arrow>
|
|
- button: <down-left arrow>
|
|
- checkbox: <BB icon>
|
|
|
|
Note that radio items can't be relabeled.
|
|
|
|
Be sure to click each button twice, to make sure that the original
|
|
label is restored.
|
|
|
|
Cursors
|
|
-------
|
|
|
|
Checking "Control Bullseye Cursors" should change the cursor over
|
|
every control in the left column, plus the canvas in the second
|
|
column. The cursor should only apply to the "client area" of a
|
|
control, not the label if it is outside the control. The cursor should
|
|
be normal everywhere else.
|
|
|
|
Checking "Frame Cross Cursor" should change the cursor in the
|
|
frame to a cross. It sets the cursor for the controls only when
|
|
"Controls Bullseye Cursors" is not set.
|
|
|
|
Checking "Busy Cursor" should change the cursor to a watch everywhere
|
|
in the frame's eventspace. It overrides all other cursor settings.
|
|
|
|
Combinations to try:
|
|
|
|
* Bull only - just controls changed
|
|
* Cross only - all of frame changed
|
|
* Bull + Cross - controls are bullseye, cross everywhere else
|
|
- Uncheck Cross and make sure Bull still works
|
|
- Recheck Cross, uncheck Bull and make sure Cross works on
|
|
controls
|
|
* Busy only - everywhere changed
|
|
* Busy + Cross - everywhere changed
|
|
- Uncheck Busy and make sure Cross still works
|
|
- Recheck Busy, uncheck cross and make sure Busy still works
|
|
- Uncheck Busy and make sure Cross is still off
|
|
* Busy + Bull - everywhere changed
|
|
(same as above, but for Bull)
|
|
* Busy + Bull + Cross - everywhere changed
|
|
- Uncheck Busy and verify Bull + Cross
|
|
(that's enough)
|
|
|
|
Also, while the busy cursor is on, try creating a new Big/Medium Frame
|
|
and make sure that the busy cursor is active in the new frame and over
|
|
all controls in the new frame.
|
|
|
|
Deleted Adds
|
|
-------------
|
|
|
|
The "New Deleted" popup creates subwindow<%>s and adds them to the
|
|
same panel as the "New Deleted" control, but each subwindow<%> is
|
|
created with the 'deleted style, which means that the subwindow<%> is
|
|
initially hidden and deleted. The "*Activate Last*" item activates
|
|
the last-created subwindow<%>, i.e., it shows the subwindow<%> and
|
|
adjusts the panel size to accommodate the activated window<%>. The key
|
|
part of this test is that no deleted subwindow<%> is shown, and no
|
|
deleted subwindow<%> affects the panel's geometry.
|
|
|
|
Popup Menus (Big Frame)
|
|
-----------
|
|
|
|
Hide something. Left-click on the canvas to see the SHOW state.
|
|
Unhide that something. RIGHT-click on the canvas to get the old
|
|
SHOW state. Then left-click to see the new SHOW state.
|
|
Left-click and pick some item; verify that the canvas shows the
|
|
select index (counting from 1)
|
|
Right-click and pick some item; verify that the canvas shows the
|
|
selected index (counting from 1)
|
|
|
|
Focus Info
|
|
----------
|
|
|
|
Under "Enable Text", the current focus is show as:
|
|
label value
|
|
Sometimes label is () for null (no label)
|
|
Sometimes value is just #<object> (no known class)
|
|
but usually you can tell what it means.
|
|
|
|
Click on various controls. Watch how the focus changes (some controls
|
|
on some platforms never get the focus). Verify that the focus
|
|
indicator is always right. (There's about a 1 second delay.)
|
|
|
|
Event Info
|
|
----------
|
|
|
|
Under the focus indicator, the last event is reported. If the label of
|
|
the destination is non-null, the label is shown, otherwise the value
|
|
is shown.
|
|
|
|
As the mouse is moved over a control's client area, the event
|
|
indicator should report the control under the mouse and `mouse' for
|
|
mouse event. This is independent of the location of the focus.
|
|
|
|
Press a key. Instead of `mouse', the event indicator should say `key',
|
|
and report the item that currently has the focus. (Unfortunately,
|
|
under windows, the key info is immediately replaced with mouse info.)
|
|
|
|
Event Filtering
|
|
---------------
|
|
|
|
When "Drop Mouse Events" is checked at the bottom of the third column,
|
|
all other controls (except "Drop Mouse Events" and "Drop Key Events")
|
|
should cease to respond to mouse events. The event indicator will still
|
|
work. Keyboard events should not be affected (though it may be hard to
|
|
get the focus somewhere interesting).
|
|
|
|
Try every control with mouse events dropped.
|
|
|
|
"Drop Key Events" does the obvious thing. Try every keyboard-responding
|
|
control with events dropped. Try dialog navigation keys on other
|
|
controls, such as TAB or left-arrow.
|
|
|
|
Different Configurations
|
|
------------------------
|
|
|
|
Each Frame can be created in several different configurations (32 or
|
|
64 of them!).
|
|
|
|
Step through the first 16 configurations, create a frame each time,
|
|
and make sure the resulting controls look right. Resize each frame and
|
|
check stretchiness before closing it.
|
|
|
|
Go back to the default configuration and try the 3 other combinations
|
|
of label and button fonts. The big label font should apply to external
|
|
control labels, and to message items. The button font should apply to
|
|
the content of controls (names within a button, checkbox, listbox,
|
|
choice, or text control). The "Initially" radio box controls whether
|
|
the control-containing panel is initially enabled (before the controls
|
|
it contains are created). The "Selection" radio box controls the
|
|
initial-value setting for check boxes, radio buttons, list boxes, and
|
|
choices.
|