ICONPMAX
and ICONPAGE
are nonnegative integer read-write system variables. ICONPAGE
is initialized to zero whenever a program begins, and always contains a value between 0 and ICONPMAX
inclusive. ICONPUSE
is a boolean read-write system variable.
When a negative value is assigned to ICONPMAX
, it takes on the value 0
instead; when any other value is assigned to it, it takes on the value rounded down to the nearest integer.
When a negative value is assigned to ICONPAGE
, it takes on the value 0
; when a number greater than ICONPMAX
is assigned to it, it takes on the value ICONPMAX
; otherwise, it takes on the value rounded down to the nearest integer.
If ICONPUSE
is TRUE
, a small upward-pointing button and a small downward-pointing button appear at the bottom of the touchscreen near the right side (just to the left of where the four 'icons' appear). When the user taps the 'up' button, ICONPAGE
gets decremented (unless decrementing will give it a negative value), and when the user taps the 'down' button, ICONPAGE
gets incremented (unless incrementing will give it a value greater than ICONPMAX
). The up and down buttons have the same auto-repeat as the keyboard (the 'tap' must remain in the button: if the stylus is dragged away, the auto-repeat will stop, and if it is dragged back, the auto-repeat will not resume). Note that the up and down buttons will not disappear with PNLTYPE "OFF"
(and neither will the icons), and if ICONPUSE
is TRUE
and ICONPMAX
is zero, these two buttons are visible, and change their appearances when tapped, but are absolutely useless.
Note also that the subsystem comprised of these three system variables and two buttons is independent from the subsystem for the icons, which uses the ICONSET
and ICONCLR
commands. The four icons displayed on the right are not automatically updated whenever ICONPAGE
changes its value. To implement 'pages' of icons, the value of ICONPAGE
must be checked regularly, and the four icon spaces updated accordingly with ICONSET
and ICONCLR
. And it is not possible to do this while the system is waiting for user input while executing an INPUT
or LINPUT
command; ICONPAGE
will continue to get updated as the user taps the up and down buttons, but it is impossible for the program to update the icons until the user finishes typing and the INPUT
/LINPUT
command is ended.