]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_printfw.i
better report if the subclass factory has import problems
[wxWidgets.git] / wxPython / src / _printfw.i
index fb390d0979adc9fca292b93684ec72e6a718d3eb..cce346ca10dd0907effa594180cb19c089745dad 100644 (file)
@@ -70,7 +70,8 @@ public:
     bool GetCollate();
     int  GetOrientation();
 
-    bool Ok();
+    bool IsOk();
+    %pythoncode { Ok = IsOk }
 
     const wxString& GetPrinterName();
     bool GetColour();
@@ -81,6 +82,7 @@ public:
     int GetQuality();
     wxPrintBin GetBin();
     wxPrintMode GetPrintMode() const;
+    int GetMedia() const;
     
     void SetNoCopies(int v);
     void SetCollate(bool flag);
@@ -94,11 +96,12 @@ public:
     void SetQuality(int quality);
     void SetBin(wxPrintBin bin);
     void SetPrintMode(wxPrintMode printMode);
+    void SetMedia(int media);
+    
     wxString GetFilename() const;
     void SetFilename( const wxString &filename );
 
-    %pythoncode { def __nonzero__(self): return self.Ok() }
+    %pythoncode { def __nonzero__(self): return self.IsOk() }
 
     //char* GetPrivData() const;
     //int GetPrivDataLen() const;
@@ -154,6 +157,19 @@ public:
     void SetPrinterTranslation(long x, long y);
 #endif
 
+    %property(Bin, GetBin, SetBin, doc="See `GetBin` and `SetBin`");
+    %property(Collate, GetCollate, SetCollate, doc="See `GetCollate` and `SetCollate`");
+    %property(Colour, GetColour, SetColour, doc="See `GetColour` and `SetColour`");
+    %property(Duplex, GetDuplex, SetDuplex, doc="See `GetDuplex` and `SetDuplex`");
+    %property(Filename, GetFilename, SetFilename, doc="See `GetFilename` and `SetFilename`");
+    %property(NoCopies, GetNoCopies, SetNoCopies, doc="See `GetNoCopies` and `SetNoCopies`");
+    %property(Orientation, GetOrientation, SetOrientation, doc="See `GetOrientation` and `SetOrientation`");
+    %property(PaperId, GetPaperId, SetPaperId, doc="See `GetPaperId` and `SetPaperId`");
+    %property(PaperSize, GetPaperSize, SetPaperSize, doc="See `GetPaperSize` and `SetPaperSize`");
+    %property(PrintMode, GetPrintMode, SetPrintMode, doc="See `GetPrintMode` and `SetPrintMode`");
+    %property(PrinterName, GetPrinterName, SetPrinterName, doc="See `GetPrinterName` and `SetPrinterName`");
+    %property(PrivData, GetPrivData, SetPrivData, doc="See `GetPrivData` and `SetPrivData`");
+    %property(Quality, GetQuality, SetQuality, doc="See `GetQuality` and `SetQuality`");   
 };
 
 //---------------------------------------------------------------------------
@@ -188,7 +204,8 @@ public:
 
     wxPrintData& GetPrintData();
 
-    bool Ok();
+    bool IsOk();
+    %pythoncode { Ok = IsOk }
 
     void SetDefaultInfo(bool flag);
     void SetDefaultMinMargins(bool flag);
@@ -208,7 +225,25 @@ public:
     // Use paper id in wxPrintData to set this object's paper size
     void CalculatePaperSizeFromId();
 
