X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff910433fc1163dfcee3aa04fe58f09baca2e99e..682214d5c6ec3e56dbdfd0c97d70d87e614b38c2:/include/wx/gtk/gnome/gprint.h diff --git a/include/wx/gtk/gnome/gprint.h b/include/wx/gtk/gnome/gprint.h index 11cb0278e7..3b8859c17b 100644 --- a/include/wx/gtk/gnome/gprint.h +++ b/include/wx/gtk/gnome/gprint.h @@ -4,13 +4,14 @@ // Purpose: GNOME printing support // Created: 09/20/04 // Copyright: Robert Roebling +// Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// #ifndef __gprint_H__ #define __gprint_H__ -#if defined(__GNUG__) && !defined(__APPLE__) - #pragma interface "gprint.h" +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface #endif // Include wxWindows' headers @@ -19,6 +20,8 @@ #include #endif +#if wxUSE_LIBGNOMEPRINT + #include "wx/print.h" #include "wx/prntbase.h" #include "wx/printdlg.h" @@ -43,6 +46,7 @@ public: virtual bool Ok() const { return true; } GnomePrintConfig* GetPrintConfig() { return m_config; } + void SetPrintJob( GnomePrintJob *job ) { m_job = job; } GnomePrintJob* GetPrintJob() { return m_job; } @@ -74,7 +78,10 @@ public: wxPrintDialogData *data = NULL ); virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintData *data ); - + + virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData * data = NULL ); + virtual bool HasPrintSetupDialog(); virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data ); virtual bool HasOwnPrintToFile(); @@ -87,14 +94,23 @@ public: }; //---------------------------------------------------------------------------- -// wxGnomePrintSetupDialog +// wxGnomePrintDialog //---------------------------------------------------------------------------- -class wxGnomePrintSetupDialog: public wxDialog +class wxGnomePrintDialog: public wxPrintDialogBase { public: - wxGnomePrintSetupDialog( wxWindow *parent, wxPrintData *data ); - ~wxGnomePrintSetupDialog(); + wxGnomePrintDialog( wxWindow *parent, + wxPrintDialogData* data = NULL ); + wxGnomePrintDialog( wxWindow *parent, wxPrintData* data); + ~wxGnomePrintDialog(); + + wxPrintData& GetPrintData() + { return m_printDialogData.GetPrintData(); } + wxPrintDialogData& GetPrintDialogData() + { return m_printDialogData; } + + wxDC *GetPrintDC(); virtual int ShowModal(); @@ -110,8 +126,46 @@ private: int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {} virtual void DoMoveWindow(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height)) {} + + void Init(); + wxPrintDialogData m_printDialogData; + private: - DECLARE_DYNAMIC_CLASS(wxGnomePrintSetupDialog) + DECLARE_DYNAMIC_CLASS(wxGnomePrintDialog) +}; + +//---------------------------------------------------------------------------- +// wxGnomePageSetupDialog +//---------------------------------------------------------------------------- + +class wxGnomePageSetupDialog: public wxPageSetupDialogBase +{ +public: + wxGnomePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData* data = NULL ); + ~wxGnomePageSetupDialog(); + + virtual wxPageSetupDialogData& GetPageSetupDialogData(); + + virtual int ShowModal(); + + virtual bool Validate(); + virtual bool TransferDataToWindow(); + virtual bool TransferDataFromWindow(); + +private: + // Implement some base class methods to do nothing to avoid asserts and + // GTK warnings, since this is not a real wxDialog. + virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y), + int WXUNUSED(width), int WXUNUSED(height), + int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {} + virtual void DoMoveWindow(int WXUNUSED(x), int WXUNUSED(y), + int WXUNUSED(width), int WXUNUSED(height)) {} + + wxPageSetupDialogData m_pageDialogData; + +private: + DECLARE_DYNAMIC_CLASS(wxGnomePageSetupDialog) }; //---------------------------------------------------------------------------- @@ -134,6 +188,7 @@ public: private: GnomePrintContext *m_gpc; + bool m_native_preview; private: DECLARE_DYNAMIC_CLASS(wxGnomePrinter) @@ -302,4 +357,7 @@ private: DECLARE_NO_COPY_CLASS(wxGnomePrintDC) }; +#endif + // wxUSE_LIBGNOMEPRINT + #endif