Using the NoTypeName annotation solves the wxLongLong_t issue

This commit is contained in:
Robin Dunn
2017-01-22 19:50:45 -08:00
parent 96a0901c15
commit c2a63a93f4
5 changed files with 2 additions and 29 deletions

View File

@@ -49,10 +49,6 @@ def run():
c.find('SetPropertyValue').findOverload('wxULongLong_t value').ignore()
c.find('SetPropertyValue').findOverload('wxObject *value').ignore()
# TODO: Fix these
c.find('GetPropertyValueAsLongLong').ignore()
c.find('GetPropertyValueAsULongLong').ignore()
module.addItem(
tools.wxArrayPtrWrapperTemplate('wxArrayPGProperty', 'wxPGProperty', module))

View File

@@ -77,9 +77,6 @@ def run():
c.briefDoc = "Basic property with integer value."
c.detailedDoc = []
c.find('DoValidation.value').type = 'long long'
c = module.find('wxLongStringProperty')
c.find('OnButtonClick.value').inOut = True
c.find('DisplayEditorDialog.value').inOut = True

View File

@@ -102,7 +102,6 @@ class FixWxPrefix(object):
else:
return name
def _getCoreTopLevelNames(self):
# Since the real wx.core module may not exist yet, and since actually
# executing code at this point is probably a bad idea, try parsing the

View File

@@ -9,8 +9,8 @@
// Licence: wxWindows license
//--------------------------------------------------------------------------
typedef long long wxLongLong_t;
typedef unsigned long long wxULongLong_t;
typedef long long wxLongLong_t /NoTypeName/;
typedef unsigned long long wxULongLong_t /NoTypeName/;
%MappedType wxLongLong {

View File

@@ -40,25 +40,6 @@
#include <wx/wx.h>
//--------------------------------------------------------------------------
// TODO: find a way to not need to do this.
// It is needed because SIP is putting :: on the front of the type, and when
// it's a macro the compiler complains about "expected unqualified-id". The
// risk is that it may be possible for wxLongLong_t to be a type that is not
// actually fully compatible with "long long", causing problems when passing
// into, or returning from wx APIs.
// If they are macros then undef them and make some typedefs instead
#ifdef wxLongLong_t
#undef wxLongLong_t
typedef long long wxLongLong_t;
#endif
#ifdef wxULongLong_t
#undef wxULongLong_t
typedef unsigned long long wxULongLong_t;
#endif
//--------------------------------------------------------------------------
// The API items that can be inline functions or macros.
// These are made available simply by #including this header file.