+
+;; another test layout
+(set-extent-begin-glyph
+ (make-extent (point) (point))
+ (setq layout-2
+ (make-glyph `[layout :descriptor "The Layout"
+ :orientation vertical
+ :items ([progress-gauge :value 0 :width 10 :height 2
+ :descriptor "ok"])])))
+
+(set-glyph-image layout-2 `[layout :descriptor "The Layout"
+ :orientation vertical
+ :items ([progress-gauge :value 4 :width 10 :height 2
+ :descriptor "ok"])])
+(setq test-toggle-widget nil)
+
+(defun test-toggle (widget)
+ (set-extent-begin-glyph
+ (make-extent (point) (point))
+ (make-glyph (vector 'button
+ :descriptor "ok"
+ :style 'toggle
+ :selected `(funcall test-toggle-value
+ ,widget)
+ :callback `(funcall test-toggle-action
+ ,widget)))))
+
+(defun test-toggle-action (widget &optional event)
+ (if widget
+ (message "Widget is t")
+ (message "Widget is nil")))
+
+(defun test-toggle-value (widget)
+ (setq widget (not widget))
+ (not widget))