diff options
author | Hugo <hugo.hornquist@gmail.com> | 2016-05-09 15:52:13 +0200 |
---|---|---|
committer | Hugo <hugo.hornquist@gmail.com> | 2016-05-09 16:10:36 +0200 |
commit | 9c3637a69c186fb23fce6b253c866ddfe3a70d1e (patch) | |
tree | 53294e2c6a99d512fed053711730468056567f48 /gui.rkt | |
parent | parser now handles numbers with more than one digit, inculding decimals and o... (diff) | |
download | math-parse-9c3637a69c186fb23fce6b253c866ddfe3a70d1e.tar.gz math-parse-9c3637a69c186fb23fce6b253c866ddfe3a70d1e.tar.xz |
removed everything but the parser, move project from racket to guile
Diffstat (limited to 'gui.rkt')
-rw-r--r-- | gui.rkt | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/gui.rkt b/gui.rkt deleted file mode 100644 index 98b4f77..0000000 --- a/gui.rkt +++ /dev/null @@ -1,83 +0,0 @@ -#lang racket/gui - -(provide show-window) - -(require racket/format) -(require racket/class) -(require (planet williams/table-panel:1:2/table-panel)) -;(require table-panel) - -(require "../useful/enumerate-interval.rkt") -(require "simple-eval.rkt") -(require "simple-parse.rkt") -(require "full-eval.rkt") -(require "full-parse.rkt") - -(define (show-window) - (define frame (new frame% [label "Calculator"])) - - (define msg (new message% - [parent frame] - [label ""])) - - (define root-panel (new vertical-panel% - [parent frame] - [alignment '(left top)])) - - (define top-op-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (define center-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (define number-panel (new table-panel% - [parent center-panel] - [alignment '(left top)])) - - (define left-op-panel (new vertical-panel% - [parent center-panel] - [alignment '(left top)])) - - (define bottom-op-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (send number-panel set-dimensions 3 3) - - - (define (setup-num-btn lbl par) - (new button% - [parent par] - [label (~a lbl)] - [callback - (lambda (button event) - (send msg - set-label - (string-append - (send msg get-label) - (send button get-label))))])) - - (map (lambda (x) (setup-num-btn x top-op-panel)) '("(" ")" "/")) - - (map - (lambda (x) (setup-num-btn x number-panel)) - (enumerate-interval 1 9)) - (map - (lambda (x) (setup-num-btn x left-op-panel)) - '(* - +)) - (map - (lambda (x) (setup-num-btn x bottom-op-panel)) - '(0 "." ^ )) - - - (new button% - [parent bottom-op-panel] - [label "="] - [callback - (lambda (button event) - (send msg set-label (~a - (full-eval (full-parse (send msg get-label))))))]) - - (send frame show #t)) |