Commit Graph

4276 Commits

Author SHA1 Message Date
Matthias Köfferlein 12169cb11d
Merge pull request #1436 from KLayout/new-image-constructor
Added Image constructor from PixelBuffer and QImage
2023-08-01 20:43:01 +02:00
Matthias Koefferlein 559c45a585 it's -> its 2023-07-30 14:50:53 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +02:00
Matthias Koefferlein 2ae01a3e91 Do not duplicate cells+layers on "Duplicate"
See https://www.klayout.de/forum/discussion/2335 for the rationale
2023-07-30 13:50:49 +02:00
Matthias Köfferlein 39fd811d03
Merge pull request #1434 from KLayout/issue-1430
Fixed issue #1430 (Add option to filter out geometric primitives from…
2023-07-30 12:53:31 +02:00
Matthias Köfferlein 9f5b8faf60
Merge pull request #1429 from KLayout/issue-1428
Fixed #1428 (allow XML include files in macros)
2023-07-30 12:52:55 +02:00
Matthias Koefferlein fb84d8b32d Fixed non-Qt builds 2023-07-30 12:51:01 +02:00
Matthias Koefferlein 42baaef031 Fixed #1433 (def syntax error not captured) 2023-07-30 11:40:24 +02:00
Matthias Koefferlein aa4eeebfbb Added Image constructor from PixelBuffer and QImage 2023-07-29 10:34:59 +02:00
Matthias Koefferlein 4f7da687d4 Removed a question comment 2023-07-29 09:50:58 +02:00
Matthias Koefferlein ae48740107 Merge branch 'points-for-marker' into wip2 2023-07-29 09:49:34 +02:00
Matthias Koefferlein 3b9f3eae20 Fixed issue #1432 (strm2oas def ignores path segment) 2023-07-29 02:45:17 +02:00
Matthias Koefferlein 8051e43583 Fixed issue #1430 (Add option to filter out geometric primitives from Marker Database Browser Info widget) 2023-07-29 02:19:57 +02:00
Matthias Koefferlein ad114f6137 Fixed unit tests (error messages now have the message class attached) 2023-07-29 01:13:25 +02:00
Matthias Koefferlein e53d432117 Better support for point-like handles
PCells have been featuring point-like handles but
they suffered some issues because they have been
mapped to degenerated boxes:

- hardly visible
- could be destroyed using partial editing

Now, the database offers points, hence it is
possible to store points explicitly, so no
tricks need to be played to make them visible.

Editing has been implemented to some extent,
so it is possible for example to configure
handles in the properties dialogs.
2023-07-29 01:01:50 +02:00
Matthias Koefferlein 6e4ac71442 WIP 2023-07-28 23:48:34 +02:00
Matthias Koefferlein e766b12c3e Allowing PCell layer parameters without default (-> empty) 2023-07-28 21:52:51 +02:00
Matthias Koefferlein 7ac51337ca Script errors now include the class for better readability in Python, normalizing errors in Python 2023-07-28 21:28:09 +02:00
Matthias Koefferlein a7e648c82b Fixed a doc typo 2023-07-28 21:27:16 +02:00
Matthias Koefferlein 8b44a3ba13 Fixing PCellDeclaration helper (correct use of 'raise' 2023-07-28 21:26:05 +02:00
Matthias Koefferlein 8840a7ac54 Fixed #1428 (allow XML include files in macros) 2023-07-24 23:25:35 +02:00
Matthias Koefferlein 58417d5700 pya: adding hint about disambiuation of methods/properties to Python specific doc. 2023-07-23 18:35:36 +02:00
Matthias Koefferlein 0f47a9e54d Refined solution for #1425 (exact match has priority in find_layers), doc updates 2023-07-23 18:19:21 +02:00
Matthias Koefferlein 393aacbcff Fixed issue #1425: enhancement - allow searching for layers in layouts by name even if they have layer/datatype 2023-07-23 10:05:20 +02:00
Matthias Köfferlein abf2970438
Merge pull request #1423 from KLayout/wip2
Wip2
2023-07-23 09:40:33 +02:00
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 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