File: FileCtrl.xsp

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 (121 lines) | stat: -rwxr-xr-x 3,664 bytes parent folder | download | duplicates (7)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#############################################################################
## Name:        XS/FileCtrl.xsp
## Purpose:     XS+++ for Wx::FileCtrl
## Author:      Mattia Barbon
## Modified by:
## Created:     07/10/2007
## RCS-ID:      $Id: FileCtrl.xsp 2240 2007-10-07 19:18:51Z mbarbon $
## Copyright:   (c) 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};

#if WXPERL_W_VERSION_GE( 2, 9, 0 )

%typemap{wxFileCtrl*}{simple};
%typemap{wxFileCtrlEvent*}{simple};

#include <wx/filectrl.h>

%name{Wx::FileCtrl} class wxFileCtrl
{
%{
void
new( ... )
  PPCODE:
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newDefault )
        MATCH_ANY_REDISP( newFull )
    END_OVERLOAD( "Wx::FileCtrl::new" )
%}

    %name{newDefault} wxFileCtrl()
        %code{% RETVAL = new wxFileCtrl();
                wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
                %};

    %name{newFull} wxFileCtrl( wxWindow *parent,
                               wxWindowID id = wxID_ANY,
                               const wxString& defaultDirectory = wxEmptyString,
                               const wxString& defaultFilename = wxEmptyString,
                               const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
                               long style = wxFC_DEFAULT_STYLE,
                               const wxPoint& pos = wxDefaultPosition,
                               const wxSize& size = wxDefaultSize,
                               const wxString& name = wxFileCtrlNameStr )
        %code{% RETVAL = new wxFileCtrl( parent, id, defaultDirectory,
                                         defaultFilename, wildCard, style,
                                         pos, size, name );
                wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
                %};

    bool Create( wxWindow *parent,
                 wxWindowID id = wxID_ANY,
                 const wxString& defaultDirectory = wxEmptyString,
                 const wxString& defaultFilename = wxEmptyString,
                 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
                 long style = wxFC_DEFAULT_STYLE,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 const wxString& name = wxFileCtrlNameStr );

    void SetWildcard( const wxString& wildCard );
    void SetFilterIndex( int filterindex );
    bool SetDirectory( const wxString& dir );

    bool SetFilename( const wxString& name );

    bool SetPath( const wxString& path );

    wxString GetFilename() const;
    wxString GetDirectory() const;
    wxString GetWildcard() const;
    wxString GetPath() const;

%{
void
wxFileCtrl::GetPaths()
  PPCODE:
    PUTBACK;
    wxArrayString ret;
    THIS->GetPaths( ret );
    wxPli_stringarray_push( aTHX_ ret );
    SPAGAIN;

void
wxFileCtrl::GetFilenames()
  PPCODE:
    PUTBACK;
    wxArrayString ret;
    THIS->GetFilenames( ret );
    wxPli_stringarray_push( aTHX_ ret );
    SPAGAIN;

%}
    int GetFilterIndex() const;

    bool HasMultipleFileSelection() const;
    void ShowHidden(bool show);
};

%name{Wx::FileCtrlEvent} class wxFileCtrlEvent
{
    void SetFiles( const wxArrayString &files );
    void SetDirectory( const wxString &directory );

%{
void
wxFileCtrlEvent::GetFiles()
  PPCODE:
    PUTBACK;
    wxPli_stringarray_push( aTHX_ THIS->GetFiles() );
    SPAGAIN;
%}

    wxString GetDirectory() const;
    wxString GetFile() const;
};

#endif