Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / dataview / XS / DataViewTreeCtrl.xsp
1 #############################################################################
2 ## Name:        ext/dataview/XS/DataViewTreeCtrl.xsp
3 ## Purpose:     XS++ for Wx::DataViewTreeCtrl
4 ## Author:      Mattia Barbon
5 ## Modified by:
6 ## Created:     24/12/2007
7 ## RCS-ID:      $Id: DataViewTreeCtrl.xsp 2523 2009-02-04 23:50:57Z mbarbon $
8 ## Copyright:   (c) 2007, 2009 Mattia Barbon
9 ## Licence:     This program is free software; you can redistribute it and/or
10 ##              modify it under the same terms as Perl itself
11 #############################################################################
12
13 #if wxUSE_DATAVIEWCTRL
14
15 %module{Wx};
16
17 #include <wx/dataview.h>
18 #include <wx/imaglist.h>
19
20 #define wxPLI_DEFAULT_DV_CTRL (wxDV_NO_HEADER|wxDV_ROW_LINES)
21
22 %name{Wx::DataViewTreeCtrl} class wxDataViewTreeCtrl
23 {
24 %{
25 void
26 new( ... )
27   PPCODE:
28     BEGIN_OVERLOAD()
29         MATCH_VOIDM_REDISP( newDefault )
30         MATCH_ANY_REDISP( newFull )
31     END_OVERLOAD( "Wx::DataViewTreeCtrl::new" )
32 %}
33
34     %name{newDefault} wxDataViewTreeCtrl()
35         %code{% RETVAL = new wxDataViewTreeCtrl();
36                 wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
37              %};
38     %name{newFull} wxDataViewTreeCtrl( wxWindow* parent,
39                                    wxWindowID id = wxID_ANY,
40                                    const wxPoint& pos = wxDefaultPosition,
41                                    const wxSize& size = wxDefaultSize,
42                                    long style = wxPLI_DEFAULT_DV_CTRL,
43                                    const wxValidator& validator = wxDefaultValidatorPtr )
44         %code{% RETVAL = new wxDataViewTreeCtrl( parent, id, pos, size,
45                                                  style, *validator );
46                 wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
47              %};
48
49     bool Create( wxWindow* parent, wxWindowID id = wxID_ANY,
50                  const wxPoint& pos = wxDefaultPosition,
51                  const wxSize& size = wxDefaultSize,
52                  long style = wxPLI_DEFAULT_DV_CTRL,
53                  const wxValidator& validator = wxDefaultValidatorPtr );
54
55     wxDataViewTreeStore *GetStore();
56
57     void SetImageList( wxImageList *imagelist );
58     wxImageList* GetImageList();
59     
60     wxDataViewItem& AppendItem( const wxDataViewItem& parent,
61                                 const wxString &text, int icon = -1,
62                                 wxPliUserDataCD *data = NULL );
63     wxDataViewItem& PrependItem( const wxDataViewItem& parent,
64                                  const wxString &text, int icon = -1,
65                                  wxPliUserDataCD *data = NULL );
66     wxDataViewItem& InsertItem( const wxDataViewItem& parent,
67                                 const wxDataViewItem& previous,
68                                 const wxString &text, int icon = -1,
69                                 wxPliUserDataCD *data = NULL );
70
71     wxDataViewItem& PrependContainer( const wxDataViewItem& parent,
72                                       const wxString &text, int icon = -1,
73                                       int expanded = -1,
74                                       wxPliUserDataCD *data = NULL );
75     wxDataViewItem& AppendContainer( const wxDataViewItem& parent,
76                                      const wxString &text, int icon = -1,
77                                      int expanded = -1,
78                                      wxPliUserDataCD *data = NULL );
79     wxDataViewItem& InsertContainer( const wxDataViewItem& parent,
80                                      const wxDataViewItem& previous,
81                                      const wxString &text, int icon = -1,
82                                      int expanded = -1,
83                                      wxPliUserDataCD *data = NULL );
84
85     wxDataViewItem& GetNthChild( const wxDataViewItem& parent,
86                                  unsigned int pos ) const;
87     int GetChildCount( const wxDataViewItem& parent ) const;
88
89     void SetItemText( const wxDataViewItem& item, const wxString &text );
90     wxString GetItemText( const wxDataViewItem& item ) const;
91     void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
92     const wxIcon &GetItemIcon( const wxDataViewItem& item ) const;
93     void SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon );
94     const wxIcon &GetItemExpandedIcon( const wxDataViewItem& item ) const;
95     void SetItemData( const wxDataViewItem& item, wxPliUserDataCD *data );
96     wxPliUserDataCD *GetItemData( const wxDataViewItem& item ) const
97       %code{% RETVAL = (wxPliUserDataCD*) THIS->GetItemData( *item );
98               %}; 
99
100     void DeleteItem( const wxDataViewItem& item );
101     void DeleteChildren( const wxDataViewItem& item );
102     void DeleteAllItems();
103 };
104
105 #endif