Commit Graph

3526 Commits

Author SHA1 Message Date
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