// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "listbox.h"
#endif
#include "wx/dynarray.h"
#include "wx/log.h"
#include "wx/utils.h"
+#include "wx/arrstr.h"
#ifdef __VMS__
#pragma message disable nosimpint
(XtCallbackProc) wxListBoxCallback,
(XtPointer) this);
- SetCanAddEventHandler(TRUE);
AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
pos.x, pos.y, best.x, best.y);
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() )
XmNitemCount, &count,
XmNitems, &strlist,
NULL );
- if( n <= count && n >= 0 )
+ if( n < count && n >= 0 )
return wxXmStringToString( strlist[n] );
else
return wxEmptyString;
* 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)),
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()
/* 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);
*/
}