Index: src/sas/guiframe/data_processor.py
===================================================================
--- src/sas/guiframe/data_processor.py	(revision 44d20afb283734cce1a7aef490219c0398d11978)
+++ src/sas/guiframe/data_processor.py	(revision e54dbc3e09fa34ae993dfe14522c13c8bb50e315)
@@ -1,16 +1,4 @@
 """
-Implement grid used to store results of a batch fit.
-
-This is in Guiframe rather than fitting which is probably where it should be.
-Actually could be a generic framework implemented in fit gui module.  At this
-point however there this grid behaves independently of the fitting panel and
-only knows about information sent to it but not about the fits or fit panel and
-thus cannot feed back to the fitting panel.  This could change in the future.
-
-The organization of the classes goes as:
-
-.. image::  ../../user/guiframe/BatchGridClassLayout.png
-   :align:   center
-
+Implement grid used to store data
 """
 import wx
@@ -38,9 +26,7 @@
     """
     Object describing a cell in  the grid.
+
     """
     def __init__(self):
-        """
-        Initialize attributes of class (label, value, col, row, object)
-        """
         self.label = ""
         self.value = None
@@ -53,10 +39,7 @@
     """
     Return a dictionary of column label and index or row selected
-
     :param sentence: String to parse
     :param list: list of columns label
-    :returns: col_dict
     """
-
     p2 = re.compile(r'\d+')
     p = re.compile(r'[\+\-\*\%\/]')
@@ -98,16 +81,5 @@
 
 class SPanel(ScrolledPanel):
-    """
-    ensure proper scrolling of GridPanel 
-    
-    Adds a SetupScrolling call to the normal ScrolledPanel init.    
-    GridPanel then subclasses this class
-    
-    """
     def __init__(self, parent, *args, **kwds):
-        """
-        initialize ScrolledPanel then force a call to SetupScrolling
-
-        """
         ScrolledPanel.__init__(self, parent, *args, **kwds)
         self.SetupScrolling()
@@ -115,56 +87,12 @@
 
 class GridCellEditor(sheet.CCellEditor):
-    """
-    Custom cell editor
-
-    This subclasses the sheet.CCellEditor (itself a subclass of
-    grid.GridCellEditor) in order to override two of its methods:
-    PaintBackrgound and EndEdit.
-    
-    This is necessary as the sheet module is broken in wx 3.0.2 and
-    improperly subclasses grid.GridCellEditor
-    """
+    """ Custom cell editor """
     def __init__(self, grid):
-        """
-        Override of CCellEditor init. Runs the grid.GridCellEditor init code
-        """
         super(GridCellEditor, self).__init__(grid)
 
-    def PaintBackground(self, dc, rect, attr):
-        """
-        Overrides wx.sheet.CCellEditor.PaintBackground which incorrectly calls
-        the base class method.
-
-        In wx3.0 all paint objects must explicitly
-        have a wxPaintDC (Device Context) object.  Thus the paint event which
-        generates a call to this method provides such a DC object and the
-        base class in grid expects to receive that object.  sheet was apparently
-        not updated to reflect this and hence fails.  This could thus
-        become obsolete in a future bug fix of wxPython.
-
-        Apart from adding a dc variable in the list of arguments in the def
-        and in the call to the base class the rest of this method is copied
-        as is from sheet.CCellEditor.PaintBackground
-
-        **From original GridCellEditor docs:**
-
-        Draws the part of the cell not occupied by the edit control.  The
-        base class version just fills it with background colour from the
-        attribute.
-
-        NOTE: There is no need to override this if you don't need
-        to do something out of the ordinary.
-
-        :param dc: the wxDC object for the paint
-        """
-        # Call base class method.
-        DC = dc
-        super(sheet.CCellEditor,self).PaintBackground(DC, rect, attr)
-
     def EndEdit(self, row, col, grid, previous):
-        """
-        Commit editing the current cell. Returns True if the value has changed.
-
-        :param previous: previous value in the cell
+        """ 
+            Commit editing the current cell. Returns True if the value has changed.
+            @param previous: previous value in the cell
         """
         changed = False                             # Assume value not changed
@@ -180,18 +108,10 @@
 class GridPage(sheet.CSheet):
     """
