Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / richtext / RichText.xs
1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        ext/richtext/RichText.xs
3 // Purpose:     XS for Wx::RichTextCtrl
4 // Author:      Mattia Barbon
5 // Modified by:
6 // Created:     05/11/2006
7 // RCS-ID:      $Id: RichText.xs 2700 2009-12-13 11:25:50Z mbarbon $
8 // Copyright:   (c) 2006-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 #define PERL_NO_GET_CONTEXT
14
15 #include "cpp/wxapi.h"
16 #include "cpp/constants.h"
17 #include "cpp/overload.h"
18
19 #define wxNullColourPtr (wxColour*)&wxNullColour
20 #define wxNullFontPtr (wxFont*)&wxNullFont
21
22 #undef THIS
23
24 #include <wx/richtext/richtextctrl.h>
25
26 // event macros
27 #define SEVT( NAME, ARGS )    wxPli_StdEvent( NAME, ARGS )
28 #define EVT( NAME, ARGS, ID ) wxPli_Event( NAME, ARGS, ID )
29
30 // !package: Wx::Event
31 // !tag:
32 // !parser: sub { $_[0] =~ m<^\s*S?EVT\(\s*(\w+)\s*\,> }
33
34 static wxPliEventDescription evts[] =
35 {
36 #if WXPERL_W_VERSION_LE( 2, 7, 2 )
37     EVT( EVT_RICHTEXT_ITEM_SELECTED, 3, wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED )
38     EVT( EVT_RICHTEXT_ITEM_DESELECTED, 3, wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED )
39 #endif
40     EVT( EVT_RICHTEXT_LEFT_CLICK, 3, wxEVT_COMMAND_RICHTEXT_LEFT_CLICK )
41     EVT( EVT_RICHTEXT_RIGHT_CLICK, 3, wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK )
42     EVT( EVT_RICHTEXT_MIDDLE_CLICK, 3, wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK )
43     EVT( EVT_RICHTEXT_LEFT_DCLICK, 3, wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK )
44     EVT( EVT_RICHTEXT_RETURN, 3, wxEVT_COMMAND_RICHTEXT_RETURN )
45 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
46     EVT( EVT_RICHTEXT_STYLESHEET_CHANGING, 3, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING )
47     EVT( EVT_RICHTEXT_STYLESHEET_CHANGED, 3, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED )
48     EVT( EVT_RICHTEXT_STYLESHEET_REPLACING, 3, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING )
49     EVT( EVT_RICHTEXT_STYLESHEET_REPLACED, 3, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED )
50 #endif
51     { 0, 0, 0 }
52 };
53
54 #define wxPliRichTextStyleType wxRichTextStyleListBox::wxRichTextStyleType
55 #if WXPERL_W_VERSION_LT( 2, 8, 0 )
56 #undef _
57 #define _( s ) wxT( s )
58 #endif
59
60 MODULE=Wx__RichText
61
62 BOOT:
63   INIT_PLI_HELPERS( wx_pli_helpers );
64
65 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextCtrl.xsp |
66
67 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextAttr.xsp |
68
69 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextStyle.xsp |
70
71 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextStyleCtrl.xsp |
72
73 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextFormattingDialog.xsp |
74
75 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextFileHandler.xsp |
76
77 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextBuffer.xsp |
78
79 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/SymbolPickerDialog.xsp |
80
81 INCLUDE: perl -MExtUtils::XSpp::Cmd -e xspp -- -t typemap.xsp -t ../../typemap.xsp XS/RichTextStyleOrganiserDialog.xsp |
82
83 MODULE=Wx__RichText PACKAGE=Wx::RichText
84
85 void
86 SetEvents()
87   CODE:
88     wxPli_set_events( evts );
89
90 #include "cpp/ovl_const.cpp"
91
92 #  //FIXME//tricky
93 #if defined(__WXMSW__)
94 #undef XS
95 #define XS( name ) WXXS( name )
96 #endif
97
98 MODULE=Wx__RichText