diff --git a/beautiful-racket/br/demo/jsonic-2/buttons.rkt b/beautiful-racket/br/demo/jsonic-2/buttons.rkt index 6e8baea..eb10990 100644 --- a/beautiful-racket/br/demo/jsonic-2/buttons.rkt +++ b/beautiful-racket/br/demo/jsonic-2/buttons.rkt @@ -1,18 +1,15 @@ #lang br -(require racket/draw) -(provide make-button) +(require br/drracket) + +(define (button-func drr-window) + (define expr-string "@$ $@") + (define editor (send drr-window get-definitions-text)) + (send editor begin-edit-sequence) + (send editor insert expr-string) + (send editor end-edit-sequence) + (define pos (send editor get-end-position)) + (send editor set-position (- pos (/ (string-length expr-string) 2)))) -(define label "Insert expression") -(define bitmap (make-object bitmap% 16 16)) -(define (callback drr-frame) - (define drr-editor (send drr-frame get-definitions-text)) - (define block-string "@$ $@") - (send drr-editor begin-edit-sequence) - (send drr-editor insert block-string) - (send drr-editor end-edit-sequence) - (define pos (send drr-editor get-end-position)) - (send drr-editor set-position (- pos (/ (string-length block-string) 2)))) -(define number 98) - -(define make-button - (list (list label bitmap callback number))) \ No newline at end of file +(define button-list + (list (make-drracket-button "Insert expression" button-func))) +(provide button-list) diff --git a/beautiful-racket/br/demo/jsonic-2/main.rkt b/beautiful-racket/br/demo/jsonic-2/main.rkt index 910272f..2aacdc1 100644 --- a/beautiful-racket/br/demo/jsonic-2/main.rkt +++ b/beautiful-racket/br/demo/jsonic-2/main.rkt @@ -10,7 +10,7 @@ [(drracket:indentation) (dynamic-require 'br/demo/jsonic-2/indenter 'indent-jsonic)] [(drracket:toolbar-buttons) - (dynamic-require 'br/demo/jsonic-2/buttons 'make-button)] + (dynamic-require 'br/demo/jsonic-2/buttons 'button-list)] [else default])) handle-query))