Commit Graph

4276 Commits

Author SHA1 Message Date
Matthias Koefferlein 7f2200cab5 WIP: Bug fixes, refactoring 2023-01-17 01:37:10 +01:00
Matthias Koefferlein 99887a15f0 WIP: refactoring, enabling properties for flat processing 2023-01-17 01:00:27 +01:00
Matthias Koefferlein 58ab6ce9fd WIP: fixed tests, dropped property constraint on XOR and OR (not implemented properly), added 'ignore' property constraint - in the 'no properties' case, properties are passed from the first input. 2023-01-16 16:27:31 +01:00
Matthias Koefferlein 3b4a460581 WIP: Further test updates 2023-01-16 02:29:03 +01:00
Matthias Koefferlein 48b55f142a WIP: flat region tests, partially working 2023-01-16 02:06:21 +01:00
Matthias Koefferlein db870614ab [CONSIDER MERGING] grid check markers are not exactly aligned with vertexes in deep mode 2023-01-16 01:35:08 +01:00
Matthias Koefferlein 70d16425e1 WIP: added tests for as if flat regions 2023-01-16 01:02:30 +01:00
Matthias Koefferlein bf47805b29 WIP: support for properties in deep andnot, tests 2023-01-16 01:00:03 +01:00
Matthias Koefferlein fad85e4260 [CONSIDER MERGING] Bugfix: polygon interaction with texts did not capture texts because of vanishing bounding box 2023-01-16 00:59:32 +01:00
Matthias Koefferlein b7c515bf91 WIP: enabling booleans with property constraints 2023-01-15 20:23:32 +01:00
Hugo Therrien b3b26721eb New action: screenshot to clipboard 2023-01-15 11:52:58 -05:00
Matthias Koefferlein f3e610b6e8 WIP: transfer polygon properties to edges 2023-01-15 15:28:10 +01:00
Matthias Koefferlein 5fa4d62da7 WIP: property support for transformation, filters, processors 2023-01-15 15:03:34 +01:00
Matthias Koefferlein 9f633b813d WIP: property management for flat shape containers 2023-01-15 13:34:47 +01:00
Matthias Koefferlein 33b5723068 WIP: property mapping between layouts 2023-01-15 11:56:41 +01:00
Matthias Koefferlein 311d9c6eb5 WIP: new net property mode for net builder (name + id) 2023-01-14 23:56:31 +01:00
Matthias Koefferlein 9f632f29d3 WIP: updated test data 2023-01-14 23:46:48 +01:00
Matthias Koefferlein 053269e0b2 WIP: added test 2023-01-14 22:31:48 +01:00
Matthias Koefferlein 467208fb6e WIP: property-aware meging of deep region 2023-01-14 22:26:42 +01:00
Matthias Koefferlein 2191db0c6d Merge branch 'master' into network-drc 2023-01-13 22:01:51 +01:00
Matthias Koefferlein 017ca1707b Small bugfix: 'clone panel' did not copy custom line styles 2023-01-13 22:01:18 +01:00
Matthias Koefferlein 33af2b8fcc Avoid a segfault after explicitly destroying a custom plugin factory object 2023-01-12 21:03:24 +01:00
Matthias Köfferlein c2dc27b0e1
Merge pull request #1248 from KLayout/issue-1247
Fixed issue #1247. Problem was missing cache clean on assignment of s…
2023-01-12 09:08:08 +01:00
Matthias Koefferlein 12e34f9282 Fixed issue #1247. Problem was missing cache clean on assignment of stipple pattern and line styles 2023-01-12 00:11:36 +01:00
Matthias Koefferlein 500fee3ff6 Fixed issue #1245 by using a smarter implementation for the backward compatibility fallback. Added unit tests and new (old) GSI bindings for that purpose. 2023-01-11 23:31:09 +01:00
Matthias Koefferlein 5952974095 Merge branch 'master' of github.com:KLayout/klayout 2023-01-11 21:26:40 +01:00
Matthias Koefferlein 478b838589 WIP: properties for regions, starting with deep regions 2023-01-09 00:05:31 +01:00
Matthias Koefferlein 0ba719ad84 WIP: properties for regions, tests for flat and original layer regions 2023-01-08 22:44:23 +01:00
Matthias Koefferlein 1dfa5abc9a WIP: introducing properties for FlatRegion and others 2023-01-08 19:27:41 +01:00
Matthias Koefferlein f9ccb60dd9 WIP: experimental - introducing net DRC, first steps 2023-01-07 23:42:59 +01:00
Matthias Koefferlein af30695ab3 WIP: experimental - introducing net DRC, first steps 2023-01-07 21:56:25 +01:00
Matthias Koefferlein ef6f3f182a Fixed issue #1242 (KLayout 0.28.2 crashes when registering a plugin if a layout exists)
Problem was twofold: first, events are triggered during
construction of the plugin which met an uninitialized
pointer. Second, the clearing of existing plugins failed
because of iterating a vector while destroying it's members
erased member of it.
2023-01-04 21:17:12 +01:00
Matthias Koefferlein 8677b38d69 Merge branch 'master' into wip 2023-01-01 22:28:14 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 6136e4f8a0 Merge remote-tracking branch 'origin/issue-1240' 2023-01-01 22:23:26 +01:00
Matthias Koefferlein a3c9b6bc4a Merge remote-tracking branch 'origin/issue-1238' 2023-01-01 22:23:13 +01:00
Matthias Koefferlein 9e6965751d Merge branch 'issue-1234' 2023-01-01 22:22:44 +01:00
Matthias Koefferlein 420f8cfdc3 Fixed issue #1240 (Layer is not activated from layer properties file on first creation) 2023-01-01 18:45:37 +01:00
klayoutmatthias b213479e07 Fixed issue #1238 (Macro IDE: breakpoints not effective on Windows) 2022-12-31 18:51:08 +01:00
Matthias Koefferlein ca32b34dff Restored ability to build on Python 2 2022-12-28 23:50:38 +01:00
Matthias Koefferlein 16cd4276b7 Fixed some more small memory leaks 2022-12-28 17:45:24 +01:00
Matthias Koefferlein de6e1ffd53 Another performance fix for the many layers case 2022-12-28 17:15:51 +01:00
Matthias Koefferlein 1ad7dc0d98 More memory leaks fixed 2022-12-27 23:52:16 +01:00
Matthias Koefferlein 2cd932627c Fixed some memory leaks 2022-12-27 23:45:43 +01:00
Matthias Koefferlein 8575791fd9 Fixed a potential segfault cause by recursive call of paintEvent
This may happen when painting triggers some action that itself
triggers progress reporter (which paints itself).

The solution consists of blocking process_events during painting.
2022-12-27 22:57:14 +01:00
Matthias Koefferlein 8d025ddf9f Fixed non-Qt builds 2022-12-27 20:14:22 +01:00
Matthias Köfferlein 975a752844
Merge pull request #1231 from KLayout/issue-1228
Implemented solution for issue #1228
2022-12-27 20:12:20 +01:00
Matthias Koefferlein 4429d4c8f7 Fixed #1234 (layer list empty after clone panel) 2022-12-27 20:10:39 +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 50616ede58 Implemented solution for issue #1228
The "show parameter names" setting is now persisted.
Side effect: changing this setting will now trigger
a configuration update which has some side effects - e.g.
when "lazy update" is configured (parameters are reset).
But that appears to be acceptable.

