Mercurial > hg > jslab
view src/scheme/viewables.scm @ 1:5df24c91468d
Oh my what a mess.
author | samer |
---|---|
date | Fri, 05 Apr 2019 16:26:00 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
;;; This is a non-scrolly version (define (expose-all vbls name) (define win (Shell.getWindow name)) (define cnt (.container win)) (.setLayout cnt (javax.swing.BoxLayout. cnt javax.swing.BoxLayout.Y_AXIS$)) (for-each (lambda (v) (.add cnt (.getComponent (.getViewer v)))) vbls) ;;; window listener? ;;; container listener? (.addWindowListener win (Shell.closeListener win)) (.expose win) ) ;;; Scrolly version a bit more complicated '(define (expose-all-scrolly vbls name) (define win (Shell.getWindow name)) (define box (javax.swing.Box.createVerticalBox)) (define scr (javax.swing.JScrollPane. box)) (define (no-scrollbars) (define sb=(.getVerticalScrollBar scr)) (if (eq? sb null) #t (not (.isVisible sb)))) (.setBorder scr null) (.add (.container win) scr) (for-each (lambda (v) (.add box (.getComponent (.getViewer v)))) vbls) ;;; window listener? ;;; container listener? ;;; packing/scrollbar policy? (.addWindowListener win (Shell.closeListener win)) (.expose win) )