X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e90c1d2a19361551eb07778280f22be3e759cf64..236a9de39afa090fdee3cf91cb5364ceca69e3f8:/src/common/prntbase.cpp?ds=sidebyside diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index 4de06a39de..03182d5c25 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -55,7 +55,6 @@ #endif #endif // __WXMSW__ -#if !USE_SHARED_LIBRARY IMPLEMENT_CLASS(wxPrinterBase, wxObject) IMPLEMENT_ABSTRACT_CLASS(wxPrintout, wxObject) IMPLEMENT_CLASS(wxPreviewCanvas, wxWindow) @@ -71,7 +70,6 @@ BEGIN_EVENT_TABLE(wxPreviewCanvas, wxScrolledWindow) EVT_PAINT(wxPreviewCanvas::OnPaint) EVT_SYS_COLOUR_CHANGED(wxPreviewCanvas::OnSysColourChanged) END_EVENT_TABLE() -#endif /* * Printer @@ -197,6 +195,13 @@ void wxPreviewCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) wxPaintDC dc(this); PrepareDC( dc ); +/* +#ifdef __WXGTK__ + if (!GetUpdateRegion().IsEmpty()) + dc.SetClippingRegion( GetUpdateRegion() ); +#endif +*/ + if (m_printPreview) { m_printPreview->PaintPage(this, dc); @@ -363,14 +368,14 @@ void wxPreviewControlBar::CreateButtons() if (m_buttonFlags & wxPREVIEW_PREVIOUS) { - m_previousPageButton = new wxButton(this, wxID_PREVIEW_PREVIOUS, "<<", wxPoint(x, y), + m_previousPageButton = new wxButton(this, wxID_PREVIEW_PREVIOUS, wxT("<<"), wxPoint(x, y), wxSize(buttonWidth, buttonHeight)); x += gap + buttonWidth; } if (m_buttonFlags & wxPREVIEW_NEXT) { - m_nextPageButton = new wxButton(this, wxID_PREVIEW_NEXT, ">>", + m_nextPageButton = new wxButton(this, wxID_PREVIEW_NEXT, wxT(">>"), wxPoint(x, y), wxSize(buttonWidth, buttonHeight)); x += gap + buttonWidth; } @@ -384,14 +389,21 @@ void wxPreviewControlBar::CreateButtons() "120%", "150%", "200%" }; - m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM, - wxPoint(x, y), wxSize(100, -1)); - - // Yes, this look stupid, but this is because gcc gives up otherwise. int n = WXSIZEOF(choices); - for ( int i = 0; i < n; i++ ) - m_zoomControl->Append(choices[i]); - + + wxString* strings = new wxString[n]; + int i; + for (i = 0; i < n; i++ ) + strings[i] = choices[i]; + + m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM, + wxPoint(x, y), + wxSize(100, -1), + n, + strings + ); + delete[] strings; + SetZoomControl(m_printPreview->GetZoom()); } @@ -402,6 +414,7 @@ void wxPreviewControlBar::SetZoomControl(int zoom) { char buf[20]; sprintf(buf, "%d%%", zoom); +// Someone is calling methods that do no exist in wxChoice!! So I'll just comment out for VA for now if (m_zoomControl) m_zoomControl->SetStringSelection(buf); } @@ -409,7 +422,7 @@ void wxPreviewControlBar::SetZoomControl(int zoom) int wxPreviewControlBar::GetZoomControl() { wxChar buf[20]; - if (m_zoomControl && (m_zoomControl->GetStringSelection() != T(""))) + if (m_zoomControl && (m_zoomControl->GetStringSelection() != wxT(""))) { wxStrcpy(buf, m_zoomControl->GetStringSelection()); buf[wxStrlen(buf) - 1] = 0; @@ -644,8 +657,10 @@ bool wxPrintPreviewBase::RenderPage(int pageNum) if (!m_previewCanvas) { - wxMessageBox(_("wxPrintPreviewBase::RenderPage: must use wxPrintPreviewBase::SetCanvas to let me know about the canvas!"), - _("Print Preview Failure"), wxOK); + wxFAIL_MSG(_T("wxPrintPreviewBase::RenderPage: must use " + "wxPrintPreviewBase::SetCanvas to let me " + "know about the canvas!")); + return FALSE; } m_previewCanvas->GetSize(&canvasWidth, &canvasHeight); @@ -772,10 +787,10 @@ void wxPrintPreviewBase::SetZoom(int percent) m_previewBitmap = NULL; } - if (m_previewCanvas) { RenderPage(m_currentPage); + ((wxScrolledWindow *) m_previewCanvas)->Scroll(0, 0); m_previewCanvas->Clear(); m_previewCanvas->Refresh(); }