1 /*
2  * Interface wrapper code.
3  *
4  * Generated by SIP 4.19.16
5  *
6  *     Copyright: (c) 2018 by Total Control Software
7  *     License:   wxWindows License
8  */
9 
10 #include "sipAPI_core.h"
11 
12         #include <wx/cshelp.h>
13 
14         #include <wx/help.h>
15         #include <wx/cshelp.h>
16         #include <wx/gdicmn.h>
17         #include <wx/event.h>
18 
19 
20 class sipwxHelpControllerHelpProvider : public  ::wxHelpControllerHelpProvider
21 {
22 public:
23     sipwxHelpControllerHelpProvider( ::wxHelpControllerBase*);
24     virtual ~sipwxHelpControllerHelpProvider();
25 
26     /*
27      * There is a protected method for every virtual method visible from
28      * this class.
29      */
30 protected:
31     bool ShowHelpAtPoint( ::wxWindowBase*,const  ::wxPoint&, ::wxHelpEvent::Origin) SIP_OVERRIDE;
32     bool ShowHelp( ::wxWindowBase*) SIP_OVERRIDE;
33     void RemoveHelp( ::wxWindowBase*) SIP_OVERRIDE;
34      ::wxString GetHelp(const  ::wxWindowBase*) SIP_OVERRIDE;
35     void AddHelp( ::wxWindowID,const  ::wxString&) SIP_OVERRIDE;
36     void AddHelp( ::wxWindowBase*,const  ::wxString&) SIP_OVERRIDE;
37 
38 public:
39     sipSimpleWrapper *sipPySelf;
40 
41 private:
42     sipwxHelpControllerHelpProvider(const sipwxHelpControllerHelpProvider &);
43     sipwxHelpControllerHelpProvider &operator = (const sipwxHelpControllerHelpProvider &);
44 
45     char sipPyMethods[6];
46 };
47 
sipwxHelpControllerHelpProvider(::wxHelpControllerBase * hc)48 sipwxHelpControllerHelpProvider::sipwxHelpControllerHelpProvider( ::wxHelpControllerBase*hc):  ::wxHelpControllerHelpProvider(hc), sipPySelf(SIP_NULLPTR)
49 {
50     memset(sipPyMethods, 0, sizeof (sipPyMethods));
51 }
52 
~sipwxHelpControllerHelpProvider()53 sipwxHelpControllerHelpProvider::~sipwxHelpControllerHelpProvider()
54 {
55     sipInstanceDestroyedEx(&sipPySelf);
56 }
57 
ShowHelpAtPoint(::wxWindowBase * window,const::wxPoint & point,::wxHelpEvent::Origin origin)58 bool sipwxHelpControllerHelpProvider::ShowHelpAtPoint( ::wxWindowBase*window,const  ::wxPoint& point, ::wxHelpEvent::Origin origin)
59 {
60     sip_gilstate_t sipGILState;
61     PyObject *sipMeth;
62 
63     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,SIP_NULLPTR,sipName_ShowHelpAtPoint);
64 
65     if (!sipMeth)
66         return  ::wxHelpControllerHelpProvider::ShowHelpAtPoint(window,point,origin);
67 
68     extern bool sipVH__core_192(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*,const  ::wxPoint&, ::wxHelpEvent::Origin);
69 
70     return sipVH__core_192(sipGILState, 0, sipPySelf, sipMeth, window, point, origin);
71 }
72 
ShowHelp(::wxWindowBase * window)73 bool sipwxHelpControllerHelpProvider::ShowHelp( ::wxWindowBase*window)
74 {
75     sip_gilstate_t sipGILState;
76     PyObject *sipMeth;
77 
78     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,SIP_NULLPTR,sipName_ShowHelp);
79 
80     if (!sipMeth)
81         return  ::wxHelpControllerHelpProvider::ShowHelp(window);
82 
83     extern bool sipVH__core_191(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);
84 
85     return sipVH__core_191(sipGILState, 0, sipPySelf, sipMeth, window);
86 }
87 
RemoveHelp(::wxWindowBase * window)88 void sipwxHelpControllerHelpProvider::RemoveHelp( ::wxWindowBase*window)
89 {
90     sip_gilstate_t sipGILState;
91     PyObject *sipMeth;
92 
93     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[2],sipPySelf,SIP_NULLPTR,sipName_RemoveHelp);
94 
95     if (!sipMeth)
96     {
97          ::wxHelpControllerHelpProvider::RemoveHelp(window);
98         return;
99     }
100 
101     extern void sipVH__core_110(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);
102 
103     sipVH__core_110(sipGILState, 0, sipPySelf, sipMeth, window);
104 }
105 
GetHelp(const::wxWindowBase * window)106  ::wxString sipwxHelpControllerHelpProvider::GetHelp(const  ::wxWindowBase*window)
107 {
108     sip_gilstate_t sipGILState;
109     PyObject *sipMeth;
110 
111     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[3],sipPySelf,SIP_NULLPTR,sipName_GetHelp);
112 
113     if (!sipMeth)
114         return  ::wxHelpControllerHelpProvider::GetHelp(window);
115 
116     extern  ::wxString sipVH__core_190(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxWindowBase*);
117 
118     return sipVH__core_190(sipGILState, 0, sipPySelf, sipMeth, window);
119 }
120 
AddHelp(::wxWindowID id,const::wxString & text)121 void sipwxHelpControllerHelpProvider::AddHelp( ::wxWindowID id,const  ::wxString& text)
122 {
123     sip_gilstate_t sipGILState;
124     PyObject *sipMeth;
125 
126     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[4],sipPySelf,SIP_NULLPTR,sipName_AddHelp);
127 
128     if (!sipMeth)
129     {
130          ::wxHelpControllerHelpProvider::AddHelp(id,text);
131         return;
132     }
133 
134     extern void sipVH__core_189(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowID,const  ::wxString&);
135 
136     sipVH__core_189(sipGILState, 0, sipPySelf, sipMeth, id, text);
137 }
138 
AddHelp(::wxWindowBase * window,const::wxString & text)139 void sipwxHelpControllerHelpProvider::AddHelp( ::wxWindowBase*window,const  ::wxString& text)
140 {
141     sip_gilstate_t sipGILState;
142     PyObject *sipMeth;
143 
144     sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,SIP_NULLPTR,sipName_AddHelp);
145 
146     if (!sipMeth)
147     {
148          ::wxHelpControllerHelpProvider::AddHelp(window,text);
149         return;
150     }
151 
152     extern void sipVH__core_188(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*,const  ::wxString&);
153 
154     sipVH__core_188(sipGILState, 0, sipPySelf, sipMeth, window, text);
155 }
156 
157 
158 PyDoc_STRVAR(doc_wxHelpControllerHelpProvider_GetHelpController, "GetHelpController() -> HelpControllerBase\n"
159 "\n"
160 "Returns the help controller associated with this help provider.");
161 
162 extern "C" {static PyObject *meth_wxHelpControllerHelpProvider_GetHelpController(PyObject *, PyObject *);}
meth_wxHelpControllerHelpProvider_GetHelpController(PyObject * sipSelf,PyObject * sipArgs)163 static PyObject *meth_wxHelpControllerHelpProvider_GetHelpController(PyObject *sipSelf, PyObject *sipArgs)
164 {
165     PyObject *sipParseErr = SIP_NULLPTR;
166 
167     {
168         const  ::wxHelpControllerHelpProvider *sipCpp;
169 
170         if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxHelpControllerHelpProvider, &sipCpp))
171         {
172              ::wxHelpControllerBase*sipRes;
173 
174             PyErr_Clear();
175 
176             Py_BEGIN_ALLOW_THREADS
177             sipRes = sipCpp->GetHelpController();
178             Py_END_ALLOW_THREADS
179 
180             if (PyErr_Occurred())
181                 return 0;
182 
183             return sipConvertFromType(sipRes,sipType_wxHelpControllerBase,SIP_NULLPTR);
184         }
185     }
186 
187     /* Raise an exception if the arguments couldn't be parsed. */
188     sipNoMethod(sipParseErr, sipName_HelpControllerHelpProvider, sipName_GetHelpController, SIP_NULLPTR);
189 
190     return SIP_NULLPTR;
191 }
192 
193 
194 PyDoc_STRVAR(doc_wxHelpControllerHelpProvider_SetHelpController, "SetHelpController(hc)\n"
195 "\n"
196 "Sets the help controller associated with this help provider.");
197 
198 extern "C" {static PyObject *meth_wxHelpControllerHelpProvider_SetHelpController(PyObject *, PyObject *, PyObject *);}
meth_wxHelpControllerHelpProvider_SetHelpController(PyObject * sipSelf,PyObject * sipArgs,PyObject * sipKwds)199 static PyObject *meth_wxHelpControllerHelpProvider_SetHelpController(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
200 {
201     PyObject *sipParseErr = SIP_NULLPTR;
202 
203     {
204          ::wxHelpControllerBase* hc;
205          ::wxHelpControllerHelpProvider *sipCpp;
206 
207         static const char *sipKwdList[] = {
208             sipName_hc,
209         };
210 
211         if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxHelpControllerHelpProvider, &sipCpp, sipType_wxHelpControllerBase, &hc))
212         {
213             PyErr_Clear();
214 
215             Py_BEGIN_ALLOW_THREADS
216             sipCpp->SetHelpController(hc);
217             Py_END_ALLOW_THREADS
218 
219             if (PyErr_Occurred())
220                 return 0;
221 
222             Py_INCREF(Py_None);
223             return Py_None;
224         }
225     }
226 
227     /* Raise an exception if the arguments couldn't be parsed. */
228     sipNoMethod(sipParseErr, sipName_HelpControllerHelpProvider, sipName_SetHelpController, SIP_NULLPTR);
229 
230     return SIP_NULLPTR;
231 }
232 
233 
234 /* Cast a pointer to a type somewhere in its inheritance hierarchy. */
235 extern "C" {static void *cast_wxHelpControllerHelpProvider(void *, const sipTypeDef *);}
cast_wxHelpControllerHelpProvider(void * sipCppV,const sipTypeDef * targetType)236 static void *cast_wxHelpControllerHelpProvider(void *sipCppV, const sipTypeDef *targetType)
237 {
238      ::wxHelpControllerHelpProvider *sipCpp = reinterpret_cast< ::wxHelpControllerHelpProvider *>(sipCppV);
239 
240     if (targetType == sipType_wxSimpleHelpProvider)
241         return static_cast< ::wxSimpleHelpProvider *>(sipCpp);
242 
243     if (targetType == sipType_wxHelpProvider)
244         return static_cast< ::wxHelpProvider *>(sipCpp);
245 
246     return sipCppV;
247 }
248 
249 
250 /* Call the instance's destructor. */
251 extern "C" {static void release_wxHelpControllerHelpProvider(void *, int);}
release_wxHelpControllerHelpProvider(void * sipCppV,int sipState)252 static void release_wxHelpControllerHelpProvider(void *sipCppV, int sipState)
253 {
254     Py_BEGIN_ALLOW_THREADS
255 
256     if (sipState & SIP_DERIVED_CLASS)
257         delete reinterpret_cast<sipwxHelpControllerHelpProvider *>(sipCppV);
258     else
259         delete reinterpret_cast< ::wxHelpControllerHelpProvider *>(sipCppV);
260 
261     Py_END_ALLOW_THREADS
262 }
263 
264 
265 extern "C" {static void dealloc_wxHelpControllerHelpProvider(sipSimpleWrapper *);}
dealloc_wxHelpControllerHelpProvider(sipSimpleWrapper * sipSelf)266 static void dealloc_wxHelpControllerHelpProvider(sipSimpleWrapper *sipSelf)
267 {
268     if (sipIsDerivedClass(sipSelf))
269         reinterpret_cast<sipwxHelpControllerHelpProvider *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;
270 
271     if (sipIsOwnedByPython(sipSelf))
272     {
273         release_wxHelpControllerHelpProvider(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
274     }
275 }
276 
277 
278 extern "C" {static void *init_type_wxHelpControllerHelpProvider(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
init_type_wxHelpControllerHelpProvider(sipSimpleWrapper * sipSelf,PyObject * sipArgs,PyObject * sipKwds,PyObject ** sipUnused,PyObject **,PyObject ** sipParseErr)279 static void *init_type_wxHelpControllerHelpProvider(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
280 {
281     sipwxHelpControllerHelpProvider *sipCpp = SIP_NULLPTR;
282 
283     {
284          ::wxHelpControllerBase* hc = 0;
285 
286         static const char *sipKwdList[] = {
287             sipName_hc,
288         };
289 
290         if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|J8", sipType_wxHelpControllerBase, &hc))
291         {
292 
293         if (!wxPyCheckForApp()) return NULL;
294 
295             PyErr_Clear();
296 
297             Py_BEGIN_ALLOW_THREADS
298             sipCpp = new sipwxHelpControllerHelpProvider(hc);
299             Py_END_ALLOW_THREADS
300 
301             if (PyErr_Occurred())
302             {
303                 delete sipCpp;
304                 return SIP_NULLPTR;
305             }
306 
307             sipCpp->sipPySelf = sipSelf;
308 
309             return sipCpp;
310         }
311     }
312 
313     return SIP_NULLPTR;
314 }
315 
316 
317 /* Define this type's super-types. */
318 static sipEncodedTypeDef supers_wxHelpControllerHelpProvider[] = {{459, 255, 1}};
319 
320 
321 static PyMethodDef methods_wxHelpControllerHelpProvider[] = {
322     {SIP_MLNAME_CAST(sipName_GetHelpController), meth_wxHelpControllerHelpProvider_GetHelpController, METH_VARARGS, SIP_MLDOC_CAST(doc_wxHelpControllerHelpProvider_GetHelpController)},
323     {SIP_MLNAME_CAST(sipName_SetHelpController), SIP_MLMETH_CAST(meth_wxHelpControllerHelpProvider_SetHelpController), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxHelpControllerHelpProvider_SetHelpController)}
324 };
325 
326 sipVariableDef variables_wxHelpControllerHelpProvider[] = {
327     {PropertyVariable, sipName_HelpController, &methods_wxHelpControllerHelpProvider[0], &methods_wxHelpControllerHelpProvider[1], SIP_NULLPTR, SIP_NULLPTR},
328 };
329 
330 PyDoc_STRVAR(doc_wxHelpControllerHelpProvider, "HelpControllerHelpProvider(hc=None)\n"
331 "\n"
332 "wxHelpControllerHelpProvider is an implementation of wxHelpProvider\n"
333 "which supports both context identifiers and plain text help strings.");
334 
335 
336 sipClassTypeDef sipTypeDef__core_wxHelpControllerHelpProvider = {
337     {
338         -1,
339         SIP_NULLPTR,
340         SIP_NULLPTR,
341         SIP_TYPE_CLASS,
342         sipNameNr_wxHelpControllerHelpProvider,
343         {SIP_NULLPTR},
344         SIP_NULLPTR
345     },
346     {
347         sipNameNr_HelpControllerHelpProvider,
348         {0, 0, 1},
349         2, methods_wxHelpControllerHelpProvider,
350         0, SIP_NULLPTR,
351         1, variables_wxHelpControllerHelpProvider,
352         {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
353     },
354     doc_wxHelpControllerHelpProvider,
355     -1,
356     -1,
357     supers_wxHelpControllerHelpProvider,
358     SIP_NULLPTR,
359     init_type_wxHelpControllerHelpProvider,
360     SIP_NULLPTR,
361     SIP_NULLPTR,
362 #if PY_MAJOR_VERSION >= 3
363     SIP_NULLPTR,
364     SIP_NULLPTR,
365 #else
366     SIP_NULLPTR,
367     SIP_NULLPTR,
368     SIP_NULLPTR,
369     SIP_NULLPTR,
370 #endif
371     dealloc_wxHelpControllerHelpProvider,
372     SIP_NULLPTR,
373     SIP_NULLPTR,
374     SIP_NULLPTR,
375     release_wxHelpControllerHelpProvider,
376     cast_wxHelpControllerHelpProvider,
377     SIP_NULLPTR,
378     SIP_NULLPTR,
379     SIP_NULLPTR,
380     SIP_NULLPTR,
381     SIP_NULLPTR,
382     SIP_NULLPTR
383 };
384