Changeset d0ce666f in sasview for src/sas/sasgui/guiframe


Ignore:
Timestamp:
Sep 6, 2018 12:11:25 PM (6 years ago)
Author:
krzywon
Branches:
master, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, unittest-saveload
Children:
44e8f48
Parents:
fa412df
Message:

Remove image references when report is closed and point to correct file locations when saving reports to PDF.

Location:
src/sas/sasgui/guiframe
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/guiframe/report_dialog.py

    r91552b5 rd0ce666f  
    77import sys 
    88import wx.html as html 
     9from sas.sasgui.guiframe.report_image_handler import ReportImageHandler 
    910 
    1011logger = logging.getLogger(__name__) 
     
    7071        button_close = wx.Button(self, wx.ID_OK, "Close") 
    7172        button_close.SetToolTipString("Close this report window.") 
     73        button_close.Bind(wx.EVT_BUTTON, self.onClose, 
     74                          id=button_close.GetId()) 
    7275        hbox.Add(button_close) 
    7376        button_close.SetFocus() 
     
    117120 
    118121 
    119     def OnClose(self, event=None): 
     122    def onClose(self, event=None): 
    120123        """ 
    121124        Close the Dialog 
     
    123126        """ 
    124127        for fig in self.fig_urls: 
    125             self.imgRAM.RemoveFile(fig) 
     128            ReportImageHandler.remove_figure(fig) 
    126129 
    127         self.Close() 
     130        self.Destroy() 
    128131 
    129132    def HTML2PDF(self, data, filename): 
  • src/sas/sasgui/guiframe/report_image_handler.py

    rfa412df rd0ce666f  
    11import wx 
     2import logging 
     3 
     4logger = logging.getLogger(__name__) 
    25 
    36 
     
    912 
    1013        def __init__(self): 
     14            wx.FileSystem.AddHandler(wx.MemoryFSHandler()) 
    1115            self.img_holder = wx.MemoryFSHandler() 
    12             wx.FileSystem.AddHandler(wx.MemoryFSHandler()) 
    1316            self.refs = {} 
    1417            self.indices = [] 
     
    6063 
    6164    @staticmethod 
     65    def check_for_empty_instance(): 
     66        if ReportImageHandler.instance is None: 
     67            ReportImageHandler.instance = \ 
     68                ReportImageHandler._ReportImageHandler() 
     69 
     70    @staticmethod 
    6271    def set_figs(figs, bitmaps, perspective): 
    63         if not ReportImageHandler.instance: 
    64             ReportImageHandler.instance = ReportImageHandler._ReportImageHandler() 
     72        ReportImageHandler.check_for_empty_instance() 
    6573        return ReportImageHandler.instance.set_figs(figs, bitmaps, perspective) 
     74 
     75    @staticmethod 
     76    def remove_figure(fig_url): 
     77        try: 
     78            ReportImageHandler.check_for_empty_instance() 
     79            ReportImageHandler.instance.refs.pop(fig_url) 
     80        except Exception as e: 
     81            logger.warn(e) 
Note: See TracChangeset for help on using the changeset viewer.