Currently the following symbols exist:
@beginDefList
+@itemdef{wxHAS_3STATE_CHECKBOX, Defined if wxCheckBox supports wxCHK_3STATE
+ flag, i.e. is capable of showing three states and not only the usual two.
+ Currently defined for almost all ports.}
@itemdef{wxHAS_ATOMIC_OPS, Defined if wxAtomicInc() and wxAtomicDec() functions
have an efficient (CPU-specific) implementation. Notice that the functions
themselves are always available but can be prohibitively slow to use when
wxDECLARE_NO_COPY_CLASS(wxCheckBoxBase);
};
+// Most ports support 3 state checkboxes so define this by default.
+#define wxHAS_3STATE_CHECKBOX
+
#if defined(__WXUNIVERSAL__)
#include "wx/univ/checkbox.h"
#elif defined(__WXMSW__)
#elif defined(__WXGTK20__)
#include "wx/gtk/checkbox.h"
#elif defined(__WXGTK__)
+ #undef wxHAS_3STATE_CHECKBOX
#include "wx/gtk1/checkbox.h"
#elif defined(__WXMAC__)
#include "wx/osx/checkbox.h"
#elif defined(__WXCOCOA__)
#include "wx/cocoa/checkbox.h"
#elif defined(__WXPM__)
+ #undef wxHAS_3STATE_CHECKBOX
#include "wx/os2/checkbox.h"
#elif defined(__WXPALMOS__)
#include "wx/palmos/checkbox.h"
#endif // wxUSE_CHECKBOX
-#endif
- // _WX_CHECKBOX_H_BASE_
+#endif // _WX_CHECKBOX_H_BASE_
private:
CPPUNIT_TEST_SUITE( CheckBoxTestCase );
CPPUNIT_TEST( Check );
+#ifdef wxHAS_3STATE_CHECKBOX
CPPUNIT_TEST( ThirdState );
CPPUNIT_TEST( ThirdStateUser );
CPPUNIT_TEST( InvalidStyles );
+#endif // wxHAS_3STATE_CHECKBOX
CPPUNIT_TEST_SUITE_END();
void Check();
+#ifdef wxHAS_3STATE_CHECKBOX
void ThirdState();
void ThirdStateUser();
void InvalidStyles();
+#endif // wxHAS_3STATE_CHECKBOX
// Initialize m_check with a new checkbox with the specified style
//
CPPUNIT_ASSERT_EQUAL(0, frame->GetEventCount());
}
+#ifdef wxHAS_3STATE_CHECKBOX
void CheckBoxTestCase::ThirdState()
{
-#if !defined(__WXMGL__) && !defined(__WXPM__) && !defined(__WXGTK12__)
wxDELETE(m_check);
CreateCheckBox(wxCHK_3STATE);
m_check->Set3StateValue(wxCHK_UNDETERMINED);
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
-#endif
}
void CheckBoxTestCase::ThirdStateUser()
{
-#if !defined(__WXMGL__) && !defined(__WXPM__) && !defined(__WXGTK12__)
wxDELETE(m_check);
CreateCheckBox(wxCHK_3STATE | wxCHK_ALLOW_3RD_STATE_FOR_USER);
m_check->Set3StateValue(wxCHK_UNDETERMINED);
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
-#endif
}
void CheckBoxTestCase::InvalidStyles()
WX_ASSERT_FAILS_WITH_ASSERT( CreateCheckBox(wxCHK_ALLOW_3RD_STATE_FOR_USER) );
}
-#endif //wxUSE_CHECKBOX
+#endif // wxHAS_3STATE_CHECKBOX
+
+#endif // wxUSE_CHECKBOX