Robby means something like this:

#lang racket/gui

(define f (new frame% [label "Notes"] [width 400] [height 600]))
(define my-canvas%
  (class canvas%
    (super-new)
    (define/override (on-char . x)
      (displayln x)
      (define dc (send this get-dc))
      (send dc set-scale 1 1)
      (send dc set-text-foreground "blue")
      (send dc draw-text "Use this window for notes" 10 10))))
(define c (new my-canvas% [parent f]))
(define t (new text%))
(send f show #t)
 
(define mb (new menu-bar% [parent f]))
(define m-edit (new menu% [label "Edit"] [parent mb]))
(define m-font (new menu% [label "Font"] [parent mb]))
(append-editor-operation-menu-items m-edit #f)
(append-editor-font-menu-items m-font)



On Sep 20, 2013, at 9:54 PM, Robby Findler wrote:

> A dc<%> object doesn't work like that. If you want to draw something into it, 
> you have to set up a callback and draw during the dynamic extent of the 
> callback. Also, if you do that, you probably want to use a canvas% object, 
> not an editor-canvas%. The editor-canvas% objects already do a lot of work to 
> control what gets drawn in there based on what is in the text% object.
> 
> Robby
> 
> 
> On Fri, Sep 20, 2013 at 8:40 PM, Alan Johnsey <a.john...@cox.net> wrote:
> Thanks. That will do for now, but it remains a mystery to me why my approach 
> doesn’t work.
> 
> -Alan
> 
>  
> 
>  
> 
> From: Matthias Felleisen [mailto:matth...@ccs.neu.edu] 
> Sent: Friday, September 20, 2013 10:17 AM
> To: Alan Johnsey
> Cc: 'Racket Mailing List'
> Subject: Re: [racket] Using GUI editor
> 
>  
> 
>  
> 
> On Sep 20, 2013, at 1:05 PM, Alan Johnsey wrote:
> 
> 
> 
> 
> It looks like I’ve stumbled into another area where I’m lacking a basic 
> understanding of what’s going on.  I’m trying to use the built-in editor in 
> the gui package, but I need to put some initial content into the editor 
> window. When I put the following in the editor pane and run it, I get the gui 
> editor, but not the text. When I then
> 
> simply put the last line into the interactions window and execute it, I get 
> the text in the gui editor window as desired. Why? What do I need to do to 
> programmatically modify the text in the gui window?
> 
> -Alan
> 
>  
> 
> #lang racket/gui
> 
> (define f (new frame% [label "Notes"]
> 
>                       [width 400]
> 
>                       [height 600]))
> 
> (define c (new editor-canvas% [parent f]))
> 
> (define t (new text%))
> 
> (send c set-editor t)
> 
> (send f show #t)
> 
>  
> 
> (define mb (new menu-bar% [parent f]))
> 
> (define m-edit (new menu% [label "Edit"] [parent mb]))
> 
> (define m-font (new menu% [label "Font"] [parent mb]))
> 
> (append-editor-operation-menu-items m-edit #f)
> 
> (append-editor-font-menu-items m-font)
> 
>  
> 
> ; above pretty much straight out of the Design Doc
> 
>  
> 
>  
> 
> Do you want this
> 
>  
> 
>  (send t insert "Use this window for making notes" 10 10)
> 
>  
> 
> instead of the below? 
> 
>  
> 
> 
> 
> 
>  
> 
> (define dc (send c get-dc))
> 
> (send dc set-scale 1 1)
> 
> (send dc set-text-foreground "blue")
> 
> (send dc draw-text "Use this window for making notes" 0 0)
> 
>  
> 
>  
> 
> ____________________
> 
> 
>  Racket Users list:
>  http://lists.racket-lang.org/users
> 
>  
> 
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
> 
> 

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to