#----------------------------------------------------------------------
-ID_Setup = wx.NewId()
-ID_Preview = wx.NewId()
-ID_Print = wx.NewId()
class MyPrintout(wx.Printout):
def __init__(self, canvas, log):
self.box.Add(self.canvas, 1, wx.GROW)
subbox = wx.BoxSizer(wx.HORIZONTAL)
- btn = wx.Button(self, ID_Setup, "Print Setup")
- self.Bind(wx.EVT_BUTTON, self.OnPrintSetup, btn)
+ btn = wx.Button(self, -1, "Page Setup")
+ self.Bind(wx.EVT_BUTTON, self.OnPageSetup, btn)
subbox.Add(btn, 1, wx.GROW | wx.ALL, 2)
- btn = wx.Button(self, ID_Preview, "Print Preview")
+ btn = wx.Button(self, -1, "Print Preview")
self.Bind(wx.EVT_BUTTON, self.OnPrintPreview, btn)
subbox.Add(btn, 1, wx.GROW | wx.ALL, 2)
- btn = wx.Button(self, ID_Print, "Print")
+ btn = wx.Button(self, -1, "Print")
self.Bind(wx.EVT_BUTTON, self.OnDoPrint, btn)
subbox.Add(btn, 1, wx.GROW | wx.ALL, 2)
self.SetSizer(self.box)
- def OnPrintSetup(self, event):
- data = wx.PrintDialogData(self.printData)
- printerDialog = wx.PrintDialog(self, data)
- #printerDialog.GetPrintDialogData().SetSetupDialog(True)
- printerDialog.ShowModal();
+
+ def OnPageSetup(self, evt):
+ psdd = wx.PageSetupDialogData(self.printData)
+ psdd.CalculatePaperSizeFromId()
+ dlg = wx.PageSetupDialog(self, psdd)
+ dlg.ShowModal()
# this makes a copy of the wx.PrintData instead of just saving
# a reference to the one inside the PrintDialogData that will
# be destroyed when the dialog is destroyed
- self.printData = wx.PrintData( printerDialog.GetPrintDialogData().GetPrintData() )
-
- printerDialog.Destroy()
+ self.printData = wx.PrintData( dlg.GetPageSetupData().GetPrintData() )
+ dlg.Destroy()
def OnPrintPreview(self, event):
- self.log.WriteText("OnPrintPreview\n")
data = wx.PrintDialogData(self.printData)
printout = MyPrintout(self.canvas, self.log)
printout2 = MyPrintout(self.canvas, self.log)
self.log.WriteText("Houston, we have a problem...\n")
return
- frame = wx.PreviewFrame(self.preview, self.frame, "This is a print preview")
+ pfrm = wx.PreviewFrame(self.preview, self.frame, "This is a print preview")
- frame.Initialize()
- frame.SetPosition(self.frame.GetPosition())
- frame.SetSize(self.frame.GetSize())
- frame.Show(True)
+ pfrm.Initialize()
+ pfrm.SetPosition(self.frame.GetPosition())
+ pfrm.SetSize(self.frame.GetSize())
+ pfrm.Show(True)