-    %pythoncode { def __nonzero__(self): return self.Ok() }
+    %pythoncode { def __nonzero__(self): return self.IsOk() }
+
+    %property(DefaultInfo, GetDefaultInfo, SetDefaultInfo, doc="See `GetDefaultInfo` and `SetDefaultInfo`");
+    %property(DefaultMinMargins, GetDefaultMinMargins, SetDefaultMinMargins, doc="See `GetDefaultMinMargins` and `SetDefaultMinMargins`");
+
+//     %property(EnableHelp, GetEnableHelp, doc="See `GetEnableHelp`");
+//     %property(EnableMargins, GetEnableMargins, doc="See `GetEnableMargins`");
+//     %property(EnableOrientation, GetEnableOrientation, doc="See `GetEnableOrientation`");
+//     %property(EnablePaper, GetEnablePaper, doc="See `GetEnablePaper`");
+//     %property(EnablePrinter, GetEnablePrinter, doc="See `GetEnablePrinter`");
+
+    %property(MarginBottomRight, GetMarginBottomRight, SetMarginBottomRight, doc="See `GetMarginBottomRight` and `SetMarginBottomRight`");
+    %property(MarginTopLeft, GetMarginTopLeft, SetMarginTopLeft, doc="See `GetMarginTopLeft` and `SetMarginTopLeft`");
+    %property(MinMarginBottomRight, GetMinMarginBottomRight, SetMinMarginBottomRight, doc="See `GetMinMarginBottomRight` and `SetMinMarginBottomRight`");
+    %property(MinMarginTopLeft, GetMinMarginTopLeft, SetMinMarginTopLeft, doc="See `GetMinMarginTopLeft` and `SetMinMarginTopLeft`");
+    %property(PaperId, GetPaperId, SetPaperId, doc="See `GetPaperId` and `SetPaperId`");
+    %property(PaperSize, GetPaperSize, SetPaperSize, doc="See `GetPaperSize` and `SetPaperSize`");
+    %property(PrintData, GetPrintData, SetPrintData, doc="See `GetPrintData` and `SetPrintData`");
+    
 };
 
 
@@ -223,10 +258,17 @@ class wxPageSetupDialog : public wxObject
 {
 public:
     wxPageSetupDialog(wxWindow* parent, wxPageSetupDialogData* data = NULL);
-
+    ~wxPageSetupDialog();
+    
     wxPageSetupDialogData& GetPageSetupData();
     wxPageSetupDialogData& GetPageSetupDialogData();
     int ShowModal();
+
+    %pythoncode { def Destroy(self): pass }
+
+    %property(PageSetupData, GetPageSetupData, doc="See `GetPageSetupData`");
+    %property(PageSetupDialogData, GetPageSetupDialogData, doc="See `GetPageSetupDialogData`");
+    
 };
 
 //---------------------------------------------------------------------------
@@ -276,13 +318,29 @@ public:
     bool GetEnableHelp() const;
 
     // Is this data OK for showing the print dialog?
-    bool Ok() const;
+    bool IsOk() const;
+    %pythoncode { Ok = IsOk }
 
     
     wxPrintData& GetPrintData();
     void SetPrintData(const wxPrintData& printData);
 
-    %pythoncode { def __nonzero__(self): return self.Ok() }
+    %pythoncode { def __nonzero__(self): return self.IsOk() }
+    
+    %property(AllPages, GetAllPages, SetAllPages, doc="See `GetAllPages` and `SetAllPages`");
+    %property(Collate, GetCollate, SetCollate, doc="See `GetCollate` and `SetCollate`");
+//     %property(EnableHelp, GetEnableHelp, doc="See `GetEnableHelp`");
+//     %property(EnablePageNumbers, GetEnablePageNumbers, doc="See `GetEnablePageNumbers`");
+//     %property(EnablePrintToFile, GetEnablePrintToFile, doc="See `GetEnablePrintToFile`");
+//     %property(EnableSelection, GetEnableSelection, doc="See `GetEnableSelection`");
+    %property(FromPage, GetFromPage, SetFromPage, doc="See `GetFromPage` and `SetFromPage`");
+    %property(MaxPage, GetMaxPage, SetMaxPage, doc="See `GetMaxPage` and `SetMaxPage`");
+    %property(MinPage, GetMinPage, SetMinPage, doc="See `GetMinPage` and `SetMinPage`");
+    %property(NoCopies, GetNoCopies, SetNoCopies, doc="See `GetNoCopies` and `SetNoCopies`");
+    %property(PrintData, GetPrintData, SetPrintData, doc="See `GetPrintData` and `SetPrintData`");
+    %property(PrintToFile, GetPrintToFile, SetPrintToFile, doc="See `GetPrintToFile` and `SetPrintToFile`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+    %property(ToPage, GetToPage, SetToPage, doc="See `GetToPage` and `SetToPage`");
 };
 
 
@@ -299,6 +357,8 @@ public:
     wxPrintDialog(wxWindow* parent, wxPrintDialogData* data = NULL);
 
     // TODO?: wxPrintDialog(wxWindow *parent, wxPrintData* data);
