| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |
Arguments: picture-button-or-multi-picture-button
Returns whether a picture-button
will automatically unpress itself
just after the user has pressed it interactively, or whether a multi-picture-button
will
automatically unpress any of its buttons just after that button is
pressed interactively. The default value is nil
, which means that a pressed button will stay
pressed until the user unpresses it explicitly (or presses another
button within a multi-picture-button when its
multiple-selections property is
nil
). The setf of this function may be called to
set the value of this property, or it may be specified when creating
the widget by passing the unpress-automatically
initarg to make-instance.
If the value of this property is true, then when the user presses a button interactively, the button will be unpressed automatically just after the widget's on-change function (if any) has run. The unpressing of the button is therefore a visual indication of when the button has completed its action. The button is unpressed internally by calling initialize-value, and so the on-change function will not be called again as a result of the unpressing.
This property affects only interactive button-pressing, and does not
affect pressing buttons programmatically by calling (setf value). A
button may be pressed interactively either by clicking it or by
pressing the spacebar when the button has the keyboard focus (for a
multi-picture-button
, the
latter requires the draw-focus property to be true).
Setting this property to true is essentially equivalent to returning
(not new-value)
from the on-change function, which would
return nil
to reject the new value when a
button is pressed down, but return true when all buttons are
unpressed. We had suggested that return value in earlier releases,
but that technique was rather obscure.
For a multi-picture-button
,
setting this property to true when the multiple-selections property is
also true is probably not useful, since there would be no way for the
user to press multiple buttons down interactively (though that would
still be possible by calling (setf value).)
;; In the following example, my-multi-picture-button ;; is assumed to be the widget object (rather than, ;; say, the widget name). To test this, you could ;; use the Tools | Get Component command, then click on a ;; multi-picture-button to return it, and then evaluate: ;; (setf my-multi-picture-button *) (setf (unpress-automatically my-multi-picture-button) t)
Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |