724 Commits

Author SHA1 Message Date
daf3e82896 genbindings: subclass override functions need to use goMethodName 2025-02-01 14:35:54 +13:00
4eb07a18ea
Merge pull request #132 from arnetheduck/cnames
Move `go` name mangling to `emitgo`
2025-02-01 14:25:05 +13:00
Jacek Sieka
4e78075fa7 qt: rebuild (update name mangling) 2025-02-01 13:45:22 +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
e4e9f4dce1
Merge pull request #158 from mappu/miqt-readme-updates-20250201
doc/README: Update project list, update binding comparisons
2025-02-01 13:23:49 +13:00
1ab7b48e6d
Merge pull request #153 from arnetheduck/const-callback
`const` in callbacks
2025-02-01 12:35:17 +13:00
735e26fd88 doc/README: add annie-miqt as another showcase app 2025-02-01 12:10:30 +13:00
a4488d6b50 doc/README: add more notes re comparison to other bindings 2025-02-01 12:10:20 +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
7ee91701fc
Merge pull request #149 from mappu/miqt-android-ci-pipeline
Add CI pipeline to build and test android apk packaging
2025-01-25 12:30:45 +13:00
a6f4c62cc8 ci: add android test build and apk package 2025-01-25 11:56:31 +13:00
9f5240b2a8 docker/android: clear ENTRYPOINT to allow easier use in scripts 2025-01-25 11:40:47 +13:00
6b421799fb
Merge pull request #148 from mappu/miqt-zero-length-slices
Add checks for zero-length byte slices
2025-01-25 09:06:10 +13:00
a4b99fcfae test: add test for round-trip of zero length byte slices 2025-01-24 18:52:12 +13:00
e4756d1e76 qt: rebuild (add checks for zero length byte slices) 2025-01-24 18:52:12 +13:00
c80c0ff441 genbindings: fix indexing of zero-length byte arrays 2025-01-24 18:52:12 +13:00
a80a93966d
Merge pull request #140 from mappu/miqt-more-virtual-functions
Add more virtual function overrides
2025-01-20 18:14:53 +13:00
f635e606a3 qt: rebuild (add more virtual override functions) 2025-01-19 17:07:29 +13:00
7e8f451e48 genbindings: fix checking private methods of wrong class 2025-01-19 17:07:29 +13:00
d3319cf273 genbindings: move inheritance exceptions to config-allowlist 2025-01-19 17:07:29 +13:00
8705ac0b5c genbindings: expand virtual overrides to cover indirect base classes 2025-01-19 16:38:55 +13:00
883ba8c131 genbindings: change AllInherits() to return lookupResultClass 2025-01-19 16:38:27 +13:00
28fd54f6a3
Merge pull request #138 from mappu/miqt-subclass
Remove isSubclass
2025-01-19 12:21:48 +13:00
328e80e929 qt: rebuild (check the dynamic_cast return value) 2025-01-18 17:57:48 +13:00
5cce6739f5 genbindings: remove last use of isSubclass variable 2025-01-18 17:57:25 +13:00
3697849067 genbindings: use dynamic_cast's return value to verify override is safe 2025-01-18 17:57:16 +13:00
693760653d qt: rebuild (final classes, simpler destructors) 2025-01-18 17:46:56 +13:00
Jacek Sieka
929e4e630a Simplify delete
The subclassing structure in `miqt` is such that nothing ever inherits
from `MiqtVirtual` - also, for `MiqtVirtual` to work correctly when Qt
deletes an instance part of a tree of widgets, the technique can only be
used with types that already have a virtual destructor.

Therefore:
* make `MiqtVirtual` final to ensure nothing inherits from it by
accident
* remove `virtual` inheritance of its base class - since there is no MI
invonved and no further inheritance, there can also not be any diamond
inheritance structures - removing `virtual` makes inheritance a bit
cheaper
* remove `isSubclass` from `delete` function - C++ already calls the
most inherited destructor
* mark destructor `override` to verify said assumption
2025-01-18 17:46:50 +13:00
676012fdef doc/CHANGELOG: release notes for v0.8.0 v0.8.0 2025-01-18 17:22:59 +13:00
8df8898dd8 makefile: allow using a custom docker invocation 2025-01-18 17:22:45 +13:00
b4c82ca133 docker: exclude some repo temporary binary files from docker context 2025-01-18 17:22:34 +13:00
6bf202175c gitignore: add comments for recent entries (Updates: #126) 2025-01-18 17:16:29 +13:00
501227d877
Merge pull request #126 from arnetheduck/makefile
Add `Makefile` for rebuilding bindings
2025-01-17 18:23:39 +13:00
422e81dc78
Merge pull request #135 from arnetheduck/log-blocked
Log blocked methods
2025-01-17 18:22:47 +13:00
Jacek Sieka
5cbbec5619 Log blocked methods
Blocked methods are the source of many gaps in the binding - in
particular, they block qt_metacall/activate/etc that is necessary for
implementing meta-object support.

This change makes them visible in logs and also removes log timestamps
so that logs from two runs easily can be diffed.
2025-01-15 10:56:57 +01:00
Jacek Sieka
0474d3f8b2 create go build directory 2025-01-11 20:48:48 +01:00
Jacek Sieka
da9349971c Add Makefile for rebuilding bindings
Having a makefile is a nice little trick to re-run the binding
generation code without having to copy-paste and/or remember the right
docker incantations :)
2025-01-11 10:39:19 +01:00
3d864cdb7b
Merge pull request #131 from mappu/miqt-mingw-qt6-docker
Add mingw-w64-x86_64 Qt 6 docker container, test in CI
2025-01-11 18:10:15 +13:00
408e6f55d3 qt6: rebuild (block QHashSeed::toUnsignedLong function) 2025-01-11 17:41:10 +13:00
f15c54b153 genbindings: blocklist QHashSeed::size_t 2025-01-11 17:40:38 +13:00
33596d922f
Merge pull request #130 from mappu/miqt-mainthread-qt5
qt/mainthread: Add qt5 port, update to avoid cgo_export file
2025-01-11 17:23:08 +13:00
b0346552a7
Merge pull request #129 from mappu/miqt-readme
docs: Add more projects in README, update copyright year
2025-01-11 17:22:58 +13:00
d7c019b2a7 github/ci: run mingw-w64 qt6 tests in CI 2025-01-11 17:19:50 +13:00
9093bb1284 docker: add qt6 mingw-dynamic container 2025-01-11 17:18:24 +13:00
46b637a584 github/ci: add windows 32-bit test 2025-01-11 16:35:01 +13:00
39e6098f8a github/ci: label the win64 container as win64:qt5, not 'latest' 2025-01-11 16:34:28 +13:00
4a7c9cea9b doc/README: add notes on unsafePointer() widget comparisons 2025-01-11 16:13:12 +13:00
a13aeab545 doc/license: bump copyright year 2025-01-11 16:13:09 +13:00
de98894ce0 doc/README: add some more projects made with miqt 2025-01-11 16:13:05 +13:00
0b96c758ee mainthread: add qt5 port 2025-01-11 16:03:04 +13:00