+
+    ~wxPrintDialog();
     
     virtual int ShowModal();
 
@@ -308,6 +368,11 @@ public:
     %newobject GetPrintDC;
     virtual wxDC *GetPrintDC();
 
+    %pythoncode { def Destroy(self): pass }
+    
+    %property(PrintDC, GetPrintDC, doc="See `GetPrintDC`");
+    %property(PrintData, GetPrintData, doc="See `GetPrintData`");
+    %property(PrintDialogData, GetPrintDialogData, doc="See `GetPrintDialogData`");
 };
 
 
@@ -341,6 +406,9 @@ public:
 
     bool GetAbort();
     static wxPrinterError GetLastError();
+
+    %property(Abort, GetAbort, doc="See `GetAbort`");
+    %property(PrintDialogData, GetPrintDialogData, doc="See `GetPrintDialogData`");
 };
 
 
@@ -393,9 +461,6 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p
         wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
 }
 
-void wxPyPrintout::base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
-    wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
-}
 
 
 IMP_PYCALLBACK_BOOL_INTINT(wxPyPrintout, wxPrintout, OnBeginDocument);
@@ -417,10 +482,14 @@ MustHaveApp(wxPyPrintout);
 class wxPyPrintout  : public wxObject {
 public:
     %pythonAppend wxPyPrintout   "self._setCallbackInfo(self, Printout)"
+    %typemap(out) wxPyPrintout*;    // turn off this typemap
 
     wxPyPrintout(const wxString& title = wxPyPrintoutTitleStr);
-    //~wxPyPrintout();      wxPrintPreview object takes ownership...
+    ~wxPyPrintout();      
     
+    // Turn it back on again
+    %typemap(out) wxPyPrintout* { $result = wxPyMake_wxObject($1, $owner); }
+
     void _setCallbackInfo(PyObject* self, PyObject* _class);
 
     
@@ -428,6 +497,23 @@ public:
     wxDC* GetDC();
     void SetDC(wxDC *dc);
 
+    
+    void FitThisSizeToPaper(const wxSize& imageSize);
+    void FitThisSizeToPage(const wxSize& imageSize);
+    void FitThisSizeToPageMargins(const wxSize& imageSize, const wxPageSetupDialogData& pageSetupData);
+    void MapScreenSizeToPaper();
+    void MapScreenSizeToPage();
+    void MapScreenSizeToPageMargins(const wxPageSetupDialogData& pageSetupData);
+    void MapScreenSizeToDevice();
+
+    wxRect GetLogicalPaperRect() const;
+    wxRect GetLogicalPageRect() const;
+    wxRect GetLogicalPageMarginsRect(const wxPageSetupDialogData& pageSetupData) const;
+
+    void SetLogicalOrigin(wxCoord x, wxCoord y);
+    void OffsetLogicalOrigin(wxCoord xoff, wxCoord yoff);
+
+    
     void SetPageSizePixels(int w, int  h);
     DocDeclA(
         void, GetPageSizePixels(int *OUTPUT, int *OUTPUT),
@@ -448,19 +534,37 @@ public:
         void, GetPPIPrinter(int *OUTPUT, int *OUTPUT),
         "GetPPIPrinter() -> (x,y)");
 
+    void SetPaperRectPixels(const wxRect& paperRectPixels);
+    wxRect GetPaperRectPixels() const;
+
     bool IsPreview();
     void SetIsPreview(bool p);
 
     
-    bool base_OnBeginDocument(int startPage, int endPage);
-    void base_OnEndDocument();
-    void base_OnBeginPrinting();
-    void base_OnEndPrinting();
-    void base_OnPreparePrinting();
-    bool base_HasPage(int page);
+    bool OnBeginDocument(int startPage, int endPage);
+    void OnEndDocument();
+    void OnBeginPrinting();
+    void OnEndPrinting();
+    void OnPreparePrinting();
+    bool HasPage(int page);
     DocDeclA(
-        void, base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
-        "base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)");
+        void, GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
+        "GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)");
+    
+    %MAKE_BASE_FUNC(Printout, OnBeginDocument);
+    %MAKE_BASE_FUNC(Printout, OnEndDocument);
+    %MAKE_BASE_FUNC(Printout, OnBeginPrinting);
+    %MAKE_BASE_FUNC(Printout, OnEndPrinting);
+    %MAKE_BASE_FUNC(Printout, OnPreparePrinting);
+    %MAKE_BASE_FUNC(Printout, GetPageInfo);
+
+    
+    %property(DC, GetDC, SetDC, doc="See `GetDC` and `SetDC`");
+    %property(PPIPrinter, GetPPIPrinter, SetPPIPrinter, doc="See `GetPPIPrinter` and `SetPPIPrinter`");
+    %property(PPIScreen, GetPPIScreen, SetPPIScreen, doc="See `GetPPIScreen` and `SetPPIScreen`");
+    %property(PageSizeMM, GetPageSizeMM, SetPageSizeMM, doc="See `GetPageSizeMM` and `SetPageSizeMM`");
+    %property(PageSizePixels, GetPageSizePixels, SetPageSizePixels, doc="See `GetPageSizePixels` and `SetPageSizePixels`");
+    %property(Title, GetTitle, doc="See `GetTitle`");
 };
 
 //---------------------------------------------------------------------------
