Commit Graph

275 Commits

Author SHA1 Message Date
Matthias Koefferlein ce31f47918 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:55:06 +01:00
Matthias Koefferlein f7d5e3f95c Fixed Debian package build 2023-03-11 18:46:56 +01:00
Matthias Koefferlein 8a17a78a17 Fixed Debian package build 2023-03-11 18:42:14 +01:00
Matthias Koefferlein d97942ac3a [consider merging] Fixed Qt Binding for Qt 5.15.2 where an include is missing 2023-03-11 00:24:21 +01:00
Matthias Koefferlein a8e0a54011 Preparing for integrated python module (Linux) 2023-03-07 23:45:05 +01:00
Matthias Koefferlein ee58ca6e61 Preparing for integrated python module (Windows) 2023-03-07 23:44:52 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein e0e077d851 Further cleanup of Qt6 binding of QJson... classes 2022-12-26 23:48:16 +01:00
Matthias Koefferlein 76dd1b93bd Qt bindings compatibility with Qt 6.4.1 2022-12-26 21:43:27 +01:00
Matthias Koefferlein fd5ae12951 Dropping klayout Python module from RPM and DEB packages as this creates clashes with the PyPI python module. As substitute install klayout module from PyPI. 2022-12-13 22:15:36 +01:00
Matthias Koefferlein 3e9d66ea6d Doc fixes 2022-12-09 23:21:09 +01:00
Matthias Koefferlein 9011af54ac Class properties 2022-10-23 23:47:26 +02:00
Matthias Koefferlein eb31f67aeb Include .pyi in deployment, scrips enhanced for more compatibility with stubtest 2022-10-23 23:18:09 +02:00
Matthias Koefferlein 2c18bc6c46 WIP: refactoring 2022-10-23 18:31:13 +02:00
Matthias Koefferlein 72c71a91a8 Fixed (?) user doc generation 2022-10-16 22:05:40 +02:00
Matthias Koefferlein 25c5b2f057 Refactoring of resources -> separate folders for doc and icons 2022-09-11 11:09:14 +02:00
Matthias Koefferlein 81b605c197 DRC implementation + doc update 2022-08-31 22:39:05 +02:00
Matthias Koefferlein 8e21dab345 Reworked lym::MacroCollection for not using Qt (too much) 2022-05-28 21:21:58 +02:00
Matthias Koefferlein ca3d840cb2 Alternative implementation for resources for the non-Qt case. 2022-05-28 00:33:08 +02:00
Matthias Koefferlein c8a056e58b Adding Ubuntu 22 to makedeb script 2022-04-24 01:40:56 +02:00
Matthias Köfferlein f8bd4dafaf
Pdf documentation (#1052)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation

* Fixed a number of invalid references found during PDF generation

* Enable PCellDeclarationHelper doc for help system

* Fixed doc text

* Fixed some doc issues with invalid links etc.
2022-04-03 20:51:29 +02:00
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
Matthias Koefferlein 4460c294b0 Some bug fixes, doc update, test updates. 2021-01-16 00:32:06 +01:00
Matthias Koefferlein 111b49f0ef Updated DRC documentation 2021-01-15 19:01:32 +01:00
Matthias Koefferlein 8051bef9ac Doc update, fixed DRC's 'switch' function 2021-01-15 00:31:26 +01:00
Matthias Koefferlein 80996a77fb New *_sum quantifiers, doc enhancements, bug fixing 2021-01-14 00:21:21 +01:00
Matthias Koefferlein c160f7f43f Documentation updates 2021-01-06 02:20:36 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 57a7671640 Fixed enclosing feature, added tests + DRC impl., DRC doc. 2020-12-08 22:44:33 +01:00
Matthias Koefferlein a833dd57fe Implemented rectangle and opposite filters for DRC functions. 2020-12-06 18:25:57 +01:00
Matthias Koefferlein 56572bd481 Added DRC documentation for interacting, not_interacting, select_interacting, select_not_interacting. 2020-09-22 19:06:12 +02:00
Matthias Koefferlein db9f43f576 Updated DRC doc and enhanced generation of DRC doc somewhat (bigger images, no exaes etc.) 2020-09-16 23:45:26 +02:00
Matthias Köfferlein 59ee6b6a83
Fixed #629 (timeout event of QTimer not present on Qt5) (#631)
In addition, the "destroyed" and "objectNameChanged" signals
were added (specifically to QObject).

The API binding for Qt5 was updated which adds some events.
2020-09-14 18:34:28 +02:00
Matthias Koefferlein eacd67df1c Dependeny list for Ubuntu 20 2020-05-30 22:41:13 +02:00
Matthias Koefferlein f410c91339 Updated documentation 2020-05-23 21:14:01 +02:00
Matthias Koefferlein 7574a41d09 Fixed problem of missing exec_ documentation 2020-04-22 08:07:22 +02:00
Matthias Koefferlein 666cdeadc5 MERGE: documentation enhancements for LVS/DRC 2020-03-28 12:29:53 +01:00
Matthias Koefferlein daba9d78be More @args removed. 2020-03-14 22:26:21 +01:00
Matthias Koefferlein d4b06ca143 WIP: fixed dependencies 2020-02-21 23:51:04 +01:00
Matthias Koefferlein 3b8fdf52a2 Fixed #496 (CentOS 8 builds) 2020-02-21 21:43:26 +01:00
Matthias Koefferlein a57d2cd934 Fixed #496 (CentOS 8 builds) 2020-02-21 21:41:38 +01:00
Matthias Koefferlein 4e4778afba CentOS8 builds, first fix iteration. 2020-02-21 21:16:38 +01:00
Matthias Köfferlein 69e7704430
Issue 501 (#505)
* Fixed #501 (more Qt ownership management) - this commit contains some more changes because I had to regenerate the Qt binding sources.

* Fixed #501 (Qt object ownership transfer) - repairs, added tests

* Updated Jenkinsfile to not publish a PR build

* Update Jenkinsfile - exclude PR's from build
2020-02-21 18:25:22 +01:00
Matthias Koefferlein 21397283f3 Fixed #477 2020-01-23 18:38:41 +01:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein c6fabea87f Fixed #449 (added styles plugin folder) 2019-12-15 16:26:33 +01:00
Matthias Köfferlein 446b2f15b0 #434 fixed, properly including Ruby gems and providing NumPy+SciPy with Python installation (this not in git but happens through the build process) 2019-12-01 23:55:53 +01:00
Matthias Koefferlein e7989c4006 Updated Windows build script so the installation won't get polluted by /bin files. 2019-11-14 00:47:12 +01:00
Matthias Koefferlein 4ae71075ed Minor fix in Windows deployment script 2019-11-13 23:23:44 +01:00
Matthias Koefferlein f768d012e5 Updated windows build script because of argument list overflow in shell script (shorter paths) 2019-11-13 21:11:40 +01:00
Matthias Koefferlein 897ccb12bf Add an option to Windows build script to support building and deployment of 64bit coordinate version 2019-11-12 21:51:49 +01:00