First attempt at safe virtual overrides
[lqt/mk.git] / generator / qt_internal.lua
blob99f3da3c16abe8308e96b6af32a0fcc9e90cb8dc
2 local classes = ...
3 local ret1 = {}
5 -- don't bind this Qt internals/unsupported classes
6 -- if there are linker errors, or errors when laoding the .so
7 -- add the class here
9 for c in pairs(classes) do
10 local n = c.xarg.name
11 if n~=string.lower(n) and not (string.match(n, '_')
12 -- these are useless to bind, but compile
13 or c.xarg.fullname=='QVariant::Private' -- well, it IS public
14 or c.xarg.fullname=='QVariant::Private::Data' -- well, it IS public
15 or c.xarg.fullname=='QVariant::PrivateShared' -- well, it IS public
16 or c.xarg.fullname=='QObjectData'-- compiles
17 or c.xarg.fullname=='QtConcurrent::internal::ExceptionStore' -- it compiles
18 or c.xarg.fullname=='QtConcurrent::internal::ExceptionHolder' -- it compiles
19 or c.xarg.fullname=='QtConcurrent::ResultIteratorBase' -- it compiles
20 or c.xarg.fullname=='QtSharedPointer' -- compiles
21 or c.xarg.fullname=='QtSharedPointer::InternalRefCountData' -- compiles
22 or c.xarg.fullname=='QtSharedPointer::ExternalRefCountData' -- compiles
23 or c.xarg.fullname=='QUpdateLaterEvent' -- compiles
24 or c.xarg.fullname=='QTextStreamManipulator' -- compiles
25 or c.xarg.fullname=='QtConcurrent::ThreadEngineSemaphore' -- compiles
26 or c.xarg.fullname=='QtConcurrent::ThreadEngineBarrier' -- linker error
28 -- platform specific, TODO
29 or c.xarg.fullname=='QWindowsCEStyle'
30 or c.xarg.fullname=='QWindowsMobileStyle'
31 or c.xarg.fullname=='QWindowsXPStyle'
32 or c.xarg.fullname=='QWindowsVistaStyle'
33 or c.xarg.fullname=='QMacStyle'
34 or c.xarg.fullname=='QS60Style'
35 or c.xarg.fullname=='QS60MainApplication'
36 or c.xarg.fullname=='QS60MainAppUI'
37 or c.xarg.fullname=='QS60MainDocument'
38 or c.xarg.fullname=='QWSCalibratedMouseHandler'
39 or c.xarg.fullname=='QWSClient'
40 or c.xarg.fullname=='QWSEmbedWidget'
41 or c.xarg.fullname=='QWSEvent'
42 or c.xarg.fullname=='QWSGLWindowSurface'
43 or c.xarg.fullname=='QWSInputMethod'
44 or c.xarg.fullname=='QWSKeyboardHandler'
45 or c.xarg.fullname=='QWSMouseHandler'
46 or c.xarg.fullname=='QWSPointerCalibrationData'
47 or c.xarg.fullname=='QWSScreenSaver'
48 or c.xarg.fullname=='QWSServer'
49 or c.xarg.fullname=='QWSWindow'
50 or c.xarg.fullname=='QXmlNodeModelIndex' -- a method "name" is public but is not part of the documented API
51 or c.xarg.fullname=='QXmlName' -- a method "localName" is public but is not part of the documented API
53 -- binding bugs
54 or c.xarg.fullname=='QThreadStorageData' -- binding error (function pointer)
55 or c.xarg.fullname=='QForeachContainerBase' -- "was not declared in this scope"
56 or c.xarg.fullname=='QFutureWatcherBase' -- const virtual method causes it to be abstract
57 or c.xarg.fullname=='QEasingCurve' -- wrapper for function: function pointer parsing problem
58 or c.xarg.fullname=='QHashData' -- not in the docs at all. free_helper is not present during compilation
60 or c.xarg.fullname=='QWebSelectMethod'
61 or c.xarg.fullname=='QWebNotificationPresenter'
62 or c.xarg.fullname=='QWebHapticFeedbackPlayer'
63 or c.xarg.fullname=='QWebTouchModifier'
65 or string.match(c.xarg.fullname, '^QtConcurrent') -- does not make sense anyway, because we should duplicate the lua_State
66 or string.match(c.xarg.fullname, '^QAccessible') -- causes a lot of headaches, and not necessarry anyway (yet)
67 or string.match(c.xarg.fullname, 'Private$') -- should not bind these
68 ) then
69 ret1[c] = true
70 else
71 ignore(c.xarg.fullname, "blacklisted", "filter")
72 end
73 end
75 return ret1