Commit Graph

5613 Commits

Author SHA1 Message Date
Matthias Koefferlein ddbb138872 Fixed issue #1967 (Net tracer bug) 2025-01-11 21:47:33 +01:00
Matthias Koefferlein 73dc31244a Merge branch 'master' into devel 2025-01-04 21:51:37 +01:00
Matthias Koefferlein bccf68504f Implemented a solution for #1963 (locking cells)
A cell can be locked using
  cell.locked = true
and unlocked again using
  cell.locked = false
Also, cell.is_locked? can be used to test the locked state.

In locked state writing shapes and instances is forbidden
and doing so would raise an exception.

Also, cells cannot be deleted when locked. However, Layout#clear
and Layout#_destroy are always available.

Cells can still be renamed, even if locked.
2025-01-04 21:44:11 +01:00
Matthias Koefferlein 2d5ddd794c Merge branch 'master' of github.com:KLayout/klayout 2025-01-04 19:36:43 +01:00
Matthias Köfferlein 53d290c1f8
Merge pull request #1960 from KLayout/bugfix/issue-1959
Fixing issue #1959
2025-01-04 19:35:48 +01:00
Matthias Köfferlein 64bfe9f118
Merge pull request #1958 from KLayout/bugfix/issue-1953
Fixing bug #1953 (inconsistent behavior of callback) maybe
2025-01-04 19:35:36 +01:00
Matthias Köfferlein 9e98b0de63
Merge pull request #1956 from KLayout/bugfix/issue-1955
Fixing bug #1955
2025-01-04 19:35:23 +01:00
Matthias Koefferlein 5d57cb5eed Updating copyright to 2025 2025-01-04 19:32:33 +01:00
Matthias Koefferlein c9da9dc6e0 Updating copyright to 2025 2025-01-04 19:28:56 +01:00
Matthias Koefferlein 826b811249 More generic object-with-properties GSI methods 2025-01-04 19:24:32 +01:00
Matthias Koefferlein 322b9419ad API harmonization (scaled method) 2025-01-04 19:24:18 +01:00
Matthias Koefferlein d036791cec For consistency: Edge::scaled returns a DEdge now 2025-01-04 19:23:17 +01:00
Matthias Koefferlein 233d70d085 Transformation of objects with properties, GSI binding, bug fixing, tests 2025-01-01 22:49:50 +01:00
Matthias Koefferlein 8a9d7c6d15 [consider merging] Restricting transformation of shape refs and detecting some issues related to that. 2025-01-01 19:56:34 +01:00
Matthias Koefferlein 8c935409ea Added a test for net neighborhood, predicable order of results of edge neighborhood scanner. 2024-12-31 16:37:01 +01:00
Matthias Koefferlein c112f78b1c WIP: edge and edge pairs with properties, tests, conversion constructors, edge neighborhood tests with properties. 2024-12-30 23:47:34 +01:00
Matthias Koefferlein d406488bbb Restoring original behavior of 'ignore properties' in width check 2024-12-30 21:19:43 +01:00
Matthias Koefferlein 58d3efeea4 Fixing compile issues 2024-12-29 23:12:44 +01:00
Matthias Koefferlein 941c0fff90 Fixing compile issues 2024-12-29 22:48:34 +01:00
Matthias Koefferlein 8eb181c05f Refactoring compound ops to support properties in general. 2024-12-29 21:41:02 +01:00
Matthias Koefferlein 75e4282f01 Introducing PolygonWithProperties etc. in gsi 2024-12-29 17:07:56 +01:00
Matthias Koefferlein 1be436b764 WIP 2024-12-28 23:40:52 +01:00
Matthias Koefferlein e26de4cc42 WIP 2024-12-28 23:38:20 +01:00
Matthias Koefferlein f2dc78f438 API enhanced for new properties ID scheme, updated doc and tests 2024-12-28 17:13:43 +01:00
Matthias Koefferlein e6ac66f8aa Providing a more efficient event for property ID changes 2024-12-26 23:11:59 +01:00
Matthias Koefferlein 4beb8db15a WIP: bug fixes, stability of tests 2024-12-26 21:45:28 +01:00
Matthias Koefferlein 5281397b17 Fixed some tests 2024-12-26 00:42:39 +01:00
Matthias Koefferlein b4d1aa131c Refactoring OASIS reader which wasn't working in non-editable mode 2024-12-25 22:51:56 +01:00
Matthias Koefferlein 34febff383 Added a test for property ID by name, value and name/value retrieval. 2024-12-25 21:04:07 +01:00
Matthias Koefferlein d2a1d28c55 [consider merging] Fixed another typo in documentation 2024-12-25 17:50:14 +01:00
Matthias Koefferlein 53084e4d43 [consider merging] Fixed a typo in documentation 2024-12-25 17:49:28 +01:00
Matthias Koefferlein 1278ffeb77 WIP - refined tl::Variant::equal and less implementation, fixed tests 2024-12-25 17:36:29 +01:00
Matthias Koefferlein dc73b8145f WIP 2024-12-24 17:13:01 +01:00
Matthias Koefferlein 1cd7c6f985 WIP 2024-12-24 15:42:17 +01:00
Matthias Koefferlein 28260a68b0 WIP 2024-12-24 15:39:27 +01:00
Matthias Koefferlein acdb18039b WIP: OASIS reader tests debugging. 2024-12-24 13:07:02 +01:00
Matthias Koefferlein f5fea29cc9 WIP: OASIS reader tests debugging. 2024-12-24 12:56:13 +01:00
Matthias Koefferlein c6a097ae61 WIP 2024-12-24 11:45:16 +01:00
Matthias Koefferlein 128a00896e WIP 2024-12-24 11:19:21 +01:00
Matthias Koefferlein dd7aa9b84f WIP: massive refactoring of properties repo and OASIS reader
Target is to reduce the properties repository to a singleton.
Hence, there is no need to translate property IDs and it
is possible to retrieve properties everywhere.

The OASIS reader is refactored to avoid property renaming
and change of property definitions per ID.
2024-12-24 00:00:43 +01:00
Matthias Koefferlein 9ea7e68576 WIP 2024-12-22 23:21:04 +01:00
Matthias Koefferlein 487a198ec9 WIP: OASIS reader refactoring for new properties repository concept 2024-12-22 17:28:54 +01:00
Matthias Koefferlein 19e44e071c [consider merging] Bugfix: view was not refreshed if properties changed and property selectors were present 2024-12-22 15:17:10 +01:00
Matthias Koefferlein f095374455 WIP: switching prop id change notification to events 2024-12-22 15:16:35 +01:00
Matthias Koefferlein 6db836e405 WIP: refactoring of properties repository 2024-12-22 14:23:07 +01:00
Matthias Koefferlein 86d2ee6efe Fixing issue #1959
Problem was an overflow (inf) that got converted to 0
by "ceil".
2024-12-20 00:43:29 +01:00
Matthias Koefferlein d9048f7976 Fixing bug #1953 (inconsistent behavior of callback) maybe
Problem was that the final callback coming (two times) from
"apply" was not updating the widget states (visibility etc.)
2024-12-18 22:13:04 +01:00
Matthias Koefferlein 5e2f4eb243 Fixing bug #1955
Problem was caused by a leaking PolygonIteratorDelegate that locked the
DSS layout object. Solved by wrapping in PolygonIterator and
changing the interface such that PolygonIteratorDelegegate is no
longer useful.
2024-12-16 22:58:48 +01:00
Matthias Koefferlein 58376b3391 Fixing issue #1948 (crash on dragging a cell) - problem was the popup which Qt does not like during drag-and-drop operations. 2024-12-08 19:36:37 +01:00
Matthias Koefferlein bb635c3c59 Fixing pyi stubs for Box#moved and added defaults for Box#enlarge/enlarged 2024-12-02 22:23:14 +01:00
Matthias Koefferlein dd5214dc6e Fixing issue #1942 (PythonStandalone Package stubs errors), adding defaults for Box#enlarge and Box#enlarged (bonus) 2024-12-02 22:01:51 +01:00
Matthias Koefferlein 998a780676 Fixing bug #1941 (crash with navigator open) 2024-12-02 21:44:18 +01:00
Matthias Koefferlein f53658ea4c Handling problem of redundant key bindings
For example, @toolbar.ruler and edit_menu.modes.ruler was
redundant in a sense that they point to the same action,
hence, each entry in the key_binding config was overriding
the other one.

