Allow overriding print preview frame creation in docview.

Add a virtual wxDocManager::CreatePreviewFrame() which can be overridden to
customize the print preview used by docview framework.

Closes #11390.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-03-25 20:07:58 +00:00
parent 18e543ea9d
commit 94dc70d190
4 changed files with 39 additions and 3 deletions

View File

@@ -498,6 +498,7 @@ All (GUI):
- Show pages icons in window list menu in wxAuiNotebook (Ronny Krüger). - Show pages icons in window list menu in wxAuiNotebook (Ronny Krüger).
- Add "initial selection" parameter to wxGetSingleChoice() (Nikolay Tjushkov). - Add "initial selection" parameter to wxGetSingleChoice() (Nikolay Tjushkov).
- Implement wxDocument::Revert() (troelsk). - Implement wxDocument::Revert() (troelsk).
- Allow overriding print preview frame creation in docview (troelsk).
GTK: GTK:

View File

@@ -478,6 +478,12 @@ public:
#endif // WXWIN_COMPATIBILITY_2_6 #endif // WXWIN_COMPATIBILITY_2_6
protected: protected:
#if wxUSE_PRINTING_ARCHITECTURE
virtual wxPreviewFrame* CreatePreviewFrame(wxPrintPreviewBase* preview,
wxWindow *parent,
const wxString& title);
#endif // wxUSE_PRINTING_ARCHITECTURE
// hook the currently active view into event handlers chain here // hook the currently active view into event handlers chain here
virtual bool TryBefore(wxEvent& event); virtual bool TryBefore(wxEvent& event);

View File

@@ -516,6 +516,24 @@ public:
*/ */
wxList& GetTemplates(); wxList& GetTemplates();
/**
Create the frame used for print preview.
This method can be overridden if you need to change the behaviour or
appearance of the preview window. By default, a standard wxPreviewFrame
is created.
@since 2.9.1
@param preview The associated preview object.
@param parent The parent window for the frame.
@param title The suggested title for the print preview frame.
@return A new print preview frame, must not return @NULL.
*/
virtual wxPreviewFrame* CreatePreviewFrame(wxPrintPreviewBase* preview,
wxWindow* parent,
const wxString& title);
/** /**
Initializes data; currently just calls OnCreateFileHistory(). Initializes data; currently just calls OnCreateFileHistory().

View File

@@ -1114,6 +1114,15 @@ void wxDocManager::OnPrint(wxCommandEvent& WXUNUSED(event))
#endif // wxUSE_PRINTING_ARCHITECTURE #endif // wxUSE_PRINTING_ARCHITECTURE
} }
#if wxUSE_PRINTING_ARCHITECTURE
wxPreviewFrame* wxDocManager::CreatePreviewFrame(wxPrintPreviewBase* preview,
wxWindow *parent,
const wxString& title)
{
return new wxPreviewFrame(preview, parent, title);
}
#endif // wxUSE_PRINTING_ARCHITECTURE
void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event)) void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event))
{ {
#if wxUSE_PRINTING_ARCHITECTURE #if wxUSE_PRINTING_ARCHITECTURE
@@ -1135,9 +1144,11 @@ void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event))
return; return;
} }
wxPreviewFrame * wxPreviewFrame* frame = CreatePreviewFrame(preview,
frame = new wxPreviewFrame(preview, wxTheApp->GetTopWindow(), wxTheApp->GetTopWindow(),
_("Print Preview")); _("Print Preview"));
wxCHECK_RET( frame, "should create a print preview frame" );
frame->Centre(wxBOTH); frame->Centre(wxBOTH);
frame->Initialize(); frame->Initialize();
frame->Show(true); frame->Show(true);