]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/choice.cpp
Use type safe list for model notifiers, sample corrected
[wxWidgets.git] / src / motif / choice.cpp
index 04531704eee9215de01e5e1b5d5df092c916ea99..6c7edaa11773972e698dd15ba541d0dde33f6a2a 100644 (file)
 #endif
 
 #include "wx/choice.h"
-#include "wx/utils.h"
-#include "wx/arrstr.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/utils.h"
+    #include "wx/arrstr.h"
+#endif
 
 #ifdef __VMS__
 #pragma message disable nosimpint
@@ -68,6 +71,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
 {
     if ( !CreateControl(parent, id, pos, size, style, validator, name) )
         return false;
+    PreCreation();
 
     Widget parentWidget = (Widget) parent->GetClientWidget();
 
@@ -135,9 +139,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
 
     XtVaSetValues((Widget) m_formWidget, XmNresizePolicy, XmRESIZE_NONE, NULL);
 
-    ChangeFont(false);
-    ChangeBackgroundColour();
-
+    PostCreation();
     AttachWidget (parent, m_buttonWidget, m_formWidget,
                   pos.x, pos.y, bestSize.x, bestSize.y);
 
@@ -192,7 +194,7 @@ int wxChoice::DoInsert(const wxString& item, unsigned int pos)
 #ifndef XmNpositionIndex
     wxCHECK_MSG( pos == GetCount(), -1, wxT("insert not implemented"));
 #endif
-    Widget w = XtVaCreateManagedWidget (wxStripMenuCodes(item),
+    Widget w = XtVaCreateManagedWidget (GetLabelText(item),
 #if wxUSE_GADGETS
         xmPushButtonGadgetClass, (Widget) m_menuWidget,
 #else
@@ -447,7 +449,7 @@ void wxChoice::ChangeFont(bool keepOriginalSize)
     // Note that this causes the widget to be resized back
     // to its original size! We therefore have to set the size
     // back again. TODO: a better way in Motif?
-    if (m_font.Ok())
+    if (m_mainWidget && m_font.Ok())
     {
         Display* dpy = XtDisplay((Widget) m_mainWidget);
         int width, height, width1, height1;