In addition a second flaw was fixed: errors were not
properly reported by showing the error indicator.
The indicator was hidden immediately after showing it.
2022-12-25 20:44:56 +01:00
Matthias Koefferlein 44a2aa9ca1 Fixed #1230 (LVS browser crashes) and immediately dispatching a 0.28.2 version 2022-12-22 23:17:08 +01:00
Matthias Koefferlein 584dbcfd2f Really, really disabling doc, icon for no-Qt builds 2022-12-21 23:36:15 +01:00
Matthias Koefferlein 5a41443487 Really disabling doc and icon without Qt builds 2022-12-21 23:32:49 +01:00
Matthias Koefferlein f4957dbad2 Exclude doc/icon resources in non-Qt builds 2022-12-21 22:45:48 +01:00
Matthias Koefferlein e4e2204939 Added one missing dependencies 2022-12-21 18:34:41 +01:00
Matthias Koefferlein 7a76202411 Added a unit test to check the integrity of all XML doc pages 2022-12-20 20:43:04 +01:00
Matthias Koefferlein 9440985aed Trying to fix a segfault observed on MacOS 2022-12-18 17:43:48 +01:00
Matthias Koefferlein de784de7ea Wider data types for Windows (long is 32 bit) and for CBLOCK byte counts in OASIS reader 2022-12-18 14:31:46 +01:00
Matthias Koefferlein 24b8526361 Attempting to speed up layer list for many layers 2022-12-17 20:34:22 +01:00
Matthias Koefferlein 884203149a Added tests for recent changes 2022-12-17 20:33:50 +01:00
Matthias Koefferlein b1e78efcaa WIP: trying to enhance layout layer lookup performance. 2022-12-14 22:47:16 +01:00
Matthias Koefferlein ad27c9a51d WIP: trying to enhance layout layer lookup performance. 2022-12-13 23:41:34 +01:00
Matthias Koefferlein 199dea536a Fixed a small bug: d25 material list view background was reset to black with Auto background color 2022-12-13 22:49:49 +01:00
Matthias Koefferlein f49fa646fc Patched PR with leaner solution 2022-12-13 21:54:00 +01:00
Matthias Koefferlein 5a6ea0148a Merge remote-tracking branch 'quantamhd/fix_segfault' into wip 2022-12-13 21:52:40 +01:00
Ethan Mahintorabi 0a03a2809a
Fixes segfault on some linux systems
The static order initialization seems to be more present throughout
Klayout and might cause additional issues, but this fix stopped the
segfault on my machine. When compiling with asan there are a number
or other issues that could be addressed, but it's not clear if they're
real problems.

dbLayout change occured when using the python API to read a DEF layout.
When the layout is updated the code uses a const iterator which
implicitly wraps the non-const iterator. In the loop the end() is
implicitly wrapped, which tries to dereference a nullptr. My fix
checks to ensure that the non-const iterator is not null before trying
blindly dereference it.
2022-12-12 19:03:59 +00:00
Matthias Koefferlein 43089f31e4 Doc updates 2022-12-09 23:53:41 +01:00
Matthias Koefferlein 9607594020 Doc updates 2022-12-09 23:33:31 +01:00
Matthias Koefferlein 3e9d66ea6d Doc fixes 2022-12-09 23:21:09 +01:00
Matthias Koefferlein 88e960b7cf Regenerating doc. 2022-12-09 22:31:13 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) 78383c88f3 Grml .. fixed implementation of previous commit 2022-12-09 16:33:02 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) ffe3722001 Better backward compatibility for ruler configuration 2022-12-09 16:26:21 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) c10cb86b68 Robust configuration of new ruler settings 2022-12-09 16:07:31 +01:00
Matthias Koefferlein 8d6508f69c Doc XML fixed 2022-12-09 07:26:10 +01:00
Matthias Koefferlein a5a3fff1f0 Fixed #1214 (LEF VIA parsing issue) 2022-12-08 22:36:14 +01:00
Matthias Koefferlein 299cea51a5 OASIS writer: Writing repetitions for edge-representation paths too 2022-12-08 20:36:03 +01:00
Matthias Koefferlein 2c94179589 Fixed #1216 (issue with moved - internal error)
This issue is fixed. In addition the following problems were fixed/found:
* General issue with handling merged state in in-place transform (merge shadow region needs to be updated too)
* moved now is hierarchical (also for edges)
2022-12-08 20:27:42 +01:00
Matthias Koefferlein 92d0174711 Fixed a build issue 2022-12-08 00:48:23 +01:00
Matthias Koefferlein d81e0ba51e Merge branch 'points-as-db-objects' 2022-12-07 21:59:02 +01:00
Matthias Koefferlein 5a252f2b29 Updated golden test data for fast DRC 2022-12-07 21:58:24 +01:00
Matthias Koefferlein a9833bf32e Small bugfix: do not mess up annotation templates after used older KLayout versions again. 2022-12-07 21:43:43 +01:00
Matthias Koefferlein 4281cde169 (maybe) fix builds for Qt without SSL 2022-12-06 22:40:41 +01:00
Matthias Koefferlein dc6408a068 Some cleanup 2022-12-06 18:44:29 +01:00
Matthias Koefferlein 4543eaabac Fixed some small flaws in instance properties dialog: sort by cell name, update tree on apply 2022-12-05 23:47:46 +01:00
Matthias Koefferlein 2601f870ec Fixed compile errors 2022-12-05 07:39:03 +01:00
Matthias Koefferlein 035232c978 Providing single-linked list implementation with fast size to address DRC merge performance issue on CentOS 2022-12-05 02:22:08 +01:00
Matthias Koefferlein 43ff59750a Fixed a race condition in DRC local processor with multiple threads 2022-12-04 21:04:21 +01:00
Matthias Koefferlein 0c89d8fec8 WIP: points as db objects - added tests, bug fixes 2022-12-04 19:54:29 +01:00
Matthias Koefferlein 4d04cf4fe3 WIP: introducing points as valid objects into database - implementation. Includes: edge pair perimeter and area. 2022-12-04 19:54:26 +01:00
Matthias Koefferlein 63ad38e9d9 Region#inside/not_inside/covering/not_covering is faster as it skips the merge step now. Fixed deep mode implementation (counting mode detection) with performance effect on outside/interacting too 2022-12-03 20:59:36 +01:00
Matthias Koefferlein cca20773a7 Include performance patch for array-vs-array interactions in deep mode 2022-12-02 17:53:15 +01:00
Matthias Koefferlein 77e9b511cf Fixed slow 'show only selected' with many layers (reason: too many updates of recent editor options layer list) 2022-12-02 17:32:18 +01:00
Matthias Koefferlein 78a139494a Avoid recursion in Application#notify during exception processing - more stable debugging 2022-12-02 17:21:12 +01:00
Matthias Koefferlein 2178b23d8d Fixed #1198 - 0.28 ignores link to script folder 2022-12-01 23:54:43 +01:00
Matthias Koefferlein 13874986b2 Bugfix, tests updated 2022-11-28 23:40:11 +01:00
Matthias Koefferlein a752257f52 Multiple empty-input shortcuts for DeepRegion - tests need update 2022-11-28 01:35:49 +01:00
Matthias Koefferlein 5597ee8960 DeepRegion performance: take fast path for DeepRegion::edges if merged polygons are available. 2022-11-27 21:59:06 +01:00
Matthias Koefferlein 5db45d7aee Proper setting of merged status after interacting/inside etc. 2022-11-27 19:43:53 +01:00
Matthias Koefferlein d76eef10af GSI enabling of Edges#in_and_out, Region#in_and_out and corresponding DRC feature 2022-11-27 15:59:18 +01:00
Matthias Koefferlein f6f4dbeb67 Edges#in/in_and_out: tests added 2022-11-27 15:31:25 +01:00
Matthias Koefferlein 0304930136 WIP: introducing Region#in_and_out and Edges#in_and_out, support for hierachical Edges#in, Tests updated 2022-11-27 14:53:30 +01:00
Matthias Koefferlein 25e61205d2 Deep implementation of in/not_in 2022-11-27 10:37:43 +01:00
Matthias Koefferlein 9008464268 WIP: hierarchical mode for Region#in and Region#not_in 2022-11-27 10:26:01 +01:00
Matthias Köfferlein 1f2e8b4012
Merge pull request #1193 from KLayout/issue-1189
Issue 1189 High memory footprint for DRC deck
2022-11-26 19:55:40 +01:00
Matthias Koefferlein fb60212a5b More numerical stability for reproducible tests drcSimpleTests:56 and 57 (45 degree angles) 2022-11-25 22:36:19 +01:00
Matthias Koefferlein 5057b0a626 Merge branch 'issue-1190' 2022-11-25 07:51:34 +01:00
Matthias Koefferlein 20b6608410 Test updated 2022-11-24 22:12:01 +01:00
Matthias Koefferlein 66b10245fe Another update of golden data 2022-11-24 21:54:04 +01:00
Matthias Koefferlein dc24ec2d15 Updated golden test data 2022-11-24 21:46:56 +01:00
Matthias Koefferlein d8dcb41ee0 force GC on LVS tests too. 2022-11-24 21:28:13 +01:00
Matthias Koefferlein 53d6e8d3cb DSS now keeps layouts (avoids excessive cell mapping), frequent GC in DRC tests for heavy GC load testing 2022-11-24 20:41:19 +01:00
Matthias Koefferlein e04875b4e0 Fixed a problem with object lifetime and tiling processor input found after GC became active. Added a documentation hint. 2022-11-23 01:03:36 +01:00
Matthias Koefferlein 7431ec6f43 Solved an ownership issue in DRC which popped up after universal DRC nodes got deleted. 2022-11-23 00:36:08 +01:00
Matthias Koefferlein 86cc523c77 Bugfixed GCLocker implementation - is now recursive 2022-11-23 00:33:37 +01:00
Matthias Koefferlein d5725c3ed5 DRC performance issue fix attempt
Problem was that destruction of database objects was postponed during
callbacks, specifically the interpreter callback.

