]> git.saurik.com Git - wxWidgets.git/commitdiff
* wxPrintDialog no longer derives from wxDialog.
authorRobin Dunn <robin@alldunn.com>
Sat, 13 Nov 2004 02:30:14 +0000 (02:30 +0000)
committerRobin Dunn <robin@alldunn.com>
Sat, 13 Nov 2004 02:30:14 +0000 (02:30 +0000)
* Add wxRTTI info for wxPyPrintout
* wxPrintFactory probably doesn't need to be exposed

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

wxPython/demo/PrintFramework.py
wxPython/docs/CHANGES.txt
wxPython/include/wx/wxPython/printfw.h
wxPython/src/__windows_rename.i
wxPython/src/_printfw.i
wxPython/wxPython/_windows.py

index 5db34aaa3ee2bf84d798e6c1596380228b425675..c63ac9630a56f18aa8c207e415cb52021338884e 100644 (file)
@@ -133,7 +133,7 @@ class TestPrintPanel(wx.Panel):
 
         # this makes a copy of the wx.PrintData instead of just saving
         # a reference to the one inside the printDialogData that will
 
         # this makes a copy of the wx.PrintData instead of just saving
         # a reference to the one inside the printDialogData that will
-        # be destroyed
+        # be destroyed when the dialog is destroyed
         self.printData = wx.PrintData( printerDialog.GetPrintDialogData().GetPrintData() )
         
         printerDialog.Destroy()
         self.printData = wx.PrintData( printerDialog.GetPrintDialogData().GetPrintData() )
         
         printerDialog.Destroy()
index ef87d2e1d11dba8f38bb55030f2cd4259ea268f4..d0f375c6c7711a12676548925e3e3e2c51661915 100644 (file)
@@ -5,10 +5,9 @@ Recent Changes for wxPython
 2.5.3.2
 -------
 
 2.5.3.2
 -------
 
-New factory based printing framework.  (TODO: Say more about this!)
-
 wx.Sizer Add, Insert, and Prepend funcitons now return a reference to the
 wx.Sizer Add, Insert, and Prepend funcitons now return a reference to the
-wx.SizerItem that was added to the sizer.
+wx.SizerItem that was added to the sizer, and the wx.SizerItem has a
+GetRect accessor to give the position of the item on the parent window.
 
 Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given
 wx.Window, wx.Sizer or position index.
 
 Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given
 wx.Window, wx.Sizer or position index.
index 048941f2ea9adef337ac8b691a8aabcc763d99e7..f3234f1534d5ba71c981878df94a91c762404fa4 100644 (file)
@@ -35,6 +35,7 @@ public:
     void base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
 
     PYPRIVATE;
     void base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
 
     PYPRIVATE;
+    DECLARE_ABSTRACT_CLASS(wxPyPrintout); 
 };
 
 #endif
 };
 
 #endif
index 952d313909bca8e2076d60514fb7f57d56413b4c..6ff078cace620490beee4b49554b865c3b547e2b 100644 (file)
 %rename(PyPrintPreview)                     wxPyPrintPreview;
 %rename(PyPreviewFrame)                     wxPyPreviewFrame;
 %rename(PyPreviewControlBar)                wxPyPreviewControlBar;
 %rename(PyPrintPreview)                     wxPyPrintPreview;
 %rename(PyPreviewFrame)                     wxPyPreviewFrame;
 %rename(PyPreviewControlBar)                wxPyPreviewControlBar;
-%rename(PrintFactory)                       wxPrintFactory;
-%rename(PrintNativeDataBase)                wxPrintNativeDataBase;
 
 #endif
 
 #endif
index 897e48a954a3a4faad7df49ccb2dd6c95c006782..1e3c1fc7b9170d0f4887bb41b86c15998be44165 100644 (file)
@@ -245,12 +245,16 @@ public:
 };
 
 
 };
 
 
+
 MustHaveApp(wxPrintDialog);
 
 MustHaveApp(wxPrintDialog);
 
-class wxPrintDialog : public wxDialog {
-public:
-    %pythonAppend wxPrintDialog         "self._setOORInfo(self)"
 
 
+// NOTE: Contrary to it's name, this class doesn't derive from wxDialog.  It
+// is a facade in front of a platform-specific (native dialog) provided by the
+// wxPrintFactory.
+
+class wxPrintDialog : public wxObject {
+public:
     wxPrintDialog(wxWindow* parent, wxPrintDialogData* data = NULL);
 
     // TODO?: wxPrintDialog(wxWindow *parent, wxPrintData* data);
     wxPrintDialog(wxWindow* parent, wxPrintDialogData* data = NULL);
 
     // TODO?: wxPrintDialog(wxWindow *parent, wxPrintData* data);
@@ -285,11 +289,11 @@ public:
     wxPrinter(wxPrintDialogData* data = NULL);
     ~wxPrinter();
 
     wxPrinter(wxPrintDialogData* data = NULL);
     ~wxPrinter();
 
-    virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout);
-    virtual void ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message);
+    virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPyPrintout *printout);
+    virtual void ReportError(wxWindow *parent, wxPyPrintout *printout, const wxString& message);
 
     virtual bool Setup(wxWindow *parent);
 
     virtual bool Setup(wxWindow *parent);
