Matthias Koefferlein
853a7d7a13
Refinement of HM fix
2025-10-23 00:25:47 +02:00
Matthias Köfferlein
e955e4e987
Merge pull request #2193 from KLayout/feature/issue-2147
...
Feature/issue 2147
2025-10-21 21:52:55 +02:00
Matthias Köfferlein
df261559b0
Merge pull request #2189 from KLayout/feature/issue-2180
...
Feature/issue 2180
2025-10-21 21:52:41 +02:00
Matthias Köfferlein
e3e96c97c7
Merge pull request #2188 from KLayout/feature/issue-2176
...
Implemented solution for issue #2176
2025-10-21 21:52:26 +02:00
Matthias Koefferlein
a1d6ff9a3c
Selectability follows visibility
2025-10-20 22:57:03 +02:00
Matthias Köfferlein
3183b707ea
Merge pull request #2190 from KLayout/bugfix/issue-2160
...
Applied suggested patch for #2160
2025-10-19 19:46:21 +02:00
Matthias Köfferlein
0ce335d8cf
Merge pull request #2192 from KLayout/bugfix/issue-2191
...
Implemented a fix for issue #2191 (LIBNAME not saved)
2025-10-19 19:45:37 +02:00
Matthias Köfferlein
af667ef6bf
Merge pull request #2187 from KLayout/feature/issue-2175
...
Solution for issue #2175
2025-10-19 19:45:26 +02:00
Matthias Köfferlein
295ce2a340
Merge pull request #2186 from KLayout/feature/issue-2174
...
Fixed issue #2174 - two new events
2025-10-19 19:45:15 +02:00
Matthias Köfferlein
397bae03cf
Merge pull request #2185 from KLayout/feature/issue-2170
...
Moving the checkbox as requested
2025-10-19 19:45:00 +02:00
Matthias Köfferlein
b885cf64e7
Merge pull request #2184 from KLayout/bugfix/issue-2169
...
Fixed issue #2169 : adding path to 'python' and 'ruby' subfolders to i…
2025-10-19 19:44:50 +02:00
Matthias Koefferlein
6746dad08a
Fixed display of markers for ghost cells in viewer mode
2025-10-19 19:39:46 +02:00
Matthias Koefferlein
48f6610457
Fixing Python module builds
2025-10-19 18:49:08 +02:00
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 Koefferlein
13af65270a
Applied suggested patch for #2160
2025-10-19 12:10:36 +02:00
Matthias Koefferlein
19dc5e8edb
Implemented a solution for #2180
...
Implements a new option to show/hide unresolved references
(ghost cells). The option is found in "Display/Cells"
in the Setup dialog and also in the View menu.
2025-10-18 23:40:50 +02:00
Matthias Koefferlein
0016710573
Preparations: more planes, for ghost cells too
2025-10-18 23:06:23 +02:00
Matthias Koefferlein
780615ea9d
Implemented solution for issue #2176
...
- On "via" (Key "O"), the application switches into path mode
- A selection menu pops up if multiple layers are possible starting
points below the cursor
As a side effect, "tap" will only display the layer selection menu
if there is more than one layer to be selected.
2025-10-18 22:02:58 +02:00
Matthias Koefferlein
c927ed121b
Solution for issue #2175
...
The solution consists of a new object, namely "TextInfo"
which allows deriving the true label bounding box from a
Text or DText object. See class documentation for details.
2025-10-18 19:26:17 +02:00
Matthias Koefferlein
3ca88ebfcb
Fixed issue #2174 - two new events
...
1.) LayoutView#on_current_layer_changed(iter)
"iter" is the iterator pointing to the new current layer
Is called after the current layer (the highlighted layer)
changed.
2.) LayoutView#on_selected_layers_changed
Is called after the selected layer set changed.
2025-10-18 15:46:10 +02:00
Matthias Koefferlein
3a352506a9
Moving the checkbox as requested
2025-10-18 15:13:03 +02:00
Matthias Koefferlein
84c76096cb
Fixed issue #2169 : adding path to 'python' and 'ruby' subfolders to interpreter search path also for technologies, not only for packages.
2025-10-18 15:01:44 +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
Matthias Koefferlein
aed28098f2
First solution, needs more testing
2025-09-04 23:30:39 +02:00
Matthias Koefferlein
af6762b52d
Fixing issue #2134 ('merged' on edge layers not working in DRC)
2025-09-04 21:58:46 +02:00
Matthias Koefferlein
3b86448a0a
Fixed issue #2133 (crash in editor search&replace)
2025-09-04 21:36:54 +02:00
Matthias Koefferlein
50cad403b2
Doc updates (vias, paths)
2025-09-04 20:46:30 +02:00
Matthias Koefferlein
3d8eaf8dbf
Changed via key binding to 'O'
2025-09-04 20:27:43 +02:00
Matthias Koefferlein
e6692a2fd0
Added LayoutView#layer_list_name as read access for LayoutView#rename_layer_list
2025-09-04 19:59:57 +02:00
Matthias Koefferlein
128f92c427
Doc update
2025-09-04 19:53:36 +02:00
Matthias Koefferlein
7f29cf91df
Removing GSI methods which are no longer required as they are included in the base class now, added + fixed GSI unit tests for LayoutView
2025-09-04 19:50:51 +02:00
Matthias Koefferlein
b3123d385a
Updating samples to include focus pages
2025-09-04 19:24:49 +02:00
Matthias Koefferlein
b9115fc0a2
WIP: Enhancements to EditorOptionsPages API
...
- Make RBA::LayoutViewBase derived from Dispatcher, so we can pass LayoutView
to methods asking for a dispatcher
- For this, the Dispatcher needs to be the first base class of LayoutViewBase
and gsiDeclLayDispatcher is moved to laybasic
- API for editor options pages and message passing (callbacks)
2025-09-03 00:02:18 +02:00
Matthias Koefferlein
0447080d17
WIP: polishing geometry of modal editor options widget
2025-09-02 21:21:00 +02:00
Matthias Koefferlein
a24e2431a2
WIP: automatically calling ungrab_mouse on deactivation of plugin
2025-09-02 20:28:55 +02:00
Matthias Koefferlein
2b04ecb1f7
WIP: experimental - modal editor options pages
2025-09-02 00:45:42 +02:00
Matthias Koefferlein
53a7414757
Merge branch 'master' into devel
2025-08-31 21:53:43 +02:00
Matthias Köfferlein
70ba27c8f2
Merge pull request #2131 from KLayout/vias-development
...
Vias development
2025-08-31 21:53:12 +02:00
Matthias Koefferlein
1e570351fb
Refactoring (GSI base class for EditorOptionsPage), preparations for 'focus_page' feature
2025-08-31 20:37:48 +02:00
Matthias Koefferlein
a7518f5452
Fixing Python module builds
2025-08-31 19:38:22 +02:00
Matthias Koefferlein
84c518b057
Trying to fix Python module builds
2025-08-31 18:18:32 +02:00
Matthias Koefferlein
e21eb6aafc
Typo fixed
2025-08-31 17:52:04 +02:00
Matthias Koefferlein
4d9f924466
Refactoring: providing GSI binding to plugin base class, so the super implementation can be called.
2025-08-31 17:49:13 +02:00
Matthias Koefferlein
57a4984959
WIP: refactoring of heavy Plugin GSI binding functions
2025-08-31 15:50:26 +02:00
Matthias Koefferlein
43454962d4
Improving ruler snapping (after move_transform, snap to objects, visual snap details hint ...)
2025-08-30 23:30:51 +02:00
Matthias Koefferlein
53c173d01e
[consider merging] avoid a warning on writing cells/files in 'under_construction' mode when there is nothing to update
2025-08-30 21:49:27 +02:00
Matthias Koefferlein
6a9269a9ae
[consider merging] Bugfix: internal error when copying while move/copy operation of images and rulers
2025-08-30 21:30:15 +02:00
Matthias Koefferlein
0187abfafc
[consider merging] Bugfix: internal error when trying to replace a shape in a standalone Shapes collection while preserving properties
2025-08-30 19:37:12 +02:00
Matthias Koefferlein
7f7a5bd3ac
Bugfix: properly integrating newborn plugins
2025-08-30 18:55:16 +02:00
Matthias Koefferlein
340c1ef6e9
Some refactoring, editor options are shown more consistently now
...
Specifically, in move mode, now the editor options
are shown too. This makes sense as some of these
options there are also effective in move mode.
2025-08-30 18:39:41 +02:00
Matthias Koefferlein
f1c16a0242
Adding samples for new plugin features, doc update.
2025-08-30 14:53:46 +02:00
Matthias Koefferlein
e396b6ec29
WIP: bug fixes and more tests
2025-08-30 13:35:01 +02:00