@@ -487,19 +591,24 @@ MustHaveApp(wxPreviewFrame);
 
 class wxPreviewFrame : public wxFrame {
 public:
+    %disownarg(wxPrintPreview*);
+    
     %pythonAppend wxPreviewFrame   "self._setOORInfo(self)"
-
     wxPreviewFrame(wxPrintPreview* preview, wxFrame* parent, const wxString& title,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize&  size = wxDefaultSize,
                    long style = wxDEFAULT_FRAME_STYLE,
                    const wxString& name = wxPyFrameNameStr);
 
+    %cleardisown(wxPrintPreview*);
+
     void Initialize();
     void CreateControlBar();
     void CreateCanvas();
 
     wxPreviewControlBar* GetControlBar() const;
+
+    %property(ControlBar, GetControlBar, doc="See `GetControlBar`");
 };
 
 
@@ -548,6 +657,9 @@ public:
     void OnFirst();
     void OnLast();
     void OnGoto();
+
+    %property(PrintPreview, GetPrintPreview, doc="See `GetPrintPreview`");
+    %property(ZoomControl, GetZoomControl, SetZoomControl, doc="See `GetZoomControl` and `SetZoomControl`");    
 };
 
 
@@ -558,6 +670,8 @@ MustHaveApp(wxPrintPreview);
 
 class wxPrintPreview : public wxObject {
 public:
+    %disownarg(wxPyPrintout*);
+    
     %nokwargs wxPrintPreview;
     wxPrintPreview(wxPyPrintout* printout,
                    wxPyPrintout* printoutForPrinting,
@@ -566,6 +680,8 @@ public:
                   wxPyPrintout* printoutForPrinting,
                   wxPrintData* data);
 
+    ~wxPrintPreview();
+    
     virtual bool SetCurrentPage(int pageNum);
     int GetCurrentPage();
 
@@ -573,6 +689,8 @@ public:
     wxPyPrintout *GetPrintout();
     wxPyPrintout *GetPrintoutForPrinting();
 
+    %cleardisown(wxPyPrintout*);
+    
     void SetFrame(wxFrame *frame);
     void SetCanvas(wxPreviewCanvas *canvas);
 
@@ -599,13 +717,24 @@ public:
     int GetMaxPage();
     int GetMinPage();
 
-    bool Ok();
+    bool IsOk();
+    %pythoncode { Ok = IsOk }
     void SetOk(bool ok);
 
     virtual bool Print(bool interactive);
     virtual void DetermineScaling();
 
-    %pythoncode { def __nonzero__(self): return self.Ok() }
+    %pythoncode { def __nonzero__(self): return self.IsOk() }
+    
+    %property(Canvas, GetCanvas, SetCanvas, doc="See `GetCanvas` and `SetCanvas`");
+    %property(CurrentPage, GetCurrentPage, SetCurrentPage, doc="See `GetCurrentPage` and `SetCurrentPage`");
+    %property(Frame, GetFrame, SetFrame, doc="See `GetFrame` and `SetFrame`");
+    %property(MaxPage, GetMaxPage, doc="See `GetMaxPage`");
+    %property(MinPage, GetMinPage, doc="See `GetMinPage`");
+    %property(PrintDialogData, GetPrintDialogData, doc="See `GetPrintDialogData`");
+    %property(Printout, GetPrintout, SetPrintout, doc="See `GetPrintout` and `SetPrintout`");
+    %property(PrintoutForPrinting, GetPrintoutForPrinting, doc="See `GetPrintoutForPrinting`");
+    %property(Zoom, GetZoom, SetZoom, doc="See `GetZoom` and `SetZoom`");
 };
 
 
