浏览代码

Don't allocate wx.PrintData object until needed (due to warnings)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@34380 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 16 年之前
父节点
当前提交
57a478e55d
共有 3 个文件被更改,包括 22 次插入4 次删除
  1. 14 4
      gui/wxpython/gui_modules/disp_print.py
  2. 4 0
      gui/wxpython/gui_modules/histogram.py
  3. 4 0
      gui/wxpython/gui_modules/mapdisp.py

+ 14 - 4
gui/wxpython/gui_modules/disp_print.py

@@ -98,16 +98,21 @@ class PrintOptions:
     def __init__(self, parent, mapwin):
         self.mapframe = parent
         self.mapwin = mapwin
-#        self.frame = frame
+	#self.frame = frame
 
+	self.printData = None
+
+	#self.canvas = ScrolledWindow.MyCanvas(self)
+
+    def setup(self):
+	if self.printData:
+	    return
         self.printData = wx.PrintData()
         self.printData.SetPaperId(wx.PAPER_LETTER)
         self.printData.SetPrintMode(wx.PRINT_MODE_PRINTER)
 
-#        self.canvas = ScrolledWindow.MyCanvas(self)
-
-
     def OnPageSetup(self, event):
+	self.setup()
         psdd = wx.PageSetupDialogData(self.printData)
         psdd.CalculatePaperSizeFromId()
         dlg = wx.PageSetupDialog(self.mapwin, psdd)
@@ -121,6 +126,7 @@ class PrintOptions:
         dlg.Destroy()
 
     def OnPrintPreview(self, event):
+	self.setup()
         data = wx.PrintDialogData(self.printData)
         printout = MapPrint(self.mapwin)
         printout2 = MapPrint(self.mapwin)
@@ -138,6 +144,7 @@ class PrintOptions:
         pfrm.Show(True)
 
     def OnDoPrint(self, event):
+	self.setup()
         pdd = wx.PrintDialogData(self.printData)
         # set number of pages/copies
         pdd.SetToPage(1)
@@ -149,3 +156,6 @@ class PrintOptions:
         else:
             self.printData = wx.PrintData( printer.GetPrintDialogData().GetPrintData() )
         printout.Destroy()
+
+    def OnReset(self):
+	self.printData = None

+ 4 - 0
gui/wxpython/gui_modules/histogram.py

@@ -518,6 +518,10 @@ class HistFrame(wx.Frame):
         printmenu.AppendItem(doprint)
         self.Bind(wx.EVT_MENU, self.printopt.OnDoPrint, doprint)
 
+        reset = wx.MenuItem(printmenu, -1,'Reset')
+        printmenu.AppendItem(reset)
+        self.Bind(wx.EVT_MENU, self.printopt.OnReset, reset)
+
         # Popup the menu.  If an item is selected then its handler
         # will be called before PopupMenu returns.
         self.PopupMenu(printmenu)

+ 4 - 0
gui/wxpython/gui_modules/mapdisp.py

@@ -3298,6 +3298,10 @@ class MapFrame(wx.Frame):
         printmenu.AppendItem(doprint)
         self.Bind(wx.EVT_MENU, self.printopt.OnDoPrint, doprint)
 
+        reset = wx.MenuItem(printmenu, -1,'Reset')
+        printmenu.AppendItem(reset)
+        self.Bind(wx.EVT_MENU, self.printopt.OnReset, reset)
+
         # Popup the menu.  If an item is selected then its handler
         # will be called before PopupMenu returns.
         self.PopupMenu(printmenu)