fixing a few typos, wxAny copy constructor implementation, making wxAnyList available everywhere

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2011-01-06 11:06:12 +00:00
parent 27a5c70277
commit f41d5991df
4 changed files with 17 additions and 16 deletions

View File

@@ -20,7 +20,7 @@
#include "wx/string.h"
#include "wx/meta/if.h"
#include "wx/typeinfo.h"
#include "wx/list.h"
// Size of the wxAny value buffer.
enum
@@ -104,7 +104,7 @@ public:
a specific C++ data type.
@remarks This template function does not work on some older compilers
(such as Visual C++ 6.0). For full compiler ccompatibility
(such as Visual C++ 6.0). For full compiler compatibility
please use wxANY_VALUE_TYPE_CHECK_TYPE(valueTypePtr, T) macro
instead.
@@ -215,7 +215,7 @@ public:
static const T& GetValue(const wxAnyValueBuffer& buf)
{
// Breaking this code into two lines should supress
// Breaking this code into two lines should suppress
// GCC's 'type-punned pointer will break strict-aliasing rules'
// warning.
const T* value = reinterpret_cast<const T*>(&buf.m_buffer[0]);
@@ -558,7 +558,7 @@ public: \
// (this is needed only for types that are referred to from wxBase.
// currently we may not use any of these types from there, but let's
// use the macro on at least one to make sure it compiles since we can't
// really test it properly in unittests since a separate DLL would
// really test it properly in unit tests since a separate DLL would
// be needed).
#if wxUSE_DATETIME
#include "wx/datetime.h"
@@ -934,7 +934,7 @@ public:
no type conversion is performed, so if the type is incorrect an
assertion failure will occur.
@remarks For conveniency, conversion is done when T is wxString. This
@remarks For convenience, conversion is done when T is wxString. This
is useful when a string literal (which are treated as
const char* and const wchar_t*) has been assigned to wxAny.
@@ -968,10 +968,10 @@ public:
}
/**
Template function that etrieves and converts the value of this
Template function that retrieves and converts the value of this
variant to the type that T* value is.
@return Returns @true if conversion was succesfull.
@return Returns @true if conversion was successful.
*/
template<typename T>
bool GetAs(T* value) const
@@ -1006,13 +1006,16 @@ public:
private:
// Assignment functions
void AssignAny(const wxAny& any)
{
if ( m_type != wxAnyNullValueType )
{
// Must delete value - CopyBuffer() never does that
m_type->DeleteValue(m_buffer);
}
wxAnyValueType* newType = any.m_type;
if ( !newType->IsSameType(m_type) )
if ( m_type == wxAnyNullValueType || !newType->IsSameType(m_type) )
m_type = newType;
newType->CopyBuffer(any.m_buffer, m_buffer);
@@ -1075,7 +1078,7 @@ inline bool wxAnyValueType::CheckType(T* reserved) const
return wxAnyValueTypeImpl<T>::IsSameClass(this);
}
WX_DECLARE_LIST_WITH_DECL(wxAny, wxAnyList, class WXDLLIMPEXP_BASE);
#endif // wxUSE_ANY

View File

@@ -462,9 +462,6 @@ wxVariantData* CLASSNAME::VariantDataFactory(const wxAny& any) \
} \
REGISTER_WXANY_CONVERSION(T, CLASSNAME)
// This is needed for wxVariantList conversion
WX_DECLARE_LIST_WITH_DECL(wxAny, wxAnyList, class WXDLLIMPEXP_BASE);
#else // if !wxUSE_ANY
#define DECLARE_WXANY_CONVERSION()

View File

@@ -524,4 +524,7 @@ WX_IMPLEMENT_ANY_VALUE_TYPE(wxAnyValueTypeImpl<wxAnyNullValue>)
wxAnyValueType* wxAnyNullValueType =
wxAnyValueTypeImpl<wxAnyNullValue>::GetInstance();
#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxAnyList)
#endif // wxUSE_ANY

View File

@@ -1977,8 +1977,6 @@ protected:
// Convert to/from list of wxAnys
//
WX_DEFINE_LIST(wxAnyList)
bool wxVariantDataList::GetAsAny(wxAny* any) const
{
wxAnyList dst;