Rick Calixte
4cba7b0c99
config-libraries.go: Add Qt PDF
...
* Closes #200
2025-04-20 13:10:39 -04:00
2c2344e786
genbindings: handle the case when RequireCpp needs to return void
2025-04-15 20:57:06 +12:00
bc4a22f142
genbindings: Qt6Network dtls functions require QT_CONFIG(dtls)
2025-04-15 20:50:00 +12:00
57fee82f35
genbindings: replace LinuxOnly with generic cpp/go requirements
2025-04-15 20:49:55 +12:00
dc4c83998a
genbindings: split qt5/6 QNetwork and qt6 QWebChannel into subpackages
2025-04-15 20:49:13 +12:00
acc5abdc38
genbindings/emitcabi: correct relative libmiqt path in nested subpackage
2025-04-13 19:57:44 +12:00
66ffe9dfde
genbindings/config: block QWebEngineQuotaRequest deprecated in Qt 6.9
2025-04-13 19:57:44 +12:00
ccbfaf0819
genbindings/libraries: add OnlyHeaders/ExceptHeaders helpers
2025-04-13 19:57:40 +12:00
9dbb0d4152
genbindings: fix wrong cabiZeroValue() for QString-pointers
2025-04-12 18:02:13 +12:00
afdc8409ab
genbindings: gofmt
2025-04-12 15:58:54 +12:00
13335282e0
genbindings: show pkg-config stderr in log output
2025-04-12 15:58:35 +12:00
329ea18df8
genbindings: move applyQuirks into a transform pass, isolate packageName
2025-04-12 14:38:19 +12:00
9c8338b7ec
genbindings/cabi: remove not-triggered integer cases
2025-04-12 14:22:18 +12:00
Jacek Sieka
ac1d692b52
c: simplify integer mappings
...
`short` is perfectly fine as-is in C.
`qlonglong` is a bit trickier - Qt declares it to be `qint64` and
`qint64` to be `long long` - ergo, using `long long` in the C code is
fine but mapping `qint64` to `int64_t` actually might lead to trouble if
`int64_t` itself is not declared as `long long` (could be a mere `long
int` on some platforms) which in turn can lead to type-based pointer
aliasing violations :/ Ditto `qint32` vs `int32_t` which could be `int`
or `long`.
2025-04-11 22:59:07 +12:00
a58ac873a2
genbindings/transform: sort QVariant(QVariantList) ctor to end
2025-04-11 22:55:57 +12:00
Jacek Sieka
b3b783f3d6
Allow QVariantList - seems to work just fine
2025-04-11 22:43:27 +12:00
5af3cc6dfe
genbindings: remember precise QList/QMap container types
2025-04-11 22:33:32 +12:00
c93eb2cd00
genbindings/transform: move "With" names outside the proposedName ctr
2025-04-11 22:21:47 +12:00
a5ae83b018
genbindings/transform: trigger same name fixups for optional parameters
2025-04-11 22:21:45 +12:00
aff87f98a2
genbindings: apply quirks to ctors, merge LinuxOnly into quirks
2025-04-11 22:07:15 +12:00
Rick Calixte
9d72a3f601
emitcabi.go: add version check macro and version-based const return type
2025-04-10 19:44:36 -04:00
Rick Calixte
1fa992f324
config-allowlist.go: add const return type for QObjectData::dynamicMetaObject for Qt 6.9+
2025-04-10 19:42:37 -04:00
Rick Calixte
7f3fa3b248
intermediate.go: add BecomesConstInVersion to CppParameter
2025-04-10 19:41:05 -04:00
e8a8be0921
Merge branch 'master' into feat/qml
...
# Conflicts:
# cmd/genbindings/config-allowlist.go
2025-04-05 22:10:00 +13:00
52b1749f2f
qt5/qmultimedia: blocks some abstract classes
2025-04-05 21:32:05 +13:00
88896b4459
scintillaedit: block some Scintilla::Internal abstract classes
2025-04-05 21:31:46 +13:00
88c6d51dc1
genbindings: add noexcept
support for overrides
2025-04-05 21:19:44 +13:00
6cb0296e6d
genbindings: move exception from clang2il into standard config-allowlist
2025-04-05 21:18:37 +13:00
velorums
3a92648bd8
genbindings: ignore QQmlNetworkAccessManagerFactory::create, QQmlEngine::networkAccessManager to prevent dependency on Network for now
2025-04-04 08:53:16 +02:00
velorums
1797cb542d
genbindings: ignore QQmlV4Function, QJSEngine::handle, qmlAttachedProperties
2025-04-04 08:52:56 +02:00
velorums
f7f0d4a0b9
config-libraries.go: Add Qt 6 Qml
2025-04-02 20:39:06 +02:00
Rick Calixte
9dc9718f98
config-libraries.go: Add Qt 6 Charts
2025-03-31 01:03:53 -04:00
da874c95ed
genbindings: prevent using qt6 qsharedmemory on android
2025-02-15 17:19:43 +13:00
2f6817ac32
genbindings: virtualbase calls should not call the subclass
2025-02-15 15:00:50 +13:00
83989fd87e
genbindings: replace virtualbase wrapper with friend function
2025-02-08 14:42:37 +13:00
1e26114255
genbindings: extract fixupProtectedReferences() to separate function
2025-02-08 14:42:37 +13:00
f045d87bf5
genbindings: workaround clang access to protected enums from friend funcs
2025-02-08 12:28:59 +13:00
d63facdcda
genbindings: add another name-helper for the virtual subclass
2025-02-08 12:28:58 +13:00
78fae7cbcb
genbindings/cabi: zero values in CABI should use enum's underlying type
2025-02-08 10:39:42 +13:00
f192a6a330
genbindings/go: conditionally disable extra return type indirection
2025-02-08 10:39:42 +13:00
c1bf148a5a
genbindings: generate bindings for protected methods
2025-02-08 10:39:42 +13:00
Jacek Sieka
73c30809d2
genbindings: add ProtectedMethods() helper
2025-02-08 10:39:42 +13:00
a2192d8eab
genbindings: fix linter warning about function comment
2025-02-08 10:39:42 +13:00
647e034772
genbindings: block QStringConverterBase constructors
2025-02-07 19:13:35 +13:00
0b39af57e3
genbindings: add new AllowCtor framework
2025-02-07 18:55:01 +13:00
daf3e82896
genbindings: subclass override functions need to use goMethodName
2025-02-01 14:35:54 +13:00
Jacek Sieka
187c0a02ec
Move go
name mangling to emitgo
...
This change helps keep rules for each language separate by moving `go`
rules to `emitgo` while the C bindings stay closer to the original Qt
naming (that already is mostly C-safe).
Although it doesn't practically matter for go, it makes it slightly
easier to reuse the generated code in other languages which have
different keywords and naming conventions.
The cabi generator also gains a few helpers to help keep names
consistent across files which hopefully aids reading the generator code
- it did for me at least;)
The rule that converts under_score to CamelCase is left for another day
since moving it turns out to be more invasive due to name collision
handling - when underscores are kept, there are fewer name conflicts
which ends up causing name changes in the public go api when done
naively.
2025-02-01 13:44:32 +13:00
Jacek Sieka
439f3a1fb5
const
in callbacks
...
Since callback signatures are now generated in C++, might as well go
ahead and retain `const` and the pointer type, removing a `const_cast`
in the process.
2025-01-27 14:14:23 +01:00
c80c0ff441
genbindings: fix indexing of zero-length byte arrays
2025-01-24 18:52:12 +13:00
7e8f451e48
genbindings: fix checking private methods of wrong class
2025-01-19 17:07:29 +13:00