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)
+)