12.4 Examples of Menus and Dialogs in CLIM

12.4.2 Using accept-values-command-button

Here is the reset-clock example with the addition of a command button that will set the number of seconds to zero.

(defun reset-clock (stream) 
  (multiple-value-bind (second minute hour day month) 
      (decode-universal-time (get-universal-time))
    (declare (ignore second)) 
    (format stream "Enter the time~%") 
        (setq month 
              (clim:accept 'integer :stream stream 
                           :default month :prompt "Month")) 
        (terpri stream) 
        (setq day 
              (clim:accept 'integer :stream stream 
                           :default day :prompt "Day"))
        (terpri stream) 
        (setq hour 
              (clim:accept 'integer :stream stream 
                           :default hour :prompt "Hour")) 
        (terpri stream) 
        (setq minute 
              (clim:accept 'integer :stream stream 
                           :default minute :prompt "Minute")))
        (terpri stream)
          ;; Print the current time to the terminal.
           (stream) "Print-Clock"
           (format t
                   "~%Current values: Month: ~D, Day: ~D, Time: ~D:~2,'0D."
                   month day hour minute))))
    (abort () (format t "~&Time not set")))))

CLIM 2.0 User's Guide - OCT 1998

Generated with Harlequin WebMaker