Commit Graph

5965 Commits

Author SHA1 Message Date
Matthias Koefferlein 73b078003d Expression objects 'is_a' method now considers derivation 2026-02-02 23:17:15 +01:00
Matthias Koefferlein f0f2ffd714 Fixed keyword syntax in doc 2026-02-02 22:32:21 +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 f0de3013cb Typo fixed 2026-02-01 22:56:56 +01:00
Matthias Koefferlein 0067d46541 Providing a (maybe faster, sometimes) backup implementation for cell mapping - to be used later maybe 2026-02-01 20:27:49 +01:00
Matthias Koefferlein f7870338cf [consider merging] Fixed a MT problem that can be fixed by avoiding recursive calls of Layout::update 2026-01-31 23:02:26 +01:00
Matthias Koefferlein c12942c5bc [consider merging] Fixed a MT problem that can be fixed by avoiding recursive calls of Layout::update 2026-01-31 21:53:28 +01:00
Matthias Koefferlein 6661f5b5dd WIP 2026-01-27 20:54:24 +01:00
Matthias Koefferlein 94a425da0d WIP 2026-01-26 23:55:55 +01:00
Matthias Koefferlein d326df2424 Updating shape count output format and tests 2026-01-25 21:58:44 +01:00
Matthias Koefferlein 9e0572b863 Delayed generation of outputs
In the multi-threaded case this saves some time. Still for
the sample from the issue that is a dominant runtime
component and makes a 8-core run slower than the single-core
one.
2026-01-25 19:37:13 +01:00
Matthias Koefferlein 5278b27683 Following up on a number of Magic reader issues found in the course of issue #2263
* The original issue ("sw" etc for "tri")
* Implementing "magscale"
* Interpolation of environment variables on paths
* Warnings include file positions now
* Ignoring "<< properties >>" pseudo-layer
* MAG writer uses zero-area boxes for empty ones
* New test
2026-01-25 19:30:08 +01:00
Matthias Koefferlein 23b3143451 Report flat count in deep mode, optimize hierarchy handling
1. In deep mode, the count report column will report
   hierarchical and flat counts
2. XOR is shortcut evaluated with one empty input. The
   default implementation does that internally, but at
   the cost of mapping to the internal working layout
   which spoils hierarchy.
2026-01-25 13:36:22 +01:00
Matthias Koefferlein 9e79942bb9 Proposing one part of fix 2026-01-25 10:06:58 +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 11701a300e 'Apply' buttons and persistency of values for Layout+Selection 'move to', 'scale' and 'rotate by angle' 2026-01-24 16:19:11 +01:00
Matthias Koefferlein 86ddeb5970 Updating documentation 2026-01-24 14:29:19 +01:00
Matthias Koefferlein de70025316 Finish rulers by pressing the Enter key 2026-01-24 14:29:11 +01:00
Matthias Koefferlein ccd9952d49 Providing numerical move entries also for partial (handle) image and ruler moves 2026-01-22 22:34:34 +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 280d79a02d Bug fixing the other rulers 2026-01-18 22:27:43 +01:00
Matthias Koefferlein 659feb468c Fixing a small glitch when notifications and toolbox widgets interact 2026-01-18 22:12:47 +01:00
Matthias Koefferlein ddee74ab78 Rulers: confine box/ellipse to square/circle with Ctrl, center box/ellipse with Ctrl - same as for drawing boxes 2026-01-18 21:12:26 +01:00
Matthias Koefferlein 18c2f5dfa4 [consider merging] incremental value placeholders for rulers 2026-01-18 18:27:54 +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 49f608c7eb Improving Qt binding solution for RBA::EditorOptionsPage 2026-01-14 23:23:15 +01:00
Matthias Koefferlein 2dd804a70f [consider merging] Bugfix: selecting a recent configuration in the editor options did not select the layer if it was freshly created 2026-01-14 14:31:55 +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 cabcde3bf5 [consider merging] Fixing strange snapping behavior on partial move at 45 degree directions 2026-01-13 10:08:57 +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 c6faa3e628 'extent_refs' DRC function: enabling for edge pairs and edges, clarification of documentation 2026-01-11 22:34:52 +01:00
Matthias Koefferlein 80f78bffc9 Improving solution for net cluster renaming for join_nets 2026-01-11 20:53:18 +01:00
Matthias Koefferlein b324f3f5cc Bugfix/enhancement: keeping clusters and nets in sync when joining nets. This will enhance robustness under presence of soft connection errors 2026-01-11 17:45:44 +01:00
Matthias Koefferlein b409ed8b44 Include hidden classes in documentation to avoid confusion. 2026-01-11 01:30:25 +01:00
Matthias Koefferlein c3b6476176 [consider merging] Bugfix: DRC collect_xyz is available now also for edge pair layers 2026-01-11 00:32:03 +01:00
Matthias Koefferlein 38ddffc645 L2N log entries with net references
* Log entries on the L2N object can now have net references
  (by expanded name) and the nets will be highlighted
  when the log entry is selected in the netlist browser
  For an application see drcSimpleTests:147.
