#lang racket
(require "button-with-alternatives.rkt"
racket/gui/base)
(define (whalesong-tool-ui parent-widget
#:label (label "Run Whalesong")
#:on-browser (on-browser
(lambda ()
(void)))
#:on-build-package (on-build-package
(lambda ()
(void))))
(define container (new horizontal-pane%
[parent parent-widget]))
(define b
(new button%
[label label]
[callback (lambda (b ce)
(define selection
(send alternatives get-selection))
(cond
[(string=? selection "Run in browser")
(on-browser)]
[(string=? selection "Build smartphone package")
(on-build-package)]
[else
(void)]))]
[parent container]))
(define alternatives
(new button-with-alternatives%
[parent container]
[choices-thunk (lambda () (list "Run in browser"
"Build smartphone package"))]))
(define ch (new choice%
[label ""]
[choices (list "Run in browser"
"Build smartphone package")]
[style '(horizontal-label)]
[parent container]))
container)
(define (test)
(define f (new frame% [label "test frame"]))
(whalesong-tool-ui f
#:on-browser
(lambda ()
(printf "on-browser\n"))
#:on-build-package
(lambda ()
(printf "on-build-package\n")))
(send f show #t))