X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2cdad17e38fa530ea9376e1d69c1d2a8df35a08..61e6a2ab5e3e1de051c3db492219627c368141f1:/src/generic/numdlgg.cpp diff --git a/src/generic/numdlgg.cpp b/src/generic/numdlgg.cpp index 3ac47c5bfb..d91c69e2a5 100644 --- a/src/generic/numdlgg.cpp +++ b/src/generic/numdlgg.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "numdlgg.cpp" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -63,7 +59,7 @@ // --------------------------------------------------------------------------- /* Macro for avoiding #ifdefs when value have to be different depending on size of - device we display on + device we display on - take it from something like wxDesktopPolicy in the future */ #if defined(__SMARTPHONE__) @@ -105,15 +101,20 @@ wxNumberEntryDialog::wxNumberEntryDialog(wxWindow *parent, wxBeginBusyCursor(); wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); - +#if wxUSE_STATTEXT // 1) text message topsizer->Add( CreateTextSizer( message ), 0, wxALL, 10 ); +#endif // 2) prompt and text ctrl wxBoxSizer *inputsizer = new wxBoxSizer( wxHORIZONTAL ); + +#if wxUSE_STATTEXT // prompt if any if (!prompt.IsEmpty()) inputsizer->Add( new wxStaticText( this, wxID_ANY, prompt ), 0, wxCENTER | wxLEFT, 10 ); +#endif + // spin ctrl wxString valStr; valStr.Printf(wxT("%ld"), m_value); @@ -125,6 +126,7 @@ wxNumberEntryDialog::wxNumberEntryDialog(wxWindow *parent, // add both topsizer->Add( inputsizer, 1, wxEXPAND | wxLEFT|wxRIGHT, 5 ); + // smart phones does not support or do not waste space for wxButtons #ifdef __SMARTPHONE__ SetRightMenu(wxID_CANCEL, _("Cancel")); @@ -137,17 +139,19 @@ wxNumberEntryDialog::wxNumberEntryDialog(wxWindow *parent, #endif // 4) buttons - topsizer->Add( CreateButtonSizer( wxOK|wxCANCEL ), 0, wxCENTRE | wxALL, 10 ); + topsizer->Add( CreateButtonSizer( wxOK|wxCANCEL ), 0, wxEXPAND | wxALL, 10 ); #endif // !__SMARTPHONE__ SetSizer( topsizer ); SetAutoLayout( true ); +#if !defined(__SMARTPHONE__) && !defined(__POCKETPC__) topsizer->SetSizeHints( this ); topsizer->Fit( this ); Centre( wxBOTH ); +#endif m_spinctrl->SetSelection(-1, -1); m_spinctrl->SetFocus(); @@ -168,6 +172,7 @@ void wxNumberEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event)) if ( m_value < m_min || m_value > m_max ) { // not a number or out of range + m_value = -1; EndModal(wxID_CANCEL); } @@ -197,7 +202,7 @@ long wxGetNumberFromUser(const wxString& msg, wxNumberEntryDialog dialog(parent, msg, prompt, title, value, min, max, pos); if (dialog.ShowModal() == wxID_OK) - return dialog.GetValue(); + return dialog.GetValue(); return -1; }