-    Class that receives the results of a batch fit.
-
-    GridPage displays the received results in a wx.grid using sheet.  This is
-    then used by GridPanel and GridFrame to present the full GUI.
     """
     def __init__(self, parent, panel=None):
         """
-        Initialize
-
-        Initialize all the attributes of GridPage, and the events. include
-        the init stuff from sheet.CSheet as well.
         """
         #sheet.CSheet.__init__(self, parent)
-
+        
         # The following is the __init__ from CSheet. ##########################
         # We re-write it here because the class is broken in wx 3.0,
@@ -219,24 +139,13 @@
 
         # Sink events
+        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.OnLeftClick)
+        self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightClick)
+        #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick)
         self.Bind(wx.grid.EVT_GRID_RANGE_SELECT, self.OnRangeSelect)
         self.Bind(wx.grid.EVT_GRID_ROW_SIZE, self.OnRowSize)
         self.Bind(wx.grid.EVT_GRID_COL_SIZE, self.OnColSize)
+        self.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnCellChange)
         self.Bind(wx.grid.EVT_GRID_SELECT_CELL, self.OnGridSelectCell)
-        # NOTE: the following bind to standard sheet methods that are
-        # overriden in this subclassn - actually we have currently
-        # disabled the on_context_menu that would override the OnRightClick
-        self.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnCellChange)
-        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.OnLeftClick)
-        self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightClick)
-        #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick)
         # This ends the __init__ section for CSheet. ##########################
-
-
-
-        # The following events must be bound even if CSheet is working 
-        # properly and does not need the above re-implementation of the
-        # CSheet init method.  Basically these override any intrinsic binding
-        self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click)
-        self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click)
 
         self.AdjustScrollbars()
@@ -278,7 +187,4 @@
         if self.GetNumberCols() > 0:
             self.default_col_width = self.GetColSize(0)
-        # We have moved these to the top of the init section with the
-        # rest of the grid event bindings from the sheet init when
-        # appropriate
         #self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click)
         #self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click)
@@ -288,21 +194,9 @@
 
     def OnLeftClick(self, event):
-        """
-        Overrides sheet.CSheet.OnLefClick.
-
-        Processes when a cell is selected by left clicking on that cell. First
-        process the base Sheet method then the current class specific method
-        """
         sheet.CSheet.OnLeftClick(self, event)
         self.on_selected_cell(event)
-
-
-    def OnCellChange(self, event):
-        """
-        Overrides sheet.CSheet.OnCellChange.  
-
-        Processes when a cell has been edited by a cell editor. Checks for the
-        edited row being outside the max row to use attribute and if so updates
-        the last row.  Then calls the base handler using skip.
+        
+    def on_edit_cell(self, event):
+        """
         """
         row, _ = event.GetRow(), event.GetCol()
@@ -315,9 +209,6 @@
     def on_selected_cell(self, event):
         """
-        Handler catching cell selection.
-
-        Called after calling base 'on left click' method.
-        """
-
+        Handler catching cell selection
+        """
         flag = event.CmdDown() or event.ControlDown()
         flag_shift = event.ShiftDown()
@@ -389,12 +280,6 @@
     def on_left_click(self, event):
         """
-        Is triggered when the left mouse button is clicked while the mouse
-        is hovering over the column 'label.'
-
-        This processes the information on the selected column: the column name
-        (in row 0 of column) and the range of cells with a valid value to be
-        used by the GridPanel set_axis methods.
-        """
-
+        Catch the left click on label mouse event
+        """
         flag = event.CmdDown() or event.ControlDown()
 
