class WXDLLEXPORT wxCheckBox;
class WXDLLEXPORT wxComboBox;
class WXDLLEXPORT wxTextCtrl;
+#if wxUSE_SPINCTRL
class WXDLLEXPORT wxSpinCtrl;
+#endif
// ----------------------------------------------------------------------------
// macros
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
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());
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() )
{
wxWindowID id,
wxEvtHandler* evtHandler)
{
+#if wxUSE_SPINCTRL
if ( HasRange() )
{
// create a spin ctrl
wxGridCellEditor::Create(parent, id, evtHandler);
}
else
+#endif
{
// just a text control
wxGridCellTextEditor::Create(parent, id, evtHandler);
{
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());
}
long value = 0;
wxString text;
+#if wxUSE_SPINCTRL
if ( HasRange() )
{
value = Spin()->GetValue();
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 )
void wxGridCellNumberEditor::Reset()
{
+#if wxUSE_SPINCTRL
if ( HasRange() )
{
Spin()->SetValue((int)m_valueOld);
}
else
+#endif
{
DoReset(GetString());
}
// 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;
}
// ----------------------------------------------------------------------------
{
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;
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);
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) &&