Fixed preview navigation as per ancient bug report

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2003-07-24 10:07:43 +00:00
parent a0fcdd5fed
commit b38b0d22d7
2 changed files with 29 additions and 20 deletions

View File

@ -267,13 +267,14 @@ public:
virtual wxPrintPreviewBase *GetPrintPreview() const
{ return m_printPreview; }
void OnPrint(wxCommandEvent& event);
void OnWindowClose(wxCommandEvent& event);
void OnNext();
void OnPrevious();
void OnFirst();
void OnLast();
void OnGoto();
void OnPrint();
void OnPrint(wxCommandEvent& WXUNUSED(event)) { OnPrint(); }
void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); }
void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); }
void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); }

View File

@ -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();
}
}
/*
@ -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);