Updated Qt binding generation scripts and build fixes

This commit is contained in:
Matthias Koefferlein 2021-11-30 23:12:12 +01:00
parent a0319c4073
commit a17f89201f
3 changed files with 20 additions and 6 deletions

View File

@ -33,6 +33,7 @@ drop_method :all_classes, /::x11/ # no X11 stuff
drop_method :all_classes, /\(.*&&.*\)/ # no move semantics
drop_method :all_classes, /.*\s+&&$/ # no move semantics
drop_method :all_classes, /\(.*std::initializer_list.*\)/ # no brace initialization
drop_method :all_classes, /::bindable/ # no QBindable available
rename :all_classes, /::create\(/, "qt_create" # clashes with GSI/Ruby
rename :all_classes, /::destroy\(/, "qt_destroy" # clashes with GSI/Ruby
@ -200,6 +201,7 @@ drop_class "QPointer"
drop_class "QProperty"
drop_class "QPropertyAlias"
drop_class "QPropertyBinding"
drop_class "QPropertyBindingPrivatePtr"
drop_class "QPropertyChangeHandler"
drop_class "QPropertyData"
drop_class "QQueue"
@ -233,7 +235,7 @@ drop_class "QStringBuilder"
drop_class "QStringBuilder"
drop_class "QStringBuilderBase"
drop_class "QStringBuilderCommon"
drop_class "QStringConverterBase"
# @@@ drop_class "QStringConverterBase"
drop_class "QStringDecoder", /EncodedData/
drop_class "QStringEncoder", /DecodedData/
drop_class "QStringListIterator"
@ -580,6 +582,7 @@ drop_class "QAccessibleObjectEx"
drop_class "QAccessiblePlugin" # difficult because of strange inheritance (through a intermediate struct) and probably never needed:
drop_class "QAccessibleWidgetEx"
drop_class "QBrushData"
drop_class "QBrushDataPointerDeleter"
drop_class "QColorConstants" # features brace-initialized constexpr constants which are not supported yet
drop_class "QCopChannel"
drop_class "QCustomRasterPaintDevice"
@ -618,7 +621,7 @@ drop_class "QProxyScreen"
drop_class "QProxyScreenCursor"
drop_class "QProxyStyle"
drop_class "QRasterPaintEngine"
drop_class "QRgba64" # some problem with quint64 type ... TODO: debug later
drop_class "QRgba64" # some problem with quint64 type ... @@@ TODO: debug later
drop_class "QScreenCursor"
drop_class "QScreenDriverFactory"
drop_class "QScreenDriverPlugin"
@ -745,7 +748,7 @@ include "QGraphicsItem", [ "<QGraphicsItem>", "<QGraphicsTransform>", "<QGraphic
include "QGraphicsScene", [ "<QGraphicsScene>", "<QGraphicsView>", "<QGraphicsItem>", "<QGraphicsWidget>", "<QGraphicsEllipseItem>", "<QGraphicsLineItem>", "<QGraphicsPathItem>", "<QGraphicsPixmapItem>", "<QGraphicsPolygonItem>", "<QGraphicsRectItem>", "<QGraphicsSimpleTextItem>", "<QGraphicsTextItem>", "<QGraphicsProxyWidget>", "<QGraphicsItemGroup>", "<QStyle>", "<QGraphicsSceneContextMenuEvent>", "<QGraphicsSceneDragDropEvent>", "<QGraphicsSceneHelpEvent>", "<QGraphicsSceneMouseEvent>", "<QGraphicsSceneWheelEvent>" ]
include "QGuiApplication", [ "<QGuiApplication>", "<QScreen>", "<QSessionManager>", "<QClipboard>", "<QWindow>", "<QStyleHints>", "<QFont>", "<QPalette>" ]
include "QApplication", [ "<QApplication>", "<QSessionManager>", "<QStyle>", "<QWindow>", "<QScreen>", "<QFont>", "<QFontMetrics>", "<QWidget>" ]
include "QWindow", [ "<QWindow>", "<QScreen>"
include "QWindow", [ "<QWindow>", "<QScreen>",
"<QAccessibleInterface>", "<QCloseEvent>", "<QExposeEvent>", "<QHideEvent>", "<QFocusEvent>",
"<QKeyEvent>", "<QMouseEvent>", "<QMoveEvent>", "<QPaintEvent>", "<QResizeEvent>",
"<QShowEvent>", "<QTabletEvent>", "<QTouchEvent>", "<QWheelEvent>" ]
@ -846,7 +849,7 @@ drop_method "QMenu", /QMenu::platformMenu/ # QPlatformMenu not available
drop_method "QMenu", /QMenu::setPlatformMenu/ # QPlatformMenu not available
drop_method "QMenuBar", /QMenuBar::platformMenuBar/ # QPlatformMenu not available
drop_method "QTreeWidgetItem", /::QTreeWidgetItem\(const\s+QTreeWidgetItem\s*&/ # will hide the parent-constructor otherwise. Use dup/copy protocol instead.
drop_method "QInputMethodEvent", /::clone\(/ # returns QInputMethodEvent *, not Event * (TODO: bug?)
drop_method "QInputMethodEvent", /::clone\(/ # returns QInputMethodEvent *, not Event * (@@@ TODO: bug?)
rename "QRawFont", /QRawFont::supportsCharacter\(.*ucs4/, "supportsCharacter_ucs4"
drop_method "QTextLine", /QTextLine::cursorToX\(.*int\s*\*/ # clashes with int-only version
@ -1103,6 +1106,8 @@ no_imports "QAbstractXmlNodeModel" # base class is QSharedData which is not ava
# QtNetwork
drop_class "QTlsPrivate" # private data
drop_class "QOcspResponse" # @@@ TODO: debug
drop_method "QSslSocket", /QSslSocket::ocspResponses\(/ # @@@ TODO: debug
drop_method "QUrlInfo", /QUrlInfo::QUrlInfo\(.*permissions/ # too many arguments (13)
drop_method "QHostAddress", /QHostAddress::QHostAddress\(\s*(const\s*)?quint8\s*\*/ # requires char *, a string version is available for IPv6
@ -1157,6 +1162,7 @@ drop_class "QAudioBuffer", /StereoFrameDefault/
drop_class "QAudioBuffer", /StereoFrame/
drop_class "QAudioFrame"
drop_class "QAbstractPlanarVideoBuffer"
drop_class "QWaveDecoder"
drop_method "QAudioBuffer", /QAudioBuffer::QAudioBuffer\(QAbstractAudioBuffer/ # QAbstractAudioBuffer not available
drop_method "QAudioDevice", /QAudioDevice::handle\(/ # Private data

View File

@ -64,4 +64,12 @@ equals(HAVE_QTBINDINGS, "1") {
}
greaterThan(QT_MAJOR_VERSION, 5) {
LIBS += -lklayout_QtCore5Compat
LIBS -= -lklayout_QtXmlPatterns
LIBS -= -lklayout_QtDesigner
}
}

View File

@ -44,7 +44,7 @@ namespace tl {
/**
* @brief An exception indicating that string extraction is not available for a certain type
*/
class ExtractorNotImplementedException
class TL_PUBLIC ExtractorNotImplementedException
: tl::Exception
{
public:
@ -54,7 +54,7 @@ public:
/**
* @brief An exception indicating that string conversion is not available for a certain type
*/
class StringConversionException
class TL_PUBLIC StringConversionException
: tl::Exception
{
public: