Commit Graph

204 Commits

Author SHA1 Message Date
Matthias Koefferlein 2035889e38 Include klayout.lib sources for RPM and DEB too. 2022-02-06 23:38:03 +01:00
Matthias Koefferlein 45794e405c Merged with qt6 from server 2022-01-08 23:47:40 +01:00
Matthias Koefferlein 12fd26663d Merge branch 'qt6' 2022-01-06 21:48:02 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Koefferlein c76dde4533 Fixed Windows Qt binding for Qt6 2021-12-12 23:00:42 +01:00
Matthias Koefferlein 4966601bd1 Updated Qt4 bindings 2021-12-11 14:05:09 +01:00
Matthias Koefferlein a0546098b3 Fixed Qt5 binding generator config 2021-12-11 10:45:38 +01:00
Matthias Koefferlein 93942e907e Updated Qt5 bindings 2021-12-11 10:14:14 +01:00
Matthias Koefferlein 1e795ebb6e Put in some blank lines for better readibility of generated Qt binding code 2021-12-07 23:43:40 +01:00
Matthias Koefferlein 9c0e94e63c WIP: Allowing extension (mixin) classes
Needed to represent QIODeviceBase as a second base class for
QIOdevice, QFile etc. Additional base classes are supported but
in a rather limited way. They only contribute constants like enums.
No methods can be provided this way (a limitation of the method
enumeration scheme which only supports one base classe)
2021-12-07 23:24:08 +01:00
Matthias Koefferlein 6f9fa7a4a2 Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6 2021-12-05 17:21:09 +01:00
Matthias Koefferlein 96650cb65d WIP: Qt4 compatibility, cleanup, version bumped 2021-12-05 17:03:16 +01:00
Matthias Koefferlein cb680875de Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6 2021-12-05 13:39:43 +01:00
Matthias Koefferlein 3bb46e2717 Qt5 builds functional again, enabled QLatin1String for Qt5 and Qt4 too. 2021-12-05 13:38:08 +01:00
Matthias Koefferlein 3a68daa0e4 WIP: global enums translated for qtbindings too 2021-12-05 13:36:43 +01:00
Matthias Koefferlein 4a1f1cb1ef WIP: Qt binding - don't propagate class enum constants to parent scope 2021-12-05 12:02:56 +01:00
Matthias Koefferlein ab97a4722d WIP: fixed some Qt binding and GSI issues, added tests 2021-12-04 22:15:04 +01:00
Matthias Koefferlein 125543957d WIP: Fixed GSI to some extent, some tests 2021-12-04 00:31:01 +01:00
Matthias Koefferlein 709ed19e13 Added first version of Qt binding for Qt6 2021-12-02 23:40:31 +01:00
Matthias Koefferlein e72060407c WIP: enabling QLatin1String, QStringView, QByteArrayView for GSI 2021-12-02 20:30:19 +01:00
Matthias Koefferlein bc26fd6333 WIP: some more patches for Qt6 Qt binding. 2021-12-02 01:08:42 +01:00
Matthias Koefferlein ef13bb7528 WIP: Provide a way to force-include enums and use it for QTextDocument::PropertyType 2021-12-01 07:51:32 +01:00
Matthias Koefferlein a17f89201f Updated Qt binding generation scripts and build fixes 2021-11-30 23:12:12 +01:00
Matthias Koefferlein a0319c4073 WIP: some more build fixes 2021-11-30 07:56:04 +01:00
Matthias Koefferlein 6b49386b67 WIP: fixed some build errors 2021-11-29 23:27:26 +01:00
Matthias Koefferlein 132ad2ed8d WIP: removing need to tl::type_traits 2021-11-29 22:54:28 +01:00
Matthias Koefferlein dfa1c0dbfd WIP: Qt bindings almost compile 2021-11-28 23:53:58 +01:00
Matthias Koefferlein 18fee75276 WIP: QtCore enabling 2021-11-28 16:31:37 +01:00
Matthias Koefferlein 88a4985d3d First version of Qt6 bindings generator 2021-11-27 21:01:12 +01:00
Matthias Koefferlein 5036babb84 More preparations for Qt6 2021-11-27 21:00:51 +01:00
Matthias Koefferlein 42c962888a WIP: parser enhancements 2021-11-27 15:29:38 +01:00
Matthias Koefferlein e4b74733b3 WIP: enhanced parser syntax 2021-11-27 13:01:06 +01:00
Matthias Koefferlein 8ad943ebc6 WIP: compatibility of C++ API generation with Qt4 2021-11-27 01:16:03 +01:00
Matthias Koefferlein c9918ddf4c WIP 2021-11-27 00:28:46 +01:00
Matthias Koefferlein aeba3f5df8 WIP: adjusting simple parser for C++17 (somewhat) 2021-11-27 00:08:50 +01:00
Matthias Köfferlein 7c8e507bb9
Merge pull request #934 from KLayout/issue-933
Alternative fix using a customized implementation for QMessageLogger …
2021-11-13 00:45:54 +01:00
Matthias Koefferlein 3ce7038a7d Alternative fix using a customized implementation for QMessageLogger functions 2021-11-10 23:38:33 +01:00
Matthias Koefferlein 4a44329e38 Enabling 'enclosed' as a (sometimes) more efficient way of implementing an enclosing check. 2021-11-08 23:18:01 +01:00
Matthias Koefferlein f968751a44 RPM build script patch for Python3 @ CentOS7 2021-10-20 22:21:56 +02:00
Matthias Koefferlein 8a892cb6e2 Fixed python3 dependency for CentOS7 RPM 2021-10-20 21:39:04 +02:00
Matthias Koefferlein 4ecfd93c69 Using Python3 for CentOS7 builds now 2021-10-19 22:50:05 +02:00
Matthias Koefferlein 07ea4f643e Generalized deb package generation for easier maintenance 2021-07-31 10:16:53 +02:00
Matthias Koefferlein 1647966b70 Allow x-suffix versions in .deb builds, updated COPYRIGHT and Changelog for next version. 2021-07-31 09:03:13 +02:00
Matthias Koefferlein d5b92c2925 More robustness for Windows build script 2021-07-06 23:46:04 +02:00
Matthias Koefferlein 5e04ea6156 Clarification of negative edge output for two-layer DRC's. 2021-05-26 01:12:35 +02:00
Matthias Koefferlein 6496a71b5b Removed is_of_type() of gsi::Class which is not needed and appears to cause problems on M1 ARM 2021-05-19 22:40:14 +02:00
Matthias Koefferlein 51c5cd504a Added missing file, updated debian build script 2021-05-01 08:39:35 +02:00
Matthias Koefferlein f122cdf953 Final touches before 0.27 release 2021-05-01 00:42:10 +02:00
Matthias Köfferlein b968f2b47f
#730: providing a new Qt module named QtUiTools for QUiLoader class s… (#735)
* #730: providing a new Qt module named QtUiTools for QUiLoader class support.

