Matthias Koefferlein
fdb28800f7
Introducing fallback transformation variants for empty layer lists. This allows editing layouts without any layers and only instances.
2025-08-10 21:29:53 +02:00
Matthias Koefferlein
7667932a00
Some adjustments:
...
* Fixed instance marker when the cell is made from empty ones only
* 'fit' will include empty instances
2025-08-10 16:49:51 +02:00
Matthias Koefferlein
0e263ff4d8
Implemented solution for #2110 (small cells and ghost cells)
...
The solution consists of a second path to bounding boxes of
cells - namely "bbox_with_empty". This bounding box is a
(0,0;0,0)-box if the cell is empty. Correspondingly, empty
and ghost cells are displayed as single points. Ghost cells
also behave like hidden cells now.
2025-08-10 15:33:50 +02:00
Matthias Koefferlein
2c873bcbce
WIP
2025-08-10 15:15:50 +02:00
Matthias Koefferlein
0bc904515c
WIP
2025-08-10 15:13:10 +02:00
Matthias Koefferlein
75125b7a85
WIP
2025-08-10 14:34:22 +02:00
Matthias Koefferlein
1c15d851ee
WIP
2025-08-10 13:59:26 +02:00
Matthias Koefferlein
786d231acd
WIP
2025-08-10 13:51:47 +02:00
Matthias Koefferlein
651fc8cbc7
WIP
2025-08-10 13:49:22 +02:00
Matthias Koefferlein
b4bbc26d6a
WIP
2025-08-10 13:43:19 +02:00
Matthias Koefferlein
29cc603466
WIP
2025-08-09 23:54:01 +02:00
Matthias Koefferlein
e6fa072bee
Fixing 'tap' feature
...
After introducing the "do not select shapes
or instances if they overlap the viewport entirely"
feature, 'tap' was not finding shapes which extended
beyond the view's borders.
This got fixed and for 'tap', such shapes are
considered again.
2025-07-18 23:00:23 +02:00
Matthias Köfferlein
ba640b6d04
Merge pull request #2039 from KLayout/feature/issue-2016
...
First attempt to implement a solution for issue #2016
2025-05-22 19:22:32 +02:00
Matthias Koefferlein
2bd82af6fe
Provide a solution of feature request #2024
...
- There is a new configuration page entry called
"Min spacing" for the grid. The default value is 4.
The value specifies the grid min spacing in
units of UI font height.
- A bugfix is included: the ruler now is drawn after
the grid, hence is not hidden by it (specifically
in checkerboard pattern mode)
- To allow bigger grid spacing, the ruler now
is allowed to grow bigger than before.
2025-04-26 16:52:39 +02:00
Matthias Koefferlein
aa12448747
First attempt to implement a solution for issue #2016
...
The implementation will not update the PCell on
property sheet edits of the guiding shape
if lazy evaluation is requested. Still, changes
are committed to the PCell on committing the
property page.
2025-04-05 20:35:11 +02:00
Matthias Koefferlein
87e7d8e493
Merge branch 'master' into devel
2025-03-06 19:35:32 +01:00
Matthias Koefferlein
2e150980d5
Bugfix: 'Save all' was not updating the dirty state in the panel tabs
2025-03-02 22:12:18 +01:00
Matthias Koefferlein
414a06c70f
Bugfix: tab title was not updated when current cell is renamed
2025-03-02 20:54:00 +01:00
Matthias Koefferlein
f3bed8d4f2
Merge branch 'master' into devel
2025-01-25 21:41:30 +01:00
Matthias Koefferlein
2b2eb2e524
Fixed issue #1976 (crash on cross mode, lw > 1 and oversampling)
2025-01-22 00:24:57 +01:00
Matthias Koefferlein
73dc31244a
Merge branch 'master' into devel
2025-01-04 21:51:37 +01:00
Matthias Koefferlein
2d5ddd794c
Merge branch 'master' of github.com:KLayout/klayout
2025-01-04 19:36:43 +01:00
Matthias Koefferlein
5d57cb5eed
Updating copyright to 2025
2025-01-04 19:32:33 +01:00
Matthias Koefferlein
c9da9dc6e0
Updating copyright to 2025
2025-01-04 19:28:56 +01:00
Matthias Koefferlein
e6ac66f8aa
Providing a more efficient event for property ID changes
2024-12-26 23:11:59 +01:00
Matthias Koefferlein
34febff383
Added a test for property ID by name, value and name/value retrieval.
2024-12-25 21:04:07 +01:00
Matthias Koefferlein
9ea7e68576
WIP
2024-12-22 23:21:04 +01:00
Matthias Koefferlein
19e44e071c
[consider merging] Bugfix: view was not refreshed if properties changed and property selectors were present
2024-12-22 15:17:10 +01:00
Matthias Koefferlein
f095374455
WIP: switching prop id change notification to events
2024-12-22 15:16:35 +01:00
Matthias Koefferlein
58376b3391
Fixing issue #1948 (crash on dragging a cell) - problem was the popup which Qt does not like during drag-and-drop operations.
2024-12-08 19:36:37 +01:00
Matthias Koefferlein
998a780676
Fixing bug #1941 (crash with navigator open)
2024-12-02 21:44:18 +01:00
Matthias Koefferlein
f53658ea4c
Handling problem of redundant key bindings
...
For example, @toolbar.ruler and edit_menu.modes.ruler was
redundant in a sense that they point to the same action,
hence, each entry in the key_binding config was overriding
the other one.
To solve this, there now is a primary entry, which is the
edit_menu one. Only that entry is effective and listed
in key_bindings.
2024-12-02 21:29:05 +01:00
Matthias Koefferlein
c25896ef40
Add-on: don't select texts if they are not shown
2024-11-30 21:54:01 +01:00
Matthias Koefferlein
2c6eca04d6
selecting shapes only if edges are visible too
2024-11-30 21:45:41 +01:00
Matthias Koefferlein
d361030048
Clearing status bar message when nothing is selected
2024-11-30 21:36:43 +01:00
Matthias Koefferlein
692967921a
Selecting instances only if one edge is visible
...
This is supposed to avoid that you select guard ring
cells for example and move them while working
on small details.
2024-11-30 21:35:06 +01:00
Matthias Koefferlein
6861b68964
Merge branch 'extended-transient-selection-config'
2024-11-30 08:27:01 +01:00
Matthias Köfferlein
637660ca69
Merge pull request #1933 from KLayout/wip
...
Wip
2024-11-30 08:23:35 +01:00
Matthias Koefferlein
e533a34a08
Fixing the problem of (sometimes) slow transient selection (edit mode, top level selection only, large and interleaving arrays)
2024-11-25 23:23:48 +01:00
Matthias Koefferlein
d5bebda6af
Formatting key-bindings and menu visibility in klayoutrc differently (one entry per line), so they are easier to edit
2024-11-24 18:31:19 +01:00
Matthias Koefferlein
5578b01f03
Some refactoring with the goal to support "move by" with "clone interactive"
2024-11-23 23:38:53 +01:00
Matthias Koefferlein
1c23d77073
By default, layer properties are initialized when no .lyp file is specified in a technology
...
You can turn this feature off by disabling the "Initialize other layers with default properties"
option on the techology's "General" page.
2024-11-23 15:19:33 +01:00
Matthias Koefferlein
abe578562f
Extended (transient) selection config
...
- Line style can be configured for selection + transient selection
- Transient selection has it's own styles
2024-11-21 23:10:59 +01:00
Martin Köhler
7dcba4cebc
Bugfix/issue 1930: Fixed type from char to int
2024-11-19 17:23:06 +00:00
Matthias Köfferlein
05c13e66b0
Merge pull request #1904 from KLayout/bugfix/issue-1902
...
Bugfix/issue 1902
2024-10-20 13:28:50 +02:00
Matthias Koefferlein
c6a9a59247
Maybe fixing second part of issue #1902 .
2024-10-19 17:20:49 +02:00
Matthias Koefferlein
f25693373e
Small doc update
2024-10-06 19:07:42 +02:00
Matthias Koefferlein
2e58421fb3
Fixed builds without Qt and without libpng
2024-09-22 01:40:03 +02:00
Matthias Koefferlein
7a7ee8492b
Some enhancements to "Descend" and "Ascend"
...
- Ascend now ascends further up if a child cell is
selected as top level cell
- Descend now looks into transiently selected shapes
or instances too (mouse hover mode)
- New feature "Descend into" which combines "Descend"
with "make new top".
- Fixed a compiler warning in layLayoutViewBase.cc
2024-08-10 14:58:02 +02:00
Matthias Köfferlein
857fbc873c
Merge pull request #1824 from KLayout/bugfix/issue-1823
...
Fixed bug #1823 (select_all not working)
2024-08-10 13:33:48 +02:00
Matthias Koefferlein
aada3424a9
Fixed non-Qt builds
2024-08-09 17:45:24 +02:00
Matthias Koefferlein
f218c009a0
Fixed bug #1823 (select_all not working)
...
1. Fixed "LayoutView#select_all"
2. Box selection now will select texts at their origin again:
this way it is included in the bounding box. Point mode still
takes the text's glyph area.
2024-08-08 23:26:05 +02:00
Matthias Koefferlein
7470023d38
Deploying font_resolution somewhat further, but not using it for now
2024-08-03 22:47:10 +02:00
Matthias Koefferlein
40e360e640
Fixed a potential segfault in the text renderer
2024-08-03 22:23:48 +02:00
Matthias Koefferlein
3290d0ab21
Introducing font resolution
...
With the subresolution mode, the "Default" fonts get very small.
Hence, a separate font resolution is provided which
applies to "Default" font rendering only.
2024-08-03 21:10:25 +02:00
Matthias Koefferlein
a802cd0e91
Proper scaling with resolution
...
- stipple display in layer list now follows view resolution
- using DCoord for text default size for cases where default size < DBU
2024-08-03 18:41:55 +02:00
Matthias Koefferlein
cd69f29508
Basic feature implemented. Needs improvement.
2024-08-03 09:55:59 +02:00
Matthias Koefferlein
915cc53195
Convenience: copy cells now has an option to mute the dialog (shallow/deep) and the dialog is only shown if there are subcells
2024-07-20 00:03:43 +02:00
Matthias Koefferlein
a49f907cfa
Doc fixes
2024-06-30 00:07:52 +02:00
Matthias Koefferlein
7eadac527b
Debugging and finalization
2024-06-29 23:55:02 +02:00
Matthias Koefferlein
b92c7bf225
Refined solution
2024-06-29 23:22:32 +02:00
Matthias Koefferlein
f9899efea3
First implementation
2024-06-29 23:02:29 +02:00
Matthias Koefferlein
a3d226d99f
Fixing the specific problem of issue #1709
2024-06-04 20:34:45 +02:00
Matthias Koefferlein
4b0a3dff64
Bug fixing.
2024-06-01 12:49:07 +02:00
Matthias Koefferlein
11139cd4da
Trying to fix problem of deleted top-level menus
2024-06-01 12:16:21 +02:00
Matthias Koefferlein
2827bed6c2
Updating documentation, taking out test code
2024-05-31 17:49:35 +02:00
Matthias Koefferlein
ad64f30033
Bugfixing the solution
2024-05-31 17:44:32 +02:00
Matthias Koefferlein
c148f591b4
Proposing a fix for issue #1722 : add a '...' menu to hold the dynamic parts
2024-05-31 11:25:14 +02:00
Matthias Koefferlein
aef8161c82
[consider merging] cross-hair cursor should not use selection default line width and styles (halo etc.)
2024-02-05 21:22:47 +01:00
Matthias Koefferlein
9184bef6f8
Transient mode for auto-measure ruler
2024-01-28 18:25:02 +01:00
Matthias Koefferlein
9a52095dd0
Merge branch 'master' into wip
2024-01-07 17:25:11 +01:00
Matthias Koefferlein
88c3d30982
Implemented solution for issue #1583
...
- new attribute "title" for MainWindow to get and set title
(includes extrapolation to add dynamic content)
- also added LayoutView#is_dirty for emulation of the
standard behavior
- plus side effect: LayoutView#synchronous is now readable
2024-01-05 19:40:09 +01:00
Matthias Koefferlein
2b4a583f05
Update copyright year
2024-01-01 17:27:59 +01:00
Matthias Koefferlein
d248bfddf3
Updating copyright to new year
2024-01-01 17:06:23 +01:00
Matthias Koefferlein
11fbad0104
eliminating some unnamed arguments
2023-12-28 21:35:14 +01:00
Matthias Koefferlein
f685fe3adf
WIP: keyword arguments for expressions
2023-12-28 01:03:21 +01:00
Matthias Koefferlein
d1695b88af
Merge branch 'wip'
2023-12-23 18:05:54 +01:00
Matthias Koefferlein
2a5b019730
Bonus track: 'visibility follows selection'
2023-12-14 23:11:16 +01:00
Matthias Koefferlein
6e589e2bb3
Fixed issue #1533 (KLayout crashing with two consecutive calls of the same LayoutView::show_layout command)
2023-11-19 21:14:32 +01:00
Matthias Koefferlein
261d0249e8
Merge branch 'wip'
2023-10-19 21:23:07 +02:00
Matthias Koefferlein
45f3216530
Fixed issue #1510 (cross hair cursor, with options to enable from menu, color and line style can be configured)
2023-10-19 02:00:31 +02:00
Matthias Koefferlein
67d934194f
Added line style selection widget
2023-10-19 01:59:35 +02:00
Matthias Koefferlein
3c297a28d8
Fixed issue #1512 ('get_image' of LayoutView should also work on inactive views)
2023-10-18 21:21:05 +02:00
Matthias Koefferlein
3fbdb065fd
Editor option for controlling snapping (snap to grid while moving), more consistent snap behavior, instance snapping
2023-10-05 22:25:30 +02:00
Matthias Koefferlein
0a546ef41d
WIP
2023-10-02 23:18:36 +02:00
Matthias Koefferlein
b360df16e3
Fixed problem discussed in the form ( #2365 ) - processEvents needed for LayoutView#get_image etc.
2023-09-11 23:04:56 +02:00
Matthias Koefferlein
10f3380023
Enhancement: 'copy interactive' will maintain selection
2023-09-03 16:14:44 +02:00
Matthias Koefferlein
695ec041af
Enhancement: Allowing to select cells by error markers too (so that PCells with errors can be selected)
2023-08-27 11:27:46 +02:00
Matthias Koefferlein
254015617d
Merge branch 'wip' into wip2
2023-08-11 19:17:01 +02:00
Matthias Koefferlein
4742e255fc
Fixes issue #1453 : fixed performance issue which was caused by a deep search for texts in transient selection
2023-08-07 18:23:05 +02:00
Matthias Koefferlein
3642cff120
Implemented relative mode for marker browser config. Can read existing config.
2023-08-05 23:20:46 +02:00
Matthias Koefferlein
3f80d7bbe1
Added lay::Margin object
2023-08-05 22:17:28 +02:00
Matthias Köfferlein
0cae7b0f93
Merge pull request #1442 from KLayout/issue-1438
...
Fixed issue #1438 (Provide a configuration option to switch back to o…
2023-08-05 21:09:51 +02:00
Matthias Koefferlein
f583d5e3db
Fixed a potential segfault of application exit
2023-08-03 19:22:11 +02:00
Matthias Koefferlein
6014ba9fed
Fixed issue #1438 (Provide a configuration option to switch back to old-style text selection (at origin only)
2023-08-01 21:40:54 +02:00
Matthias Koefferlein
3736b59156
it's -> its
2023-07-30 14:46:58 +02:00
Matthias Koefferlein
2ae01a3e91
Do not duplicate cells+layers on "Duplicate"
...
See https://www.klayout.de/forum/discussion/2335 for the rationale
2023-07-30 13:50:49 +02:00
Matthias Koefferlein
e53d432117
Better support for point-like handles
...
PCells have been featuring point-like handles but
they suffered some issues because they have been
mapped to degenerated boxes:
- hardly visible
- could be destroyed using partial editing
Now, the database offers points, hence it is
possible to store points explicitly, so no
tricks need to be played to make them visible.
Editing has been implemented to some extent,
so it is possible for example to configure
handles in the properties dialogs.
2023-07-29 01:01:50 +02:00
Matthias Koefferlein
6e4ac71442
WIP
2023-07-28 23:48:34 +02:00
Matthias Koefferlein
e965f87f58
Merge branch 'master' into wip
2023-07-15 22:48:53 +02:00
Matthias Koefferlein
c831ed15f8
Enhance the selection behavior of partial edit mode: allow selection of edge ends if edges overlap, graphical indicator for selected partial
2023-07-15 00:22:17 +02:00
Matthias Koefferlein
ab9a1283b6
Inherit layout's editable mode from LayoutView instead of application (which is not there for Qt-less Python module)
2023-07-03 22:21:43 +02:00
Matthias Köfferlein
7169910607
Merge pull request #1362 from KLayout/issue-1360
...
Fixed issue #1360 (LayoutViewBase not promoted to LayoutView). Proble…
2023-05-12 23:31:41 +02:00
Matthias Koefferlein
da52eeb7c3
Fixed text bbox computation under the presence of global view transformations and 'apply text transformation' false
2023-05-11 20:05:28 +02:00
Matthias Koefferlein
424c039b7e
More precise testing of edges on mouse hit - without this patch, the selected objects in dense regions are not at the mouse pointer's tip, but somewhat away
2023-05-11 19:03:41 +02:00
Matthias Koefferlein
1422dfb93d
Bugfix, text reference made the program assert
2023-05-11 18:57:24 +02:00
Matthias Koefferlein
c45d1d70d4
Debugging
2023-05-09 23:16:03 +02:00
Matthias Koefferlein
c6f159d720
Adding frame to text display, debugging
2023-05-09 22:36:56 +02:00
Matthias Koefferlein
45394b801a
Debugging TextInfo, added tests
2023-05-09 21:37:15 +02:00
Matthias Koefferlein
df7311ddf7
Fixed issue #1360 (LayoutViewBase not promoted to LayoutView). Problem was that GSI binding of LayoutView happened before LayoutView was fully constructed.
2023-05-09 20:06:34 +02:00
Matthias Koefferlein
0b0f62130c
WIP: refactoring, debugging needed
2023-05-07 23:29:02 +02:00
Matthias Koefferlein
e8048d6686
WIP: preparations - introducing TextInfo
2023-05-07 19:51:15 +02:00
Matthias Koefferlein
7b4ff5d823
Zoom in/out menu functions now use mouse position for zoom center instead of center (if mouse is inside window)
2023-05-06 21:40:36 +02:00
Matthias Koefferlein
541f9a377f
Small refactoring, added persisted flag for meta info
2023-04-16 21:31:25 +02:00
Matthias Koefferlein
dc689e52d1
Added a method 'widget' to LayoutView to deliver the QWidget object for the view
2023-04-13 22:50:58 +02:00
Matthias Koefferlein
0253c25b30
Avoids a Qt warning internally
2023-03-08 22:37:56 +01:00
Matthias Koefferlein
90b59ca14d
Bugfix - properly removing plugins when they are unregistered (unlikely)
2023-02-23 17:07:22 +01:00
Matthias Koefferlein
432b542f3c
Merge branch 'master' into wip
2023-02-19 20:30:49 +01:00
Matthias Koefferlein
79868c40cd
Some enhancements for image editing (e.g. selection remains after moving handles)
2023-02-19 19:54:40 +01:00
Matthias Koefferlein
df562f502a
Avoid a segfault while editing a ruler. This happens is both a selection and a transient selection is active.
2023-02-19 19:00:02 +01:00
Matthias Koefferlein
8038acc236
Updated test data
2023-02-18 09:50:34 +01:00
Matthias Koefferlein
f6edc9c802
Implemented solution for issue #1249 (persist layer properties in session)
2023-02-17 23:41:36 +01:00
Matthias Koefferlein
12693ed212
More steps to fully (hopefully) fix issue #1259 - basically it is important to issue enough active_view_changed and active_technology_change events
2023-01-26 20:31:43 +01:00
Matthias Koefferlein
cfd21d98bf
Merge branch 'issue-1259'
2023-01-26 12:52:23 +01:00
Matthias Köfferlein
ab8cfee1ea
Merge pull request #1258 from KLayout/wip
...
Wip
2023-01-24 21:48:27 +01:00
Matthias Koefferlein
7600eac8a0
Fixed issue-1259
2023-01-24 21:14:36 +01:00
Matthias Koefferlein
bc63a1cd40
Fixed isse #1253
2023-01-24 00:42:31 +01:00
Matthias Koefferlein
017ca1707b
Small bugfix: 'clone panel' did not copy custom line styles
2023-01-13 22:01:18 +01:00
Matthias Koefferlein
33af2b8fcc
Avoid a segfault after explicitly destroying a custom plugin factory object
2023-01-12 21:03:24 +01:00
Matthias Koefferlein
12e34f9282
Fixed issue #1247 . Problem was missing cache clean on assignment of stipple pattern and line styles
2023-01-12 00:11:36 +01:00
Matthias Koefferlein
ef6f3f182a
Fixed issue #1242 (KLayout 0.28.2 crashes when registering a plugin if a layout exists)
...
Problem was twofold: first, events are triggered during
construction of the plugin which met an uninitialized
pointer. Second, the clearing of existing plugins failed
because of iterating a vector while destroying it's members
erased member of it.
2023-01-04 21:17:12 +01:00
Matthias Koefferlein
a85dbd3d31
Updating copyright notice to 2023
2023-01-01 22:27:22 +01:00
Matthias Koefferlein
4429d4c8f7
Fixed #1234 (layer list empty after clone panel)
2022-12-27 20:10:39 +01:00
Matthias Koefferlein
24b8526361
Attempting to speed up layer list for many layers
2022-12-17 20:34:22 +01:00
Matthias Koefferlein
ad27c9a51d
WIP: trying to enhance layout layer lookup performance.
2022-12-13 23:41:34 +01:00
Matthias Koefferlein
43089f31e4
Doc updates
2022-12-09 23:53:41 +01:00
Matthias Koefferlein
d82ff4d3f8
[consider merging] Fixed a problem with editing guiding shapes
2022-10-28 23:40:48 +02:00
Matthias Koefferlein
8f6603d88e
Fixed unit test fails
2022-10-18 01:26:42 +02:00
Matthias Koefferlein
dc927717c2
Multi-selection in properties dialog: bugfixing and finalization
2022-10-13 23:45:21 +02:00
Matthias Koefferlein
187aae2649
WIP: multi selection property dialog
2022-10-08 00:37:39 +02:00
Matthias Koefferlein
62e0d83b3a
WIP: further development on selection tree on objects dialog
2022-10-07 00:44:12 +02:00
Matthias Koefferlein
eb004e45e1
WIP: generalized interface of properties page
2022-10-06 21:31:16 +02:00
Matthias Koefferlein
3b6ef57ddc
Cross size in marked mode now scales with resolution
2022-10-01 23:22:36 +02:00
Matthias Koefferlein
914ad98858
Ruler edge marker is now visible also for scaling > 1
2022-10-01 21:59:34 +02:00
Matthias Koefferlein
1bff5c1ac3
WIP: layer icons now follow oversampling and high-resolution mode, new GSI method to fetch layer icon: LayoutView#icon_for_layer
2022-10-01 19:20:06 +02:00
Matthias Koefferlein
00e78eb76c
Highres mode config option - display utilizes full pixel density
2022-10-01 16:24:05 +02:00
Matthias Koefferlein
7b4b345cf4
Multiple stacks for net tracer - finished selection box in net tracer dialog
2022-09-25 19:10:30 +02:00
Matthias Koefferlein
4381f29945
Fixed builds
2022-09-19 01:05:45 +02:00
Matthias Koefferlein
c9f4dac931
Fixed builds
2022-09-19 01:02:18 +02:00
Matthias Koefferlein
ee3facfa13
Fixed printout
2022-09-18 21:53:38 +02:00