Matthias Koefferlein
ac1c656bc0
Fixed unit tests
2025-03-03 18:34:43 +01:00
Matthias Koefferlein
20111ce08d
Fixed issue #1993 ('with_area' modifies result of 'join')
...
Root cause was a held layout lock inside the TilingProcessor.
As that object was not always released inside the Ruby
DRC script, the lock was held sometimes longer than
needed and messed with the hierarchy system.
2025-03-03 01:05:04 +01:00
Matthias Koefferlein
fb9e0c4602
Fixed a compile issue
2025-03-02 22:24:04 +01:00
Matthias Koefferlein
5b4848ee50
Merge branch 'master' of github.com:KLayout/klayout
2025-03-02 22:22:05 +01:00
Matthias Köfferlein
2acbbffe19
Merge pull request #1991 from KLayout/feature/configure-lazy-pcell-evaluation
...
Feature/configure lazy pcell evaluation
2025-03-02 22:20:04 +01:00
Matthias Koefferlein
2e150980d5
Bugfix: 'Save all' was not updating the dirty state in the panel tabs
2025-03-02 22:12:18 +01:00
Matthias Koefferlein
414a06c70f
Bugfix: tab title was not updated when current cell is renamed
2025-03-02 20:54:00 +01:00
Matthias Koefferlein
32fe65adc0
[consider merging] Fixed a bug when returning a Region into a layout with cells unselected.
2025-03-02 19:06:48 +01:00
Matthias Koefferlein
01cc54ba49
[consider merging] avoid a crash during certain queries
...
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-03-02 19:06:45 +01:00
Matthias Koefferlein
3185a7aeb2
[consider merging] fixed a potential crash on 'save all'
2025-03-02 19:06:41 +01:00
Matthias Koefferlein
b434eb3239
[consider merging] Fixing two problems with layer mapping
...
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
two times when the input contains 100/0 and 0/0. Now
it is a single layer only
2. The mapping table generated from strings now uses
layer indexes from a range that should not collide
with existing layer indexes.
2025-03-02 19:06:37 +01:00
Matthias Koefferlein
1372a7d04e
[consider merging] Bugfix: fixing a crash when editing PCell parameters (QR code PCell in this case) while the macro editor is open
2025-03-02 19:06:31 +01:00
Matthias Koefferlein
c6e7c47d6c
Some bug fixes, updated tests
2025-03-02 18:30:31 +01:00
Matthias Koefferlein
08666aeb82
API implementation ... many, many new functions named 'split_...'
2025-03-02 17:30:47 +01:00
Matthias Koefferlein
79262028ff
[consider merging] Fixed a bug when returning a Region into a layout with cells unselected.
2025-03-01 23:18:29 +01:00
Matthias Koefferlein
850a6f56d3
[consider merging] avoid a crash during certain queries
...
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-02-25 23:35:33 +01:00
Matthias Koefferlein
0e4594c0c3
[consider merging] fixed a potential crash on 'save all'
2025-02-25 22:06:56 +01:00
Matthias Koefferlein
c437d75a01
[consider merging] Fixing two problems with layer mapping
...
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
two times when the input contains 100/0 and 0/0. Now
it is a single layer only
2. The mapping table generated from strings now uses
layer indexes from a range that should not collide
with existing layer indexes.
2025-02-25 22:02:11 +01:00
Matthias Koefferlein
50ab169385
Default for lazy eval mode is 'as requested by PCell' for backward compatibility
2025-02-18 23:41:20 +01:00
Matthias Koefferlein
b9079cdfdc
First proposal for a feature to configure lazy PCell evaluation
...
- The PCell page gets an option menu instead of "show parameter names"
- That option goes into that menu
- In addition, there is a "lazy PCell evaluation" submenu with the
modes:
* As requested by PCell (like now)
* Never
* Always
2025-02-18 23:36:30 +01:00
Matthias Koefferlein
7d1ddd95df
More patches
2025-02-16 22:38:29 +01:00
Matthias Koefferlein
f6616dfaf4
WIP: more fixes for Qt 6.8 compatibility
2025-02-16 21:49:05 +01:00
Matthias Koefferlein
c3fe77acd0
Fixing issue #1987 (build failure against Qt6.8)
2025-02-16 20:28:22 +01:00
Matthias Koefferlein
ae5ae25000
Properties filters for EdgePairs and Texts too.
2025-02-16 13:59:50 +01:00
Matthias Koefferlein
1fed2767e8
Property filter for edges too.
2025-02-16 13:35:49 +01:00
Matthias Koefferlein
a219576296
WIP: Region, Edges, EdgePairs and Texts filters can filter by property now, first implementation of Region property filter.
2025-02-16 00:08:35 +01:00
Matthias Koefferlein
54242bc848
Fixed some issues with operator+ and operator+= on Texts, Edges, Regions and EdgePairs with properties
2025-02-15 18:03:15 +01:00
Matthias Koefferlein
e48c6f3660
Edges#each, Edges#each_merged, Region#each, Region#each_merged, Texts#each and EdgePairs#each now deliver objects with properties too.
2025-02-14 22:11:18 +01:00
Matthias Koefferlein
502346608f
[consider merging] Bugfix: fixing a crash when editing PCell parameters (QR code PCell in this case) while the macro editor is open
2025-02-09 22:44:34 +01:00
Matthias Koefferlein
c09184989f
Avoiding call ambiguities when creating Edges, Region, EdgePairs and Texts from arrays of objects with properties.
2025-02-04 23:59:04 +01:00
Matthias Koefferlein
1f44a951f4
Polygon neighborhood compound operation
2025-02-03 20:47:31 +01:00
Matthias Koefferlein
aa67448401
WIP: polygon neighborhood
2025-02-02 23:57:59 +01:00
Matthias Koefferlein
aaae05016e
Fixed unit tests
2025-02-02 21:57:21 +01:00
Matthias Koefferlein
08dbe3aba5
Fixing problem with sorting order of tl::Variant as key in std::map
2025-02-02 19:41:54 +01:00
Matthias Koefferlein
1bd1bb06ce
More support for objects with properties: RDB integration.
2025-02-02 17:00:31 +01:00
Matthias Koefferlein
a282a5d665
Some more tests for properties inside Edges, Regions
2025-01-29 02:42:16 +01:00
Matthias Koefferlein
4fda872048
Fixed unit tests
2025-01-29 02:29:13 +01:00
Matthias Koefferlein
375ac6364b
More support for properties inside Edges, Texts, EdgePairs. WIP
2025-01-29 01:59:00 +01:00
Matthias Koefferlein
dfc7d6bef4
Enhancing Python/Ruby API for better support with properties
2025-01-29 00:59:28 +01:00
Matthias Koefferlein
d9233caa42
Fixed issue #1981
2025-01-29 00:56:37 +01:00
Matthias Koefferlein
f3bed8d4f2
Merge branch 'master' into devel
2025-01-25 21:41:30 +01:00
Matthias Koefferlein
2b2eb2e524
Fixed issue #1976 (crash on cross mode, lw > 1 and oversampling)
2025-01-22 00:24:57 +01:00
Matthias Koefferlein
2a47006a84
C++11 compatibility
2025-01-21 17:07:51 +01:00
Matthias Koefferlein
33b54f3f88
Merge branch 'master' into devel
2025-01-19 22:04:55 +01:00
Matthias Koefferlein
18c86cb204
Supporting log levels <0 on command line too, consistent behavior or log dialog
2025-01-17 10:49:54 +01:00
Matthias Koefferlein
44038cec9e
Updating .pyi files
2025-01-17 10:47:06 +01:00
Matthias Köfferlein
253270aaa3
Merge pull request #1973 from KLayout/feature/issue-1971
...
Feature/issue 1971
2025-01-17 10:10:19 +01:00
Matthias Köfferlein
b4dc9a6b1d
Merge pull request #1968 from KLayout/bugfix/issue-1967
...
Bugfix/issue 1967
2025-01-17 10:10:03 +01:00
Matthias Koefferlein
a75eca5511
Fixing issue #1971 : providing log levels -10 to disable warnings and -20 to disable errors too.
2025-01-16 20:42:53 +01:00
Matthias Koefferlein
07da5a3cf2
More details on Python doc involving class properties.
2025-01-16 20:42:14 +01:00
Matthias Koefferlein
629aef6d06
Fixing an issue with Python class property setters (only helps debugging, does not solve the issue)
2025-01-16 20:41:24 +01:00
Matthias Koefferlein
063040695a
Preparing tests for GSI class properties
2025-01-16 20:40:42 +01:00
Matthias Koefferlein
05ba1743d7
Adding 'Logger#set_verbosity' alias as it is difficult to implement class property setters in Python
2025-01-16 20:40:01 +01:00
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