@@ -439,16 +324,6 @@
     def on_right_click(self, event):
         """
-        Is triggered when the right mouse button is clicked while the mouse
-        is hovering over the column 'label.'
-
-        This brings up a context menu that allows the deletion of the column,
-        or the insertion of a new column either to the right or left of the
-        current column.  If inserting a new column can insert a blank column or
-        choose a number of hidden columns.  By default all the error parameters
-        are in hidden columns so as to save space on the grid.  Also any other
-        intrinsic variables stored with the data such as Temperature, pressure,
-        time etc can be used to populate this menu.
-        """
-
+        Catch the right click mouse
+        """
         col = event.GetCol()
         row = event.GetRow()
@@ -485,8 +360,5 @@
     def insert_col_menu(self, menu, label, window):
         """
-        method called to populate the 'insert column before current column'
-        submenu.
-        """
-
+        """
         if self.data is None:
             return
@@ -508,8 +380,5 @@
     def insert_after_col_menu(self, menu, label, window):
         """
-        Method called to populate the 'insert column after current column'
-        submenu
-        """
-
+        """
         if self.data is None:
             return
@@ -532,8 +401,5 @@
     def on_remove_column(self, event=None):
         """
-        Called when user chooses remove from the column right click menu
-        Checks the columnn exists then calls the remove_column method
-        """
-
+        """
         if self.selected_cols is not None or len(self.selected_cols) > 0:
             col = self.selected_cols[0]
@@ -542,7 +408,6 @@
     def remove_column(self, col, numCols=1):
         """
-        Remove the col column from the current grid
-        """
-
+        Remove column to the current grid
+        """
         # add data to the grid    
         row = 0
@@ -564,13 +429,5 @@
     def on_insert_column(self, event):
         """
-        Called when user chooses insert 'column before' submenu
-        of the column context menu obtained when right clicking on a given
-        column header.
-
-        Sets up to insert column into the current grid before the current
-        highlighted column location and sets up what to populate that column
-        with.  Then calls insert_column method to actually do the insertion. 
-        """
-
+        """
         if self.selected_cols is not None or len(self.selected_cols) > 0:
             col = self.selected_cols[0]
@@ -585,13 +442,6 @@
     def on_insert_after_column(self, event):
         """
-        Called when user chooses insert 'column after' submenu
-        of the column context menu obtained when right clicking on a given
-        column header.
-
-        Sets up to insert column into the current grid after the current
-        highlighted column location and sets up what to populate that column
-        with.  Then calls insert_column method to actually do the insertion. 
-        """
-
+        Insert the given column after the highlighted column
+        """
         if self.selected_cols is not None or len(self.selected_cols) > 0:
             col = self.selected_cols[0] + 1
@@ -605,8 +455,5 @@
     def insert_column(self, col, col_name):
         """
-        Insert column at position col with data[col_name] into the current
-        grid.
-        """
-
+        """
         row = 0
         self.InsertCols(pos=col, numCols=1, updateLabels=True)
@@ -630,14 +477,10 @@
     def on_set_x_axis(self, event):
         """
-        Just calls the panel version of the method
-        """
-
+        """
         self.panel.set_xaxis(x=self.axis_value, label=self.axis_label)
 
     def on_set_y_axis(self, event):
         """
-        Just calls the panel version of the method
-        """
-
+        """
         self.panel.set_yaxis(y=self.axis_value, label=self.axis_label)
 
@@ -645,9 +488,7 @@
         """
         Add data to the grid
-
         :param data_inputs: data to use from the context menu of the grid
-        :param data_ouputs: default columns displayed
-        """
-
+        :param data_ouputs: default columns deplayed
+        """
         self.file_name = file_name
         self.details = details
@@ -686,5 +527,4 @@
         Set the values in grids
         """
-
         # add data to the grid
         row = 0
@@ -722,5 +562,4 @@
         Return value contained in the grid
         """
-
         grid_view = {}
         for col in xrange(self.GetNumberCols()):
@@ -745,13 +584,6 @@
     def onContextMenu(self, event):
         """
-        Method to handle cell right click context menu. 
-
-        THIS METHOD IS NOT CURRENTLY USED.  It is designed to provide a
-        cell pop up context by right clicking on a cell and gives the
-        option to cut, paste, and clear. This will probably be removed in
-        future versions and is being superceded by more traditional cut and
-        paste options.
-        """
-
+        Default context menu
+        """
         wx_id = wx.NewId()
         c_menu = wx.Menu()
