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

View File

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

View File

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