Commit Graph

396 Commits

Author SHA1 Message Date
Matthias Koefferlein b51caf5d39 Merge branch 'wip' 2026-04-14 19:21:01 +02:00
Matthias Köfferlein 9d6fa507d1
Merge pull request #2318 from KLayout/bugfix/issue-2311
Fixed issue #2311
2026-04-14 08:58:38 +02:00
Matthias Koefferlein ade8a54ede WIP 2026-04-10 23:07:23 +02:00
Matthias Koefferlein 60480d35fc Fixed issue #2311
As I see it, only this particular tool top was not
guarded against non-UI mode. All other tooltips
are either guarded or pop up only in a user
interaction context.
2026-04-04 17:08:36 +02:00
Matthias Koefferlein bd9033e20c Wording. 2026-04-04 16:45:44 +02:00
Matthias Koefferlein 222c08a73a Implementing "spaced array" option
The "make array" dialog now has a tab where you can
select "spaced mode". In spaced mode, the bounding box
of the selection is used to compute the array pitch.

You can add a space between the columns and rows and
decide whether to use all layers for the instance
bounding boxes or only the visible ones.
2026-04-04 16:43:59 +02:00
Matthias Koefferlein 60a210c264 Config option: disable generation of new layers
The name of the config option is "auto-create-new-layers".
It is a per-view option and can be edited on the
"Application/Layer Properties" page.

With this option set to true (default), new layers
are automatically added to the layer list on

1. Paste of cells and shapes
2. Placing of instances

Manually adding new layers to the layer list is always possible.
2026-04-04 15:28:05 +02:00
Matthias Koefferlein 65fec36902 Fixed a bug in PCell parameter computation
"coerce_parameters" and "callback" was called with the client layout
instead of definition layout, hence the DBU was incorrect if both layouts have different DBU.

This became visible on the computed character dimensions of the Basic.TEXT
PCell when the client layout had a DBU != 1nm.
2026-04-04 14:40:36 +02:00
Matthias Koefferlein 57eb90df69 Fixed a small glitch (Warning about open transaction at end of partial move) 2026-04-04 14:37:15 +02:00
Matthias Koefferlein b657cd9b57 Bugfix: double clicking an edge in partial mode opened the properties dialog, not setting a point 2026-02-24 21:44:33 +01:00
Matthias Koefferlein 94b84aad62 Fixing dialog title of 'round corners dialog' 2026-02-19 21:43:41 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Koefferlein c15e24025e Experimental: do not list cells starting with underscore in library view 2026-02-06 23:24:05 +01:00
Matthias Koefferlein 91ab72e8e5 Toolkit widget solution enhanced
- Bring text and path options to front when changing mode
- Path width and text string can be configure in toolkit widget
- Enter key finishes move and partial move
2026-02-02 22:05:45 +01:00
Matthias Koefferlein a6eb598abd Some refactoring: global editor option pages are requested from the plugins explicitly. So the generic editor options are not added automatically. 2026-02-02 00:09:29 +01:00
Matthias Koefferlein 8300e2ee57 Added Enter to finish shape edits, added numerical entries for paths and polygons 2026-01-19 22:41:52 +01:00
Matthias Koefferlein c2c941078d Enabling toolkit widgets for rulers 2026-01-17 01:05:56 +01:00
Matthias Koefferlein 6b5dbb1442 Enabling toolbox widgets for box service. Plus add-on: pressing Shift while dragging a box makes it centered. 2026-01-16 01:03:36 +01:00
Matthias Koefferlein 900ac4bc0f Refactoring, displaying move vector also in partial mode 2026-01-15 13:34:52 +01:00
Matthias Koefferlein 9fe22869ed Enabling Qt-less builds 2026-01-15 01:41:09 +01:00
Matthias Koefferlein ca9a3198f5 WIP: some refactoring 2026-01-14 12:48:51 +01:00
Matthias Koefferlein 6666b2b68c Implementing 'diagonal only' for rulers 2026-01-14 02:37:26 +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 cabcde3bf5 [consider merging] Fixing strange snapping behavior on partial move at 45 degree directions 2026-01-13 10:08:57 +01:00
Matthias Koefferlein 15a5f7f7c2 WIP 2026-01-13 02:13:13 +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 fc7011d8fd Use image copy instead of reference for icons. I hope that fixes the problem. 2025-12-10 21:36:46 +01:00
Matthias Koefferlein 1e8321d8fb Merge branch 'master' into issue-2224 2025-12-07 22:30:37 +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 652b596164 Reworked implementation to include user feedback 2025-12-04 22:39:46 +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 78b62e13d1 Handling of guiding shape layers - prevent the properties dialogs from changing it 2025-12-01 18:26:22 +01:00
Matthias Koefferlein 0bb0cb4a12 WIP 2025-12-01 00:28:43 +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 dd9b38a92f Refactoring of Python module build system, now based on configuration files mostly. 2025-11-09 17:46:25 +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 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 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 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 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 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 e4789f7f1b Enhanced object snapping for box edit mode - other corners snap too second order 2025-09-09 21:52:40 +02:00