Hi Alex,

Sorry for the late response.

I can confirm the behavior you observed. I don't see anything wrong with
your code at first glance, so I'm not sure what the problem is.

Neil: Any ideas?

Vincent



On Sun, 04 Oct 2015 20:36:35 -0500,
Alex Harsanyi wrote:
> 
> Hi,
> 
> I posted this question a while ago but I didn't receive any response. I
> just retested the code with the current snapshot (6.2.900.17) and it has
> the same behavior (bug?). 
> 
> Could someone please test this code on their machine and at least
> confirm whether it works correctly or not for them?
> 
> If there's a bug in the code below, could you point out what it is? As I
> mentioned, the code works fine in 6.1.1 and I cannot find anything that
> has changed in this area in version 6.2.
> 
> Note that in recent Racket snapshots snip-canvas% has moved, so, in the
> code below, the "(require unstable/gui/snip)" should be replaced with "
> (require mrlib/snip-canvas)".
> 
> Thanks,
> Alex.
> 
> On Friday, July 24, 2015 at 3:57:13 PM UTC+8, Alex Harsanyi wrote:
> 
>     
>     Hi,
>     
>     I'm using the plot-snip function to have interactive plots inside
>     other GUI elements in my application. This worked fine under Racket
>     6.1.1 but fails under Racket 6.2 (bot versions are 64 bit on
>     Windows). The program below illustrates the problem: the function
>     `working` creates a plot window using plot-frame. The plot is
>     resized correctly and the interactive zoom works as expected. The
>     function `not-working` tries to do the same, but creates the plot
>     using plot-snip than adds it to a snip canvas. It does essentially
>     what plot-frame does, without the error checking (I copied out the
>     functions from he plot package). With this version, the plot is not
>     resized correctly inside the window and zoom in and out does not
>     work correctly. Both functions work as expected under Racket version
>     6.1.1.
>     
>     The program makes use of snip-canvas% which is in unstable/gui, but
>     as far as I can tell, it has not changed between the two versions.
>     
>     Does anyone know what needs to be done to get this to work, or is
>     this a bug in the plot package?
>     
>     Thanks,
>     Alex.
>     
>     #lang racket/gui
>     (require plot)
>     (require unstable/gui/snip)
>     
>     ;; snip-frame% and make-snip-frame are copied from 
>     ;; C:\Program
>     Files\Racket\share\pkgs\plot-gui-lib\plot\private\gui\gui.rkt
>     
>     (define snip-frame%
>     (class frame%
>     (define/override (on-traverse-char event)
>     (define key-code (send event get-key-code))
>     (case key-code
>     [(escape) (send this show #f)]
>     [else (super on-traverse-char event)]))
>     
>     (super-new)))
>     
>     (define (make-snip-frame snip width height label)
>     (define (make-snip w h) snip)
>     
>     (define frame
>     (new snip-frame% [label label] [width (+ 20 width)] [height (+ 20
>     height)]))
>     
>     (new snip-canvas%
>     [parent frame]
>     [make-snip make-snip]
>     [horiz-margin 5] [vert-margin 5]
>     [horizontal-inset 5] [vertical-inset 5])
>     
>     frame)
>     
>     ;; This works as expected when resizing the window and zooming the
>     graph
>     (define (working)
>     (parameterize ([plot-width 150]
>     [plot-height 150]
>     [plot-x-label #f]
>     [plot-y-label #f])
>     (send (plot-frame (function sqr -2 2)) show #t)))
>     
>     ;; This does not
>     (define (not-working)
>     (parameterize ([plot-width 150]
>     [plot-height 150]
>     [plot-x-label #f]
>     [plot-y-label #f])
>     ;; this is essentially what plot-frame does sans error checking
>     (send (make-snip-frame (plot-snip (function sqr -2 2)) 200 200
>     "hello") show #t)))
>     
>     
> -- 
> You received this message because you are subscribed to the Google
> Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-dev/c2517296-2a7a-4e49-b617-21cfac413710%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/m21td9vz77.wl-stamourv%40eecs.northwestern.edu.
For more options, visit https://groups.google.com/d/optout.

Reply via email to