This caused db::Region objects to pile up.

The original feature was introduced to prevent issues when Ruby/C++
code interacts inside Qt UIs. The new fix does not disable GC, but
protects Ruby objects during method calls. Maybe that solves the problem too.
2022-11-22 22:06:10 +01:00
Matthias Koefferlein 6e2310186b Added tests 2022-11-21 23:33:28 +01:00
Matthias Koefferlein 16d662229d Fixed issue #1190 (Edges#extended_xx in deep mode) 2022-11-21 23:30:28 +01:00
Matthias Koefferlein c51f6ef18b Don't crash netlist browser when there is no netlist 2022-11-21 22:57:44 +01:00
Matthias Koefferlein 30ab1a13ca Added tests, documentation, doc bug fixes for angle-class edge selectors 2022-11-12 18:16:57 +01:00
Matthias Koefferlein 2341170065 First tests 2022-11-12 00:29:50 +01:00
Matthias Koefferlein b02d3b24a8 WIP: first draft of angle-class selectors for edges and edge pairs for simplifying edge orientation checks 2022-11-11 23:46:45 +01:00
Matthias Koefferlein aadb8510d2 Merge branch 'performance' into wip 2022-11-11 21:55:39 +01:00
Matthias Koefferlein f17719b43c Fixed builds for MSVC 2017 python module builds with setuptools. 2022-11-11 00:32:03 +01:00
Matthias Koefferlein 462976fc05 Convenience isotropic versions for Box::enlarge(d) 2022-11-10 22:31:13 +01:00
Matthias Koefferlein 67690b8ae8 Array properties are not grayed out in read-only mode on instance properties page 2022-11-10 22:18:53 +01:00
Matthias Koefferlein d7263eac74 Square and rectangle convenience ctor for GSI Box and DBox 2022-11-10 22:08:41 +01:00
Matthias Koefferlein 719cd28f76 Some enhancement for specifying klayout paths
$KLAYOUT_HOME can now be empty which has the same effect
than setting it to /dev/null - no home folder is present and
no packages will be searched there.

