]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/combobox.cpp
code
[wxWidgets.git] / src / motif / combobox.cpp
index 72d2836507affec3d6037cfcfa1b906066af3a31..5e81729e67304d89976420976f8e7281eb09714d 100644 (file)
 #pragma implementation "combobox.h"
 #endif
 
-#include "wx/combobox.h"
+#include "wx/setup.h"
 
 #if wxUSE_COMBOBOX
 
+#include "wx/combobox.h"
+
 #ifdef __VMS__
 #pragma message disable nosimpint
 #endif
 #ifdef __VMS__
 #pragma message enable nosimpint
 #endif
+
+// use the old, GPL'd combobox
+#if (XmVersion < 2000)
+
 #include "xmcombo/xmcombo.h"
 
 #include "wx/motif/private.h"
@@ -124,6 +130,11 @@ void wxComboBox::SetValue(const wxString& value)
     m_inSetValue = FALSE;
 }
 
+void wxComboBox::SetString(int n, const wxString& s)
+{
+    wxFAIL_MSG( wxT("wxComboBox::SetString only implemented for Motif 2.0") );
+}
+
 int wxComboBox::DoAppend(const wxString& item)
 {
     wxXmString str( item.c_str() );
@@ -137,10 +148,10 @@ int wxComboBox::DoAppend(const wxString& item)
 void wxComboBox::Delete(int n)
 {
     XmComboBoxDeletePos((Widget) m_mainWidget, n+1);
-    wxNode *node = m_stringList.Nth(n);
+    wxStringList::Node *node = m_stringList.Item(n);
     if (node)
     {
-        delete[] (char *)node->Data();
+        delete[] node->GetData();
         delete node;
     }
     m_clientDataDict.Delete(n, HasClientObjectData());
@@ -173,9 +184,9 @@ int wxComboBox::GetSelection (void) const
 
 wxString wxComboBox::GetString(int n) const
 {
-    wxNode *node = m_stringList.Nth(n);
+    wxStringList::Node *node = m_stringList.Item(n);
     if (node)
-        return wxString((char *) node->Data ());
+        return wxString(node->GetData ());
     else
         return wxEmptyString;
 }
@@ -269,7 +280,8 @@ void  wxComboBoxCallback (Widget WXUNUSED(w), XtPointer clientData,
     case XmCR_SINGLE_SELECT:
     case XmCR_BROWSE_SELECT:
         {
-            wxCommandEvent event (wxEVT_COMMAND_COMBOBOX_SELECTED, item->GetId());
+            wxCommandEvent event (wxEVT_COMMAND_COMBOBOX_SELECTED,
+                                  item->GetId());
             event.m_commandInt = cbs->index - 1;
             event.m_commandString = item->GetString (event.m_commandInt);
             if ( item->HasClientObjectData() )
@@ -326,5 +338,6 @@ wxSize wxComboBox::DoGetBestSize() const
         return wxWindow::DoGetBestSize();
 }
 
-#endif
+#endif // XmVersion < 2000
 
+#endif // wxUSE_COMBOBOX