#############################################################################
## Name: XS/SplitterWindow.xsp
## Purpose: XS for Wx::SplitterWindow
## Author: Mattia Barbon
## Modified by:
## Created: 02/12/2000
## RCS-ID: $Id: SplitterWindow.xsp 2982 2010-10-06 23:43:16Z mdootson $
## Copyright: (c) 2000-2003, 2005-2006, 2010 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
%{
#include <wx/splitter.h>
%}
%module{Wx};
%name{Wx::SplitterEvent} class wxSplitterEvent
{
wxSplitterEvent( wxEventType type = wxEVT_NULL,
wxSplitterWindow* window = NULL );
int GetSashPosition();
int GetX();
int GetY();
wxWindow* GetWindowBeingRemoved();
void SetSashPosition( int pos );
};
%{
#define wxSplitterWindowNameStr wxT("splitter")
%}
%name{Wx::SplitterWindow} class wxSplitterWindow
{
%name{newDefault}
wxSplitterWindow()
%code{% RETVAL = new wxSplitterWindow();
wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %};
%name{newFull}
wxSplitterWindow( wxWindow* parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSP_3D,
wxString name = wxSplitterWindowNameStr )
%code{% RETVAL = new wxSplitterWindow( parent, id, pos, size,
style, name );
wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %};
bool Create( wxWindow* parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSP_3D,
wxString name = wxSplitterWindowNameStr );
int GetMinimumPaneSize();
int GetSashPosition();
int GetSplitMode();
wxWindow* GetWindow1();
wxWindow* GetWindow2();
void Initialize( wxWindow* window );
bool IsSplit();
bool ReplaceWindow( wxWindow* winOld, wxWindow* winNew );
#if WXPERL_W_VERSION_GE( 2, 5, 4 )
void SetFocusIgnoringChildren();
#endif
void SetSashPosition( int position, bool redraw = true );
void SetMinimumPaneSize( int paneSize );
void SetSplitMode( int mode );
bool SplitHorizontally( wxWindow* window1, wxWindow* window2,
int sashPosition = 0 );
bool SplitVertically( wxWindow* window1, wxWindow* window2,
int sashPosition = 0 );
bool Unsplit( wxWindow* toRemove = NULL );
#if WXPERL_W_VERSION_GE( 2, 6, 0 )
void SetSashGravity( double gravity );
double GetSashGravity();
void UpdateSize();
#endif
#if WXPERL_W_VERSION_GE( 2, 5, 3 )
int GetSashSize();
void SetSashSize( int width );
#endif
};
%{
void
new( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_VOIDM_REDISP( newDefault )
MATCH_ANY_REDISP( newFull )
END_OVERLOAD( "Wx::SplitterWindow::new" )
%}