annotate src/scheme/viewables.scm @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
samer@0 1 ;;; This is a non-scrolly version
samer@0 2
samer@0 3 (define (expose-all vbls name)
samer@0 4 (define win (Shell.getWindow name))
samer@0 5 (define cnt (.container win))
samer@0 6 (.setLayout cnt (javax.swing.BoxLayout. cnt javax.swing.BoxLayout.Y_AXIS$))
samer@0 7 (for-each (lambda (v) (.add cnt (.getComponent (.getViewer v)))) vbls)
samer@0 8 ;;; window listener?
samer@0 9 ;;; container listener?
samer@0 10 (.addWindowListener win (Shell.closeListener win))
samer@0 11 (.expose win)
samer@0 12 )
samer@0 13
samer@0 14 ;;; Scrolly version a bit more complicated
samer@0 15
samer@0 16 '(define (expose-all-scrolly vbls name)
samer@0 17 (define win (Shell.getWindow name))
samer@0 18 (define box (javax.swing.Box.createVerticalBox))
samer@0 19 (define scr (javax.swing.JScrollPane. box))
samer@0 20 (define (no-scrollbars)
samer@0 21 (define sb=(.getVerticalScrollBar scr))
samer@0 22 (if (eq? sb null)
samer@0 23 #t
samer@0 24 (not (.isVisible sb))))
samer@0 25
samer@0 26 (.setBorder scr null)
samer@0 27 (.add (.container win) scr)
samer@0 28 (for-each (lambda (v) (.add box (.getComponent (.getViewer v)))) vbls)
samer@0 29 ;;; window listener?
samer@0 30 ;;; container listener?
samer@0 31 ;;; packing/scrollbar policy?
samer@0 32 (.addWindowListener win (Shell.closeListener win))
samer@0 33 (.expose win)
samer@0 34 )