Ejemplo n.º 1
0
 def __setstate__(self, state):
     psd = self._win_psd
     dm = state.pop('_win_devmode', None)
     dn = state.pop('_win_devnames', None)
     GPageSetup.__setstate__(self, state)
     if dm:
         wps.GlobalFree(psd.hDevMode)
         psd.hDevMode = handle_with_contents(dm)
     if dn:
         wps.GlobalFree(psd.hDevNames)
         psd.hDevNames = handle_with_contents(dn)
Ejemplo n.º 2
0
 def print_view(self, page_setup, prompt=True):
     paginator = Paginator(self, page_setup)
     psd = page_setup._win_psd
     pd = wp.PRINTDLG()
     pd.hDevMode = psd.hDevMode
     pd.hDevNames = psd.hDevNames
     pd.nMinPage = 1
     pd.nMaxPage = paginator.num_pages
     pd.nCopies = 1
     if wp.PrintDlg(pd):
         title = self.print_title
         di = wp.DOCINFO()
         di.lpszDocName = title
         devnames = wps.DevNames(psd.hDevNames)
         if devnames.output == "FILE:":
             from FileDialogs import request_new_file
             f = request_new_file("Print '%s' to file:" % title)
             if not f:
                 return
             output_path = f.path
             di.lpszOutput = output_path
         try:
             hdc = pd.hDC
             dx, dy = wp.GetPrintingOffset(hdc)
             print "TODO: Printable: Implement a Cancel dialog"  ###
             #wp.install_abort_proc(hdc)
             wp.StartDoc(hdc, di)
             for page_num in xrange(pd.nFromPage - 1, pd.nToPage):
                 wp.StartPage(hdc)
                 canvas = Canvas._from_win_hdc(hdc, for_printing=True)
                 canvas.translate(-dx, -dy)
                 paginator.draw_page(canvas, page_num)
                 wp.EndPage(hdc)
             wp.EndDoc(hdc)
         finally:
             wp.DeleteDC(hdc)
Ejemplo n.º 3
0
def present_page_setup_dialog(page_setup):
    return wps.PageSetupDlg(page_setup._win_psd)
Ejemplo n.º 4
0
 def _win_unlock_devmode(self):
     wps.GlobalUnlock(self._win_psd.hDevMode)
Ejemplo n.º 5
0
 def _win_lock_devmode(self):
     return wps.lock_devmode_handle(self._win_psd.hDevMode)
Ejemplo n.º 6
0
 def __getstate__(self):
     psd = self._win_psd
     state = GPageSetup.__getstate__(self)
     state['_win_devmode'] = wps.get_handle_contents(psd.hDevMode)
     state['_win_devnames'] = wps.get_handle_contents(psd.hDevNames)
     return state
Ejemplo n.º 7
0
 def __new__(cls):
     self = GPageSetup.__new__(cls)
     self._win_psd = wps.get_defaults()
     return self
Ejemplo n.º 8
0
 def __new__(cls):
     self = GPageSetup.__new__(cls)
     self._win_psd = wps.get_defaults()
     return self
Ejemplo n.º 9
0
 def _win_lock_devmode(self):
     return wps.lock_devmode_handle(self._win_psd.hDevMode)
Ejemplo n.º 10
0
 def __getstate__(self):
     psd = self._win_psd
     state = GPageSetup.__getstate__(self)
     state['_win_devmode'] = wps.get_handle_contents(psd.hDevMode)
     state['_win_devnames'] = wps.get_handle_contents(psd.hDevNames)
     return state