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