File: ClassInfo.xs

package info (click to toggle)
libwx-perl 0.9702-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 3,240 kB
  • ctags: 1,812
  • sloc: cpp: 8,988; perl: 6,366; makefile: 38; ansic: 1
file content (100 lines) | stat: -rwxr-xr-x 2,814 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#############################################################################
## Name:        XS/ClassInfo.xs
## Purpose:     XS for Wx::ClassInfo the CLASSINFO macro
## Author:      Mattia Barbon
## Modified by:
## Created:     20/11/2000
## RCS-ID:      $Id: ClassInfo.xs 2055 2007-06-18 22:05:48Z mbarbon $
## Copyright:   (c) 2000-2001, 2004, 2007 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()

%}

#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