use wxString, not wxChar*, in wxCreateDynamicObject() and wxClassInfo::FindClass()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-05-31 13:08:44 +00:00
parent 7652a41dc7
commit c1e10a22b6
3 changed files with 10 additions and 9 deletions

View File

@@ -20,6 +20,7 @@
#include "wx/memory.h"
class WXDLLIMPEXP_BASE wxObject;
class WXDLLIMPEXP_BASE wxString;
#ifndef wxUSE_EXTENDED_RTTI
#define wxUSE_EXTENDED_RTTI 0
@@ -80,7 +81,7 @@ typedef wxObject *(*wxObjectConstructorFn)(void);
class WXDLLIMPEXP_BASE wxClassInfo
{
friend class WXDLLIMPEXP_BASE wxObject;
friend WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
friend WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name);
public:
wxClassInfo( const wxChar *className,
const wxClassInfo *baseInfo1,
@@ -117,7 +118,7 @@ public:
{ return m_objectConstructor; }
static const wxClassInfo *GetFirst() { return sm_first; }
const wxClassInfo *GetNext() const { return m_next; }
static wxClassInfo *FindClass(const wxChar *className);
static wxClassInfo *FindClass(const wxString& className);
// Climb upwards through inheritance hierarchy.
// Dual inheritance is catered for.
@@ -157,7 +158,7 @@ protected:
DECLARE_NO_COPY_CLASS(wxClassInfo)
};
WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name);
// ----------------------------------------------------------------------------
// Dynamic class macros

View File

@@ -1602,7 +1602,7 @@ class WXDLLIMPEXP_BASE wxClassInfo
{
friend class WXDLLIMPEXP_BASE wxPropertyInfo ;
friend class WXDLLIMPEXP_BASE wxHandlerInfo ;
friend wxObject *wxCreateDynamicObject(const wxChar *name);
friend wxObject *wxCreateDynamicObject(const wxString& name);
public:
wxClassInfo(const wxClassInfo **_Parents,
const wxChar *_UnitName,
@@ -1699,7 +1699,7 @@ public:
wxObjectConstructorFn GetConstructor() const { return m_objectConstructor; }
static const wxClassInfo *GetFirst() { return sm_first; }
const wxClassInfo *GetNext() const { return m_next; }
static wxClassInfo *FindClass(const wxChar *className);
static wxClassInfo *FindClass(const wxString& className);
// Climb upwards through inheritance hierarchy.
// Dual inheritance is catered for.
@@ -1830,7 +1830,7 @@ protected:
};
WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name);
// ----------------------------------------------------------------------------
// wxDynamicObject

View File

@@ -187,7 +187,7 @@ wxClassInfo::~wxClassInfo()
Unregister();
}
wxClassInfo *wxClassInfo::FindClass(const wxChar *className)
wxClassInfo *wxClassInfo::FindClass(const wxString& className)
{
if ( sm_classTable )
{
@@ -197,7 +197,7 @@ wxClassInfo *wxClassInfo::FindClass(const wxChar *className)
{
for ( wxClassInfo *info = sm_first; info ; info = info->m_next )
{
if ( wxStrcmp(info->GetClassName(), className) == 0 )
if ( className == info->GetClassName() )
return info;
}
@@ -263,7 +263,7 @@ void wxClassInfo::Unregister()
}
}
wxObject *wxCreateDynamicObject(const wxChar *name)
wxObject *wxCreateDynamicObject(const wxString& name)
{
#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT
DEBUG_PRINTF(wxObject *wxCreateDynamicObject)