// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#if wxUSE_CHOICE
+
#ifdef __VMS
#define XtDisplay XTDISPLAY
#define XtParent XTPARENT
#endif
-#include "wx/defs.h"
-
-#if wxUSE_CHOICE
-
#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
{
if ( !CreateControl(parent, id, pos, size, style, validator, name) )
return false;
+ PreCreation();
Widget parentWidget = (Widget) parent->GetClientWidget();
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);
return wxStrcpy(copy, s);
}
-int wxChoice::DoInsert(const wxString& item, int pos)
+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
return DoInsert(item, GetCount());
}
-void wxChoice::Delete(int n)
+void wxChoice::Delete(unsigned int n)
{
Widget w = (Widget)m_widgetArray[n];
XtRemoveCallback(w, XmNactivateCallback, (XtCallbackProc)wxChoiceCallback,
m_clientDataDict.Delete(n, HasClientObjectData());
XtDestroyWidget(w);
- m_noStrings --;
+ m_noStrings--;
}
void wxChoice::Clear()
{
m_stringList.Clear ();
- size_t i;
+ unsigned int i;
for (i = 0; i < m_noStrings; i++)
{
XtRemoveCallback((Widget) m_widgetArray[i],
m_inSetValue = false;
}
-wxString wxChoice::GetString(int n) const
+wxString wxChoice::GetString(unsigned int n) const
{
wxStringList::compatibility_iterator node = m_stringList.Item(n);
if (node)
if (width > -1)
{
- size_t i;
+ unsigned int i;
for (i = 0; i < m_noStrings; i++)
XtVaSetValues ((Widget) m_widgetArray[i],
XmNwidth, actualWidth,
if (height > -1)
{
#if 0
- size_t i;
+ unsigned int i;
for (i = 0; i < m_noStrings; i++)
XtVaSetValues ((Widget) m_widgetArray[i],
XmNheight, actualHeight,
// 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;
fontTag, m_font.GetFontTypeC(dpy),
NULL);
- for( size_t i = 0; i < m_noStrings; ++i )
+ for( unsigned int i = 0; i < m_noStrings; ++i )
XtVaSetValues( (Widget)m_widgetArray[i],
fontTag, m_font.GetFontTypeC(dpy),
NULL );
wxDoChangeBackgroundColour(m_formWidget, m_backgroundColour);
wxDoChangeBackgroundColour(m_buttonWidget, m_backgroundColour);
wxDoChangeBackgroundColour(m_menuWidget, m_backgroundColour);
- size_t i;
+ unsigned int i;
for (i = 0; i < m_noStrings; i++)
wxDoChangeBackgroundColour(m_widgetArray[i], m_backgroundColour);
}
wxDoChangeForegroundColour(m_formWidget, m_foregroundColour);
wxDoChangeForegroundColour(m_buttonWidget, m_foregroundColour);
wxDoChangeForegroundColour(m_menuWidget, m_foregroundColour);
- size_t i;
+ unsigned int i;
for (i = 0; i < m_noStrings; i++)
wxDoChangeForegroundColour(m_widgetArray[i], m_foregroundColour);
}
-int wxChoice::GetCount() const
+unsigned int wxChoice::GetCount() const
{
return m_noStrings;
}
-void wxChoice::DoSetItemClientData(int n, void* clientData)
+void wxChoice::DoSetItemClientData(unsigned int n, void* clientData)
{
m_clientDataDict.Set(n, (wxClientData*)clientData, false);
}
-void* wxChoice::DoGetItemClientData(int n) const
+void* wxChoice::DoGetItemClientData(unsigned int n) const
{
return (void*)m_clientDataDict.Get(n);
}
-void wxChoice::DoSetItemClientObject(int n, wxClientData* clientData)
+void wxChoice::DoSetItemClientObject(unsigned int n, wxClientData* clientData)
{
// don't delete, wxItemContainer does that for us
m_clientDataDict.Set(n, clientData, false);
}
-wxClientData* wxChoice::DoGetItemClientObject(int n) const
+wxClientData* wxChoice::DoGetItemClientObject(unsigned int n) const
{
return m_clientDataDict.Get(n);
}
-void wxChoice::SetString(int WXUNUSED(n), const wxString& WXUNUSED(s))
+void wxChoice::SetString(unsigned int WXUNUSED(n), const wxString& WXUNUSED(s))
{
wxFAIL_MSG( wxT("wxChoice::SetString not implemented") );
}