Commit Graph

5339 Commits

Author SHA1 Message Date
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