Commit Graph

5339 Commits

Author SHA1 Message Date
Matthias Koefferlein 99df15a5ff Update on issue 1422 fix - fixing an array index out of bounds issue; do no use control points for first and last point as splines may not be designed to terminate at those. 2023-07-22 18:14:14 +02:00
Matthias Koefferlein 292892d1ae Some performance enhancement for Python binding 2023-07-15 22:50:29 +02:00
Matthias Koefferlein e965f87f58 Merge branch 'master' into wip 2023-07-15 22:48:53 +02:00
Matthias Koefferlein 35e42a8117 Fixed issue-1422 (DXF file parsing error)
Problem were two spline interpolation issues:
1. wrong stop criterion for recursion
2. wrong implementation of single-point interpolation
2023-07-15 16:05:40 +02:00
Matthias Koefferlein 563f1026e8 Bugfix: tilde expansion wasn't working on layout write 2023-07-15 13:37:07 +02:00
Matthias Koefferlein 0b50d9e87a Performance improvement of DRC in the small layout case (log view overhead reduced) 2023-07-15 12:58:09 +02:00
Matthias Koefferlein b4502d1766 Enhancement: wheel events do no longer change combo box entries 2023-07-15 12:37:31 +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 67436d81a5 Add default extension to file names unless one is given 2023-07-14 22:04:38 +02:00
Matthias Koefferlein 7bcbd607b7 Meta infos in GDS2 files do not make old KLayout versions fail always
Only these cases are not supported by old versions:
* Layout-object meta info
* Meta info on top cell (renders an empty layout)
2023-07-11 01:01:43 +02:00
Matthias Koefferlein 2ed27ff937 Preparations for 0.28.10 2023-07-05 18:53:45 +02:00
Matthias Köfferlein 6b1aa882eb
Merge pull request #1412 from KLayout/wip2
Wip2
2023-07-05 18:31:38 +02:00
Matthias Koefferlein 37cf773a70 Introduces a 'greedy hierarchy' mode for DeepShapeStore for special applications (e.g. strmxor) 2023-07-04 07:56:58 +02:00
Matthias Koefferlein 3980476455 Trying to improve deep mode performance by avoiding multiple cell mapping operations due to partial hierarchy transfer. On the cost side, the hierarchy is always duplicated. 2023-07-04 00:19:55 +02:00
Matthias Koefferlein ee19ed06e9 Avoiding segfaults where no manager is present 2023-07-03 22:53:12 +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 Koefferlein f28236c694 Fixed #1409 (Text edit issue) 2023-07-03 22:18:55 +02:00
Matthias Koefferlein 01f2868e5d Fixed issue #1407 (clip does not support polygons with holes) 2023-07-02 22:14:13 +02:00
Matthias Koefferlein 07b8362368 Small performance enhancement of cell mapping 2023-06-29 23:09:16 +02:00
Matthias Koefferlein 86bd700aab Made 'time' parameter optional for MainWindow#message 2023-06-26 14:33:38 +02:00
Matthias Koefferlein 6a8d18ed05 Doc update 2023-06-26 14:19:29 +02:00
Matthias Koefferlein 41c5d3f4ff Issue-1397: possible solution 2023-06-13 00:44:42 +02:00
Matthias Koefferlein 3a5ac0d901 Based python stubs on PyPI module now instead of pymod (no Qt dependencies) 2023-06-11 16:47:15 +02:00
Matthias Koefferlein 92e213aaab Preparations for 0.28.9, updated python stubs 2023-06-10 10:17:52 +02:00
Matthias Koefferlein 63f6abf734 Fixed a unit test failing in non-editable mode 2023-06-10 09:17:00 +02:00
Matthias Koefferlein 7f8eeb3a09 Fixed issue #1281 (Layout diff should ignore shape or instance duplicates)
A new option in the diff tool and strmcmp has been added
(-1|--ignore-duplicates in strcmp).
In RBA/pya, the "IgnoreDuplicates" flag has been added.
2023-06-10 09:11:39 +02:00
Matthias Koefferlein 5bcb9e0207 Merge branch 'xor-perf-trial' into wip2 2023-06-09 23:32:14 +02:00
Matthias Koefferlein a0c70a2cc7 Another small optimization of hierarchical processor, makes a small difference 2023-06-09 23:31:39 +02:00
Matthias Koefferlein 0959676b5a Another shortcut for two-input box scanner, but does not make a large difference 2023-06-09 23:26:49 +02:00
Matthias Koefferlein d604003e3f Changing XOR implementation to mapped
The previous implementation for two layouts
was based on the twofold traversal of hierarchies
but that is less efficient than first mapping and
then doing the XOR within the single layout.
2023-06-08 19:03:57 +02:00
Matthias Koefferlein 078258bf09 New branch for XOR performance improvement in deep mode 2023-06-06 23:35:40 +02:00
Matthias Koefferlein 9817f12385 Speedup of hierarchy processor (context computation) in case if deeply hierarchical two-input cases 2023-06-04 09:13:20 +02:00
Matthias Koefferlein 5438b9a82f configuration for debugger scope override 2023-06-03 21:25:30 +02:00
Matthias Koefferlein 2d5c67f74f Allowing DRC decks with only layout inputs (no default input) 2023-06-01 20:28:17 +02:00
Matthias Koefferlein f11500996f New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector 2023-05-31 22:49:02 +02:00
Matthias Koefferlein c3bda162cb DRC: Added 'write' method to output channels, enabling GC in profile mode to get a more realistic memory usage picture 2023-05-29 01:44:57 +02:00
Matthias Koefferlein de2ace4be3 GDS2 reader: robustness against some broken files - should not segfault 2023-05-28 23:34:03 +02:00
Matthias Koefferlein c28fd425db DRC bugfix 2023-05-28 23:33:32 +02:00
Matthias Koefferlein 7f3950f582 Fixed DRC profile feature 2023-05-28 23:21:14 +02:00
Matthias Koefferlein 2e33cf1442 Added unit tests for new features 2023-05-28 23:14:07 +02:00
Matthias Koefferlein 78dbabcde1 DRC enhancements: bug fixes 2023-05-28 23:02:16 +02:00
Matthias Koefferlein a582eabc22 DRC: doc updates 2023-05-28 21:57:40 +02:00
Matthias Koefferlein 2882fa42ee DRC: support multiple outputs through 'new_report', 'new_target' 2023-05-28 21:37:47 +02:00
Matthias Koefferlein 2fdbd9f4ea WIP: profile feature 2023-05-28 00:49:12 +02:00
Matthias Koefferlein df9a5e4125 WIP: profile feature in DRC and LVS 2023-05-28 00:13:02 +02:00
Sebastian Goeldi 293590acb0
fix add_meta_info of Layout and Cell 2023-05-25 13:45:46 +02:00
Matthias Köfferlein fa9e7e7c12
Merge pull request #1379 from KLayout/wip2
Wip2
2023-05-23 19:44:49 +02:00
Matthias Koefferlein c1e0b1a40b Small update: code patch for fixing debug output 2023-05-21 21:07:43 +02:00
Matthias Koefferlein 01eeee1b76 WIP: simplification, needs testing 2023-05-21 20:20:46 +02:00
Matthias Koefferlein ca05f59168 WIP: some performance enhancement, but not compatible 2023-05-21 20:02:46 +02:00
Matthias Koefferlein 0400261641 Added testcase for issue-1366 2023-05-20 23:26:20 +02:00
Matthias Koefferlein 44965bf19c Approx 2x performance improvement of issue-1366 testcase due to more efficient filling of scanline queue 2023-05-20 23:10:03 +02:00
Matthias Koefferlein c37be0884c Potential performance fix for issue #1366 2023-05-20 23:10:01 +02:00
Matthias Koefferlein 331bb5aed4 Fixing a performance issue on hole insertion for polygons with many holes 2023-05-20 23:09:57 +02:00
Matthias Koefferlein 53fa78c01f Ruby debugger performance boost
Problem was that the file-to-id cache was cleared
upon calling internal Ruby functions (begin_exec
was triggered). In one test case, the execution
performance improved from 6s/320s (without/with debugger)
to 6s/7s (without/with debugger)
2023-05-18 19:43:44 +02:00
Matthias Koefferlein ba0aaef132 Merge branch 'master' into wip2 2023-05-18 19:00:24 +02:00
Matthias Koefferlein bd33640471 Merge branch 'master' of github.com:KLayout/klayout 2023-05-18 19:00:01 +02:00
Matthias Koefferlein f31efad0ef Removed a duplicate QLayout on the LayoutView 2023-05-18 16:09:06 +02:00
Matthias Koefferlein 3e60aabe7a Fixed issue #1373 (shapes with user properties are skipped from second input of flat region's '+' operator) 2023-05-14 22:48:31 +02:00
Matthias Koefferlein b30837411e Merge branch 'master' into wip2 2023-05-14 18:34:17 +02:00
Matthias Koefferlein 8f25c3470d Small enhancement to 'decompose_convex' with the goal to avoid thin slivers 2023-05-14 18:33:53 +02:00
Matthias Köfferlein ae07629599
Merge pull request #1372 from KLayout/issue-1219
Solved issue #1219: 'close' button works now in macro IDE, printing n…
2023-05-14 00:02:09 +02:00
Matthias Köfferlein 5c55e2736a
Merge pull request #1371 from KLayout/issue-1348
Implemented a solution for issue #1348 (Reload Files popup prevents c…
2023-05-14 00:01:55 +02:00
Matthias Köfferlein 8423616db2
Merge pull request #1370 from KLayout/issue-1324
Implemented fix for issue #1324
2023-05-14 00:01:33 +02:00
Matthias Köfferlein fe0a3dd20e
Merge pull request #1369 from KLayout/issue-1357
Implemented fix for issue #1357 (RBA/pya binding for QObject#findChil…
2023-05-14 00:01:16 +02:00
Matthias Köfferlein 570d1a36f6
Merge pull request #1368 from KLayout/issue-1345
Fixed issue-1345 (feature request: create a def single/mulitpart path…
2023-05-14 00:00:59 +02:00
Matthias Koefferlein 67db8dfc96 Trying to fix Qt4 builds 2023-05-13 19:41:37 +02:00
Matthias Koefferlein d40ed70fb9 Implemented a solution for issue #1348 (Reload Files popup prevents closing KLayout): now the reload notification is shown as a notification bar at the top of the layout view 2023-05-13 18:44:20 +02:00
Matthias Koefferlein 8704fa1b86 Solved issue #1219: 'close' button works now in macro IDE, printing name of macro which is run to avoid confusion between 'run current' and 'run this' 2023-05-13 16:04:42 +02:00
Matthias Koefferlein 33d16a1e28 Implemented fix for issue #1324 2023-05-13 15:34:11 +02:00
Matthias Koefferlein 6c7064fa23 Implemented fix for issue #1357 (RBA/pya binding for QObject#findChildren) 2023-05-13 01:37:41 +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 Köfferlein 641d2404d2
Merge pull request #1358 from KLayout/wip2
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein f25d20be20 [bugfix] making 'R', 'L' and 'C' parameters too for the respective Spice elements (beside 'value') 2023-05-11 23:40:20 +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 89177b5ffd Fixed a build issue on Qt <5.15 2023-05-09 19:01:16 +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 7ff9b4d8e6 [consider merging] more consistent behavior of RBA/pya: enum classes are properly made available (was for example RBA::Qt::Qt_Keys instead of RBA::Qt_Keys and pya.Qt.Keys was no fully initialized type object) 2023-05-06 00:04:14 +02:00
Matthias Koefferlein 5fd54fa40a Netlist reader: anonymous circuits are not checked for known parameters 2023-05-06 00:00:56 +02:00
Matthias Koefferlein 67276c4922 Merge branch 'enhanced-meta-info' into wip2 2023-05-05 23:22:33 +02:00
Matthias Koefferlein d531418ad2 Layout statistics form - caching, refactoring, printing statistics for 'all' shapes 2023-05-05 23:20:03 +02:00
Matthias Köfferlein 0bc97df381
Merge pull request #1355 from KLayout/issue-1349
Fixed issue-1349 (Add application events for indicating start/finish …
2023-05-05 23:12:53 +02:00
Matthias Koefferlein 4afa029297 Partial edit mode fixes
- do not remove last point of closed paths
- fixed removal of redundant points in polygon/path edit
- on-grid point insertion in paths and polygons for skew angle edges
2023-05-05 23:05:49 +02:00
Matthias Koefferlein 2e4153c04a Some more enhancements for search & replace in macro editor 2023-05-03 21:38:10 +02:00
Matthias Koefferlein 71487af411 Some fixes for macro editor
- added missing icons for back/forward
- trying to improve behavior or find, search&replace
- fixed tool tips of buttons
- Ctrl-R, Ctrl+Shift+R for replace and "replace all"
2023-05-03 00:22:39 +02:00
Matthias Koefferlein 7bdc8efc81 Displaying meta info in user properties dialog box for information
Copy of meta info from cell to other layout now preserves names.

In addition two bugs have been fixed:
* Display of meta info for layout on statistics page did not show description
* ghost cell status now is copied on cell copy
2023-05-02 21:48:13 +02:00
Matthias Koefferlein 9690c5d1bc Merge branch 'master' into enhanced-meta-info 2023-04-30 14:59:38 +02:00
Matthias Koefferlein 3bc14e1e79 Fixed issue-1345 (feature request: create a def single/mulitpart path import option)
The option is called "--lefdef-joined-paths" for strm* buddy tools
and "joined_paths" for pya/RBA.

Wires with multiple segments are combined into long paths when
possible - this fails on anisotropic widths and 45 degree segments.
2023-04-30 14:47:52 +02:00
Matthias Koefferlein 08570aeae8 Fixed issue-1349 (Add application events for indicating start/finish of restoring session)
The new events are called
* MainWindow#on_session_about_to_be_restored
  (called before the session is restored)
* MainWindow#on_session_restored
  (called after the session was restored)
2023-04-30 13:49:06 +02:00
Matthias Koefferlein ffd47e1341 Fixed issue-1353 (problem with recursive instance iterator) 2023-04-29 23:28:20 +02:00
Matthias Koefferlein 707ebc4114 Copying meta information of cells on various occasions too (e.g. clipboard copy & paste) 2023-04-29 23:27:42 +02:00
Matthias Koefferlein c8d97871fd Enabling build of version agnostic plugins 2023-04-22 21:26:39 +02:00
Matthias Koefferlein 34d147f1ce Fixed LVS doc 2023-04-22 15:28:55 +02:00
Matthias Koefferlein 70b6306635 Tests for complex data for meta info, doc updates 2023-04-22 00:16:12 +02:00
Matthias Koefferlein d9e0d107b1 Bug fixes, RBA tests for meta info 2023-04-21 23:33:42 +02:00
Matthias Koefferlein d1f962a228 Implementing meta data persistency also with strict OASIS and forward references 2023-04-20 23:47:47 +02:00
Matthias Koefferlein bc30887488 Include table-at-end tests for OASIS writer/reader 2023-04-19 23:49:01 +02:00
Matthias Koefferlein 551a80b70b Preparing OASIS test mode for forward references 2023-04-19 23:28:38 +02:00
Matthias Koefferlein 56fbba60c1 Debugging & testing 2023-04-19 01:22:46 +02:00
Matthias Koefferlein 3361802a20 Tests and bugfixing for meta info persistence in OASIS + GDS 2023-04-19 00:51:11 +02:00
Matthias Koefferlein b35113b80e Bugfix. 2023-04-18 22:52:05 +02:00
Matthias Koefferlein b36eb04afa Meta info persistency also for OASIS 2023-04-18 22:34:11 +02:00
Matthias Koefferlein 78da3effa2 Next steps - persistency of meta info 2023-04-18 21:24:26 +02:00
Matthias Koefferlein b14c630ce9 Scheduling update for 0.28.8 2023-04-16 21:40:53 +02:00
Matthias Koefferlein 541f9a377f Small refactoring, added persisted flag for meta info 2023-04-16 21:31:25 +02:00
Matthias Koefferlein 1a0542f155 Fixed two compiler warnings of hidden virtual methods 2023-04-16 21:31:02 +02:00
Matthias Koefferlein df4221cfc9 First features to support cell meta data 2023-04-16 20:25:30 +02:00
Matthias Köfferlein 5083e6e45e
Merge pull request #1340 from KLayout/issue-1339
Added a method 'widget' to LayoutView to deliver the QWidget object f…
2023-04-16 15:09:28 +02:00
Matthias Köfferlein d560027790
Merge pull request #1334 from KLayout/issue-1327
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55:02 +02:00
Matthias Köfferlein 31b34eeb8c
Merge pull request #1333 from KLayout/issue-1328
Fixed issue #1328 (width of layer selection boxes too small)
2023-04-13 22:54:48 +02:00
Matthias Köfferlein 69097bbf04
Merge pull request #1332 from KLayout/issue-1322
Issue #1322 (Net tracer tech component manipulation methods)
2023-04-13 22:54:29 +02:00
Matthias Köfferlein fc014efe80
Merge pull request #1331 from KLayout/issue-1321
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +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 317617a14a Fixed unit tests for Windows 2023-04-08 09:08:31 +02:00
Matthias Koefferlein 015263fb0e Trying to fix unit test fails 2023-04-07 17:34:23 +02:00
Matthias Koefferlein 9c1da8d3e1 Fixed issue #1328 (width of layer selection boxes too small)
Also: clip and fill dialog now display layer names from
the layer view. Fixed geometry of fill dialog.

Hope I got all places where the layer selection box was
configured as adjust size = on first show.
2023-04-07 11:44:20 +02:00
Matthias Koefferlein 63a4fe8d77 Issue #1327 fixed (segfault in pymod finalization code) 2023-04-07 10:59:30 +02:00
Matthias Koefferlein 30d2992f56 Issue #1322 (Net tracer tech component manipulation methods) 2023-04-07 10:20:17 +02:00
Matthias Koefferlein 0802bc845d Extended unit test 2023-04-07 10:07:26 +02:00
Matthias Koefferlein 19fbc5c144 Implemented tilde expansion, internal stream path names are now absolute, fixed tests 2023-04-07 00:19:10 +02:00
Matthias Koefferlein 0fd052baa6 Simplify pymod test for better CI integration 2023-04-01 09:13:32 +02:00
Matthias Koefferlein 2166437480 Compatibility with other Python version 2023-03-30 20:09:17 +02:00
Matthias Koefferlein 692e5b4a01 Fixed a reference counting bug (Python) 2023-03-29 23:33:00 +02:00
Matthias Koefferlein cb0f2b4166 Enabling pya initialization for app and ut_runner only. 2023-03-29 00:09:26 +02:00
Matthias Koefferlein 1cfe7b10ba Another attempt trying to fix the DLL load issue for pya on Windows - force-load all DLL that are needed by pyacore into the app before importing the module 2023-03-28 00:39:32 +02:00
Matthias Koefferlein 5c57f5ddf8 Maybe fixing ut_runner errors on MSVC 2023-03-28 00:11:34 +02:00
Matthias Koefferlein ed20ced941 Using data holder approach also for Qt4 QImage 2023-03-27 21:59:41 +02:00
Matthias Koefferlein 80987a6408 Provide more lifetime management in Qt bindings also for Qt4 2023-03-26 22:51:06 +02:00
Matthias Koefferlein acd9d6b8c5 Backward compatibility to Qt 5.12.8 and 5.12.11, fixed some test fails for Qt4 2023-03-26 22:47:56 +02:00
Matthias Koefferlein 0cae15c6fa Docu updates 2023-03-26 22:11:05 +02:00
Matthias Koefferlein 7d41078e8c Avoid a segfault: an event may kill the event object itself indirectly. 2023-03-26 21:29:06 +02:00
Matthias Koefferlein 1cd033e168 Qt bindings: preventing signals to shadow properaties, added script to generate tables 2023-03-26 18:01:22 +02:00
Matthias Koefferlein fa61f96194 GSI: enabling enums as hash keys and int(enum) in Python 2023-03-26 17:52:33 +02:00
Matthias Koefferlein 2e2ba41250 [consider merging] more consistent behavior of RBA/pya: enum classes are properly made available (was for example RBA::Qt::Qt_Keys instead of RBA::Qt_Keys and pya.Qt.Keys was no fully initialized type object) 2023-03-26 14:21:30 +02:00
Matthias Koefferlein 79ad6b3fae Qt binding: Removing ambiguitiy between QLatin1String and const char * 2023-03-26 00:56:01 +01:00
Matthias Koefferlein 40d3fd41b1 Regenerating Qt binding sources with the event/property caches 2023-03-26 00:35:46 +01:00
Matthias Koefferlein ba27951991 Regenerating Qt6 bindings with the latest Qt5 enhancements 2023-03-26 00:19:21 +01:00
Matthias Koefferlein 31aa45dce4 Qt5 binding enhancements
- Based on Qt 5.12.12 now (tested to build on 5.15)
- QImage constructor with binary data
- More classes, specifically QLibraryInfo for Qt version
- QLayout and derivatives take ownership over widgets added
2023-03-25 22:54:54 +01:00
Matthias Koefferlein 9a1c776475 Make sure the Python modules are found from the application's installation by prepending their path to sys.path 2023-03-24 19:15:57 +01:00
Matthias Koefferlein fd0c60761f Merge branch 'master' into wip 2023-03-24 15:56:48 +01:00
Matthias Koefferlein 02e9f605d9 Implemented .lib for Spice reader - issue #1320 2023-03-24 14:31:49 +01:00
Matthias Koefferlein a39441cdbd Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently) 2023-03-24 13:29:14 +01:00
Matthias Koefferlein b979219007 Fixed previous implementation - was not fully effective 2023-03-16 20:06:07 +01:00
Matthias Koefferlein 178cb29773 Fixed a function call typo 2023-03-16 10:05:36 +01:00
Matthias Koefferlein 1182979a5c Fixed issue #1315 (Cannot export layers from Marker Browser in viewer mode) 2023-03-15 23:35:39 +01:00
Matthias Koefferlein 2166f2bb21 Some memory optimization potential with tiled processor to improve XOR memory footprint (box-like polygons stored as boxes, polygon references) 2023-03-15 23:22:04 +01:00
Matthias Koefferlein ffbcfc5490 Trying to reduce memory overhead of tiling processor - using box objects when possible 2023-03-12 22:10:49 +01:00
Matthias Koefferlein bcaefefded Cleanup of box scanner implementation 2023-03-12 19:45:39 +01:00
Matthias Koefferlein 741c9d9ac5 Performance enhancement of flat space DRC in some cases 2023-03-12 19:45:24 +01:00
Matthias Koefferlein 55dbf85b4b Some refactoring of Spice reader with the goal to simplify delegate implementation, removing static instance of default delegate 2023-03-12 17:03:15 +01:00
Matthias Koefferlein db8f9d5bcb Spice reader enhancements
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein f5fd47bd4b Fixed standalone Python module builds 2023-03-12 00:53:42 +01:00
Matthias Koefferlein 6955d7d0c7 Better handling of inputs in deep mode after manipulating the hierarchy of the input layout 2023-03-12 00:26:18 +01:00
Matthias Koefferlein 047455c560 Merge branch 'master' into wip2 2023-03-12 00:10:23 +01:00
Matthias Koefferlein 5a1e845a64 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:56:02 +01:00
Matthias Koefferlein ebac0796e0 [consider merging] Fixed Qt Binding for Qt 5.15.2 where an include is missing 2023-03-11 19:55:59 +01:00
Matthias Koefferlein bee3d11f62 [consider merging] avoid an assertion in the Python exit code for accessing an already destroyed Python object 2023-03-11 19:55:51 +01:00
Matthias Koefferlein ce31f47918 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:55:06 +01:00
Matthias Koefferlein 18ae970671 Fixed Qt bindings in pya module 2023-03-11 01:03:50 +01:00
Matthias Koefferlein d97942ac3a [consider merging] Fixed Qt Binding for Qt 5.15.2 where an include is missing 2023-03-11 00:24:21 +01:00
Matthias Koefferlein 293a898ae0 [consider merging] avoid an assertion in the Python exit code for accessing an already destroyed Python object 2023-03-10 23:45:37 +01:00
Matthias Koefferlein 068849a634 Refactoring, primary goal is to centralize the definition of PCellDeclarationHelper in Python 2023-03-10 23:22:30 +01:00
Matthias Koefferlein 8b7e2b2b40 Refactoring of pya - using external module defintions for pya initialization 2023-03-10 21:58:01 +01:00
Matthias Koefferlein 92204915a4 Refactoring: pya is a native binary package now. It's available to pymod, but may also be the basis of the built-in pya module. 2023-03-08 23:54:32 +01:00
Matthias Koefferlein 0253c25b30 Avoids a Qt warning internally 2023-03-08 22:37:56 +01:00
Matthias Koefferlein 35d9cdb656 Reworked Python initialization
KLAYOUT_PYTHONPATH is copied into PYTHONPATH, so it
is essentially equivalent (no more copying of internally
generated paths).

The installation's pymod folder is added to the path, so
that we can put "klayout.db" etc. there.
2023-03-08 01:15:53 +01:00
Matthias Koefferlein 0204f293b5 Generic environment set/clear functions, file function to get app exe path 2023-03-08 00:52:42 +01:00
Matthias Koefferlein c3e831f96f Enhancing pymod tests (added lib, more robust, added pya also for Qt bindings off) 2023-03-07 23:44:12 +01:00
Matthias Koefferlein 3e8f03ef5f Synchronizing Python PCellDeclarationHelper between the two implementations (for standalone module + build-in for app) 2023-03-07 23:43:12 +01:00
Matthias Koefferlein 7d0964655d Experimental: allow importing klayout.x pymods into KLayout itself. 2023-03-06 23:51:58 +01:00
Matthias Koefferlein 9cfc284b8c Synonyms: connect/disconnect for events to get closer to PyQt5 2023-03-06 23:04:55 +01:00
Matthias Koefferlein 1b3e8e14c5 Netlist reader: anonymous circuits are not checked for known parameters 2023-03-06 22:38:10 +01:00
Matthias Koefferlein be0d155848 Fixed issue #1309
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Koefferlein feb50f49dd Enabling some more PNG related features by falling back to Qt without libpng 2023-03-04 20:32:44 +01:00
Matthias Köfferlein 2facc75807
Merge pull request #1305 from KLayout/issue-1304
Fixed issue #1304 (terminal order for MOS devices)
2023-03-04 19:32:46 +01:00
Matthias Köfferlein f413635deb
Merge pull request #1303 from KLayout/issue-1302
Implemented solution for issue #1302 (Select filter is not applied in…
2023-03-04 19:32:29 +01:00
Matthias Köfferlein addb7148f6
Merge pull request #1301 from KLayout/wip
Wip
2023-03-04 19:32:06 +01:00
Matthias Köfferlein 3e325763d9
Merge pull request #1296 from KLayout/issue-1271
Issue 1271
2023-03-04 19:31:39 +01:00
Matthias Koefferlein 1b13d8b591 Merge branch 'master' into issue-1271 2023-03-03 18:42:53 +01:00
Matthias Koefferlein 9335ef8c21 Fixed builds on MSVC 2023-03-03 18:00:24 +01:00
Matthias Koefferlein 6db6e77458 Tired of patching around __version__ ...
This doesn't work. Either Python is too old, import_metadata
isn't there or Azure pipelines do not support that.
Stopping that. Good old plain C++ is still the best solution.
Take that dynamic language hackers!
2023-03-01 00:50:30 +01:00
Matthias Koefferlein 4ead7b46a1 Test updates 2023-02-27 21:27:19 +01:00
Matthias Koefferlein 2236ced5ae Refining solution for issue-1249: properly reading the edge we project to in single-edge partial move mode 2023-02-27 20:49:45 +01:00
Matthias Koefferlein af647e2efd Test updates 2023-02-27 19:37:59 +01:00
Matthias Koefferlein 1ce221794b More test data updates 2023-02-27 01:08:37 +01:00
Matthias Koefferlein ceb82a15d8 Fixed merge issues 2023-02-27 00:27:23 +01:00
Matthias Koefferlein ebcf242a9e Merge branch 'more-spice' into issue-1304 2023-02-27 00:21:20 +01:00
Matthias Koefferlein 69d975c736 Update to test data 2023-02-27 00:19:14 +01:00
Matthias Koefferlein 0fa9bc6e2b Fixed issue #1304 (terminal order for MOS devices) 2023-02-26 23:30:17 +01:00
Matthias Koefferlein 90cf06b3ac More precise help text for generic reader options. 2023-02-26 21:57:04 +01:00
Matthias Koefferlein 3ac1385d87 Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes 2023-02-26 21:31:34 +01:00
Matthias Koefferlein 2e3c859cd3 Specified release version for Spice reader enhancements 2023-02-26 19:52:05 +01:00
Matthias Koefferlein 82b372ab14 Implemented solution for issue #1302 (Select filter is not applied in partial mode) 2023-02-26 17:07:04 +01:00
Matthias Koefferlein 04626f9c2b python module: import klayout.lay implies klayout.db now to always enable stream readers 2023-02-25 12:14:19 +01:00
Matthias Koefferlein a3ff671eb9 Python debugger compatible with PyQt
Problem was that PyQt generates spontaneous Python events
that do not originate from KLayout itself. This made the
IDE detect a stop request and the application crashed.
2023-02-23 17:07:41 +01:00
Matthias Koefferlein 90b59ca14d Bugfix - properly removing plugins when they are unregistered (unlikely) 2023-02-23 17:07:22 +01:00
Matthias Koefferlein 08bfbbae81 Test updates 2023-02-22 16:08:48 +01:00
Matthias Koefferlein d20e4b2128 Bug fixes, adjusted test data 2023-02-22 15:54:28 +01:00
Matthias Koefferlein be5e16c125 WIP: bug fixing, new test cases 2023-02-22 13:11:30 +01:00
Matthias Koefferlein 44e123f343 WIP: Spice reader - resolve model and net names by variables 2023-02-22 10:20:48 +01:00
Matthias Koefferlein 18f2b57c3d WIP: generlizing parameter values for spice reader - can be strings too 2023-02-22 10:15:05 +01:00
Matthias Koefferlein 51c4b7ed28 WIP 2023-02-22 09:48:08 +01:00
Matthias Koefferlein 715c7ed282 WIP: rewriting Spice expression parser to support more functions 2023-02-21 18:10:36 +01:00
Matthias Koefferlein b421f1e499 WIP: added tests for variant fuzzy compare 2023-02-21 16:05:45 +01:00
Matthias Koefferlein e709218db9 WIP: fuzzy compare for tl::Variant with float values 2023-02-21 15:57:54 +01:00
Matthias Koefferlein 80fa7e47e2 WIP: tests pass 2023-02-21 00:49:23 +01:00
Matthias Koefferlein 49d3edd26a WIP: debugging, first tests pass. 2023-02-21 00:17:41 +01:00
Matthias Koefferlein ac5616a583 WIP 2023-02-21 00:15:22 +01:00
Matthias Koefferlein 736676701d WIP 2023-02-20 23:54:04 +01:00
Matthias Koefferlein 459de47448 WIP: spice reader refactoring to support parametric subcircuits 2023-02-20 23:25:23 +01:00
Matthias Koefferlein 2214345df2 WIP 2023-02-20 22:59:03 +01:00
Matthias Koefferlein 40fd350d85 WIP 2023-02-20 22:06:45 +01:00
Matthias Koefferlein 432b542f3c Merge branch 'master' into wip 2023-02-19 20:30:49 +01:00
Matthias Köfferlein a04f2940ac
Merge pull request #1298 from KLayout/lefdef-wip
Lefdef wip
2023-02-19 20:29:03 +01:00
Matthias Koefferlein 817bb396f6 PNG support for PixelBuffer taken from Qt also if Qt bindings are off 2023-02-19 20:25:21 +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 4e3c106b27 Merge branch 'master' into issue-1249 2023-02-18 09:44:48 +01:00
Matthias Köfferlein 868650a61c
Merge pull request #1295 from KLayout/issue-1294
Fixed issue #1294 (grid snap not working in partial mode)
2023-02-18 00:11:45 +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 4eb48738e4 Confirming that issue #1282 is fixed 2023-02-17 00:02:59 +01:00
Matthias Koefferlein 33c858924f Some LEF reader fixes based on the complete sample 2023-02-16 23:51:11 +01:00
Matthias Köfferlein 3eee8a6404
Merge pull request #1289 from KLayout/issue-1287
Fixed issue #1287
2023-02-16 21:26:02 +01:00
Matthias Koefferlein 7903b9d70d Fixed issue #1294 (grid snap not working in partial mode) 2023-02-16 21:23:59 +01:00
Matthias Koefferlein 66a6832594 Some enhancements to DEF reader based on the 'complete' example. VIAs in FILL und PIN, a variety of syntax fixes. 2023-02-15 22:11:12 +01:00
Thomas Ferreira de Lima 3c9507ab63 added test for issue 1265 (writing and reading pngs) 2023-02-15 11:01:47 -05:00
Thomas Ferreira de Lima 094768997f backporting importlib.metadata for python<3.8 2023-02-15 10:14:55 -05:00
Matthias Koefferlein f73b229024 WIP 2023-02-15 00:29:43 +01:00
Matthias Koefferlein 93d9298b51 Formally minkowsky sum now is allowed with empty polygon arguments 2023-02-15 00:29:26 +01:00
Matthias Koefferlein a54ea1f273 DEF reader bug fixes, turned some errors into warnings temporarily. 2023-02-15 00:28:41 +01:00
Matthias Koefferlein dd466beca8 Simple implementation of __version__ 2023-02-14 22:41:03 +01:00
Matthias Koefferlein a2aead8c5c Fixed issue #1287
The problem was introduced during implementation
of multi-segment rulers.

This patch also fixes the tab order of the ruler
properties dialog and adds some tests.
2023-02-12 22:10:27 +01:00
Matthias Koefferlein 026e0fa591 Fixed issue #1275 (size after smooth does not work) 2023-02-04 19:56:06 +01:00
Matthias Koefferlein 48ec208843 Bugfix: LVS - same_nets should not be picky about net names - they may be missing in some circuits 2023-02-02 12:24:50 +01:00
Matthias Koefferlein 0e60c90514 Bugfix LVS: same_nets with two arguments was not working as described 2023-02-02 00:30:00 +01:00
Matthias Koefferlein 6941976cfb Merge branch 'wip' 2023-01-29 17:18:30 +01:00
Matthias Koefferlein 115b89c711 Merge branch 'issue-1259' 2023-01-29 17:18:25 +01:00
Matthias Koefferlein 1a1139299a Properly populating the editor options pages 2023-01-29 00:12:31 +01:00
Matthias Koefferlein 2d6091cf0a Fixed MSVC builds 2023-01-26 21:51:07 +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 Koefferlein 500fa5b62d Avoid loooong error messages in DRC and LVS by bypassing the engine's inspect implementation which emits a lot of internal members 2023-01-25 20:42:30 +01:00
Matthias Koefferlein cb4501787f Solved: Partial mode does not support Ctrl+Shift to confine movement direction 2023-01-25 20:41:55 +01:00
Matthias Köfferlein ab8cfee1ea
Merge pull request #1258 from KLayout/wip
Wip
2023-01-24 21:48:27 +01:00
Matthias Koefferlein 85cc50e2c1 Flaw fixed: tech status persisted after last view was closed 2023-01-24 21:35:47 +01:00
Matthias Koefferlein 7600eac8a0 Fixed issue-1259 2023-01-24 21:14:36 +01:00
Matthias Köfferlein 18900215e6
Merge pull request #1262 from KLayout/issue-1253
Fixed isse #1253
2023-01-24 20:38:25 +01:00
Matthias Köfferlein 4b4551338b
Merge pull request #1261 from KLayout/issue-1260
Seems to fix issue #1260
2023-01-24 20:38:10 +01:00
Matthias Köfferlein 2cc1f390ca
Merge pull request #1255 from KLayout/issue-1237
Provide a fix for issue-1237 (Python error messages should include mo…
2023-01-24 20:37:50 +01:00
Matthias Koefferlein bc63a1cd40 Fixed isse #1253 2023-01-24 00:42:31 +01:00
Matthias Koefferlein 2749217984 Seems to fix issue #1260 2023-01-23 23:24:55 +01:00
Matthias Koefferlein 6da5903639 More robustness in unit tests 2023-01-22 17:58:09 +01:00
Matthias Koefferlein 69a2ac107b One bug fix, made tests more robust and compatible with MSVC 2023-01-22 16:17:13 +01:00
Matthias Koefferlein cd2535af09 Fixing Qt4 builds 2023-01-22 10:35:41 +01:00
Matthias Koefferlein 5276d24706 Fixing Qt4 builds 2023-01-22 10:35:13 +01:00
Matthias Koefferlein e6972aad68 Fixed builds 2023-01-22 10:30:40 +01:00
Matthias Koefferlein ca091203b3 Attempt to fix Windows builds 2023-01-22 10:23:54 +01:00
Matthias Koefferlein 80a15816bd Fixed builds 2023-01-22 10:21:03 +01:00
Matthias Koefferlein c5b37fd78b Merge branch 'wip' into network-drc 2023-01-22 00:33:38 +01:00
Matthias Koefferlein dea1ca6451 WIP: Doc updates, doc bug fixes 2023-01-21 21:37:40 +01:00
Matthias Koefferlein 30ee5e183f WIP: removed TODO markers - needs to stay like that (e.g. drcSimpleTests:48_drcWithFragments) 2023-01-21 19:04:00 +01:00
Matthias Koefferlein ed7ed4158c WIP: bug fix 2023-01-21 17:39:35 +01:00
Matthias Koefferlein f924109bcd WIP: implemented some TODOs 2023-01-21 16:35:01 +01:00
Matthias Koefferlein df1efa802b WIP: some bug fixes, unit tests updated 2023-01-21 15:55:05 +01:00
Matthias Koefferlein 1a9edbf6a9 WIP: refactoring - allow properties constraints modes which do not copy properties. In DRC that is default. 2023-01-21 15:13:39 +01:00
Matthias Koefferlein 38808fccf7 WIP: DRC properties constraints now need explicit generation of output properties. 2023-01-21 14:04:06 +01:00
Matthias Koefferlein 9b64224cb4 WIP: experimenting with pulling net names from subcircuits for dummy connections 2023-01-21 11:22:03 +01:00
Matthias Koefferlein 650f6cacb5 WIP: property support for merged edges and extended on deep edges 2023-01-21 10:12:46 +01:00
Matthias Koefferlein fe1d520d0c WIP: some bug fixes, tests for deep mode - some refinement needed. 2023-01-21 01:38:25 +01:00
Matthias Koefferlein 1a71b01859 WIP: refactoring, added more properties support, bug fixing, added a test for the new DRC features 2023-01-20 23:44:51 +01:00
Matthias Koefferlein 9130492881 [CONSIDER MERGING] use twice the interaction range inside generic DRC's 'sized' node 2023-01-20 23:43:19 +01:00
Matthias Koefferlein 9f27aa9f51 WIP: refactoring, more property support, DRC integration, bug fixes ... 2023-01-20 19:08:21 +01:00
Matthias Koefferlein 7ba3133afc WIP: using net name/circuit name instead of net ID for property value as this is more stable for better regression testing.
Bug fix: re-enabling of trace all nets tests, establishing dummy
names for layers in all cases - otherwise layers do not have a
reference for LayoutToNetlist persistence.
2023-01-20 01:16:30 +01:00
Matthias Koefferlein 234df5a560 WIP: added a few TODOs 2023-01-19 23:54:31 +01:00
Matthias Koefferlein d73544fbc8 WIP: small bug fix 2023-01-19 23:34:15 +01:00
Matthias Koefferlein f329f91300 WIP: bug fixing, test for GSI binding of checks with property constraints 2023-01-19 23:27:31 +01:00
Matthias Koefferlein 220c1b714a WIP: support for 'flatten' with properties 2023-01-19 22:20:07 +01:00
Matthias Koefferlein 83aaca4485 WIP: unit tests for GSI binding of Region#net 2023-01-19 22:11:40 +01:00
Matthias Koefferlein 984c001f56 WIP: debugging and unit test for net-aware booleans 2023-01-19 21:15:41 +01:00
Matthias Koefferlein e1ddd6f8d2 WIP: polishing the region to net generator feature. 2023-01-19 17:25:07 +01:00
Matthias Koefferlein 1b9a532f48 WIP: net generation from region layers 2023-01-19 14:44:17 +01:00
Matthias Koefferlein d7bdbae60b WIP: more refactoring 2023-01-19 12:20:58 +01:00
Matthias Koefferlein fb60e01f45 WIP: refactoring. Goal is to supply a netlist builder object for caching netlist build information 2023-01-19 12:08:50 +01:00
Matthias Koefferlein c16082654f WIP: fixed unit tests 2023-01-19 01:05:26 +01:00
Matthias Koefferlein d230691ae4 WIP: bug fixing, new tests for property filters 2023-01-19 00:56:17 +01:00
Matthias Koefferlein 75c20aa03a WIP: fixed unit tests 2023-01-19 00:29:30 +01:00
Matthias Koefferlein 8ac08778c2 WIP: reworked and implemented a property translation/selection/enabling scheme for the shape containers + GSI binding. 2023-01-19 00:25:07 +01:00
Matthias Koefferlein 500051ef1d WIP: bug fix 2023-01-18 17:07:53 +01:00
Matthias Koefferlein 4edf4ab1f7 WIP: Added support for size with properties 2023-01-18 16:22:36 +01:00
Matthias Koefferlein 71d2d9ef3f WIP: tests for complex DRC ops with properties 2023-01-18 15:46:09 +01:00
Matthias Koefferlein f1646a79fe WIP: preparations for generic DRC with properties 2023-01-18 15:24:00 +01:00
Matthias Koefferlein 9f6f0e2d43 [BUGFIX] WIP: property support for DRC functions, bugfix: DRC check against raw (non-merged semantics) second input did not work 2023-01-18 12:34:47 +01:00
Matthias Koefferlein c3383cf7df WIP: enabling properties for DRC checks, refactoring 2023-01-18 02:23:15 +01:00
Matthias Koefferlein 1b7b077cea WIP: refactoring, started implementing DRC checks with property support 2023-01-18 01:36:22 +01:00
Matthias Koefferlein bd79467b4b Merge branch 'issue-1237' into network-drc 2023-01-17 20:45:00 +01:00
Matthias Koefferlein d1c28bc3bd Provide a fix for issue-1237 (Python error messages should include more information)
In Python 3.10 the format of the syntax error exception was changed
and parsing through PyArgs_ParseTuple no longer worked. The code
change will re-enable proper syntax error parsing for Python 3.10.
2023-01-17 20:43:13 +01:00
Matthias Koefferlein 40267dddb6 WIP: polygons to edges with properties 2023-01-17 19:07:32 +01:00
Matthias Koefferlein 8fb4e36809 WIP: refactoring, preparing polygon-to-edge with properties 2023-01-17 17:08:36 +01:00
Matthias Koefferlein f0e20ad258 WIP: cleanup 2023-01-17 14:17:42 +01:00
Matthias Koefferlein 5ff187a56d WIP: fixed unit tests 2023-01-17 12:37:12 +01:00
Matthias Koefferlein 5cd322b04c [CONSIDER MERGING TOO] rectified solution for text/polygon interaction 2023-01-17 12:36:56 +01:00
Matthias Koefferlein dfac3b1b44 WIP: Implemented property support for two-boolean 2023-01-17 11:24:08 +01:00
Matthias Koefferlein 72bb6d4a26 WIP: bug fix for deep region merge property computation - was missing on root connector clusters 2023-01-17 10:21:28 +01:00
Matthias Koefferlein dc2ae953ed WIP: bug fixes 2023-01-17 02:38:15 +01:00
Matthias Koefferlein 7f2200cab5 WIP: Bug fixes, refactoring 2023-01-17 01:37:10 +01:00
Matthias Koefferlein 99887a15f0 WIP: refactoring, enabling properties for flat processing 2023-01-17 01:00:27 +01:00
Matthias Koefferlein 58ab6ce9fd WIP: fixed tests, dropped property constraint on XOR and OR (not implemented properly), added 'ignore' property constraint - in the 'no properties' case, properties are passed from the first input. 2023-01-16 16:27:31 +01:00
Matthias Koefferlein 3b4a460581 WIP: Further test updates 2023-01-16 02:29:03 +01:00
Matthias Koefferlein 48b55f142a WIP: flat region tests, partially working 2023-01-16 02:06:21 +01:00
Matthias Koefferlein db870614ab [CONSIDER MERGING] grid check markers are not exactly aligned with vertexes in deep mode 2023-01-16 01:35:08 +01:00
Matthias Koefferlein 70d16425e1 WIP: added tests for as if flat regions 2023-01-16 01:02:30 +01:00
Matthias Koefferlein bf47805b29 WIP: support for properties in deep andnot, tests 2023-01-16 01:00:03 +01:00
Matthias Koefferlein fad85e4260 [CONSIDER MERGING] Bugfix: polygon interaction with texts did not capture texts because of vanishing bounding box 2023-01-16 00:59:32 +01:00
Matthias Koefferlein b7c515bf91 WIP: enabling booleans with property constraints 2023-01-15 20:23:32 +01:00
Hugo Therrien b3b26721eb New action: screenshot to clipboard 2023-01-15 11:52:58 -05:00
Matthias Koefferlein f3e610b6e8 WIP: transfer polygon properties to edges 2023-01-15 15:28:10 +01:00
Matthias Koefferlein 5fa4d62da7 WIP: property support for transformation, filters, processors 2023-01-15 15:03:34 +01:00
Matthias Koefferlein 9f633b813d WIP: property management for flat shape containers 2023-01-15 13:34:47 +01:00
Matthias Koefferlein 33b5723068 WIP: property mapping between layouts 2023-01-15 11:56:41 +01:00
Matthias Koefferlein 311d9c6eb5 WIP: new net property mode for net builder (name + id) 2023-01-14 23:56:31 +01:00
Matthias Koefferlein 9f632f29d3 WIP: updated test data 2023-01-14 23:46:48 +01:00
Matthias Koefferlein 053269e0b2 WIP: added test 2023-01-14 22:31:48 +01:00
Matthias Koefferlein 467208fb6e WIP: property-aware meging of deep region 2023-01-14 22:26:42 +01:00
Matthias Koefferlein 2191db0c6d Merge branch 'master' into network-drc 2023-01-13 22:01:51 +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 Köfferlein c2dc27b0e1
Merge pull request #1248 from KLayout/issue-1247
Fixed issue #1247. Problem was missing cache clean on assignment of s…
2023-01-12 09:08:08 +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 500fee3ff6 Fixed issue #1245 by using a smarter implementation for the backward compatibility fallback. Added unit tests and new (old) GSI bindings for that purpose. 2023-01-11 23:31:09 +01:00
Matthias Koefferlein 5952974095 Merge branch 'master' of github.com:KLayout/klayout 2023-01-11 21:26:40 +01:00
Matthias Koefferlein 478b838589 WIP: properties for regions, starting with deep regions 2023-01-09 00:05:31 +01:00
Matthias Koefferlein 0ba719ad84 WIP: properties for regions, tests for flat and original layer regions 2023-01-08 22:44:23 +01:00
Matthias Koefferlein 1dfa5abc9a WIP: introducing properties for FlatRegion and others 2023-01-08 19:27:41 +01:00
Matthias Koefferlein f9ccb60dd9 WIP: experimental - introducing net DRC, first steps 2023-01-07 23:42:59 +01:00
Matthias Koefferlein af30695ab3 WIP: experimental - introducing net DRC, first steps 2023-01-07 21:56:25 +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 8677b38d69 Merge branch 'master' into wip 2023-01-01 22:28:14 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 6136e4f8a0 Merge remote-tracking branch 'origin/issue-1240' 2023-01-01 22:23:26 +01:00
Matthias Koefferlein a3c9b6bc4a Merge remote-tracking branch 'origin/issue-1238' 2023-01-01 22:23:13 +01:00
Matthias Koefferlein 9e6965751d Merge branch 'issue-1234' 2023-01-01 22:22:44 +01:00
Matthias Koefferlein 420f8cfdc3 Fixed issue #1240 (Layer is not activated from layer properties file on first creation) 2023-01-01 18:45:37 +01:00
klayoutmatthias b213479e07 Fixed issue #1238 (Macro IDE: breakpoints not effective on Windows) 2022-12-31 18:51:08 +01:00
Matthias Koefferlein ca32b34dff Restored ability to build on Python 2 2022-12-28 23:50:38 +01:00
Matthias Koefferlein 16cd4276b7 Fixed some more small memory leaks 2022-12-28 17:45:24 +01:00
Matthias Koefferlein de6e1ffd53 Another performance fix for the many layers case 2022-12-28 17:15:51 +01:00
Matthias Koefferlein 1ad7dc0d98 More memory leaks fixed 2022-12-27 23:52:16 +01:00
Matthias Koefferlein 2cd932627c Fixed some memory leaks 2022-12-27 23:45:43 +01:00
Matthias Koefferlein 8575791fd9 Fixed a potential segfault cause by recursive call of paintEvent
This may happen when painting triggers some action that itself
triggers progress reporter (which paints itself).

The solution consists of blocking process_events during painting.
2022-12-27 22:57:14 +01:00
Matthias Koefferlein 8d025ddf9f Fixed non-Qt builds 2022-12-27 20:14:22 +01:00
Matthias Köfferlein 975a752844
Merge pull request #1231 from KLayout/issue-1228
Implemented solution for issue #1228
2022-12-27 20:12:20 +01:00
Matthias Koefferlein 4429d4c8f7 Fixed #1234 (layer list empty after clone panel) 2022-12-27 20:10:39 +01:00
Matthias Koefferlein e0e077d851 Further cleanup of Qt6 binding of QJson... classes 2022-12-26 23:48:16 +01:00
Matthias Koefferlein 76dd1b93bd Qt bindings compatibility with Qt 6.4.1 2022-12-26 21:43:27 +01:00
Matthias Koefferlein 50616ede58 Implemented solution for issue #1228
The "show parameter names" setting is now persisted.
Side effect: changing this setting will now trigger
a configuration update which has some side effects - e.g.
when "lazy update" is configured (parameters are reset).
But that appears to be acceptable.

In addition a second flaw was fixed: errors were not
properly reported by showing the error indicator.
The indicator was hidden immediately after showing it.
2022-12-25 20:44:56 +01:00
Matthias Koefferlein 44a2aa9ca1 Fixed #1230 (LVS browser crashes) and immediately dispatching a 0.28.2 version 2022-12-22 23:17:08 +01:00
Matthias Koefferlein 584dbcfd2f Really, really disabling doc, icon for no-Qt builds 2022-12-21 23:36:15 +01:00
Matthias Koefferlein 5a41443487 Really disabling doc and icon without Qt builds 2022-12-21 23:32:49 +01:00
Matthias Koefferlein f4957dbad2 Exclude doc/icon resources in non-Qt builds 2022-12-21 22:45:48 +01:00
Matthias Koefferlein e4e2204939 Added one missing dependencies 2022-12-21 18:34:41 +01:00
Matthias Koefferlein 7a76202411 Added a unit test to check the integrity of all XML doc pages 2022-12-20 20:43:04 +01:00
Matthias Koefferlein 9440985aed Trying to fix a segfault observed on MacOS 2022-12-18 17:43:48 +01:00
Matthias Koefferlein de784de7ea Wider data types for Windows (long is 32 bit) and for CBLOCK byte counts in OASIS reader 2022-12-18 14:31:46 +01:00
Matthias Koefferlein 24b8526361 Attempting to speed up layer list for many layers 2022-12-17 20:34:22 +01:00
Matthias Koefferlein 884203149a Added tests for recent changes 2022-12-17 20:33:50 +01:00
Matthias Koefferlein b1e78efcaa WIP: trying to enhance layout layer lookup performance. 2022-12-14 22:47:16 +01:00
Matthias Koefferlein ad27c9a51d WIP: trying to enhance layout layer lookup performance. 2022-12-13 23:41:34 +01:00
Matthias Koefferlein 199dea536a Fixed a small bug: d25 material list view background was reset to black with Auto background color 2022-12-13 22:49:49 +01:00
Matthias Koefferlein f49fa646fc Patched PR with leaner solution 2022-12-13 21:54:00 +01:00
Matthias Koefferlein 5a6ea0148a Merge remote-tracking branch 'quantamhd/fix_segfault' into wip 2022-12-13 21:52:40 +01:00
Ethan Mahintorabi 0a03a2809a
Fixes segfault on some linux systems
The static order initialization seems to be more present throughout
Klayout and might cause additional issues, but this fix stopped the
segfault on my machine. When compiling with asan there are a number
or other issues that could be addressed, but it's not clear if they're
real problems.

dbLayout change occured when using the python API to read a DEF layout.
When the layout is updated the code uses a const iterator which
implicitly wraps the non-const iterator. In the loop the end() is
implicitly wrapped, which tries to dereference a nullptr. My fix
checks to ensure that the non-const iterator is not null before trying
blindly dereference it.
2022-12-12 19:03:59 +00:00
Matthias Koefferlein 43089f31e4 Doc updates 2022-12-09 23:53:41 +01:00
Matthias Koefferlein 9607594020 Doc updates 2022-12-09 23:33:31 +01:00
Matthias Koefferlein 3e9d66ea6d Doc fixes 2022-12-09 23:21:09 +01:00
Matthias Koefferlein 88e960b7cf Regenerating doc. 2022-12-09 22:31:13 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) 78383c88f3 Grml .. fixed implementation of previous commit 2022-12-09 16:33:02 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) ffe3722001 Better backward compatibility for ruler configuration 2022-12-09 16:26:21 +01:00
Koefferlein Matthias (IFAG DES TCP FLP) c10cb86b68 Robust configuration of new ruler settings 2022-12-09 16:07:31 +01:00
Matthias Koefferlein 8d6508f69c Doc XML fixed 2022-12-09 07:26:10 +01:00
Matthias Koefferlein a5a3fff1f0 Fixed #1214 (LEF VIA parsing issue) 2022-12-08 22:36:14 +01:00
Matthias Koefferlein 299cea51a5 OASIS writer: Writing repetitions for edge-representation paths too 2022-12-08 20:36:03 +01:00
Matthias Koefferlein 2c94179589 Fixed #1216 (issue with moved - internal error)
This issue is fixed. In addition the following problems were fixed/found:
* General issue with handling merged state in in-place transform (merge shadow region needs to be updated too)
* moved now is hierarchical (also for edges)
2022-12-08 20:27:42 +01:00
Matthias Koefferlein 92d0174711 Fixed a build issue 2022-12-08 00:48:23 +01:00
Matthias Koefferlein d81e0ba51e Merge branch 'points-as-db-objects' 2022-12-07 21:59:02 +01:00
Matthias Koefferlein 5a252f2b29 Updated golden test data for fast DRC 2022-12-07 21:58:24 +01:00
Matthias Koefferlein a9833bf32e Small bugfix: do not mess up annotation templates after used older KLayout versions again. 2022-12-07 21:43:43 +01:00
Matthias Koefferlein 4281cde169 (maybe) fix builds for Qt without SSL 2022-12-06 22:40:41 +01:00
Matthias Koefferlein dc6408a068 Some cleanup 2022-12-06 18:44:29 +01:00
Matthias Koefferlein 4543eaabac Fixed some small flaws in instance properties dialog: sort by cell name, update tree on apply 2022-12-05 23:47:46 +01:00
Matthias Koefferlein 2601f870ec Fixed compile errors 2022-12-05 07:39:03 +01:00
Matthias Koefferlein 035232c978 Providing single-linked list implementation with fast size to address DRC merge performance issue on CentOS 2022-12-05 02:22:08 +01:00
Matthias Koefferlein 43ff59750a Fixed a race condition in DRC local processor with multiple threads 2022-12-04 21:04:21 +01:00
Matthias Koefferlein 0c89d8fec8 WIP: points as db objects - added tests, bug fixes 2022-12-04 19:54:29 +01:00
Matthias Koefferlein 4d04cf4fe3 WIP: introducing points as valid objects into database - implementation. Includes: edge pair perimeter and area. 2022-12-04 19:54:26 +01:00
Matthias Koefferlein 63ad38e9d9 Region#inside/not_inside/covering/not_covering is faster as it skips the merge step now. Fixed deep mode implementation (counting mode detection) with performance effect on outside/interacting too 2022-12-03 20:59:36 +01:00
Matthias Koefferlein cca20773a7 Include performance patch for array-vs-array interactions in deep mode 2022-12-02 17:53:15 +01:00
Matthias Koefferlein 77e9b511cf Fixed slow 'show only selected' with many layers (reason: too many updates of recent editor options layer list) 2022-12-02 17:32:18 +01:00
Matthias Koefferlein 78a139494a Avoid recursion in Application#notify during exception processing - more stable debugging 2022-12-02 17:21:12 +01:00
Matthias Koefferlein 2178b23d8d Fixed #1198 - 0.28 ignores link to script folder 2022-12-01 23:54:43 +01:00
Matthias Koefferlein 13874986b2 Bugfix, tests updated 2022-11-28 23:40:11 +01:00
Matthias Koefferlein a752257f52 Multiple empty-input shortcuts for DeepRegion - tests need update 2022-11-28 01:35:49 +01:00
Matthias Koefferlein 5597ee8960 DeepRegion performance: take fast path for DeepRegion::edges if merged polygons are available. 2022-11-27 21:59:06 +01:00
Matthias Koefferlein 5db45d7aee Proper setting of merged status after interacting/inside etc. 2022-11-27 19:43:53 +01:00
Matthias Koefferlein d76eef10af GSI enabling of Edges#in_and_out, Region#in_and_out and corresponding DRC feature 2022-11-27 15:59:18 +01:00
Matthias Koefferlein f6f4dbeb67 Edges#in/in_and_out: tests added 2022-11-27 15:31:25 +01:00
Matthias Koefferlein 0304930136 WIP: introducing Region#in_and_out and Edges#in_and_out, support for hierachical Edges#in, Tests updated 2022-11-27 14:53:30 +01:00
Matthias Koefferlein 25e61205d2 Deep implementation of in/not_in 2022-11-27 10:37:43 +01:00
Matthias Koefferlein 9008464268 WIP: hierarchical mode for Region#in and Region#not_in 2022-11-27 10:26:01 +01:00
Matthias Köfferlein 1f2e8b4012
Merge pull request #1193 from KLayout/issue-1189
Issue 1189 High memory footprint for DRC deck
2022-11-26 19:55:40 +01:00
Matthias Koefferlein fb60212a5b More numerical stability for reproducible tests drcSimpleTests:56 and 57 (45 degree angles) 2022-11-25 22:36:19 +01:00
Matthias Koefferlein 5057b0a626 Merge branch 'issue-1190' 2022-11-25 07:51:34 +01:00
Matthias Koefferlein 20b6608410 Test updated 2022-11-24 22:12:01 +01:00
Matthias Koefferlein 66b10245fe Another update of golden data 2022-11-24 21:54:04 +01:00
Matthias Koefferlein dc24ec2d15 Updated golden test data 2022-11-24 21:46:56 +01:00
Matthias Koefferlein d8dcb41ee0 force GC on LVS tests too. 2022-11-24 21:28:13 +01:00
Matthias Koefferlein 53d6e8d3cb DSS now keeps layouts (avoids excessive cell mapping), frequent GC in DRC tests for heavy GC load testing 2022-11-24 20:41:19 +01:00
Matthias Koefferlein e04875b4e0 Fixed a problem with object lifetime and tiling processor input found after GC became active. Added a documentation hint. 2022-11-23 01:03:36 +01:00
Matthias Koefferlein 7431ec6f43 Solved an ownership issue in DRC which popped up after universal DRC nodes got deleted. 2022-11-23 00:36:08 +01:00
Matthias Koefferlein 86cc523c77 Bugfixed GCLocker implementation - is now recursive 2022-11-23 00:33:37 +01:00
Matthias Koefferlein d5725c3ed5 DRC performance issue fix attempt
Problem was that destruction of database objects was postponed during
callbacks, specifically the interpreter callback.

