wxScrolledWindow(parent, -1, pos, size, style, name)
{
m_printPreview = preview;
- SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
+#ifdef __WXMAC__
+ // The app workspace colour is always white, but we should have
+ // a contrast with the page.
+ wxSystemColour colourIndex = wxSYS_COLOUR_3DDKSHADOW;
+#else
+ wxSystemColour colourIndex = wxSYS_COLOUR_APPWORKSPACE;
+#endif
+ SetBackgroundColour(wxSystemSettings::GetColour(colourIndex));
SetScrollbars(15, 18, 100, 100);
}
// Responds to colour changes, and passes event on to children.
void wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent& event)
{
- SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
+#ifdef __WXMAC__
+ // The app workspace colour is always white, but we should have
+ // a contrast with the page.
+ wxSystemColour colourIndex = wxSYS_COLOUR_3DDKSHADOW;
+#else
+ wxSystemColour colourIndex = wxSYS_COLOUR_APPWORKSPACE;
+#endif
+ SetBackgroundColour(wxSystemSettings::GetColour(colourIndex));
Refresh();
// Propagate the event to the non-top-level children
EVT_CLOSE(wxPreviewFrame::OnCloseWindow)
END_EVENT_TABLE()
-wxPreviewFrame::wxPreviewFrame(wxPrintPreviewBase *preview, wxFrame *parent, const wxString& title,
+wxPreviewFrame::wxPreviewFrame(wxPrintPreviewBase *preview, wxWindow *parent, const wxString& title,
const wxPoint& pos, const wxSize& size, long style, const wxString& name):
wxFrame(parent, -1, title, pos, size, style, name)
{
m_printPreview = preview;
m_controlBar = NULL;
m_previewCanvas = NULL;
+
+ // Give the application icon
+#ifdef __WXMSW__
+ wxFrame* topFrame = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame);
+ if (topFrame)
+ SetIcon(topFrame->GetIcon());
+#endif
}
wxPreviewFrame::~wxPreviewFrame()
void wxPreviewFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
+ // MakeModal doesn't work on wxMac, especially when there
+ // are multiple top-level windows.
+#ifndef __WXMAC__
MakeModal(FALSE);
+#endif
// Need to delete the printout and the print preview
wxPrintout *printout = m_printPreview->GetPrintout();
void wxPreviewFrame::Initialize()
{
+#if wxUSE_STATUSBAR
CreateStatusBar();
+#endif
CreateCanvas();
CreateControlBar();
SetAutoLayout( TRUE );
SetSizer( item0 );
+ // MakeModal doesn't work on wxMac, especially when there
+ // are multiple top-level windows.
+#ifndef __WXMAC__
MakeModal(TRUE);
+#endif
Layout();
}
memoryDC.SelectObject(wxNullBitmap);
- wxChar buf[200];
+#if wxUSE_STATUSBAR
+ wxString status;
if (m_maxPage != 0)
- wxSprintf(buf, _("Page %d of %d"), pageNum, m_maxPage);
+ status = wxString::Format(_("Page %d of %d"), pageNum, m_maxPage);
else
- wxSprintf(buf, _("Page %d"), pageNum);
+ status = wxString::Format(_("Page %d"), pageNum);
if (m_previewFrame)
- m_previewFrame->SetStatusText(buf);
+ m_previewFrame->SetStatusText(status);
+#endif
return TRUE;
}