#############################################################################
## 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