Commit Graph

210 Commits

Author SHA1 Message Date
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
Matthias Koefferlein a697df021c More generic Python binary for Windows build 2019-11-09 19:39:20 +01:00
Matthias Köfferlein 9a324727d2
Merge pull request #312 from KLayout/dvb
Dvb
2019-07-27 22:32:59 +02:00
Matthias Koefferlein 5dabd6093d Provide new 'align' feature in LVS for automatic circuit flattening. 2019-07-23 01:12:12 +02:00
Matthias Koefferlein 11d433e103 Fixed issue #294: renamed icon file. 2019-07-21 23:18:43 +02:00
Matthias Koefferlein 2f66f3ee3b WIP: Extraction of DRC and LVS doc, added doc to classes 2019-06-28 18:44:36 +02:00
Matthias Koefferlein d02a5c2cab Fixed build script for Windows - include streamer and other plugins in .zip file too. 2019-05-15 23:47:09 +02:00
Matthias Koefferlein 08d1cff797 DRC documentation images updated - have not been made with full hierarchy. Fixed script. 2019-05-01 23:03:14 +02:00
Matthias Koefferlein 0121652084 Removed a .swp file checked in by mistake 2019-03-24 21:24:45 +01:00
Matthias Köfferlein 85808527c6
Merge pull request #244 from KLayout/issue-241
Fixed issue-241 (no TextGenerator.default_generator for pymod)
2019-03-22 17:52:22 +01:00
Matthias Koefferlein 69282f8fef Fixed issue-241 (no TextGenerator.default_generator for pymod)
The issue was there because the fonts got imported
through Qt Resources. But in pymod there is no Qt.
The solution is to import them though compiled-in
blobs.
2019-03-21 23:11:52 +01:00
Matthias Koefferlein de85058ecf Bugfix: crash on Ubuntu in pya:qtbinding
Reason: a reference to a temporary object was passed
to a function. This happened for a default value.
The solution is to create a heap object to such default values.
2019-03-17 18:22:19 +01:00
Matthias Koefferlein 49621aa13a Fixed some documentation issues, DRC doc updated. 2019-03-03 10:17:54 +01:00
Matthias Koefferlein 93f4cbf294 Fixed Windows installer: stream plugins have not been included. 2019-01-23 21:16:26 +01:00
Matthias Koefferlein b0d7f5f7f5 Updated copyright. 2019-01-08 00:58:45 +01:00
Matthias Koefferlein 994ea47146 Fixed RPM spec file 2018-10-22 22:45:26 +02:00
Matthias Koefferlein 802eb5ec7a Updated debian and RPM packager scripts for new pymod structure. 2018-10-22 21:58:56 +02:00
Matthias Koefferlein c46bed0785 Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc.
  with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
  in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Koefferlein 25868ccd96 makedeb.sh did contain the conflict markers. 2018-09-09 22:47:56 +02:00
