]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/combobox.cpp
Added wxRenderer method for drawing selection
[wxWidgets.git] / src / univ / combobox.cpp
index dbe2c63b75b8ffddd74cca403d0d2ec34fde9755..c785a83a7f35f901ae902e99203d59ead9cb8666 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        univ/combobox.cpp
+// Name:        src/univ/combobox.cpp
 // Purpose:     wxComboControl and wxComboBox implementation
 // Author:      Vadim Zeitlin
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "univcombobox.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
@@ -131,6 +127,11 @@ public:
     virtual void SetSelection(int n) { DoSetSelection(n, true); }
     void SetSelection(int n, bool select) { DoSetSelection(n, select); }
 
+    // used to process wxUniv actions
+    bool PerformAction(const wxControlAction& action,
+                       long numArg,
+                       const wxString& strArg);
+
 protected:
     // we shouldn't return height too big from here
     virtual wxSize DoGetBestClientSize() const;
@@ -144,11 +145,6 @@ protected:
     // called whenever the user selects or activates a listbox item
     void OnSelect(wxCommandEvent& event);
 
-    // used to process wxUniv actions
-    bool PerformAction(const wxControlAction& action,
-                       long numArg,
-                       const wxString& strArg);
-
 private:
     // has the mouse been released on this control?
     bool m_clicked;
@@ -510,8 +506,6 @@ void wxComboTextCtrl::OnKey(wxKeyEvent& event)
         case WXK_ESCAPE:
         case WXK_PAGEDOWN:
         case WXK_PAGEUP:
-        case WXK_PRIOR:
-        case WXK_NEXT:
             (void)m_combo->ProcessEvent(event);
             return;
     }
@@ -544,7 +538,7 @@ bool wxComboListBox::SetSelection(const wxString& value)
     // always matches), but we want to show the first one in such case
     if ( value.empty() )
     {
-        if ( GetCount() )
+        if ( GetCount() > 0 )
         {
             wxListBox::SetSelection(0);
         }
@@ -576,7 +570,7 @@ void wxComboListBox::OnSelect(wxCommandEvent& event)
         event2.SetId(m_combo->GetId());
         m_combo->ProcessEvent(event2);
     }
-    //else: ignore the events resultign from just moving the mouse initially
+    //else: ignore the events resulting from just moving the mouse initially
 }
 
 void wxComboListBox::OnShow()
@@ -614,7 +608,7 @@ void wxComboListBox::OnMouseMove(wxMouseEvent& event)
     // while a wxComboListBox is shown, it always has capture, so if it doesn't
     // we're about to go away anyhow (normally this shouldn't happen at all,
     // but I don't put assert here as it just might do on other platforms and
-    // it doesn't break anythign anyhow)
+    // it doesn't break anything anyhow)
     if ( this == wxWindow::GetCapture() )
     {
         if ( HitTest(event.GetPosition()) == wxHT_WINDOW_INSIDE )
@@ -800,43 +794,43 @@ void wxComboBox::Clear()
     GetText()->SetValue(wxEmptyString);
 }
 
-void wxComboBox::Delete(int n)
+void wxComboBox::Delete(unsigned int n)
 {
-    wxCHECK_RET( (n >= 0) && (n < GetCount()), _T("invalid index in wxComboBox::Delete") );
+    wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::Delete") );
 
-    if (GetSelection() == n)
+    if (GetSelection() == (int)n)
         GetText()->SetValue(wxEmptyString);
 
     GetLBox()->Delete(n);
 }
 
-int wxComboBox::GetCount() const
+unsigned int wxComboBox::GetCount() const
 {
     return GetLBox()->GetCount();
 }
 
-wxString wxComboBox::GetString(int n) const
+wxString wxComboBox::GetString(unsigned int n) const
 {
-    wxCHECK_MSG( (n >= 0) && (n < GetCount()), wxEmptyString, _T("invalid index in wxComboBox::GetString") );
+    wxCHECK_MSG( IsValid(n), wxEmptyString, _T("invalid index in wxComboBox::GetString") );
 
     return GetLBox()->GetString(n);
 }
 
-void wxComboBox::SetString(int n, const wxString& s)
+void wxComboBox::SetString(unsigned int n, const wxString& s)
 {
-    wxCHECK_RET( (n >= 0) && (n < GetCount()), _T("invalid index in wxComboBox::SetString") );
+    wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::SetString") );
 
     GetLBox()->SetString(n, s);
 }
 
-int wxComboBox::FindString(const wxString& s) const
+int wxComboBox::FindString(const wxString& s, bool bCase) const
 {
-    return GetLBox()->FindString(s);
+    return GetLBox()->FindString(s, bCase);
 }
 
 void wxComboBox::SetSelection(int n)
 {
-    wxCHECK_RET( (n >= 0) && (n < GetCount()), _T("invalid index in wxComboBox::Select") );
+    wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::Select") );
 
     GetLBox()->SetSelection(n);
     GetText()->SetValue(GetLBox()->GetString(n));
@@ -860,10 +854,10 @@ int wxComboBox::DoAppend(const wxString& item)
     return GetLBox()->Append(item);
 }
 
-int wxComboBox::DoInsert(const wxString& item, int pos)
+int wxComboBox::DoInsert(const wxString& item, unsigned int pos)
 {
     wxCHECK_MSG(!(GetWindowStyle() & wxCB_SORT), -1, wxT("can't insert into sorted list"));
-    wxCHECK_MSG((pos>=0) && (pos<=GetCount()), -1, wxT("invalid index"));
+    wxCHECK_MSG(IsValidInsert(pos), -1, wxT("invalid index"));
 
     if (pos == GetCount())
         return DoAppend(item);
@@ -872,22 +866,22 @@ int wxComboBox::DoInsert(const wxString& item, int pos)
     return pos;
 }
 
-void wxComboBox::DoSetItemClientData(int n, void* clientData)
+void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData)
 {
     GetLBox()->SetClientData(n, clientData);
 }
 
-void *wxComboBox::DoGetItemClientData(int n) const
+void *wxComboBox::DoGetItemClientData(unsigned int n) const
 {
     return GetLBox()->GetClientData(n);
 }
 
-void wxComboBox::DoSetItemClientObject(int n, wxClientData* clientData)
+void wxComboBox::DoSetItemClientObject(unsigned int n, wxClientData* clientData)
 {
     GetLBox()->SetClientObject(n, clientData);
 }
 
-wxClientData* wxComboBox::DoGetItemClientObject(int n) const
+wxClientData* wxComboBox::DoGetItemClientObject(unsigned int n) const
 {
     return GetLBox()->GetClientObject(n);
 }