@@ -617,8 +746,7 @@ public:
 %{
 
 #define DEC_PYCALLBACK_BOOL_PREWINDC(CBNAME)                                            \
-    bool CBNAME(wxPreviewCanvas* a, wxDC& b);                                           \
-    bool base_##CBNAME(wxPreviewCanvas* a, wxDC& b)
+    bool CBNAME(wxPreviewCanvas* a, wxDC& b)
 
 
 #define IMP_PYCALLBACK_BOOL_PREWINDC(CLASS, PCLASS, CBNAME)                             \
@@ -637,10 +765,7 @@ public:
         if (! found)                                                                    \
             rval = PCLASS::CBNAME(a, b);                                                \
         return rval;                                                                    \
-    }                                                                                   \
-    bool CLASS::base_##CBNAME(wxPreviewCanvas* a, wxDC& b) {                            \
-        return PCLASS::CBNAME(a, b);                                                    \
-    }
+    }                                       
 
 
 
@@ -695,6 +820,8 @@ MustHaveApp(wxPyPrintPreview);
 class wxPyPrintPreview : public wxPrintPreview
 {
 public:
+    %disownarg(wxPyPrintout*);
+
     %pythonAppend wxPyPrintPreview   "self._setCallbackInfo(self, PyPrintPreview)"
     %nokwargs wxPyPrintPreview;
     wxPyPrintPreview(wxPyPrintout* printout,
@@ -704,15 +831,25 @@ public:
                      wxPyPrintout* printoutForPrinting,
                      wxPrintData* data);
 
+    %cleardisown(wxPyPrintout*);
+    
     void _setCallbackInfo(PyObject* self, PyObject* _class);
     
-    bool base_SetCurrentPage(int pageNum);
-    bool base_PaintPage(wxPreviewCanvas *canvas, wxDC& dc);
-    bool base_DrawBlankPage(wxPreviewCanvas *canvas, wxDC& dc);
-    bool base_RenderPage(int pageNum);
-    void base_SetZoom(int percent);
-    bool base_Print(bool interactive);
-    void base_DetermineScaling();
+    bool SetCurrentPage(int pageNum);
+    bool PaintPage(wxPreviewCanvas *canvas, wxDC& dc);
+    bool DrawBlankPage(wxPreviewCanvas *canvas, wxDC& dc);
+    bool RenderPage(int pageNum);
+    void SetZoom(int percent);
+    bool Print(bool interactive);
+    void DetermineScaling();
+
+    %MAKE_BASE_FUNC(PyPrintPreview, SetCurrentPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, PaintPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, DrawBlankPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, RenderPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, SetZoom);
+    %MAKE_BASE_FUNC(PyPrintPreview, Print);
+    %MAKE_BASE_FUNC(PyPrintPreview, DetermineScaling);
 };
 
 
@@ -769,9 +906,13 @@ public:
     void SetPreviewCanvas(wxPreviewCanvas* canvas);
     void SetControlBar(wxPreviewControlBar* bar);
 
-    void base_Initialize();
-    void base_CreateCanvas();
-    void base_CreateControlBar();
+    void Initialize();
+    void CreateCanvas();
+    void CreateControlBar();
+
+    %MAKE_BASE_FUNC(PyPreviewFrame, Initialize);
+    %MAKE_BASE_FUNC(PyPreviewFrame, CreateCanvas);
+    %MAKE_BASE_FUNC(PyPreviewFrame, CreateControlBar);
 };
 
 
@@ -825,8 +966,11 @@ public:
 
     void SetPrintPreview(wxPrintPreview* preview);
 
-    void base_CreateButtons();
-    void base_SetZoomControl(int zoom);
+    void CreateButtons();
+    void SetZoomControl(int zoom);
+
+    %MAKE_BASE_FUNC(PreviewControlBar, CreateButtons);
+    %MAKE_BASE_FUNC(PreviewControlBar, SetZoomControl);
 };
 
 //---------------------------------------------------------------------------