X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3340066af696862df9394469b341b700fe4e3a68..ef4a634b1b90cb13426b9006d8e18380b9809fdb:/src/mac/carbon/combobox.cpp diff --git a/src/mac/carbon/combobox.cpp b/src/mac/carbon/combobox.cpp index 22924613ea..8ffecd0489 100644 --- a/src/mac/carbon/combobox.cpp +++ b/src/mac/carbon/combobox.cpp @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// // Name: combobox.cpp // Purpose: wxComboBox class -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR +// Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -60,7 +60,7 @@ public: protected: void OnChar( wxKeyEvent& event ) { - if ( event.KeyCode() == WXK_RETURN ) + if ( event.GetKeyCode() == WXK_RETURN ) { wxString value = GetValue(); @@ -96,7 +96,7 @@ protected: wxWindow *parent = GetParent(); while( parent && !parent->IsTopLevel() && parent->GetDefaultItem() == NULL ) { - parent = parent->GetParent() ; + parent = parent->GetParent() ; } if ( parent && parent->GetDefaultItem() ) { @@ -205,7 +205,7 @@ void wxComboBox::DoMoveWindow(int x, int y, int width, int height) { } else { - wxCoord wText = width - POPUPWIDTH; + wxCoord wText = width - POPUPWIDTH - MARGIN; m_text->SetSize(0, 0, wText, height); m_choice->SetSize(0 + wText + MARGIN, 0, POPUPWIDTH, -1); } @@ -311,6 +311,11 @@ wxString wxComboBox::GetValue() const void wxComboBox::SetValue(const wxString& value) { + int s = FindString (value); + if (s == wxNOT_FOUND && !HasFlag(wxCB_READONLY) ) + { + m_choice->Append(value) ; + } SetStringSelection( value ) ; } @@ -408,6 +413,10 @@ void wxComboBox::Append(const wxString& item) void wxComboBox::Delete(int n) { + if ( HasClientObjectData() ) + { + SetClientObject(n, NULL); + } m_choice->Delete( n ); } @@ -447,7 +456,7 @@ wxString wxComboBox::GetStringSelection() const if (sel > -1) return wxString(this->GetString (sel)); else - return wxString(""); + return wxEmptyString; } bool wxComboBox::SetStringSelection(const wxString& sel) @@ -462,7 +471,7 @@ bool wxComboBox::SetStringSelection(const wxString& sel) return FALSE; } -void wxComboBox::MacHandleControlClick( WXWidget control , wxInt16 controlpart ) +void wxComboBox::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 WXUNUSED(controlpart) ) { wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, m_windowId ); event.SetInt(GetSelection());