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