wxGTK::wxSpinCtrl API synchronised with wxMSW

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-10-28 13:04:45 +00:00
parent 41d1f82d93
commit ce89fdd22e
4 changed files with 62 additions and 12 deletions

View File

@@ -86,10 +86,11 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl)
bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style,
int min, int max, int initial,
const wxString& name)
const wxString& value,
const wxPoint& pos, const wxSize& size,
long style,
int min, int max, int initial,
const wxString& name)
{
m_needParent = TRUE;
@@ -123,6 +124,8 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
SetBackgroundColour( parent->GetBackgroundColour() );
SetValue( value );
Show( TRUE );
return TRUE;
@@ -149,6 +152,23 @@ int wxSpinCtrl::GetValue() const
return (int)ceil(m_adjust->value);
}
void wxSpinCtrl::SetValue( const wxString& value )
{
wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") );
int n;
if ( (wxSscanf(value, wxT("%d"), &n) == 1) )
{
// a number - set it
SetValue(n);
}
else
{
// invalid number - set text as is (wxMSW compatible)
gtk_entry_set_text( GTK_ENTRY(m_widget), value.c_str() );
}
}
void wxSpinCtrl::SetValue( int value )
{
wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") );