X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/584ad2a32fec156c6049145d7ece9a33213aea28..d1f024a8de8872ae314b30e0d1b8c8a1b8518c3d:/src/motif/choice.cpp?ds=sidebyside diff --git a/src/motif/choice.cpp b/src/motif/choice.cpp index fbc5fdc03e..c035ba3f62 100644 --- a/src/motif/choice.cpp +++ b/src/motif/choice.cpp @@ -6,12 +6,11 @@ // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "choice.h" -#endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" #ifdef __VMS #define XtDisplay XTDISPLAY @@ -20,6 +19,8 @@ #include "wx/defs.h" +#if wxUSE_CHOICE + #include "wx/choice.h" #include "wx/utils.h" #include "wx/arrstr.h" @@ -68,7 +69,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, const wxString& name) { if ( !CreateControl(parent, id, pos, size, style, validator, name) ) - return FALSE; + return false; Widget parentWidget = (Widget) parent->GetClientWidget(); @@ -88,7 +89,8 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, * Create the popup menu */ m_menuWidget = (WXWidget) XmCreatePulldownMenu ((Widget) m_formWidget, - "choiceMenu", NULL, 0); + wxMOTIF_STR("choiceMenu"), + NULL, 0); if (n > 0) { @@ -108,7 +110,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, XtSetArg (args[argcnt], XmNmarginHeight, 0); ++argcnt; XtSetArg (args[argcnt], XmNpacking, XmPACK_TIGHT); ++argcnt; m_buttonWidget = (WXWidget) XmCreateOptionMenu ((Widget) m_formWidget, - "choiceButton", + wxMOTIF_STR("choiceButton"), args, argcnt); m_mainWidget = m_buttonWidget; @@ -135,13 +137,13 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id, XtVaSetValues((Widget) m_formWidget, XmNresizePolicy, XmRESIZE_NONE, NULL); - ChangeFont(FALSE); + ChangeFont(false); ChangeBackgroundColour(); AttachWidget (parent, m_buttonWidget, m_formWidget, pos.x, pos.y, bestSize.x, bestSize.y); - return TRUE; + return true; } bool wxChoice::Create(wxWindow *parent, wxWindowID id, @@ -184,7 +186,7 @@ wxChoice::~wxChoice() int wxChoice::DoAppend(const wxString& item) { Widget w = XtVaCreateManagedWidget (wxStripMenuCodes(item), -#if USE_GADGETS +#if wxUSE_GADGETS xmPushButtonGadgetClass, (Widget) m_menuWidget, #else xmPushButtonWidgetClass, (Widget) m_menuWidget, @@ -223,7 +225,7 @@ int wxChoice::DoAppend(const wxString& item) int wxChoice::DoInsert(const wxString& item, int pos) { - wxCHECK_MSG(FALSE, -1, wxT("insert not implemented")); + wxCHECK_MSG(false, -1, wxT("insert not implemented")); // wxCHECK_MSG((pos>=0) && (pos<=GetCount()), -1, wxT("invalid index")); // if (pos == GetCount()) return DoAppend(item); @@ -297,7 +299,7 @@ int wxChoice::GetSelection() const void wxChoice::SetSelection(int n) { - m_inSetValue = TRUE; + m_inSetValue = true; wxStringList::compatibility_iterator node = m_stringList.Item(n); if (node) @@ -324,7 +326,7 @@ void wxChoice::SetSelection(int n) XmNmenuHistory, (Widget) m_widgetArray[n], NULL); #endif } - m_inSetValue = FALSE; + m_inSetValue = false; } int wxChoice::FindString(const wxString& s) const @@ -339,7 +341,7 @@ int wxChoice::FindString(const wxString& s) const i++; } - return -1; + return wxNOT_FOUND; } wxString wxChoice::GetString(int n) const @@ -436,8 +438,8 @@ void wxChoiceCallback (Widget w, XtPointer clientData, XtPointer WXUNUSED(ptr)) { wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, item->GetId()); event.SetEventObject(item); - event.m_commandInt = n; - event.m_commandString = item->GetStrings().Item(n)->GetData(); + event.SetInt(n); + event.SetString( item->GetStrings().Item(n)->GetData() ); if ( item->HasClientObjectData() ) event.SetClientObject( item->GetClientObject(n) ); else if ( item->HasClientUntypedData() ) @@ -454,25 +456,28 @@ void wxChoice::ChangeFont(bool keepOriginalSize) // back again. TODO: a better way in Motif? if (m_font.Ok()) { + Display* dpy = XtDisplay((Widget) m_mainWidget); int width, height, width1, height1; GetSize(& width, & height); - WXFontType fontType = - m_font.GetFontType(XtDisplay((Widget) m_mainWidget)); WXString fontTag = wxFont::GetFontTag(); - XtVaSetValues ((Widget) m_formWidget, fontTag, fontType, NULL); - XtVaSetValues ((Widget) m_buttonWidget, fontTag, fontType, NULL); + XtVaSetValues ((Widget) m_formWidget, + fontTag, m_font.GetFontTypeC(dpy), + NULL); + XtVaSetValues ((Widget) m_buttonWidget, + fontTag, m_font.GetFontTypeC(dpy), + NULL); for( size_t i = 0; i < m_noStrings; ++i ) XtVaSetValues( (Widget)m_widgetArray[i], - fontTag, fontType, + fontTag, m_font.GetFontTypeC(dpy), NULL ); - + GetSize(& width1, & height1); if (keepOriginalSize && (width != width1 || height != height1)) { - SetSize(-1, -1, width, height); + SetSize(wxDefaultCoord, wxDefaultCoord, width, height); } } } @@ -504,7 +509,7 @@ int wxChoice::GetCount() const void wxChoice::DoSetItemClientData(int n, void* clientData) { - m_clientDataDict.Set(n, (wxClientData*)clientData, FALSE); + m_clientDataDict.Set(n, (wxClientData*)clientData, false); } void* wxChoice::DoGetItemClientData(int n) const @@ -515,7 +520,7 @@ void* wxChoice::DoGetItemClientData(int n) const void wxChoice::DoSetItemClientObject(int n, wxClientData* clientData) { // don't delete, wxItemContainer does that for us - m_clientDataDict.Set(n, clientData, FALSE); + m_clientDataDict.Set(n, clientData, false); } wxClientData* wxChoice::DoGetItemClientObject(int n) const @@ -554,3 +559,5 @@ wxSize wxChoice::DoGetBestSize() const return wxSize( ( items.x ? items.x + WIDTH_OVERHEAD : 120 ), items.y + HEIGHT_OVERHEAD ); } + +#endif // wxUSE_CHOICE