diff options
author | Darren Bane <darren.bane@gmail.com> | 2021-01-17 00:54:23 +0000 |
---|---|---|
committer | Darren Bane <darren.bane@gmail.com> | 2021-01-17 00:54:23 +0000 |
commit | ec33fa3c80f852d60d7e2fcd046cc49c08fad803 (patch) | |
tree | 46d4952b98745fc2da89765ce1f228040cb6c526 /cconv.lisp | |
parent | 6222836c3b031ce6cf4bc98c3bbf7ff896d23786 (diff) | |
download | lsp-ec33fa3c80f852d60d7e2fcd046cc49c08fad803.tar.gz |
Making changes
Diffstat (limited to 'cconv.lisp')
-rw-r--r-- | cconv.lisp | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/cconv.lisp b/cconv.lisp index 1d4f949..b0e4479 100644 --- a/cconv.lisp +++ b/cconv.lisp @@ -1,11 +1,41 @@ +(ql:quickload "ltk") (defpackage :cconv (:use :common-lisp :ltk) (:export #:main)) (in-package :cconv) -(defun main () +;; (defun main () +;; (setf *debug-tk* nil) +;; (with-ltk () +;; (wm-title *tk* "Feet to Meters") +;; (let ((mainframe (make-instance 'frame))) +;; (configure mainframe :padding "3 3 12 12") +;; ()))) + +(defun calculate (feet-widget meter-widget) + (setf (text meter-widget) (format nil "~,2F" (* (read-from-string (text feet-widget)) 0.3048d0)))) + +(defun gui () (setf *debug-tk* nil) (with-ltk () - (wm-title "." "Feet to Meters") - ())) + (wm-title *tk* "Feet to Meters") + (let ((c (make-instance 'frame))) + (grid c 0 0 :sticky "ne") + (grid-columnconfigure *tk* 0 :weight 1) + (grid-rowconfigure *tk* 0 :weight 1) + (let* ((c.feet (grid (make-instance 'entry :width 7) + 1 2 :sticky "we" :padx 5 :pady 5)) + (c.meters (grid (make-instance 'entry :state "readonly") + 2 2 :sticky "we" :padx 5 :pady 5))) + (grid (make-instance 'button + :text "Calculate" + :command (lambda () (calculate c.feet c.meters))) + 3 3 :sticky "w" :padx 5 :pady 5) + (grid (make-instance 'label :text "feet") + 1 3 :sticky "w" :padx 5 :pady 5) + (grid (make-instance 'label :text "is equivalent to") + 2 1 :sticky "w" :padx 5 :pady 5) + (grid (make-instance 'label :text "meters") + 2 3 :sticky "w" :padx 5 :pady 5))))) +(provide "cconv") |