Commit Graph
315 Commits
Author SHA1 Message Date
Matthias Koefferlein bb9ae20c32 Rework of the progress reporting scheme: LVS got a log now, the layout is horizontal for multiple progress objects, less flicker and more quiet display, cancel function should work more reliably now. 2021-03-14 16:25:56 +01:00
Matthias KöfferleinandKazunari Sekigawa 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 <[email protected]>
2021-02-25 21:29:21 +01:00
Matthias Köfferlein 8b2ecf41df Fixed issue by providing a compatibility bridge between tl::Stream (abstract paths) and tl::URI (#734) 2021-02-25 21:28:48 +01:00
Matthias Koefferlein 94e6f0f7a6 Logging progress for DRC, introducing 'abstract progress' concept 2021-02-07 23:41:53 +01:00
Matthias Köfferlein d8c0ea806a Issue 723 fixed. (#724)
* Fixed a segfault with simple 'klayout -v'

* Fixed #723
2021-02-05 23:28:22 +01:00
Matthias Köfferlein c837b306be Issue 720 (#721)
* Implemented a backup scheme for the file writer.

* Also consider backup files when the writer fails.

* Removed test exception

* Added config option for number of backups.
2021-02-02 22:47:25 +01:00
Matthias 47777b7eba Fixed crash in WebDAV access test observed on MacOS, but probably also relevant for other platforms. 2021-02-02 19:53:55 +01:00
Matthias Koefferlein 036e9f7d6b Yet another fix for Windows build. 2021-01-31 21:49:20 +01:00
Matthias Koefferlein d10165928f Trying to fix Windows build. 2021-01-31 20:21:14 +01:00
Matthias Koefferlein f1d2f39031 Added signal-safe sleep function which does not return when a timer signal happens. Fixes some random fails in the test suite. 2021-01-31 16:20:16 +01:00
Matthias Köfferlein 1ba4394c2a Merge pull request #710 from KLayout/byte-arrays
Byte arrays
2021-01-27 12:42:48 +01:00
Matthias Koefferlein 96136e6993 Fixed Qt-less builds. 2021-01-27 08:05:02 +01:00
Matthias Koefferlein dce371caaa Fixed Qt-less builds. 2021-01-26 23:42:18 +01:00
Matthias Köfferlein bd41f7222d Merge pull request #706 from KLayout/spline-as-api
Generalized spline interpolation of DXF reader
2021-01-26 23:39:51 +01:00
Matthias Koefferlein 702852a8a9 Merge branch 'master' of github.com:KLayout/klayout into byte-arrays 2021-01-25 08:11:53 +01:00
Matthias Koefferlein 204cb7ec3f Fixed build with curl 2021-01-25 08:05:16 +01:00
Matthias Koefferlein 199602424a Merge branch 'master' of github.com:KLayout/klayout into byte-arrays 2021-01-24 23:52:56 +01:00
Matthias Koefferlein 245bf93429 Some build fixes to enable basic compilation on CentOS6 2021-01-24 17:37:46 +00:00
Matthias Koefferlein 5aac018503 Mapping QByteArray (and std::vector<char>) to Python 'bytes' now. 2021-01-24 17:36:40 +01:00
Matthias Koefferlein c309961109 More verbose debugging for HTTP requests. 2021-01-23 22:27:53 +01:00
Matthias Koefferlein d1e6845ae4 Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated 2021-01-23 21:55:51 +01:00
Matthias Koefferlein fdd5671602 Attempt to solve WebDAV redirection issue on Windows. 2021-01-23 20:40:25 +01:00
Matthias Koefferlein 372a42e84a Renamed test files so that debugger doesn't get confused 2021-01-23 20:40:10 +01:00
Matthias Koefferlein c8951c10cd Generalized spline interpolation of DXF reader and provide a script binding (RBA::Utils). 2021-01-23 18:44:36 +01:00
Matthias Koefferlein 9a7b2babc0 Fixed Windows build 2021-01-17 23:50:42 +01:00
Matthias Koefferlein 19ecf8866c Fixed Windows build 2021-01-17 23:41:51 +01:00
Matthias Koefferlein 5b60e2be90 Fixed Windows build 2021-01-17 23:35:22 +01:00
Matthias Koefferlein 081c445cd8 Merge branch 'master' into complex_drc_ops 2021-01-17 19:55:28 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein cc58d7d8ee WIP: performance improvement: copy-on-write for flat edge pairs 2020-12-27 18:45:10 +01:00
Matthias Koefferlein 4ec00fb129 Fixed an issue with wrapping new objects into tl::Variants which are returned directly. For these objects, ownership needs to be transferred to the script. 2020-12-27 17:09:06 +01:00
Matthias Koefferlein 0fbfa4dfde Fixed URI relative path resolution if the first URI is empty. 2020-12-23 23:33:11 +01:00
Matthias Koefferlein fd066127ff Merge branch 'master' into complex_drc_ops 2020-12-08 23:34:07 +01:00
Matthias Köfferlein d5f6b51092 Compatibility with Qt 4.6.x on CentOS6 2020-11-22 19:54:13 +00:00
Matthias Koefferlein db6b3d280e Merge branch 'master' into complex_drc_ops 2020-11-22 09:31:15 +01:00
Matthias Koefferlein f3668a713d Merge branch 'master' into usability-enhancements 2020-11-13 02:08:10 +01:00
Kevin Zheng a1d1156407 Add -lexecinfo for BSD 2020-11-04 20:52:56 -08:00
Kevin Zheng 96123c3429 Fix build on FreeBSD (#656)
* Fix build on FreeBSD

* Add missing dependency on qtWidgets
2020-10-18 23:43:28 +02:00
Matthias Koefferlein 8c1e0d7e0e Added option to retrieve current memory footprint, implemented for Windows (to be tested) 2020-10-11 17:47:30 +02:00
Matthias Koefferlein 61f18f7f33 [PORTBACK] fixed an issue with in-place processing of flat regions 2020-10-01 23:10:24 +02:00
Matthias Koefferlein 151fd81bd3 Should fix unit test fails on Windows (backslash vs. slash for file name separators) 2020-09-20 01:07:39 +02:00
Matthias Koefferlein 60e3f87877 Merge branch 'master' into usability-enhancements 2020-09-14 20:41:23 +02:00
Matthias Köfferlein 9cef935fad Merge pull request #630 from KLayout/ruby-include
Ruby include
2020-09-14 18:33:57 +02:00
Matthias Köfferlein 948819472b Issue 615 (#621)
* Password encoding to UTF-8 for Basic HTTP authentication - this is basically a hack. Needs to be reverted as soon as Qt switches to UTF-8 encoding.

* Workaround for issue #615
2020-09-14 18:33:01 +02:00
Matthias Koefferlein 0cc41f43c4 Fixed one more issue with the include implementation. 2020-09-01 22:02:47 +02:00
Matthias Koefferlein ad6809a084 Fixed a few issues with the include implementation. 2020-09-01 19:57:27 +02:00
Matthias Koefferlein a01eb70891 Added tests for include feature, some bug fixes and enhancements. 2020-08-31 20:27:57 +02:00
Matthias Koefferlein 9c2914f016 WIP: allow breakpoints for files with includes and inside includes 2020-08-31 20:27:57 +02:00
Matthias Koefferlein 77a9253273 WIP: Provide a generic include file expansion mechanism, basic class. 2020-08-31 20:27:57 +02:00
Matthias Koefferlein be26c679d8 Merge branch 'master' into lefdef-enhancments 2020-08-30 22:55:45 +02:00