- XmString str = XmStringCreateLtoR((char*) (const char*) item, XmSTRING_DEFAULT_CHARSET);
- XmComboBoxAddItem((Widget) m_mainWidget, str, 0);
- m_stringList.Add(item);
- XmStringFree(str);
- m_noStrings ++;
+ const unsigned int numItems = items.GetCount();
+
+ AllocClientData(numItems);
+ for( unsigned int i = 0; i < numItems; ++i, ++pos )
+ {
+ wxXmString str( items[i].c_str() );
+ XmComboBoxAddItem((Widget) m_mainWidget, str(), GetMotifPosition(pos));
+ wxChar* copy = wxStrcpy(new wxChar[items[i].length() + 1], items[i].c_str());
+ m_stringList.Insert(pos, copy);
+ m_noStrings ++;
+ InsertNewItemClientData(pos, clientData, i, type);
+ }
+
+ return pos - 1;