Commit Graph

3357 Commits

Author SHA1 Message Date
Matthias Köfferlein 33ebcb43f3
Issue 1008 (#1010)
* PyPI deployment: corrected branch filter

* skip redundant points in partial edit, but not colinear ones

* Polygon transformation now preserves raw points
2022-03-01 17:17:30 +01:00
Matthias Koefferlein 447b024277 Fixed issue #1013 2022-03-01 00:41:26 +01:00
Matthias Koefferlein 42fbe7b30a Avoid clipped texts in netlist/LVS result browser, text as tool tips 2022-02-28 21:19:03 +01:00
Matthias Koefferlein 42bd12b2db Bugfix: could not erase suffix in LEF/DEF reader options, could not reset datatype to 'none' (=don't produce) 2022-02-28 20:30:08 +01:00
Matthias Koefferlein 5d4fba7c51 Ctrl+F always enters find edit box in macro editor, not only if something is selected. 2022-02-28 19:49:58 +01:00
Matthias Koefferlein c030c844bb Doc update 2022-02-27 21:33:26 +01:00
Matthias Koefferlein d0d3d2a8be New integration, WIP 2022-02-24 00:45:02 +01:00
Matthias Koefferlein fdb7d90550 Introducing auto-run priorities for macros 2022-02-24 00:34:30 +01:00
Matthias Koefferlein 30f774f055 WIP: dynamic definition of macro categories (currently: drc, lvs) 2022-02-19 17:57:41 +01:00
Matthias Koefferlein ff3bc38aea Merge branch 'master' into wip 2022-02-19 00:14:57 +01:00
Matthias Köfferlein cee33a0099
Merge pull request #992 from KLayout/api-enhancements
Api enhancements
2022-02-18 23:28:28 +01:00
Matthias Koefferlein c5da9c717d scale_and_snap: separate handling of shapes with properties and without 2022-02-18 18:49:00 +01:00
Matthias Koefferlein a133a8f43b Reverted some changes, removed idle code 2022-02-18 18:43:02 +01:00
Matthias Koefferlein 834dfa6614 Bug fixes, enhancements, tests for snap and scale improvements. 2022-02-18 14:22:16 +01:00
Matthias Koefferlein e9d86822df Scale and snap improvements
* edge and edge pair support
* property support
* no expanding of on-grid arrays
* more inline processing, better performance
2022-02-18 00:03:14 +01:00
Matthias Koefferlein d2c2a875dd Removed debug output 2022-02-13 23:39:09 +01:00
Matthias Köfferlein 0132ad08f7
Issue 994 (#1006)
* Implemented issue-982 (heal option for strmxor)

The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.

* Fixed issue 994 (maybe, increased capture range for catching an existing selection)
2022-02-13 19:05:21 +01:00
Matthias Köfferlein 72bf152735
Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. (#1007) 2022-02-13 10:06:01 +01:00
Matthias Köfferlein b3d17cff97
Implemented issue-982 (heal option for strmxor) (#1004)
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.
2022-02-13 10:04:25 +01:00
Matthias Koefferlein 4a8918364b Patch for issue-973 fix to make it work with libcurl 2022-02-12 22:16:14 +01:00
Matthias Köfferlein 11a91300bd
issue-996 Providing a "refresh" function for triggering a refresh from inside t… (#998)
* Providing a "refresh" function for triggering a refresh from inside the lib

Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
  re-creation of library references to avoid side effects.
  Save without context.

* Added missing files

* Fixed unit tests.
2022-02-12 21:26:28 +01:00
Matthias Koefferlein 72d0f717fe Fixed units tests 2022-02-12 18:20:38 +01:00
Matthias Köfferlein 572103ad23
Fixed issue-972 (#1003)
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:08:52 +01:00
Matthias Köfferlein 0199192e83
Fixed #989 (cannot convert <defunct> cell to static cell) (#1002)
Fixed some more glitches while doing so:
* cell.name (gsi) was giving "basic_name", now it's changed to the
  internal name to be consistent with "name=". The "functional name"
  is still available as "basic_name".
* The basic name was rendering "<defunct>..." for defunct cells
  and has been changed to the functional name. Otherwise this
  is not accessible.
2022-02-12 17:05:12 +01:00
Matthias Köfferlein 0005c5d742
Fixed #971 (double compare fails in LVS) (#1001) 2022-02-12 17:04:47 +01:00
Matthias Köfferlein ec52be166c
FIxed #997 (display of negative extensions of paths) (#999) 2022-02-12 17:02:59 +01:00
Matthias Köfferlein 60aab8b3fd
Fixed #995 (new topcell after load) (#1000) 2022-02-12 16:51:01 +01:00
Matthias Koefferlein 2ed572e684 Merge branch 'api-enhancements' 2022-02-11 19:10:21 +01:00
Matthias Koefferlein 75aaf10512 Query parser is somewhat more restrictive now and doesn't read everything as cell expression. 2022-02-11 00:30:08 +01:00
Matthias Koefferlein 5dd50d2f59 Search/replace: also highlight results from data queries 2022-02-10 23:56:08 +01:00
Matthias Koefferlein 3f2ca1dfbe micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries 2022-02-10 23:14:08 +01:00
Matthias Koefferlein 98dd0de139 clip method variants with dboxes and cell references in Layout 2022-02-08 23:49:28 +01:00
Matthias Koefferlein 3a422f2c38 Trans: mapping ctrans to * for harmonization 2022-02-08 23:13:37 +01:00
Matthias Koefferlein a5e7395d10 Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation 2022-02-08 22:56:58 +01:00
Matthias Koefferlein 1a53cd00d2 Convenience 'each' for recursive shape iterator / recursive instance iterator 2022-02-08 22:28:09 +01:00
Matthias Köfferlein d764adb101
Issue 984 (#987)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* First attempt to fix issue 984

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:07:04 +01:00
Matthias Köfferlein 285a5e9fca
Issue 983 (#986)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:06:27 +01:00
Matthias Köfferlein c80f789e5a
Fixed issue-973 (timeout in Salt Manager) (#981)
The implementation now offers "infinite timeout" with
the option to abort download.
2022-02-08 19:05:53 +01:00
Matthias Köfferlein 71c9073bc5
Fixed issue-979 (backup file fails with relative paths) (#980) 2022-02-08 19:05:00 +01:00
Matthias Koefferlein e49b189f64 Doc clarification for Layout#create_cell 2022-02-07 23:27:10 +01:00
Matthias Koefferlein 88c56d8b64 Introducing unique_cell_name in Layout, fixed the RBA unit tests 2022-02-07 23:05:53 +01:00
Matthias Koefferlein 0bb0f400bf Introducing world box. 2022-02-07 22:44:35 +01:00
Matthias Koefferlein 79be9aba41 RecursiveInstanceIterator uses weak pointer to Layout too 2022-02-07 22:09:57 +01:00
Matthias Koefferlein c0b38f3706 Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator 2022-02-07 21:56:37 +01:00
Matthias Koefferlein e2c6e7aedc size/sized versions with Vector/DVector
Adds variants to size/sized which take a vector instead
of dx, dy and where the mode parameter is optional. So far
anisotropic sizing had to come with a mode argument.
2022-02-07 20:59:09 +01:00
Matthias Koefferlein de98a30f38 Text/DText enhancements
* Enums for alignment values.
* bbox
* position
* typos fixed
2022-02-07 19:46:13 +01:00
Matthias Koefferlein ffb81a66ea Fixed Python 3.10 builds 2022-02-05 19:46:53 +01:00
Matthias Koefferlein 477afd4a4d Fixed a merge issue (master/qt6) 2022-01-23 11:54:32 +01:00
Matthias Koefferlein 46b427740b Fixed a merge issue 2022-01-21 17:10:48 +01:00
Matthias Koefferlein 95b6af4bc6 Merge branch 'master' into qt6 2022-01-21 15:43:33 +01:00
Matthias Koefferlein df60f49276 Fixed issue-969 plus a Qt warning 2022-01-12 22:49:20 +01:00
Matthias Koefferlein 45794e405c Merged with qt6 from server 2022-01-08 23:47:40 +01:00
Matthias Koefferlein 86cee4118b Updated copyright for 2022 for remaining files. 2022-01-07 22:22:31 +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 Köfferlein b78a8d58c8
Merge pull request #964 from KLayout/issue-963-show-snapped-position
Implemented request: show snapped cursor position in lower left posit…
2021-12-30 09:07:47 +01:00
Matthias Köfferlein ccb9c05859
Merge pull request #962 from KLayout/lvs-data-as-global-function
Enabled 'lvs_data' as a new global function for LVS (for consistency)
2021-12-29 23:16:10 +01:00
Matthias Köfferlein 23207c2fe6
Merge pull request #961 from KLayout/issue-960
Fixed #960 (cap value not shown in netlist browser)
2021-12-29 23:15:36 +01:00
Matthias Koefferlein 980cd73c5a Implemented request: show snapped cursor position in lower left position display. 2021-12-28 22:39:04 +01:00
Matthias Koefferlein 6e15ebb3a1 Enabled 'lvs_data' as a new global function for LVS (for consistency) 2021-12-26 23:39:02 +01:00
Matthias Koefferlein 6c34ce14c0 Fixed #960 (cap value not shown in netlist browser) 2021-12-26 23:34:06 +01:00
Matthias Koefferlein 029b7b9410 Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases. 2021-12-26 21:23:58 +01:00
Matthias Köfferlein 5f73d11fb1
Merge pull request #958 from KLayout/issue-951
Issue 951
2021-12-26 19:15:11 +01:00
Matthias Köfferlein 460ba9813a
Merge pull request #957 from KLayout/issue-954
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein 4956091e75 Fixed a small glitch too: cut & paste of cells was possible in viewer mode 2021-12-26 12:33:44 +01:00
Matthias Koefferlein 8e02b400ca Fixed #951
The problem was essentially the "specific path" which got invalid.
The solution is to establish a better criterion for "path validity"
and use for failsafes against invalid paths.

In addition, the path validation has been modified such that a
better choice is made about the remaining path after a cell gets
deleted.
2021-12-26 12:20:54 +01:00
Matthias Koefferlein e1cd6aaeb1 Bugfix for #954
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.

Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein 2b9193331e Small bugfix: no 'nil' layer generated when no layer is selected for a PCell 2021-12-25 18:38:39 +01:00
Matthias Koefferlein 9cd77e5cec WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation' 2021-12-25 18:03:30 +01:00
Matthias Koefferlein f985d946a1 WIP: implementing an optional 'update' button for lazy evaluation PCells 2021-12-25 17:40:10 +01:00
Matthias Koefferlein 4820207cd3 Merge remote-tracking branch 'origin/master' into qt6 2021-12-17 21:44:50 +01:00
Matthias Koefferlein 219fbceb28 Fixed the fix. 2021-12-17 08:18:35 +01:00
Matthias Koefferlein e1df15a47f Fixed Windows tests 2021-12-16 22:51:20 +01:00
Matthias Köfferlein f60a5de325
Merge pull request #948 from KLayout/less-expressions
Less expression evaluation for more robustness
2021-12-16 07:56:21 +01:00
Matthias Köfferlein 7bc5b51fad
Merge pull request #947 from KLayout/issue-946
Fixed issue #946 for the case of file paths with blanks
2021-12-16 07:55:58 +01:00
Matthias Koefferlein a6d4c80c6c Less expression evaluation for more robustness 2021-12-16 00:23:06 +01:00
Matthias Koefferlein 533a72b7bd Added tests, fixed implementation 2021-12-15 23:18:42 +01:00
Matthias Koefferlein 07515cd716 Fixed issue #946 for the case of file paths with blanks 2021-12-15 23:04:58 +01:00
klayoutmatthias edd5884a1a WIP: enabling build on MSVC2019 with Qt6 2021-12-15 00:31:13 +01:00
klayoutmatthias 626d404d83 BUild fixes for Windows 2021-12-12 23:49:14 +01:00
Matthias Koefferlein c76dde4533 Fixed Windows Qt binding for Qt6 2021-12-12 23:00:42 +01:00
Matthias Koefferlein 279342e61a Added more declarations for gcc in release mode 2021-12-12 16:48:44 +01:00
klayoutmatthias 0c142c9252 gcc 4.x (CentOS 7) does not support all C++11 type traits 2021-12-11 18:56:44 +00:00
Matthias Koefferlein 9aed8529f8 Build needs C++11 2021-12-11 16:37:05 +01:00
Matthias Koefferlein eecda3222b Fixed pymod_tests 2021-12-11 15:17:16 +01:00
Matthias Koefferlein 4966601bd1 Updated Qt4 bindings 2021-12-11 14:05:09 +01:00
Matthias Koefferlein 8b87fba8d4 Updated Qt5 bindings 2021-12-11 10:46:24 +01:00
Matthias Koefferlein ea83b4285d Enabling multiple bases and child classes for GSI expressions 2021-12-11 10:45:54 +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 2d334bd88d Some code simplification 2021-12-11 01:09:07 +01:00
Matthias Koefferlein 8dbc31a41f Removed debug output 2021-12-11 00:42:26 +01:00
Matthias Koefferlein ca304b15c8 Enable multi-base support for RBA + Qt binding 2021-12-11 00:14:10 +01:00
Matthias Koefferlein 0aca56b1c6 Fixed pymod tests 2021-12-10 01:23:54 +01:00
Matthias Koefferlein f15db66fc4 Providing a different implementation of the multi-base mixin concept for Python to support multiple bases in Qt binding (e.g. QIODeviceBase) 2021-12-10 00:53:51 +01:00
Matthias Koefferlein 202ac55200 Preparations for multiple bases for Python objects 2021-12-08 23:53:38 +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 519d7f6353 Fixed issue #942 (plus: cleaned some config inconsistencies and fixed a small Ui flaw) 2021-12-07 23:40:26 +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 818beaa6a4 WIP: build fixes 2021-12-05 17:20:58 +01:00
Matthias Koefferlein 085db4f33f WIP: enterEvent has a different signature in Qt6 2021-12-05 17:18:19 +01:00
Matthias Koefferlein e07b9dc609 WIP: batch mode does not crash anymore (QAction cannot be created in non-GUI mode) 2021-12-05 17:07:40 +01:00
Matthias Koefferlein 96650cb65d WIP: Qt4 compatibility, cleanup, version bumped 2021-12-05 17:03:16 +01:00
Matthias Koefferlein 5eafb5ac13 WIP: cleanup plus added missing files. 2021-12-05 14:43:05 +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 9124881180 Added missing file. 2021-12-05 13:38:26 +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 0e2ff48c14 Compatbility with C++11 2021-12-05 00:29:15 +01:00
Matthias Koefferlein 5bff49c0d5 Merge branch 'qt6' of github.com:KLayout/klayout into qt6 2021-12-05 00:28:19 +01:00
Matthias Koefferlein 248bac5f6d Compatbility with C++11 2021-12-05 00:28:06 +01:00
Matthias Koefferlein 302a5fccd0 Build fixes 2021-12-05 00:27:41 +01:00
Matthias Koefferlein ef62a126d4 WIP: format string problem fixed in 2.5d view 2021-12-05 00:08:08 +01:00
Matthias Koefferlein 3ef28c8a9d WIP: fixed some string extractors 2021-12-04 23:57:24 +01:00
Matthias Koefferlein 6aae46772c WIP: typo bug fixed. 2021-12-04 22:46:59 +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 e677cc7300 WIP: tests for QStringView and QByteArrayView bindings 2021-12-04 09:03:59 +01:00
Matthias Koefferlein 125543957d WIP: Fixed GSI to some extent, some tests 2021-12-04 00:31:01 +01:00
Matthias Koefferlein 82909001c4 Build fixes with pymod 2021-12-03 07:28:09 +01:00
Matthias Koefferlein acf1edb6ce Build fixes with Ruby and Python 2021-12-02 23:46:39 +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 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 18fee75276 WIP: QtCore enabling 2021-11-28 16:31:37 +01:00
Matthias Koefferlein 3bbb49770b WIP: __null to nullptr as in modern C++. 2021-11-27 15:47:58 +01:00
Matthias Koefferlein f4c0a43d49 unit tests pass now with the exception of two XML parser tests (QTBUG-98656) 2021-11-25 22:18:25 +01:00
Matthias Koefferlein 39aa5cb805 WIP 2021-11-25 20:44:39 +01:00
Matthias Koefferlein 2ee4d5414e WIP 2021-11-25 20:37:10 +01:00
Matthias Koefferlein c3010745ec WIP 2021-11-25 19:53:00 +01:00
Matthias Koefferlein 646a207e00 WIP 2021-11-25 01:17:53 +01:00
Matthias Koefferlein a7678c8a57 WIP 2021-11-25 01:12:39 +01:00
Matthias Koefferlein 0e15426c9f WIP 2021-11-25 00:57:11 +01:00
Matthias Koefferlein a4d2e7891c WIP 2021-11-24 23:59:36 +01:00
Matthias Koefferlein fb4caf15ac Merge branch 'master' of github.com:KLayout/klayout into qt6 2021-11-24 23:21:27 +01:00
Matthias Koefferlein c809a236fb Fixed slider sizing in 2.5d view 2021-11-15 18:13:22 +01:00
Matthias Koefferlein 26da9f7406 Merge branch 'master' of github.com:KLayout/klayout 2021-11-15 07:12:29 +01:00
Matthias Koefferlein 748c331297 Fixed documentation 2021-11-14 22:42:05 +01:00
Matthias Koefferlein ecc83aa579 Solved #879: PCellDeclaration now knows the layout and layout knows the library 2021-11-14 17:45:52 +01:00
Matthias Köfferlein 91d358398b
Merge pull request #937 from KLayout/more-macro-bindings
More macro bindings
2021-11-14 16:18:23 +01:00
Matthias Koefferlein 2039d99f03 Fixed build errors. 2021-11-14 11:56:40 +01:00
Matthias Koefferlein 2831dd7f26 Fixed code sample 2021-11-13 20:39:49 +01:00
Matthias Koefferlein be19165140 Doc fixes. 2021-11-13 20:34:56 +01:00
Matthias Koefferlein ab350078a0 Cross-calling of Python from Ruby and much more ... 2021-11-13 19:57:31 +01:00
Matthias Koefferlein 67ed068e76 Provide more methods for the Macro class. 2021-11-13 01:53:14 +01:00