Re: [Q]: Choicebox composite widget ??

From: Erick Gallesio <>
Date: Fri, 14 Oct 1994 11:29:40 +0000

Hereafter is a little fine demo of composite widget which was provided by . It will be in the Example directory of next

;; a quick demo of the composite widgets
(require "Filebox")
(require "Toplevel")
(require "Choicebox")
(require "Defbutton")
(require "Paned")
(require "Scrollbox")

;; a quick demo of the composite widgets
(require "Filebox")
(require "Toplevel")
(require "Choicebox")
(require "Defbutton")
(require "Paned")
(require "Scrollbox")

(define main-frame (make <Frame>))
(define title (make <Label> :parent main-frame :text "Composite Widgets Demo"))
(define button-box (make <Frame> :parent main-frame :geometry "200x100"))
(define quit (make <Button> :parent main-frame
                   :text " quit "
                   :command '(destroy *root*)))

(define composite-widgets '(Choicebox
(for-each (lambda (x)
            (let ((cmd (string-append "(demo-" (symbol->string x) ")")))
              (pack (make <Button> :parent button-box
                          :text (symbol->string x)
                          :command cmd)
                    :fill "x" :padx 5 )))

(pack title :fill "x" :padx 10 :pady 10 )
(pack button-box :fill "x" :padx 10 :pady 10)
(pack quit :padx 10 :pady 10 )
(pack main-frame)

(define (demo-choicebox)
  (let* ((tl (make <Toplevel>))
         (cb (make <Choice-box> :value "none for the moment" :parent tl)))
    ;; add some entries
    (for-each (lambda (x) (add-choice cb (symbol->string x)))
    (pack cb)))
(define (demo-defbutton)
  (let* ((tl (make <Toplevel>))
         (db (make <Default-button> :text "button" :parent tl)))
    (pack db)))
(define (demo-filebox)
(define (demo-lentry)
  (let* ((tl (make <Toplevel>))
         (le (make <Labeled-entry> :title "title" :parent tl)))
    (pack le)))
(define (demo-paned)
  (let* ((tl (make <Toplevel> ))
         (hp (make <HPaned> :fraction 0.3 :geometry "300x300" :parent tl))
         (f1 (make <Label> :text "top pane" :parent (top-frame-of hp)))
         (f2 (make <Label> :text "bottom-pane" :parent (bottom-frame-of hp)))
         (vp (make <VPaned> :fraction 0.3 :geometry "300x300" :parent tl))
         (f3 (make <Label> :text "left pane" :parent (left-frame-of vp)))
         (f4 (make <Label> :text "right-pane" :parent (right-frame-of vp))))
    (pack f1 :expand #t)
    (pack f2 :expand #t)
    (pack f3 :expand #t)
    (pack f4 :expand #t)
    (pack hp)
    (pack vp)))

(define (demo-scrollbox)
  (let* ((tl (make <Toplevel>))
         (sb (make <Scroll-listbox> :parent tl)))
    ;; add some entries into the listbox
    (for-each (lambda (x)
                (insert (listbox-of sb) 0 x))
              (append composite-widgets composite-widgets))
    (pack sb)))

                -- Erick
Received on Fri Oct 14 1994 - 11:29:40 CET

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST