File: SplitterWindow.xs

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 (102 lines) | stat: -rwxr-xr-x 3,124 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
101
102
#############################################################################
## Name:        XS/SplitterWindow.xs
## Purpose:     XS for Wx::SplitterWindow
## Author:      Mattia Barbon
## Modified by:
## Created:     02/12/2000
## RCS-ID:      $Id: SplitterWindow.xs 2057 2007-06-18 23:03:00Z mbarbon $
## Copyright:   (c) 2000-2003, 2005-2006 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();
#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" )

%}