;;; test f->c app
;;; Derived from the gauche-objc bridge test application.

(use objc cocoa)   ;; and compile with -X objc

(ns:beep)
(print "Starting F->C application...")

(define (f2c f)
  (/ (- f 32.0) 1.8))

(define (c2f c)
  (+ (* 1.8 c) 32))

(define-objc-class Controller NSObject ((outlet: far)
                                        (outlet: cel))
  (- VOID awake-from-nib
     (let ((far @far)
           (cel @cel))
       (@ far set-title: "Far")
       (@ cel set-title: "Cel")
       (@ cel set-float-value: 0.0)
       (@ far set-float-value: (c2f 0.0))))
  
  (- VOID ((convert-to-cel: ID sender))
     (print "convertToCel: called; sender " sender)
     
     (@ @cel set-double-value:
             (f2c [@ @far double-value])))
  
  (- VOID ((convert-to-far: ID sender))
     (print "convertToFar: called; sender " sender)
     
     (@ @far set-double-value:
             (c2f (@ @cel double-value)))))

(ns:application-main)
