Ignore:
Timestamp:
03/30/12 19:58:59 (12 years ago)
Author:
Kana Sugimoto
Message:

New Development: No

JIRA Issue: Yes (CAS-3749)

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs: unit tests of sdplot

Put in Release Notes: No

Module(s): sdplot, sdfit, sdstat, sdflag, sdcal, sdreduce

Description:

Made asapplotter not to generate plotter window at start-up, but the window is
only generated at the first invokation of plotting operation.


File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/asaplotgui.py

    r2416 r2451  
    1111matplotlib.rcParams['toolbar'] = 'toolbar2'
    1212from matplotlib import _pylab_helpers
     13from asap.logging import asaplog, asaplog_post_dec
    1314
    1415class asaplotgui(asaplotbase):
     
    2829
    2930        asaplotbase.__init__(self, **v)
     31        #matplotlib.rcParams["interactive"] = True
     32
     33        _pylab_helpers.Gcf.destroy(0)
    3034        self.window = Tk.Tk()
    31         #def dest_callback():
    32         #    print "dest_callback"
    33         #    self.is_dead = True
    34         #    self.window.destroy()
    35 
    3635        self.window.protocol("WM_DELETE_WINDOW", self.quit)
    3736        self.canvas = FigureCanvasTkAgg(self.figure, master=self.window)
     
    4342        _pylab_helpers.Gcf.figs[self.figmgr.num] = self.figmgr
    4443        self._set_window_title('ASAP Plotter - Tk')
     44        self.canvas.show()
    4545
    46         self.events = {'button_press':None,
    47                        'button_release':None,
    48                        'motion_notify':None}
    49 
    50         matplotlib.rcParams["interactive"] = True
    51         #self.buffering = buffering
    52 
    53         self.canvas.show()
    5446
    5547    def map(self):
     
    5850        window stack.
    5951        """
     52        if self.is_dead:
     53            raise RuntimeError( "No plotter to show. Not yet plotted or plotter is closed." )
    6054        self.window.wm_deiconify()
    6155        self.window.lift()
     
    6660        """
    6761        self.is_dead = True
     62        if not self.figmgr:
     63            return
    6864        #self.window.destroy()
    6965        _pylab_helpers.Gcf.destroy(self.figmgr.num)
    70         del self.window, self.canvas
     66        del self.window, self.canvas, self.figmgr
    7167        self.window = None
    7268        self.canvas = None
    73        
     69        self.figmgr = None
    7470
    7571    def show(self, hardrefresh=True):
     
    7773        Show graphics dependent on the current buffering state.
    7874        """
     75        if self.is_dead:
     76            raise RuntimeError( "No plotter to show (not yet plotted or closed)." )
    7977        if not self.buffering:
    8078            if hardrefresh:
     
    8785        Clear the figure.
    8886        """
     87        if not self.window:
     88            asaplog.push( "No plotter window to terminate." )
     89            asaplog.post( "WARN" )
     90            return
    8991        self.window.destroy()
    9092
     
    9395        Hide the ASAPlot graphics window.
    9496        """
     97        if not self.window:
     98            asaplog.push( "No plotter window to unmap." )
     99            asaplog.post( "WARN" )
     100            return
    95101        self.window.wm_withdraw()
    96102
Note: See TracChangeset for help on using the changeset viewer.