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:
@@ -498,6 +498,7 @@ All (GUI):
|
||||
- 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:
|
||||
|
||||
|
@@ -478,6 +478,12 @@ public:
|
||||
#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);
|
||||
|
||||
|
@@ -516,6 +516,24 @@ public:
|
||||
*/
|
||||
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().
|
||||
|
||||
|
@@ -1114,6 +1114,15 @@ void wxDocManager::OnPrint(wxCommandEvent& WXUNUSED(event))
|
||||
#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
|
||||
@@ -1135,9 +1144,11 @@ void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event))
|
||||
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);
|
||||
|
Reference in New Issue
Block a user