return the index of the inserted/appended item

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-08-30 23:03:07 +00:00
parent f43c777175
commit 708c45a6ce
4 changed files with 86 additions and 82 deletions

View File

@@ -65,13 +65,13 @@ public:
const wxValidator& validator = wxDefaultValidator, const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr); const wxString& name = wxComboBoxNameStr);
void Append( const wxString &item ); int Append( const wxString &item );
void Append( const wxString &item, void* clientData ); int Append( const wxString &item, void* clientData );
void Append( const wxString &item, wxClientData* clientData ); int Append( const wxString &item, wxClientData* clientData );
void Insert( const wxString &item, int pos ); int Insert( const wxString &item, int pos );
void Insert( const wxString &item, int pos, void* clientData ); int Insert( const wxString &item, int pos, void* clientData );
void Insert( const wxString &item, int pos, wxClientData* clientData ); int Insert( const wxString &item, int pos, wxClientData* clientData );
void SetClientData( int n, void* clientData ); void SetClientData( int n, void* clientData );
void* GetClientData( int n ) const; void* GetClientData( int n ) const;
@@ -125,8 +125,8 @@ public:
void DisableEvents(); void DisableEvents();
void EnableEvents(); void EnableEvents();
void AppendCommon( const wxString &item ); int AppendCommon( const wxString &item );
void InsertCommon( const wxString &item, int pos ); int InsertCommon( const wxString &item, int pos );
GtkWidget* GetConnectWidget(); GtkWidget* GetConnectWidget();
bool IsOwnGtkWindow( GdkWindow *window ); bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle(); void ApplyWidgetStyle();

View File

@@ -65,13 +65,13 @@ public:
const wxValidator& validator = wxDefaultValidator, const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr); const wxString& name = wxComboBoxNameStr);
void Append( const wxString &item ); int Append( const wxString &item );
void Append( const wxString &item, void* clientData ); int Append( const wxString &item, void* clientData );
void Append( const wxString &item, wxClientData* clientData ); int Append( const wxString &item, wxClientData* clientData );
void Insert( const wxString &item, int pos ); int Insert( const wxString &item, int pos );
void Insert( const wxString &item, int pos, void* clientData ); int Insert( const wxString &item, int pos, void* clientData );
void Insert( const wxString &item, int pos, wxClientData* clientData ); int Insert( const wxString &item, int pos, wxClientData* clientData );
void SetClientData( int n, void* clientData ); void SetClientData( int n, void* clientData );
void* GetClientData( int n ) const; void* GetClientData( int n ) const;
@@ -125,8 +125,8 @@ public:
void DisableEvents(); void DisableEvents();
void EnableEvents(); void EnableEvents();
void AppendCommon( const wxString &item ); int AppendCommon( const wxString &item );
void InsertCommon( const wxString &item, int pos ); int InsertCommon( const wxString &item, int pos );
GtkWidget* GetConnectWidget(); GtkWidget* GetConnectWidget();
bool IsOwnGtkWindow( GdkWindow *window ); bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle(); void ApplyWidgetStyle();

View File

