Commit Graph

5761 Commits

Author SHA1 Message Date
Matthias Koefferlein 0d09ef6df7 Refinement: do not merge library cells that are already present 2025-10-19 18:34:54 +02:00
Matthias Koefferlein 6d234d4ea5 Merge branch 'master' into feature/issue-2147 2025-10-19 18:20:53 +02:00
Matthias Koefferlein 06aa0c48cd Commit local changes before merge 2025-10-19 18:00:43 +02:00
Matthias Koefferlein c9fde4c3cd Implemented solution for #2147 (merge multiple files into one library)
The complication is auto-load: in case one file changed and needs to
get merge, the whole library needs to be updated. Solution is to do
a rescan of the whole folder in case something has changed there.
2025-10-19 17:47:02 +02:00
Matthias Koefferlein 937e557564 Implemented a fix for issue #2191 (LIBNAME not saved)
The fix consists of moving that options into the case-specific
options like DBU, instead of having it in the format-specific,
default writer options. So they can be specified on a per-case
basis and taken from the current layout by default.

Specifically:
* SaveLayoutOptions#gds2_libname is deprecated and replaced
  by SaveLayoutOptions#libname
* -ol (buddy tools) is no longer format specific
* The GDS writer takes SaveLayoutOptions#libname, and
  if empty, substitutes by the current libname. As last
  resort, "LIB" is used, because LIBNAME cannot be an
  empty string.
* The libname got removed from the global writer options UI
* In the "Save As" options dialog, it now is part of the global
  options and initialized with the current layout's libname.