To solve this, there now is a primary entry, which is the
edit_menu one. Only that entry is effective and listed
in key_bindings.
2024-12-02 21:29:05 +01:00
Matthias Koefferlein 2bc913140d Refined solution for partial mode snap, so grid does not have priority over edge or vertex snapping for 'snap to objects' 2024-12-02 19:42:12 +01:00
Matthias Koefferlein e51a89b708 Python stubs update 2024-12-01 10:25:06 +01:00
Matthias Koefferlein c25896ef40 Add-on: don't select texts if they are not shown 2024-11-30 21:54:01 +01:00
Matthias Koefferlein 2c6eca04d6 selecting shapes only if edges are visible too 2024-11-30 21:45:41 +01:00
Matthias Koefferlein d361030048 Clearing status bar message when nothing is selected 2024-11-30 21:36:43 +01:00
Matthias Koefferlein 692967921a Selecting instances only if one edge is visible
This is supposed to avoid that you select guard ring
cells for example and move them while working
on small details.
2024-11-30 21:35:06 +01:00
Matthias Koefferlein e35aa97191 Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed. 2024-11-30 18:46:25 +01:00
Matthias Köfferlein 41383e4642
Merge pull request #1920 from rocallahan/readbytes
Add a Layout.read_bytes() method that reads a layout from a byte array
2024-11-30 17:47:03 +01:00
Matthias Koefferlein 6861b68964 Merge branch 'extended-transient-selection-config' 2024-11-30 08:27:01 +01:00
Matthias Köfferlein 637660ca69
Merge pull request #1933 from KLayout/wip
Wip
2024-11-30 08:23:35 +01:00
Matthias Köfferlein ec21809cc3
Merge pull request #1916 from KLayout/maybe-pex-support
Some add-ons for potential application in the PEX context
2024-11-28 20:43:40 +01:00
Matthias Köfferlein 66d97bb5f1
Merge pull request #1928 from KLayout/feature/issue-1923
Feature/issue 1923
2024-11-28 20:43:01 +01:00
Matthias Köfferlein 1a5e8c9b36
Merge pull request #1927 from KLayout/bugfix/issue-1925
Fixed issue #1925 (MAGIC import fails)
2024-11-28 20:42:25 +01:00
Matthias Koefferlein 22d8709c06 Compatibility of tests with Windows 2024-11-26 23:24:12 +01:00
Matthias Koefferlein ce4dc08969 Robustness of tests against different hash implementations, documentation update 2024-11-26 23:15:28 +01:00
Matthias Köfferlein 926dac96c6
Merge pull request #1910 from KLayout/bugfix/issue-1907
Bugfix/issue 1907
2024-11-26 21:06:04 +01:00
Matthias Koefferlein 5ebbee981b Windows compatibility 2024-11-26 21:02:02 +01:00
Matthias Koefferlein 8737933939 Qt4 compatibility 2024-11-26 20:58:06 +01:00
Matthias Koefferlein e533a34a08 Fixing the problem of (sometimes) slow transient selection (edit mode, top level selection only, large and interleaving arrays) 2024-11-25 23:23:48 +01:00
Matthias Koefferlein 33d1cdc545 Show select expressions in column headers in custom queries 2024-11-24 22:28:01 +01:00
Matthias Koefferlein 76800ea9bd Removed an incorrect comment 2024-11-24 22:16:27 +01:00
Matthias Koefferlein 9e340943b7 Adding 'copy to clipboard' in search & replace results list and export function 2024-11-24 22:14:24 +01:00
Matthias Köfferlein 09aecdd639
Merge pull request #1919 from mschweikardt/master
typos in manual
2024-11-24 19:49:25 +01:00
Matthias Koefferlein d5bebda6af Formatting key-bindings and menu visibility in klayoutrc differently (one entry per line), so they are easier to edit 2024-11-24 18:31:19 +01:00
Matthias Koefferlein 5578b01f03 Some refactoring with the goal to support "move by" with "clone interactive" 2024-11-23 23:38:53 +01:00
Matthias Koefferlein 84c4f31a9c Improve snapping in partial mode when snapping to objects 2024-11-23 20:33:15 +01:00
Matthias Koefferlein dc9b3bb398 More consistent handling of special paths (like data: URLs) for technology components. 2024-11-23 19:19:23 +01:00
Matthias Koefferlein 1c23d77073 By default, layer properties are initialized when no .lyp file is specified in a technology
You can turn this feature off by disabling the "Initialize other layers with default properties"
option on the techology's "General" page.
2024-11-23 15:19:33 +01:00
Matthias Koefferlein 983611172c Fixed some icons (navigation icons in netlist browser, edit icon in package manager) 2024-11-22 23:30:45 +01:00
Matthias Koefferlein abe578562f Extended (transient) selection config
- Line style can be configured for selection + transient selection
- Transient selection has it's own styles
2024-11-21 23:10:59 +01:00
Martin Köhler 7dcba4cebc Bugfix/issue 1930: Fixed type from char to int 2024-11-19 17:23:06 +00:00
Matthias Koefferlein 476ec3a714 Implemented solution for #1923 ('move', 'moved')
1. Added move and moved to Point and DPoint
2. dx/dy is 0 by default now
3. arguments of move and moved are called
   v (vector) and dx/dy consistently
2024-11-17 22:04:28 +01:00
Matthias Koefferlein 85caa4b397 Fixed issue #1925 (MAGIC import fails) 2024-11-17 21:42:29 +01:00
Matthias Koefferlein 0f438cdbd2 On same name, creating a RDB category would return the original one. 2024-11-13 18:26:06 +01:00
Matthias Koefferlein fecb8a8c8a RDB tests for Python too 2024-11-13 18:22:55 +01:00
Matthias Koefferlein 105751e2cf Trying to become compatible with Python 3.13 on Windows 2024-11-13 00:47:27 +01:00
Robert O'Callahan db56b0293e Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.