@@ -788,24 +620,12 @@
     def on_copy(self, event):
         """
-        Called when copy is chosen from cell right click context menu
-
-        THIS METHOD IS NOT CURRENTLY USED.  it is part of right click cell
-        context menu which is being removed. This will probably be removed in
-        future versions and is being superceded by more traditional cut and
-        paste options
-        """
-
+        On copy event from the contextmenu
+        """
         self.Copy()
 
     def on_paste(self, event):
         """
-        Called when paste is chosen from cell right click context menu
-
-        THIS METHOD IS NOT CURRENTLY USED.  it is part of right click cell
-        context menu which is being removed. This will probably be removed in
-        future versions and is being superceded by more traditional cut and
-        paste options
-        """
-
+        On paste event from the contextmenu
+        """
         if self.data == None:
             self.data = {}
@@ -816,12 +636,6 @@
     def on_clear(self, event):
         """
-        Called when clear cell is chosen from cell right click context menu
-
-        THIS METHOD IS NOT CURRENTLY USED.  it is part of right click cell
-        context menu which is being removed. This will probably be removed in
-        future versions and is being superceded by more traditional cut and
-        paste options
-        """
-
+        Clear the cells selected
+        """
         self.Clear()
 
@@ -832,5 +646,4 @@
     ## Title to appear on top of the window
     """
-
     window_caption = "Notebook "
 
@@ -869,8 +682,7 @@
     def enable_close_button(self):
         """
-        display the close button on the tab if more than 1 tab exits.
-        Otherwise remove the close button
-        """
-
+        display the close button on tab for more than 1 tabs else remove the
+        close button
+        """
         if self.GetPageCount() <= 1:
             style = self.GetWindowStyleFlag()
@@ -888,8 +700,7 @@
     def on_edit_axis(self):
         """
-        Return the select cell range from a given selected column. Checks that
-        all cells are from the same column
-        """
-
+        Return the select cell of a given selected column. Check that all cells
+        are from the same column
+        """
         pos = self.GetSelection()
         grid = self.GetPage(pos)
@@ -921,5 +732,4 @@
         Add highlight rows
         """
-
         pos = self.GetSelection()
         grid = self.GetPage(pos)
@@ -949,7 +759,6 @@
     def get_column_labels(self):
         """
-        return dictionary of columns labels on the current page
-        """
-
+        return dictionary of columns labels of the current page
+        """
         pos = self.GetSelection()
         grid = self.GetPage(pos)
@@ -964,7 +773,7 @@
         """
         Receive a list of cells and  create a string presenting the selected
-        cells that can be used as data for one axis of a plot.
-
+        cells.
         :param cell_list: list of tuple
+
         """
         pos = self.GetSelection()
@@ -1044,5 +853,4 @@
         close the page
         """
-
         if self.GetPageCount() == 1:
             event.Veto()
@@ -1050,6 +858,4 @@
 
     def set_data(self, data_inputs, data_outputs, details="", file_name=None):
-        """
-        """
         if data_outputs is None or data_outputs == {}:
             return
@@ -1074,8 +880,6 @@
     def get_odered_results(self, inputs, outputs=None):
         """
-        Order a list of 'inputs.' Used to sort rows and columns to present
-        in batch results grid.
-        """
-
+        Get ordered the results
+        """
         # Let's re-order the data from the keys in 'Data' name.
         if outputs == None:
@@ -1110,7 +914,4 @@
         Append a new column to the grid
         """
-
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
         pos = self.GetSelection()
         grid = self.GetPage(pos)
@@ -1121,6 +922,4 @@
         Remove the selected column from the grid
         """
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
         pos = self.GetSelection()
         grid = self.GetPage(pos)
@@ -1128,15 +927,6 @@
 
 class GridPanel(SPanel):
-    """
-    A ScrolledPanel class that contains the grid sheet as well as a number of
-    widgets to create interesting plots and buttons for help etc.
-    """
-
     def __init__(self, parent, data_inputs=None,
                  data_outputs=None, *args, **kwds):
