Mercurial > hg > jslab
comparison src/scheme/viewables.scm @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bf79fb79ee13 |
---|---|
1 ;;; This is a non-scrolly version | |
2 | |
3 (define (expose-all vbls name) | |
4 (define win (Shell.getWindow name)) | |
5 (define cnt (.container win)) | |
6 (.setLayout cnt (javax.swing.BoxLayout. cnt javax.swing.BoxLayout.Y_AXIS$)) | |
7 (for-each (lambda (v) (.add cnt (.getComponent (.getViewer v)))) vbls) | |
8 ;;; window listener? | |
9 ;;; container listener? | |
10 (.addWindowListener win (Shell.closeListener win)) | |
11 (.expose win) | |
12 ) | |
13 | |
14 ;;; Scrolly version a bit more complicated | |
15 | |
16 '(define (expose-all-scrolly vbls name) | |
17 (define win (Shell.getWindow name)) | |
18 (define box (javax.swing.Box.createVerticalBox)) | |
19 (define scr (javax.swing.JScrollPane. box)) | |
20 (define (no-scrollbars) | |
21 (define sb=(.getVerticalScrollBar scr)) | |
22 (if (eq? sb null) | |
23 #t | |
24 (not (.isVisible sb)))) | |
25 | |
26 (.setBorder scr null) | |
27 (.add (.container win) scr) | |
28 (for-each (lambda (v) (.add box (.getComponent (.getViewer v)))) vbls) | |
29 ;;; window listener? | |
30 ;;; container listener? | |
31 ;;; packing/scrollbar policy? | |
32 (.addWindowListener win (Shell.closeListener win)) | |
33 (.expose win) | |
34 ) |