Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / XS / Locale.xs
1 #############################################################################
2 ## Name:        XS/Locale.xs
3 ## Purpose:     XS for Wx::Locale
4 ## Author:      Mattia Barbon
5 ## Modified by:
6 ## Created:     30/11/2000
7 ## RCS-ID:      $Id: Locale.xs 2166 2007-08-17 18:52:25Z mbarbon $
8 ## Copyright:   (c) 2000-2007 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 #include <wx/intl.h>
14
15 MODULE=Wx PACKAGE=Wx::LanguageInfo
16
17 wxLanguageInfo*
18 wxLanguageInfo::new( language, canonicalName, winLang, winSublang, descr )
19     int language
20     wxString canonicalName
21     int winLang
22     int winSublang
23     wxString descr
24   CODE:
25     RETVAL = new wxLanguageInfo;
26     RETVAL->Language = language;
27     RETVAL->CanonicalName = canonicalName;
28 #if defined( __WXMSW__ )
29     RETVAL->WinLang = winLang;
30     RETVAL->WinSublang = winSublang;
31 #endif
32     RETVAL->Description = descr;
33   OUTPUT: RETVAL
34
35 static void
36 wxLanguageInfo::CLONE()
37   CODE:
38     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
39
40 ## // thread OK
41 void
42 wxLanguageInfo::DESTROY()
43   CODE:
44     if( wxPli_object_is_deleteable( aTHX_ ST(0) ) )
45         delete THIS;
46
47 int
48 wxLanguageInfo::GetLanguage()
49   CODE:
50     RETVAL = THIS->Language;
51   OUTPUT: RETVAL
52
53 wxString
54 wxLanguageInfo::GetCanonicalName()
55   CODE:
56     RETVAL = THIS->CanonicalName;
57   OUTPUT: RETVAL
58
59 unsigned int
60 wxLanguageInfo::GetWinLang()
61   CODE:
62 #if defined( __WXMSW__ )
63     RETVAL = THIS->WinLang;
64 #else
65     RETVAL = 0;
66 #endif
67   OUTPUT: RETVAL
68
69 unsigned int
70 wxLanguageInfo::GetWinSublang()
71   CODE:
72 #if defined( __WXMSW__ )
73     RETVAL = THIS->WinSublang;
74 #else
75     RETVAL = 0;
76 #endif
77
78 wxString
79 wxLanguageInfo::GetDescription()
80   CODE:
81     RETVAL = THIS->Description;
82   OUTPUT: RETVAL
83
84 MODULE=Wx PACKAGE=Wx::Locale
85
86 wxLocale*
87 newLong( name, shorts = NULL, locale = NULL, loaddefault = true, convertencoding = false )
88     const wxChar* name
89     const wxChar* shorts = NO_INIT
90     const wxChar* locale = NO_INIT
91     bool loaddefault
92     bool convertencoding
93   CODE:
94     wxString shorts_tmp, locale_tmp;
95     
96     if( items < 2 ) shorts = NULL;
97     else
98     {
99         WXSTRING_INPUT( shorts_tmp, const char*, ST(1) );
100         shorts = shorts_tmp.c_str();
101     }
102
103     if( items < 3 ) locale = NULL;
104     else
105     {
106         WXSTRING_INPUT( locale_tmp, const char*, ST(2) );
107         locale = locale_tmp.c_str();
108     }
109
110     RETVAL = new wxLocale( name, shorts,
111         ( locale && wxStrlen( locale ) ) ? locale : NULL,
112         loaddefault, convertencoding );
113   OUTPUT:
114     RETVAL
115
116 wxLocale*
117 newShort( language, flags = wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING )
118     int language
119     int flags
120   CODE:
121     RETVAL = new wxLocale( language, flags );
122   OUTPUT:
123     RETVAL
124
125 static void
126 wxLocale::CLONE()
127   CODE:
128     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
129
130 ## // thread OK
131 void
132 wxLocale::DESTROY()
133   CODE:
134     wxPli_thread_sv_unregister( aTHX_ "Wx::Locale", THIS, ST(0) );
135     delete THIS;
136
137 bool
138 wxLocale::AddCatalog( domain )
139     wxString domain
140
141 void
142 wxLocale::AddCatalogLookupPathPrefix( prefix )
143     wxString prefix
144
145 #if WXPERL_W_VERSION_GE( 2, 7, 2 )
146
147 bool
148 IsAvailable( lang )
149     int lang
150   CODE:
151     RETVAL = wxLocale::IsAvailable( lang );
152   OUTPUT: RETVAL
153
154 #endif
155
156 void
157 AddLanguage( info )
158     wxLanguageInfo* info
159   CODE:
160     wxLocale::AddLanguage( *info );
161
162 const wxChar*
163 wxLocale::GetLocale()
164
165 wxString
166 wxLocale::GetName()
167
168 const wxChar*
169 wxLocale::GetString( string, domain = NULL )
170     const wxChar* string
171     const wxChar* domain
172
173 #if WXPERL_W_VERSION_GE( 2, 5, 3 )
174
175 wxString
176 wxLocale::GetHeaderValue( header, domain = NULL )
177     const wxChar* header
178     const wxChar* domain
179
180 #endif
181
182 int
183 GetSystemLanguage()
184   CODE:
185     RETVAL = wxLocale::GetSystemLanguage();
186   OUTPUT:
187     RETVAL
188
189 int
190 wxLocale::GetLanguage()
191
192 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
193
194 wxString
195 wxLocale::GetLanguageName( lang )
196     int lang
197
198 #endif
199
200 wxString
201 wxLocale::GetSysName()
202
203 wxString
204 wxLocale::GetCanonicalName()
205
206 wxFontEncoding
207 GetSystemEncoding()
208   CODE:
209     RETVAL = wxLocale::GetSystemEncoding();
210   OUTPUT:
211     RETVAL
212
213 wxString
214 GetSystemEncodingName()
215   CODE:
216     RETVAL = wxLocale::GetSystemEncodingName();
217   OUTPUT:
218     RETVAL
219
220 bool
221 wxLocale::IsLoaded( domain )
222     const wxChar* domain
223
224 bool
225 wxLocale::IsOk()
226
227 const wxLanguageInfo*
228 FindLanguageInfo( name )
229     wxString name
230   CODE:
231     RETVAL = wxLocale::FindLanguageInfo( name );
232   OUTPUT:
233     RETVAL
234   CLEANUP:
235     wxPli_object_set_deleteable( aTHX_ ST(0), false );
236
237 bool
238 wxLocale::Init( language, flags = wxLOCALE_LOAD_DEFAULT|wxLOCALE_CONV_ENCODING )
239     int language
240     int flags
241
242 const wxLanguageInfo*
243 GetLanguageInfo( language )
244     int language
245   CODE:
246     RETVAL = wxLocale::GetLanguageInfo( language );
247   OUTPUT:
248     RETVAL
249   CLEANUP:
250     wxPli_object_set_deleteable( aTHX_ ST(0), false );
251
252 MODULE=Wx PACKAGE=Wx PREFIX=wx
253
254 const wxChar*
255 wxGetTranslation( string )
256     const wxChar* string
257   CODE:
258     RETVAL = wxGetTranslation( string );
259   OUTPUT:
260     RETVAL