Commit Graph

968 Commits

Author SHA1 Message Date
Matthias Koefferlein 4cc1d2ff9a Fixed a potential crash
This bug was triggered during development and happened
because the tool bar build code was invalidating
QAction objects indirectly while they are used for
building the main menu.

Solution is to separate building of menu bar and
tool bar / context menus.
2026-05-24 14:09:08 +02:00
Matthias Koefferlein cb918203c7 Adding the ruler options widget and disabling editor options in viewer mode 2026-05-24 00:17:25 +02:00
Matthias Koefferlein b5be4fc497 Small bugfix on object snap - observe snap directions
Problem: snapping with angle constraints and object snapping
sometimes gave results not conforming to the angle constaints.
This happened when shape edges are parallel to the cutlines that
define the angle constraint.
2026-05-24 00:00:30 +02:00
Matthias Koefferlein 4afe2e5e8a Merge remote-tracking branch 'origin/master' into feature/issue-2337 2026-05-20 19:07:39 +02:00
Matthias Köfferlein 0eed5d6ea5
Merge pull request #2354 from KLayout/wip
Wip
2026-05-20 19:06:25 +02:00
Matthias Köfferlein 8488c59c15
Merge pull request #2342 from KLayout/feature/issue-2335
Fixing issue #2335
2026-05-20 19:03:40 +02:00
Matthias Koefferlein fdaa93d234 First implementation of to_bytes/from_bytes for Vector,Point,Box,Polygon,SimplePolygon,Trans,CplxTrans,Text,Path,Edge,EdgePair and variants 2026-05-02 23:21:35 +02:00
Matthias Koefferlein 17f5b4f2da Snapping of rulers: now all points snap when the ruler is moved 2026-05-01 18:57:03 +02:00
Matthias Koefferlein 5d60cfe27d Persisting settings of search features (see discussion 2868) 2026-04-30 21:35:48 +02:00
Matthias Koefferlein 423df1e7e2 Fixing issue #2335
Now, the editor options are also shown in selection mode.
Also, the logic was enhanced that decides whether to show
the editor options or not.
2026-04-26 22:43:13 +02:00
Matthias Koefferlein 93090948ee Fixed issue #2331 - assertion and crash with fractional scaling and oversampling 2026-04-20 22:55:27 +02:00
Matthias Koefferlein 9ad273d834 Fixing a segfault on 'xkill' - solution was to register an exit handler that cleanly shuts down 2026-04-20 22:19:56 +02:00
Matthias Koefferlein b27527b6b9 Fixing issue #2331 2026-04-15 23:19:30 +02:00
Matthias Koefferlein b51caf5d39 Merge branch 'wip' 2026-04-14 19:21:01 +02:00
Matthias Köfferlein 386e780d85
Merge pull request #2328 from KLayout/feature/issue-2326
Modifying the fit logic for issue #2326
2026-04-14 08:58:18 +02:00
Matthias Koefferlein deae8c68b4 Modifying the fit logic for issue #2326
The fit box is computed now the following way
1. Compute the bounding box of "visible" parts
   (i.e. treating empty cells as empty)
2. If that bounding box is empty, compute the
   bounding box using the previous scheme,
   where empty cells are treated as point-like
   with a single point at their origin
2026-04-11 17:34:15 +02:00
Matthias Koefferlein b39556d645 Fixed texts, tab order on config page, compiler warnings 2026-04-11 00:00:44 +02:00
Matthias Koefferlein ade8a54ede WIP 2026-04-10 23:07:23 +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 Köfferlein e82d2140b3
Merge pull request #2280 from KLayout/wip
Wip
2026-03-04 18:46:10 +01:00
Matthias Köfferlein 9b5c76f993
Merge pull request #2290 from KLayout/feature/issue-2248
Providing a solution for #2248
2026-03-03 22:38:31 +01:00
Matthias Köfferlein 5acb789ecf
Merge pull request #2289 from KLayout/bugfix/issue-2285
issues 2285 and 2286
2026-03-01 23:25:56 +01:00
Matthias Köfferlein 0753aa47e4
Merge pull request #2288 from KLayout/bugfix/issue-2284
Implemented backup files for the configuration file
2026-03-01 23:25:08 +01:00
Matthias Koefferlein aaa165df32 Providing a solution for #2248
The solution is to introduce a new object, the layout handle.
A layout handle is a reference counting pointer to a layout.
It can be obtained from a cell view and stored somewhere.
If the cell view is closed, the layout will still exists
as long as a layout handle exists. A layout handle can be
used in LayoutView#show_layout in addition to the Layout
object to re-open a layout that existed in a closed view.
2026-03-01 21:13:40 +01:00
Matthias Koefferlein f3b7146034 Added documentation to clarify constraints on the documentation parameter name 2026-02-28 09:48:54 +01:00
Matthias Koefferlein 25a6db267c Implemented backup files for the configuration file
Currently, up to 10 backups are kept.
"klayoutrc.1" is the most recent backup, "klayoutrc." the
second most recent etc.
2026-02-28 09:39:12 +01:00
Matthias Koefferlein 125f3b459f Added a marker attribute to turn off label frames: Marker#text_frame_enabled. Set it to false to disable the frame 2026-02-24 22:10:05 +01: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 bc49082955 Fixing a small glitch: drawing into a ghost cell is possible, but did not turn off the ghost cell flag. Now the flag is still on, but a non-empty cell is not considered a ghost cell for most purposes. 2026-02-19 23:26:48 +01:00
Matthias Koefferlein b685f89639 C++20 readiness 2026-02-16 23:49:23 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +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 2c65bf85e4 [consider merging] Bugfix: do not stop finder iterations when there are too many founds during text search 2026-01-24 19:32:10 +01:00
Matthias Koefferlein c2c941078d Enabling toolkit widgets for rulers 2026-01-17 01:05:56 +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 49f608c7eb Improving Qt binding solution for RBA::EditorOptionsPage 2026-01-14 23:23:15 +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 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