X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2b354f9c9f1473b2d6ff0ab643ebf57dcbfb656..1d73f41603de8103218a8460792f244230c6a7b1:/src/common/prntbase.cpp diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index ee3ec90dad..c16bc4fd65 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "prntbase.h" #endif @@ -195,7 +195,7 @@ wxScrolledWindow(parent, -1, pos, size, style, name) wxSystemColour colourIndex = wxSYS_COLOUR_3DDKSHADOW; #else wxSystemColour colourIndex = wxSYS_COLOUR_APPWORKSPACE; -#endif +#endif SetBackgroundColour(wxSystemSettings::GetColour(colourIndex)); SetScrollbars(10, 10, 100, 100); @@ -232,7 +232,7 @@ void wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent& event) wxSystemColour colourIndex = wxSYS_COLOUR_3DDKSHADOW; #else wxSystemColour colourIndex = wxSYS_COLOUR_APPWORKSPACE; -#endif +#endif SetBackgroundColour(wxSystemSettings::GetColour(colourIndex)); Refresh(); @@ -242,34 +242,42 @@ void wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent& event) void wxPreviewCanvas::OnChar(wxKeyEvent &event) { + wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar(); if (event.GetKeyCode() == WXK_ESCAPE) { ((wxPreviewFrame*) GetParent())->Close(TRUE); return; } - + else if (event.GetKeyCode() == WXK_TAB) + { + controlBar->OnGoto(); + return; + } + else if (event.GetKeyCode() == WXK_RETURN) + { + controlBar->OnPrint(); + return; + } + if (!event.ControlDown()) { event.Skip(); return; } - wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar(); - switch(event.GetKeyCode()) - { - case WXK_NEXT: - controlBar->OnNext(); break; - case WXK_PRIOR: - controlBar->OnPrevious(); break; - case WXK_HOME: - controlBar->OnFirst(); break; - case WXK_END: - controlBar->OnLast(); break; - case WXK_TAB: - controlBar->OnGoto(); break; - default: - event.Skip(); - } + switch(event.GetKeyCode()) + { + case WXK_NEXT: + controlBar->OnNext(); break; + case WXK_PRIOR: + controlBar->OnPrevious(); break; + case WXK_HOME: + controlBar->OnFirst(); break; + case WXK_END: + controlBar->OnLast(); break; + default: + event.Skip(); + } } /* @@ -278,7 +286,7 @@ void wxPreviewCanvas::OnChar(wxKeyEvent &event) BEGIN_EVENT_TABLE(wxPreviewControlBar, wxPanel) EVT_BUTTON(wxID_PREVIEW_CLOSE, wxPreviewControlBar::OnWindowClose) - EVT_BUTTON(wxID_PREVIEW_PRINT, wxPreviewControlBar::OnPrint) + EVT_BUTTON(wxID_PREVIEW_PRINT, wxPreviewControlBar::OnPrintButton) EVT_BUTTON(wxID_PREVIEW_PREVIOUS, wxPreviewControlBar::OnPreviousButton) EVT_BUTTON(wxID_PREVIEW_NEXT, wxPreviewControlBar::OnNextButton) EVT_BUTTON(wxID_PREVIEW_FIRST, wxPreviewControlBar::OnFirstButton) @@ -323,7 +331,7 @@ void wxPreviewControlBar::OnWindowClose(wxCommandEvent& WXUNUSED(event)) frame->Close(TRUE); } -void wxPreviewControlBar::OnPrint(wxCommandEvent& WXUNUSED(event)) +void wxPreviewControlBar::OnPrint(void) { wxPrintPreviewBase *preview = GetPrintPreview(); preview->Print(TRUE); @@ -425,58 +433,58 @@ void wxPreviewControlBar::CreateButtons() SetSize(0, 0, 400, 40); wxBoxSizer *item0 = new wxBoxSizer( wxHORIZONTAL ); - + int smallButtonWidth = 45; - + m_closeButton = new wxButton( this, wxID_PREVIEW_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 ); item0->Add( m_closeButton, 0, wxALIGN_CENTRE|wxALL, 5 ); - + if (m_buttonFlags & wxPREVIEW_PRINT) { m_printButton = new wxButton( this, wxID_PREVIEW_PRINT, _("&Print..."), wxDefaultPosition, wxDefaultSize, 0 ); item0->Add( m_printButton, 0, wxALIGN_CENTRE|wxALL, 5 ); } - + if (m_buttonFlags & wxPREVIEW_FIRST) { m_firstPageButton = new wxButton( this, wxID_PREVIEW_FIRST, _("|<<"), wxDefaultPosition, wxSize(smallButtonWidth,-1), 0 ); item0->Add( m_firstPageButton, 0, wxALIGN_CENTRE|wxALL, 5 ); } - + if (m_buttonFlags & wxPREVIEW_PREVIOUS) { m_previousPageButton = new wxButton( this, wxID_PREVIEW_PREVIOUS, _("<<"), wxDefaultPosition, wxSize(smallButtonWidth,-1), 0 ); item0->Add( m_previousPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 ); } - + if (m_buttonFlags & wxPREVIEW_NEXT) { m_nextPageButton = new wxButton( this, wxID_PREVIEW_NEXT, _(">>"), wxDefaultPosition, wxSize(smallButtonWidth,-1), 0 ); item0->Add( m_nextPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 ); } - + if (m_buttonFlags & wxPREVIEW_LAST) { m_lastPageButton = new wxButton( this, wxID_PREVIEW_LAST, _(">>|"), wxDefaultPosition, wxSize(smallButtonWidth,-1), 0 ); item0->Add( m_lastPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 ); } - + if (m_buttonFlags & wxPREVIEW_GOTO) { m_gotoPageButton = new wxButton( this, wxID_PREVIEW_GOTO, _("&Goto..."), wxDefaultPosition, wxDefaultSize, 0 ); item0->Add( m_gotoPageButton, 0, wxALIGN_CENTRE|wxALL, 5 ); } - + if (m_buttonFlags & wxPREVIEW_ZOOM) { - wxString choices[] = + wxString choices[] = { wxT("10%"), wxT("15%"), wxT("20%"), wxT("25%"), wxT("30%"), wxT("35%"), wxT("40%"), wxT("45%"), wxT("50%"), wxT("55%"), wxT("60%"), wxT("65%"), wxT("70%"), wxT("75%"), wxT("80%"), wxT("85%"), wxT("90%"), wxT("95%"), wxT("100%"), wxT("110%"), wxT("120%"), wxT("150%"), wxT("200%") }; int n = WXSIZEOF(choices); - + m_zoomControl = new wxChoice( this, wxID_PREVIEW_ZOOM, wxDefaultPosition, wxSize(70,-1), n, choices, 0 ); item0->Add( m_zoomControl, 0, wxALIGN_CENTRE|wxALL, 5 ); SetZoomControl(m_printPreview->GetZoom()); @@ -529,7 +537,7 @@ wxFrame(parent, -1, title, pos, size, style, name) wxFrame* topFrame = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame); if (topFrame) SetIcon(topFrame->GetIcon()); -#endif +#endif } wxPreviewFrame::~wxPreviewFrame() @@ -542,7 +550,7 @@ void wxPreviewFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) // are multiple top-level windows. #ifndef __WXMAC__ MakeModal(FALSE); -#endif +#endif // Need to delete the printout and the print preview wxPrintout *printout = m_printPreview->GetPrintout(); @@ -584,7 +592,7 @@ void wxPreviewFrame::Initialize() #endif Layout(); - + m_printPreview->AdjustScrollbars(m_previewCanvas); m_previewCanvas->SetFocus(); m_controlBar->SetFocus(); @@ -674,11 +682,11 @@ bool wxPrintPreviewBase::SetCurrentPage(int pageNum) delete m_previewBitmap; m_previewBitmap = NULL; } - + if (m_previewCanvas) { AdjustScrollbars(m_previewCanvas); - + if (!RenderPage(pageNum)) return FALSE; m_previewCanvas->Refresh(); @@ -737,13 +745,13 @@ void wxPrintPreviewBase::AdjustScrollbars(wxPreviewCanvas *canvas) double actualHeight = (zoomScale*m_pageHeight*m_previewScale); // Set the scrollbars appropriately - int totalWidth = actualWidth + 2*m_leftMargin; - int totalHeight = actualHeight + 2*m_topMargin; + int totalWidth = (int)(actualWidth + 2*m_leftMargin); + int totalHeight = (int)(actualHeight + 2*m_topMargin); int scrollUnitsX = totalWidth/10; int scrollUnitsY = totalHeight/10; wxSize virtualSize = canvas->GetVirtualSize(); if (virtualSize.GetWidth() != totalWidth || virtualSize.GetHeight() != totalHeight) - canvas->SetScrollbars(10, 10, scrollUnitsX, scrollUnitsY, 0, 0, TRUE); + canvas->SetScrollbars(10, 10, scrollUnitsX, scrollUnitsY, 0, 0, TRUE); } bool wxPrintPreviewBase::RenderPage(int pageNum) @@ -894,7 +902,7 @@ void wxPrintPreviewBase::SetZoom(int percent) AdjustScrollbars(m_previewCanvas); RenderPage(m_currentPage); ((wxScrolledWindow *) m_previewCanvas)->Scroll(0, 0); - m_previewCanvas->Clear(); + m_previewCanvas->ClearBackground(); m_previewCanvas->Refresh(); m_previewCanvas->SetFocus(); }