Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Graphics > Gnuplot interactive function plotter > Re: How to paus...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 4 Topic 3420 of 3637
Post > Topic >>

Re: How to pause until plot window closed?

by merritt@[EMAIL PROTECTED] Jul 22, 2008 at 01:12 PM

In article <vZCdnbkYzP9suBvVnZ2dnUVZ_uqdnZ2d@[EMAIL PROTECTED]
>,
Grant Edwards  <grante@[EMAIL PROTECTED]
> wrote:
>On 2008-07-22, merritt@[EMAIL PROTECTED]
> wrote:
>> In article <ns6dnf9ElM-yYhjVnZ2dnUVZ_jKdnZ2d@[EMAIL PROTECTED]
>,
>> Grant Edwards  <grante@[EMAIL PROTECTED]
> wrote:
>>>I want a shell script to plot a file and then allow the user to
>>>manipulate the plot using the mouse (zoom, unzoom, etc.), and I
>>>can't figure out how to do that.
>>>
>>>  gnuplot <<EOF
>>>  plot "$$tmp.dat" with points
>>>  pause -1
>>>  EOF
>>>
>>>That exits immediately.
>>>
>>>If I replace the -1 with a large number (say, 9999), then the
>>>plot window is unresponsive.   If I do a "pause mouse key", then
>>>the plot window closes when the user tries to un-zoom.
>>
>> Make a separate subroutine file that loops on 'pause mouse key'.
>>
>>   pause mouse key
>>   if (MOUSE_KEY != 27) reread
>>
>> The call it from the main script
>>
>>   print "Hit <esc> to exit"
>>   load "loop_til_escape"
>
>I tried that, and it doesn't work.  It appears to eat all of
>the keypresses, so things like pressing "u" to unzoom don't
>work.  Here's the rather ugly kludge I came up with:

Ah. I misunderstood the requirements. Then you want

.... oops, wait a moment, 
.... sigh, ...there's a bug.

well, after applying the 1 line fix below, you can simply say
  pause mouse button1
leaving normal response to keys and mouse buttons 2 and 3.
That gives you zooming (button 3) and n/p/u hotkeys as usual.
The pause returns only when you click button1.
[tested on x11 and wxt; no guarantee about windows]

--- gnuplot-old/src/mouse.c     2008-07-21 13:10:43.000000000 -0700
+++ gnuplot-new/src/mouse.c     2008-07-22 13:02:29.000000000 -0700
@[EMAIL PROTECTED]
 -1450,7 +1450,7 @[EMAIL PROTECTED]
 event_buttonpress(struct gp_event_t *ge)
                /* not bound in 2d graphs */
            } else if (3 == b &&
                (!replot_disabled || refresh_ok)        /* Use refresh if
available */
-               && !(paused_for_mouse & PAUSE_CLICK)) {
+               && !(paused_for_mouse & PAUSE_BUTTON3)) {
                /* start zoom; but ignore it when
                 *   - replot is disabled, e.g. with inline data, or
                 *   - during 'pause mouse'


-- 
Ethan A Merritt
 




 4 Posts in Topic:
How to pause until plot window closed?
Grant Edwards <grante@  2008-07-22 10:39:27 
Re: How to pause until plot window closed?
merritt@[EMAIL PROTECTED]  2008-07-22 09:44:55 
Re: How to pause until plot window closed?
Grant Edwards <grante@  2008-07-22 13:24:49 
Re: How to pause until plot window closed?
merritt@[EMAIL PROTECTED]  2008-07-22 13:12:45 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Dec 5 6:10:42 CST 2008.