* New function ("db") in evaluate_nets
* BUGFIX: proper computation of transformations for multiple
  selections of nets in netlist browser
2026-01-04 22:48:35 +01:00
Matthias Koefferlein b44bab9943 Making net name mandatory (using expanded_name) for L2N format, so that we can refer to net name in log entries later 2026-01-04 17:10:35 +01:00
Matthias Koefferlein c50b56f868 Shortcutting evalute_nets if there is nothing to do. 2026-01-04 17:10:08 +01:00
Matthias Koefferlein 60a5dc1b8a Bugfix of 'evaluate_nets' function, added tests 2026-01-04 17:07:38 +01:00
Matthias Koefferlein 17a525f39f Fixed a typo 2026-01-04 15:34:48 +01:00
Matthias Koefferlein 407bbbcf62 More options on 'evaluate_nets' expressions, i.e. 'copy'. See documentation for details. 2026-01-03 01:21:30 +01:00
Matthias Koefferlein 5b0e9f146f Fixing issue #2252 (internal error on netlist compare) 2025-12-23 18:46:08 +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 989f80e1a6 Using floats for Polygon::smooth distance checks, so that precise measurements are taken 2025-12-22 21:02:22 +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 ec2c160792 Maybe fixing icon issue on MacOS 2025-12-09 22:30:58 +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 652b596164 Reworked implementation to include user feedback 2025-12-04 22:39:46 +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 7c81a8e954 Small bugfix 2025-12-02 00:26:39 +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 4b6cd3f6f5 Layer selection widget now has layer icons 2025-12-01 18:02:48 +01:00
Matthias Koefferlein 0bb0cb4a12 WIP 2025-12-01 00:28:43 +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 Köfferlein a957386291
Merge pull request #2230 from KLayout/bugfix/issue-2229
Fixed build problem with 64bit coordinates and without Qt
2025-11-25 22:23:48 +01:00
Matthias Koefferlein a35304912f Fixed build problem with 64bit coordinates and without Qt 2025-11-25 22:22:52 +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 Köfferlein 56ff29f516
Merge pull request #2213 from KLayout/bugfix/issue-2210
Fixing issue #2210 (snap behavior for auto-measure)
2025-11-18 19:24:38 +01:00
Matthias Koefferlein 131a7bdf6e Fixing issue #2210 (snap behavior for auto-measure) 2025-11-16 15:05:55 +01:00
Kazunari Sekigawa 68ebbe4abc Fix compile errors on (macOS Sonoma) x (Qt5 MacPorts) 2025-11-14 18:42:58 +09:00
Matthias Koefferlein 7e25b6b986 Fixed LStream writer under the presence of iterated arrays 2025-11-11 23:35:08 +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 b51b15ac63 Updating stubs 2025-11-09 22:59:21 +01:00
Matthias Koefferlein d8d53fb328 Merge remote-tracking branch 'origin/devel' 2025-11-09 21:14:39 +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 9a65cd252c Don't use gcc options on MSVC 2025-11-09 13:51:05 +01:00
Matthias Koefferlein 8da655df43 Fixing DXF tests 2025-11-09 11:36:15 +01:00
Matthias Koefferlein bd6f62013e Importing latest version of LStream package, bug fixes (mag instances, layer were duplicated) 2025-11-09 11:30:00 +01:00
Matthias Koefferlein f2928e94a8 LStream writer options page, updated LStream sources, strm2lstr writer options 2025-11-09 10:17:58 +01:00
Matthias Koefferlein be62abd646 Added strm2lstr buddy tool 2025-11-09 09:10:31 +01:00
Matthias Koefferlein 89cc79cbbc Fixing issue #2208
Problem was rounding that lead to incorrect distance measurements
between parallel edges when one edge was very short.
2025-11-08 23:45:09 +01:00
Matthias Koefferlein 3809e44777 Added smoke tests for streams in Python module 2025-11-08 20:25:06 +01:00
Matthias Koefferlein ef5f8953aa Enabling lstream for Python module builds - that needs some refactoring later 2025-11-08 17:55:51 +01:00
Matthias Koefferlein 93522bc134 Also renaming suffix of generated files to .cc 2025-11-08 16:12:31 +01:00