Add wxHAS_3STATE_CHECKBOX symbol.
This symbol is defined for the ports that support wxCHK_3STATE style. While most of the ports do support it, a couple still do not and having this symbol makes it more convenient to exclude 3-state-checkbox-specific code, like in CheckBoxTestCase. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -192,6 +192,9 @@ the corresponding feature is available and not defined at all otherwise.
|
||||
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
|
||||
|
@@ -178,6 +178,9 @@ private:
|
||||
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__)
|
||||
@@ -187,12 +190,14 @@ private:
|
||||
#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"
|
||||
@@ -200,5 +205,4 @@ private:
|
||||
|
||||
#endif // wxUSE_CHECKBOX
|
||||
|
||||
#endif
|
||||
// _WX_CHECKBOX_H_BASE_
|
||||
#endif // _WX_CHECKBOX_H_BASE_
|
||||
|
@@ -33,15 +33,19 @@ public:
|
||||
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
|
||||
//
|
||||
@@ -107,9 +111,9 @@ void CheckBoxTestCase::Check()
|
||||
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);
|
||||
|
||||
@@ -124,12 +128,10 @@ void CheckBoxTestCase::ThirdState()
|
||||
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);
|
||||
|
||||
@@ -144,7 +146,6 @@ void CheckBoxTestCase::ThirdStateUser()
|
||||
m_check->Set3StateValue(wxCHK_UNDETERMINED);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
|
||||
#endif
|
||||
}
|
||||
|
||||
void CheckBoxTestCase::InvalidStyles()
|
||||
@@ -170,4 +171,6 @@ void CheckBoxTestCase::InvalidStyles()
|
||||
WX_ASSERT_FAILS_WITH_ASSERT( CreateCheckBox(wxCHK_ALLOW_3RD_STATE_FOR_USER) );
|
||||
}
|
||||
|
||||
#endif // wxHAS_3STATE_CHECKBOX
|
||||
|
||||
#endif // wxUSE_CHECKBOX
|
||||
|
Reference in New Issue
Block a user