Commit Graph
950 Commits
Author SHA1 Message Date
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
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