#############################################################################
## Name: XS/ClassInfo.xsp
## Purpose: XS for Wx::ClassInfo the CLASSINFO macro
## Author: Mattia Barbon
## Modified by:
## Created: 20/11/2000
## RCS-ID: $Id: ClassInfo.xsp 3356 2012-09-20 23:15:44Z mdootson $
## Copyright: (c) 2000-2001, 2004, 2007, 2010 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
%module{Wx};
%typemap{wxClassInfo*}{simple};
%typemap{const wxClassInfo*}{simple};
%typemap{wxPropertyInfo*}{simple};
%typemap{const wxPropertyInfo*}{simple};
%typemap{const wxTypeInfo*}{simple};
%typemap{wxPropertyAccessor*}{simple};
%typemap{wxTypeKind}{simple};
%typemap{wxPropertyInfoFlags}{simple};
%{
MODULE=Wx PACKAGE=Wx::ClassInfo
wxClassInfo*
FindClass( name )
wxString name
CODE:
RETVAL = wxClassInfo::FindClass( name );
OUTPUT: RETVAL
const wxChar*
wxClassInfo::GetBaseClassName1()
const wxChar*
wxClassInfo::GetBaseClassName2()
const wxChar*
wxClassInfo::GetClassName()
wxClassInfo*
wxClassInfo::GetNext()
CODE:
RETVAL = (wxClassInfo*)THIS->GetNext();
OUTPUT: RETVAL
wxClassInfo*
GetFirst()
CODE:
RETVAL = (wxClassInfo*)wxClassInfo::GetFirst();
OUTPUT: RETVAL
%}
#if wxUSE_EXTENDED_RTTI
%name{Wx::ClassInfo} class wxClassInfo
{
%{
void
wxClassInfo::GetParents()
PPCODE:
const wxClassInfo** parents = THIS->GetParents();
while( *parents )
XPUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
*parents, "Wx::ClassInfo" ) );
%}
const wxPropertyInfo* GetFirstProperty();
const wxPropertyInfo* FindPropertyInfo( const wxChar* name );
const wxPropertyInfo* FindPropertyInfoInThisClass( const wxChar* name );
## void GetProperties( wxPropertyInfoMap &map ) const;
};
%name{Wx::PropertyInfo} class wxPropertyInfo
{
const wxClassInfo* GetDeclaringClass() const;
const wxString& GetName() const;
wxPropertyInfoFlags GetFlags() const;
const wxString& GetHelpString() const;
const wxString& GetGroupString() const;
const wxTypeInfo * GetCollectionElementTypeInfo() const;
const wxTypeInfo * GetTypeInfo() const;
wxPropertyAccessor* GetAccessor() const;
wxPropertyInfo* GetNext() const;
};
%name{Wx::TypeInfo} class wxTypeInfo
{
wxTypeKind GetKind() const;
const wxString& GetTypeName() const;
bool IsDelegateType() const;
bool IsCustomType() const;
bool IsObjectType() const;
};
%name{Wx::PropertyAccessor} class wxPropertyAccessor
{
bool HasSetter() const;
bool HasCollectionGetter() const;
bool HasGetter() const;
bool HasAdder() const;
const wxString& GetCollectionGetterName() const;
const wxString& GetGetterName() const;
const wxString& GetSetterName() const;
const wxString& GetAdderName() const;
};
#endif