Mercurial > hg > jslab
diff src/scheme/viewables.scm @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/scheme/viewables.scm Tue Jan 17 17:50:20 2012 +0000 @@ -0,0 +1,34 @@ +;;; 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) +)