This caused db::Region objects to pile up.

The original feature was introduced to prevent issues when Ruby/C++
code interacts inside Qt UIs. The new fix does not disable GC, but
protects Ruby objects during method calls. Maybe that solves the problem too.
2022-11-22 22:06:10 +01:00
Matthias Koefferlein 6e2310186b Added tests 2022-11-21 23:33:28 +01:00
Matthias Koefferlein 16d662229d Fixed issue #1190 (Edges#extended_xx in deep mode) 2022-11-21 23:30:28 +01:00
Matthias Koefferlein c51f6ef18b Don't crash netlist browser when there is no netlist 2022-11-21 22:57:44 +01:00
Matthias Koefferlein 30ab1a13ca Added tests, documentation, doc bug fixes for angle-class edge selectors 2022-11-12 18:16:57 +01:00
Matthias Koefferlein 2341170065 First tests 2022-11-12 00:29:50 +01:00
Matthias Koefferlein b02d3b24a8 WIP: first draft of angle-class selectors for edges and edge pairs for simplifying edge orientation checks 2022-11-11 23:46:45 +01:00
Matthias Koefferlein aadb8510d2 Merge branch 'performance' into wip 2022-11-11 21:55:39 +01:00
Matthias Koefferlein f17719b43c Fixed builds for MSVC 2017 python module builds with setuptools. 2022-11-11 00:32:03 +01:00
Matthias Koefferlein 462976fc05 Convenience isotropic versions for Box::enlarge(d) 2022-11-10 22:31:13 +01:00
Matthias Koefferlein 67690b8ae8 Array properties are not grayed out in read-only mode on instance properties page 2022-11-10 22:18:53 +01:00
Matthias Koefferlein d7263eac74 Square and rectangle convenience ctor for GSI Box and DBox 2022-11-10 22:08:41 +01:00
Matthias Koefferlein 719cd28f76 Some enhancement for specifying klayout paths
$KLAYOUT_HOME can now be empty which has the same effect
than setting it to /dev/null - no home folder is present and
no packages will be searched there.

