Applied patch [ 596061 ] Adds more navigation buttons to preview
By Juergen Geltinger (jgelti) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -223,8 +223,12 @@ private:
|
||||
#define wxPREVIEW_PREVIOUS 2
|
||||
#define wxPREVIEW_NEXT 4
|
||||
#define wxPREVIEW_ZOOM 8
|
||||
#define wxPREVIEW_FIRST 16
|
||||
#define wxPREVIEW_LAST 32
|
||||
#define wxPREVIEW_GOTO 64
|
||||
|
||||
#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM
|
||||
#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\
|
||||
|wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST
|
||||
|
||||
// Ids for controls
|
||||
#define wxID_PREVIEW_CLOSE 1
|
||||
@@ -232,6 +236,9 @@ private:
|
||||
#define wxID_PREVIEW_PREVIOUS 3
|
||||
#define wxID_PREVIEW_PRINT 4
|
||||
#define wxID_PREVIEW_ZOOM 5
|
||||
#define wxID_PREVIEW_FIRST 6
|
||||
#define wxID_PREVIEW_LAST 7
|
||||
#define wxID_PREVIEW_GOTO 8
|
||||
|
||||
class WXDLLEXPORT wxPreviewControlBar: public wxPanel
|
||||
{
|
||||
@@ -257,8 +264,14 @@ public:
|
||||
void OnWindowClose(wxCommandEvent& event);
|
||||
void OnNext();
|
||||
void OnPrevious();
|
||||
void OnFirst();
|
||||
void OnLast();
|
||||
void OnGoto();
|
||||
void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); }
|
||||
void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); }
|
||||
void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); }
|
||||
void OnLastButton(wxCommandEvent & WXUNUSED(event)) { OnLast(); }
|
||||
void OnGotoButton(wxCommandEvent & WXUNUSED(event)) { OnGoto(); }
|
||||
void OnChar(wxKeyEvent &event);
|
||||
void OnZoom(wxCommandEvent& event);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
@@ -270,6 +283,9 @@ protected:
|
||||
wxButton* m_previousPageButton;
|
||||
wxButton* m_printButton;
|
||||
wxChoice* m_zoomControl;
|
||||
wxButton* m_firstPageButton;
|
||||
wxButton* m_lastPageButton;
|
||||
wxButton* m_gotoPageButton;
|
||||
long m_buttonFlags;
|
||||
|
||||
private:
|
||||
|
@@ -234,6 +234,9 @@ BEGIN_EVENT_TABLE(wxPreviewControlBar, wxPanel)
|
||||
EVT_BUTTON(wxID_PREVIEW_PRINT, wxPreviewControlBar::OnPrint)
|
||||
EVT_BUTTON(wxID_PREVIEW_PREVIOUS, wxPreviewControlBar::OnPreviousButton)
|
||||
EVT_BUTTON(wxID_PREVIEW_NEXT, wxPreviewControlBar::OnNextButton)
|
||||
EVT_BUTTON(wxID_PREVIEW_FIRST, wxPreviewControlBar::OnFirstButton)
|
||||
EVT_BUTTON(wxID_PREVIEW_LAST, wxPreviewControlBar::OnLastButton)
|
||||
EVT_BUTTON(wxID_PREVIEW_GOTO, wxPreviewControlBar::OnGotoButton)
|
||||
EVT_CHAR(wxPreviewControlBar::OnChar)
|
||||
EVT_CHOICE(wxID_PREVIEW_ZOOM, wxPreviewControlBar::OnZoom)
|
||||
EVT_PAINT(wxPreviewControlBar::OnPaint)
|
||||
@@ -288,6 +291,12 @@ void wxPreviewControlBar::OnChar(wxKeyEvent &event)
|
||||
OnNext(); break;
|
||||
case WXK_PRIOR:
|
||||
OnPrevious(); break;
|
||||
case WXK_HOME:
|
||||
OnFirst(); break;
|
||||
case WXK_END:
|
||||
OnLast(); break;
|
||||
case WXK_TAB:
|
||||
OnGoto(); break;
|
||||
default:
|
||||
event.Skip();
|
||||
}
|
||||
@@ -323,6 +332,60 @@ void wxPreviewControlBar::OnPrevious(void)
|
||||
}
|
||||
}
|
||||
|
||||
void wxPreviewControlBar::OnFirst(void)
|
||||
{
|
||||
wxPrintPreviewBase *preview = GetPrintPreview();
|
||||
if (preview)
|
||||
{
|
||||
int currentPage = preview->GetMinPage();
|
||||
if (preview->GetPrintout()->HasPage(currentPage))
|
||||
{
|
||||
preview->SetCurrentPage(currentPage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wxPreviewControlBar::OnLast(void)
|
||||
{
|
||||
wxPrintPreviewBase *preview = GetPrintPreview();
|
||||
if (preview)
|
||||
{
|
||||
int currentPage = preview->GetMaxPage();
|
||||
if (preview->GetPrintout()->HasPage(currentPage))
|
||||
{
|
||||
preview->SetCurrentPage(currentPage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wxPreviewControlBar::OnGoto(void)
|
||||
{
|
||||
wxPrintPreviewBase *preview = GetPrintPreview();
|
||||
if (preview)
|
||||
{
|
||||
long currentPage;
|
||||
|
||||
if (preview->GetMinPage() > 0)
|
||||
{
|
||||
wxString strPrompt;
|
||||
wxString strPage;
|
||||
|
||||
strPrompt.Printf( _("%d...%d"),
|
||||
preview->GetMinPage(), preview->GetMaxPage());
|
||||
strPage.Printf( _("%d"), preview->GetCurrentPage() );
|
||||
|
||||
strPage =
|
||||
wxGetTextFromUser( strPrompt, _("Goto Page"), strPage);
|
||||
|
||||
if ( strPage.ToLong( ¤tPage ) )
|
||||
if (preview->GetPrintout()->HasPage(currentPage))
|
||||
{
|
||||
preview->SetCurrentPage(currentPage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wxPreviewControlBar::OnZoom(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
int zoom = GetZoomControl();
|
||||
@@ -345,7 +408,8 @@ void wxPreviewControlBar::CreateButtons()
|
||||
SetFont(buttonFont);
|
||||
*/
|
||||
|
||||
int buttonWidth = 65;
|
||||
int buttonWidth = 60;
|
||||
int buttonNavigation = 30;
|
||||
#ifdef __WXGTK__
|
||||
int buttonHeight = -1;
|
||||
#else
|
||||
@@ -373,17 +437,38 @@ void wxPreviewControlBar::CreateButtons()
|
||||
x += gap + buttonWidth;
|
||||
}
|
||||
|
||||
if (m_buttonFlags & wxPREVIEW_FIRST)
|
||||
{
|
||||
m_firstPageButton = new wxButton(this, wxID_PREVIEW_FIRST, wxT("|<<"), wxPoint(x, y),
|
||||
wxSize(buttonNavigation, buttonHeight));
|
||||
x += gap + buttonNavigation;
|
||||
}
|
||||
|
||||
if (m_buttonFlags & wxPREVIEW_PREVIOUS)
|
||||
{
|
||||
m_previousPageButton = new wxButton(this, wxID_PREVIEW_PREVIOUS, wxT("<<"), wxPoint(x, y),
|
||||
wxSize(buttonWidth, buttonHeight));
|
||||
x += gap + buttonWidth;
|
||||
wxSize(buttonNavigation, buttonHeight));
|
||||
x += gap + buttonNavigation;
|
||||
}
|
||||
|
||||
if (m_buttonFlags & wxPREVIEW_NEXT)
|
||||
{
|
||||
m_nextPageButton = new wxButton(this, wxID_PREVIEW_NEXT, wxT(">>"),
|
||||
wxPoint(x, y), wxSize(buttonWidth, buttonHeight));
|
||||
wxPoint(x, y), wxSize(buttonNavigation, buttonHeight));
|
||||
x += gap + buttonNavigation;
|
||||
}
|
||||
|
||||
if (m_buttonFlags & wxPREVIEW_LAST)
|
||||
{
|
||||
m_lastPageButton = new wxButton(this, wxID_PREVIEW_LAST, wxT(">>|"), wxPoint(x, y),
|
||||
wxSize(buttonNavigation, buttonHeight));
|
||||
x += gap + buttonNavigation;
|
||||
}
|
||||
|
||||
if (m_buttonFlags & wxPREVIEW_GOTO)
|
||||
{
|
||||
m_gotoPageButton = new wxButton(this, wxID_PREVIEW_GOTO, wxT("Goto..."), wxPoint(x, y),
|
||||
wxSize(buttonWidth, buttonHeight));
|
||||
x += gap + buttonWidth;
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[OPTIONS]
|
||||
BMROOT=c:\wx2dev\wxWind~1\utils\tex2rtf\docs ; Assume that bitmaps are where the source is
|
||||
TITLE=Tex2RTF Manual
|
||||
TITLE=Tex2RTF
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
||||
|
Reference in New Issue
Block a user