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) (a message) Hello (a button) (a button) List (a list box) Apple Banana Coconut & Donut Check (a check box) (a check box) Radio (a radio box) First Second Third Image Radio (a check box) 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: - button: - checkbox: 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 # (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.