// Name: src/gtk1/combobox.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef WX_PRECOMP
#include "wx/intl.h"
#include "wx/settings.h"
- #include "wx/textctrl.h" // for wxEVT_COMMAND_TEXT_UPDATED
+ #include "wx/textctrl.h" // for wxEVT_TEXT
#include "wx/arrstr.h"
#endif
if (!combo->m_hasVMT) return;
- wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
+ wxCommandEvent event( wxEVT_TEXT, combo->GetId() );
event.SetString( combo->GetValue() );
event.SetEventObject( combo );
combo->HandleWindowEvent( event );
if ( hasChanged )
{
- wxCommandEvent event( wxEVT_COMMAND_COMBOBOX_SELECTED, combo->GetId() );
+ wxCommandEvent event( wxEVT_COMBOBOX, combo->GetId() );
event.SetInt( curSelection );
event.SetString( combo->GetStringSelection() );
event.SetEventObject( combo );
combo->HandleWindowEvent( event );
// for consistency with the other ports, send TEXT event
- wxCommandEvent event2( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
+ wxCommandEvent event2( wxEVT_TEXT, combo->GetId() );
event2.SetString( combo->GetStringSelection() );
event2.SetEventObject( combo );
combo->HandleWindowEvent( event2 );
// and select other items ...
if (g_SelectionBeforePopup == wxID_NONE)
{
- wxCommandEvent event( wxEVT_COMMAND_COMBOBOX_SELECTED, combo->GetId() );
+ wxCommandEvent event( wxEVT_COMBOBOX, combo->GetId() );
event.SetInt( curSelection );
event.SetString( combo->GetStringSelection() );
event.SetEventObject( combo );
// for consistency with the other ports, don't generate text update
// events while the user is browsing the combobox neither
- wxCommandEvent event2( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
+ wxCommandEvent event2( wxEVT_TEXT, combo->GetId() );
event2.SetString( combo->GetValue() );
event2.SetEventObject( combo );
combo->HandleWindowEvent( event2 );
// wxComboBox
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxComboBox,wxControl)
-
BEGIN_EVENT_TABLE(wxComboBox, wxControl)
EVT_SIZE(wxComboBox::OnSize)
EVT_CHAR(wxComboBox::OnChar)
{
GtkWidget *list_item = gtk_list_item_new_with_label( wxGTK_CONV( choices[i] ) );
- m_clientDataList.Append( (wxObject*)NULL );
- m_clientObjectList.Append( (wxObject*)NULL );
+ m_clientDataList.Append( NULL );
+ m_clientObjectList.Append( NULL );
gtk_container_add( GTK_CONTAINER(list), list_item );
gtk_widget_show( list_item );
if ( m_clientDataList.GetCount() < GetCount() )
- m_clientDataList.Insert( pos, (wxObject*) NULL );
+ m_clientDataList.Insert( pos, NULL );
if ( m_clientObjectList.GetCount() < GetCount() )
- m_clientObjectList.Insert( pos, (wxObject*) NULL );
+ m_clientObjectList.Insert( pos, NULL );
AssignNewItemClientData(pos, clientData, i, type);
}
DisableEvents();
- GList *list = g_list_append( (GList*) NULL, child->data );
+ GList *list = g_list_append( NULL, child->data );
gtk_list_remove_items( listbox, list );
g_list_free( list );
EnableEvents();
}
-wxString wxComboBox::GetValue() const
+wxString wxComboBox::DoGetValue() const
{
GtkEntry *entry = GTK_ENTRY( GTK_COMBO(m_widget)->entry );
wxString tmp( wxGTK_CONV_BACK( gtk_entry_get_text( entry ) ) );
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
gtk_editable_delete_text( GTK_EDITABLE(entry), (gint)from, (gint)to );
- if (value.IsNull()) return;
+ if ( value.empty() ) return;
gint pos = (gint)to;
#if wxUSE_UNICODE
if ( event.GetKeyCode() == WXK_RETURN )
{
// GTK automatically selects an item if its in the list
- wxCommandEvent eventEnter(wxEVT_COMMAND_TEXT_ENTER, GetId());
+ wxCommandEvent eventEnter(wxEVT_TEXT_ENTER, GetId());
eventEnter.SetString( GetValue() );
eventEnter.SetInt( GetSelection() );
eventEnter.SetEventObject( this );