Please enable JavaScript to view this site.

A-Shell Development History

903.5.1

XPUTARG was insisting on a trailing null byte for string arguments, which led to premature truncation of the returned string if there was not room in the string variable for the trailing null.

903.5.2

(Windows/ATE) Static text controls may now override the theme foreground color by adding 64 to the desired color. For example, if you set the FGC parameter to 3, without themes you will get magenta text. With themes, you will get whatever the theme text color is (probably black). However, if you set it to 3+64, then you will get magenta (or whatever color #3 is set to), whether themes are active or not. It appears that this may be the only control type that can safely override the theme color.

Note that we recommend using this feature sparingly - such as only when you really need to emphasize a particular text message.

903.5.3

Enforce the 30 parameter limit on XCALLs. Previously, there was no complaint, but bad things would happen. A new message has been added to SBRMSG.xxx ("too many parameters") to explicitly report the problem.

903.5.4

(Windows/ATE) TAB(-10,34);STSLIN;",";ENABLED;chr(127); may be used to disable or re-enable either the top or bottom status lines. Set STSLIN to 1 for the top, or 2 for the bottom, and set ENABLED to 0 to disable and 1 to enable. Disabling a status line provides useable space within the window and may have a cleaner look, especially if the status lines are not being used.

903.4.1

(Windows/ATE) XCALL MIAMEX,129 now returns a flag (64, or AGF'THEMES) indicating that XP themes are active. (Works both for local Windows and for ATE.) ASHELL.BSI [97] updated to add the AGF'THEMES definition.

903.3.1

Minor improvement to TRACE=LOCKS display when a lock occurs during opening of an ISAM file. Previously this displayed as CH #-1, FILE=? because the ISAM file information had not yet be set up in the file table (pending the completion of both parts of the open). Now it displays the file information as expected.

903.3.2

(Windows/ATE) Under XP, when the "Disable Visual Themes" option is checked in the shortcut properties, A-Shell will now revert to the original color logic (same as for non-XP machines).

903.3.3

A new INFLD TYPE code, "|_" (vertical bar, underline) forces the field markers to be shown as underlines, except when INFLD is being implemented as a Windows edit control. Otherwise, when INFLD is not in GUI mode, but the current TDV is graphics-enabled (e.g. PCTDVG), then it marks the field by sinking it, rather than by using underlines.

903.3.4

(Windows/ATE) Another new INFLD TYPE code, "||H", disables horizontal scrolling in edit and comboboxes.

903.3.5

(Windows/ATE) A new option in the Misc. Settings dialog forces edit box height to match the combo box height. This resolves a discrepancy in that edit boxes scale with the window, but combo box height is set by Windows. This option overrides the "Allow edit boxes to use leading" option.

903.3.5

(Windows/ATE) When MIAMEX,MX'BTNIDL is used to allow the focus to be moved around a group of buttons, the button with the focus is now emphasized in a theme-relevant manner.

903.2.1

Fix a bug in which the initial conversion of your current directory to the corresponding AMOS directory, if any, did not work for P,PN values greater than 255.

903.2.2

(Windows/ATE/XTREE) When appending to an XTREE list, the default selected item (if not specifed by the ANSWER parameter) is now the first one added.

Also, the first selected item now gets the focus as well, so that when you arrow up or down, it moves the selected item as expected. (Previously, the focus could have been on another item, which caused the selection bar to jump inexplicably upon hitting the first up or down arrow.)

The column width optimization logic has been changed to only look at the visible rows. This may shave off several jiffies in the time it takes to load a large number of rows.

903.1.1

(Windows/ATE) Implement workaround for problem of focus rectangle not always displaying on buttons (inside of MIAMEX,MX'BTNIDLE) when TABs and/or themes active. (It now displays a manually drawn focus rectangle.) It doesn't quite match the theme but it is better than nothing.

903.1.2

(Windows/ATE) Fix various problems with date and time picker controls.

903.1.3

New INFLD TYPE code "||t" is the same as "t" (time) but returns time in 12-hour format instead of 24-hour format. Also, you can now set XMAX to 8 (with TYPE ||t) or 5 (with TYPE t) to get the time string returned in HH:MM or HH:MM A/PM format (without seconds).

903.1.4

MIAMEX, MX'BTNIDLE now skips over disabled and hidden buttons.

903.0.1

(Windows/ATE) XCALL MIAMEX,MX'BTNIDLE (135) enhanced to return ID of last button which had the focus, and also to provide the option of exiting automatically when moving the focus beyond the range of the button group. The updated specifications are now

xcall MIAMEX,MX'BTNIDLE,PARENTID,CTLID,EXITCODE{,OP}

"MX_BTNIDLE" was later changed to AUI, Eventwait. See that topic in the A-Shell XCALL Reference for up-to-date information.

The routine positions the focus on the button specified by CTLID, or the first button in the dialog or group or window specified by PARENTID. The user can use the normal navigation keys (left and right arrows, TAB) to move the focus from one button to the next in the group. This continues until the user triggers an event that returns an EXITCODE. See EXITCODE below for details about exit codes.

PARENTID should be set to the control ID of the parent (dialog or groupbox) which owns the buttons you want to wait for. Set to zero if the buttons are part of the main window. Note that the "normal" way to use this routine is with a group of buttons joined by a groupbox control. (The groupbox itself can be made invisible so that it does not require any extra screen space.)

CTLID should be set to the control ID of the button you want to initially receive the focus. If set to 0, the first button within the group identified by the PARENTID will be given the focus. On exit, it will be set to the ID of the last button to have the focus.

EXITCODE (F,6) will return an INFLD-standard exitcode indicating how the routine was exited. Typically this would be the exitcode resulting from a mouse-click of a clicked object (whether one of the buttons in the group or some other clickable object.) Standard EXITCODE values set by the routine itself are:

99) Internal error (button not found, etc.)

3) User tried to move backwards (up or left) out of the group (requires OP 4)

5) User tried to move forwards (down or right) out of the group (requires OP 4)

 

OP may optionally contain the sum of zero or more of the following flags:

1 = Set the focus on the button FOLLOWING the specified CTLID

2 = Set the focus and return (don't wait for an exit code event).

4 = Exit with EXITCODE 3 or 5 if user tries to move out focus out of the group of buttons.

 

903.0.2

(Windows/ATE) New INFLD TYPE code |J right justifies the text in a checkbox within the area allotted to the text. By combining |J with TYPE R, you can achieve all 4 alignment possibilities:

TYPE "||c"      [Label      ] [X]

TYPE "||c|J"    [      Label] [X]

TYPE "||cR"     [X] [Label      ]

TYPE "||cR|J"   [X] [      Label]

 

Note that |J is the same as setting SBR=INFLDCBRJ but has the advantage of being easy to change from one field to the next.

903.0.3

(Windows/ATE) A new option has been added to the Misc. Settings dialog to control whether edit boxes will have their height extended downwards into the leading area. Previously this was the default unless themes were active, but now you can control it explicitly. To get the best Windows-like effect, you should probably turn the option off and set the Font Scaling option in the same dialog to 0 (to get the standard Windows GUI font.) Then, just increase the size of the window until the relationship between the edit font and the edit boxes is pleasing. If you prefer to use a scaled font, then you may need to turn on the edit-leading option to avoid having the bottoms of characters in edit boxes clipped off.

903.0.4

(Windows/ATE) A bug in which a button whose upper left corner coincided with the upper left corner of the group to which the button belonged caused the groupbox to be deleted has been fixed.