-        """
-        Initialize the GridPanel
-        """
-
         SPanel.__init__(self, parent, *args, **kwds)
 
@@ -1200,4 +990,5 @@
     def get_plot_axis(self, col, list):
         """
+
         """
         axis = []
@@ -1224,8 +1015,6 @@
     def on_view(self, event):
         """
-        Get object represented by the given cells and plot them.  Basically
-        plot the colum in y vs the column in x.
-        """
-
+        Get object represented buy the given cell and plot them.
+        """
         pos = self.notebook.GetSelection()
         grid = self.notebook.GetPage(pos)
@@ -1307,5 +1096,4 @@
         Evaluate the contains of textcrtl and plot result
         """
-
         pos = self.notebook.GetSelection()
         grid = self.notebook.GetPage(pos)
@@ -1415,7 +1203,6 @@
         running "file:///...."
 
-        :param evt: Triggers on clicking the help button
-        """
-
+    :param evt: Triggers on clicking the help button
+    """
         #import documentation window here to avoid circular imports
         #if put at top of file with rest of imports.
@@ -1431,5 +1218,4 @@
         Get sentence from dict
         """
-
         for tok, (col_name, list) in dict.iteritems():
             col = column_names[col_name]
@@ -1444,8 +1230,6 @@
     def layout_grid(self):
         """
-        Draw the area related to the grid by adding it as the first element
-        in the panel's grid_sizer
-        """
-
+        Draw the area related to the grid
+        """
         self.notebook = Notebook(parent=self)
         self.notebook.set_data(self._data_inputs, self._data_outputs)
@@ -1454,8 +1238,6 @@
     def layout_plotting_area(self):
         """
-        Add the area containing all the plot options, buttons etc to a plotting
-        area sizer to later be added to the top level grid_sizer
-        """
-
+        Draw area containing options to plot
+        """
         view_description = wx.StaticBox(self, -1, 'Plot Fits/Residuals')
         note = "To plot the fits (or residuals), click the 'View Fits' button"
@@ -1499,5 +1281,5 @@
                                    (self.plot_button, 0,
                                     wx.LEFT | wx.TOP | wx.BOTTOM, 12),
-                                   (self.help_button,0,
+                                   (self.help_button,0, 
                                     wx.LEFT | wx.TOP | wx.BOTTOM, 12)])
 
@@ -1534,5 +1316,4 @@
         Get the selected column on  the visible grid and set values for axis
         """
-
         try:
             cell_list = self.notebook.on_edit_axis()
@@ -1554,8 +1335,7 @@
         Receive a list of cells and  create a string presenting the selected
         cells.
-
         :param cell_list: list of tuple
-        """
-
+
+        """
         if self.notebook is not None:
             return self.notebook.create_axis_label(cell_list)
@@ -1565,5 +1345,4 @@
         get controls to modify
         """
-
         if label != None:
             tcrtl_label.SetValue(str(label))
@@ -1574,6 +1353,4 @@
         """
         """
-        # I Believe this is no longer used now that we have removed the
-        # edit menu from the menubar - PDB July 12, 2015
         if self.notebook is not None:
             self.notebook.add_column()
@@ -1582,6 +1359,4 @@
         """
         """
-        # I Believe this is no longer used now that we have removed the
-        # edit menu from the menubar - PDB July 12, 2015
         if self.notebook is not None:
             self.notebook.on_remove_column()
@@ -1589,14 +1364,6 @@
 
 class GridFrame(wx.Frame):
-    """
-    The main wx.Frame for the batch results grid
-    """
-
     def __init__(self, parent=None, data_inputs=None, data_outputs=None, id=-1,
-                 title="Batch Fitting Results Panel", size=(800, 500)):
-        """
-        Initialize the Frame
-        """
-
+                 title="Grid Window", size=(800, 500)):
         wx.Frame.__init__(self, parent=parent, id=id, title=title, size=size)
         self.parent = parent
@@ -1622,24 +1389,11 @@
         wx.EVT_MENU(self, self.save_menu.GetId(), self.on_save_page)
 
-        # We need to grab a WxMenu handle here, otherwise the next one to grab
-        # the handle will be treated as the Edit Menu handle when checking in
-        # on_menu_open event handler and thus raise an exception when it hits an 
-        # unitialized object.  Alternative is to comment out that whole section
-        # in on_menu_open, but that would make it more difficult to undo the
-        # hidding of the menu.   PDB  July 12, 2015.
-        #
-        # To enable the Edit menubar comment out next line and uncomment the
-        # following line.
-        self.edit = wx.Menu()
-        #self.add_edit_menu()
-
+        # To add the edit menu, call add_edit_menu() here.
+        self.edit = None
         self.Bind(wx.EVT_MENU_OPEN, self.on_menu_open)
+        
         self.Bind(wx.EVT_CLOSE, self.on_close)
 
     def add_edit_menu(self, menubar):
-        """
-        populates the edit menu on the menubar.  Not activated as of SasView
-        3.1.0
-        """
         self.edit = wx.Menu()
 
@@ -1675,8 +1429,6 @@
     def on_copy(self, event):
         """