This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Schweikardt 3778ab157f
typos in manual 2024-11-03 09:25:58 +01:00
Matthias Koefferlein dd0949867f Some convenience features: transformations in EdgeNeighborhood, added Matrix transformation support for edge pairs. 2024-11-01 17:34:46 +01:00
Matthias Koefferlein 2629700566 RBA tests, reproducible order of edge events, all edges are reported - even those which do not have neighbors. 2024-10-31 23:43:27 +01:00
Matthias Koefferlein 3073c1917f Some enhancements: internal merging, tests 2024-10-31 22:55:46 +01:00
Matthias Koefferlein 0cca9afc7e Generalization: providing output functionality. 2024-10-31 21:34:17 +01:00
Matthias Koefferlein 9f2a2075c7 Implementing full support for compound operations in EdgeNeighborhood, including foreign() 2024-10-29 23:18:01 +01:00
Matthias Koefferlein ac1126f5c4 update documentation 2024-10-29 21:01:31 +01:00
Matthias Koefferlein cdd7058866 Mitigating the effect of a locked layout: plain iteration of instances now is possible also with a locked layout. Before, the instances were correctly iterated only if the layout could be sorted. 2024-10-27 23:42:16 +01:00
Matthias Koefferlein 946729f14d Adding forced update to Layout writer to ensure proper files. A warning is given. 2024-10-26 22:46:09 +02:00
Matthias Koefferlein 1407ae13a7 Also provide layout locking for recursive instance iterator 2024-10-26 21:40:41 +02:00
Matthias Koefferlein 0c0baed664 Avoiding a layout lock on Region::empty. 2024-10-26 21:24:01 +02:00
Matthias Koefferlein a83e58b8de Solving potential thread collision issues upon Layout::update. 2024-10-26 21:21:28 +02:00
Matthias Koefferlein 049c0b73b0 Debugging, added tests for new recursive shape iterator. 2024-10-25 23:13:40 +02:00
Matthias Koefferlein bea707a9df Releasing the lock when the iterator is at end - otherwise a finished iterator could still block the layout (potential Ruby GC issue) 2024-10-25 00:40:42 +02:00
Matthias Koefferlein c1757c472e First steps towards fix: locking layout while recursive shape iterator is alive. 2024-10-25 00:36:28 +02:00
Matthias Koefferlein 0d2379ad75 WIP: debugging, added polygon callback for EdgeNeighborhoodVisitor 2024-10-24 17:55:56 +02:00
Matthias Koefferlein 7af91fa2b5 Further debugging 2024-10-23 22:53:16 +02:00
Matthias Koefferlein f7dde684f0 WIP: some basic debugging 2024-10-23 18:38:26 +02:00
Matthias Koefferlein 46b44e6287 WIP: builds, but not tested yet. 2024-10-21 23:35:34 +02:00
Matthias Koefferlein 422c88207c WIP 2024-10-21 22:16:16 +02:00
Matthias Koefferlein a983603dbc Preparing 0.29.8 2024-10-20 19:57:03 +02:00
Matthias Köfferlein 2d1658cbfa
Merge pull request #1906 from KLayout/issue-1899
Issue 1899
2024-10-20 16:50:25 +02:00
Matthias Köfferlein 05c13e66b0
Merge pull request #1904 from KLayout/bugfix/issue-1902
Bugfix/issue 1902
2024-10-20 13:28:50 +02:00
Matthias Köfferlein d5358c87ae
Merge pull request #1903 from KLayout/wip
Wip
2024-10-20 13:25:39 +02:00
Matthias Köfferlein 6c82177dfa
Merge pull request #1883 from KLayout/issue-1869
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-20 13:22:12 +02:00
Matthias Koefferlein 761388f680 Updating definitions for Qt5 too - some additional operator bindings show up. 2024-10-19 23:15:37 +02:00
Matthias Koefferlein 0328c7e9bd Updating Qt binding files 2024-10-19 20:35:43 +02:00
Matthias Koefferlein 60294d9226 Implemented solution for issue #1900 (help/about dialog content selectable) 2024-10-19 17:27:56 +02:00
Matthias Koefferlein c6a9a59247 Maybe fixing second part of issue #1902. 2024-10-19 17:20:49 +02:00
Matthias Koefferlein f213e96d4a Partial fix for issue #1902 2024-10-19 17:12:53 +02:00
Matthias Köfferlein 9cf3c528a3
Merge pull request #1888 from KLayout/issue-1885
Fixed #1885
2024-10-19 16:32:42 +02:00
Matthias Köfferlein 6b906b9582
Merge pull request #1889 from KLayout/issue-1877
Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via)
2024-10-19 16:31:43 +02:00
Matthias Köfferlein 78ec69f7b7
Merge pull request #1890 from KLayout/issue-1886
Issue #1886 fixed (doc update)
2024-10-19 16:31:30 +02:00
Matthias Köfferlein 63dfaccff9
Merge pull request #1891 from KLayout/issue-1887
issue #1887 fixed (doc update)
2024-10-19 16:31:12 +02:00
Matthias Koefferlein dc0f549ab4 Embedding fix for issue #1892 which is closely related to #1877 2024-10-14 23:41:55 +02:00
Matthias Koefferlein 7b7e98d49a Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via) 2024-10-12 21:44:49 +02:00
Matthias Koefferlein 19b2aea471 Fixed #1885
Now, the default of --subst-char in strm2oas is "don't substitute".
You can explicitly specify "don't substitute" using "--subst-char="
(without value).
2024-10-12 21:19:09 +02:00
Matthias Koefferlein eeb05e47a5 Issue #1886 fixed (doc update) 2024-10-12 21:00:07 +02:00
Matthias Koefferlein dae0c16bf6 issue #1887 fixed (doc update) 2024-10-12 20:55:17 +02:00
Matthias Koefferlein 8dab13eb42 In DRC, with '@+' as target layout, maintain the original active cell view. This way, DRC can be re-run on the original layout, but each time generating a new output cellview. 2024-10-06 19:08:38 +02:00
Matthias Koefferlein f25693373e Small doc update 2024-10-06 19:07:42 +02:00
Matthias Koefferlein b44ff4b8e8 Avoid a potential hard assertion in debug mode 2024-10-06 19:07:17 +02:00
Matthias Koefferlein d7abbaca36 Fixed issue #1869 by adding a new option, -to or --top-output to strmxor 2024-10-06 18:33:53 +02:00
Matthias Köfferlein 3167af31c4
Merge pull request #1881 from KLayout/bugfix/issue-1880
Enhancing GDS2 writer float conversion such that less rounding occurs
2024-10-06 18:21:26 +02:00
Matthias Köfferlein 71a9e131a1
Merge pull request #1876 from KLayout/issue-1870
Bugfix for issue #1870: do not allow editing on invalid layers
2024-10-06 18:20:45 +02:00
Matthias Koefferlein 1289db7ebd Enhancing GDS2 writer float conversion such that less rounding occurs 2024-10-04 17:47:37 +02:00
Matthias Koefferlein 4be134e293 LEF/DEF reader recognizes existing layers by name now
This is helpful as it assigns layer/datatype numbers
automatically. If only a name is given for a layer
(i.e. "OUTLINE"), it will not match any previously
loaded layer and layer matching goes by layer/datatype
first.

