Please enable JavaScript to view this site.

A-Shell Development History

937.6.1

(Windows/ATE) Improvements in the ability to override the XP Theme colors of static text controls. To do so, add +64 to either or both of the FGC and BGC parameters when creating the control. This applies to both the foreground and background color set, so the range from 0-15 would be offset to a range of 64-79.

Previously, it always used the reduced color palette, and you could not override the foreground without the background. Overriding the background is useful for making a simple header line, while overriding the foreground is useful for making a particular text label stand out.

937.5.1

(Windows/ATE) Misc. XTREE fixes/improvements:

Editable cells were not being limited to the maximum number of characters in the column.
Editable cells no longer allow entry of alphabetic characters if the column type is numeric.
When using column type X (instant validation of each editable cell), clicking on another cell no longer bypasses the validation logic.

937.5.2

Fix minor bugs in INMEMO character wrap logic when lines are full and have no spaces to facilitate word wrap, and/or when all the rows are full (preventing the insertion of a new line to accommodate the wrap).

937.5.3

Fix a problem with ATE auto login to AMOS whereby it would confuse the TDV prompt for the login prompt.

937.4.1

The compiler now reports the line number of the FOR statement corresponding to a missing NEXT (when in BasicPlus mode).  Previously, it reported the last line of the program (where it finally decided that the NEXT statement was missing).

937.3.1

(Windows/ATE) Adjust auto-expansion of small EPRINT fields to only expand from 1 to 2 (and not 2 to 3) to avoid problem with INFLD displays expanding from 1 to 3 columns.

937.3.2

(Windows/ATE) INFLD no longer requires that the SHIFT and CONTROL keys be released in order to be reactivated.  (In other words, you can now hold down the SHIFT and hit TAB repeatedly to back up through multiple fields, assuming your app supports the corresponding EXITCODE.)

937.2.1

(Windows/ATE) Fix problem with string quoting logic that caused strings which started and ended with quotes but also contained an embedded quote to be truncated at the embedded quote. This was mainly an issue for the GDI //TEXTOUT command, which would have treated something like this:

//TEXTOUT,100,200,"There are 12" in a foot"

as if it were:

//TEXTOUT,100,200,"There are 12"

937.2.2

(Windows/ATE) Various problems with the up/down (spinner) control have been fixed:

It was not starting out with the initial value selected, so you couldn't just type over the value.
If the field allowed exit via up or down arrow, those keys were not able to be used to adjust the value. Now, in this case, the up/down keys are used by the control (same as clicking on the up/down buttons) and to exit the field you have to us SHIFT or CTRL with the arrow keys.
"Magic spinners," which converted buttons to spinners when the mouse was moved over them, have been disabled.
It was not possible to use left/right arrows or the DEL key.

937.2.3

(Windows/ATE) INFLD now treats the shifted left and right arrows like Windows does (i.e. selects text) when TYPE |K is specified. In that case, if the ordinary left/right arrows are used internally by the control, you have to use CTRL with the left/right arrows to exit the field. Note that you can use CTRL in place of SHIFT with the arrow keys to get the exitcode action, regardless of whether |K was specified.

937.2.4

(Windows/ATE) EPRINT now adds one to the width of the control if the width was otherwise going to be only 1 or 2 columns. This should eliminate most of the cases where upper case text is truncated, without causing too much havoc with screen layouts.

937.2.5

(Windows/ATE) Context menus (aka "right click menus" or "popup menus") can now be displayed under direct application control (rather than waiting for the user to right click). To define such a context menu, use the same exact commands as are described below under edit 934 for defining a context menu that will pop up when the user right clicks. The range of legal menu IDs is -1 to -16. Then, to display the menu, use theAUI_MENU call with opcode 4 as follows:

xcall AUI, AUI'MENU, 4, MENUID, "", ROW, COL, "", "", STATUS

The ROW and COL parameters mark the position of the upper left corner of the popup menu, and replace what would otherwise be the MSTATE and MTYPE parameters.

The ROW and COL parameters are interpreted as relative to the current dialog (if there is one) or else to the main window.

The TABDLG program has been modified to display the standard right-click menu when you hit F9 while in the AR tab.

937.0.1

(Windows/ATE) Implement an Up/Down (aka "spinner") control as an INFLD field type. Up/Down controls are like regular numeric edit controls except they have a pair of up/down buttons which can be used as an alternate way of advancing through the choices. The up and down arrow keys can also be used, and act just like clicking on the up/down arrow buttons. Regular keyboard input can also be used.

To create an Up/Down control, use the field TYPE ||U along with a numeric TYPE such as #. By default the increment is 1, and the range extends from 0 to 100, with the down arrow increasing the value of the field. You can change the range by specifying a string in the SETDEF parameter, formatted as follows:

/n1/n2//

or

/n1/n2/n3//

where n1 and n2 are the low and high limits of the range, and n3, if specified, is the increment (the amount of change you get with each arrow/click). Normally, the down arrow increases the value of the field, but if you want to reverse this, reverse the n1 and n2 values in SETDEF so that the high value is first.

If the preloaded value you specify in ENTRY does not fit in the range, it will be changed to the nearest range limit.

Increment values must be positive integers, but the either or both of the range limits may be negative.

Note that the increment value only affect that amount of change when you click on the arrow; it does not prevent numbers that are within the range but not multiples of the increment from being entered. For example, if SETDEF = "/-20/50/10//", the range is from -20 to 50, and the increment is 10. But the user may keyboard in a value such as 13. In that case clicking on the up/down arrows will increment/decrement the field by 10 (i.e. to 3 or 23 in this case).

Up/Down controls revert to the form of a regular edit control when not active.

Note that the Up/Down control is internally separate from the edit control. This is probably of no concern to anyone except that it will show up in a control dump, independent of the associated edit control.

937.0.2

(Windows/ATE) Preliminary support for playing AVI files (sometimes called "animated" controls). Use the standard AUI, AUI_CONTROL subroutine, except for the following:

Set the CTYPE parameter to 0
Set the CLASS parameter to "SysAnimate32"
Set the WINSTYLE parameter to 4 (for auto play) or 0 to just show the first frame.

The SROW and SCOL parameters define the upper left corner, as with other controls. But the EROW and ECOL parameters have no effect; the height and width of the control is determined by the AVI framesize.

For example:

xcall AUI,AUI_CONTROL,CTLOP_ADD,ID,"clock.avi", MBST_ENABLE, 0, "","",STATUS,SROW,SCOL,EROW,ECOL,-2,-2,0,0,"","",0, "SysAnimate32",4

If you specify WINSTYLE=4 (last parameter in example above), then it will start playing automatically.

You can stop and start it using the change opcode and the special CSTATE flags MBST_PLAY (&h4000) and MBST_STOP (&h8000), for example:

xcall AUI,AUI_CONTROL,CTLOP_CHG,ID,"", MBST_STOP

or

xcall AUI,AUI_CONTROL,CTLOP_CHG,ID,"", MBST_PLAY

Note: this is a preliminary implementation and may be subject to change. One concern is that the control does not always display initially unless the auto play option is specified. Another is that there is currently no way to specify a starting or ending point in the sequence of frames. Still another is that there is no way to scale the images.

937.0.3

Fix a bug in INMEMO MMO_OTX operation where it would truncate the output at the end of a line that was completely filled.

937.0.4

(Windows/ATE) The time picker control now bases its format on MAXCHARS rather than XMAX, allowing you to use XMAX to set the physical display width of the field. Note that in this case you may want to use TYPE ||] to defeat the automatic widening of the field to accomodate the extra formatting features of the time picker. (This behavior matches the date picker and other field types as well.)