]> git.saurik.com Git - wxWidgets.git/commitdiff
Make the copy ctor for the wxPrint*Data classes avaialble from
authorRobin Dunn <robin@alldunn.com>
Tue, 8 Jun 2004 00:04:54 +0000 (00:04 +0000)
committerRobin Dunn <robin@alldunn.com>
Tue, 8 Jun 2004 00:04:54 +0000 (00:04 +0000)
Python. This is so we can ensure we get a copy of the data objects
when needed instead of just a reference to a data object within
another that may get deleted unexpectedly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/demo/PrintFramework.py
wxPython/src/_printfw.i

index 0bf389a6aeb47562cf23803d4d1fe917ce92e0cc..5db34aaa3ee2bf84d798e6c1596380228b425675 100644 (file)
@@ -130,7 +130,12 @@ class TestPrintPanel(wx.Panel):
         printerDialog = wx.PrintDialog(self, data)
         printerDialog.GetPrintDialogData().SetSetupDialog(True)
         printerDialog.ShowModal();
-        self.printData = printerDialog.GetPrintDialogData().GetPrintData()
+
+        # this makes a copy of the wx.PrintData instead of just saving
+        # a reference to the one inside the printDialogData that will
+        # be destroyed
+        self.printData = wx.PrintData( printerDialog.GetPrintDialogData().GetPrintData() )
+        
         printerDialog.Destroy()
 
 
@@ -163,7 +168,7 @@ class TestPrintPanel(wx.Panel):
         if not printer.Print(self.frame, printout, True):
             wx.MessageBox("There was a problem printing.\nPerhaps your current printer is not set correctly?", "Printing", wx.OK)
         else:
-            self.printData = printer.GetPrintDialogData().GetPrintData()
+            self.printData = wx.PrintData( printer.GetPrintDialogData().GetPrintData() )
         printout.Destroy()
 
 
index 78bb05e19d52e1e3e51e78e8637d7bec5aef3bc6..afe09dbd29cc619fc80f4cbc782047b59fdec930 100644 (file)
@@ -40,7 +40,10 @@ enum wxPrintMode
 
 class wxPrintData : public wxObject {
 public:
+    %nokwargs wxPrintData;
     wxPrintData();
+    wxPrintData(const wxPrintData& data);  // for making copies
+    
     ~wxPrintData();
 
     int GetNoCopies();
@@ -103,7 +106,9 @@ public:
 
 class wxPageSetupDialogData : public wxObject {
 public:
+    %nokwargs wxPageSetupDialogData;
     wxPageSetupDialogData();
+    wxPageSetupDialogData(const wxPageSetupDialogData& data);  // for making copies
     ~wxPageSetupDialogData();
 
     void EnableHelp(bool flag);
@@ -168,7 +173,7 @@ class wxPrintDialogData : public wxObject {
 public:
     %nokwargs wxPrintDialogData;
     wxPrintDialogData();
-    wxPrintDialogData(const wxPrintData& printData);
+    wxPrintDialogData(const wxPrintData& printData);  // for making copies
     ~wxPrintDialogData();
 
     int GetFromPage() const;