2025-10-19 13:36:07 +02:00
Matthias Köfferlein 8cc01ca814
Merge pull request #2178 from KLayout/feature/issue-2168
Feature/issue 2168
2025-10-18 13:51:25 +02:00
Matthias Köfferlein 5c11f9201a
Merge pull request #2177 from KLayout/bugfix/issue-2173
Issue #2173 fixed
2025-10-18 13:51:13 +02:00
Matthias Köfferlein 77cc0be2ef
Merge pull request #2164 from KLayout/bugfix/issue-2162
Bugfix/issue 2162
2025-10-18 13:50:47 +02:00
Matthias Koefferlein ce0d619470 Force update of cell tree after rename of library 2025-10-15 22:35:27 +02:00
Matthias Koefferlein bbd473ef47 Added 'Cell#change_ref' to modify the library reference of a cell 2025-10-14 23:50:08 +02:00
Matthias Koefferlein b3cc5d73fe Renaming a library will also change the references 2025-10-14 23:13:10 +02:00
Matthias Koefferlein 572fa7db18 Issue #2173 fixed
- on_selection_changed is issued on "del"
- it is also issued on "reduce selection to highlighted ones" in property dialog
2025-10-12 21:29:39 +02:00
Matthias Koefferlein d1e440d565 Doc updates 2025-10-11 21:23:58 +02:00
Matthias Koefferlein 67de518611 'Refresh Libraries' feature in File menu, new GSI method Library#refresh_all (static) 2025-10-11 21:14:56 +02:00
Matthias Koefferlein 5045287712 Bugfixes 2025-10-11 19:26:11 +02:00
Matthias Koefferlein ff2beaf32f Bugfix: cells were not replaced by defunc cold proxies after unregistering a lib 2025-10-11 17:54:26 +02:00
Matthias Koefferlein b3ec482eb8 WIP (also for other issue #2172)
- New virtual method "reload" for Library
- Implementing that for file-based libraries
- Integrating that into "refresh"
- GSI binding for Library#rename, Library#unregister
- Trigger changed event on Library#unregister
- Library#_destroy will unregister the library
- Typos fixed
2025-10-11 16:24:25 +02:00
Matthias Koefferlein 17f4397f1b Refining solution 2025-09-28 20:17:52 +02:00
Matthias Koefferlein 31ddbe24fa Fixed a potential crash on application exit that was discovered during debugging 2025-09-28 16:25:35 +02:00
Matthias Koefferlein 292f6f84c6 Fixing issue #2162 (crash on selection + query)
Problem was that changing the active cellview index by clicking
on a specific item in the properties dialog cause a "clear_selection".
That interfered with the code of the properties dialog that
expects a static selection.

Fixed by disabling the events that lead to "clear_selection".
Side effect is that under these circumstances the active_cellview_changed
event is not triggered which also prevents side effects due to
scripts hooking into that event.
2025-09-28 16:14:11 +02:00
Matthias Koefferlein a93d514911 More sanity checks for cell index on various Layout methods 2025-09-28 14:46:30 +02:00
Matthias Koefferlein de72b05334 Moving code around so that laybasic can again be host for Plugin class - this enables putting that into the Python module without having Qt. 2025-09-24 23:17:43 +02:00
Matthias Koefferlein 97b6d82358 Moving lay.ButtonState, KeyCode and Cursor to Qt-less space again 2025-09-24 22:28:07 +02:00
Matthias Koefferlein 8b0a8c7317 Regenerating DRC doc and stubs 2025-09-11 22:13:52 +02:00
Matthias Koefferlein 0daba4f5e0 Fixing 64 bit coordinate build and incorrect porting of fill tool code. 2025-09-10 23:39:28 +02:00
Matthias Koefferlein 8659e165d5 Adjusting one sample 2025-09-10 18:21:59 +02:00
Matthias Köfferlein 0f739bcbef
Merge pull request #2146 from KLayout/devel
Devel
2025-09-10 16:02:48 +02:00
Matthias Koefferlein 788dd2b1bc Fixing non-Qt builds 2025-09-09 22:36:41 +02:00
Matthias Koefferlein e4789f7f1b Enhanced object snapping for box edit mode - other corners snap too second order 2025-09-09 21:52:40 +02:00
Matthias Koefferlein 879df5a85b [consider merging] LayoutView#clear_layer_list preserves layer list name now 2025-09-09 19:38:18 +02:00
Matthias Koefferlein 712237e67b Implemented solution for issue #2145 (default_text_size option for GDS2 writer) 2025-09-08 23:23:05 +02:00
Matthias Koefferlein 0ddc07392b [consider merging] suppress normalization of orientation on GSI DPolygon#to_itype and Polygon#to_dtype 2025-09-08 21:16:05 +02:00
Matthias Koefferlein e2b5c29131 Some refactoring, bug fix 2025-09-08 19:30:07 +02:00
Matthias Koefferlein 20a3dbeaf8 Some refactoring (generalizing edt:: functions, basing move tool on lay::EditorService and support for 'tab' key (calls 'move by') 2025-09-08 18:54:00 +02:00
Matthias Koefferlein e9584c289a Tab order of some dialogs 2025-09-08 00:11:24 +02:00
Matthias Koefferlein 7fd01a64f6 WIP: adding tab key to move tool (calls 'move by' menu), enhancing 'move_to' and 'move_by' dialogs. 2025-09-07 23:54:40 +02:00
Matthias Koefferlein aba1f87b0d Enhancement to layer binding for images: now saving as img::ObjectV2 if layer binding is present. This does not break old KLayout versions trying to read session files. But old KLayout version will still crash when trying to save such a session. 2025-09-07 22:51:31 +02:00
Matthias Koefferlein aa9d951cf7 Fixing build for old Qt versions 2025-09-07 21:43:23 +02:00
Matthias Koefferlein 128b1e596c [consider merging] MainWindow should be managed (derived from gsi::ObjectBase) 2025-09-07 21:40:07 +02:00
Matthias Koefferlein 3d5833d323 Updated doc 2025-09-07 18:49:14 +02:00
Matthias Koefferlein eb6369f90f Updated doc 2025-09-07 00:31:08 +02:00
Matthias Koefferlein cd34125b0c Bugfixing new implementation of fill tool, added tests for DRC implementation 2025-09-06 22:28:01 +02:00
Matthias Koefferlein 810f5fb8aa Added basic fill tool tests for exclude_area 2025-09-06 21:25:47 +02:00
Matthias Koefferlein feda8680ca WIP: exclude area implemented. Needs optimization. 2025-09-06 19:15:12 +02:00
Matthias Koefferlein ff6ab4267b WIP: exclude area for fill functions 2025-09-06 17:58:44 +02:00
Matthias Koefferlein 6ada4cb6f9 [consider merging] fixed build without Qt bindings 2025-09-06 13:41:14 +02:00
Matthias Koefferlein 8901359957 Merge branch 'master' into devel 2025-09-06 13:26:11 +02:00
Matthias Köfferlein 71929bf2be
Merge pull request #2143 from KLayout/feature/issue-2141
Feature/issue 2141
2025-09-06 13:25:28 +02:00
Matthias Koefferlein 90ed8a2390 Excluding degenerated edges from polygons so we don't consider them corners, addressing duplicate corners with zero distance. 2025-09-05 23:48:49 +02:00
Matthias Koefferlein a9d52b7a70 Fixing case of point vs. edge in projecting mode 2025-09-05 08:05:27 +02:00