View | Details | Raw Unified
Collapse All | Expand All

(-) _Gnuplot.py.orig (-2 / +38 lines)
 Lines 18-23    Link Here 
import gp, PlotItems, termdefs
import gp, PlotItems, termdefs
def test_mouse():
    """Return whether mouse support is present or not.
    The detection is done by calling gnuplot with a file containing only the
    "set mouse" command.  If gnuplot does have mouse support, it should simply
    execute the file silently, producing no output."""
    import os,tempfile,commands
    
    tmpname = tempfile.mktemp()
    tfile = open(tmpname,"w")
    tfile.write("set mouse")
    tfile.close()
    msg = commands.getoutput(gp.GnuplotOpts.gnuplot_command + " " +
                             tmpname)
    os.unlink(tmpname)
    if msg:  # Gnuplot won"t print anything if it has mouse support
        has_mouse = 0
    else:
        has_mouse = 1
    return has_mouse
class _GnuplotFile:
class _GnuplotFile:
    """A file to which gnuplot commands can be written.
    """A file to which gnuplot commands can be written.
 Lines 152-158    Link Here 
        'output' : 'string',
        'output' : 'string',
        }
        }
    def __init__(self, filename=None, persist=None, debug=0):
    def __init__(self, filename=None, persist=None, debug=0, mouse=None):
        """Create a Gnuplot object.
        """Create a Gnuplot object.
        Create a 'Gnuplot' object.  By default, this starts a gnuplot
        Create a 'Gnuplot' object.  By default, this starts a gnuplot
 Lines 172-179    Link Here 
          'debug=1' -- echo the gnuplot commands to stderr as well as
          'debug=1' -- echo the gnuplot commands to stderr as well as
              sending them to gnuplot.
              sending them to gnuplot.
          "mouse=1" -- activate mouse support (officially available as of
          gnuplot 4.0 under certain platforms).
        """
        """
        # The mouse check must be done first, so we can decide whether to use
        # inline data and fifos or not (they break mouse support)
        if mouse is None:
            mouse = test_mouse()
        if mouse:
            gp.GnuplotOpts.prefer_inline_data = 0
            gp.GnuplotOpts.prefer_fifo_data = 0
            
        if filename is None:
        if filename is None:
            self.gnuplot = gp.GnuplotProcess(persist=persist)
            self.gnuplot = gp.GnuplotProcess(persist=persist)
        else:
        else:
 Lines 182-191    Link Here 
                    'Gnuplot with output to file does not allow '
                    'Gnuplot with output to file does not allow '
                    'persist option.')
                    'persist option.')
            self.gnuplot = _GnuplotFile(filename)
            self.gnuplot = _GnuplotFile(filename)
	    
        self._clear_queue()
        self._clear_queue()
        self.debug = debug
        self.debug = debug
        self.plotcmd = 'plot'
        self.plotcmd = 'plot'
        self('set terminal %s' % (gp.GnuplotOpts.default_term,))
	# The "set mouse" command MUST be the VERY FIRST command passed to gnuplot
	if mouse:
            self("set mouse")
	self("set terminal %s" % gp.GnuplotOpts.default_term)
    def __call__(self, s):
    def __call__(self, s):
        """Send a command string to gnuplot.
        """Send a command string to gnuplot.