$KLAYOUT_PATH can be empty which makes KLayout not choose
the installation folder as the default path location as before.
2022-11-10 22:01:07 +01:00
Matthias Koefferlein c220ed0cbc Merge branch 'master' into wip 2022-11-09 23:30:38 +01:00
Matthias Koefferlein ea2486eaed Fixed a merge issue 2022-11-09 23:30:08 +01:00
Matthias Köfferlein 7589efd781
Merge pull request #1182 from KLayout/issue-1178
Fixed issue #1178 (technology-data xml results in SEGV)
2022-11-09 23:29:06 +01:00
Matthias Koefferlein 1edbd6232f Merge branch 'python-typehints' 2022-11-09 23:13:31 +01:00
Matthias Koefferlein 15ce9a79ea Small bug fixed: color chooser button was not showing the colors from the palette 2022-11-06 19:19:33 +01:00
Matthias Koefferlein 5b710fa3a4 More stable result of antenna debug output text placement 2022-11-06 19:02:35 +01:00
Matthias Koefferlein 65e11498d4 Fixed issue #1178 (technology-data xml results in SEGV)
Problem was that the test case contained multiple technologies
inside the config file and the cached values were not updated
in the XML reader upon migrating to the new multi-stack capable
scheme.
2022-11-06 16:53:26 +01:00
Matthias Köfferlein 4a80a10a2d
Merge pull request #1175 from KLayout/wip
Wip
2022-11-06 09:11:38 +01:00
Matthias Koefferlein cd3ca9e536 Do not use zstd compression for Qt6 as there is no built-in decompression 2022-11-06 01:23:39 +01:00
Matthias Koefferlein 240281d9ff [consider merging] Important patch: avoids incorrect initialization of Python classes 2022-11-06 01:12:16 +01:00
Matthias Koefferlein f338c13309 [consider merging] Important bug fix - do not use NDEBUG as ruby.h redefines it and this will lead to crashes in the debugger 2022-11-05 14:28:40 +01:00
Matthias Koefferlein f67b28c52a Supporting LayerInfo objects in fill pattern generation, doc updates 2022-11-04 23:45:10 +01:00
Matthias Koefferlein 131745433d Doc fixes 2022-11-04 23:16:15 +01:00
Matthias Koefferlein 25409a3d33 Doc updates 2022-11-04 22:08:12 +01:00
Matthias Koefferlein 9dac047003 Fixed small doc error 2022-11-04 21:25:12 +01:00
Matthias Koefferlein 8779e2a4cc Enabling build with Qt6 2022-11-03 14:26:17 +01:00
Matthias Koefferlein 27e04c61a0 Less compiler warnings 2022-11-02 23:35:18 +01:00
Matthias Koefferlein 9ec7c0ca44 layout_diff GSI binding: provide interface for edge pair diffs 2022-11-02 23:35:06 +01:00
Matthias Koefferlein a8ea234522 Enable Qt6 build from build.sh (gcc needs c++17) and less noisy builds with gcc 11 etc. 2022-11-02 23:09:44 +01:00
Matthias Koefferlein a759492f1e Avoid an assertion in macro editor when no script support is compiled in 2022-11-02 23:08:47 +01:00
Matthias Koefferlein d47cbeb231 [consider merging] Bugfix: generation of texts for antenna results 2022-11-02 23:07:55 +01:00
Matthias Koefferlein c8e60d666c Fixed #1167 (delete_cells slow) 2022-11-01 14:57:39 +01:00
Matthias Köfferlein c021a1834c
Fixed #1173 (DXF reader compatibility issue with ezdxf) (#1174) 2022-11-01 14:28:51 +01:00
Matthias Koefferlein 9f2cf7275f Fixed display of XOR progress (wasn't properly painting the error bitmaps) 2022-11-01 14:17:37 +01:00
Matthias Koefferlein 54833db00b Added feature for computing area and perimeter from selection 2022-11-01 13:46:48 +01:00
Matthias Koefferlein 2dc5c98416 Implemented readonly for PCell line-edit parameters as QLineEdit::readOnly 2022-11-01 13:46:36 +01:00
Matthias Koefferlein 548db003ed Debugged Ruby PCellDeclarationHelper, small enhancements 2022-10-30 10:00:51 +01:00
Matthias Koefferlein b1b51d3152 Bug fix Ruby PCell declaration helper - needs testing 2022-10-30 00:23:32 +02:00
Matthias Koefferlein 8aa135b964 Python implementation of PCell helper with callback 2022-10-30 00:15:48 +02:00
Matthias Koefferlein 1b666e1cc8 Bug fixes. 2022-10-29 23:43:56 +02:00
Matthias Koefferlein 194a6f3526 Added callback helper for Ruby PCellDeclarationHelper 2022-10-29 22:38:33 +02:00
Matthias Koefferlein 0e5842d36e Fixed some qrc files, added more attributes to PCellParameterState (tool tip, readonly, icon), added option to show parameter names 2022-10-29 21:20:16 +02:00
Matthias Koefferlein d00c4a94d6 WIP: first version GSI binding for callbacks 2022-10-29 00:22:54 +02:00
Matthias Koefferlein eb8c96054c WIP: preparations for callbacks in PCell code 2022-10-28 23:41:31 +02:00
Matthias Koefferlein d82ff4d3f8 [consider merging] Fixed a problem with editing guiding shapes 2022-10-28 23:40:48 +02:00
Matthias Koefferlein e6da3fc22c WIP: callbacks for PCells 2022-10-27 00:42:28 +02:00
Matthias Koefferlein 879059f830 Package manager: show details only when enabling the 'show details' button 2022-10-26 21:28:10 +02:00
Matthias Koefferlein 6e2055b555 Removed original doc for type hints 2022-10-26 17:02:29 +02:00
Matthias Koefferlein 0262926b11 Moved __deepcopy__ implementation and NotImplemented fallback from db.__init__ to C++ implementation for better performance and generalization. Added tests 2022-10-26 10:40:20 +02:00
Matthias Koefferlein a72888e331 Enabling polymorphic re-throw, hence supporting TypeError 2022-10-24 22:03:31 +02:00
Matthias Koefferlein 2b60e2f6e9 Preventing overriding of getters by is_.. predicates 2022-10-24 21:06:03 +02:00
Matthias Koefferlein c8d86f8e73 Improved doc, enough slots for getters and setters for Qt namespace 2022-10-24 20:53:58 +02:00
Matthias Koefferlein 24c6224a84 Do not produce Python methods masked by properties. 2022-10-24 20:31:46 +02:00
Matthias Koefferlein a39d22c438 Fixed problems with reserved words 2022-10-24 19:44:28 +02: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 daad80d5d5 Synthesize getters from is_... predicates, added getter for RecursiveShapeIterator#shape_flags 2022-10-23 22:08:06 +02:00
Matthias Koefferlein be6e05da55 WIP: refactoring, added special GSI methods for Python binding 2022-10-23 19:00:41 +02:00
Matthias Koefferlein 2c18bc6c46 WIP: refactoring 2022-10-23 18:31:13 +02:00
Matthias Koefferlein d3a36e66f2 Fixed a compiler warning 2022-10-20 23:29:35 +02:00
Matthias Koefferlein fbd4c84d84 Refactoring of pya/rba/expressions
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.

The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Matthias Koefferlein 11f6eb21e0 Added ParentCellInst#dinst 2022-10-18 21:52:40 +02:00
Matthias Koefferlein 8f6603d88e Fixed unit test fails 2022-10-18 01:26:42 +02:00
Matthias Koefferlein c9c9d6198b Fixed a Qt warning 2022-10-18 01:02:58 +02:00
Matthias Koefferlein 6f80d340f1 Fixed high-DPI mode of color chooser widget, some improvements on image properties dialog (false color bar) 2022-10-18 00:53:10 +02:00
Matthias Koefferlein 60e6523c30 Some bug fixes for user-property aware RDB and antenna check enhancements 2022-10-18 00:00:29 +02:00
Matthias Koefferlein db4baf3a6d Added scanning of texts to RDB 2022-10-17 22:56:08 +02:00
Matthias Koefferlein e4131b45a3 WIP: provide a way to report user properties to RDB, added antenna rule measurements as user properties. 2022-10-17 22:29:48 +02:00
Matthias Koefferlein 2cb3e037a9 Fixed a Qt warning 2022-10-16 23:43:09 +02:00
Matthias Koefferlein 2441775b76 Fixed a segfault in the layout view tests 2022-10-16 22:21:14 +02:00
Matthias Koefferlein 6e2c17b8c1 [consider merging] Qt4 compatibility 2022-10-16 22:02:11 +02:00
Matthias Koefferlein c6e457d3d6 [consider merging] Qt4 compatibility 2022-10-16 21:53:17 +02:00
Matthias Koefferlein dc927717c2 Multi-selection in properties dialog: bugfixing and finalization 2022-10-13 23:45:21 +02:00
Matthias Koefferlein 5144f239eb Merge branch 'master' into selection-list 2022-10-13 22:47:28 +02:00
Matthias Koefferlein 48ec894b1e Merge remote-tracking branch 'origin/enhanced-tab-widget' 2022-10-13 22:46:46 +02:00
Matthias Koefferlein bc06b688ca Merge branch 'master' into selection-list 2022-10-13 09:32:16 +02:00
Matthias Koefferlein 456f42972f Fixed Qt4 builds 2022-10-13 09:28:52 +02:00
Matthias Koefferlein 4f69edb11f WIP 2022-10-12 23:38:43 +02:00
Matthias Koefferlein 5e73b0f5f8 WIP: multi-selection properties on instances 2022-10-09 23:23:47 +02:00
Matthias Koefferlein b29382bc6a Enabling Qt4 builds 2022-10-09 21:30:28 +02:00
Matthias Köfferlein 8d1dcbb04a
Fixed issue-1164 (internal error on delete cells on archlinux) (#1166)
* Fixed issue-1164 (internal error on delete cells on archlinux)

* Found another location where take_cell would spoil cell_name

Co-authored-by: matthias <matthias@klayout.de>
2022-10-09 21:27:13 +02:00
Matthias Köfferlein c9cef44108
Merge pull request #1160 from EugeneZelenko/enhanced-tab-widget
Use enhanced tab widget for file tabs to easily navigate through larg…
2022-10-09 21:26:04 +02:00
Matthias Koefferlein 1006bf6d57 WIP: more on properties dialog 2022-10-08 18:53:27 +02:00
Matthias Koefferlein 83d37d4187 Some bug fixes 2022-10-08 10:38:54 +02:00
Matthias Koefferlein b047a310c2 WIP: multi selection property dialog 2022-10-08 00:52:38 +02:00
Matthias Koefferlein fb5df27310 WIP: multi selection property dialog 2022-10-08 00:44:18 +02:00
Matthias Koefferlein 187aae2649 WIP: multi selection property dialog 2022-10-08 00:37:39 +02:00
Matthias Koefferlein 43c7e87cc0 Fixed 'run.png' icon which should be 'run_16px.png' 2022-10-07 00:52:06 +02:00
Matthias Koefferlein 62e0d83b3a WIP: further development on selection tree on objects dialog 2022-10-07 00:44:12 +02:00
Matthias Koefferlein 56bdf3b2e0 WIP: Fixed colors of logo letters 2022-10-07 00:43:52 +02:00
Matthias Koefferlein eb004e45e1 WIP: generalized interface of properties page 2022-10-06 21:31:16 +02:00
Matthias Koefferlein ddff1f564f Provide high-res version of logo 2022-10-05 23:50:43 +02:00
Matthias Koefferlein 95686ea630 Modified 'close all except/left/right' to be effective on the tab the mouse points at. 2022-10-05 22:27:13 +02:00
Matthias Koefferlein 774b008417 Fixed a build error 2022-10-05 21:45:22 +02:00
Matthias Koefferlein 0c73b11f9b Added a convenience version for GenericDeviceExtractor#define_terminal which takes terminal and layer names 2022-10-03 22:02:13 +02:00
Matthias Koefferlein 2c96cc2a41 Salt package installation/uninstallation even and hooks. 2022-10-02 19:33:21 +02:00
Matthias Koefferlein 3b6ef57ddc Cross size in marked mode now scales with resolution 2022-10-01 23:22:36 +02:00
Matthias Koefferlein 914ad98858 Ruler edge marker is now visible also for scaling > 1 2022-10-01 21:59:34 +02:00
Matthias Koefferlein e4830b98b3 Small bugfixes 2022-10-01 19:52:12 +02:00
Matthias Koefferlein 1bff5c1ac3 WIP: layer icons now follow oversampling and high-resolution mode, new GSI method to fetch layer icon: LayoutView#icon_for_layer 2022-10-01 19:20:06 +02:00
Matthias Koefferlein 00e78eb76c Highres mode config option - display utilizes full pixel density 2022-10-01 16:24:05 +02:00
Matthias Koefferlein 4e4f316b71 Updated doc. 2022-10-01 13:33:53 +02:00
Matthias Koefferlein eedfc7c00f Doc update, tests for new annotation features 2022-10-01 13:04:25 +02:00
Matthias Koefferlein 069c3e6447 WIP: proper selection of angle and radius rulers 2022-10-01 12:39:05 +02:00
Matthias Koefferlein 1660a72b5a WIP: restored logo on 'About' page 2022-10-01 01:45:47 +02:00
Matthias Koefferlein 1057c0f268 WIP: debugging of radius rulers 2022-10-01 01:38:18 +02:00
Matthias Koefferlein 996f0d75e5 WIP: debugging of angle ruler, display options implemented 2022-10-01 00:43:29 +02:00
Matthias Koefferlein 8415e075ad WIP: angle measurement ruler, radius measurement one. Needs improvement 2022-09-28 23:58:34 +02:00
Matthias Koefferlein d2d321c35b WIP: point editing of multi-segment rulers 2022-09-28 21:16:47 +02:00
Matthias Koefferlein 8cbe5a2359 WIP: debugging, first implementation of new templates 2022-09-28 00:37:37 +02:00
Matthias Koefferlein 79102d399e WIP: enhancements, debugging of multi-segment rulers setup 2022-09-27 22:56:34 +02:00
Matthias Koefferlein 1c8a99fa26 WIP: some bug fixing 2022-09-26 23:52:32 +02:00
Matthias Koefferlein d1b7cd1f8f WIP: first steps towards multi-segment rulers 2022-09-26 23:37:22 +02:00
Matthias Koefferlein 7b4b345cf4 Multiple stacks for net tracer - finished selection box in net tracer dialog 2022-09-25 19:10:30 +02:00
Matthias Koefferlein 511f55d4da WIP: refined solution - some bug fixes, XML file is backward compatible now 2022-09-25 16:33:23 +02:00
Matthias Koefferlein 8919916da9 WIP: some debugging 2022-09-25 11:22:45 +02:00
Matthias Koefferlein 2505ebb9a3 WIP: some debugging 2022-09-25 10:53:23 +02:00
Matthias Koefferlein 40786d13e0 WIP: added missing files 2022-09-25 00:36:29 +02:00
Matthias Koefferlein 293f26ddc0 WIP: multiple tech stacks for net tracer, first steps 2022-09-25 00:35:59 +02:00
Matthias Koefferlein 42de46caf2 Added close left/right and clone to view tab's context menu too 2022-09-24 20:48:02 +02:00
Matthias Koefferlein 35aaf63051 As suggested by Eugene: close left/close right added to macro editor's tab tab ... layout views will follow 2022-09-24 19:53:31 +02:00
Matthias Koefferlein ab9fe57ec3 Modified the original solution somewhat
1. Provide a menu icon in SVG (24x24px and 16x16px for later use elsewhere)
2. Proposing a solution based on QTabBar again
   - Rationale: the QTabWidget is intended as container for widgets but
     in our case it is not (the ViewStack will handle this). I am worried
     about the implications, specifically as there are widgets added during
     insertTab which are also added to the view stack container.
     Apart from that the visual effect is somewhat ugly.
   - The menu button is not part of the EnhancedTabBar as it does not
     provide a corner widget. But it is available as "visually detached"
     sub-widget and the main window can build a HBoxLayout for it.
3. Correspondingly renaming EnhancedTabWidget to EnhancedTabBar
4. I ported the "close all" and "close all except" feature from the
   macro editor's tabs to the view tab bar as I think this fits nicely
   into this enhancement.
2022-09-23 23:31:23 +02:00
Matthias Koefferlein c8889504e6 Enabling high-DPI scaling in QApplication 2022-09-23 22:20:14 +02:00
Matthias Koefferlein 1107e5bacc Added doc and icon to dependencies. 2022-09-23 22:17:50 +02:00
Matthias Koefferlein 836cb9f6f6 Added doc and icon to dependencies. 2022-09-23 22:01:38 +02:00
Matthias Koefferlein 4236360620 Added doc and icon to dependencies. 2022-09-23 22:00:33 +02:00
Eugene Zelenko ef6b0f52d7 Use enhanced tab widget for file tabs to easily navigate through large number of opened files. 2022-09-22 17:43:32 -07:00
Matthias Koefferlein b8263d2529 Fixed #1159 (valgrind error) 2022-09-22 21:17:51 +02:00
Matthias Koefferlein db37bdd5e7 Enabling high-DPI scaling in QApplication 2022-09-22 21:13:23 +02:00
Matthias Köfferlein 0993de418e
Merge pull request #1156 from KLayout/resources-rework
Resources rework
2022-09-21 22:16:58 +02:00
Zopolis4 8f940c1679
Restrict overmatching MACH ifdef to only trigger on OSX and Mach 2022-09-21 16:52:25 +10:00
Matthias Koefferlein 04d0c7f898 Fixed builds 2022-09-19 18:08:34 +02:00
Matthias Koefferlein 4381f29945 Fixed builds 2022-09-19 01:05:45 +02:00
Matthias Koefferlein c9f4dac931 Fixed builds 2022-09-19 01:02:18 +02:00
Matthias Koefferlein ee3facfa13 Fixed printout 2022-09-18 21:53:38 +02:00
Matthias Koefferlein 029284f48a Some refactoring, layer icons are scaled for high DPI too now. 2022-09-18 20:56:37 +02:00
Matthias Koefferlein a6d4cdd254 More scaled pixmaps for dither pattern icons 2022-09-18 18:02:37 +02:00
Matthias Koefferlein e5fabb2b13 Using scaled dither pattern pixmaps in the UI elements 2022-09-18 17:37:49 +02:00
Matthias Koefferlein 48e3643a87 Attempting extrapolation of fill pattern 2022-09-18 16:09:11 +02:00
Matthias Koefferlein ef5cd11629 Properly scaling line width for high-DPI displays 2022-09-18 13:19:52 +02:00
Matthias Koefferlein f32da6aa87 Properly scaling line width for high-DPI displays 2022-09-18 12:19:06 +02:00
Matthias Koefferlein 86f9fbe9e7 Fixed palette buttons. 2022-09-17 23:11:19 +02:00
Matthias Koefferlein 8e480a0236 Changed pixmaps to 2x versions for high-DPI support 2022-09-17 22:13:16 +02:00
Matthias Koefferlein cf50b38090 Corrected resource file paths 2022-09-17 21:00:36 +02:00
Matthias Koefferlein 3172c1c4bc More icons turned into SVG 2022-09-17 17:37:42 +02:00
Matthias Koefferlein 84061b8362 More icons turned into SVG 2022-09-17 16:53:05 +02:00
Matthias Koefferlein 708214fa0d More icons turned into SVG 2022-09-17 16:19:50 +02:00
Matthias Koefferlein f0e692f8ed More icons turned into SVG 2022-09-17 15:55:42 +02:00
Matthias Koefferlein 7fe16df8ef More icons turned into SVG 2022-09-17 15:33:29 +02:00
Matthias Koefferlein 2635ca06af More icons turned into SVG 2022-09-17 15:28:06 +02:00
Matthias Koefferlein 188ae060be More icons converted 2022-09-17 02:06:24 +02:00
Matthias Koefferlein 85af2d35e8 More images to SVG 2022-09-17 01:40:02 +02:00
Matthias Koefferlein f598348046 More images to SVG 2022-09-17 01:25:46 +02:00
Matthias Koefferlein 2ae82af73a More icons to SVG 2022-09-17 00:00:28 +02:00
Matthias Koefferlein 306c8b789c More icons turned into SVG 2022-09-16 23:47:40 +02:00
Matthias Koefferlein 5c8c918fb9 More icons as SVG 2022-09-14 23:42:08 +02:00
Matthias Koefferlein 4ebe51fb05 More icons as SVG; small fixes to image landmark editor. 2022-09-14 23:32:03 +02:00
Matthias Koefferlein c7006898a6 More icons as SVG 2022-09-14 22:47:39 +02:00
Matthias Koefferlein 164748be22 More icons as SVG 2022-09-14 22:35:55 +02:00
Matthias Koefferlein fdfacd8532 More icons as SVG 2022-09-14 22:29:29 +02:00
Matthias Koefferlein 9454d6289d New icons turned to SVG 2022-09-14 21:37:24 +02:00
Matthias Koefferlein 0a9c396ae3 More icons turned into SVG 2022-09-14 21:25:59 +02:00
Matthias Koefferlein 22bbb4b320 More icons translated to SVG 2022-09-13 23:53:11 +02:00
Matthias Koefferlein a5b34037ab New icons translated 2022-09-13 18:23:47 +02:00
Matthias Koefferlein 878389e858 More icons transferred to SVG 2022-09-13 01:12:09 +02:00
Matthias Koefferlein 438a3c50e3 One more icon translated to SVG 2022-09-13 00:40:30 +02:00
Matthias Koefferlein faed280289 More icons translated to SVG 2022-09-13 00:29:16 +02:00
Matthias Koefferlein 1b8bf1f76d More icons translated 2022-09-12 23:14:49 +02:00
Matthias Koefferlein a3fe8cc49d More icons translated 2022-09-12 22:51:29 +02:00
Matthias Koefferlein 50e64c9c65 More icons translated to SVG 2022-09-12 22:13:50 +02:00
Matthias Koefferlein d881933840 More icons converted to SVG 2022-09-12 21:55:35 +02:00
Matthias Koefferlein 55bfb0d118 More icons converted to SVG 2022-09-12 20:30:09 +02:00
Matthias Koefferlein 212d9d2d27 Removed unused PNGs 2022-09-12 01:00:31 +02:00
Matthias Koefferlein 0a67691b3a [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:54:44 +02:00
Matthias Koefferlein 3c2092bdc2 [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:53:50 +02:00
Matthias Koefferlein 13d11ac714 More icons switched to SVG 2022-09-12 00:39:55 +02:00
Matthias Koefferlein e460314090 Deploying more SVG based icons 2022-09-11 22:02:10 +02:00
Matthias Koefferlein 4a241cc36c Deploying first high-res icons, enabled high-dpi icon scaling 2022-09-11 21:07:48 +02:00
Matthias Koefferlein 4f125d3768 More SVG images 2022-09-11 18:30:06 +02:00
Matthias Koefferlein 92fc8bbafc First SVG versions of icons 2022-09-11 18:25:00 +02:00
Matthias Koefferlein 2d17d87063 Added an extra target for updating DRC/LVS doc 2022-09-11 11:34:56 +02:00
Matthias Koefferlein 3b2efddd28 Refreshing DRC+LVS doc 2022-09-11 11:13:29 +02:00
Matthias Koefferlein 25c5b2f057 Refactoring of resources -> separate folders for doc and icons 2022-09-11 11:09:14 +02:00
Matthias Köfferlein 769b16ea3f
Issue 1145 (#1151)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Enhanced Shapes::is_valid so it's more reliable in detecting invalid shape objects.

* ObjectInstPath now has a validity attribute

* First implementation of solution for edtService (partial service to follow)

* Validating selection also for Partial Edit mode
2022-09-05 23:35:21 +02:00
Matthias Köfferlein 390cac87d3
Issue 1097 (#1148)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Implemented #1097 (discourage file compression, use CBLOCK)

* A warning is printed if file compression is enabled on OASIS
* A hint is present in the writer options
* CBLOCK is default (with fresh config) and for buddy tools
  (use --cblock=false to disable it)

* Strict mode is default too.

* Updated tests
2022-09-05 23:34:53 +02:00
Matthias Köfferlein 9ebb923d83
Issue 1144 (#1150)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Avoids a segfault during drawing: make sure the cell bbox update is not triggered in the drawing thread before it is stopped

* Fixed #1144 (wrong layer taken on copy layer)
2022-09-05 20:31:13 +02:00
Matthias Köfferlein f6c5062c71
Issue 1143 (#1149)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Fixed issue #1143 (technology default DBU not taken)
2022-09-05 20:30:57 +02:00
Matthias Köfferlein 7a9e9989d3
Merge pull request #1147 from KLayout/wip
Wip
2022-09-04 09:08:08 +02:00
Matthias Köfferlein e343939aaf
Merge pull request #1139 from KLayout/issue-1138
Issue 1138 (switch to suppress warnings on DXF reader - and other readers)
2022-09-04 09:07:51 +02:00
Matthias Koefferlein 8bf251b0c9 Removed some unused code 2022-09-04 00:25:24 +02:00
Matthias Koefferlein fd30881ace Proper cleanup avoid segfaults on exit 2022-09-03 23:36:31 +02:00
Matthias Koefferlein 290cd39ad9 Bugfix: consider device pixel ratio for layout canvas 2022-09-03 23:27:07 +02:00
Matthias Koefferlein 070ef54c66 Avoid a segfault with layout views without manager 2022-09-03 23:05:08 +02:00
Matthias Koefferlein 8dd002bd0f More enhancements to support LayoutView as widget 2022-09-03 22:53:01 +02:00
Matthias Koefferlein a9ef337c3b Layer toolbox is a view component now - that means it changes with the view. 2022-09-03 18:28:17 +02:00
Matthias Koefferlein 81eab3f1db More safety against deleting view in view widget 2022-09-03 16:59:27 +02:00
Matthias Koefferlein 0bbf4ad81c Properly selecting toolbar actions (Qt 5.15?) 2022-09-03 16:59:17 +02:00
Matthias Koefferlein f788818d12 Some more refactoring - further abstracting layout view from container widget 2022-09-03 01:48:50 +02:00
Matthias Koefferlein ec9f91b3d4 Fixed Qt binding build. 2022-09-02 00:56:59 +02:00
Matthias Koefferlein 3c53950eaa Rework needed for LayoutView management
The application got unstable on exit under various conditions
(e.g. LayoutView created in script). Reason was the ownership
management of LayoutView which interfered with Qt widget
lifetime management.

The solution now is based on a clean widget/view hierarchy
and a consistent plugin parent/child relationship.

In addition, a new class is enabled which allows creating
a true QWidget (rather QFrame) for a LayoutView again.
2022-09-02 00:47:21 +02:00
Matthias Koefferlein 0248834afb Qt4 compatibility 2022-09-01 19:35:18 +02:00
Thomas Ferreira de Lima 4d4f4b643b Added python stubs with type hinting and documentation. (#1125)
* Added python stubs with type hinting and documentation.

The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)

* created tl ArgType to python type translator

* Fixing a pyaModule.cc bug

* almost finished stubgen

* fixing little bug in classes defined within classes

* Release version of the stubgen script. Good enough for release.

* Adding notes

* Including stubs when installing from source

* typechecking bugfix: missed checking is_iter()

* Cleaning up unused code for merge review

* Including stubs when installing from source (part deux)

* Putting the GenericDeviceExtractor name setting into the right place.

* Updating python stubs

Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
2022-09-01 00:41:42 +02:00
Matthias Koefferlein cb3369e9be Merge remote-tracking branch 'origin/master' into wip 2022-09-01 00:27:33 +02:00
Matthias Koefferlein 50f6a1c270 Employ Qt 5.15 to hide LVS tabs in netlist browser 2022-09-01 00:26:27 +02:00
Matthias Koefferlein a81bca43a6 Added cmath include as suggested for Slackware 2022-08-31 23:56:53 +02:00
Matthias Koefferlein c720e2d3eb New DRC features:
* inside, not_inside, outside, not_outside (edge/edge, edge/polygon)
* related select_*
* split_inside, split_outside (edge/edge, edge/polygon)
* andnot (edge/edge, edge/polygon)
* inside_outside_part (edge/polygon)
2022-08-31 23:38:23 +02:00
Matthias Koefferlein 81b605c197 DRC implementation + doc update 2022-08-31 22:39:05 +02:00
Matthias Koefferlein bb0d4a6ecc GSI binding of new Edges features 2022-08-30 23:03:43 +02:00
Matthias Koefferlein 32928b583c Bug fixes (border cases), tests 2022-08-30 22:12:30 +02:00
Matthias Koefferlein 34f6e7bdba Bug fixes, tests 2022-08-30 20:43:32 +02:00
Matthias Koefferlein 5662f962d2 Bug fixes, tests. 2022-08-30 00:53:14 +02:00
Matthias Koefferlein e591d205c7 Bug fixes, tests. 2022-08-30 00:23:22 +02:00
Matthias Koefferlein f92d86a1e1 Bug fixes 2022-08-29 23:47:24 +02:00
Matthias Koefferlein aa267744dc Exposed more functions for db::Edges, more tests, debugging 2022-08-29 22:48:17 +02:00
Matthias Koefferlein bf91938133 Bug fixes, tests. 2022-08-29 22:17:37 +02:00
Matthias Koefferlein 956a27ec69 First implementation 2022-08-29 19:51:19 +02:00
Matthias Koefferlein 4af9b8b01c WIP: predicates for Edges implementation 2022-08-28 23:35:45 +02:00
Matthias Koefferlein 0b59697189 First new test 2022-08-27 22:28:15 +02:00
Matthias Koefferlein 728d60a510 More generic 'join' function for string sequences 2022-08-27 22:27:59 +02:00
Matthias Koefferlein a6ad6c8866 Comment update 2022-08-27 22:12:22 +02:00
Matthias Koefferlein a47bb67fd4 Removed unused code 2022-08-27 22:11:40 +02:00
Matthias Koefferlein 318a462cb4 WIP: first code pieces 2022-08-27 21:31:40 +02:00
Matthias Koefferlein d2ab4fc743 Doc updates. 2022-08-27 18:02:56 +02:00
Matthias Koefferlein 69617e8006 bbox_with_layer -> bbox 2022-08-27 17:58:17 +02:00
Matthias Koefferlein 67d8518926 Shapes#cell and Shapes#layout 2022-08-27 17:51:14 +02:00
Matthias Koefferlein e7177261ad LayerMap#map and mmap with optional log layer 2022-08-27 17:38:48 +02:00
Matthias Koefferlein 1f954d8758 Cell#read 2022-08-27 17:23:11 +02:00
Matthias Koefferlein f590d39c19 CellMapping: documentation, some convenience bindings 2022-08-27 15:38:10 +02:00
Matthias Koefferlein 7c776779a6 Bugfix: D25 view background color synchronized with layout view now 2022-08-27 14:09:09 +02:00
Matthias Koefferlein 5613ef1089 Bugfix: ruler menu was not initialized properly when not having configure templates 2022-08-22 22:09:08 +02:00
Matthias Koefferlein 5b40d86527 Bugfix: menu system wasn't working properly with menu tool buttons 2022-08-16 23:00:31 +02:00
Matthias Koefferlein 9ee5730b60 WIP: small patch avoiding generation of freaky files with fake-windows paths on Linux 2022-08-16 22:15:21 +02:00
Matthias Koefferlein 46364c2420 [consider merging] Reader format error with details showing dump or text 2022-08-16 21:56:07 +02:00
Matthias Koefferlein 49fe816294 More elaborate doc for transformations 2022-08-16 20:42:10 +02:00
Matthias Koefferlein e1552afcae Menu system: menu opening event, insert_menu variant with Action argument, clear_menu method, icon setter with QIcon 2022-08-15 23:43:45 +02:00
Matthias Koefferlein 21b14706dd data: URLs for abstract paths 2022-08-15 16:58:44 +02:00
Matthias Koefferlein 1099a3d7bb Implemented warn_level for all readers so warnings can be turned off 2022-08-13 22:15:07 +02:00
Matthias Koefferlein 90df9451b6 WIP: reworked log enabling in LVS, added 'no_lvs_hints' feature, updated tests 2022-08-13 18:30:02 +02:00
Matthias Koefferlein fd008b3810 WIP: more LVS hints 2022-08-13 01:46:12 +02:00
Matthias Koefferlein 47ec9a706b WIP: enhanced and debugged LVS hints 2022-08-13 01:36:25 +02:00
Matthias Koefferlein 829f78de8b WIP: attempting to produce reasonable messages on LVS mismatch (short detection) 2022-08-12 00:09:50 +02:00
Matthias Koefferlein 526f1aeacc [Consider merging] provide an option to produce antenna DRC debug output 2022-08-11 01:02:45 +02:00
Matthias Koefferlein 1d88e65689 [Consider merging] Fixed file content of test data - .oas is OASIS, .gds is GDSII 2022-08-10 21:48:00 +02:00
Matthias Koefferlein 0b0e440781 [Consider merging] method name parser exception for *= method (not seen as protected '=') 2022-08-10 21:05:34 +02:00
Matthias Koefferlein 38d2b8378d Merge remote-tracking branch 'origin/master' into wip 2022-08-10 20:40:27 +02:00
Matthias Köfferlein 7ffdc211e5
Fixed issue-1135 (LVS mismatch on parallel devices) (#1136)
* Fixed issue-1135 (LVS mismatch on parallel devices)

The fix consists of a more elaborate device identity analysis
following the topological matching. In this step, the devices
are identified according to their connections and parameters.
It is important to properly identify devices taking their
parameters into account as well as their connections.

* Second part of issue fixed (inverter chain ambiguity)

* Added test

* Updated tests

* Updated golden test results

* Updated golden test data for Windows

Co-authored-by: klayoutmatthias <matthias@klayout.org>
2022-08-10 20:27:11 +02:00
Matthias Koefferlein d48792a942 Trying to establish first log abilities to LVS compare 2022-08-10 00:41:19 +02:00
Matthias Koefferlein b1cbafbac0 WIP: netlist browser log viewer 2022-08-09 01:11:28 +02:00
Matthias Koefferlein 83946620d9 [Consider merging] fixed a bug in netlist browser reload 2022-08-09 01:11:03 +02:00
Matthias Koefferlein 2569527c3c WIP: Schematic netlist participates in net highlighting if applicable 2022-08-08 23:27:22 +02:00
Matthias Koefferlein 1e3ce081d4 WIP: bugfixed schematic netlist view 2022-08-08 22:23:01 +02:00
Matthias Koefferlein 51b521f2b7 WIP: enabling schematic view of netlist - needs debugging 2022-08-07 23:41:29 +02:00
Matthias Koefferlein de026fac86 WIP: debugging 2022-08-07 23:10:09 +02:00
Matthias Koefferlein 16341bdd1b WIP: bug fixing 2022-08-07 22:29:02 +02:00
Matthias Koefferlein 8029302e08 WIP: started integrating log view in netlist browser 2022-08-07 22:02:22 +02:00
Matthias Koefferlein 2e7524a0fe WIP: added tree model for log view for netlist browser 2022-08-07 19:41:56 +02:00
Matthias Koefferlein e1882b0de7 WIP: refactoring of L2N/LVSDB writer 2022-08-07 17:38:06 +02:00
Matthias Koefferlein 0083021220 [Consider merging] Some refactoring of L2N and LVSDB readers for more future compatibility 2022-08-07 00:24:05 +02:00
Matthias Koefferlein 9d36b3c71a Merge branch 'master' into wip 2022-08-06 18:52:41 +02:00
Matthias Koefferlein 42ddd07bfe Introducing 'close all' and 'close all except' for macro editor tabs, avoid one additional entry on the edit trace stack when raising an exception 2022-08-02 22:51:32 +02:00
Matthias Koefferlein 5e3358d6b1 Fixed #1131 fix 2022-08-01 23:11:17 +02:00
Matthias Koefferlein bfeb60986c Merge remote-tracking branch 'origin/msvc-building-with-debug' 2022-08-01 19:02:31 +02:00
Matthias Koefferlein 40b4b22f02 Added variants for CellInstArray constructor that take a Cell reference 2022-08-01 19:01:41 +02:00
Matthias Koefferlein 545ff11899 Merge branch 'master' of github.com:KLayout/klayout into wip 2022-08-01 18:50:48 +02:00
Matthias Köfferlein 716369de63
Issue 1126 (#1128)
* First attempt to fix. Rather experimental.

* Debugging and bug fixing

The basic issue was a missing break
However, correct computation of cache results for instance-to-instance cluster
interaction is implemented
Plus: identical and overlapping instances are no longer ignored except in the
case of exact duplicates. Otherwise these instance generate dead nets which
are not connected elsewhere.

* Added tests, fixed duplicate cells test, added missing files.

* Code simplification (removed invariant from transformation in cluster-to-cluster interaction cache)

* Skipping cell instance duplicates as some real-world testcases mandate so

* Updated test data
2022-08-01 18:50:07 +02:00
Matthias Köfferlein 801ef78990
Fixed issue-1131 (do not show non-existing files in MRU lists) (#1133)
* Fixed issue-1131 (do not show files in MRU lists which do no longer exist)

The solution consists of an extension of the Action system allowing to
dynamically hide or disable items. This currently works for menu items only.

This feature is used to dynamically *disable* (as of now, not hiding)
items from the four MRU lists corresponding to non-existing files.

In addition, a "clear list" menu has been added to the MRU lists.

* Small enhancement: file names can be URIs
2022-08-01 18:49:42 +02:00
Matthias Köfferlein e2f9015c26
Fixed issue #1132 by taking the first point of paths and polygons instead of center (center is still taken if the polygon is a rectangle) (#1134) 2022-08-01 18:47:20 +02:00
Matthias Koefferlein 429e43fe37 Fixed Qt-less LayoutView (removed QWidget as base class which is no longer true) 2022-07-31 00:11:20 +02:00
Matthias Koefferlein 3c5ca36081 [Consider merging] fixed a potential race condition with invalid Shapes container after clear 2022-07-31 00:10:36 +02:00
Matthias Koefferlein 43101ded7f More consistent handling of exceptions and their display in the Ruby debugger - without triggering too many breakpoints on rethrow and showing the reason for exceptions arising from argument errors 2022-07-30 19:28:14 +02:00
Matthias Koefferlein 590c4a6b31 Argument numbers/names for Ruby too 2022-07-30 01:32:27 +02:00
Matthias Koefferlein 7d078ed041 Express argument details in Python call errors 2022-07-29 23:58:19 +02:00
Matthias Koefferlein 82fe920ac9 Merge branch 'wip' 2022-07-29 22:31:42 +02:00
klayoutmatthias 1b728f1067 Removed duplicated method declarations in LayoutViewBase 2022-07-28 20:52:19 +02:00
klayoutmatthias bca7486082 [Consider merging] object lifetime problem with QLatin1String and GSI fixed 2022-07-26 21:02:48 +02:00
klayoutmatthias 5a9e3f9188 [Consider merging] One more iterator issue fixed 2022-07-26 21:02:17 +02:00
klayoutmatthias 0401f3b89c Fixed a non-problem that pops up with iterator assertions 2022-07-26 08:28:22 +02:00
klayoutmatthias 50a863bb26 [Consider merging] Fixed a potential memory corruption problem 2022-07-26 00:13:26 +02:00
klayoutmatthias da398e77fd [Consider merging] avoid a memory corruption issue in Netlist::flatten 2022-07-25 22:03:01 +02:00
klayoutmatthias 167bcbcc5f Enabling MSVC debug builds with iterator debugging on 2022-07-25 21:06:56 +02:00
Matthias Koefferlein 17f8a92a66 Fixed a memory corruption problem 2022-07-20 00:04:08 +02:00
Matthias Koefferlein 7999468bb9 Issue #1122 - avoid error messages which are confusing. 2022-07-18 00:18:10 +02:00
Matthias Koefferlein 24e8db996c Avoid a segfault on exit 2022-07-18 00:16:56 +02:00
Matthias Köfferlein 6ba372f1a9
Issue 1114 (#1121)
* Two patches to enable building on MSYS with gcc 12.1

1. Complete explicit instantiations in dbHierProcessor
2. Strict weak ordering is not present for std::type_info
   (using "before" on gcc 12.1). We need to work with plain
   pointers and use a translation table to associate pointers
   with classes.

* Fixed another place where std::type_info got important

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2022-07-17 19:59:49 +02:00
Matthias Köfferlein b1661d3c5e
Issue 1106 (#1107)
* Help browser problem mitigation: on Qt6 (?), QTextBrowser appears to be reloading images relative to the new URL on a URL change. This caused 'missing resource' exceptions. As long as the root cause of this problem is not know, the exceptions are turned into log errors now.

* Fixed issue 1106
2022-07-17 19:59:29 +02:00
Matthias Koefferlein 682cc0e491 More safeguards against crashes in the absence of a Manager object 2022-07-09 20:13:40 +02:00
Matthias Koefferlein f7ef538f34 Merge branch 'master' of github.com:KLayout/klayout 2022-07-08 01:35:59 +02:00
Matthias Koefferlein 8cdf060159 Prevent segfaults with rulers when there is no manager object 2022-07-08 01:35:39 +02:00
Matthias Koefferlein 26901454c4 Fixed a doc typo 2022-07-04 13:41:30 +02:00
Matthias Koefferlein 75d686a63f Changing default "is_merged" status for Edges and Region to false.
This was a problem with universal DRC which does not specifically
set the merged status. Furthermore, the default for DeepRegion and
DeepEdges was "false" already and now is aligned.
2022-07-04 00:52:55 +02:00
Matthias Koefferlein c700d2ed97 Better LVS template - align needs to come before simplify 2022-07-03 09:40:17 +02:00
Matthias Köfferlein 2f8a7149d3
Fixed issue-1111 (#1112) 2022-07-03 09:35:40 +02:00
Matthias Koefferlein c227cb9ef3 Small bug fix - constness was not intended for Device#net_for_terminal on non-const mode 2022-07-03 00:08:14 +02:00
Matthias Koefferlein b0268b62b0 Fixed a PR 1103 2022-07-02 23:15:44 +02:00
Balint Cristian 8705de49f7
Support python 3.11 changes. (#1104) 2022-06-29 00:58:23 +02:00
Niko Savola 241815e83c
Add setting to disable Save Needed dialog box (#1103)
* Add setting to disable Save Needed dialog box

* Add `m_always_exit_without_saving` to `MainWindow`
2022-06-29 00:26:52 +02:00
Matthias Koefferlein 0edeac2efa WIP 2022-06-26 23:06:29 +02:00
Matthias Koefferlein 47c9243c04 WIP 2022-06-26 21:16:34 +02:00
Matthias Koefferlein bed9ac94b0 WIP 2022-06-26 18:03:15 +02:00
Matthias Koefferlein 77b42980b6 WIP 2022-06-26 01:50:45 +02:00
Matthias Koefferlein 91c85172e3 WIP 2022-06-26 01:33:49 +02:00
Matthias Koefferlein 43b63923a7 WIP 2022-06-26 01:00:33 +02:00
Matthias Koefferlein 4ad9e98b7b Merge branch 'master' into performance 2022-06-25 22:32:47 +02:00
Matthias Koefferlein e5125160fb Merge branch 'master' of github.com:KLayout/klayout 2022-06-25 22:32:22 +02:00
Matthias Koefferlein 1930018f8f First attempt to implement DRC checks without merging - still required with certain options and not enabled to generic DRC function yet. 2022-06-25 21:40:44 +02:00
Matthias Koefferlein 959b5fe799 Faster hash of shape references (need to see what that is doing to test results) 2022-06-25 20:02:41 +02:00
Matthias Koefferlein d8f3c522c9 Removed a performance bottleneck (do not invalidate cache that often of inst to shape interaction computation) 2022-06-25 20:02:15 +02:00
Matthias Koefferlein d60b7562ab Bugfix: macro folders have not been parsed correctly 2022-06-25 10:45:43 +02:00
Matthias Köfferlein 55cb6f72f9
Merge pull request #1100 from KLayout/issue-1098
Issue 1098
2022-06-19 22:38:30 +02:00
Matthias Koefferlein ca11bce155 Bugfix: tab title did not change on 'save as' 2022-06-19 14:30:05 +02:00
Matthias Koefferlein 555d32f280 Bugfix: net color was not properly set in net tracer 2022-06-18 16:58:55 +02:00
Matthias Koefferlein 334540f660 Normalization of CellInstArray upon creation (GSI) 2022-06-18 13:48:04 +02:00
Matthias Koefferlein f6c0959b6b Implemented ortho snap for ruler move (as a whole) 2022-06-14 23:49:54 +02:00
Matthias Koefferlein 488dc561de Fixed a problem in deep XOR mode (wrong size implementation for tolerances) 2022-06-14 22:56:15 +02:00
Matthias Köfferlein 7a5737d55f
Merge pull request #1087 from KLayout/qtless-canvas2
Qtless canvas2
2022-06-14 22:51:57 +02:00
Matthias Koefferlein 5aa9f5ba13 Fixed some unit tests 2022-06-12 14:00:06 +02:00
Matthias Koefferlein 51be84ebc1 Avoid segfaults in batch mode 2022-06-11 00:41:06 +02:00
Matthias Koefferlein a853ed904f API enhancements for annotation template management 2022-06-09 00:14:32 +02:00
Matthias Koefferlein 84cdefccf6 [MERGE] fixed variable view in debugger (Qt5?) 2022-06-09 00:14:06 +02:00
Matthias Koefferlein e2d5595243 Trying to fix Windows unit tests 2022-06-08 21:24:38 +02:00
Matthias Koefferlein 1020eb6e99 Basically enabling AbstractMenu in non-Qt mode
As a way to trigger actions inside the layout view
and plugins.

Right now, the layout view's menu is only a rudimentary one
as it lacks the top-level menus usually provided by the main window.
2022-06-07 23:28:10 +02:00
Matthias Koefferlein ac5c66400d Added ability to query modes and issue menu commands to LayoutView in non-Qt case. 2022-06-06 23:04:31 +02:00
Matthias Koefferlein 184c66b781 Provide a default configuration for LayoutView also in the non-Qt case 2022-06-02 23:55:40 +02:00
Matthias Koefferlein 91b642285d Decoupling tl, gsi and rdb libraries from Qt bindings to enable lean strmrun application 2022-06-01 22:42:55 +02:00
Matthias Koefferlein 254a44a133 Fixed a refactoring error 2022-06-01 00:08:02 +02:00
Matthias Köfferlein 17e643ce5b
Fixed #1086 (problems showing handle of a single circle) (#1089) 2022-05-31 00:22:42 +02:00
Matthias Köfferlein 4cbd28fd23
First implementation of issue-1075 fix: when editing a layer spec, the PCell parameters are analyzed and PCells are rewritten accordingly. (#1088) 2022-05-31 00:22:32 +02:00
Matthias Koefferlein b95027a21b Refactoring: lay::PixelBuffer, BitmapBuffer -> tl, added image functions to RdbItem in GSI 2022-05-31 00:20:47 +02:00
Matthias Koefferlein 62bbef53ac Refactoring: layColor -> tlColor 2022-05-30 23:21:32 +02:00
Matthias Koefferlein 84cf60dbb7 Preparations for rdb image API: base64 encoder and decoder without Qt 2022-05-29 21:50:23 +02:00
Matthias Koefferlein b8fa458ad6 Small add-on: -rr option for application 2022-05-29 20:15:56 +02:00