This way, every "reload" added a new "OUTLINE" layer.
2024-10-03 18:50:00 +02:00
Matthias Koefferlein 10baec009c Bugfix for issue #1870: do not allow editing on invalid layers 2024-09-28 18:11:53 +02:00
Matthias Koefferlein 0dd7dfb48a Fixed issue #1874 (crash when copying a cell to another layout) 2024-09-28 17:53:26 +02:00
Matthias Koefferlein a0b8e4bea1 Updating stubs, DRC documentation 2024-09-22 21:11:21 +02:00
Matthias Koefferlein 4c33032f93 Merge branch 'better-not-break' 2024-09-22 20:08:10 +02:00
Matthias Koefferlein ec5de7b7f1 Compatibility with Python 3.13. 2024-09-22 02:38:33 +02:00
Matthias Koefferlein 2e58421fb3 Fixed builds without Qt and without libpng 2024-09-22 01:40:03 +02:00
Matthias Köfferlein 2d57feeae8
Merge pull request #1851 from KLayout/bugfix/issue-1832
Bugfix/issue 1832
2024-09-21 20:33:53 +02:00
Matthias Köfferlein ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
Wip
2024-09-21 20:33:21 +02:00
Matthias Köfferlein cb984fb4b5
Merge pull request #1865 from KLayout/bugfix/issue-1864
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-21 20:32:59 +02:00
Matthias Koefferlein b194d509cc Merge branch 'master' of github.com:KLayout/klayout 2024-09-20 23:49:27 +02:00
Matthias Koefferlein 43235a1ac2 Fixed CentOS7 builds 2024-09-20 23:49:16 +02:00
Matthias Koefferlein 5ece4d74ae Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy) 2024-09-20 23:07:09 +02:00
Matthias Koefferlein 45a2803777 Merge branch 'wip' into better-not-break 2024-09-18 23:54:20 +02:00
Matthias Koefferlein c6b2dba847 Updating tests 2024-09-18 23:53:51 +02:00
Matthias Koefferlein a20611b4c0 Skip polygon splitting for triangles and boxes 2024-09-18 23:53:13 +02:00
Matthias Koefferlein e2718c5a54 Enhancing polygon splitting
With this enhancement, the area ratio in DRC can
be configured as a negative value. This indicates
to take the outer manhattan approximation of the
polygons. This way, skinny diagonals are not
resolved into many small triangles.
2024-09-18 23:18:23 +02:00
Matthias Koefferlein 531071765f Fixed issue #1860 (problem with undo after delete layer) 2024-09-18 19:11:04 +02:00
Matthias Koefferlein ca9b1d779d Print file name before warning from stream readers, compress warnings if necessary, add file name to errors 2024-09-16 23:48:30 +02:00
Matthias Köfferlein ff708186ec
Merge pull request #1855 from KLayout/issue-1853
Issue 1853 (slow Cell#write any Layout#write with huge polygons)
2024-09-16 23:24:08 +02:00
Matthias Koefferlein 56e88805a0 Refusing to write files with empty string and to a path that is a directory - the latter would rename the directory and later try to remove it 2024-09-15 17:15:25 +02:00
Matthias Koefferlein c917831eb0 Fixed issue #1857 (crash when closing window with properties dialog open) 2024-09-15 17:00:31 +02:00
Matthias Koefferlein 491048db4c Fixed new Python module handling for standalone module case 2024-09-15 16:28:43 +02:00
Matthias Koefferlein 20d599b1de Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway. 2024-09-15 16:28:39 +02:00
Matthias Koefferlein 97dcf0aa0b Porting polygon generator from std::deque to std::list with support by 'splice' ... should fix the problem 2024-09-14 16:21:07 +02:00
Matthias Koefferlein 16b6328f1c Fixed new Python module handling for standalone module case 2024-09-14 16:16:58 +02:00
Matthias Koefferlein f1f3c64ab1 Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway. 2024-09-14 15:33:03 +02:00
Matthias Koefferlein 79dd2084ce tl::list enhancement 2024-09-14 13:52:25 +02:00
Matthias Koefferlein 9e55a664fb [debug] timers with ns resolution 2024-09-14 10:45:28 +02:00
Matthias Koefferlein fc729584e1 Maybe std::deque::size was the problem 2024-09-13 23:28:16 +02:00
Matthias Koefferlein 153d1e3541 Trying to improve stability under PCell debugging conditions inside the IDE 2024-09-13 14:31:45 +02:00
Matthias Köfferlein 53b7c985f0
Merge pull request #1849 from KLayout/feature/issue-1836
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(…
2024-09-08 22:24:40 +02:00
Matthias Köfferlein d70389c0c7
Merge pull request #1848 from KLayout/bugfix/issue-1847
Fixing bug #1847 (problem with fresh bindkey configuration)
2024-09-08 22:24:08 +02:00
Matthias Köfferlein b3fd5153fb
Merge pull request #1842 from KLayout/bugfix/issue-1835
Bugfix/issue 1835
2024-09-08 22:23:44 +02:00
Matthias Koefferlein 680874c8e3 More variants of Layout#properties_id + added Layout#properties_hash and Layout#properties_array. Clarification of documentation. 2024-09-08 19:45:10 +02:00
Matthias Koefferlein 68d15e01af DRC: more variants for layer#insert - labels, DBU-unit types 2024-09-08 19:16:40 +02:00
Matthias Koefferlein d902f5d53d Apply property changes before switching tree node in properties editor 2024-09-08 18:48:12 +02:00
Matthias Koefferlein 074238b116 Do not include 'purge_devices' in Netlist#simplify as such devices may be intentionally included as spare or dummy devices. If you want to remove them, use 'purge_devices' on 'netlist' and/or 'schematic' 2024-09-08 17:18:12 +02:00
Matthias Koefferlein ac2d20ae76 Implemented fix for issue #1832 (enhancements for Netlist#simplify and Netlist#combine_devices) 2024-09-08 00:25:24 +02:00
Matthias Koefferlein 20099a38b9 Fixing second part - small L,R and C were not handled properly 2024-09-08 00:25:18 +02:00
Matthias Koefferlein 4f72d3353f Fixed new Python module handling for standalone module case 2024-09-08 00:24:56 +02:00
Matthias Koefferlein 1e28e30e71 Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway. 2024-09-07 21:27:50 +02:00
Matthias Koefferlein bf965a7806 Implemented solution for issue #1836 (Allow the usage of Cell.shapes(LayerInfo(...)))
- For Cell#shapes, LayerInfo is an accepted argument now
- If the layer does not exist, it is created (non-const version)
  or an error is raised (const version)
- Cell#clear also accepts a LayerInfo object
- Layout#clear and Layout#delete_layer also accept
  a LayerInfo parameter

Rationale for supporting the clear and delete_layer methods:
These cases do nothing if the layer does not exist, so there
is a benefit of using them: it is not required to check first
if the layer exists.
2024-09-07 20:29:43 +02:00
Matthias Koefferlein 2c1d742275 Fixing bug #1847 (problem with fresh bindkey configuration) 2024-09-07 19:18:01 +02:00
Matthias Koefferlein a4467cfd3e Fixed a small bug: when deleting the only top cell, you could not create new cells as an error was issued saying 'no layout present' 2024-09-01 21:27:25 +02:00
Matthias Koefferlein bc78f4a0e9 Added test. 2024-09-01 21:26:44 +02:00
Matthias Koefferlein 716aa3c87b Fixing issue #1835 (saving a PCell as cell renders a layout that cannot be read) 2024-09-01 21:18:49 +02:00
Matthias Koefferlein 7dd7a96683 Fixed issue #1840: start is renamed to _start and finish is renamed to _finish, also some other methods that are purely internal. Python + Ruby is modified. 2024-09-01 19:48:13 +02:00
Matthias Koefferlein be7c4538ba Fixed a crash in the properties editor
This crash happened sometimes when clicking on the
node elements (e.g. "Boxes" or "Instances") of the
object tree, the node was the second or further one
and the category clicked at was containing one
item only.
2024-09-01 18:10:14 +02:00
Matthias Koefferlein 793c892b2b Reworking documentation of LayoutToNetlist 2024-09-01 17:47:25 +02:00
Matthias Koefferlein a8bedf7116 DRC doc update 2024-08-14 18:35:41 +02:00
Matthias Koefferlein 421999d8b5 update py stubs 2024-08-14 08:08:09 +02:00
Matthias Köfferlein 77782e4f1c
Merge pull request #1825 from KLayout/wip
Some enhancements to "Descend" and "Ascend"
2024-08-13 08:06:24 +02:00
Matthias Koefferlein 6a8be82e77 Added missing explicit template instantiations 2024-08-11 00:39:23 +02:00
Matthias Koefferlein 890904dfd0 Had to split dbHierProcessor as gcc choked on the many explicit template instantiations 2024-08-10 23:40:51 +02:00
Matthias Koefferlein 7a7ee8492b Some enhancements to "Descend" and "Ascend"
- Ascend now ascends further up if a child cell is
  selected as top level cell
- Descend now looks into transiently selected shapes
  or instances too (mouse hover mode)
- New feature "Descend into" which combines "Descend"
  with "make new top".
- Fixed a compiler warning in layLayoutViewBase.cc
2024-08-10 14:58:02 +02:00
Matthias Köfferlein 857fbc873c
Merge pull request #1824 from KLayout/bugfix/issue-1823
Fixed bug #1823 (select_all not working)
2024-08-10 13:33:48 +02:00
Matthias Köfferlein ea6ffb9b0c
Merge pull request #1822 from KLayout/feature/issue-1819
Feature/issue 1819
2024-08-10 13:33:36 +02:00
Matthias Köfferlein bccc421f3d
Merge pull request #1821 from KLayout/feature/issue-1816
Feature/issue 1816
2024-08-10 13:33:25 +02:00
Matthias Koefferlein aada3424a9 Fixed non-Qt builds 2024-08-09 17:45:24 +02:00
Matthias Koefferlein f218c009a0 Fixed bug #1823 (select_all not working)
1. Fixed "LayoutView#select_all"
2. Box selection now will select texts at their origin again:
   this way it is included in the bounding box. Point mode still
   takes the text's glyph area.
2024-08-08 23:26:05 +02:00
Matthias Koefferlein a601447d5f Properties dialog: stop handling 'Enter' key - use 'Ok' to close it 2024-08-08 20:46:22 +02:00
Matthias Koefferlein d31c9dbf6c Bugfix: avoid a segfault in the property editor due to invalid array access (difficult to reproduce). 2024-08-07 22:38:25 +02:00
Matthias Koefferlein 4631a806ef Provide a warning message when closing the window while an operation is ongoing. 2024-08-07 00:48:42 +02:00
Matthias Koefferlein 33a3a15791 Bugfix: 'netter' function in DRC wasn't working as described - it raised an error 2024-08-07 00:48:19 +02:00
Matthias Koefferlein fd1dc842e0 Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions 2024-08-07 00:11:48 +02:00
Matthias Koefferlein 82b3030352 const versions of Layout#cell and Layout#top_cell(s) 2024-08-06 18:19:31 +02:00
Matthias Koefferlein 3068dd2798 Allowing RBA::Net objects for DRCLayer#nets as well 2024-08-06 00:14:02 +02:00
Matthias Koefferlein 13dec274a3 Small redesign of the UI 2024-08-04 21:38:05 +02:00
Matthias Koefferlein 817f00e9ba Update DRC documentation for #1816 implementation 2024-08-04 21:18:35 +02:00
Matthias Koefferlein 35219469d6 Debugging and first tests for DRC 2024-08-04 21:03:19 +02:00
Matthias Koefferlein 29f82854fb Fixed DRC update 2024-08-04 19:23:31 +02:00
Matthias Koefferlein f653764dc0 Bugfix (typo): ParameterState#icon was named 'tooltip' 2024-08-04 18:55:53 +02:00
Matthias Koefferlein c63e41e732 GSI binding 2024-08-04 18:37:31 +02:00
Matthias Koefferlein c23c4045ba Basic implementation 2024-08-04 17:57:50 +02:00
Matthias Koefferlein 7510728a71 First API steps 2024-08-03 23:18:57 +02:00
Matthias Koefferlein 7470023d38 Deploying font_resolution somewhat further, but not using it for now 2024-08-03 22:47:10 +02:00
Matthias Koefferlein 40e360e640 Fixed a potential segfault in the text renderer 2024-08-03 22:23:48 +02:00
Matthias Koefferlein 3290d0ab21 Introducing font resolution
With the subresolution mode, the "Default" fonts get very small.
Hence, a separate font resolution is provided which
applies to "Default" font rendering only.
2024-08-03 21:10:25 +02:00
Matthias Koefferlein a802cd0e91 Proper scaling with resolution
- stipple display in layer list now follows view resolution
- using DCoord for text default size for cases where default size < DBU
2024-08-03 18:41:55 +02:00
Matthias Koefferlein cd69f29508 Basic feature implemented. Needs improvement. 2024-08-03 09:55:59 +02:00
Matthias Koefferlein aeae234fb7 Fixed issue #1814 (application freezes on Ctrl+Select) 2024-08-01 23:12:20 +02:00
Matthias Köfferlein d1121faecb
Merge pull request #1809 from KLayout/feature/issue-1776
First draft for fix of issue #1776 (undo/redo by list)
2024-07-31 07:10:18 +02:00
Matthias Koefferlein 1040e81fe6 Merge branch 'master' of github.com:KLayout/klayout 2024-07-30 18:59:18 +02:00
Matthias Köfferlein 8ab398dc58
Merge pull request #1811 from KLayout/wip
Wip
2024-07-30 18:59:09 +02:00
Matthias Köfferlein a126c8f8c4
Merge pull request #1810 from KLayout/gds2-writer-overflow-checks
Gds2 writer overflow checks
2024-07-30 18:58:53 +02:00
Matthias Köfferlein ba899b391c
Merge pull request #1808 from KLayout/bugfix/issue-1784
Proposal for fixing issue #1784 (Spice throws error at midline semico…
2024-07-30 18:58:28 +02:00
Matthias Köfferlein e7f0317029
Merge pull request #1807 from KLayout/bugfix/issue-1768
Fixed issue #1768 (Change 'angle constraint' of box and ellipse ruler…
2024-07-30 18:58:16 +02:00
Matthias Köfferlein 611e42d661
Merge pull request #1806 from KLayout/issue-1779
Fixed issue #1779 (make the state of the "By Cell" or "By Category" t…
2024-07-30 18:58:02 +02:00
Matthias Köfferlein 31fc1d8d79
Merge pull request #1805 from KLayout/bugfix/issue-1804
Fixed issue #1804 (Instantation path highlight mismatch with view win…
2024-07-30 18:57:48 +02:00
Matthias Köfferlein f4e4ce99b8
Merge pull request #1803 from KLayout/feature/issue-1790
Implemented a solution for issue #1790 (Support for recursive PCell i…
2024-07-30 18:57:34 +02:00
Matthias Koefferlein b6af0ba2a8 Updating Python stubs 2024-07-30 18:48:45 +02:00
Matthias Koefferlein ee9644ca42 Fixed Qt4 builds 2024-07-30 18:13:17 +02:00
Matthias Koefferlein 7ddc86414d Trying to fix Windows builds 2024-07-30 07:13:35 +02:00
Matthias Koefferlein 277ab2c335 Refactoring of GDS2 writer - split large functions into smaller ones 2024-07-30 00:13:47 +02:00
Matthias Koefferlein 589a6ce88a Merge branch 'master' into gds2-writer-overflow-checks 2024-07-29 19:58:47 +02:00
Matthias Koefferlein b7e2b59852 First implementation of GDS2 coordinate overflow checks. 2024-07-29 19:54:29 +02:00
Matthias Koefferlein 9165e81754 Highlight the items before the selected one to give a visual aid about what is going to be executed 2024-07-29 00:32:41 +02:00
Matthias Koefferlein c6928d234c First draft for fix of issue #1776 (undo/redo by list) 2024-07-29 00:15:22 +02:00
Matthias Koefferlein 7978a2bb1d Proposal for fixing issue #1784 (Spice throws error at midline semicolon comments) 2024-07-28 22:24:15 +02:00
Matthias Koefferlein 5b9cb95e68 Fixed issue #1779 (make the state of the "By Cell" or "By Category" tree persistent) 2024-07-27 21:10:05 +02:00
Matthias Koefferlein 7caf7c89d3 Fixed issue #1768 (Change 'angle constraint' of box and ellipse ruler templates to 'any angle' by default) 2024-07-27 20:35:20 +02:00
Matthias Koefferlein 258aaad29d Fixed issue #1804 (Instantation path highlight mismatch with view window)
In addition, the highlighting was fixed in the
presence of a context path (aka "edit in place").
2024-07-27 20:10:30 +02:00
Matthias Koefferlein fec61438d4 Small bugfix: 'Delete selected stacks' was not working from stack tech component editor's context menu 2024-07-27 17:26:23 +02:00
Matthias Koefferlein fb83b9fbc9 Trying to improve "grab" behavior of partial selection
Problem was: with a partial selection, clicking
in the vicinity of a non-selected edge could
make this edge the selected one. So it was
not possible to drag the selection in some
cases.

With "move mode" it was. The difference was in
the detection logic that decides where a click
is on the selection or outside.

Now, the logic is aligned, and partial mode
clicks will check whether the mouse pointer
is inside the selection bbox (plus some
margin). In that case, the click applies to
the current selection.
2024-07-27 17:18:29 +02:00
Matthias Koefferlein b253eaa51a Including more GeneratorExit and StopAsyncIteration in the ignored exceptions for Python 2024-07-27 14:29:14 +02:00
Matthias Koefferlein 071326ffee Small doc update 2024-07-27 14:18:42 +02:00
Matthias Koefferlein c3fdc6e1bc Implemented a solution for issue #1790 (Support for recursive PCell instances)
This also fixes some other issues, like "display_text_impl" being
called when a PCell is run with the debugger open.
2024-07-27 14:00:54 +02:00
Matthias Köfferlein cfa0dacd4f
Merge pull request #1800 from KLayout/bugfix/issue-1799
Fixed issue #1799 (Can't set cell properties by script)
2024-07-27 11:48:01 +02:00
Matthias Köfferlein baf2c761c4
Merge pull request #1796 from KLayout/bugfix/issue-1794
Implemented a fix for #1794 (giant meta info produces invalid GDS)
2024-07-27 11:47:47 +02:00
Matthias Köfferlein 113e47a9ca
Merge pull request #1795 from KLayout/bugfix/issue-1793
Fixing issue #1793 (problem with default arguments in Python)
2024-07-27 11:47:33 +02:00
Matthias Koefferlein d6ee473d72 Fixed issue #1799 (Can't set cell properties by script) 2024-07-25 22:36:46 +02:00
Matthias Koefferlein a0d26a59e3 Properly transferring ownership for variant to Python/Ruby translation 2024-07-25 21:07:36 +02:00
Matthias Koefferlein 58d489b39a Added Region#being_shapes_rec and Region#begin_merged_shapes_rec, mainly for being able to retrieve shapes with properties from Region#nets 2024-07-25 19:34:08 +02:00
Matthias Koefferlein 92e44bd9b9 Small update of doc. 2024-07-24 22:36:06 +02:00
Matthias Koefferlein 4cd8772e70 Convenience methods Shape#properties, Layout#properties, Cell#properties, Instance#properties 2024-07-24 22:29:09 +02:00
Matthias Koefferlein 6baabc30bb Added Netlist#top_circuit and Netlist#top_circuits convenience methods 2024-07-24 20:57:17 +02:00
Robert O'Callahan 8e7d9669af Initialize m_verbosity_level on demand to avoid depending on the order of dynamic initialization
Resolves #1797
2024-07-23 17:44:00 +12:00
Matthias Koefferlein 16abeb2bdc Merge branch 'master' into wip 2024-07-22 21:34:12 +02:00
Matthias Koefferlein 3bd02c023f Enabling MSVC build (2) 2024-07-21 10:47:09 +02:00
Matthias Koefferlein 15eebb032f Enabling MSVC build 2024-07-21 10:23:49 +02:00
Matthias Koefferlein 9600cd818c Merge branch 'master' into bugfix/issue-1793 2024-07-21 08:11:37 +02:00
Matthias Köfferlein d3921844d6
Merge pull request #1791 from KLayout/bugfix/issue-1782
Fixing issue #1782
2024-07-21 08:08:59 +02:00
Matthias Köfferlein 951905d7aa
Merge pull request #1792 from KLayout/bugfix/issue-1789
Fixing bug #1789 (Crash by add Text to hidden layer)
2024-07-21 08:08:43 +02:00
Matthias Koefferlein 6456675d7a Trying to fix a build issue 2024-07-20 22:48:06 +02:00
Matthias Koefferlein 0dd6fca51e Implemented a fix for #1794 (giant meta info produces invalid GDS)
This fix solves two problems:
* Too large meta info data
* Too many meta info entries

The first problem is fixed by splitting the strings that serialize
the meta info.

The second problem is fixed by introducing prefixed strings that
indicate the attribute index within the string, not inside
the PROPATTR record.

The solution is backward compatible, although old versions will
not read all meta info and skip entries that exceed the GDS
capacity.

Caveat: the produced GDS files may contain duplicate PROPATTR
keys. This is not strictly illegal, but some third-party processors
may drop such entries.
2024-07-20 22:35:54 +02:00
Matthias Koefferlein 32a815a1c0 Properly selecting debug mode in .pri files for self diagnosis. Touching files for recompile. 2024-07-20 21:04:51 +02:00
Matthias Koefferlein a8eaead404 Enhanced tl::Variant so it can capture all possible default values. Added a self-diagnosis step in debug builds. 2024-07-20 19:57:11 +02:00
Matthias Koefferlein 9a79838369 Bugfix for issue-1793: using the heap to properly store the default values 2024-07-20 18:58:29 +02:00
Matthias Koefferlein a323bb98ba Bugfix - missed return value. 2024-07-20 00:54:48 +02:00
Matthias Koefferlein 50a9f7004e Fixed a link issue 2024-07-20 00:42:38 +02:00
Matthias Koefferlein 915cc53195 Convenience: copy cells now has an option to mute the dialog (shallow/deep) and the dialog is only shown if there are subcells 2024-07-20 00:03:43 +02:00
Matthias Koefferlein ee07e4b3b9 Added smoke test for Layout#break_polygons and Shapes#break_polygons to RBA 2024-07-17 23:25:20 +02:00
Matthias Koefferlein 4d80fb37c3 Enabled 'break_polygons' for editable Shapes containers 2024-07-17 23:14:34 +02:00
Matthias Koefferlein 1ed69e9b46 Added test 2024-07-17 23:09:04 +02:00
Matthias Koefferlein b6cc636b05 Debugging Layout#break_polygons etc. 2024-07-17 00:51:01 +02:00
Matthias Koefferlein a89e295349 WIP: Shapes#break_polygons, Layout#break_polygons, Region#break_polygons (as alias) 2024-07-17 00:27:06 +02:00
Matthias Köfferlein a6c07182e3
Merge pull request #1788 from Kazzz-S/0.29.4-mac1
Modified the macOS build system so that the debug build uses ASAN (Adress SANitizer) for clang++
2024-07-14 14:22:09 +02:00
Matthias Koefferlein 8b1930ef23 Fixing bug #1789 (Crash by add Text to hidden layer)
Problem was: after activating Text mode the edit
function showed the dock with the editor options.
This cause a mouse move event due to resizing
which in turn triggered the popup about invisible
layer. Apparently Qt's dock open animation does
not like popups during the animation phase which
caused the segfault.

Solution is to do the check upon activation,
not in the mouse move event.
2024-07-13 20:30:12 +02:00
Matthias Koefferlein 072edecb1a Add-on making re-registration of PCells a valid feature. 2024-07-13 18:55:17 +02:00
Matthias Köfferlein 4383802d80
Merge pull request #1786 from rocallahan/remove-friend
Remove unused `OASISReaderLayerMapping` friend declaration
2024-07-13 18:30:47 +02:00
Matthias Köfferlein 7e5f10307d
Merge pull request #1785 from ChipFlow/subcircuit_hierarchy_for_nets
Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter
2024-07-13 18:24:30 +02:00
Matthias Koefferlein 0df6339f4e Fixing issue #1782
This patch establishes "nan", "inf" and "-inf" as
valid values for tl::Variant, so corresponding
PCell parameters can be serialized and are
properly managed.
2024-07-13 18:07:45 +02:00
Matthias Koefferlein 7146db4762 Checking some pointers for null (maybe responsible for crashes during PCell development) 2024-07-13 15:30:17 +02:00
Matthias Koefferlein acbbd92194 Fixes a potential crash during breakpoint handling
This fixes the following problem:
* Set a breakpoint in a PCell code
* Change the PCell, breakpoint gets triggered
* While debugger is in breakpoint, close the
  view with the PCell

To prevent any kind of interference, events
are now disabled during breakpoint mode. As
this interferes with the help dialog, you
cannot open the help dialog either.
2024-07-13 10:42:44 +02:00
Robert O'Callahan b2ee4209f8 Remove unused `OASISReaderLayerMapping` friend declaration 2024-07-10 10:27:20 +12:00
Serge Rabyking 2be4f3f756 Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter 2024-07-09 22:14:32 +01:00
Kazunari Sekigawa 646a356d96 Merge branch '0.29.3-mac1' into 0.29.4-mac1 2024-07-09 18:42:03 +09:00
Matthias Koefferlein 12d09687cd WIP: post-fix for #1780 - minimizing access to 'selection' which is mutable. 2024-07-08 23:51:36 +02:00
Matthias Koefferlein 3cf6ef2cec WIP 2024-07-08 23:28:19 +02:00
Matthias Koefferlein 6bca4a07b6 Code cleanup + fixing another bug (crash when doing 'change layer' on multiple selected shapes) 2024-07-08 22:43:56 +02:00
Matthias Koefferlein 930a5d7424 Bugfix issue #1780 2024-07-08 18:59:53 +02:00
Kazunari Sekigawa 45e7a8eb8d Modified the macOS build system so that the debug build uses ASAN (Address SANitizer) for clang++ 2024-07-07 18:47:11 +09:00
Matthias Köfferlein 02506495c2
Merge pull request #1777 from KLayout/bugfix/issue-1771
Bugfix/issue 1771
2024-07-06 14:49:45 +02:00
Matthias Koefferlein 27549e006d Fixing issue #1771 - Python 3.11.7 introduced a new behavior for getting the stack trace line number 2024-07-06 00:23:42 +02:00
Matthias Koefferlein 769327cdab Fixing issue #1774 (providing klayout.__version__ also for built-in module) 2024-07-05 17:50:38 +02:00
Matthias Koefferlein 9c13dbb63c Fixed issue #1770 (Macro development step over/into does not work in some cases
)
2024-07-04 18:45:34 +02:00
Matthias Koefferlein 63aeec1e36 Updating DRC/LVS doc. 2024-07-04 18:31:44 +02:00
Matthias Koefferlein 6da9e60736 Fixing typo as addressed by issue #1769 2024-07-04 18:31:02 +02:00
Matthias Koefferlein 4a2d1be8bf Backward compatibility mode (with fix): size now also accepts sizing mode as string (for supporting GF180 DRC decks properly) 2024-07-03 22:59:31 +02:00
Matthias Koefferlein 02f88fb3e0 Fixed 64bit coordinate builds 2024-07-03 18:37:55 +02:00
Matthias Koefferlein bf78f0b364 Regenerating stubs 2024-07-03 01:14:03 +02:00
Matthias Koefferlein 264f1e0586 Stepwise sizing: had to rename options
"inside" and "outside" was already taken. Now it is called
"size_inside" and "size_outside".
2024-07-02 21:10:11 +02:00
Matthias Koefferlein 68530f08bc Merge branch 'faster-latchup-rules' 2024-07-01 18:28:23 +02:00
Matthias Köfferlein 7839e6a97f
Merge pull request #1764 from KLayout/feature/issue-1756
Feature/issue 1756
2024-07-01 18:24:57 +02:00
Matthias Köfferlein 8145e3db57
Merge pull request #1763 from KLayout/better_pyi
.pyi files work slightly better with these changes. Also: regeneratin…
2024-07-01 18:24:37 +02:00
Matthias Köfferlein 3237f5ec4a
Merge pull request #1761 from KLayout/feature/issue-1655
Feature/issue 1655
2024-07-01 18:24:22 +02:00
Matthias Köfferlein 53db0a0300
Merge pull request #1760 from KLayout/feature/issue-1741
Implemented solution for issue #1741 (Feature request: tooltip string…
2024-07-01 18:24:07 +02:00
Matthias Köfferlein e56c7d6948
Merge pull request #1759 from KLayout/bugfix/issue-1743
Fixed issue #1743 (strmxor shows no difference, klayout xor shows 85,…
2024-07-01 18:23:50 +02:00
Matthias Koefferlein 54aeea54ca Alternative implementation of solution for issue #1756 (allow specific HTTP timeout) 2024-06-30 19:36:18 +02:00
Matthias Koefferlein 6992ac67b0 .pyi files work slightly better with these changes. Also: regenerating Python stubs. 2024-06-30 17:57:36 +02:00
Matthias Koefferlein a49f907cfa Doc fixes 2024-06-30 00:07:52 +02:00
Matthias Koefferlein 7eadac527b Debugging and finalization 2024-06-29 23:55:02 +02:00
Matthias Koefferlein b92c7bf225 Refined solution 2024-06-29 23:22:32 +02:00
Matthias Koefferlein f9899efea3 First implementation 2024-06-29 23:02:29 +02:00
Matthias Koefferlein a5b98f93ff Implemented solution for issue #1741 (Feature request: tooltip string for PCell parameter) 2024-06-29 22:10:43 +02:00
Matthias Koefferlein 4e8bad1403 Fixed issue #1743 (strmxor shows no difference, klayout xor shows 85, dbu 99.999 vs 1000) 2024-06-29 20:51:37 +02:00
Matthias Koefferlein 7397b8e4e6 Fixed issue 1757 (Triangles::clear () use-after-free) plus another uninitialized value. Added tests. 2024-06-29 20:12:45 +02:00
Matthias Köfferlein 564861abe1
Merge pull request #1753 from KLayout/feature/issue-1747
Fixing issue #1747 (signed coordinate transformations with Trans/DTra…
2024-06-29 20:12:07 +02:00
Matthias Köfferlein 054fd09424
Merge pull request #1752 from KLayout/bugfix/issue-1750-1751
Fixing issue #1750 and issue #1751
2024-06-29 20:11:54 +02:00
Matthias Köfferlein 6e2c11435b
Merge pull request #1744 from KLayout/wip
OASIS reader: avoiding slight rounding of DBU In python read/write cy…
2024-06-29 20:11:40 +02:00
Matthias Koefferlein 0a453b069c Bugfix: when debugging a modal dialog event or callback, 'run'/'stop' and 'step' was not working 2024-06-28 15:45:25 +02:00
Matthias Koefferlein a0d7ce0cd8 Maybe fixing two basic issues in debugger:
- desktop deadlock if using the help window's search function:
  That is because we stole some events in the debugger.
- disabling paint events during debugging

The patch is simply to take out the code responsible for this.
This *may* create issues as debugging of event handlers may
create recursive debugger calls. Needs to be investigated.
But the overall effect so far is positive.
2024-06-27 23:30:54 +02:00
Matthias Koefferlein 9865b14b0c Update doc 2024-06-25 23:45:09 +02:00
Matthias Koefferlein 100760e219 Fixed progress description 2024-06-25 23:41:35 +02:00
Matthias Koefferlein 10880e078b Added documentation for new DRC feature 2024-06-25 22:20:48 +02:00
Matthias Koefferlein 58d53636cb DRC tests for 'size/sized inside 2024-06-25 21:01:23 +02:00
Matthias Koefferlein 4c28d9f6a9 WIP: optimization 2024-06-25 19:35:47 +02:00
Matthias Koefferlein e8784d1763 WIP: added basic tests 2024-06-25 19:26:35 +02:00
Matthias Koefferlein 128efd45e4 WIP: Implementing flat mode for sized inside/outside 2024-06-25 18:21:21 +02:00
Matthias Koefferlein c3d3dd6239 WIP: Optimizing performance of deep mode sized inside/outside 2024-06-25 00:30:20 +02:00
Matthias Koefferlein 8d630e723a WIP 2024-06-23 23:52:47 +02:00
Matthias Koefferlein a54365a9a7 WIP: DRC integration 2024-06-23 19:30:01 +02:00
Matthias Koefferlein e63a7b5940 WIP: optimization of sized_inside - distance can be reduced to 0 if 'inside' is merged 2024-06-23 18:21:30 +02:00
Matthias Koefferlein d2479c7159 WIP 2024-06-23 17:20:32 +02:00
Matthias Koefferlein 55fc4a8728 WIP 2024-06-23 17:05:49 +02:00
Matthias Koefferlein 25165c46a3 WIP 2024-06-23 00:49:33 +02:00
Matthias Koefferlein fd4330a34e Fixing Windows builds 2024-06-22 23:33:28 +02:00
Matthias Koefferlein 61e2758bbb Fixing issue #1747 (signed coordinate transformations with Trans/DTrans/CplxTrans etc.) 2024-06-22 23:25:45 +02:00
Matthias Koefferlein 27073cb128 Fixing issue #1750 and issue #1751 2024-06-22 21:00:26 +02:00
Matthias Koefferlein f7f25879f0 Preserving layer indexes to preserve LVS DB format (note to myself: finally create a real compare tool for the latter) 2024-06-17 21:55:35 +02:00
Matthias Koefferlein f721be7e32 Trying to improve deep-mode XOR and NOT performance by introducing a local sweep that eliminates shapes also found in second input. 2024-06-17 21:45:55 +02:00
Matthias Koefferlein 214e1736f0 Reading waiver comments on RVE database, automatically read associated .waived RVE DB file 2024-06-16 21:40:28 +02:00
Matthias Koefferlein 579da640ba Enhancement: added optional layer/datatype information to DRC/LVS 'name' 2024-06-16 19:33:24 +02:00
Matthias Koefferlein 24a9e6824a Added tests for the last fix. 2024-06-16 16:54:20 +02:00
Matthias Koefferlein 7082b0528d [consider merging] Ruby binding bugfix: 'return' from block was behaving like 'break'
The problem was that Ruby uses internal exceptions to implement 'return', 'break'
and other types. These were mapped to a single tl::CancelException, rendering
the effect of 'break' and 'return' the same.
2024-06-16 16:53:01 +02:00
Matthias Koefferlein 62b1d26ce5 Small bugfix: symlinks in the salt paths might have lead to macro duplication 2024-06-16 10:30:22 +02:00
Matthias Koefferlein f4736759b6 issue #1742 fixed: proper tracking of references of RecursiveShapeIterator - this will fix the segfault, but not the general issue of the ticket. 2024-06-16 09:55:46 +02:00
Matthias Koefferlein b32329c920 OASIS reader: avoiding slight rounding of DBU In python read/write cycle (discussion-2526) 2024-06-16 09:29:47 +02:00
Matthias Koefferlein 9cec3f9431 Simplified solution of for the invalid selection problem
1.) transient selection does not need to be handled
2.) restored original behavior or set_selection/get_selection
    (should not modify the selection)
