void wxPreviewControlBar::SetZoomControl(int zoom)
{
- wxChar buf[20];
- wxSprintf( buf, wxT("%d%%"), zoom );
-
if (m_zoomControl)
- m_zoomControl->SetStringSelection(buf);
+ {
+ int n, count = m_zoomControl->GetCount();
+ long val;
+ for (n=0; n<count; n++)
+ {
+ if (m_zoomControl->GetString(n).BeforeFirst(wxT('%')).ToLong(&val) &&
+ (val >= long(zoom)))
+ {
+ m_zoomControl->SetSelection(n);
+ return;
+ }
+ }
+
+ m_zoomControl->SetSelection(count-1);
+ }
}
int wxPreviewControlBar::GetZoomControl()
{
- wxChar buf[20];
- if (m_zoomControl && (m_zoomControl->GetStringSelection() != wxT("")))
+ if (m_zoomControl && (m_zoomControl->GetStringSelection() != wxEmptyString))
{
- wxStrcpy(buf, m_zoomControl->GetStringSelection());
- buf[wxStrlen(buf) - 1] = 0;
- return (int)wxAtoi(buf);
+ long val;
+ if (m_zoomControl->GetStringSelection().BeforeFirst(wxT('%')).ToLong(&val))
+ return int(val);
}
- else return 0;
+
+ return 0;
}
int actualWidth = (int)(zoomScale*m_pageWidth*m_previewScale);
int actualHeight = (int)(zoomScale*m_pageHeight*m_previewScale);
- int x = (int)((canvasWidth - actualWidth)/2.0);
- if (x < m_leftMargin)
- x = m_leftMargin;
- // int y = m_topMargin;
-
-
if (!m_previewBitmap)
{
m_previewBitmap = new wxBitmap((int)actualWidth, (int)actualHeight);