#include "wx/osx/private.h"
-IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
-
-WX_DELEGATE_TO_CONTROL_CONTAINER(wxComboBox, wxControl)
-
-BEGIN_EVENT_TABLE(wxComboBox, wxControl)
- WX_EVENT_TABLE_CONTROL_CONTAINER(wxComboBox)
-END_EVENT_TABLE()
-
-
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
m_cb = cb;
}
- void ForwardEnableTextChangedEvents(bool enable)
- {
- EnableTextChangedEvents(enable);
- }
protected:
void OnChar( wxKeyEvent& event )
{
{
wxNavigationKeyEvent NavEvent;
NavEvent.SetEventObject(this);
- NavEvent.SetDirection(true);
+ NavEvent.SetDirection(!event.ShiftDown());
NavEvent.SetWindowChange(false);
// Get the parent of the combo and have it process the navigation?
if ( event.GetKeyCode() == WXK_RETURN )
{
- wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_cb->GetId());
+ wxCommandEvent event(wxEVT_TEXT_ENTER, m_cb->GetId());
event.SetString( GetValue() );
event.SetInt( m_cb->GetSelection() );
event.SetEventObject( m_cb );
wxButton *def = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
if ( def && def->IsEnabled() )
{
- wxCommandEvent event( wxEVT_COMMAND_BUTTON_CLICKED, def->GetId() );
+ wxCommandEvent event( wxEVT_BUTTON, def->GetId() );
event.SetEventObject(def);
def->Command(event);
}
wxString s = e.GetString();
m_cb->DelegateChoice( s );
- wxCommandEvent event2(wxEVT_COMMAND_COMBOBOX_SELECTED, m_cb->GetId() );
+ wxCommandEvent event2(wxEVT_COMBOBOX, m_cb->GetId() );
event2.SetInt(m_cb->GetSelection());
event2.SetEventObject(m_cb);
event2.SetString(m_cb->GetStringSelection());
// For consistency with MSW and GTK, also send a text updated event
// After all, the text is updated when a selection is made
- wxCommandEvent TextEvent( wxEVT_COMMAND_TEXT_UPDATED, m_cb->GetId() );
+ wxCommandEvent TextEvent( wxEVT_TEXT, m_cb->GetId() );
TextEvent.SetString( m_cb->GetStringSelection() );
TextEvent.SetEventObject( m_cb );
m_cb->ProcessCommand( TextEvent );
// delete the controls now, don't leave them alive even though they would
// still be eventually deleted by our parent - but it will be too late, the
// user code expects them to be gone now
- if (m_text != NULL)
- {
- delete m_text;
- m_text = NULL;
- }
-
- if (m_choice != NULL)
- {
- delete m_choice;
- m_choice = NULL;
- }
+ wxDELETE(m_text);
+ wxDELETE(m_choice);
}
// ----------------------------------------------------------------------------
SetStringSelection( value );
}
-void wxComboBox::Init()
-{
- WX_INIT_CONTROL_CONTAINER();
-}
-
bool wxComboBox::Create(wxWindow *parent,
wxWindowID id,
const wxString& value,
{
m_text = new wxComboBoxText( this );
}
- else if ( ( m_text != NULL ) && !editable )
+ else if ( !editable )
{
- delete m_text;
- m_text = NULL;
+ wxDELETE(m_text);
}
int currentX, currentY;
{
/*
For consistency with other platforms, clicking in the text area does not constitute a selection
- wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, m_windowId );
+ wxCommandEvent event(wxEVT_COMBOBOX, m_windowId );
event.SetInt(GetSelection());
event.SetEventObject(this);
event.SetString(GetStringSelection());
{
if (m_text)
return m_text->GetTextPeer();
-
+
return NULL;
}