Page 320 | Table of Contents | Index | Page 322 |
Chapters | |||
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30 A, B, C, D, E |
;; Create the start and stop push buttons (make-pane 'push-button :label "Start" :client frame :id 'start) (make-pane 'push-button :label "Stop" :client frame :id 'stop)Another way to distinguish between gadgets is to explicitly specify what function should be
;; No callback methods needed, just create the push buttons (make-pane 'push-button :label "Start" :client frame :id 'start :activate-callback #'(lambda (gadget) (start-test (gadget-client gadget)))) (make-pane 'push-button :label "Stop" :client frame :id 'stop :activate-callback #'(lambda (gadget) (stop-test (gadget-client gadget))))
;; A PUSH-BUTTON uses the ACTIVATE-CALLBACK, and has a label. ;; This is the abstract class (defclass push-button (action-gadget labelled-gadget) ()) ;; Here is a concrete implementation of a PUSH-BUTTON. ;; The "null" frame manager create a pane of type PUSH-BUTTON-PANE when ;; asked to create a PUSH-BUTTON. (defclass push-button-pane (push-button leaf-pane space-requirement-mixin) ((show-as-default :initarg :show-as-default :accessor push-button-show-as-default) (armed :initform nil))) ;; General highlight-by-inverting method
Page 320 | Table of Contents | Index | Page 322 |
Chapters | |||
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30 A, B, C, D, E |