* wxPrintDialog no longer derives from wxDialog.

* 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
This commit is contained in:
Robin Dunn 2004-11-13 02:30:14 +00:00
parent 7b8a9da3c8
commit 6b9f434ef3
6 changed files with 18 additions and 114 deletions

View 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
# be destroyed
# be destroyed when the dialog is destroyed
self.printData = wx.PrintData( printerDialog.GetPrintDialogData().GetPrintData() )
printerDialog.Destroy()

View File

@ -5,10 +5,9 @@ Recent Changes for wxPython
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.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.

View File

@ -35,6 +35,7 @@ public:
void base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
PYPRIVATE;
DECLARE_ABSTRACT_CLASS(wxPyPrintout);
};
#endif

View File

@ -189,7 +189,5 @@
%rename(PyPrintPreview) wxPyPrintPreview;
%rename(PyPreviewFrame) wxPyPreviewFrame;
%rename(PyPreviewControlBar) wxPyPreviewControlBar;
%rename(PrintFactory) wxPrintFactory;
%rename(PrintNativeDataBase) wxPrintNativeDataBase;
#endif

View File

@ -245,12 +245,16 @@ public:
};
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);
@ -285,11 +289,11 @@ public:
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 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;
@ -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) {
@ -780,101 +787,6 @@ public:
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 %{

View File

@ -341,12 +341,6 @@ wxPyPreviewFrame = wx._windows.PyPreviewFrame
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()