/////////////////////////////////////////////////////////////////////////////
-// Name: checkbox.cpp
+// Name: src/motif/checkbox.cpp
// Purpose: wxCheckBox
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#define XtDisplay XTDISPLAY
#endif
-#include "wx/defs.h"
-
#include "wx/checkbox.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/utils.h"
+#endif
+
#include "wx/tglbtn.h"
-#include "wx/utils.h"
#ifdef __VMS__
#pragma message disable nosimpint
#define wxHAS_3STATE 0
#endif
-
#include "wx/motif/private.h"
void wxCheckBoxCallback (Widget w, XtPointer clientData,
if( !wxControl::CreateControl( parent, id, pos, size, style, validator,
name ) )
return false;
+ PreCreation();
+
+ wxXmString text( GetLabelText(label) );
- wxString label1(wxStripMenuCodes(label));
- wxXmString text( label1 );
-
Widget parentWidget = (Widget) parent->GetClientWidget();
m_mainWidget = (WXWidget) XtVaCreateManagedWidget ("toggle",
XmNtoggleMode, Is3State() ? XmTOGGLE_INDETERMINATE : XmTOGGLE_BOOLEAN,
#endif
NULL);
-
+
XtAddCallback( (Widget)m_mainWidget,
XmNvalueChangedCallback, (XtCallbackProc)wxCheckBoxCallback,
(XtPointer)this );
XmToggleButtonSetState ((Widget) m_mainWidget, False, True);
+ PostCreation();
AttachWidget( parent, m_mainWidget, (WXWidget)NULL,
pos.x, pos.y, size.x, size.y );
- ChangeBackgroundColour();
return true;
}
void wxCheckBox::ChangeBackgroundColour()
{
+ if (!m_backgroundColour.Ok())
+ return;
+
wxComputeColours (XtDisplay((Widget) m_mainWidget), & m_backgroundColour,
(wxColour*) NULL);
XmNforeground, g_itemColors[wxFORE_INDEX].pixel,
NULL);
- int selectPixel = wxBLACK->AllocColour(XtDisplay((Widget)m_mainWidget));
+ wxColour colour = *wxBLACK;
+ WXPixel selectPixel = colour.AllocColour(XtDisplay((Widget)m_mainWidget));
// Better to have the checkbox selection in black, or it's
// hard to determine what state it is in.
XtVaSetValues ((Widget) m_mainWidget,
XmNselectColor, selectPixel,
- NULL);
+ NULL);
}
void wxCheckBox::DoSet3StateValue(wxCheckBoxState state)
NULL );
#else
XmToggleButtonSetState ((Widget) m_mainWidget,
- (Boolean) state == wxCHK_CHECKED, True);
+ state == wxCHK_CHECKED, True);
#endif
m_inSetValue = false;