@@ -223,7 +223,7 @@ void wxComboBox::SetFocus()
gtk_widget_grab_focus( m_focusWidget ); gtk_widget_grab_focus( m_focusWidget );
} }
void wxComboBox::AppendCommon( const wxString &item ) int wxComboBox::AppendCommon( const wxString &item )
{ {
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
@@ -246,43 +246,45 @@ void wxComboBox::AppendCommon( const wxString &item )
gtk_widget_show( list_item ); gtk_widget_show( list_item );
EnableEvents(); EnableEvents();
return GetCount() - 1;
} }
void wxComboBox::Append( const wxString &item ) int wxComboBox::Append( const wxString &item )
{ {
m_clientDataList.Append( (wxObject*) NULL ); m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) NULL ); m_clientObjectList.Append( (wxObject*) NULL );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::Append( const wxString &item, void *clientData ) int wxComboBox::Append( const wxString &item, void *clientData )
{ {
m_clientDataList.Append( (wxObject*) clientData ); m_clientDataList.Append( (wxObject*) clientData );
m_clientObjectList.Append( (wxObject*)NULL ); m_clientObjectList.Append( (wxObject*)NULL );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::Append( const wxString &item, wxClientData *clientData ) int wxComboBox::Append( const wxString &item, wxClientData *clientData )
{ {
m_clientDataList.Append( (wxObject*) NULL ); m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) clientData ); m_clientObjectList.Append( (wxObject*) clientData );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::InsertCommon( const wxString &item, int pos ) int wxComboBox::InsertCommon( const wxString &item, int pos )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list")); wxCHECK_MSG( !(GetWindowStyle() & wxCB_SORT), -1,
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); wxT("can't insert into sorted list"));
wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid combobox") );
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index"));
if (pos == count) if (pos == count)
{ {
AppendCommon(item); return AppendCommon(item);
return;
} }
DisableEvents(); DisableEvents();
@@ -300,63 +302,63 @@ void wxComboBox::InsertCommon( const wxString &item, int pos )
gtk_widget_realize( list_item ); gtk_widget_realize( list_item );
gtk_widget_realize( GTK_BIN(list_item)->child ); gtk_widget_realize( GTK_BIN(list_item)->child );
if (m_widgetStyle) ApplyWidgetStyle(); if (m_widgetStyle)
ApplyWidgetStyle();
} }
gtk_widget_show( list_item ); gtk_widget_show( list_item );
EnableEvents(); EnableEvents();
return pos;
} }
void wxComboBox::Insert( const wxString &item, int pos ) int wxComboBox::Insert( const wxString &item, int pos )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list")); const int count = GetCount();
int count = GetCount(); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index"));
if (pos == count) if (pos == count)
{ {
Append(item); return Append(item);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) NULL ); m_clientDataList.Insert( pos, (wxObject*) NULL );
m_clientObjectList.Insert( pos, (wxObject*) NULL ); m_clientObjectList.Insert( pos, (wxObject*) NULL );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::Insert( const wxString &item, int pos, void *clientData ) int wxComboBox::Insert( const wxString &item, int pos, void *clientData )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list"));
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index")); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
if (pos == count) if (pos == count)
{ {
Append(item, clientData); return Append(item, clientData);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) clientData ); m_clientDataList.Insert( pos, (wxObject*) clientData );
m_clientObjectList.Insert( pos, (wxObject*)NULL ); m_clientObjectList.Insert( pos, (wxObject*)NULL );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::Insert( const wxString &item, int pos, wxClientData *clientData ) int wxComboBox::Insert( const wxString &item, int pos, wxClientData *clientData )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list"));
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index")); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
if (pos == count) if (pos == count)
{ {
Append(item, clientData); return Append(item, clientData);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) NULL ); m_clientDataList.Insert( pos, (wxObject*) NULL );
m_clientObjectList.Insert( pos, (wxObject*) clientData ); m_clientObjectList.Insert( pos, (wxObject*) clientData );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::SetClientData( int n, void* clientData ) void wxComboBox::SetClientData( int n, void* clientData )

View File

