You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
beautiful-racket/beautiful-racket/br/demo/jsonic-2/buttons.rkt

17 lines
805 B
Racket

#lang br
(require racket/draw)
(provide make-jsonic-buttons)
(define make-jsonic-buttons
(list (let ([label "Insert expression"]
[bitmap (make-object bitmap% 16 16)]
[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))))]
[number 98])
(list label bitmap callback number))))