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
- Show pages icons in window list menu in wxAuiNotebook (Ronny Krüger).
- Add "initial selection" parameter to wxGetSingleChoice() (Nikolay Tjushkov).
- Implement wxDocument::Revert() (troelsk).
+- Allow overriding print preview frame creation in docview (troelsk).
GTK:
#endif // WXWIN_COMPATIBILITY_2_6
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
virtual bool TryBefore(wxEvent& event);
*/
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().
#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))
{
#if wxUSE_PRINTING_ARCHITECTURE
return;
}
- wxPreviewFrame *
- frame = new wxPreviewFrame(preview, wxTheApp->GetTopWindow(),
- _("Print Preview"));
+ wxPreviewFrame* frame = CreatePreviewFrame(preview,
+ wxTheApp->GetTopWindow(),
+ _("Print Preview"));
+ wxCHECK_RET( frame, "should create a print preview frame" );
+
frame->Centre(wxBOTH);
frame->Initialize();
frame->Show(true);