Hi Vincent,

This is still a problem in Racket 6.3.  I tried to debug the problem but I 
was unsuccessful.  Tried to use a pasteboard% instead, but the plot-snip% 
did not work correctly with that either.  Do you have any advice on where 
to start looking?

What I'm trying to do is embed plot-snip% objects inside a GUI.  Is there a 
way to do that?  I could only find plot-frame which always creates a new 
frame.

For reference, this is that application that is affected: 
https://github.com/alex-hhh/ActivityLog2.  The last Racket version that 
works with this is 6.1.1

Best Regards,
Alex.

On Tuesday, October 6, 2015 at 4:26:54 AM UTC+8, Vincent St-Amour wrote:
>
> 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] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > 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/7701193d-5c34-4980-9fa1-bc1c6670e2be%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to