Matthias Köfferlein 28f8a1ee7d Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Koefferlein 155208c9c9 MSVC compatible declaration of force link flags for Qt bindings. 2018-08-04 22:44:51 +02:00
Matthias Koefferlein 67c2369962 Updated Qt declaration files for MSVC 2018-08-04 21:10:37 +02:00
Matthias Koefferlein d81dcb6b22 Updated RPM build script for OpenSuSE 15 2018-07-31 08:01:01 +02:00
Matthias Koefferlein 5efe5d20dd Updated RPM build script for OpenSuSE15 2018-07-31 08:00:27 +02:00
Matthias Koefferlein 6a1454645b Fixed OpenSuSE Leap15 to RPM build script. 2018-07-31 07:12:51 +02:00
Matthias Koefferlein b286da7e56 Fixed RPM build script for OpenSuSE Leap 15 2018-07-31 02:50:25 +02:00
Matthias Koefferlein 3ade12a6c2 Added OpenSuSE Leap15 to RPM build script. 2018-07-31 02:49:37 +02:00
Matthias Koefferlein d5840aac20 Added OpenSuSE Leap 15 for building. 2018-07-30 23:02:07 +02:00
Matthias Koefferlein a9b5983c55 Fixed doc generation script: needs a clean distribution dir. 2018-07-29 15:05:06 +02:00
Matthias Koefferlein 3efde26584 Cleaner builds for RPM & DEB 2018-07-29 02:45:59 +02:00
Matthias Koefferlein f8ffcd14f1 Fixed #141 (Issue with RBA::QHostAddress (ambiguous overload) on Qt5) 2018-07-12 21:33:19 +02:00
Matthias Koefferlein 165e1eb4b2 Fixed Debian package script (again) 2018-07-12 21:01:05 +02:00
Matthias Koefferlein 5379f69fb0 Fixed Debian package script. 2018-07-11 00:29:19 +02:00
Matthias Koefferlein 184ae965e6 Added Ubuntu-18 for the build targets in makedeb.sh 2018-06-29 07:19:21 +02:00
Matthias Koefferlein 2aa11b44ad Updated Jenkinsfile and added user doc generation scripts. 2018-06-26 07:23:44 +02:00
Matthias Koefferlein 5b7a924c3e Fixed doc generation script. 2018-06-24 18:15:36 +02:00
Matthias Koefferlein ea31e76c92 Enhanced user doc (css, title) 2018-06-24 18:11:40 +02:00
Matthias Koefferlein 15518c3984 Leaner doc generation, python3 installed fix for openSuSE. 2018-06-24 17:33:24 +02:00
Matthias Koefferlein 0798ac1e45 Fixed user extraction script. 2018-06-24 17:12:53 +02:00
Matthias Koefferlein 4c23e5f42e Using batch mode for doc generation. 2018-06-24 17:05:40 +02:00
Matthias Koefferlein 8ebf4a0f79 Added Jenkinsfile for doc generation step. 2018-06-24 16:10:49 +02:00
Matthias Koefferlein c2341ff213 WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3 2018-06-21 22:18:17 +02:00
Matthias Koefferlein 1b05878234 WIP: fixed deb package script and preparations for Ubuntu-18 2018-06-21 00:21:41 +02:00
Matthias Koefferlein 15bcfa34e5 WIP: updated deb production script. 2018-06-20 00:58:26 +02:00
Matthias Koefferlein 4bcf4530a5 WIP: removed fast mode from RPM building script. 2018-06-20 00:32:21 +02:00
root 4054cdea3a WIP: fixed RPM spec file. 2018-06-19 22:28:40 +00:00
Matthias Koefferlein 4b6c6d0d6d WIP: Updated klayout.spec 2018-06-19 23:15:29 +02:00
Matthias Koefferlein 54d412cee6 Balanced build settings (-j2 for all Linux platforms) 2018-06-19 01:08:15 +02:00
Matthias Koefferlein 2e3f0e0e88 Less waste of resources for bulk builds in CI 2018-06-18 07:45:24 +02:00
Matthias Koefferlein 4a84790c45 WIP: don't be a resource hog for batch builds 2018-06-17 22:58:40 +02:00
Matthias Koefferlein a20c3259bf WIP: refactored mkqtdecl configuration (common part factored out), fixed .pro file dependencies 2018-06-05 23:21:15 +02:00
Matthias Koefferlein 4fda7b2a50 WIP: added gui argument to QApplication, fixed documentation of virtual methods. 2018-06-05 22:29:34 +02:00
Matthias Koefferlein 40b2e9a1a5 WIP: usable constructors for QApplication and related. 2018-06-02 22:21:59 +02:00
Matthias Koefferlein ea31e5bcde WIP: removed old Qt5 binding code, fixed a segfault (static argc), enabled pya without interpreter 2018-06-02 02:03:14 +02:00
Matthias Koefferlein b91a3b5cad WIP: added Qt5 support 2018-05-31 09:19:26 +02:00
Matthias Koefferlein 0e29c997f6 WIP: refactoring, fixed documentation and some mistakes. 2018-05-31 01:11:24 +02:00
Matthias Koefferlein 80d00378d3 WIP: further refactoring 2018-05-30 22:46:10 +02:00
Matthias Koefferlein f1f9132d48 WIP: further refactoring of Qt binding libs 2018-05-30 22:02:27 +02:00
Matthias Koefferlein 3b144259fd WIP: build works again at least on Qt4. 2018-05-30 01:22:33 +02:00
Matthias Koefferlein c30d52c801 WIP: fixed a lot of compiler issues after last refactoring. 2018-05-30 01:00:13 +02:00
Matthias Koefferlein 6468bb7ab9 WIP: refactoring of GSI structure for separated modules. 2018-05-30 00:39:58 +02:00
Matthias Koefferlein 329b9a301b Fixed RPM build script (recursion in variable definition) 2018-05-01 22:38:37 +02:00
Matthias Koefferlein aed13ef78f Fixed RPM build script. 2018-05-01 17:16:43 +02:00
root 962441975d Fixed RPM build spec file. 2018-05-01 06:46:26 +00:00
Matthias Koefferlein 79e919ef61 Update RPM spec for building on CentOS6. 2018-05-01 08:40:02 +02:00