3.) only geometry changes will trigger a selection cleanup
2024-06-09 23:22:32 +02:00
Matthias Koefferlein 46936b5d56 Fixing issue #1733 (Instance selecion in object properties does not match with view port object highlight)
Plus: better implementation of fix for issue #1145
(Crash when clearing a Shapes container by script while a shape is selected)
The previous solution was based on deferred execution and between
execution of that cleanup and the use of the selection, invalid states
could be present.
2024-06-09 18:58:39 +02:00
Matthias Koefferlein 4e430ff38f Merge branch 'master' of github.com:KLayout/klayout 2024-06-08 16:07:03 +02:00
Matthias Koefferlein ff824af311 Regenerating Python stubs 2024-06-08 16:06:51 +02:00
Thomas Ferreira de Lima bca7a9c450
Update drc_basic.xml
Fixing report argument.
2024-06-07 15:45:41 -04:00
Matthias Köfferlein 9d8a438d1d
Merge pull request #1732 from KLayout/wip
Wip
2024-06-07 14:42:44 +02:00
Matthias Koefferlein 04caf13d8d Added tests for shapes_of_terminal 2024-06-06 20:47:55 +02:00
Matthias Koefferlein 3e4775aabb Added tests for shapes_of_pin 2024-06-06 20:20:35 +02:00
Matthias Koefferlein c44b8097dd Deep search for pin shapes, added shapes_of_terminal 2024-06-06 19:54:56 +02:00
Matthias Koefferlein 7388aa13a6 debugging pin shape generation - not sure if that solution makes sense. 2024-06-05 23:47:57 +02:00
Matthias Koefferlein 09a690f5f6 WIP 2024-06-05 22:42:42 +02:00
Matthias Koefferlein 4eeb5be9ea More explanation of blend modes in common reader options 2024-06-05 22:42:38 +02:00
Matthias Koefferlein a3d226d99f Fixing the specific problem of issue #1709 2024-06-04 20:34:45 +02:00
Matthias Köfferlein 910f0824e0
Merge pull request #1727 from KLayout/feature/issue-1721
Feature/issue 1721
2024-06-03 22:58:06 +02:00
Matthias Köfferlein b726872598
Merge pull request #1726 from KLayout/bugfix/issue-1722
Proposing a fix for issue #1722: add a '...' menu to hold the dynamic…
2024-06-03 22:57:36 +02:00
klayoutmatthias 8204f4d0aa Updating golden test data with MacOS variants 2024-06-02 19:59:40 +02:00
Matthias Koefferlein 4277d0d8d5 Avoid some more exceptions in XML handler 2024-06-02 19:44:45 +02:00
Matthias Koefferlein 739cdfc1d5 Complete list of includes for QPointerEvent 2024-06-02 19:18:08 +02:00
Matthias Koefferlein 1144b07ebb Compatibility with Qt 6.7 2024-06-02 19:11:17 +02:00
Matthias Koefferlein 46bb28d4e4 Avoid throwing exceptions inside XML parser
This addresses an issue found in ARM builds on Mac M1.
The XML parser makes use of exceptions to stop the parsing.
This causes an ABORT on M1/clang for whatever reason.
The new implementation requests the reader to stop
and stores the exception until it is needed.
2024-06-02 18:22:15 +02:00
Matthias Koefferlein 4e0b38acd5 Qt5 compatibility 2024-06-01 21:48:22 +02:00
Matthias Koefferlein c050daff61 Added a test, compiler warning fixed 2024-06-01 20:30:56 +02:00
Matthias Koefferlein d6130f72b3 Bugfix 2024-06-01 20:30:51 +02:00
Matthias Koefferlein a0be1256bc Adding context menu of query to export selected items only 2024-06-01 20:17:56 +02:00
Matthias Koefferlein 38b1319aad Debugging. 2024-06-01 19:48:49 +02:00
Matthias Koefferlein 6473a38af3 Debugging. 2024-06-01 19:05:58 +02:00
Matthias Koefferlein 5ee1daf945 First draft of solution. Needs polishing. 2024-06-01 18:48:21 +02:00
Matthias Koefferlein d28822af3f Fixed a compiler warning 2024-06-01 12:59:40 +02:00
Matthias Koefferlein 4b0a3dff64 Bug fixing. 2024-06-01 12:49:07 +02:00
Matthias Koefferlein 11139cd4da Trying to fix problem of deleted top-level menus 2024-06-01 12:16:21 +02:00
Matthias Koefferlein 7ca6c225e4 Merge branch 'bugfix/issue-1722' 2024-06-01 09:34:19 +02:00
Matthias Köfferlein a494892529
Merge pull request #1718 from KLayout/wip
Wip
2024-05-31 22:48:24 +02:00
Matthias Köfferlein 7b2a248484
Merge pull request #1720 from KLayout/bugfix/issue-1719
Bugfix/issue 1719
2024-05-31 22:48:09 +02:00
Matthias Koefferlein 2827bed6c2 Updating documentation, taking out test code 2024-05-31 17:49:35 +02:00
Matthias Koefferlein ad64f30033 Bugfixing the solution 2024-05-31 17:44:32 +02:00
Matthias Koefferlein 56035abd9f Adjusting DRC/LVS code for Ruby 2.0.0 (protected vs. private methods) 2024-05-31 16:29:54 +02:00
Matthias Koefferlein 3902ad6576 Removing a TODO - that suggestion isn't good as of now 2024-05-31 15:59:32 +02:00
Matthias Koefferlein 2e7e299af9 Comment typo fixed 2024-05-31 15:16:44 +02:00
Matthias Koefferlein 11bddc2914 Refining solution for "blend-mode 0" enhancement 2024-05-31 14:45:25 +02:00
Matthias Köfferlein 7399244557
Merge pull request #1725 from KLayout/bugfix/issue-1724
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-31 13:18:44 +02:00
Matthias Köfferlein f8d5c1c427
Merge pull request #1713 from KLayout/feature/issue-1701
Implementing solution for issue #1701 (Feature request: strm2oas shou…
2024-05-31 13:18:22 +02:00
Matthias Köfferlein f2b7bc667d
Merge pull request #1712 from KLayout/feature/issue-1710
Fix for issue-1710 (feature request: create separate cell for def FILL)
2024-05-31 13:17:32 +02:00
Matthias Köfferlein 3f1d9f17bc
Merge pull request #1708 from KLayout/bugfix/issue-1706
Trying to fix bug #1706 (crash on user properties form)
2024-05-31 13:16:39 +02:00
Matthias Koefferlein c148f591b4 Proposing a fix for issue #1722: add a '...' menu to hold the dynamic parts 2024-05-31 11:25:14 +02:00
Matthias Koefferlein c70e622590 Fixing issue #1724 (avoid duplicate LEF files) 2024-05-30 16:21:52 +02:00
Matthias Koefferlein b95634edf3 Fixing some flaws inside the macro IDE
* When deleting a macro, the tab was not closed but
  became "zombie"
