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 virtual wxPrintPreviewBase *GetPrintPreview() const
{ return m_printPreview; } { return m_printPreview; }
void OnPrint(wxCommandEvent& event);
void OnWindowClose(wxCommandEvent& event); void OnWindowClose(wxCommandEvent& event);
void OnNext(); void OnNext();
void OnPrevious(); void OnPrevious();
void OnFirst(); void OnFirst();
void OnLast(); void OnLast();
void OnGoto(); void OnGoto();
void OnPrint();
void OnPrint(wxCommandEvent& WXUNUSED(event)) { OnPrint(); }
void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); } void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); }
void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); } void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); }
void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); } void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); }

View File

@@ -242,11 +242,22 @@ void wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent& event)
void wxPreviewCanvas::OnChar(wxKeyEvent &event) void wxPreviewCanvas::OnChar(wxKeyEvent &event)
{ {
wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar();
if (event.GetKeyCode() == WXK_ESCAPE) if (event.GetKeyCode() == WXK_ESCAPE)
{ {
((wxPreviewFrame*) GetParent())->Close(TRUE); ((wxPreviewFrame*) GetParent())->Close(TRUE);
return; return;
} }
else if (event.GetKeyCode() == WXK_TAB)
{
controlBar->OnGoto();
return;
}
else if (event.GetKeyCode() == WXK_RETURN)
{
controlBar->OnPrint();
return;
}
if (!event.ControlDown()) if (!event.ControlDown())
{ {
@@ -254,22 +265,19 @@ void wxPreviewCanvas::OnChar(wxKeyEvent &event)
return; return;
} }
wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar(); switch(event.GetKeyCode())
switch(event.GetKeyCode()) {
{ case WXK_NEXT:
case WXK_NEXT: controlBar->OnNext(); break;
controlBar->OnNext(); break; case WXK_PRIOR:
case WXK_PRIOR: controlBar->OnPrevious(); break;
controlBar->OnPrevious(); break; case WXK_HOME:
case WXK_HOME: controlBar->OnFirst(); break;
controlBar->OnFirst(); break; case WXK_END:
case WXK_END: controlBar->OnLast(); break;
controlBar->OnLast(); break; default:
case WXK_TAB: event.Skip();
controlBar->OnGoto(); break; }
default:
event.Skip();
}
} }
/* /*
@@ -323,7 +331,7 @@ void wxPreviewControlBar::OnWindowClose(wxCommandEvent& WXUNUSED(event))
frame->Close(TRUE); frame->Close(TRUE);
} }
void wxPreviewControlBar::OnPrint(wxCommandEvent& WXUNUSED(event)) void wxPreviewControlBar::OnPrint(void)
{ {
wxPrintPreviewBase *preview = GetPrintPreview(); wxPrintPreviewBase *preview = GetPrintPreview();
preview->Print(TRUE); preview->Print(TRUE);