@@ -223,7 +223,7 @@ void wxComboBox::SetFocus()
gtk_widget_grab_focus( m_focusWidget ); gtk_widget_grab_focus( m_focusWidget );
} }
void wxComboBox::AppendCommon( const wxString &item ) int wxComboBox::AppendCommon( const wxString &item )
{ {
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
@@ -246,43 +246,45 @@ void wxComboBox::AppendCommon( const wxString &item )
gtk_widget_show( list_item ); gtk_widget_show( list_item );
EnableEvents(); EnableEvents();
return GetCount() - 1;
} }
void wxComboBox::Append( const wxString &item ) int wxComboBox::Append( const wxString &item )
{ {
m_clientDataList.Append( (wxObject*) NULL ); m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) NULL ); m_clientObjectList.Append( (wxObject*) NULL );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::Append( const wxString &item, void *clientData ) int wxComboBox::Append( const wxString &item, void *clientData )
{ {
m_clientDataList.Append( (wxObject*) clientData ); m_clientDataList.Append( (wxObject*) clientData );
m_clientObjectList.Append( (wxObject*)NULL ); m_clientObjectList.Append( (wxObject*)NULL );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::Append( const wxString &item, wxClientData *clientData ) int wxComboBox::Append( const wxString &item, wxClientData *clientData )
{ {
m_clientDataList.Append( (wxObject*) NULL ); m_clientDataList.Append( (wxObject*) NULL );
m_clientObjectList.Append( (wxObject*) clientData ); m_clientObjectList.Append( (wxObject*) clientData );
AppendCommon( item ); return AppendCommon( item );
} }
void wxComboBox::InsertCommon( const wxString &item, int pos ) int wxComboBox::InsertCommon( const wxString &item, int pos )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list")); wxCHECK_MSG( !(GetWindowStyle() & wxCB_SORT), -1,
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); wxT("can't insert into sorted list"));
wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid combobox") );
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index"));
if (pos == count) if (pos == count)
{ {
AppendCommon(item); return AppendCommon(item);
return;
} }
DisableEvents(); DisableEvents();
@@ -300,63 +302,63 @@ void wxComboBox::InsertCommon( const wxString &item, int pos )
gtk_widget_realize( list_item ); gtk_widget_realize( list_item );
gtk_widget_realize( GTK_BIN(list_item)->child ); gtk_widget_realize( GTK_BIN(list_item)->child );
if (m_widgetStyle) ApplyWidgetStyle(); if (m_widgetStyle)
ApplyWidgetStyle();
} }
gtk_widget_show( list_item ); gtk_widget_show( list_item );
EnableEvents(); EnableEvents();
return pos;
} }
void wxComboBox::Insert( const wxString &item, int pos ) int wxComboBox::Insert( const wxString &item, int pos )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list")); const int count = GetCount();
int count = GetCount(); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index"));
if (pos == count) if (pos == count)
{ {
Append(item); return Append(item);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) NULL ); m_clientDataList.Insert( pos, (wxObject*) NULL );
m_clientObjectList.Insert( pos, (wxObject*) NULL ); m_clientObjectList.Insert( pos, (wxObject*) NULL );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::Insert( const wxString &item, int pos, void *clientData ) int wxComboBox::Insert( const wxString &item, int pos, void *clientData )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list"));
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index")); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
if (pos == count) if (pos == count)
{ {
Append(item, clientData); return Append(item, clientData);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) clientData ); m_clientDataList.Insert( pos, (wxObject*) clientData );
m_clientObjectList.Insert( pos, (wxObject*)NULL ); m_clientObjectList.Insert( pos, (wxObject*)NULL );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::Insert( const wxString &item, int pos, wxClientData *clientData ) int wxComboBox::Insert( const wxString &item, int pos, wxClientData *clientData )
{ {
wxCHECK_RET(!(GetWindowStyle() & wxCB_SORT), wxT("can't insert into sorted list"));
int count = GetCount(); int count = GetCount();
wxCHECK_RET((pos>=0) && (pos<=count), wxT("invalid index")); wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
if (pos == count) if (pos == count)
{ {
Append(item, clientData); return Append(item, clientData);
return;
} }
m_clientDataList.Insert( pos, (wxObject*) NULL ); m_clientDataList.Insert( pos, (wxObject*) NULL );
m_clientObjectList.Insert( pos, (wxObject*) clientData ); m_clientObjectList.Insert( pos, (wxObject*) clientData );
InsertCommon( item, pos ); return InsertCommon( item, pos );
} }
void wxComboBox::SetClientData( int n, void* clientData ) void wxComboBox::SetClientData( int n, void* clientData )