* After creating a new folder, macros made there
  behaved "zombie" too
2024-05-30 13:58:13 +02:00
Matthias Koefferlein 149c972172 Enhancing 'blend-mode' 0 (buddy tools) such that it will not generate instance duplicates 2024-05-29 22:39:57 +02:00
Matthias Koefferlein 496818f0a8 Added testdata for #1719, part 3 2024-05-28 23:21:58 +02:00
Matthias Koefferlein f1d3597b2e Small doc update 2024-05-27 19:06:56 +02:00
Matthias Koefferlein 2360eb41fd Generated documentation 2024-05-27 19:04:06 +02:00
Matthias Koefferlein dc526132c0 Part 3 of issue #1719
New LVS/DRC functions: "name" and "name_prefix"
to control what layer names are used. "name" needs
to be used explicitly and before a layer is used
(and gets auto-assigned a name).
2024-05-27 19:02:53 +02:00
Matthias Koefferlein 45e77ce40c Fixed a typo 2024-05-27 19:02:38 +02:00
Matthias Koefferlein f01d8d46b5 Improving reports for errors in 'same_nets' cases 2024-05-27 00:43:36 +02:00
Matthias Koefferlein 3edb193562 A proposal for fixing issue #1719, part 1 2024-05-26 22:55:37 +02:00
Matthias Koefferlein 14b1fddcc5 Trying to improve must-connect error messages
* Avoid repetitions
* Include geometry for nets if possible
* Better wording
* All joined nets tested together - leaner code
2024-05-26 19:32:15 +02:00