Commit Graph
928 Commits
Author SHA1 Message Date
Matthias Koefferlein cca73a8ebb WIP, some refactoring and bug fixing. Move toolkit widget works 2026-01-14 00:27:53 +01:00
Matthias Koefferlein e058c47c02 WIP 2026-01-13 18:29:32 +01:00
Matthias Koefferlein c2aa597022 WIP 2026-01-13 16:21:59 +01:00
Matthias Koefferlein ee622fc104 WIP 2026-01-13 12:54:10 +01:00
Matthias Koefferlein 18ef4a12e2 Allowing use of arrow keys for move 2026-01-13 09:21:41 +01:00
Matthias Koefferlein 15a5f7f7c2 WIP 2026-01-13 02:13:13 +01:00
Matthias Koefferlein 8add404adc WIP 2026-01-12 21:00:24 +01:00
Matthias Koefferlein 67790c0ce7 WIP 2026-01-12 19:32:29 +01:00
Matthias Koefferlein 0b9a0c3af1 WIP, e.g. avoiding sticky selection when aborting 'move' by chosing a different mode 2026-01-12 17:05:42 +01:00
Matthias Koefferlein c738cf7255 WIP 2026-01-12 15:45:17 +01:00
Matthias Koefferlein 160cceb7b5 Pressing Ctrl key while drawing a box forces it into a square 2026-01-11 23:46:11 +01:00
Matthias Koefferlein c0059959b8 Two small improvements
1. point-like selections use pan-to-selection instead of zoom-to-selection
2. Drawing texts on hidden layers: one warning less about drawing on a hidden layer
2025-12-22 23:09:38 +01:00
Matthias Koefferlein 1e8321d8fb Merge branch 'master' into issue-2224 2025-12-07 22:30:37 +01:00
Matthias Köfferlein b7bda218b6 Merge pull request #2228 from KLayout/bugfix/issue-2220
Fixing issue #2220 (select fails to select from 2nd layout when two a…
2025-12-07 22:29:08 +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 Köfferlein 9fbaf8fb14 Merge pull request #2232 from KLayout/bugfix/issue-2221
Bugfix/issue 2221
2025-12-07 22:27:37 +01:00
Matthias Köfferlein 590bc91359 Merge pull request #2226 from KLayout/bugfix/issue-2219
Issue #2219 (drawing of empty cells)
2025-12-07 22:27:24 +01:00
Matthias Köfferlein b8ff75d6a4 Merge pull request #2225 from KLayout/feature/issue-2214
Implemented a solution for issue #2214
2025-12-07 22:27:08 +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 fc4a8b92b0 First bug fixes
* Only check for layers in the selected stack - this
  avoids problems with "masking" pin shapes for example
* Use shape transformation for shapes inside hierarchy
2025-12-02 23:00:07 +01:00
Matthias Koefferlein cdaf34cd77 Implementing change of layer accross all shape types
Plus: simplify behavior of "change all" button, so it
is not turned on or off.
2025-12-02 00:05:42 +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 Koefferlein 7026cad2c1 Fixing issue #2220 (select fails to select from 2nd layout when two are loaded in same panel) 2025-11-22 22:35:16 +01:00
Matthias Koefferlein 12b74517a6 Issue #2219 (drawing of empty cells)
1. Optimiziation - not more than one empty cell per pixel
   This is not very efficient on the available test cases.
2. Introducing a virtual dimension for the empty cells
   for the purpose of label scaling.
   With this, the labels are scaled (if a scalable font
   is selected) and not drawn when becoming very small.
   The parameter is found in the setup pages under
   Display/Cells.
2025-11-20 23:05:35 +01:00
Matthias Koefferlein dd8cc8973f Implemented a solution for issue #2214
- The mouse release event's button mask reflects the
  keyboard modifiers at the time the button was released
- Same for click event
- Selection tool and partial selection uses the buttons
  from the release event
- New bitmap mask constants are available to extract the
  keyboard modifiers and mouse buttons from the button mask.
- Documentation was enhanced
2025-11-20 20:36:48 +01:00
Matthias Koefferlein 131a7bdf6e Fixing issue #2210 (snap behavior for auto-measure) 2025-11-16 15:05:55 +01:00
Matthias Koefferlein 25d396023a Refinement of snap, fixed tests 2025-11-11 00:21:28 +01:00
Matthias Koefferlein ea3e1e98b7 Better snapping to vertexes - important for center point snapping 2025-11-10 23:21:28 +01:00
Matthias Koefferlein dd9b38a92f Refactoring of Python module build system, now based on configuration files mostly. 2025-11-09 17:46:25 +01:00
Matthias Koefferlein 7d0912db17 Fixing unit tests after change of snap behavior 2025-11-02 00:00:11 +01:00
Matthias Koefferlein ddc847ac1f Object snapping: now snapping to edge centers for polygons and boxes, snapping to box centers 2025-11-01 16:44:40 +01:00
Matthias Köfferlein 3a069427cd Merge pull request #2202 from KLayout/bugfix/issue-2201
Fixed issue #2201 (trace path)
2025-10-26 16:35:43 +01:00
Matthias Koefferlein b454d2ae42 Fixed issue #2201 (trace path)
* you can zoom in now to select the end point. Problem was
  actually that zooming in was a problem when the start point
  went out of the viewport

In addition:
* Messages are sticky now ("Click on second point")
* "Esc" will cancel path trace mode
* The cursor switches back to normal after tracing
2025-10-25 23:12:22 +02:00
Matthias Koefferlein e6e85ab3b3 FIxing issue #2194 (can't attach key binding to 'forward'/'backward') 2025-10-23 21:49:24 +02:00
Matthias Koefferlein 564111af77 Merge branch 'master' of github.com:KLayout/klayout 2025-10-23 19:21:26 +02:00
Matthias Koefferlein b4371d14ca Fixing TextInfo bbox in case of oversampling 2025-10-23 19:19:06 +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 Koefferlein a1d6ff9a3c Selectability follows visibility 2025-10-20 22:57:03 +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 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 0016710573 Preparations: more planes, for ghost cells too 2025-10-18 23:06:23 +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 Köfferlein 5c11f9201a Merge pull request #2177 from KLayout/bugfix/issue-2173
Issue #2173 fixed
2025-10-18 13:51:13 +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 31ddbe24fa Fixed a potential crash on application exit that was discovered during debugging 2025-09-28 16:25:35 +02:00