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:
|
Currently the following symbols exist:
|
||||||
|
|
||||||
@beginDefList
|
@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
|
@itemdef{wxHAS_ATOMIC_OPS, Defined if wxAtomicInc() and wxAtomicDec() functions
|
||||||
have an efficient (CPU-specific) implementation. Notice that the functions
|
have an efficient (CPU-specific) implementation. Notice that the functions
|
||||||
themselves are always available but can be prohibitively slow to use when
|
themselves are always available but can be prohibitively slow to use when
|
||||||
|
@@ -178,6 +178,9 @@ private:
|
|||||||
wxDECLARE_NO_COPY_CLASS(wxCheckBoxBase);
|
wxDECLARE_NO_COPY_CLASS(wxCheckBoxBase);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Most ports support 3 state checkboxes so define this by default.
|
||||||
|
#define wxHAS_3STATE_CHECKBOX
|
||||||
|
|
||||||
#if defined(__WXUNIVERSAL__)
|
#if defined(__WXUNIVERSAL__)
|
||||||
#include "wx/univ/checkbox.h"
|
#include "wx/univ/checkbox.h"
|
||||||
#elif defined(__WXMSW__)
|
#elif defined(__WXMSW__)
|
||||||
@@ -187,12 +190,14 @@ private:
|
|||||||
#elif defined(__WXGTK20__)
|
#elif defined(__WXGTK20__)
|
||||||
#include "wx/gtk/checkbox.h"
|
#include "wx/gtk/checkbox.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__WXGTK__)
|
||||||
|
#undef wxHAS_3STATE_CHECKBOX
|
||||||
#include "wx/gtk1/checkbox.h"
|
#include "wx/gtk1/checkbox.h"
|
||||||
#elif defined(__WXMAC__)
|
#elif defined(__WXMAC__)
|
||||||
#include "wx/osx/checkbox.h"
|
#include "wx/osx/checkbox.h"
|
||||||
#elif defined(__WXCOCOA__)
|
#elif defined(__WXCOCOA__)
|
||||||
#include "wx/cocoa/checkbox.h"
|
#include "wx/cocoa/checkbox.h"
|
||||||
#elif defined(__WXPM__)
|
#elif defined(__WXPM__)
|
||||||
|
#undef wxHAS_3STATE_CHECKBOX
|
||||||
#include "wx/os2/checkbox.h"
|
#include "wx/os2/checkbox.h"
|
||||||
#elif defined(__WXPALMOS__)
|
#elif defined(__WXPALMOS__)
|
||||||
#include "wx/palmos/checkbox.h"
|
#include "wx/palmos/checkbox.h"
|
||||||
@@ -200,5 +205,4 @@ private:
|
|||||||
|
|
||||||
#endif // wxUSE_CHECKBOX
|
#endif // wxUSE_CHECKBOX
|
||||||
|
|
||||||
#endif
|
#endif // _WX_CHECKBOX_H_BASE_
|
||||||
// _WX_CHECKBOX_H_BASE_
|
|
||||||
|
@@ -33,15 +33,19 @@ public:
|
|||||||
private:
|
private:
|
||||||
CPPUNIT_TEST_SUITE( CheckBoxTestCase );
|
CPPUNIT_TEST_SUITE( CheckBoxTestCase );
|
||||||
CPPUNIT_TEST( Check );
|
CPPUNIT_TEST( Check );
|
||||||
|
#ifdef wxHAS_3STATE_CHECKBOX
|
||||||
CPPUNIT_TEST( ThirdState );
|
CPPUNIT_TEST( ThirdState );
|
||||||
CPPUNIT_TEST( ThirdStateUser );
|
CPPUNIT_TEST( ThirdStateUser );
|
||||||
CPPUNIT_TEST( InvalidStyles );
|
CPPUNIT_TEST( InvalidStyles );
|
||||||
|
#endif // wxHAS_3STATE_CHECKBOX
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
void Check();
|
void Check();
|
||||||
|
#ifdef wxHAS_3STATE_CHECKBOX
|
||||||
void ThirdState();
|
void ThirdState();
|
||||||
void ThirdStateUser();
|
void ThirdStateUser();
|
||||||
void InvalidStyles();
|
void InvalidStyles();
|
||||||
|
#endif // wxHAS_3STATE_CHECKBOX
|
||||||
|
|
||||||
// Initialize m_check with a new checkbox with the specified style
|
// Initialize m_check with a new checkbox with the specified style
|
||||||
//
|
//
|
||||||
@@ -107,9 +111,9 @@ void CheckBoxTestCase::Check()
|
|||||||
CPPUNIT_ASSERT_EQUAL(0, frame->GetEventCount());
|
CPPUNIT_ASSERT_EQUAL(0, frame->GetEventCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef wxHAS_3STATE_CHECKBOX
|
||||||
void CheckBoxTestCase::ThirdState()
|
void CheckBoxTestCase::ThirdState()
|
||||||
{
|
{
|
||||||
#if !defined(__WXMGL__) && !defined(__WXPM__) && !defined(__WXGTK12__)
|
|
||||||
wxDELETE(m_check);
|
wxDELETE(m_check);
|
||||||
CreateCheckBox(wxCHK_3STATE);
|
CreateCheckBox(wxCHK_3STATE);
|
||||||
|
|
||||||
@@ -124,12 +128,10 @@ void CheckBoxTestCase::ThirdState()
|
|||||||
m_check->Set3StateValue(wxCHK_UNDETERMINED);
|
m_check->Set3StateValue(wxCHK_UNDETERMINED);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
|
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckBoxTestCase::ThirdStateUser()
|
void CheckBoxTestCase::ThirdStateUser()
|
||||||
{
|
{
|
||||||
#if !defined(__WXMGL__) && !defined(__WXPM__) && !defined(__WXGTK12__)
|
|
||||||
wxDELETE(m_check);
|
wxDELETE(m_check);
|
||||||
CreateCheckBox(wxCHK_3STATE | wxCHK_ALLOW_3RD_STATE_FOR_USER);
|
CreateCheckBox(wxCHK_3STATE | wxCHK_ALLOW_3RD_STATE_FOR_USER);
|
||||||
|
|
||||||
@@ -144,7 +146,6 @@ void CheckBoxTestCase::ThirdStateUser()
|
|||||||
m_check->Set3StateValue(wxCHK_UNDETERMINED);
|
m_check->Set3StateValue(wxCHK_UNDETERMINED);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
|
CPPUNIT_ASSERT_EQUAL(wxCHK_UNDETERMINED, m_check->Get3StateValue());
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckBoxTestCase::InvalidStyles()
|
void CheckBoxTestCase::InvalidStyles()
|
||||||
@@ -170,4 +171,6 @@ void CheckBoxTestCase::InvalidStyles()
|
|||||||
WX_ASSERT_FAILS_WITH_ASSERT( CreateCheckBox(wxCHK_ALLOW_3RD_STATE_FOR_USER) );
|
WX_ASSERT_FAILS_WITH_ASSERT( CreateCheckBox(wxCHK_ALLOW_3RD_STATE_FOR_USER) );
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //wxUSE_CHECKBOX
|
#endif // wxHAS_3STATE_CHECKBOX
|
||||||
|
|
||||||
|
#endif // wxUSE_CHECKBOX
|
||||||
|
Reference in New Issue
Block a user