X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/96be256b3e1802de10f45953c41ed33bce399b54..b0d8bfa6cd4042d3ea8680ad0145f79e3cb15268:/src/motif/listbox.cpp diff --git a/src/motif/listbox.cpp b/src/motif/listbox.cpp index 1fa40e0bff..8eba4cd13a 100644 --- a/src/motif/listbox.cpp +++ b/src/motif/listbox.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: listbox.cpp +// Name: src/motif/listbox.cpp // Purpose: wxListBox // Author: Julian Smart // Modified by: @@ -9,13 +9,11 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "listbox.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_LISTBOX + #ifdef __VMS #define XtParent XTPARENT #define XtDisplay XTDISPLAY @@ -91,17 +89,11 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, validator, name ) ) return false; - m_noItems = n; + m_noItems = (size_t)n; m_backgroundColour = * wxWHITE; Widget parentWidget = (Widget) parent->GetClientWidget(); - - WXFontType fontType = (WXFontType)NULL; - - if( m_font.Ok() ) - { - fontType = m_font.GetFontType(XtDisplay(parentWidget)); - } + Display* dpy = XtDisplay(parentWidget); Arg args[4]; int count = 0; @@ -111,9 +103,10 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, ( m_windowStyle & wxLB_EXTENDED ) ? XmEXTENDED_SELECT : XmBROWSE_SELECT ); ++count; - if( fontType ) + if( m_font.Ok() ) { - XtSetArg( args[count], (String)wxFont::GetFontTag(), fontType ); + XtSetArg( args[count], + (String)wxFont::GetFontTag(), m_font.GetFontTypeC(dpy) ); ++count; } if( m_windowStyle & wxLB_ALWAYS_SB ) @@ -199,8 +192,9 @@ void wxListBox::DoSetFirstItem( int N ) { int count, length; - if (N < 0) + if (!IsValid(N)) return; + XtVaGetValues ((Widget) m_mainWidget, XmNvisibleItemCount, &count, XmNitemCount, &length, @@ -315,8 +309,10 @@ int wxDoFindStringInList(Widget w, const wxString& s) return -1; } -int wxListBox::FindString(const wxString& s) const +int wxListBox::FindString(const wxString& s, bool WXUNUSED(bCase)) const { + // FIXME: back to base class for not supported value of bCase + return wxDoFindStringInList( (Widget)m_mainWidget, s ); } @@ -337,7 +333,7 @@ void wxListBox::Clear() m_noItems = 0; } -void wxListBox::SetSelection(int N, bool select) +void wxListBox::DoSetSelection(int N, bool select) { m_inSetValue = true; if (select) @@ -670,7 +666,7 @@ void wxListBox::ChangeForegroundColour() */ } -int wxListBox::GetCount() const +size_t wxListBox::GetCount() const { return m_noItems; } @@ -722,3 +718,4 @@ wxSize wxListBox::DoGetBestSize() const return wxDoGetListBoxBestSize( (Widget)m_mainWidget, this ); } +#endif // wxUSE_LISTBOX