-    virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true);
+    virtual bool Print(wxWindow *parent, wxPyPrintout *printout, bool prompt = true);
     virtual wxDC* PrintDialog(wxWindow *parent);
     
     virtual wxPrintDialogData& GetPrintDialogData() const;
     virtual wxDC* PrintDialog(wxWindow *parent);
     
     virtual wxPrintDialogData& GetPrintDialogData() const;
@@ -300,9 +304,12 @@ public:
 
 
 //---------------------------------------------------------------------------
 
 
 //---------------------------------------------------------------------------
-// Custom wxPrintout class that knows how to call python
+// Custom wxPrintout class that knows how to call python, See implementation in
+// include/sx/wxPython/printfw.h
+
 %{
 
 %{
 
+IMPLEMENT_ABSTRACT_CLASS(wxPyPrintout, wxPrintout);
 
 // Since this one would be tough and ugly to do with the Macros...
 void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
 
 // Since this one would be tough and ugly to do with the Macros...
 void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
@@ -780,101 +787,6 @@ public:
     void base_SetZoomControl(int zoom);
 };
 
     void base_SetZoomControl(int zoom);
 };
 
-//---------------------------------------------------------------------------
-// wxPrintFactory
-//---------------------------------------------------------------------------
-
-class wxPrintFactory
-{
-public:
-    // wxPrintFactory() {}            *** It's an ABC
-    // virtual ~wxPrintFactory();
-    
-    virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data );
-
-    %nokwargs CreatePrintPreview;
-    virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, 
-                                                    wxPrintout *printout = NULL, 
-                                                    wxPrintDialogData *data = NULL );
-    virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, 
-                                                    wxPrintout *printout, 
-                                                    wxPrintData *data );
-
-    %nokwargs CreatePrintDialog;
-    virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, 
-                                                  wxPrintDialogData *data = NULL );
-    virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, 
-                                                  wxPrintData *data );
-                                                  
-    // What to do and what to show in the wxPrintDialog
-    // a) Use the generic print setup dialog or a native one?
-    virtual bool HasPrintSetupDialog();
-    virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data );
-    
-    // b) Provide the "print to file" option ourselves or via print setup?
-    virtual bool HasOwnPrintToFile();
-    
-    // c) Show current printer
-    virtual bool HasPrinterLine();
-    virtual wxString CreatePrinterLine();
-    
-    // d) Show Status line for current printer?
-    virtual bool HasStatusLine();
-    virtual wxString CreateStatusLine();
-
-                                                  
-    virtual wxPrintNativeDataBase *CreatePrintNativeData();
-    
-    static void SetPrintFactory( wxPrintFactory *factory );
-    static wxPrintFactory *GetFactory();
-    //static wxPrintFactory *m_factory;
-};
-
-// class wxNativePrintFactory: public wxPrintFactory
-// {
-// public:
-//     virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data );
-    
-//     virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, 
-//                                                     wxPrintout *printout = NULL, 
-//                                                     wxPrintDialogData *data = NULL );
-//     virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, 
-//                                                     wxPrintout *printout,
-//                                                     wxPrintData *data );
-                                                    
-//     virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, 
-//                                                   wxPrintDialogData *data = NULL );
-//     virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, 
-//                                                   wxPrintData *data );
-                                                  
-//     virtual bool HasPrintSetupDialog();
-//     virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data );
-//     virtual bool HasOwnPrintToFile();
-//     virtual bool HasPrinterLine();
-//     virtual wxString CreatePrinterLine();
-//     virtual bool HasStatusLine();
-//     virtual wxString CreateStatusLine();
-    
-//     virtual wxPrintNativeDataBase *CreatePrintNativeData();
-// };
-
-
-class wxPrintNativeDataBase: public wxObject
-{
-public:
-    wxPrintNativeDataBase();
-    virtual ~wxPrintNativeDataBase() {}
-    
-    virtual bool TransferTo( wxPrintData &data ) = 0;
-    virtual bool TransferFrom( const wxPrintData &data ) = 0; 
-    
-    virtual bool Ok() const = 0;
-    
-    int  m_ref;
-};
-
-
-
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 %init %{
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 %init %{
index d1a9ea9900a649bedf2147220043a50902d51e25..2d6349a59ff86dc4f0906f3e2f729aabd6853261 100644 (file)
@@ -341,12 +341,6 @@ wxPyPreviewFrame = wx._windows.PyPreviewFrame
 wxPyPreviewFramePtr = wx._windows.PyPreviewFramePtr
 wxPyPreviewControlBar = wx._windows.PyPreviewControlBar
 wxPyPreviewControlBarPtr = wx._windows.PyPreviewControlBarPtr
 wxPyPreviewFramePtr = wx._windows.PyPreviewFramePtr
 wxPyPreviewControlBar = wx._windows.PyPreviewControlBar
 wxPyPreviewControlBarPtr = wx._windows.PyPreviewControlBarPtr
-wxPrintFactory = wx._windows.PrintFactory
-wxPrintFactoryPtr = wx._windows.PrintFactoryPtr
-wxPrintFactory_SetPrintFactory = wx._windows.PrintFactory_SetPrintFactory
-wxPrintFactory_GetFactory = wx._windows.PrintFactory_GetFactory
-wxPrintNativeDataBase = wx._windows.PrintNativeDataBase
-wxPrintNativeDataBasePtr = wx._windows.PrintNativeDataBasePtr
 
 
 d = globals()
 
 
 d = globals()