File: ClassInfo.xsp

package info (click to toggle)
libwx-perl 1%3A0.9909-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,912 kB
  • sloc: cpp: 9,728; perl: 8,182; ansic: 626; makefile: 41
file content (100 lines) | stat: -rw-r--r-- 2,822 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.xsp
## Purpose:     XS for Wx::ClassInfo the CLASSINFO macro
## Author:      Mattia Barbon
## Modified by:
## Created:     20/11/2000
## RCS-ID:      $Id: ClassInfo.xsp 2938 2010-07-04 12:56:48Z mbarbon $
## 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()

%}

#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