Commit Graph

922 Commits

Author SHA1 Message Date
Matthias Koefferlein c1b4f97f33 Some fill tool enhancements
* It's possible to specify the fill cell origin now
  (this is the point where the first cell's lower left is placed)
* margin is taken into account when no step vectors are specified
* "No exclude" is default
2026-02-14 22:03:17 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Koefferlein c738cf7255 WIP 2026-01-12 15:45:17 +01:00
Matthias Koefferlein b409ed8b44 Include hidden classes in documentation to avoid confusion. 2026-01-11 01:30:25 +01:00
Matthias Köfferlein 4f30ad36db
Merge pull request #2242 from KLayout/bugfix/issue-2234
Bugfix/issue 2234
2025-12-07 22:28:51 +01:00
Matthias Koefferlein 389a0996fd Messages can have priorities now. The net tracer uses higher-priority messages to make the 'click on second/first point' message more persistent. The have infinite lifetime now. 2025-12-03 22:11:54 +01:00
Matthias Koefferlein bc835adf64 Fixed issue #2221 (restoring 'save' behavior on 'save all')
'save all' now behaves like 'save' on all layouts by respecting
the application-wide writer options.

In addition, a weird feature was fixed: when using 'save' for the
first time, old versions were freezing the writer options and changing the
application-wide options did not have an effect on views after
they were saved the first time.

Now, this behavior only applies to "save as" and a popup is shown
in the top of the layout view indicating that from now on the
special options apply. This way, special options can be picked
in "save as" and they will remain valid during the next "save".
2025-11-27 21:57:13 +01:00
Matthias Koefferlein bbaaa14b2c Bringing 'save all' on the same level than 'same'
- Taking the technology's settings for save options
- Deploying "libname", e.g. for GDS2
2025-11-22 23:57:40 +01: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 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 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 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 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 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 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 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 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 8659e165d5 Adjusting one sample 2025-09-10 18:21:59 +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 128b1e596c [consider merging] MainWindow should be managed (derived from gsi::ObjectBase) 2025-09-07 21:40:07 +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 Koefferlein 3b86448a0a Fixed issue #2133 (crash in editor search&replace) 2025-09-04 21:36:54 +02:00
Matthias Koefferlein 128f92c427 Doc update 2025-09-04 19:53:36 +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 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 Koefferlein 1e570351fb Refactoring (GSI base class for EditorOptionsPage), preparations for 'focus_page' feature 2025-08-31 20:37:48 +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 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 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
Matthias Koefferlein b133bde1c7 WIP: doc updates 2025-08-30 13:24:30 +02:00
Matthias Koefferlein 7d2113ffe1 Some debugging, tests added 2025-08-30 00:34:35 +02:00
Matthias Koefferlein 3eff75433c WIP 2025-08-29 17:50:03 +02:00
Matthias Koefferlein c77a732875 WIP: more features exposed for plugins (snapping) 2025-08-28 23:38:04 +02:00
Matthias Koefferlein c5d5557072 WIP: debugging config page setup in plugins 2025-08-26 22:36:48 +02:00
Matthias Koefferlein b079398b02 Added an editor hooks example for Ruby 2025-08-23 22:52:42 +02:00