Added --enable-extended_rtti configure switch (defaults to disabled).
Fix compilation when WXINTL_NO_GETTEXT_MACRO is defined. Added wx/flags.h to installed files. Fix XTI compilation after wxString changes. Fix 'virtual functions but non-virtual destructor' GCC warnings. Minimal XTI definition for wxOwnerDrawnComboBox (cut'n'paste from wxComboBox, will need to be completed). Requires rerunning bakefile and autoconf. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
8e4ac1a068
commit
afc89ff455
@ -399,6 +399,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/event.h
|
||||
wx/except.h
|
||||
wx/features.h
|
||||
wx/flags.h
|
||||
wx/ffile.h
|
||||
wx/file.h
|
||||
wx/fileconf.h
|
||||
|
@ -369,6 +369,7 @@ DEBUG_CONFIGURE=0
|
||||
if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_UNIVERSAL=no
|
||||
DEFAULT_wxUSE_STL=no
|
||||
DEFAULT_wxUSE_EXTENDED_RTTI=no
|
||||
|
||||
DEFAULT_wxUSE_NANOX=no
|
||||
|
||||
@ -594,6 +595,7 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
else
|
||||
DEFAULT_wxUSE_UNIVERSAL=no
|
||||
DEFAULT_wxUSE_STL=no
|
||||
DEFAULT_wxUSE_EXTENDED_RTTI=no
|
||||
|
||||
DEFAULT_wxUSE_NANOX=no
|
||||
|
||||
@ -909,6 +911,7 @@ WX_ARG_ENABLE(shared, [ --enable-shared create shared library code
|
||||
WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
|
||||
WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
|
||||
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
|
||||
WX_ARG_ENABLE(extended_rtti, [ --enable-extended_rtti use extended RTTI (XTI)], wxUSE_EXTENDED_RTTI)
|
||||
if test "$USE_OS2" = "1"; then
|
||||
DEFAULT_wxUSE_OMF=no
|
||||
WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
|
||||
@ -5703,6 +5706,10 @@ if test "$wxUSE_STL" = "yes"; then
|
||||
AC_DEFINE(wxUSE_STL)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_EXTENDED_RTTI" = "yes"; then
|
||||
AC_DEFINE(wxUSE_EXTENDED_RTTI)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_APPLE_IEEE" = "yes"; then
|
||||
AC_DEFINE(wxUSE_APPLE_IEEE)
|
||||
fi
|
||||
|
@ -421,16 +421,24 @@ public :
|
||||
// convert a wxxVariant holding data of this type into a string
|
||||
void ConvertToString( const wxxVariant& data , wxString &result ) const
|
||||
|
||||
{ if ( m_toString ) (*m_toString)( data , result ) ; else wxLogError( _("String conversions not supported") ) ; }
|
||||
{ if ( m_toString ) (*m_toString)( data , result ) ; else wxLogError( wxGetTranslation(_T("String conversions not supported")) ) ; }
|
||||
|
||||
// convert a string into a wxxVariant holding the corresponding data in this type
|
||||
void ConvertFromString( const wxString& data , wxxVariant &result ) const
|
||||
{ if( m_fromString ) (*m_fromString)( data , result ) ; else wxLogError( _("String conversions not supported") ) ; }
|
||||
{ if( m_fromString ) (*m_fromString)( data , result ) ; else wxLogError( wxGetTranslation(_T("String conversions not supported")) ) ; }
|
||||
|
||||
#if wxUSE_UNICODE
|
||||
static wxTypeInfo *FindType(const char *typeName) { return FindType( wxString::FromAscii(typeName) ) ; }
|
||||
#endif
|
||||
static wxTypeInfo *FindType(const wxChar *typeName);
|
||||
static wxTypeInfo *FindType(const wxString typeName)
|
||||
{
|
||||
#if wxUSE_UNICODE
|
||||
return FindType( typeName.wchar_str() );
|
||||
#else
|
||||
return FindType( typeName.char_str() );
|
||||
#endif
|
||||
}
|
||||
|
||||
private :
|
||||
|
||||
@ -494,11 +502,11 @@ public :
|
||||
// convert a wxxVariant holding data of this type into a long
|
||||
void ConvertToLong( const wxxVariant& data , long &result ) const
|
||||
|
||||
{ if( m_toLong ) (*m_toLong)( data , result ) ; else wxLogError( _("Long Conversions not supported") ) ; }
|
||||
{ if( m_toLong ) (*m_toLong)( data , result ) ; else wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ) ; }
|
||||
|
||||
// convert a long into a wxxVariant holding the corresponding data in this type
|
||||
void ConvertFromLong( long data , wxxVariant &result ) const
|
||||
{ if( m_fromLong ) (*m_fromLong)( data , result ) ; else wxLogError( _("Long Conversions not supported") ) ;}
|
||||
{ if( m_fromLong ) (*m_fromLong)( data , result ) ; else wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ) ;}
|
||||
|
||||
private :
|
||||
converterToLong_t m_toLong ;
|
||||
@ -834,19 +842,19 @@ public :
|
||||
|
||||
// Setting a simple property (non-collection)
|
||||
virtual void SetProperty(wxObject *object, const wxxVariant &value) const
|
||||
{ if ( m_setter ) m_setter->Set( object , value ) ; else wxLogError( _("SetProperty called w/o valid setter") ) ;}
|
||||
{ if ( m_setter ) m_setter->Set( object , value ) ; else wxLogError( wxGetTranslation(_T("SetProperty called w/o valid setter")) ) ;}
|
||||
|
||||
// Getting a simple property (non-collection)
|
||||
virtual void GetProperty(const wxObject *object, wxxVariant &result) const
|
||||
{ if ( m_getter ) m_getter->Get( object , result ) ; else wxLogError( _("GetProperty called w/o valid getter") ) ;}
|
||||
{ if ( m_getter ) m_getter->Get( object , result ) ; else wxLogError( wxGetTranslation(_T("GetProperty called w/o valid getter")) ) ;}
|
||||
|
||||
// Adding an element to a collection property
|
||||
virtual void AddToPropertyCollection(wxObject *object, const wxxVariant &value) const
|
||||
{ if ( m_adder ) m_adder->Add( object , value ) ; else wxLogError( _("AddToPropertyCollection called w/o valid adder") ) ;}
|
||||
{ if ( m_adder ) m_adder->Add( object , value ) ; else wxLogError( wxGetTranslation(_T("AddToPropertyCollection called w/o valid adder")) ) ;}
|
||||
|
||||
// Getting a collection property
|
||||
virtual void GetPropertyCollection( const wxObject *obj, wxxVariantArray &result) const
|
||||
{ if ( m_collectionGetter ) m_collectionGetter->Get( obj , result) ; else wxLogError( _("GetPropertyCollection called w/o valid collection getter") ) ;}
|
||||
{ if ( m_collectionGetter ) m_collectionGetter->Get( obj , result) ; else wxLogError( wxGetTranslation(_T("GetPropertyCollection called w/o valid collection getter")) ) ;}
|
||||
|
||||
virtual bool HasSetter() const { return m_setter != NULL ; }
|
||||
virtual bool HasCollectionGetter() const { return m_collectionGetter != NULL ; }
|
||||
@ -895,11 +903,11 @@ public :
|
||||
|
||||
// Adding an element to a collection property
|
||||
virtual void AddToPropertyCollection(wxObject *WXUNUSED(object), const wxxVariant &WXUNUSED(value)) const
|
||||
{ wxLogError( _("AddToPropertyCollection called on a generic accessor") ) ;}
|
||||
{ wxLogError( wxGetTranslation(_T("AddToPropertyCollection called on a generic accessor")) ) ;}
|
||||
|
||||
// Getting a collection property
|
||||
virtual void GetPropertyCollection( const wxObject *WXUNUSED(obj), wxxVariantArray &WXUNUSED(result)) const
|
||||
{ wxLogError ( _("GetPropertyCollection called on a generic accessor") ) ;}
|
||||
{ wxLogError ( wxGetTranslation(_T("GetPropertyCollection called on a generic accessor")) ) ;}
|
||||
private :
|
||||
struct wxGenericPropertyAccessorInternal ;
|
||||
wxGenericPropertyAccessorInternal* m_data ;
|
||||
@ -1267,6 +1275,7 @@ private :
|
||||
class WXDLLIMPEXP_BASE wxConstructorBridge
|
||||
{
|
||||
public :
|
||||
virtual ~wxConstructorBridge() {};
|
||||
virtual void Create(wxObject * &o, wxxVariant *args) = 0;
|
||||
};
|
||||
|
||||
@ -1665,7 +1674,7 @@ public:
|
||||
{
|
||||
if ( ParamCount != m_constructorPropertiesCount )
|
||||
{
|
||||
wxLogError( _("Illegal Parameter Count for ConstructObject Method") ) ;
|
||||
wxLogError( wxGetTranslation(_T("Illegal Parameter Count for ConstructObject Method")) ) ;
|
||||
return NULL ;
|
||||
}
|
||||
wxObject *object = NULL ;
|
||||
@ -1733,7 +1742,7 @@ public:
|
||||
{
|
||||
if ( ParamCount != m_constructorPropertiesCount )
|
||||
{
|
||||
wxLogError( _("Illegal Parameter Count for Create Method") ) ;
|
||||
wxLogError( wxGetTranslation(_T("Illegal Parameter Count for Create Method")) ) ;
|
||||
return ;
|
||||
}
|
||||
m_constructor->Create( object , Params ) ;
|
||||
@ -2016,7 +2025,7 @@ private :
|
||||
(int) sizeof(name), \
|
||||
(wxObjectConstructorFn) wxConstructorFor##name , \
|
||||
name::GetPropertiesStatic(),name::GetHandlersStatic(),name::ms_constructor , name::ms_constructorProperties , \
|
||||
name::ms_constructorPropertiesCount , wxVariantToObjectConverter##name , wxObjectToVariantConverter##name); \
|
||||
name::ms_constructorPropertiesCount , wxVariantToObjectConverter##name , NULL, wxObjectToVariantConverter##name); \
|
||||
|
||||
#define IMPLEMENT_DYNAMIC_CLASS2( name , basename , basename2) \
|
||||
_IMPLEMENT_DYNAMIC_CLASS2( name , basename , basename2 , "") \
|
||||
|
@ -45,6 +45,8 @@ class WXDLLIMPEXP_BASE wxReader ;
|
||||
class WXDLLIMPEXP_BASE wxPersister
|
||||
{
|
||||
public :
|
||||
virtual ~wxPersister() {}
|
||||
|
||||
// will be called before an object is written, may veto by returning false
|
||||
virtual bool BeforeWriteObject( wxWriter *WXUNUSED(writer) , const wxObject *WXUNUSED(object) , const wxClassInfo *WXUNUSED(classInfo) , wxxVariantArray &WXUNUSED(metadata)) { return true ; }
|
||||
|
||||
@ -186,6 +188,8 @@ private :
|
||||
class WXDLLIMPEXP_BASE wxDepersister
|
||||
{
|
||||
public :
|
||||
virtual ~wxDepersister() {}
|
||||
|
||||
// allocate the new object on the heap, that object will have the passed in ID
|
||||
virtual void AllocateObject(int objectID, wxClassInfo *classInfo, wxxVariantArray &metadata) = 0;
|
||||
|
||||
|
@ -389,7 +389,7 @@ bool wxReader::HasObjectClassInfo( int objectID )
|
||||
if ( objectID == wxNullObjectID || objectID == wxInvalidObjectID )
|
||||
{
|
||||
wxLogError( _("Invalid or Null Object ID passed to HasObjectClassInfo" ) ) ;
|
||||
return NULL ;
|
||||
return false ;
|
||||
}
|
||||
return m_data->m_classInfos.find(objectID) != m_data->m_classInfos.end() ;
|
||||
}
|
||||
|
@ -306,8 +306,8 @@ int wxXmlReader::ReadComponent(wxXmlNode *node, wxDepersister *callbacks)
|
||||
{
|
||||
wxString name ;
|
||||
children->GetPropVal( wxT("name") , &name ) ;
|
||||
propertyNames.push_back( name.c_str() ) ;
|
||||
propertyNodes[name.c_str()] = children->GetChildren() ;
|
||||
propertyNames.push_back( (const wxChar*)name.c_str() ) ;
|
||||
propertyNodes[(const wxChar*)name.c_str()] = children->GetChildren() ;
|
||||
children = children->GetNext() ;
|
||||
}
|
||||
|
||||
|
@ -797,7 +797,19 @@ BEGIN_EVENT_TABLE(wxOwnerDrawnComboBox, wxComboCtrl)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
#if wxUSE_EXTENDED_RTTI
|
||||
IMPLEMENT_DYNAMIC_CLASS2_XTI(wxOwnerDrawnComboBox, wxComboCtrl, wxControlWithItems, "wx/odcombo.h")
|
||||
|
||||
wxBEGIN_PROPERTIES_TABLE(wxOwnerDrawnComboBox)
|
||||
wxEND_PROPERTIES_TABLE()
|
||||
|
||||
wxBEGIN_HANDLERS_TABLE(wxOwnerDrawnComboBox)
|
||||
wxEND_HANDLERS_TABLE()
|
||||
|
||||
wxCONSTRUCTOR_5( wxOwnerDrawnComboBox , wxWindow* , Parent , wxWindowID , Id , wxString , Value , wxPoint , Position , wxSize , Size )
|
||||
#else
|
||||
IMPLEMENT_DYNAMIC_CLASS2(wxOwnerDrawnComboBox, wxComboCtrl, wxControlWithItems)
|
||||
#endif
|
||||
|
||||
void wxOwnerDrawnComboBox::Init()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user