From: Włodzimierz Skiba Date: Tue, 23 Nov 2004 20:08:56 +0000 (+0000) Subject: Fixes for wxUSE_SPIN... == 0. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/0e871ad03970d65f7bb29d6eea13263bdfdf2299 Fixes for wxUSE_SPIN... == 0. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index 8b8a8c77b7..613c97068a 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -1273,7 +1273,7 @@ #endif /* wxUSE_HELP */ #if wxUSE_WXHTML_HELP -# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK +# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL # ifdef wxABORT_ON_CONFIG_ERROR # error "Built in help controller can't be compiled" # else @@ -1285,6 +1285,8 @@ # define wxUSE_COMBOBOX 1 # undef wxUSE_NOTEBOOK # define wxUSE_NOTEBOOK 1 +# undef wxUSE_SPINCTRL +# define wxUSE_SPINCTRL 1 # endif # endif #endif /* wxUSE_WXHTML_HELP */ diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index d8d1805a18..b7da277f13 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -79,7 +79,9 @@ class WXDLLIMPEXP_ADV wxGridSelection; class WXDLLEXPORT wxCheckBox; class WXDLLEXPORT wxComboBox; class WXDLLEXPORT wxTextCtrl; +#if wxUSE_SPINCTRL class WXDLLEXPORT wxSpinCtrl; +#endif // ---------------------------------------------------------------------------- // macros @@ -460,10 +462,19 @@ public: virtual wxString GetValue() const; protected: +#if wxUSE_SPINCTRL wxSpinCtrl *Spin() const { return (wxSpinCtrl *)m_control; } +#endif // if HasRange(), we use wxSpinCtrl - otherwise wxTextCtrl - bool HasRange() const { return m_min != m_max; } + bool HasRange() const + { +#if wxUSE_SPINCTRL + return m_min != m_max; +#else + return false; +#endif + } // string representation of m_valueOld wxString GetString() const diff --git a/include/wx/msw/chkconf.h b/include/wx/msw/chkconf.h index c6765eb50b..31ded4713b 100644 --- a/include/wx/msw/chkconf.h +++ b/include/wx/msw/chkconf.h @@ -96,6 +96,17 @@ #define wxUSE_CHECKLISTBOX 0 #endif +#if wxUSE_SPINCTRL +# if !wxUSE_SPINBTN +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxSpinCtrl requires wxSpinButton on MSW" +# else +# undef wxUSE_SPINBTN +# define wxUSE_SPINBTN 1 +# endif +# endif +#endif + #if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) /* BC++ 4.0 can't compile JPEG library */ #undef wxUSE_LIBJPEG diff --git a/include/wx/msw/spinctrl.h b/include/wx/msw/spinctrl.h index e5687d075c..350c6ea861 100644 --- a/include/wx/msw/spinctrl.h +++ b/include/wx/msw/spinctrl.h @@ -18,6 +18,8 @@ #include "wx/spinbutt.h" // the base class +#if wxUSE_SPINCTRL + #include "wx/dynarray.h" class WXDLLEXPORT wxSpinCtrl; @@ -116,6 +118,8 @@ private: DECLARE_NO_COPY_CLASS(wxSpinCtrl) }; +#endif // wxUSE_SPINCTRL + #endif // _WX_MSW_SPINCTRL_H_ diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 9d0e0a9f69..f46e006ea0 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -502,7 +502,7 @@ void wxGridCellEditor::Show(bool show, wxGridCellAttr *attr) m_colBgOld = m_control->GetBackgroundColour(); m_control->SetBackgroundColour(attr->GetBackgroundColour()); - // Workaround for GTK+1 font setting problem on some platforms +// Workaround for GTK+1 font setting problem on some platforms #if !defined(__WXGTK__) || defined(__WXGTK20__) m_fontOld = m_control->GetFont(); m_control->SetFont(attr->GetFont()); @@ -525,7 +525,7 @@ void wxGridCellEditor::Show(bool show, wxGridCellAttr *attr) m_control->SetBackgroundColour(m_colBgOld); m_colBgOld = wxNullColour; } - // Workaround for GTK+1 font setting problem on some platforms +// Workaround for GTK+1 font setting problem on some platforms #if !defined(__WXGTK__) || defined(__WXGTK20__) if ( m_fontOld.Ok() ) { @@ -802,6 +802,7 @@ void wxGridCellNumberEditor::Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) { +#if wxUSE_SPINCTRL if ( HasRange() ) { // create a spin ctrl @@ -813,6 +814,7 @@ void wxGridCellNumberEditor::Create(wxWindow* parent, wxGridCellEditor::Create(parent, id, evtHandler); } else +#endif { // just a text control wxGridCellTextEditor::Create(parent, id, evtHandler); @@ -835,19 +837,21 @@ void wxGridCellNumberEditor::BeginEdit(int row, int col, wxGrid* grid) { m_valueOld = 0; wxString sValue = table->GetValue(row, col); - if (! sValue.ToLong(&m_valueOld) && ! sValue.IsEmpty()) + if (! sValue.ToLong(&m_valueOld) && ! sValue.empty()) { wxFAIL_MSG( _T("this cell doesn't have numeric value") ); return; } } +#if wxUSE_SPINCTRL if ( HasRange() ) { Spin()->SetValue((int)m_valueOld); Spin()->SetFocus(); } else +#endif { DoBeginEdit(GetString()); } @@ -860,6 +864,7 @@ bool wxGridCellNumberEditor::EndEdit(int row, int col, long value = 0; wxString text; +#if wxUSE_SPINCTRL if ( HasRange() ) { value = Spin()->GetValue(); @@ -868,9 +873,10 @@ bool wxGridCellNumberEditor::EndEdit(int row, int col, text = wxString::Format(wxT("%ld"), value); } else +#endif { text = Text()->GetValue(); - changed = (text.IsEmpty() || text.ToLong(&value)) && (value != m_valueOld); + changed = (text.empty() || text.ToLong(&value)) && (value != m_valueOld); } if ( changed ) @@ -886,11 +892,13 @@ bool wxGridCellNumberEditor::EndEdit(int row, int col, void wxGridCellNumberEditor::Reset() { +#if wxUSE_SPINCTRL if ( HasRange() ) { Spin()->SetValue((int)m_valueOld); } else +#endif { DoReset(GetString()); } @@ -992,18 +1000,21 @@ void wxGridCellNumberEditor::SetParameters(const wxString& params) // return the value in the spin control if it is there (the text control otherwise) wxString wxGridCellNumberEditor::GetValue() const { - wxString s; + wxString s; - if( HasRange() ) - { - long value = Spin()->GetValue(); - s.Printf(wxT("%ld"), value); - } - else - { - s = Text()->GetValue(); - } - return s; +#if wxUSE_SPINCTRL + if( HasRange() ) + { + long value = Spin()->GetValue(); + s.Printf(wxT("%ld"), value); + } + else +#endif + { + s = Text()->GetValue(); + } + + return s; } // ---------------------------------------------------------------------------- @@ -1039,7 +1050,7 @@ void wxGridCellFloatEditor::BeginEdit(int row, int col, wxGrid* grid) { m_valueOld = 0.0; wxString sValue = table->GetValue(row, col); - if (! sValue.ToDouble(&m_valueOld) && ! sValue.IsEmpty()) + if (! sValue.ToDouble(&m_valueOld) && ! sValue.empty()) { wxFAIL_MSG( _T("this cell doesn't have float value") ); return; @@ -1055,7 +1066,7 @@ bool wxGridCellFloatEditor::EndEdit(int row, int col, double value = 0.0; wxString text(Text()->GetValue()); - if ( (text.IsEmpty() || text.ToDouble(&value)) && (value != m_valueOld) ) + if ( (text.empty() || text.ToDouble(&value)) && (value != m_valueOld) ) { if (grid->GetTable()->CanSetValueAs(row, col, wxGRID_VALUE_FLOAT)) grid->GetTable()->SetValueAsDouble(row, col, value); @@ -1188,7 +1199,7 @@ bool wxGridCellFloatEditor::IsAcceptedKey(wxKeyEvent& event) tmpbuf[0] = (char) keycode; tmpbuf[1] = '\0'; wxString strbuf(tmpbuf, *wxConvCurrent); - bool is_decimal_point = + bool is_decimal_point = ( strbuf == wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER) ); if ( (keycode < 128) &&