$KLAYOUT_PATH can be empty which makes KLayout not choose
the installation folder as the default path location as before.
2022-11-10 22:01:07 +01:00
Matthias Koefferlein c220ed0cbc Merge branch 'master' into wip 2022-11-09 23:30:38 +01:00
Matthias Koefferlein ea2486eaed Fixed a merge issue 2022-11-09 23:30:08 +01:00
Matthias Köfferlein 7589efd781
Merge pull request #1182 from KLayout/issue-1178
Fixed issue #1178 (technology-data xml results in SEGV)
2022-11-09 23:29:06 +01:00
Matthias Koefferlein 1edbd6232f Merge branch 'python-typehints' 2022-11-09 23:13:31 +01:00
Matthias Koefferlein 15ce9a79ea Small bug fixed: color chooser button was not showing the colors from the palette 2022-11-06 19:19:33 +01:00
Matthias Koefferlein 5b710fa3a4 More stable result of antenna debug output text placement 2022-11-06 19:02:35 +01:00
Matthias Koefferlein 65e11498d4 Fixed issue #1178 (technology-data xml results in SEGV)
Problem was that the test case contained multiple technologies
inside the config file and the cached values were not updated
in the XML reader upon migrating to the new multi-stack capable
scheme.
2022-11-06 16:53:26 +01:00
Matthias Köfferlein 4a80a10a2d
Merge pull request #1175 from KLayout/wip
Wip
2022-11-06 09:11:38 +01:00
Matthias Koefferlein cd3ca9e536 Do not use zstd compression for Qt6 as there is no built-in decompression 2022-11-06 01:23:39 +01:00
Matthias Koefferlein 240281d9ff [consider merging] Important patch: avoids incorrect initialization of Python classes 2022-11-06 01:12:16 +01:00
Matthias Koefferlein f338c13309 [consider merging] Important bug fix - do not use NDEBUG as ruby.h redefines it and this will lead to crashes in the debugger 2022-11-05 14:28:40 +01:00
Matthias Koefferlein f67b28c52a Supporting LayerInfo objects in fill pattern generation, doc updates 2022-11-04 23:45:10 +01:00
Matthias Koefferlein 131745433d Doc fixes 2022-11-04 23:16:15 +01:00
Matthias Koefferlein 25409a3d33 Doc updates 2022-11-04 22:08:12 +01:00
Matthias Koefferlein 9dac047003 Fixed small doc error 2022-11-04 21:25:12 +01:00
Matthias Koefferlein 8779e2a4cc Enabling build with Qt6 2022-11-03 14:26:17 +01:00
Matthias Koefferlein 27e04c61a0 Less compiler warnings 2022-11-02 23:35:18 +01:00
Matthias Koefferlein 9ec7c0ca44 layout_diff GSI binding: provide interface for edge pair diffs 2022-11-02 23:35:06 +01:00
Matthias Koefferlein a8ea234522 Enable Qt6 build from build.sh (gcc needs c++17) and less noisy builds with gcc 11 etc. 2022-11-02 23:09:44 +01:00
Matthias Koefferlein a759492f1e Avoid an assertion in macro editor when no script support is compiled in 2022-11-02 23:08:47 +01:00
Matthias Koefferlein d47cbeb231 [consider merging] Bugfix: generation of texts for antenna results 2022-11-02 23:07:55 +01:00
Matthias Koefferlein c8e60d666c Fixed #1167 (delete_cells slow) 2022-11-01 14:57:39 +01:00
Matthias Köfferlein c021a1834c
Fixed #1173 (DXF reader compatibility issue with ezdxf) (#1174) 2022-11-01 14:28:51 +01:00
Matthias Koefferlein 9f2cf7275f Fixed display of XOR progress (wasn't properly painting the error bitmaps) 2022-11-01 14:17:37 +01:00
Matthias Koefferlein 54833db00b Added feature for computing area and perimeter from selection 2022-11-01 13:46:48 +01:00
Matthias Koefferlein 2dc5c98416 Implemented readonly for PCell line-edit parameters as QLineEdit::readOnly 2022-11-01 13:46:36 +01:00
Matthias Koefferlein 548db003ed Debugged Ruby PCellDeclarationHelper, small enhancements 2022-10-30 10:00:51 +01:00
Matthias Koefferlein b1b51d3152 Bug fix Ruby PCell declaration helper - needs testing 2022-10-30 00:23:32 +02:00
Matthias Koefferlein 8aa135b964 Python implementation of PCell helper with callback 2022-10-30 00:15:48 +02:00
Matthias Koefferlein 1b666e1cc8 Bug fixes. 2022-10-29 23:43:56 +02:00
Matthias Koefferlein 194a6f3526 Added callback helper for Ruby PCellDeclarationHelper 2022-10-29 22:38:33 +02:00
Matthias Koefferlein 0e5842d36e Fixed some qrc files, added more attributes to PCellParameterState (tool tip, readonly, icon), added option to show parameter names 2022-10-29 21:20:16 +02:00
Matthias Koefferlein d00c4a94d6 WIP: first version GSI binding for callbacks 2022-10-29 00:22:54 +02:00
Matthias Koefferlein eb8c96054c WIP: preparations for callbacks in PCell code 2022-10-28 23:41:31 +02:00
Matthias Koefferlein d82ff4d3f8 [consider merging] Fixed a problem with editing guiding shapes 2022-10-28 23:40:48 +02:00
Matthias Koefferlein e6da3fc22c WIP: callbacks for PCells 2022-10-27 00:42:28 +02:00
Matthias Koefferlein 879059f830 Package manager: show details only when enabling the 'show details' button 2022-10-26 21:28:10 +02:00
Matthias Koefferlein 6e2055b555 Removed original doc for type hints 2022-10-26 17:02:29 +02:00
Matthias Koefferlein 0262926b11 Moved __deepcopy__ implementation and NotImplemented fallback from db.__init__ to C++ implementation for better performance and generalization. Added tests 2022-10-26 10:40:20 +02:00
Matthias Koefferlein a72888e331 Enabling polymorphic re-throw, hence supporting TypeError 2022-10-24 22:03:31 +02:00
Matthias Koefferlein 2b60e2f6e9 Preventing overriding of getters by is_.. predicates 2022-10-24 21:06:03 +02:00
Matthias Koefferlein c8d86f8e73 Improved doc, enough slots for getters and setters for Qt namespace 2022-10-24 20:53:58 +02:00
Matthias Koefferlein 24c6224a84 Do not produce Python methods masked by properties. 2022-10-24 20:31:46 +02:00
Matthias Koefferlein a39d22c438 Fixed problems with reserved words 2022-10-24 19:44:28 +02:00
Matthias Koefferlein 9011af54ac Class properties 2022-10-23 23:47:26 +02:00
Matthias Koefferlein eb31f67aeb Include .pyi in deployment, scrips enhanced for more compatibility with stubtest 2022-10-23 23:18:09 +02:00
Matthias Koefferlein daad80d5d5 Synthesize getters from is_... predicates, added getter for RecursiveShapeIterator#shape_flags 2022-10-23 22:08:06 +02:00
Matthias Koefferlein be6e05da55 WIP: refactoring, added special GSI methods for Python binding 2022-10-23 19:00:41 +02:00
Matthias Koefferlein 2c18bc6c46 WIP: refactoring 2022-10-23 18:31:13 +02:00
Matthias Koefferlein d3a36e66f2 Fixed a compiler warning 2022-10-20 23:29:35 +02:00
Matthias Koefferlein fbd4c84d84 Refactoring of pya/rba/expressions
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.

The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Matthias Koefferlein 11f6eb21e0 Added ParentCellInst#dinst 2022-10-18 21:52:40 +02:00
Matthias Koefferlein 8f6603d88e Fixed unit test fails 2022-10-18 01:26:42 +02:00
Matthias Koefferlein c9c9d6198b Fixed a Qt warning 2022-10-18 01:02:58 +02:00
Matthias Koefferlein 6f80d340f1 Fixed high-DPI mode of color chooser widget, some improvements on image properties dialog (false color bar) 2022-10-18 00:53:10 +02:00
Matthias Koefferlein 60e6523c30 Some bug fixes for user-property aware RDB and antenna check enhancements 2022-10-18 00:00:29 +02:00
Matthias Koefferlein db4baf3a6d Added scanning of texts to RDB 2022-10-17 22:56:08 +02:00
Matthias Koefferlein e4131b45a3 WIP: provide a way to report user properties to RDB, added antenna rule measurements as user properties. 2022-10-17 22:29:48 +02:00
Matthias Koefferlein 2cb3e037a9 Fixed a Qt warning 2022-10-16 23:43:09 +02:00
Matthias Koefferlein 2441775b76 Fixed a segfault in the layout view tests 2022-10-16 22:21:14 +02:00
Matthias Koefferlein 6e2c17b8c1 [consider merging] Qt4 compatibility 2022-10-16 22:02:11 +02:00
Matthias Koefferlein c6e457d3d6 [consider merging] Qt4 compatibility 2022-10-16 21:53:17 +02:00
Matthias Koefferlein dc927717c2 Multi-selection in properties dialog: bugfixing and finalization 2022-10-13 23:45:21 +02:00
Matthias Koefferlein 5144f239eb Merge branch 'master' into selection-list 2022-10-13 22:47:28 +02:00
Matthias Koefferlein 48ec894b1e Merge remote-tracking branch 'origin/enhanced-tab-widget' 2022-10-13 22:46:46 +02:00
Matthias Koefferlein bc06b688ca Merge branch 'master' into selection-list 2022-10-13 09:32:16 +02:00
Matthias Koefferlein 456f42972f Fixed Qt4 builds 2022-10-13 09:28:52 +02:00
Matthias Koefferlein 4f69edb11f WIP 2022-10-12 23:38:43 +02:00
Matthias Koefferlein 5e73b0f5f8 WIP: multi-selection properties on instances 2022-10-09 23:23:47 +02:00
Matthias Koefferlein b29382bc6a Enabling Qt4 builds 2022-10-09 21:30:28 +02:00
Matthias Köfferlein 8d1dcbb04a
Fixed issue-1164 (internal error on delete cells on archlinux) (#1166)
* Fixed issue-1164 (internal error on delete cells on archlinux)

* Found another location where take_cell would spoil cell_name

Co-authored-by: matthias <matthias@klayout.de>
2022-10-09 21:27:13 +02:00
Matthias Köfferlein c9cef44108
Merge pull request #1160 from EugeneZelenko/enhanced-tab-widget
Use enhanced tab widget for file tabs to easily navigate through larg…
2022-10-09 21:26:04 +02:00
Matthias Koefferlein 1006bf6d57 WIP: more on properties dialog 2022-10-08 18:53:27 +02:00
Matthias Koefferlein 83d37d4187 Some bug fixes 2022-10-08 10:38:54 +02:00
Matthias Koefferlein b047a310c2 WIP: multi selection property dialog 2022-10-08 00:52:38 +02:00
Matthias Koefferlein fb5df27310 WIP: multi selection property dialog 2022-10-08 00:44:18 +02:00
Matthias Koefferlein 187aae2649 WIP: multi selection property dialog 2022-10-08 00:37:39 +02:00
Matthias Koefferlein 43c7e87cc0 Fixed 'run.png' icon which should be 'run_16px.png' 2022-10-07 00:52:06 +02:00
Matthias Koefferlein 62e0d83b3a WIP: further development on selection tree on objects dialog 2022-10-07 00:44:12 +02:00
Matthias Koefferlein 56bdf3b2e0 WIP: Fixed colors of logo letters 2022-10-07 00:43:52 +02:00
Matthias Koefferlein eb004e45e1 WIP: generalized interface of properties page 2022-10-06 21:31:16 +02:00
Matthias Koefferlein ddff1f564f Provide high-res version of logo 2022-10-05 23:50:43 +02:00
Matthias Koefferlein 95686ea630 Modified 'close all except/left/right' to be effective on the tab the mouse points at. 2022-10-05 22:27:13 +02:00
Matthias Koefferlein 774b008417 Fixed a build error 2022-10-05 21:45:22 +02:00
Matthias Koefferlein 0c73b11f9b Added a convenience version for GenericDeviceExtractor#define_terminal which takes terminal and layer names 2022-10-03 22:02:13 +02:00
Matthias Koefferlein 2c96cc2a41 Salt package installation/uninstallation even and hooks. 2022-10-02 19:33:21 +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 e4830b98b3 Small bugfixes 2022-10-01 19:52:12 +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 4e4f316b71 Updated doc. 2022-10-01 13:33:53 +02:00
Matthias Koefferlein eedfc7c00f Doc update, tests for new annotation features 2022-10-01 13:04:25 +02:00
Matthias Koefferlein 069c3e6447 WIP: proper selection of angle and radius rulers 2022-10-01 12:39:05 +02:00
Matthias Koefferlein 1660a72b5a WIP: restored logo on 'About' page 2022-10-01 01:45:47 +02:00
Matthias Koefferlein 1057c0f268 WIP: debugging of radius rulers 2022-10-01 01:38:18 +02:00
Matthias Koefferlein 996f0d75e5 WIP: debugging of angle ruler, display options implemented 2022-10-01 00:43:29 +02:00
Matthias Koefferlein 8415e075ad WIP: angle measurement ruler, radius measurement one. Needs improvement 2022-09-28 23:58:34 +02:00
Matthias Koefferlein d2d321c35b WIP: point editing of multi-segment rulers 2022-09-28 21:16:47 +02:00
Matthias Koefferlein 8cbe5a2359 WIP: debugging, first implementation of new templates 2022-09-28 00:37:37 +02:00
Matthias Koefferlein 79102d399e WIP: enhancements, debugging of multi-segment rulers setup 2022-09-27 22:56:34 +02:00
Matthias Koefferlein 1c8a99fa26 WIP: some bug fixing 2022-09-26 23:52:32 +02:00
Matthias Koefferlein d1b7cd1f8f WIP: first steps towards multi-segment rulers 2022-09-26 23:37:22 +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 511f55d4da WIP: refined solution - some bug fixes, XML file is backward compatible now 2022-09-25 16:33:23 +02:00
Matthias Koefferlein 8919916da9 WIP: some debugging 2022-09-25 11:22:45 +02:00
Matthias Koefferlein 2505ebb9a3 WIP: some debugging 2022-09-25 10:53:23 +02:00
Matthias Koefferlein 40786d13e0 WIP: added missing files 2022-09-25 00:36:29 +02:00
Matthias Koefferlein 293f26ddc0 WIP: multiple tech stacks for net tracer, first steps 2022-09-25 00:35:59 +02:00
Matthias Koefferlein 42de46caf2 Added close left/right and clone to view tab's context menu too 2022-09-24 20:48:02 +02:00
Matthias Koefferlein 35aaf63051 As suggested by Eugene: close left/close right added to macro editor's tab tab ... layout views will follow 2022-09-24 19:53:31 +02:00
Matthias Koefferlein ab9fe57ec3 Modified the original solution somewhat
1. Provide a menu icon in SVG (24x24px and 16x16px for later use elsewhere)
2. Proposing a solution based on QTabBar again
   - Rationale: the QTabWidget is intended as container for widgets but
     in our case it is not (the ViewStack will handle this). I am worried
     about the implications, specifically as there are widgets added during
     insertTab which are also added to the view stack container.
     Apart from that the visual effect is somewhat ugly.
   - The menu button is not part of the EnhancedTabBar as it does not
     provide a corner widget. But it is available as "visually detached"
     sub-widget and the main window can build a HBoxLayout for it.
3. Correspondingly renaming EnhancedTabWidget to EnhancedTabBar
4. I ported the "close all" and "close all except" feature from the
   macro editor's tabs to the view tab bar as I think this fits nicely
   into this enhancement.
2022-09-23 23:31:23 +02:00
Matthias Koefferlein c8889504e6 Enabling high-DPI scaling in QApplication 2022-09-23 22:20:14 +02:00
Matthias Koefferlein 1107e5bacc Added doc and icon to dependencies. 2022-09-23 22:17:50 +02:00
Matthias Koefferlein 836cb9f6f6 Added doc and icon to dependencies. 2022-09-23 22:01:38 +02:00
Matthias Koefferlein 4236360620 Added doc and icon to dependencies. 2022-09-23 22:00:33 +02:00
Eugene Zelenko ef6b0f52d7 Use enhanced tab widget for file tabs to easily navigate through large number of opened files. 2022-09-22 17:43:32 -07:00
Matthias Koefferlein b8263d2529 Fixed #1159 (valgrind error) 2022-09-22 21:17:51 +02:00
Matthias Koefferlein db37bdd5e7 Enabling high-DPI scaling in QApplication 2022-09-22 21:13:23 +02:00
Matthias Köfferlein 0993de418e
Merge pull request #1156 from KLayout/resources-rework
Resources rework
2022-09-21 22:16:58 +02:00
Zopolis4 8f940c1679
Restrict overmatching MACH ifdef to only trigger on OSX and Mach 2022-09-21 16:52:25 +10:00
Matthias Koefferlein 04d0c7f898 Fixed builds 2022-09-19 18:08:34 +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
Matthias Koefferlein 029284f48a Some refactoring, layer icons are scaled for high DPI too now. 2022-09-18 20:56:37 +02:00
Matthias Koefferlein a6d4cdd254 More scaled pixmaps for dither pattern icons 2022-09-18 18:02:37 +02:00
Matthias Koefferlein e5fabb2b13 Using scaled dither pattern pixmaps in the UI elements 2022-09-18 17:37:49 +02:00
Matthias Koefferlein 48e3643a87 Attempting extrapolation of fill pattern 2022-09-18 16:09:11 +02:00
Matthias Koefferlein ef5cd11629 Properly scaling line width for high-DPI displays 2022-09-18 13:19:52 +02:00
Matthias Koefferlein f32da6aa87 Properly scaling line width for high-DPI displays 2022-09-18 12:19:06 +02:00
Matthias Koefferlein 86f9fbe9e7 Fixed palette buttons. 2022-09-17 23:11:19 +02:00
Matthias Koefferlein 8e480a0236 Changed pixmaps to 2x versions for high-DPI support 2022-09-17 22:13:16 +02:00
Matthias Koefferlein cf50b38090 Corrected resource file paths 2022-09-17 21:00:36 +02:00
Matthias Koefferlein 3172c1c4bc More icons turned into SVG 2022-09-17 17:37:42 +02:00
Matthias Koefferlein 84061b8362 More icons turned into SVG 2022-09-17 16:53:05 +02:00
Matthias Koefferlein 708214fa0d More icons turned into SVG 2022-09-17 16:19:50 +02:00
Matthias Koefferlein f0e692f8ed More icons turned into SVG 2022-09-17 15:55:42 +02:00
Matthias Koefferlein 7fe16df8ef More icons turned into SVG 2022-09-17 15:33:29 +02:00
Matthias Koefferlein 2635ca06af More icons turned into SVG 2022-09-17 15:28:06 +02:00
Matthias Koefferlein 188ae060be More icons converted 2022-09-17 02:06:24 +02:00
Matthias Koefferlein 85af2d35e8 More images to SVG 2022-09-17 01:40:02 +02:00
Matthias Koefferlein f598348046 More images to SVG 2022-09-17 01:25:46 +02:00
Matthias Koefferlein 2ae82af73a More icons to SVG 2022-09-17 00:00:28 +02:00
Matthias Koefferlein 306c8b789c More icons turned into SVG 2022-09-16 23:47:40 +02:00
Matthias Koefferlein 5c8c918fb9 More icons as SVG 2022-09-14 23:42:08 +02:00
Matthias Koefferlein 4ebe51fb05 More icons as SVG; small fixes to image landmark editor. 2022-09-14 23:32:03 +02:00
Matthias Koefferlein c7006898a6 More icons as SVG 2022-09-14 22:47:39 +02:00
Matthias Koefferlein 164748be22 More icons as SVG 2022-09-14 22:35:55 +02:00
Matthias Koefferlein fdfacd8532 More icons as SVG 2022-09-14 22:29:29 +02:00
Matthias Koefferlein 9454d6289d New icons turned to SVG 2022-09-14 21:37:24 +02:00
Matthias Koefferlein 0a9c396ae3 More icons turned into SVG 2022-09-14 21:25:59 +02:00
Matthias Koefferlein 22bbb4b320 More icons translated to SVG 2022-09-13 23:53:11 +02:00
Matthias Koefferlein a5b34037ab New icons translated 2022-09-13 18:23:47 +02:00
Matthias Koefferlein 878389e858 More icons transferred to SVG 2022-09-13 01:12:09 +02:00
Matthias Koefferlein 438a3c50e3 One more icon translated to SVG 2022-09-13 00:40:30 +02:00
Matthias Koefferlein faed280289 More icons translated to SVG 2022-09-13 00:29:16 +02:00
Matthias Koefferlein 1b8bf1f76d More icons translated 2022-09-12 23:14:49 +02:00
Matthias Koefferlein a3fe8cc49d More icons translated 2022-09-12 22:51:29 +02:00
Matthias Koefferlein 50e64c9c65 More icons translated to SVG 2022-09-12 22:13:50 +02:00
Matthias Koefferlein d881933840 More icons converted to SVG 2022-09-12 21:55:35 +02:00
Matthias Koefferlein 55bfb0d118 More icons converted to SVG 2022-09-12 20:30:09 +02:00
Matthias Koefferlein 212d9d2d27 Removed unused PNGs 2022-09-12 01:00:31 +02:00
Matthias Koefferlein 0a67691b3a [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:54:44 +02:00
Matthias Koefferlein 3c2092bdc2 [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:53:50 +02:00
Matthias Koefferlein 13d11ac714 More icons switched to SVG 2022-09-12 00:39:55 +02:00
Matthias Koefferlein e460314090 Deploying more SVG based icons 2022-09-11 22:02:10 +02:00
Matthias Koefferlein 4a241cc36c Deploying first high-res icons, enabled high-dpi icon scaling 2022-09-11 21:07:48 +02:00
Matthias Koefferlein 4f125d3768 More SVG images 2022-09-11 18:30:06 +02:00
Matthias Koefferlein 92fc8bbafc First SVG versions of icons 2022-09-11 18:25:00 +02:00
Matthias Koefferlein 2d17d87063 Added an extra target for updating DRC/LVS doc 2022-09-11 11:34:56 +02:00
Matthias Koefferlein 3b2efddd28 Refreshing DRC+LVS doc 2022-09-11 11:13:29 +02:00
Matthias Koefferlein 25c5b2f057 Refactoring of resources -> separate folders for doc and icons 2022-09-11 11:09:14 +02:00
Matthias Köfferlein 769b16ea3f
Issue 1145 (#1151)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Enhanced Shapes::is_valid so it's more reliable in detecting invalid shape objects.

* ObjectInstPath now has a validity attribute

* First implementation of solution for edtService (partial service to follow)

* Validating selection also for Partial Edit mode
2022-09-05 23:35:21 +02:00
Matthias Köfferlein 390cac87d3
Issue 1097 (#1148)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Implemented #1097 (discourage file compression, use CBLOCK)

* A warning is printed if file compression is enabled on OASIS
* A hint is present in the writer options
* CBLOCK is default (with fresh config) and for buddy tools
  (use --cblock=false to disable it)

* Strict mode is default too.

* Updated tests
2022-09-05 23:34:53 +02:00
Matthias Köfferlein 9ebb923d83
Issue 1144 (#1150)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Avoids a segfault during drawing: make sure the cell bbox update is not triggered in the drawing thread before it is stopped

* Fixed #1144 (wrong layer taken on copy layer)
2022-09-05 20:31:13 +02:00
Matthias Köfferlein f6c5062c71
Issue 1143 (#1149)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Fixed issue #1143 (technology default DBU not taken)
2022-09-05 20:30:57 +02:00
Matthias Köfferlein 7a9e9989d3
Merge pull request #1147 from KLayout/wip
Wip
2022-09-04 09:08:08 +02:00
Matthias Köfferlein e343939aaf
Merge pull request #1139 from KLayout/issue-1138
Issue 1138 (switch to suppress warnings on DXF reader - and other readers)
2022-09-04 09:07:51 +02:00
Matthias Koefferlein 8bf251b0c9 Removed some unused code 2022-09-04 00:25:24 +02:00
Matthias Koefferlein fd30881ace Proper cleanup avoid segfaults on exit 2022-09-03 23:36:31 +02:00
Matthias Koefferlein 290cd39ad9 Bugfix: consider device pixel ratio for layout canvas 2022-09-03 23:27:07 +02:00
Matthias Koefferlein 070ef54c66 Avoid a segfault with layout views without manager 2022-09-03 23:05:08 +02:00
Matthias Koefferlein 8dd002bd0f More enhancements to support LayoutView as widget 2022-09-03 22:53:01 +02:00
Matthias Koefferlein a9ef337c3b Layer toolbox is a view component now - that means it changes with the view. 2022-09-03 18:28:17 +02:00
Matthias Koefferlein 81eab3f1db More safety against deleting view in view widget 2022-09-03 16:59:27 +02:00
Matthias Koefferlein 0bbf4ad81c Properly selecting toolbar actions (Qt 5.15?) 2022-09-03 16:59:17 +02:00
Matthias Koefferlein f788818d12 Some more refactoring - further abstracting layout view from container widget 2022-09-03 01:48:50 +02:00
Matthias Koefferlein ec9f91b3d4 Fixed Qt binding build. 2022-09-02 00:56:59 +02:00
Matthias Koefferlein 3c53950eaa Rework needed for LayoutView management
The application got unstable on exit under various conditions
(e.g. LayoutView created in script). Reason was the ownership
management of LayoutView which interfered with Qt widget
lifetime management.

The solution now is based on a clean widget/view hierarchy
and a consistent plugin parent/child relationship.

In addition, a new class is enabled which allows creating
a true QWidget (rather QFrame) for a LayoutView again.
2022-09-02 00:47:21 +02:00
Matthias Koefferlein 0248834afb Qt4 compatibility 2022-09-01 19:35:18 +02:00
Thomas Ferreira de Lima 4d4f4b643b Added python stubs with type hinting and documentation. (#1125)
* Added python stubs with type hinting and documentation.

The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)

* created tl ArgType to python type translator

* Fixing a pyaModule.cc bug

* almost finished stubgen

* fixing little bug in classes defined within classes

* Release version of the stubgen script. Good enough for release.

* Adding notes

* Including stubs when installing from source

* typechecking bugfix: missed checking is_iter()

* Cleaning up unused code for merge review

* Including stubs when installing from source (part deux)

* Putting the GenericDeviceExtractor name setting into the right place.

* Updating python stubs

Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
2022-09-01 00:41:42 +02:00
Matthias Koefferlein cb3369e9be Merge remote-tracking branch 'origin/master' into wip 2022-09-01 00:27:33 +02:00
Matthias Koefferlein 50f6a1c270 Employ Qt 5.15 to hide LVS tabs in netlist browser 2022-09-01 00:26:27 +02:00
Matthias Koefferlein a81bca43a6 Added cmath include as suggested for Slackware 2022-08-31 23:56:53 +02:00
Matthias Koefferlein c720e2d3eb New DRC features:
* inside, not_inside, outside, not_outside (edge/edge, edge/polygon)
* related select_*
* split_inside, split_outside (edge/edge, edge/polygon)
* andnot (edge/edge, edge/polygon)
* inside_outside_part (edge/polygon)
2022-08-31 23:38:23 +02:00
Matthias Koefferlein 81b605c197 DRC implementation + doc update 2022-08-31 22:39:05 +02:00
Matthias Koefferlein bb0d4a6ecc GSI binding of new Edges features 2022-08-30 23:03:43 +02:00
Matthias Koefferlein 32928b583c Bug fixes (border cases), tests 2022-08-30 22:12:30 +02:00
Matthias Koefferlein 34f6e7bdba Bug fixes, tests 2022-08-30 20:43:32 +02:00
Matthias Koefferlein 5662f962d2 Bug fixes, tests. 2022-08-30 00:53:14 +02:00
Matthias Koefferlein e591d205c7 Bug fixes, tests. 2022-08-30 00:23:22 +02:00
Matthias Koefferlein f92d86a1e1 Bug fixes 2022-08-29 23:47:24 +02:00
Matthias Koefferlein aa267744dc Exposed more functions for db::Edges, more tests, debugging 2022-08-29 22:48:17 +02:00
Matthias Koefferlein bf91938133 Bug fixes, tests. 2022-08-29 22:17:37 +02:00
Matthias Koefferlein 956a27ec69 First implementation 2022-08-29 19:51:19 +02:00
Matthias Koefferlein 4af9b8b01c WIP: predicates for Edges implementation 2022-08-28 23:35:45 +02:00
Matthias Koefferlein 0b59697189 First new test 2022-08-27 22:28:15 +02:00
Matthias Koefferlein 728d60a510 More generic 'join' function for string sequences 2022-08-27 22:27:59 +02:00
Matthias Koefferlein a6ad6c8866 Comment update 2022-08-27 22:12:22 +02:00
Matthias Koefferlein a47bb67fd4 Removed unused code 2022-08-27 22:11:40 +02:00
Matthias Koefferlein 318a462cb4 WIP: first code pieces 2022-08-27 21:31:40 +02:00
Matthias Koefferlein d2ab4fc743 Doc updates. 2022-08-27 18:02:56 +02:00
Matthias Koefferlein 69617e8006 bbox_with_layer -> bbox 2022-08-27 17:58:17 +02:00
Matthias Koefferlein 67d8518926 Shapes#cell and Shapes#layout 2022-08-27 17:51:14 +02:00
Matthias Koefferlein e7177261ad LayerMap#map and mmap with optional log layer 2022-08-27 17:38:48 +02:00
Matthias Koefferlein 1f954d8758 Cell#read 2022-08-27 17:23:11 +02:00
Matthias Koefferlein f590d39c19 CellMapping: documentation, some convenience bindings 2022-08-27 15:38:10 +02:00
Matthias Koefferlein 7c776779a6 Bugfix: D25 view background color synchronized with layout view now 2022-08-27 14:09:09 +02:00
Matthias Koefferlein 5613ef1089 Bugfix: ruler menu was not initialized properly when not having configure templates 2022-08-22 22:09:08 +02:00
Matthias Koefferlein 5b40d86527 Bugfix: menu system wasn't working properly with menu tool buttons 2022-08-16 23:00:31 +02:00
Matthias Koefferlein 9ee5730b60 WIP: small patch avoiding generation of freaky files with fake-windows paths on Linux 2022-08-16 22:15:21 +02:00
Matthias Koefferlein 46364c2420 [consider merging] Reader format error with details showing dump or text 2022-08-16 21:56:07 +02:00
Matthias Koefferlein 49fe816294 More elaborate doc for transformations 2022-08-16 20:42:10 +02:00
Matthias Koefferlein e1552afcae Menu system: menu opening event, insert_menu variant with Action argument, clear_menu method, icon setter with QIcon 2022-08-15 23:43:45 +02:00
Matthias Koefferlein 21b14706dd data: URLs for abstract paths 2022-08-15 16:58:44 +02:00
Matthias Koefferlein 1099a3d7bb Implemented warn_level for all readers so warnings can be turned off 2022-08-13 22:15:07 +02:00
Matthias Koefferlein 90df9451b6 WIP: reworked log enabling in LVS, added 'no_lvs_hints' feature, updated tests 2022-08-13 18:30:02 +02:00
Matthias Koefferlein fd008b3810 WIP: more LVS hints 2022-08-13 01:46:12 +02:00
Matthias Koefferlein 47ec9a706b WIP: enhanced and debugged LVS hints 2022-08-13 01:36:25 +02:00
Matthias Koefferlein 829f78de8b WIP: attempting to produce reasonable messages on LVS mismatch (short detection) 2022-08-12 00:09:50 +02:00
Matthias Koefferlein 526f1aeacc [Consider merging] provide an option to produce antenna DRC debug output 2022-08-11 01:02:45 +02:00
Matthias Koefferlein 1d88e65689 [Consider merging] Fixed file content of test data - .oas is OASIS, .gds is GDSII 2022-08-10 21:48:00 +02:00
Matthias Koefferlein 0b0e440781 [Consider merging] method name parser exception for *= method (not seen as protected '=') 2022-08-10 21:05:34 +02:00
Matthias Koefferlein 38d2b8378d Merge remote-tracking branch 'origin/master' into wip 2022-08-10 20:40:27 +02:00
Matthias Köfferlein 7ffdc211e5
Fixed issue-1135 (LVS mismatch on parallel devices) (#1136)
* Fixed issue-1135 (LVS mismatch on parallel devices)

The fix consists of a more elaborate device identity analysis
following the topological matching. In this step, the devices
are identified according to their connections and parameters.
It is important to properly identify devices taking their
parameters into account as well as their connections.

* Second part of issue fixed (inverter chain ambiguity)

* Added test

* Updated tests

* Updated golden test results

* Updated golden test data for Windows

Co-authored-by: klayoutmatthias <matthias@klayout.org>
2022-08-10 20:27:11 +02:00
Matthias Koefferlein d48792a942 Trying to establish first log abilities to LVS compare 2022-08-10 00:41:19 +02:00
Matthias Koefferlein b1cbafbac0 WIP: netlist browser log viewer 2022-08-09 01:11:28 +02:00
Matthias Koefferlein 83946620d9 [Consider merging] fixed a bug in netlist browser reload 2022-08-09 01:11:03 +02:00
Matthias Koefferlein 2569527c3c WIP: Schematic netlist participates in net highlighting if applicable 2022-08-08 23:27:22 +02:00
Matthias Koefferlein 1e3ce081d4 WIP: bugfixed schematic netlist view 2022-08-08 22:23:01 +02:00
Matthias Koefferlein 51b521f2b7 WIP: enabling schematic view of netlist - needs debugging 2022-08-07 23:41:29 +02:00
Matthias Koefferlein de026fac86 WIP: debugging 2022-08-07 23:10:09 +02:00
Matthias Koefferlein 16341bdd1b WIP: bug fixing 2022-08-07 22:29:02 +02:00
Matthias Koefferlein 8029302e08 WIP: started integrating log view in netlist browser 2022-08-07 22:02:22 +02:00
Matthias Koefferlein 2e7524a0fe WIP: added tree model for log view for netlist browser 2022-08-07 19:41:56 +02:00
Matthias Koefferlein e1882b0de7 WIP: refactoring of L2N/LVSDB writer 2022-08-07 17:38:06 +02:00
Matthias Koefferlein 0083021220 [Consider merging] Some refactoring of L2N and LVSDB readers for more future compatibility 2022-08-07 00:24:05 +02:00
Matthias Koefferlein 9d36b3c71a Merge branch 'master' into wip 2022-08-06 18:52:41 +02:00
Matthias Koefferlein 42ddd07bfe Introducing 'close all' and 'close all except' for macro editor tabs, avoid one additional entry on the edit trace stack when raising an exception 2022-08-02 22:51:32 +02:00
Matthias Koefferlein 5e3358d6b1 Fixed #1131 fix 2022-08-01 23:11:17 +02:00
Matthias Koefferlein bfeb60986c Merge remote-tracking branch 'origin/msvc-building-with-debug' 2022-08-01 19:02:31 +02:00
Matthias Koefferlein 40b4b22f02 Added variants for CellInstArray constructor that take a Cell reference 2022-08-01 19:01:41 +02:00
Matthias Koefferlein 545ff11899 Merge branch 'master' of github.com:KLayout/klayout into wip 2022-08-01 18:50:48 +02:00
Matthias Köfferlein 716369de63
Issue 1126 (#1128)
* First attempt to fix. Rather experimental.

* Debugging and bug fixing

The basic issue was a missing break
However, correct computation of cache results for instance-to-instance cluster
interaction is implemented
Plus: identical and overlapping instances are no longer ignored except in the
case of exact duplicates. Otherwise these instance generate dead nets which
are not connected elsewhere.

* Added tests, fixed duplicate cells test, added missing files.

* Code simplification (removed invariant from transformation in cluster-to-cluster interaction cache)

* Skipping cell instance duplicates as some real-world testcases mandate so

* Updated test data
2022-08-01 18:50:07 +02:00
Matthias Köfferlein 801ef78990
Fixed issue-1131 (do not show non-existing files in MRU lists) (#1133)
* Fixed issue-1131 (do not show files in MRU lists which do no longer exist)

The solution consists of an extension of the Action system allowing to
dynamically hide or disable items. This currently works for menu items only.

This feature is used to dynamically *disable* (as of now, not hiding)
items from the four MRU lists corresponding to non-existing files.

In addition, a "clear list" menu has been added to the MRU lists.

* Small enhancement: file names can be URIs
2022-08-01 18:49:42 +02:00
Matthias Köfferlein e2f9015c26
Fixed issue #1132 by taking the first point of paths and polygons instead of center (center is still taken if the polygon is a rectangle) (#1134) 2022-08-01 18:47:20 +02:00
Matthias Koefferlein 429e43fe37 Fixed Qt-less LayoutView (removed QWidget as base class which is no longer true) 2022-07-31 00:11:20 +02:00
Matthias Koefferlein 3c5ca36081 [Consider merging] fixed a potential race condition with invalid Shapes container after clear 2022-07-31 00:10:36 +02:00
Matthias Koefferlein 43101ded7f More consistent handling of exceptions and their display in the Ruby debugger - without triggering too many breakpoints on rethrow and showing the reason for exceptions arising from argument errors 2022-07-30 19:28:14 +02:00
Matthias Koefferlein 590c4a6b31 Argument numbers/names for Ruby too 2022-07-30 01:32:27 +02:00
Matthias Koefferlein 7d078ed041 Express argument details in Python call errors 2022-07-29 23:58:19 +02:00
Matthias Koefferlein 82fe920ac9 Merge branch 'wip' 2022-07-29 22:31:42 +02:00
klayoutmatthias 1b728f1067 Removed duplicated method declarations in LayoutViewBase 2022-07-28 20:52:19 +02:00
klayoutmatthias bca7486082 [Consider merging] object lifetime problem with QLatin1String and GSI fixed 2022-07-26 21:02:48 +02:00
klayoutmatthias 5a9e3f9188 [Consider merging] One more iterator issue fixed 2022-07-26 21:02:17 +02:00
klayoutmatthias 0401f3b89c Fixed a non-problem that pops up with iterator assertions 2022-07-26 08:28:22 +02:00
klayoutmatthias 50a863bb26 [Consider merging] Fixed a potential memory corruption problem 2022-07-26 00:13:26 +02:00
klayoutmatthias da398e77fd [Consider merging] avoid a memory corruption issue in Netlist::flatten 2022-07-25 22:03:01 +02:00
klayoutmatthias 167bcbcc5f Enabling MSVC debug builds with iterator debugging on 2022-07-25 21:06:56 +02:00
Matthias Koefferlein 17f8a92a66 Fixed a memory corruption problem 2022-07-20 00:04:08 +02:00
Matthias Koefferlein 7999468bb9 Issue #1122 - avoid error messages which are confusing. 2022-07-18 00:18:10 +02:00
Matthias Koefferlein 24e8db996c Avoid a segfault on exit 2022-07-18 00:16:56 +02:00
Matthias Köfferlein 6ba372f1a9
Issue 1114 (#1121)
* Two patches to enable building on MSYS with gcc 12.1

1. Complete explicit instantiations in dbHierProcessor
2. Strict weak ordering is not present for std::type_info
   (using "before" on gcc 12.1). We need to work with plain
   pointers and use a translation table to associate pointers
   with classes.

* Fixed another place where std::type_info got important

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2022-07-17 19:59:49 +02:00
Matthias Köfferlein b1661d3c5e
Issue 1106 (#1107)
* Help browser problem mitigation: on Qt6 (?), QTextBrowser appears to be reloading images relative to the new URL on a URL change. This caused 'missing resource' exceptions. As long as the root cause of this problem is not know, the exceptions are turned into log errors now.

* Fixed issue 1106
2022-07-17 19:59:29 +02:00
Matthias Koefferlein 682cc0e491 More safeguards against crashes in the absence of a Manager object 2022-07-09 20:13:40 +02:00
Matthias Koefferlein f7ef538f34 Merge branch 'master' of github.com:KLayout/klayout 2022-07-08 01:35:59 +02:00
Matthias Koefferlein 8cdf060159 Prevent segfaults with rulers when there is no manager object 2022-07-08 01:35:39 +02:00
Matthias Koefferlein 26901454c4 Fixed a doc typo 2022-07-04 13:41:30 +02:00
Matthias Koefferlein 75d686a63f Changing default "is_merged" status for Edges and Region to false.
This was a problem with universal DRC which does not specifically
set the merged status. Furthermore, the default for DeepRegion and
DeepEdges was "false" already and now is aligned.
2022-07-04 00:52:55 +02:00
Matthias Koefferlein c700d2ed97 Better LVS template - align needs to come before simplify 2022-07-03 09:40:17 +02:00
Matthias Köfferlein 2f8a7149d3
Fixed issue-1111 (#1112) 2022-07-03 09:35:40 +02:00
Matthias Koefferlein c227cb9ef3 Small bug fix - constness was not intended for Device#net_for_terminal on non-const mode 2022-07-03 00:08:14 +02:00
Matthias Koefferlein b0268b62b0 Fixed a PR 1103 2022-07-02 23:15:44 +02:00
Balint Cristian 8705de49f7
Support python 3.11 changes. (#1104) 2022-06-29 00:58:23 +02:00
Niko Savola 241815e83c
Add setting to disable Save Needed dialog box (#1103)
* Add setting to disable Save Needed dialog box

* Add `m_always_exit_without_saving` to `MainWindow`
2022-06-29 00:26:52 +02:00
Matthias Koefferlein 0edeac2efa WIP 2022-06-26 23:06:29 +02:00
Matthias Koefferlein 47c9243c04 WIP 2022-06-26 21:16:34 +02:00
Matthias Koefferlein bed9ac94b0 WIP 2022-06-26 18:03:15 +02:00
Matthias Koefferlein 77b42980b6 WIP 2022-06-26 01:50:45 +02:00
Matthias Koefferlein 91c85172e3 WIP 2022-06-26 01:33:49 +02:00
Matthias Koefferlein 43b63923a7 WIP 2022-06-26 01:00:33 +02:00
Matthias Koefferlein 4ad9e98b7b Merge branch 'master' into performance 2022-06-25 22:32:47 +02:00
Matthias Koefferlein e5125160fb Merge branch 'master' of github.com:KLayout/klayout 2022-06-25 22:32:22 +02:00
Matthias Koefferlein 1930018f8f First attempt to implement DRC checks without merging - still required with certain options and not enabled to generic DRC function yet. 2022-06-25 21:40:44 +02:00
Matthias Koefferlein 959b5fe799 Faster hash of shape references (need to see what that is doing to test results) 2022-06-25 20:02:41 +02:00
Matthias Koefferlein d8f3c522c9 Removed a performance bottleneck (do not invalidate cache that often of inst to shape interaction computation) 2022-06-25 20:02:15 +02:00
Matthias Koefferlein d60b7562ab Bugfix: macro folders have not been parsed correctly 2022-06-25 10:45:43 +02:00
Matthias Köfferlein 55cb6f72f9
Merge pull request #1100 from KLayout/issue-1098
Issue 1098
2022-06-19 22:38:30 +02:00
Matthias Koefferlein ca11bce155 Bugfix: tab title did not change on 'save as' 2022-06-19 14:30:05 +02:00
Matthias Koefferlein 555d32f280 Bugfix: net color was not properly set in net tracer 2022-06-18 16:58:55 +02:00
Matthias Koefferlein 334540f660 Normalization of CellInstArray upon creation (GSI) 2022-06-18 13:48:04 +02:00
Matthias Koefferlein f6c0959b6b Implemented ortho snap for ruler move (as a whole) 2022-06-14 23:49:54 +02:00
Matthias Koefferlein 488dc561de Fixed a problem in deep XOR mode (wrong size implementation for tolerances) 2022-06-14 22:56:15 +02:00
Matthias Köfferlein 7a5737d55f
Merge pull request #1087 from KLayout/qtless-canvas2
Qtless canvas2
2022-06-14 22:51:57 +02:00
Matthias Koefferlein 5aa9f5ba13 Fixed some unit tests 2022-06-12 14:00:06 +02:00
Matthias Koefferlein 51be84ebc1 Avoid segfaults in batch mode 2022-06-11 00:41:06 +02:00
Matthias Koefferlein a853ed904f API enhancements for annotation template management 2022-06-09 00:14:32 +02:00
Matthias Koefferlein 84cdefccf6 [MERGE] fixed variable view in debugger (Qt5?) 2022-06-09 00:14:06 +02:00
Matthias Koefferlein e2d5595243 Trying to fix Windows unit tests 2022-06-08 21:24:38 +02:00
Matthias Koefferlein 1020eb6e99 Basically enabling AbstractMenu in non-Qt mode
As a way to trigger actions inside the layout view
and plugins.

Right now, the layout view's menu is only a rudimentary one
as it lacks the top-level menus usually provided by the main window.
2022-06-07 23:28:10 +02:00
Matthias Koefferlein ac5c66400d Added ability to query modes and issue menu commands to LayoutView in non-Qt case. 2022-06-06 23:04:31 +02:00
Matthias Koefferlein 184c66b781 Provide a default configuration for LayoutView also in the non-Qt case 2022-06-02 23:55:40 +02:00
Matthias Koefferlein 91b642285d Decoupling tl, gsi and rdb libraries from Qt bindings to enable lean strmrun application 2022-06-01 22:42:55 +02:00
Matthias Koefferlein 254a44a133 Fixed a refactoring error 2022-06-01 00:08:02 +02:00
Matthias Köfferlein 17e643ce5b
Fixed #1086 (problems showing handle of a single circle) (#1089) 2022-05-31 00:22:42 +02:00
Matthias Köfferlein 4cbd28fd23
First implementation of issue-1075 fix: when editing a layer spec, the PCell parameters are analyzed and PCells are rewritten accordingly. (#1088) 2022-05-31 00:22:32 +02:00
Matthias Koefferlein b95027a21b Refactoring: lay::PixelBuffer, BitmapBuffer -> tl, added image functions to RdbItem in GSI 2022-05-31 00:20:47 +02:00
Matthias Koefferlein 62bbef53ac Refactoring: layColor -> tlColor 2022-05-30 23:21:32 +02:00
Matthias Koefferlein 84cf60dbb7 Preparations for rdb image API: base64 encoder and decoder without Qt 2022-05-29 21:50:23 +02:00
Matthias Koefferlein b8fa458ad6 Small add-on: -rr option for application 2022-05-29 20:15:56 +02:00
Matthias Koefferlein 7748433669 Bugfix: use last extension only for macro type determination 2022-05-29 20:06:04 +02:00
Matthias Koefferlein baa92d4455 Fixed non-Qt thread-local storage implementation: needs to reuse holder object when using 'setLocalData' 2022-05-29 19:33:30 +02:00
Matthias Koefferlein 6bcb7d0aa6 Added lym to lay library dependencies 2022-05-29 17:37:20 +02:00
Matthias Koefferlein f2b91997f0 Don't print Qt warnings for verbosity 0 - this will simplify the application tests 2022-05-29 17:36:54 +02:00
Matthias Koefferlein a02e9b4d05 Include lym dependency in lay library 2022-05-29 16:53:03 +02:00
Matthias Koefferlein a5d467b51e Dummy change to trigger builds 2022-05-29 14:47:22 +02:00
Matthias Koefferlein cc45cfbc43 Merge branch 'master' of github.com:KLayout/klayout 2022-05-29 14:31:19 +02:00
Matthias Koefferlein 6039340022 Fixed non-Qt build 2022-05-29 14:23:10 +02:00
Matthias Koefferlein 40eb3aaebe Enabling input files in batch mode, fixed a segfault during tests 2022-05-29 14:16:44 +02:00
Matthias Koefferlein e231f2b987 Must not use tl::to_string on quoted strings 2022-05-29 13:25:50 +02:00
Matthias Koefferlein 377e0f0249 Further reducing dependency of ui headers files generated for other modules 2022-05-29 12:06:21 +02:00
Matthias Koefferlein d0fc4b86b4 Fixed a compiler warning 2022-05-29 12:06:14 +02:00
Matthias Koefferlein bd5303f214 Removed a generated header dependency between modules 2022-05-29 12:06:10 +02:00
Matthias Koefferlein 1d8db227e5 Minor code enhancements 2022-05-29 11:41:40 +02:00
Matthias Koefferlein 68f05bf069 Added missing file 2022-05-29 10:14:29 +02:00
Matthias Koefferlein 29b3718b2d Further reducing dependency on Qt, fixed tests 2022-05-29 10:11:16 +02:00
Matthias Koefferlein 1edaf2b6b4 WIP: working on further consolidation of non-Qt case 2022-05-28 22:49:40 +02:00
Matthias Koefferlein 8e21dab345 Reworked lym::MacroCollection for not using Qt (too much) 2022-05-28 21:21:58 +02:00
Matthias Koefferlein 89547a6fde Enabling non-qt resources in InputStream 2022-05-28 01:37:59 +02:00
Matthias Koefferlein ca3d840cb2 Alternative implementation for resources for the non-Qt case. 2022-05-28 00:33:08 +02:00
Matthias Koefferlein b22c7091ae Skip resources in non-Qt case 2022-05-27 20:26:47 +02:00
Matthias Koefferlein d5723391fd Better dependency model for shared objects 2022-05-27 19:38:37 +02:00
Matthias Koefferlein ad87b22d91 Potential segfault fixed: skip invalid cell views 2022-05-27 19:20:37 +02:00
Matthias Koefferlein 001d695fcc Build fix for non-Qt case 2022-05-27 18:41:01 +02:00
Matthias Koefferlein 7702d8c200 libpng option in build script 2022-05-27 18:10:01 +02:00
Matthias Koefferlein 5eacb67368 Provide deferred execution also for the non-Qt case 2022-05-27 17:55:27 +02:00
Matthias Koefferlein e26afab4e5 Further reducing dependency of ui headers files generated for other modules 2022-05-27 16:49:05 +02:00
Matthias Koefferlein 29e481dd52 Fixed a compiler warning 2022-05-27 16:48:29 +02:00
Matthias Koefferlein 218117d6b6 Removed a generated header dependency between modules 2022-05-27 08:31:47 +02:00
Matthias Koefferlein 2e10ef300b Fixed implementation of LayoutView#resize in non-Qt case 2022-05-27 08:31:13 +02:00
Matthias Koefferlein 5825b7d0c6 Build fixed for Qt4 2022-05-27 07:57:04 +02:00
Matthias Koefferlein 2b568cdd5e Fixed some build errors, added tests 2022-05-26 07:47:35 +02:00
Matthias Koefferlein 03761768cf Enabled headless LayoutView. Works. 2022-05-26 01:51:09 +02:00
Matthias Koefferlein 96f3ce65c1 First steps towards LayoutView for headless mode, optional arguments for Layout#load_layout and MainWindow#load_layout 2022-05-26 00:07:22 +02:00
Matthias Koefferlein c5ecb67557 Merge branch 'master' of github.com:KLayout/klayout 2022-05-24 23:45:24 +02:00
Matthias Koefferlein a4dd5c1d3c Fixed an issue introduced during qtless-canvas development (message was not displayed) 2022-05-24 23:44:08 +02:00
Matthias Koefferlein 348faa64b3 Another fix for Qt <5.10 2022-05-24 12:54:52 +02:00
Matthias Koefferlein d6f320bc8b Fixed build for Qt <5.10, MSVC 2022-05-24 07:48:20 +02:00
Matthias Koefferlein c933d1a2b5 Fixed an issue with MSVC builds 2022-05-23 23:28:12 +02:00
Matthias Koefferlein 49ee4439a0 Linker inputs for Windows builds 2022-05-23 23:03:46 +02:00
Matthias Koefferlein 3f4fe62dc5 Merge branch 'master' into qtless-canvas 2022-05-23 20:42:39 +02:00
Matthias Köfferlein a03464d441
Issue 1079 (#1083)
* WIP: some convenience (self.param=() for Ruby PCell impl), a bug fix (crash on call of pcell_parameter on wrong cell), update of tests

* Implemented solution for #1079 (refresh calls coerce_parameters)

* Basic.CIRCLE modified such that coerce_parameters_impl also catches the case of a programmatic change of actual_radius and this function will update radius and the handle accordingly

* Modified Basic PCells such that they work with coerce_parameters also if generated programmatically

* Added tests
2022-05-23 20:38:10 +02:00
Matthias Köfferlein b84ec19da1
Issue 1071 (GDS2Text format options issues) (#1085)
* Fixed first issue (UI problem with GDS2Text options)

* Fixed problem with 'save' when the file extension does not indicate one of the known formats

In this case, and when plain 'save' is used, the original format is delivered.
The session files also store the original format now.
The statistics page will now indicate the format of the file that was loaded.
2022-05-23 20:37:26 +02:00
Matthias Köfferlein 3a2d44bd12
Fixed #1081 (#1084) 2022-05-19 22:14:07 +02:00
Matthias Koefferlein 375b98e621 Fixed an issue with type detection for GSI in non-QT case 2022-05-17 22:39:42 +02:00
Matthias Koefferlein d4a981cc57 Added a missing dependency in .pro 2022-05-17 22:34:38 +02:00
Matthias Koefferlein a42b7d211e More fixes. 2022-05-16 23:53:16 +02:00
Matthias Koefferlein 9763659bfe Fixed Windows build (hopefully) 2022-05-16 22:18:22 +02:00
Matthias Koefferlein beb5af55a7 Fixed lay::Color test for Qt4 2022-05-16 20:08:05 +02:00
Matthias Koefferlein d8f51a5ef0 Qt4 compatibility 2022-05-16 00:07:31 +02:00
Matthias Koefferlein baae3796a7 Fixed an build issue with forward-declared QColor 2022-05-15 22:58:42 +02:00
Matthias Koefferlein bdc8fc2801 WIP: some fixes at unit test level 2022-05-15 21:47:15 +02:00
Matthias Koefferlein 249642d5f3 Python module tests generalized 2022-05-15 20:17:23 +02:00
Matthias Koefferlein 104975a14e WIP: fixed pymod 2022-05-15 19:34:46 +02:00
Matthias Koefferlein 856635bc82 WIP: debugging, enabled pymod builds ... 2022-05-15 18:45:07 +02:00
Matthias Koefferlein f0dcd59060 WIP 2022-05-15 17:29:08 +02:00
Matthias Koefferlein f5b4bbb62c WIP 2022-05-15 10:31:09 +02:00
Matthias Koefferlein b17b2714a5 WIP 2022-05-15 01:25:36 +02:00
Matthias Koefferlein d2f2d630d9 WIP 2022-05-15 01:19:56 +02:00
Matthias Koefferlein 53490a9faf WIP 2022-05-15 01:14:29 +02:00
Matthias Koefferlein 5fed1648e6 WIP 2022-05-15 00:54:15 +02:00
Matthias Koefferlein 332daf836e WIP: split laybasic into layui and layview to separate Qt and non-Qt part even more 2022-05-15 00:47:59 +02:00
Matthias Koefferlein 585aa4667f Fixed non-Qt-binding case 2022-05-14 01:48:59 +02:00
Matthias Koefferlein 684ece41d1 Fixed qmake-based builds after changing setup.py 2022-05-14 00:00:35 +02:00
Matthias Koefferlein 26dbb4003e Better error messages on missing module imports in Python modules 2022-05-13 23:20:58 +02:00
Matthias Koefferlein 5facc418cb WIP: futher improvements on Python module for Qt-less case 2022-05-12 23:42:21 +02:00
Matthias Koefferlein d01ea49246 [CONSIDER MERGING] fixed a typo in gsiDeclBasic.cc which might cause a duplicate GSI class duplicatge registration assertion 2022-05-12 23:42:06 +02:00
Matthias Koefferlein b2b5e5ad55 Modifications to enable building of Qt-less canvas in setup.py 2022-05-12 01:53:16 +02:00
Matthias Koefferlein f57f1cc228 Fixed a segfault on second open 2022-05-09 23:20:46 +02:00
Matthias Koefferlein fbc31fd854 Navigation keys work again, fixed a segfault when showing the navigator window 2022-05-09 23:07:40 +02:00
Matthias Koefferlein 008fb06a3e Code cleanup 2022-05-09 22:36:08 +02:00
Matthias Koefferlein 128afc43cf Support for grayscale formats in PNG reader for PixelBuffer, writing non-alpha RGB versions from non-transparent PixelBuffers 2022-05-09 22:13:35 +02:00
Matthias Koefferlein 7bb3e0daf3 Bugfix for color interpolation (asserted) 2022-05-09 21:21:45 +02:00
Matthias Koefferlein fd8407b35b Code simplification and less image copies 2022-05-09 01:15:14 +02:00
Matthias Koefferlein d0f566f84e Fixed a memory bug 2022-05-09 01:05:15 +02:00
Matthias Koefferlein f827e693ef Fixed Qt-less build 2022-05-09 00:29:48 +02:00
Matthias Koefferlein 7fe0e95eee WIP: first debugging 2022-05-09 00:16:48 +02:00
Matthias Koefferlein a737b80b65 Some cleanup + added TODO comments 2022-05-08 23:58:19 +02:00
Matthias Koefferlein f65c3d5fd7 Enabled edt, ant and img for Qt-less builds, added missing files 2022-05-08 22:27:39 +02:00
Matthias Koefferlein 37a42b70db WIP: edt enabled for Qt-less 2022-05-08 19:44:14 +02:00
Matthias Koefferlein aea861f9b4 WIP: preparing synthetic events for LayoutView in non-Qt case 2022-05-08 18:33:40 +02:00
Matthias Koefferlein c8be882785 Removed some more Qt dependencies 2022-05-07 23:56:48 +02:00
Matthias Koefferlein 1ad9dd2c11 WIP: preparations for a non-Qt event loop protocol 2022-05-07 23:44:08 +02:00
Matthias Koefferlein 42f0a79dee Resize method and tests 2022-05-07 22:12:36 +02:00
Matthias Koefferlein 7b85bf7de2 Enabled Qt-less builds, tests passing 2022-05-07 20:41:46 +02:00
Matthias Koefferlein 0198c7cd69 WIP 2022-05-07 19:57:34 +02:00
Matthias Koefferlein 41cbef1e5a Tests for new LayoutView features 2022-05-07 19:13:01 +02:00
Matthias Koefferlein 585ab0f310 Fixed tests 2022-05-07 18:57:33 +02:00
Matthias Koefferlein 101544ab78 Equality operator in PixelBuffer 2022-05-07 18:48:45 +02:00
Matthias Koefferlein 958e1f7c59 WIP: base class-implemented methods need to be qualified in GSI binding :( 2022-05-07 18:48:33 +02:00
Matthias Koefferlein e6061ff96f CONSIDER MERGING: avoid a segfault due to early delete of a LayoutView object 2022-05-07 18:39:56 +02:00
Matthias Koefferlein 3c11fe61c3 WIP: enabling PixelBuffer and BitmapBuffer for RBA::LayoutView 2022-05-07 14:36:52 +02:00
Matthias Koefferlein 32813b80f2 GSI binding for PixelBuffer and tests 2022-05-07 12:53:00 +02:00
Matthias Koefferlein 0798c4de51 Bugfixes and tests for PNG support 2022-05-07 02:14:08 +02:00
Matthias Koefferlein 067f59ab0a WIP: PNG support for Qt-less apps through libpng in lay::PixelBuffer 2022-05-07 01:33:16 +02:00
Matthias Koefferlein 7291a3dc47 Fixed LayoutView tests 2022-05-06 00:02:45 +02:00
Matthias Koefferlein a2b90d7a8e IMPORTANT (consider merging): fixed a potential segfault on LayoutView construction 2022-05-06 00:02:35 +02:00
Matthias Koefferlein 51666eb439 Fixed non-Qt build 2022-05-05 23:44:47 +02:00
Matthias Koefferlein 6feed82808 Bug fixes and tests for LayoutView 2022-05-05 23:37:33 +02:00
Matthias Koefferlein 0877de73d4 Refactoring: substitute QImage by lay::PixelBuffer 2022-05-04 23:34:34 +02:00
Matthias Koefferlein 5fa984324e PixelBuffer: versions to create independent copies into QImage 2022-05-04 21:16:10 +02:00
Matthias Koefferlein f51fac5f0f Renamed lay::Image to lay::PixelBuffer 2022-05-04 02:23:23 +02:00
Matthias Koefferlein 17cbcc2877 Added mono image class 2022-05-04 02:18:01 +02:00
Matthias Koefferlein 2088881110 Added transparent flag tests 2022-05-02 22:48:32 +02:00
Matthias Koefferlein 1cdc26b137 Added transparent flag for lay::Image 2022-05-02 22:46:56 +02:00
Matthias Koefferlein d7b9bd71a1 Added performance tests for image 2022-05-02 22:27:30 +02:00
Matthias Koefferlein 3a2ae4ede1 WIP: More tests for lay::Image 2022-05-02 01:02:46 +02:00
Matthias Koefferlein 373f307ae6 WIP: image object, first steps 2022-05-02 00:26:13 +02:00
Matthias Koefferlein 0b48cb9020 WIP: added new lay::Image class 2022-05-02 00:02:47 +02:00
Matthias Koefferlein e49b9a5e8a WIP 2022-05-01 21:56:47 +02:00
Matthias Koefferlein 48f5f95a8f WIP 2022-05-01 20:23:53 +02:00
Matthias Koefferlein 0a804f2e32 WIP 2022-05-01 19:29:20 +02:00
Matthias Koefferlein 8cbb49d5f9 WIP 2022-05-01 17:47:00 +02:00
Matthias Koefferlein 9b7a237a79 WIP 2022-05-01 10:30:26 +02:00
Matthias Koefferlein 63a1b24d24 WIP 2022-04-30 23:08:05 +02:00
Matthias Koefferlein c4be80bb2f WIP 2022-04-30 20:51:54 +02:00
Matthias Koefferlein 2378f7964e WIP 2022-04-30 19:13:36 +02:00
Matthias Koefferlein 2298a9a5c8 WIP 2022-04-29 23:40:07 +02:00
Matthias Koefferlein 7048dde7b3 WIP: HSV support in lay::Color 2022-04-27 23:03:17 +02:00
Matthias Koefferlein a6f2528aff WIP 2022-04-26 00:31:10 +02:00
Matthias Koefferlein c3f3fd00ce WIP 2022-04-26 00:09:39 +02:00
Matthias Koefferlein 51e7c0a038 WIP 2022-04-25 23:09:57 +02:00
Matthias Koefferlein 177290f680 Some cleanup 2022-04-24 23:33:42 +02:00
Matthias Koefferlein 1b129758d8 More range for NoQt option - covers lym (without MacroCollection), drc, lvs and buddies now 2022-04-24 23:28:04 +02:00
Matthias Köfferlein 9cb77d6222
Lefdef enhancements (#1053)
* Implementated patch as suggested by issue-1047

* Implementing blend-mode for LEF/DEF for a first solution for issue-1048

* Added testcase, fixed other tests

* Issue-1050 fixed - now REGION, BLOCKAGE and DIEAREA are relevant from mapping file, nothing else

* Bug fixes

* Experimental: DEF multipart paths

* Experimental: ignore LEF wire extension, ignore PATTERNNAME

* Implemented PATTERNNAME in DEF instead of LEF ..

* Implemented nondefaultrule vias

* LEF/DEF: non-defaultrule vias need a name suffix.

* Refined solution for NDR via names, updated test data

* Updated test data

* Multiple map files and 'REGIONS FENCE' + 'REGIONS GUIDE' layer mapping entries.

* Added test data, updated doc.

* Some enhancements and feedback

REGIONS in map files -> REGION
REGION NONE for map files (maps REGIONs which are neither GUIDE or FENCE)
Bugfix: VIA with ORIGIN
No via cell name prefix by default for buddy tools

* Simplified buddy tool options for LEF/DEF property names

Dropped --lefdef-dont-produce-instance-names,
--lefdef-dont-produce-pin-names and --lefdef-dont-produce-net-names
options. Instead, these options have to be enabled by giving
the respective property names.

Writing the property names takes some space and these
options are simply confusing and redundant.

* Issue a warning about missing cut geometry for a DEF via with PATTERNNAME (which is ignored)

* Fixed issue-1065
2022-04-23 22:26:37 +02:00
klayoutmatthias fd4fe5ce62 Merge branch 'master' of https://github.com/KLayout/klayout into qt6 2022-04-16 20:13:04 +02:00
Matthias Köfferlein 3615b50fc4
A couple of enhancements and bugfixes found during issue-1059 research (#1062)
* Opportunity fix: library selection box listed libraries with technology even though no technology is selected.

* Opportunity: show PCell errors on new error layer. Previously, errors were only shown when the PCell had at least a single layer parameter

The error text is drawn together with guiding shapes. Disabling guiding shapes will
turn off error display.

* Opportunity: fixed an issue when reloading a library immediately after loading a layout: in this case, the library connection got lost and cells were substituted by static ones

* Opportunity: added a layout cleanup for the following case: a layout is loaded without the library present - giving defunct cells. Then the library is registered and defunct cells are reconnected.
2022-04-10 18:44:24 +02:00
Matthias Köfferlein cb527cc50b
Issue-1058: implemented backspace button for path and polygon (#1061) 2022-04-10 18:41:58 +02:00
Matthias Köfferlein 0df479b29c
Issue 1057 (Library#refresh enhancements) (#1060)
* Added Layout#refresh and added that to Library#refresh

* Doc updates, clarification
2022-04-10 18:41:26 +02:00
Matthias Köfferlein 19aac2abd7
Merge pull request #1055 from KLayout/enums-vs-int
Enums vs int
2022-04-09 18:07:57 +02:00
Matthias Köfferlein 6a842cdc53
First attempt to implement X2 net names. Needs reconfirmation. (#1056) 2022-04-09 18:07:30 +02:00
Matthias Koefferlein a1318599fe Fixed #1054 (only an issue in debug builds so far) 2022-04-04 23:28:16 +02:00
Matthias Koefferlein 981db08dea More automatic conversion of int to enum and vice versa + automatic object-to-variant conversion when supplying to_int, to_double or to_variant functions. Discussion 2052. 2022-04-04 01:09:19 +02:00
Matthias Koefferlein afe7de9ca7 Fixed a potential crash when calling 'technology_changed_event' on an invalid CellViewRef. 2022-04-04 01:07:47 +02:00
Matthias Köfferlein f8bd4dafaf
Pdf documentation (#1052)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation

* Fixed a number of invalid references found during PDF generation

* Enable PCellDeclarationHelper doc for help system

* Fixed doc text

* Fixed some doc issues with invalid links etc.
2022-04-03 20:51:29 +02:00
Matthias Köfferlein 779c2392e7
Some doc fixes as preparation for PDF generation (#1044)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation
2022-04-02 16:07:38 +02:00
Matthias Koefferlein 5b9f194ecc Forget last commit - problem was that golden netlists should not be compared with net names as those are node numbers and they might change with C++ STL implementation 2022-03-18 00:10:00 +01:00
Matthias Köfferlein 4a06bc1bb5
Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) 2022-03-16 23:33:08 +01:00
Matthias Köfferlein 0eeeb8b6a3
Bd enhancements (#1034)
* Added ability to join files for strmxor

* Joined input files also for strm2txt strmclip and strmcmp. Output options for strmxor.
2022-03-16 23:32:24 +01:00
Matthias Köfferlein e1443cb961
Fixed main issue (warning about unexpected strict mode) (#1033)
The default mode was "expect non-strict" which is nonsense. It should
be "don't care".
2022-03-16 23:32:05 +01:00
Matthias Köfferlein 51cf918f56
Issue 1029 - Crash on QTreeViewItem#setBackgroundColor (#1032)
* Fixed issue #1029

The problem happened because in the described case the
tl::Variant used as a intermediate container holds the
Python QBrush object and when it gets deleted, the
QBrush object is deleted too.

* Added tests
2022-03-16 23:27:25 +01:00
Matthias Koefferlein 6d0aa9c435 Maybe fixed build issue on MacOS 2022-03-16 21:11:25 +01:00
Matthias Köfferlein 7d78194cf0
Issue 1021 (#1026) - LVS match issue on SRAM sample
* First step for solution:

Problem was: the ambiguity resolver was making decisions which later resulted in
a name conflict. Later on, another branch of the backtracking algorithm came
across the same situation but decided based on names, creating an conflict.

First part of the solution is to establish the backtracking information
during ambiguity resolution and using that rather than an alternative branch
later on. This avoids this conflict, but does not favor names as mandated
by the "use_names" flag. This will be the second step of the solution.

* Bugfixed solution (partially)

* Introducing third pass in netlist compare

The second pass is "ambiguity resolution by name" and
is skipped if "consider_net_names" is false. The third
pass then is ignoring the names.

* Bugfix

* Comment fixed, test updates

* Added tests

* Added test data variant for CentOS 8
2022-03-15 21:14:32 +01:00
Matthias Köfferlein e9c5782c51
Issue 1011 (#1027) - DRC violation on texts in deep mode
* Fixed issue-1011 by using single-point polygons for texts in deep mode. Tests need fixing.

* Updated tests (text become a single point)

* Added test for issue-1011
2022-03-15 21:13:57 +01:00
Matthias Koefferlein 6593997751 Trying to fix Windows builds 2022-03-14 17:49:46 +01:00
Matthias Köfferlein b09f79b681
Issue 1017 (#1023)
* Write polygons as single POLYLINE or LWPOLYLINE to DXF

* DXF writer creates simple polygons from ones with holes in POLYLINE and LWPOLYLINE mode, added tests
2022-03-10 19:15:35 +01:00
Matthias Köfferlein 9fc7f9cfb6
Merge pull request #1019 from KLayout/25d-with-booleans
25d with booleans
2022-03-10 19:15:16 +01:00
Matthias Koefferlein 0e1e4781a8 Fixed scale & snap bug in non-editable mode 2022-03-09 23:00:39 +01:00
Matthias Koefferlein 3b2db3b379 Fixed build without Qt bindings 2022-03-09 23:00:24 +01:00
Matthias Koefferlein c5da93756a Fixed build with Qt bindings (maybe) 2022-03-08 16:31:53 +01:00
Matthias Koefferlein b9a9422905 LEF/DEF paths for buddies are relative to cwd 2022-03-07 22:18:15 +01:00
Matthias Koefferlein 8b0dd38e97 Fixed use of HTML in netlist browser 2022-03-07 22:07:51 +01:00
Matthias Koefferlein 156b9137ab Build patch to allow building without qxmlpattern with -without-qt-xml 2022-03-07 21:53:55 +01:00
Matthias Koefferlein a0cbc2355a Some cleanup 2022-03-07 21:49:48 +01:00
Matthias Koefferlein 553d973b69 Edge and edge pair support 2022-03-07 21:21:43 +01:00
Matthias Koefferlein c9727c2e60 Polishing 2022-03-06 23:10:34 +01:00
Matthias Koefferlein 72233dc678 Documentation 2022-03-06 23:05:45 +01:00
Matthias Koefferlein 1da12970ab Material list, visibility 2022-03-06 21:11:32 +01:00
Matthias Koefferlein dda18e6f53 WIP: Introducing names 2022-03-06 19:01:16 +01:00
Matthias Koefferlein 33cd9fe687 WIP: bug fixes 2022-03-06 18:48:23 +01:00
Matthias Koefferlein f681d96558 WIP: Streamlined d25 script notation 2022-03-06 10:35:58 +01:00
Matthias Koefferlein 4acd0aabc5 Removed D25 tech component 2022-03-06 10:07:23 +01:00
Matthias Koefferlein 8c0498cc4c WIP: Some bug fixes, ongoing implementation 2022-03-05 23:52:41 +01:00
Matthias Koefferlein 05c16c9024 WIP: 'open window' menu item 2022-03-05 19:56:14 +01:00
Matthias Koefferlein 64406522fe WIP: basic debugging, functionality. 2022-03-05 19:42:57 +01:00
Matthias Koefferlein cd07a21ae3 Merge branch '25d-with-booleans' 2022-03-05 14:59:17 +01:00
Matthias Köfferlein a4b663199d
Fixed issue-1012 with some enhancements (#1016)
- warning if a layer is not mapped
- "," allowed as separator between files on buddy tools (in addition to '+')
- relative paths are resolved relative to . in buddy tools (more natural on Linux)
- Fixed tl::warn and tl::error so warnings/error messages can be continued with tl::noendl.
2022-03-05 14:57:09 +01:00
Matthias Köfferlein ed7f77a86d
Split gates (#1018)
* First implementation, first basic tests.

* WIP: more tests, bug fixes

* split_gates feature, added test case

* Documentation
2022-03-05 14:56:52 +01:00
Matthias Köfferlein da5e287d9a
Merge pull request #1014 from KLayout/issue-1013
Issue 1013
2022-03-01 17:17:59 +01:00
Matthias Köfferlein 33ebcb43f3
Issue 1008 (#1010)
* PyPI deployment: corrected branch filter

* skip redundant points in partial edit, but not colinear ones

* Polygon transformation now preserves raw points
2022-03-01 17:17:30 +01:00
Matthias Koefferlein 447b024277 Fixed issue #1013 2022-03-01 00:41:26 +01:00
Matthias Koefferlein 42fbe7b30a Avoid clipped texts in netlist/LVS result browser, text as tool tips 2022-02-28 21:19:03 +01:00
Matthias Koefferlein 42bd12b2db Bugfix: could not erase suffix in LEF/DEF reader options, could not reset datatype to 'none' (=don't produce) 2022-02-28 20:30:08 +01:00
Matthias Koefferlein 5d4fba7c51 Ctrl+F always enters find edit box in macro editor, not only if something is selected. 2022-02-28 19:49:58 +01:00
Matthias Koefferlein c030c844bb Doc update 2022-02-27 21:33:26 +01:00
Matthias Koefferlein d0d3d2a8be New integration, WIP 2022-02-24 00:45:02 +01:00
Matthias Koefferlein fdb7d90550 Introducing auto-run priorities for macros 2022-02-24 00:34:30 +01:00
Matthias Koefferlein 30f774f055 WIP: dynamic definition of macro categories (currently: drc, lvs) 2022-02-19 17:57:41 +01:00
Matthias Koefferlein ff3bc38aea Merge branch 'master' into wip 2022-02-19 00:14:57 +01:00
Matthias Köfferlein cee33a0099
Merge pull request #992 from KLayout/api-enhancements
Api enhancements
2022-02-18 23:28:28 +01:00
Matthias Koefferlein c5da9c717d scale_and_snap: separate handling of shapes with properties and without 2022-02-18 18:49:00 +01:00
Matthias Koefferlein a133a8f43b Reverted some changes, removed idle code 2022-02-18 18:43:02 +01:00
Matthias Koefferlein 834dfa6614 Bug fixes, enhancements, tests for snap and scale improvements. 2022-02-18 14:22:16 +01:00
Matthias Koefferlein e9d86822df Scale and snap improvements
* edge and edge pair support
* property support
* no expanding of on-grid arrays
* more inline processing, better performance
2022-02-18 00:03:14 +01:00
Matthias Koefferlein d2c2a875dd Removed debug output 2022-02-13 23:39:09 +01:00
Matthias Köfferlein 0132ad08f7
Issue 994 (#1006)
* Implemented issue-982 (heal option for strmxor)

The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.

* Fixed issue 994 (maybe, increased capture range for catching an existing selection)
2022-02-13 19:05:21 +01:00
Matthias Köfferlein 72bf152735
Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. (#1007) 2022-02-13 10:06:01 +01:00
Matthias Köfferlein b3d17cff97
Implemented issue-982 (heal option for strmxor) (#1004)
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.
2022-02-13 10:04:25 +01:00
Matthias Koefferlein 4a8918364b Patch for issue-973 fix to make it work with libcurl 2022-02-12 22:16:14 +01:00
Matthias Köfferlein 11a91300bd
issue-996 Providing a "refresh" function for triggering a refresh from inside t… (#998)
* Providing a "refresh" function for triggering a refresh from inside the lib

Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
  re-creation of library references to avoid side effects.
  Save without context.

* Added missing files

* Fixed unit tests.
2022-02-12 21:26:28 +01:00
Matthias Koefferlein 72d0f717fe Fixed units tests 2022-02-12 18:20:38 +01:00
Matthias Köfferlein 572103ad23
Fixed issue-972 (#1003)
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:08:52 +01:00
Matthias Köfferlein 0199192e83
Fixed #989 (cannot convert <defunct> cell to static cell) (#1002)
Fixed some more glitches while doing so:
* cell.name (gsi) was giving "basic_name", now it's changed to the
  internal name to be consistent with "name=". The "functional name"
  is still available as "basic_name".
* The basic name was rendering "<defunct>..." for defunct cells
  and has been changed to the functional name. Otherwise this
  is not accessible.
2022-02-12 17:05:12 +01:00
Matthias Köfferlein 0005c5d742
Fixed #971 (double compare fails in LVS) (#1001) 2022-02-12 17:04:47 +01:00
Matthias Köfferlein ec52be166c
FIxed #997 (display of negative extensions of paths) (#999) 2022-02-12 17:02:59 +01:00
Matthias Köfferlein 60aab8b3fd
Fixed #995 (new topcell after load) (#1000) 2022-02-12 16:51:01 +01:00
Matthias Koefferlein 2ed572e684 Merge branch 'api-enhancements' 2022-02-11 19:10:21 +01:00
Matthias Koefferlein 75aaf10512 Query parser is somewhat more restrictive now and doesn't read everything as cell expression. 2022-02-11 00:30:08 +01:00
Matthias Koefferlein 5dd50d2f59 Search/replace: also highlight results from data queries 2022-02-10 23:56:08 +01:00
Matthias Koefferlein 3f2ca1dfbe micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries 2022-02-10 23:14:08 +01:00
Matthias Koefferlein 98dd0de139 clip method variants with dboxes and cell references in Layout 2022-02-08 23:49:28 +01:00
Matthias Koefferlein 3a422f2c38 Trans: mapping ctrans to * for harmonization 2022-02-08 23:13:37 +01:00
Matthias Koefferlein a5e7395d10 Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation 2022-02-08 22:56:58 +01:00
Matthias Koefferlein 1a53cd00d2 Convenience 'each' for recursive shape iterator / recursive instance iterator 2022-02-08 22:28:09 +01:00
Matthias Köfferlein d764adb101
Issue 984 (#987)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* First attempt to fix issue 984

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:07:04 +01:00
Matthias Köfferlein 285a5e9fca
Issue 983 (#986)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:06:27 +01:00
Matthias Köfferlein c80f789e5a
Fixed issue-973 (timeout in Salt Manager) (#981)
The implementation now offers "infinite timeout" with
the option to abort download.
2022-02-08 19:05:53 +01:00
Matthias Köfferlein 71c9073bc5
Fixed issue-979 (backup file fails with relative paths) (#980) 2022-02-08 19:05:00 +01:00
Matthias Koefferlein e49b189f64 Doc clarification for Layout#create_cell 2022-02-07 23:27:10 +01:00
Matthias Koefferlein 88c56d8b64 Introducing unique_cell_name in Layout, fixed the RBA unit tests 2022-02-07 23:05:53 +01:00
Matthias Koefferlein 0bb0f400bf Introducing world box. 2022-02-07 22:44:35 +01:00
Matthias Koefferlein 79be9aba41 RecursiveInstanceIterator uses weak pointer to Layout too 2022-02-07 22:09:57 +01:00
Matthias Koefferlein c0b38f3706 Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator 2022-02-07 21:56:37 +01:00
Matthias Koefferlein e2c6e7aedc size/sized versions with Vector/DVector
Adds variants to size/sized which take a vector instead
of dx, dy and where the mode parameter is optional. So far
anisotropic sizing had to come with a mode argument.
2022-02-07 20:59:09 +01:00
Matthias Koefferlein de98a30f38 Text/DText enhancements
* Enums for alignment values.
* bbox
* position
* typos fixed
2022-02-07 19:46:13 +01:00
Matthias Koefferlein ffb81a66ea Fixed Python 3.10 builds 2022-02-05 19:46:53 +01:00
Matthias Koefferlein 477afd4a4d Fixed a merge issue (master/qt6) 2022-01-23 11:54:32 +01:00
Matthias Koefferlein 46b427740b Fixed a merge issue 2022-01-21 17:10:48 +01:00
Matthias Koefferlein 95b6af4bc6 Merge branch 'master' into qt6 2022-01-21 15:43:33 +01:00
Matthias Koefferlein df60f49276 Fixed issue-969 plus a Qt warning 2022-01-12 22:49:20 +01:00
Matthias Koefferlein 45794e405c Merged with qt6 from server 2022-01-08 23:47:40 +01:00
Matthias Koefferlein 86cee4118b Updated copyright for 2022 for remaining files. 2022-01-07 22:22:31 +01:00
Matthias Koefferlein 12fd26663d Merge branch 'qt6' 2022-01-06 21:48:02 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Köfferlein b78a8d58c8
Merge pull request #964 from KLayout/issue-963-show-snapped-position
Implemented request: show snapped cursor position in lower left posit…
2021-12-30 09:07:47 +01:00
Matthias Köfferlein ccb9c05859
Merge pull request #962 from KLayout/lvs-data-as-global-function
Enabled 'lvs_data' as a new global function for LVS (for consistency)
2021-12-29 23:16:10 +01:00
Matthias Köfferlein 23207c2fe6
Merge pull request #961 from KLayout/issue-960
Fixed #960 (cap value not shown in netlist browser)
2021-12-29 23:15:36 +01:00
Matthias Koefferlein 980cd73c5a Implemented request: show snapped cursor position in lower left position display. 2021-12-28 22:39:04 +01:00
Matthias Koefferlein 6e15ebb3a1 Enabled 'lvs_data' as a new global function for LVS (for consistency) 2021-12-26 23:39:02 +01:00
Matthias Koefferlein 6c34ce14c0 Fixed #960 (cap value not shown in netlist browser) 2021-12-26 23:34:06 +01:00
Matthias Koefferlein 029b7b9410 Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases. 2021-12-26 21:23:58 +01:00
Matthias Köfferlein 5f73d11fb1
Merge pull request #958 from KLayout/issue-951
Issue 951
2021-12-26 19:15:11 +01:00
Matthias Köfferlein 460ba9813a
Merge pull request #957 from KLayout/issue-954
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein 4956091e75 Fixed a small glitch too: cut & paste of cells was possible in viewer mode 2021-12-26 12:33:44 +01:00
Matthias Koefferlein 8e02b400ca Fixed #951
The problem was essentially the "specific path" which got invalid.
The solution is to establish a better criterion for "path validity"
and use for failsafes against invalid paths.

In addition, the path validation has been modified such that a
better choice is made about the remaining path after a cell gets
deleted.
2021-12-26 12:20:54 +01:00
Matthias Koefferlein e1cd6aaeb1 Bugfix for #954
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.

Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein 2b9193331e Small bugfix: no 'nil' layer generated when no layer is selected for a PCell 2021-12-25 18:38:39 +01:00
Matthias Koefferlein 9cd77e5cec WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation' 2021-12-25 18:03:30 +01:00
Matthias Koefferlein f985d946a1 WIP: implementing an optional 'update' button for lazy evaluation PCells 2021-12-25 17:40:10 +01:00
Matthias Koefferlein 4820207cd3 Merge remote-tracking branch 'origin/master' into qt6 2021-12-17 21:44:50 +01:00
Matthias Koefferlein 219fbceb28 Fixed the fix. 2021-12-17 08:18:35 +01:00
Matthias Koefferlein e1df15a47f Fixed Windows tests 2021-12-16 22:51:20 +01:00
Matthias Köfferlein f60a5de325
Merge pull request #948 from KLayout/less-expressions
Less expression evaluation for more robustness
2021-12-16 07:56:21 +01:00
Matthias Köfferlein 7bc5b51fad
Merge pull request #947 from KLayout/issue-946
Fixed issue #946 for the case of file paths with blanks
2021-12-16 07:55:58 +01:00
Matthias Koefferlein a6d4c80c6c Less expression evaluation for more robustness 2021-12-16 00:23:06 +01:00
Matthias Koefferlein 533a72b7bd Added tests, fixed implementation 2021-12-15 23:18:42 +01:00
Matthias Koefferlein 07515cd716 Fixed issue #946 for the case of file paths with blanks 2021-12-15 23:04:58 +01:00
klayoutmatthias edd5884a1a WIP: enabling build on MSVC2019 with Qt6 2021-12-15 00:31:13 +01:00
klayoutmatthias 626d404d83 BUild fixes for Windows 2021-12-12 23:49:14 +01:00
Matthias Koefferlein c76dde4533 Fixed Windows Qt binding for Qt6 2021-12-12 23:00:42 +01:00
Matthias Koefferlein 279342e61a Added more declarations for gcc in release mode 2021-12-12 16:48:44 +01:00
klayoutmatthias 0c142c9252 gcc 4.x (CentOS 7) does not support all C++11 type traits 2021-12-11 18:56:44 +00:00
Matthias Koefferlein 9aed8529f8 Build needs C++11 2021-12-11 16:37:05 +01:00
Matthias Koefferlein eecda3222b Fixed pymod_tests 2021-12-11 15:17:16 +01:00
Matthias Koefferlein 4966601bd1 Updated Qt4 bindings 2021-12-11 14:05:09 +01:00
Matthias Koefferlein 8b87fba8d4 Updated Qt5 bindings 2021-12-11 10:46:24 +01:00
Matthias Koefferlein ea83b4285d Enabling multiple bases and child classes for GSI expressions 2021-12-11 10:45:54 +01:00
Matthias Koefferlein a0546098b3 Fixed Qt5 binding generator config 2021-12-11 10:45:38 +01:00
Matthias Koefferlein 93942e907e Updated Qt5 bindings 2021-12-11 10:14:14 +01:00
Matthias Koefferlein 2d334bd88d Some code simplification 2021-12-11 01:09:07 +01:00
Matthias Koefferlein 8dbc31a41f Removed debug output 2021-12-11 00:42:26 +01:00
Matthias Koefferlein ca304b15c8 Enable multi-base support for RBA + Qt binding 2021-12-11 00:14:10 +01:00
Matthias Koefferlein 0aca56b1c6 Fixed pymod tests 2021-12-10 01:23:54 +01:00
Matthias Koefferlein f15db66fc4 Providing a different implementation of the multi-base mixin concept for Python to support multiple bases in Qt binding (e.g. QIODeviceBase) 2021-12-10 00:53:51 +01:00
Matthias Koefferlein 202ac55200 Preparations for multiple bases for Python objects 2021-12-08 23:53:38 +01:00
Matthias Koefferlein 1e795ebb6e Put in some blank lines for better readibility of generated Qt binding code 2021-12-07 23:43:40 +01:00
Matthias Koefferlein 519d7f6353 Fixed issue #942 (plus: cleaned some config inconsistencies and fixed a small Ui flaw) 2021-12-07 23:40:26 +01:00
Matthias Koefferlein 9c0e94e63c WIP: Allowing extension (mixin) classes
Needed to represent QIODeviceBase as a second base class for
QIOdevice, QFile etc. Additional base classes are supported but
in a rather limited way. They only contribute constants like enums.
No methods can be provided this way (a limitation of the method
enumeration scheme which only supports one base classe)
2021-12-07 23:24:08 +01:00
Matthias Koefferlein 6f9fa7a4a2 Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6 2021-12-05 17:21:09 +01:00
Matthias Koefferlein 818beaa6a4 WIP: build fixes 2021-12-05 17:20:58 +01:00
Matthias Koefferlein 085db4f33f WIP: enterEvent has a different signature in Qt6 2021-12-05 17:18:19 +01:00
Matthias Koefferlein e07b9dc609 WIP: batch mode does not crash anymore (QAction cannot be created in non-GUI mode) 2021-12-05 17:07:40 +01:00
Matthias Koefferlein 96650cb65d WIP: Qt4 compatibility, cleanup, version bumped 2021-12-05 17:03:16 +01:00
Matthias Koefferlein 5eafb5ac13 WIP: cleanup plus added missing files. 2021-12-05 14:43:05 +01:00
Matthias Koefferlein cb680875de Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6 2021-12-05 13:39:43 +01:00
Matthias Koefferlein 9124881180 Added missing file. 2021-12-05 13:38:26 +01:00
Matthias Koefferlein 3bb46e2717 Qt5 builds functional again, enabled QLatin1String for Qt5 and Qt4 too. 2021-12-05 13:38:08 +01:00
Matthias Koefferlein 3a68daa0e4 WIP: global enums translated for qtbindings too 2021-12-05 13:36:43 +01:00
Matthias Koefferlein 4a1f1cb1ef WIP: Qt binding - don't propagate class enum constants to parent scope 2021-12-05 12:02:56 +01:00
Matthias Koefferlein 0e2ff48c14 Compatbility with C++11 2021-12-05 00:29:15 +01:00
Matthias Koefferlein 5bff49c0d5 Merge branch 'qt6' of github.com:KLayout/klayout into qt6 2021-12-05 00:28:19 +01:00
Matthias Koefferlein 248bac5f6d Compatbility with C++11 2021-12-05 00:28:06 +01:00
Matthias Koefferlein 302a5fccd0 Build fixes 2021-12-05 00:27:41 +01:00
Matthias Koefferlein ef62a126d4 WIP: format string problem fixed in 2.5d view 2021-12-05 00:08:08 +01:00
Matthias Koefferlein 3ef28c8a9d WIP: fixed some string extractors 2021-12-04 23:57:24 +01:00
Matthias Koefferlein 6aae46772c WIP: typo bug fixed. 2021-12-04 22:46:59 +01:00
Matthias Koefferlein ab97a4722d WIP: fixed some Qt binding and GSI issues, added tests 2021-12-04 22:15:04 +01:00
Matthias Koefferlein e677cc7300 WIP: tests for QStringView and QByteArrayView bindings 2021-12-04 09:03:59 +01:00
Matthias Koefferlein 125543957d WIP: Fixed GSI to some extent, some tests 2021-12-04 00:31:01 +01:00
Matthias Koefferlein 82909001c4 Build fixes with pymod 2021-12-03 07:28:09 +01:00
Matthias Koefferlein acf1edb6ce Build fixes with Ruby and Python 2021-12-02 23:46:39 +01:00
Matthias Koefferlein 709ed19e13 Added first version of Qt binding for Qt6 2021-12-02 23:40:31 +01:00
Matthias Koefferlein e72060407c WIP: enabling QLatin1String, QStringView, QByteArrayView for GSI 2021-12-02 20:30:19 +01:00
Matthias Koefferlein bc26fd6333 WIP: some more patches for Qt6 Qt binding. 2021-12-02 01:08:42 +01:00
Matthias Koefferlein a17f89201f Updated Qt binding generation scripts and build fixes 2021-11-30 23:12:12 +01:00
Matthias Koefferlein a0319c4073 WIP: some more build fixes 2021-11-30 07:56:04 +01:00
Matthias Koefferlein 6b49386b67 WIP: fixed some build errors 2021-11-29 23:27:26 +01:00
Matthias Koefferlein 132ad2ed8d WIP: removing need to tl::type_traits 2021-11-29 22:54:28 +01:00
Matthias Koefferlein 18fee75276 WIP: QtCore enabling 2021-11-28 16:31:37 +01:00
Matthias Koefferlein 3bbb49770b WIP: __null to nullptr as in modern C++. 2021-11-27 15:47:58 +01:00
Matthias Koefferlein f4c0a43d49 unit tests pass now with the exception of two XML parser tests (QTBUG-98656) 2021-11-25 22:18:25 +01:00
Matthias Koefferlein 39aa5cb805 WIP 2021-11-25 20:44:39 +01:00
Matthias Koefferlein 2ee4d5414e WIP 2021-11-25 20:37:10 +01:00
Matthias Koefferlein c3010745ec WIP 2021-11-25 19:53:00 +01:00
Matthias Koefferlein 646a207e00 WIP 2021-11-25 01:17:53 +01:00
Matthias Koefferlein a7678c8a57 WIP 2021-11-25 01:12:39 +01:00
Matthias Koefferlein 0e15426c9f WIP 2021-11-25 00:57:11 +01:00
Matthias Koefferlein a4d2e7891c WIP 2021-11-24 23:59:36 +01:00
Matthias Koefferlein fb4caf15ac Merge branch 'master' of github.com:KLayout/klayout into qt6 2021-11-24 23:21:27 +01:00
Matthias Koefferlein c809a236fb Fixed slider sizing in 2.5d view 2021-11-15 18:13:22 +01:00
Matthias Koefferlein 26da9f7406 Merge branch 'master' of github.com:KLayout/klayout 2021-11-15 07:12:29 +01:00
Matthias Koefferlein 748c331297 Fixed documentation 2021-11-14 22:42:05 +01:00
Matthias Koefferlein ecc83aa579 Solved #879: PCellDeclaration now knows the layout and layout knows the library 2021-11-14 17:45:52 +01:00
Matthias Köfferlein 91d358398b
Merge pull request #937 from KLayout/more-macro-bindings
More macro bindings
2021-11-14 16:18:23 +01:00
Matthias Koefferlein 2039d99f03 Fixed build errors. 2021-11-14 11:56:40 +01:00
Matthias Koefferlein 2831dd7f26 Fixed code sample 2021-11-13 20:39:49 +01:00
Matthias Koefferlein be19165140 Doc fixes. 2021-11-13 20:34:56 +01:00
Matthias Koefferlein ab350078a0 Cross-calling of Python from Ruby and much more ... 2021-11-13 19:57:31 +01:00
Matthias Koefferlein 67ed068e76 Provide more methods for the Macro class. 2021-11-13 01:53:14 +01:00
Matthias Koefferlein 0ca82001ed #935 fixed (checking for valid cell index) 2021-11-13 01:03:54 +01:00
Matthias Koefferlein 719eb0bce8 Fixed a potential crash on application exit 2021-11-13 00:48:27 +01:00
Matthias Köfferlein 7c8e507bb9
Merge pull request #934 from KLayout/issue-933
Alternative fix using a customized implementation for QMessageLogger …
2021-11-13 00:45:54 +01:00
Matthias Koefferlein 2dc30103bf Merge remote-tracking branch 'remotes/origin/issue-933' into issue-933 2021-11-11 21:01:37 +01:00
Matthias Koefferlein 8cd39b2140 Consistent use of build options for non-build.sh based builds 2021-11-11 20:51:27 +01:00
Matthias Koefferlein 3ce7038a7d Alternative fix using a customized implementation for QMessageLogger functions 2021-11-10 23:38:33 +01:00
Matthias Koefferlein d2478881b5 Bugfix: threading issue - multiple threads accessed the same object 2021-11-10 22:30:32 +01:00
Matthias Koefferlein 379a22c86a Restored performance of some checks 2021-11-09 21:55:55 +01:00
Matthias Koefferlein 319efc1f95 Bugfix: negative output wasn't working properly for enclosing and overlap. 2021-11-09 00:32:07 +01:00
Matthias Koefferlein 4a44329e38 Enabling 'enclosed' as a (sometimes) more efficient way of implementing an enclosing check. 2021-11-08 23:18:01 +01:00
Matthias Koefferlein 2fd9401013 Fixed some doc problems 2021-11-07 23:30:15 +01:00
Matthias Koefferlein 9fa82f01d8 WIP (code reduction and performance enhancement of basic DRC checks) 2021-11-07 21:46:18 +01:00
Matthias Koefferlein a0367c1530 More specific clip variants after bounding boxes have been reduced in RecursiveShapeIterator 2021-11-01 17:27:52 +01:00
Matthias Koefferlein bc54ba3b99 Merge branch 'performance' into head 2021-11-01 14:32:31 +01:00
Matthias Koefferlein d244d5aac6 Debugging plus enhancments
Basic change: DeepShapeStore+CellMapping uses (new) hier_generation_id of Layout to figure out
if the hierarchy has changed and the cache needs update.
2021-11-01 13:49:00 +01:00
Matthias Koefferlein 64a6b3acdc WIP 2021-11-01 09:53:51 +01:00
Matthias Koefferlein 902375cc4d WIP: trying to reduce the number of DSS-internal cell mappings by caching cell maps 2021-10-31 00:59:42 +02:00
Matthias Koefferlein 455c40ced6 More consistent verbosity levels for cell mapping 2021-10-30 21:31:05 +02:00
Matthias Koefferlein ebe38912a6 Tests and documentation for dbTrans#is_complex? 2021-10-27 23:36:58 +02:00
Matthias Koefferlein 20f3733c58 WIP: lean recursive shape touch check 2021-10-27 00:38:12 +02:00
Matthias Koefferlein 596080669d WIP 2021-10-26 23:10:29 +02:00
Matthias Koefferlein 7881c0953c WIP 2021-10-24 20:28:15 +02:00
Matthias Koefferlein c6bd856331 WIP 2021-10-24 00:05:50 +02:00
Matthias Koefferlein 09df614d8a Bugfix: array iterator must not iterate on empty search box. 2021-10-22 23:52:35 +02:00
Matthias Köfferlein 01d7600b87
Merge pull request #925 from KLayout/issue-920
Fixed #920 (fill border parameter sign issue)
2021-10-20 22:27:09 +02:00
Matthias Köfferlein 5485c4b5f2
Merge pull request #924 from KLayout/issue-921
Bugfix plus more tests
2021-10-20 22:26:57 +02:00
Matthias Köfferlein 7e6b4662ec
Merge pull request #923 from KLayout/usablity-enhancements
Usablity enhancements
2021-10-20 22:26:38 +02:00
Matthias Koefferlein 17a6459f83 Fixed #920 (fill border parameter sign issue) 2021-10-19 21:05:09 +02:00
Matthias Koefferlein abe40ae99f Bugfix plus more tests 2021-10-19 20:48:13 +02:00
Matthias Koefferlein 89a50abedd Some more documentation about layer views. 2021-10-19 00:11:27 +02:00
Matthias Koefferlein 97d393c78a Layout#is_editable 2021-10-18 23:24:28 +02:00
Matthias Koefferlein 04deb785ba Asking whether to apply a .lyp file on multiple layouts on MRU-listed .lyp files too. 2021-10-18 23:10:39 +02:00
Matthias Koefferlein 4d64e95680 Shape objects from custom queries 'select' are translated into shape markers when exporting to RDB 2021-10-18 23:08:38 +02:00
Matthias Koefferlein ca15d9ec9d WIP 2021-10-18 00:12:46 +02:00
klayoutmatthias c48f930fb3 Fixed #918 by using ignore size policy for the editor options tab widget 2021-10-14 23:48:24 +02:00
Matthias Koefferlein 710d217b17 strmxor: better command line doc, show file read timing like main app. 2021-10-07 22:17:03 +02:00
Matthias Koefferlein ec527367f2 'tap' shows layer details like view name 2021-10-06 23:26:12 +02:00
Matthias Koefferlein 747807224b 2.5d view enhancements
* Fine-tuned 2.5d view's key events
* better error message in case of z-stack/layers mismatch
* Don't confine bounding box to actual layout - that can be confusing
2021-10-06 23:17:56 +02:00
Matthias Köfferlein 8b12788084
Merge pull request #915 from KLayout/issue-912
Fixed #912 (crash when trying to create a cell in an empty panel)
2021-09-25 23:21:27 +02:00
Matthias Köfferlein e77ef66b2f
Merge pull request #901 from KLayout/25d-view-enhancements
25d view enhancements
2021-09-23 22:33:56 +02:00
Matthias Koefferlein 98e20cf2f1 Enhancement: enable 'tap' function also in view mode 2021-09-23 01:13:56 +02:00
Matthias Koefferlein b8489223c1 Fixed #912 (crash when trying to create a cell in an empty panel) 2021-09-23 01:11:15 +02:00
Matthias Koefferlein 6dd35693d6 Color support also for multi height mapping of a single layer 2021-09-23 01:00:59 +02:00
Matthias Koefferlein 5d1b12391b Show wireframe in frame colors 2021-09-23 00:33:55 +02:00
Matthias Koefferlein 464bb75626 Live updates of layer properties 2021-09-22 23:29:58 +02:00
Matthias Koefferlein df4e6ce262 Merge branch 'master' of github.com:KLayout/klayout into 25d-view-enhancements 2021-09-22 07:51:24 +02:00
Matthias Koefferlein 4da0a38857 Merge branch 'master' into 25d-view-enhancements 2021-09-22 07:51:06 +02:00
Matthias Köfferlein 897bcf1ed8
Merge pull request #911 from KLayout/issue-909
Fixed #909 (Crash on DRC)
2021-09-22 07:50:44 +02:00
Matthias Koefferlein 7acd5ba3e4 WIP: turning 2.5d view into a browser which is non-modal 2021-09-22 00:18:59 +02:00
Matthias Koefferlein 068f782544 Fixed CentOS7 builds 2021-09-21 23:56:57 +02:00
Matthias Koefferlein 451f57bb25 Fixed #909 (Crash on DRC) 2021-09-21 23:37:57 +02:00
Matthias Koefferlein 9531376b7a WIP 2021-09-21 22:52:13 +02:00
Matthias Koefferlein 5f188f7f5a Merge branch 'master' into 25d-view-enhancements 2021-09-21 22:51:05 +02:00
Matthias Köfferlein eb8c7ff53f
Merge pull request #910 from gatecat/dont-abort-on-info
klayout_main: Don't abort on info messages
2021-09-21 22:43:46 +02:00
Matthias Köfferlein 80fd5b79be
Merge pull request #908 from KLayout/netlist-compare-performance2
Improving netist compare performance for array case + some enhancements
2021-09-21 22:43:37 +02:00
Matthias Köfferlein f1e59a7dc6
Merge pull request #907 from KLayout/issue-905
Fixed #905 (Crash while deleting a Library)
2021-09-21 22:43:22 +02:00
Matthias Köfferlein 1022e08ee0
Merge pull request #900 from KLayout/issue-897
Issue 897 (crash in fill tool)
2021-09-21 22:43:06 +02:00
Matthias Köfferlein a2e171b330
Merge pull request #899 from KLayout/issue-898
Issue 898 (Spice reader ignores last line)
2021-09-21 22:42:53 +02:00
Matthias Koefferlein 3d7c1db1f7 Fixed unit tests 2021-09-21 21:17:57 +02:00
Matthias Koefferlein e1dd79acbf Include SSL errors in error message on HTTPS access. 2021-09-21 21:01:53 +02:00
gatecat 93cf7869ce klayout_main: Don't abort on info messages
Signed-off-by: gatecat <gatecat@ds0.me>
2021-09-21 14:37:03 +01:00
Matthias Koefferlein 29384bf3f3 Convenience: simple version of DRC layer.with_holes and layer.without_holes 2021-09-20 21:36:46 +02:00
Matthias Koefferlein 4152f10bc4 Apply 'show all' one level deeper. This way it's possible to hide mismatching nets. But the net content is still shown in full detail. 2021-09-20 21:24:00 +02:00
Matthias Koefferlein e14a96a421 Speeding up the netlist browser by shortcutting has_children 2021-09-20 21:14:25 +02:00
Matthias Koefferlein ceb0b2298f Some cleanup, updated tests 2021-09-19 19:05:09 +02:00
Matthias Koefferlein b7827f7b5f Maybe found a solution for the matrix arrangement runtime problem 2021-09-19 18:29:57 +02:00
Matthias Koefferlein 930423bcc7 WIP 2021-09-19 17:26:28 +02:00
Matthias Koefferlein a42d761e95 Some small refactoring 2021-09-17 22:46:56 +02:00
Matthias Koefferlein 71b5695344 Fixed #905 2021-09-15 00:09:56 +02:00
Matthias Koefferlein 0f4b0e4826 Ported some enhancements from WIP branch (debug output, capturing easy wins when max depth is exhausted) 2021-09-14 22:31:24 +02:00
Matthias Koefferlein b671b1843b Fixed a problem with net compare config - depth first wasn't considered in all cases 2021-09-12 22:35:08 +02:00
Matthias Koefferlein 89052660ee Refactoring of the netlist compare code 2021-09-12 22:35:03 +02:00
Matthias Koefferlein 822709dd5a Refactoring of the netlist compare code 2021-09-12 22:34:59 +02:00
Matthias Koefferlein 52c79feeed Refactoring of the netlist compare code 2021-09-12 22:34:55 +02:00
Matthias Koefferlein c19f8187c8 WIP: minor refactoring 2021-08-31 22:55:04 +02:00
Matthias Koefferlein 30d896cf8b WIP: disable Escape, Enter keys. No focus for sliders to keep focus inside drawing if possible. 2021-08-31 19:05:30 +02:00
Matthias Koefferlein 32624b1692 WIP: removed some nonsense 2021-08-31 18:47:10 +02:00
Matthias Koefferlein 2b07510f56 WIP: improved fit function 2021-08-31 13:29:50 +02:00
Matthias Koefferlein 5afd48b12f WIP: scale factor editing, pan mode done. 2021-08-31 10:43:02 +02:00
Matthias Koefferlein 4a3e694b9b WIP: added vertical zoom factor slider, some enhancements 2021-08-30 16:01:35 +02:00
Matthias Koefferlein 8e02969863 Fixed a warning because of duplicate undo registration of the fill tool 2021-08-29 21:46:01 +02:00
Matthias Koefferlein 45850cec70 Fixed #897 (crash in fill tool) 2021-08-29 21:33:54 +02:00
Matthias Koefferlein ab3bceda75 Fixed #898 (netlist reader ignores last list) 2021-08-29 21:12:04 +02:00
Matthias Köfferlein 93e789a861
Fixed #893 (#894) 2021-08-24 21:37:15 +02:00
Matthias Köfferlein 225d3ab32d
issue-892 (#895) 2021-08-24 21:37:02 +02:00
Matthias Koefferlein f82e22c5c2 Layers are allowed to appear multiple times in the z list now. Move resolution (mouse wheel) now follows scaling 2021-08-15 17:23:36 +02:00
Matthias Koefferlein 8c089c37ff Fixed a bug in a doc file 2021-07-31 23:03:01 +02:00
Matthias Koefferlein 6da700b297 Fixed a .pro file 2021-07-31 21:25:08 +02:00
Matthias Koefferlein 37dd298853 Merge branch 'master' of github.com:KLayout/klayout 2021-07-31 11:02:06 +02:00
Matthias Köfferlein 1916a4f683
Merge pull request #884 from KLayout/issue-881
Fixed #881 (typo in separation check and others)
2021-07-31 11:01:55 +02:00
Matthias Koefferlein 006b5ef2a1 Renamed files for easier debugging 2021-07-31 10:55:37 +02:00
Matthias Koefferlein d7438b43ae Fixed #881 (typo in separation check and others) 2021-07-30 23:13:24 +02:00
Matthias Koefferlein beb168508e Updated doc. 2021-07-29 23:13:26 +02:00
Matthias Koefferlein 0f09dfe8eb Added LVS tests, updated doc. 2021-07-29 22:56:11 +02:00
Matthias Koefferlein 9543cea952 Fixed tests 2021-07-29 22:24:22 +02:00
Matthias Koefferlein 8b970039c0 Using primary(layout) netlist as reference for primary parameters and compare delegate - this also removes some potential glitches 2021-07-29 01:15:35 +02:00
Matthias Koefferlein a90e14b692 Some tests added. 2021-07-27 23:08:34 +02:00
Matthias Koefferlein 42b7290fe5 Device parameter comparer now also compares other (primary) parameters, parameters primary in both netlists are considered to be compared by default, 'ignore' feature in tolerance 2021-07-27 22:15:59 +02:00
Matthias Koefferlein 37457aa02f Spice reader flags existing parameters as primary 2021-07-27 22:13:45 +02:00
Matthias Koefferlein 6ff2f96310 Reverted #796 change: DXF version is back to 1006 which seems to be better compatible with commercial viewers. Using a later version turns out to require a lot of additional information I cannot provide without deeper insight into the DXF structure. 2021-07-22 23:11:35 +02:00
Matthias Köfferlein df022316b9
Merge pull request #877 from KLayout/drc-extent-of-cells
Implemented extent(cell_filter) for DRC, added Layout#cells with name…
2021-07-21 23:37:10 +02:00
Matthias Köfferlein dff2c2d352
Merge pull request #876 from KLayout/issue-875
Fixed #875 (drawing glitch)
2021-07-21 23:36:58 +02:00
Matthias Köfferlein b7f4c40400
Merge pull request #874 from KLayout/issue-871
Fixed #871 (application stalls with 'draw only border instances' mode…
2021-07-21 23:36:46 +02:00
Matthias Köfferlein ce6f63b20c
Merge pull request #873 from KLayout/issue-866
Fixed #866 (probe net not working for floating subcircuits in hierarc…
2021-07-21 23:36:33 +02:00
Matthias Koefferlein 99bb98127f Updated doc. 2021-07-21 18:51:34 +02:00
Matthias Koefferlein 7a37a6b7ed Implemented extent(cell_filter) for DRC, added Layout#cells with name filter 2021-07-21 18:31:51 +02:00
Matthias Koefferlein 084e1a746e Fixed #875 (drawing glitch) 2021-07-20 21:42:24 +02:00
Matthias Koefferlein 92419801a7 Fixed #871 (application stalls with 'draw only border instances' mode with AREFs) 2021-07-20 20:53:46 +02:00
Matthias Koefferlein 99d980cd16 Added two useful functions for RBA/pya CellView (context_trans, context_dtrans) 2021-07-20 19:31:54 +02:00
Matthias Koefferlein 7f26c580e0 Add-on: netlist browser and net navigation with different context cells in layout view enhanced. 2021-07-20 01:35:10 +02:00
Matthias Koefferlein 585baa4637 Fixed #866 (probe net not working for floating subcircuits in hierarchical net tracer) 2021-07-20 00:23:54 +02:00
Matthias Koefferlein 52f7a04838 Fixed #867 (macro editor freeze after search next) 2021-07-19 22:47:33 +02:00
Matthias Koefferlein 23d0fcae8d Added new tests 2021-07-19 08:32:55 +02:00
Matthias Koefferlein 722b45b721 Fixed tests 2021-07-19 07:47:41 +02:00
Matthias Koefferlein bc74f189f8 Introducing asymmetric ambiguity groups for better matching of black box circuits with optional pins. 2021-07-18 23:33:01 +02:00
Matthias Koefferlein 70f4c7e2b5 A small refactoring. 2021-07-18 23:09:51 +02:00
Matthias Koefferlein 2c8d065eb3 Some enhancments + test update
1. Be more careful with net names
Net names are used now for sorting the graph nodes, but not for
strict compare. This is useful to derive swappable pins for
blackbox circuits.

2. Be more careful with pins from schematic netlist
Pins from schematic netlist without a corresponding pin on the layer
side are treated as mandatory unless connected to a trivial net.
Pins connecting to non-trivial nets inside the subcircuit are always
considered mandatory.
This way schematic pins enforce corresponding layout pins.
On the other hand, layout pins connecting to trivial nets inside
the subcircuit are considered non-mandatory.
2021-07-18 22:34:02 +02:00
Matthias Koefferlein 51d117e379 Refined black box pin heuristics
Pins are required to match if they are passive inside the
subcircuit but connected to a non-trivial net in the calling circuit.
2021-07-18 20:39:19 +02:00