* Fixed a compile error on Mac

* Added QtUiTools to some more places

* Fixed a linker issue in the QtUiTools Python lib

* On occasion fixed a infinite recursion problem in the debugger

The recursion happened because by mistake I instantiated a
QApplication inside an in-application Python script. This
crashed the debugger due to infinite recursion. This is not
a real use case but to prevent similar issues, a recursion
sentinel was added.

* Removed QCoreApplication#notify from script bindings

Reasoning: "notify" made standalone scripts using QApplication and
QUiLoader virtually impossible.

Problem description:
- When a QApplication object is instantiated, e.g. in Python, the Qt binding
  will install reimplementation hooks as the object may be dynamically
  extended.
- A notify is virtual this means the *every* "notify" call in the application
  is routed through the interpreter.
- For one thing this will slow down the application
- But as "notify" is called a zillion times this has more than this side effect.
- Specifically "notify" is called from within the QWidget constructor to
  indicate a new widget. Then, if a QDialog for example is instatiated, it's
  base class constructor will call "notify" when the object isn't ready yet.
- This has another severe side effect: as the object isn't ready yet, it gets
  registered in the Python space with the wrong class and QDialog is not visible
  as such.

To mitigate these problems, the most efficient solution is to disable "notify"
in general. There is hardly any use case in a script environment (in C++,
apart from hacking the only reasonable use case is exception handling, but
this does not apply to scripts). For providing the call functionality of
"notify" you should better use "postEvent" or "sendEvent" anyway.

So farewell QCoreApplication.notify ...

* Fixed python test for QtUiTools module

* Fixed UiTools test on Qt4 - QUiLoader needs an application object

Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
Matthias Koefferlein d31f87f053 Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added. 2021-01-24 23:44:40 +01:00