-        On Copy from the Edit menu item on the menubar
-        """
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
+        On Copy
+        """
         if event != None:
             event.Skip()
@@ -1687,8 +1439,6 @@
     def on_paste(self, event):
         """
-        On Paste from the Edit menu item on the menubar
-        """
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
+        On Paste
+        """
         if event != None:
             event.Skip()
@@ -1699,8 +1449,6 @@
     def on_clear(self, event):
         """
-        On Clear from the Edit menu item on the menubar
-        """
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
+        On Clear
+        """
         pos = self.panel.notebook.GetSelection()
         grid = self.panel.notebook.GetPage(pos)
@@ -1718,8 +1466,6 @@
     def on_remove_column(self, event):
         """
-        On remove column from the Edit menu Item on the menubar
-        """
-        # I Believe this is no longer used now that we have removed the 
-        # edit menu from the menubar - PDB July 12, 2015
+        On remove column
+        """
         pos = self.panel.notebook.GetSelection()
         grid = self.panel.notebook.GetPage(pos)
@@ -1789,10 +1535,5 @@
     def on_save_page(self, event):
         """
-        Saves data in grid to a csv file.
-
-        At this time only the columns displayed get saved.  Thus any error
-        bars not inserted before saving will not be saved in the file
-        """
-
+        """
         if self.parent is not None:
             pos = self.panel.notebook.GetSelection()
@@ -1825,7 +1566,6 @@
     def on_open(self, event):
         """
-        Open file containing batch result
-        """
-
+        Open file containg batch result
+        """
         if self.parent is not None:
             self.parent.on_read_batch_tofile(self)
@@ -1835,5 +1575,4 @@
         open excel and display batch result in Excel
         """
-
         if self.parent is not None:
             pos = self.panel.notebook.GetSelection()
@@ -1886,11 +1625,8 @@
                  details="", *args, **kwds):
         """
-        Initialize dialog
-
         :param parent: Window instantiating this dialog
-        :param result: result to display in a grid or export to an external\
+        :param result: result to display in a grid or export to an external
                 application.
         """
-
         #kwds['style'] = wx.CAPTION|wx.SYSTEM_MENU
         wx.Frame.__init__(self, parent, *args, **kwds)
@@ -1915,5 +1651,4 @@
         Draw the content of the current dialog window
         """
-
         vbox = wx.BoxSizer(wx.VERTICAL)
         box_description = wx.StaticBox(self.panel, -1, str("Batch Outputs"))
@@ -1969,5 +1704,4 @@
         Get the user selection and display output to the selected application
         """
-
         if self.flag == 1:
             self.parent.open_with_localapp(data_inputs=self.data_inputs,
@@ -1981,5 +1715,4 @@
         close the Window
         """
-
         self.Close()
 
@@ -1988,4 +1721,5 @@
         Receive event and display data into third party application
         or save data to file.
+
         """
         if self.save_to_file.GetValue():
