X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3a80c922c7f0932f0b3985846e58ef48e3a6da7..c2697b8719a354c03b333df1466c9d28d4c8ab51:/src/motif/listbox.cpp?ds=sidebyside diff --git a/src/motif/listbox.cpp b/src/motif/listbox.cpp index dc8cf4c10a..1ad6566347 100644 --- a/src/motif/listbox.cpp +++ b/src/motif/listbox.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "listbox.h" #endif @@ -23,6 +23,7 @@ #include "wx/dynarray.h" #include "wx/log.h" #include "wx/utils.h" +#include "wx/arrstr.h" #ifdef __VMS__ #pragma message disable nosimpint @@ -149,7 +150,6 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, (XtCallbackProc) wxListBoxCallback, (XtPointer) this); - SetCanAddEventHandler(TRUE); AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, best.x, best.y); @@ -158,6 +158,19 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, return TRUE; } +bool wxListBox::Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString& name) +{ + wxCArrayString chs(choices); + return Create(parent, id, pos, size, chs.GetCount(), chs.GetStrings(), + style, validator, name); +} + wxListBox::~wxListBox() { if( HasClientObjectData() ) @@ -459,7 +472,7 @@ wxString wxDoGetStringInList( Widget listBox, int n ) XmNitemCount, &count, XmNitems, &strlist, NULL ); - if( n <= count && n >= 0 ) + if( n < count && n >= 0 ) return wxXmStringToString( strlist[n] ); else return wxEmptyString; @@ -619,8 +632,8 @@ void wxListBox::ChangeBackgroundColour() * function to change them (by default, taken from wxSystemSettings) */ wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); - DoChangeBackgroundColour((WXWidget) hsb, backgroundColour, TRUE); - DoChangeBackgroundColour((WXWidget) vsb, backgroundColour, TRUE); + wxDoChangeBackgroundColour((WXWidget) hsb, backgroundColour, TRUE); + wxDoChangeBackgroundColour((WXWidget) vsb, backgroundColour, TRUE); XtVaSetValues (hsb, XmNtroughColor, backgroundColour.AllocColour(XtDisplay(hsb)), @@ -630,7 +643,7 @@ void wxListBox::ChangeBackgroundColour() NULL); // MBN: why change parent's background? It looks really ugly. - // DoChangeBackgroundColour((WXWidget) parent, m_backgroundColour, TRUE); + // wxDoChangeBackgroundColour((WXWidget) parent, m_backgroundColour, TRUE); } void wxListBox::ChangeForegroundColour() @@ -648,9 +661,9 @@ void wxListBox::ChangeForegroundColour() /* TODO: should scrollbars be affected? Should probably have separate function to change them (by default, taken from wxSystemSettings) - DoChangeForegroundColour((WXWidget) hsb, m_foregroundColour); - DoChangeForegroundColour((WXWidget) vsb, m_foregroundColour); - DoChangeForegroundColour((WXWidget) parent, m_foregroundColour); + wxDoChangeForegroundColour((WXWidget) hsb, m_foregroundColour); + wxDoChangeForegroundColour((WXWidget) vsb, m_foregroundColour); + wxDoChangeForegroundColour((WXWidget) parent, m_foregroundColour); */ }