Commit Graph

202 Commits

Author SHA1 Message Date
Matthias Koefferlein e6ff30adee Modifying definition of Timer#memory_size on Linux to become resident size. 2025-03-23 18:46:15 +01:00
Matthias Koefferlein 33b54f3f88 Merge branch 'master' into devel 2025-01-19 22:04:55 +01:00
Matthias Koefferlein 063040695a Preparing tests for GSI class properties 2025-01-16 20:40:42 +01:00
Matthias Koefferlein 05ba1743d7 Adding 'Logger#set_verbosity' alias as it is difficult to implement class property setters in Python 2025-01-16 20:40:01 +01:00
Matthias Koefferlein 5d57cb5eed Updating copyright to 2025 2025-01-04 19:32:33 +01:00
Matthias Koefferlein c9da9dc6e0 Updating copyright to 2025 2025-01-04 19:28:56 +01:00
Matthias Koefferlein 5281397b17 Fixed some tests 2024-12-26 00:42:39 +01:00
Matthias Koefferlein fd1dc842e0 Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions 2024-08-07 00:11:48 +02:00
Matthias Koefferlein 32a815a1c0 Properly selecting debug mode in .pri files for self diagnosis. Touching files for recompile. 2024-07-20 21:04:51 +02:00
Matthias Koefferlein a8eaead404 Enhanced tl::Variant so it can capture all possible default values. Added a self-diagnosis step in debug builds. 2024-07-20 19:57:11 +02:00
Matthias Koefferlein 9a79838369 Bugfix for issue-1793: using the heap to properly store the default values 2024-07-20 18:58:29 +02:00
Matthias Köfferlein 054fd09424
Merge pull request #1752 from KLayout/bugfix/issue-1750-1751
Fixing issue #1750 and issue #1751
2024-06-29 20:11:54 +02:00
Matthias Koefferlein 27073cb128 Fixing issue #1750 and issue #1751 2024-06-22 21:00:26 +02:00
Matthias Koefferlein 24a9e6824a Added tests for the last fix. 2024-06-16 16:54:20 +02:00
Matthias Koefferlein 4f88ff68da Better error messages on Expressions too. 2024-05-25 19:18:15 +02:00
Matthias Koefferlein 1861abc68c Bugfix for passing default arguments to GSI calls
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.

In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein 370abf7ab3 Enum to variant binding: needs to use enum class, not EnumWrapper<E>
The effect of this fix is that tl::Variant gets enabled for
enums declared with gsi::Enum.
2024-05-25 17:46:29 +02:00
Matthias Koefferlein 2b4a583f05 Update copyright year 2024-01-01 17:27:59 +01:00
Matthias Koefferlein f335ab69af More compatibility with Ruby <2.7 2023-12-29 23:00:06 +01:00
Matthias Koefferlein 775c331bae Fixing an unit test 2023-12-28 22:33:47 +01:00
Matthias Koefferlein 6ceb77cf73 Trying to fix the ambiguity issue in Ruby < 3.0 with hash arguments vs. keyword arguments 2023-12-28 21:53:38 +01:00
Matthias Koefferlein 11fbad0104 eliminating some unnamed arguments 2023-12-28 21:35:14 +01:00
Matthias Koefferlein e2ba78185c Tests for GSI kwargs, test framework enhanced to print the total number of tests 2023-12-28 19:44:44 +01:00
Matthias Koefferlein f685fe3adf WIP: keyword arguments for expressions 2023-12-28 01:03:21 +01:00
Matthias Koefferlein 940ef5319a WIP: refinement of Python and Ruby support for keyword arguments. 2023-12-27 22:56:11 +01:00
Matthias Koefferlein 702bcbe924 WIP: keyword arguments (for now: Python) + transformation alignment
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.

Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00
Matthias Koefferlein d1695b88af Merge branch 'wip' 2023-12-23 18:05:54 +01:00
Matthias Koefferlein 5a0b7e9fb5 Trying to fix MSVC builds 2023-11-26 18:51:06 +01:00
Matthias Koefferlein b7d1d22fb2 Fixed Windows builds, enhanced unit test framework with error messages upon exceptions. 2023-11-26 17:04:44 +01:00
Matthias Koefferlein cb1589b2ba Ported upgrade to expressions too 2023-11-26 16:19:09 +01:00
Matthias Koefferlein a95706baaa Tests for implict construction from tuple or list arguments 2023-11-26 09:55:26 +01:00
Matthias Koefferlein b2b950041d [consider merging] Avoids an assertion when using tuples for out vector parameters 2023-11-26 09:55:23 +01:00
Matthias Koefferlein c6dc723227 Fixing build issue on some platforms with noqt 2023-11-10 23:36:35 +01:00
Matthias Koefferlein 254015617d Merge branch 'wip' into wip2 2023-08-11 19:17:01 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +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 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 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 feb50f49dd Enabling some more PNG related features by falling back to Qt without libpng 2023-03-04 20:32:44 +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 a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 1edbd6232f Merge branch 'python-typehints' 2022-11-09 23:13:31 +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 2c18bc6c46 WIP: refactoring 2022-10-23 18:31:13 +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
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 0b0e440781 [Consider merging] method name parser exception for *= method (not seen as protected '=') 2022-08-10 21:05:34 +02:00
klayoutmatthias bca7486082 [Consider merging] object lifetime problem with QLatin1String and GSI fixed 2022-07-26 21:02:48 +02:00