]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/prntdlgg.cpp
a better fix for notebook page not being refreshed after Delete()
[wxWidgets.git] / src / generic / prntdlgg.cpp
index 28d12521593b7ac6950e3c2c2d0d4813fe25ea51..30d393cb4d9777c24acd079888b8717b19ef10b9 100644 (file)
@@ -46,6 +46,7 @@
     #include "wx/combobox.h"
     #include "wx/intl.h"
     #include "wx/sizer.h"
+    #include "wx/cmndata.h"
 #endif
 
 #if wxUSE_STATLINE
 
 #if wxUSE_POSTSCRIPT
 
-    IMPLEMENT_CLASS(wxGenericPrintDialog, wxDialog)
-    IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
+IMPLEMENT_CLASS(wxGenericPrintDialog, wxDialog)
+IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
 
-    BEGIN_EVENT_TABLE(wxGenericPrintDialog, wxDialog)
-        EVT_BUTTON(wxID_OK, wxGenericPrintDialog::OnOK)
-        EVT_BUTTON(wxPRINTID_SETUP, wxGenericPrintDialog::OnSetup)
-        EVT_RADIOBOX(wxPRINTID_RANGE, wxGenericPrintDialog::OnRange)
-    END_EVENT_TABLE()
-#endif
+BEGIN_EVENT_TABLE(wxGenericPrintDialog, wxDialog)
+    EVT_BUTTON(wxID_OK, wxGenericPrintDialog::OnOK)
+    EVT_BUTTON(wxPRINTID_SETUP, wxGenericPrintDialog::OnSetup)
+    EVT_RADIOBOX(wxPRINTID_RANGE, wxGenericPrintDialog::OnRange)
+END_EVENT_TABLE()
+
+#endif // wxUSE_POSTSCRIPT
 
-    IMPLEMENT_CLASS(wxGenericPageSetupDialog, wxDialog)
+IMPLEMENT_CLASS(wxGenericPageSetupDialog, wxDialog)
 
-    BEGIN_EVENT_TABLE(wxGenericPageSetupDialog, wxDialog)
-        EVT_BUTTON(wxPRINTID_SETUP, wxGenericPageSetupDialog::OnPrinter)
-    END_EVENT_TABLE()
+BEGIN_EVENT_TABLE(wxGenericPageSetupDialog, wxDialog)
+    EVT_BUTTON(wxPRINTID_SETUP, wxGenericPageSetupDialog::OnPrinter)
+END_EVENT_TABLE()
 
 // ----------------------------------------------------------------------------
 // global vars
@@ -319,8 +321,6 @@ void wxGenericPrintDialog::OnSetup(wxCommandEvent& WXUNUSED(event))
 
 bool wxGenericPrintDialog::TransferDataToWindow()
 {
-    char buf[10];
-
     if(m_printDialogData.GetFromPage() != 0)
     {
        if(m_fromText)
@@ -329,10 +329,10 @@ bool wxGenericPrintDialog::TransferDataToWindow()
           {
              m_fromText->Enable(TRUE);
              m_toText->Enable(TRUE);
-             sprintf(buf, "%d", m_printDialogData.GetFromPage());
-             m_fromText->SetValue(buf);
-             sprintf(buf, "%d", m_printDialogData.GetToPage());
-             m_toText->SetValue(buf);
+             m_fromText->SetValue(
+                 wxString::Format(_T("%d"), m_printDialogData.GetFromPage()));
+             m_toText->SetValue(
+                wxString::Format(_T("%d"), m_printDialogData.GetToPage()));
              if(m_rangeRadioBox)
                 if (m_printDialogData.GetAllPages())
                    m_rangeRadioBox->SetSelection(0);
@@ -351,8 +351,8 @@ bool wxGenericPrintDialog::TransferDataToWindow()
           }
        }
     }
-    sprintf(buf, "%d", m_printDialogData.GetNoCopies());
-    m_noCopiesText->SetValue(buf);
+    m_noCopiesText->SetValue(
+        wxString::Format(_T("%d"), m_printDialogData.GetNoCopies()));
 
     m_printToFileCheckBox->SetValue(m_printDialogData.GetPrintToFile());
     m_printToFileCheckBox->Enable(m_printDialogData.GetEnablePrintToFile());
@@ -361,12 +361,23 @@ bool wxGenericPrintDialog::TransferDataToWindow()
 
 bool wxGenericPrintDialog::TransferDataFromWindow()
 {
+    long res = 0;
     if(m_printDialogData.GetFromPage() != -1)
     {
         if (m_printDialogData.GetEnablePageNumbers())
         {
-           if(m_fromText) m_printDialogData.SetFromPage(wxAtoi(m_fromText->GetValue()));
-           if(m_toText)   m_printDialogData.SetToPage(wxAtoi(m_toText->GetValue()));
+            if(m_fromText)
+            {
+                wxString value = m_fromText->GetValue();
+                if (value.ToLong( &res ))
+                    m_printDialogData.SetFromPage( res );
+            }
+            if(m_toText)
+            {   
+                wxString value = m_toText->GetValue();
+                if (value.ToLong( &res ))
+                    m_printDialogData.SetToPage( res );
+            }
         }
         if(m_rangeRadioBox)
         {
@@ -381,7 +392,11 @@ bool wxGenericPrintDialog::TransferDataFromWindow()
         m_printDialogData.SetFromPage(1);
         m_printDialogData.SetToPage(32000);
     }
-    m_printDialogData.SetNoCopies(wxAtoi(m_noCopiesText->GetValue()));
+    
+    wxString value = m_noCopiesText->GetValue();
+    if (value.ToLong( &res ))
+        m_printDialogData.SetNoCopies( res );
+        
     m_printDialogData.SetPrintToFile(m_printToFileCheckBox->GetValue());
 
     return TRUE;