Commit Graph

191 Commits

Author SHA1 Message Date
Matthias Koefferlein a0546098b3 Fixed Qt5 binding generator config 2021-12-11 10:45:38 +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 818beaa6a4 WIP: build fixes 2021-12-05 17:20:58 +01:00
Matthias Koefferlein 96650cb65d WIP: Qt4 compatibility, cleanup, version bumped 2021-12-05 17:03:16 +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 0e2ff48c14 Compatbility with C++11 2021-12-05 00:29:15 +01:00
Matthias Koefferlein 248bac5f6d Compatbility with C++11 2021-12-05 00:28:06 +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 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 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 0e15426c9f WIP 2021-11-25 00:57:11 +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
klayoutmatthias 1555daf68c Adjustments for Windows build with MSVC2019 (VC 16.10.31419.357)
1. removed some duplicate symbol linker error
2. removed many compiler warnings (mainly size_t/int compatibility)
3. consistent definition of db::pcell_id_type
4. removed UTF-8 character codes from string constants
5. float constants for float arguments
6. timeout in tlHttp when no openssl lib is found (instead of stalling
   app)
2021-07-17 00:20:55 +02:00
Eugene Zelenko d5c9067d8f Fix misspellings in various modules. 2021-06-11 20:11:37 -07:00
Matthias Koefferlein 6496a71b5b Removed is_of_type() of gsi::Class which is not needed and appears to cause problems on M1 ARM 2021-05-19 22:40:14 +02:00
Matthias Koefferlein 31cc8f32e2 Fixed #787 - the results of const reference return values need to be copied as the holder object may go out of scope 2021-05-02 23:00:38 +02:00
Matthias Koefferlein 9b86ea96d2 Fixed another assertion 2021-04-05 00:30:33 +02:00
Matthias Koefferlein 2c245af13a Fixed an assertion happining with Qt binding enabled 2021-04-05 00:27:14 +02:00
Matthias Koefferlein ac9aa475ab Properly handle external classes such as PCellDeclarationHelper in gsi::initialize_expressions 2021-04-04 18:41:35 +02:00
Matthias Koefferlein f9762009c6 Bugfix: don't forget to initialize child classes in gsi expressions. 2021-04-03 18:24:57 +02:00
Matthias Koefferlein b725f5fb0f fill_with_left, implementation + tests 2021-03-29 20:58:16 +02:00
Matthias Koefferlein 8fda92a9c4 Merge branch 'drc-enhancements' into fill-enhancements 2021-03-29 15:07:47 +02:00
Matthias Koefferlein af4395e9a8 doc fixes. 2021-03-15 10:42:46 +01:00
Matthias Koefferlein a8f3df7aa5 Refactoring of the interpreter scheme with the goal to provide a functional cleanup. This is required if someone stops inside the debugger. Without a proper cleanup the application becomes dysfunctional. 2021-03-15 10:17:25 +01:00
Matthias Koefferlein 9e474e4cc2 Provide more information for GSI error messages. 2021-03-13 00:15:05 +01:00
Matthias Koefferlein 94e6f0f7a6 Logging progress for DRC, introducing 'abstract progress' concept 2021-02-07 23:41:53 +01:00
Matthias Koefferlein fc4976be81 Remove test code 2021-02-01 22:01:29 +01:00
Matthias Köfferlein 97ed4cf0f2
Merge pull request #712 from KLayout/gsi-fixes
Some enhancements to script API
2021-01-31 19:20:35 +01:00
Matthias Koefferlein f263f5c44c Compatibility with older Ruby and Python versions in unit tests. 2021-01-31 17:14:21 +00:00
Matthias Koefferlein 6a23769387 Different integration of Dispatcher interface with MainWindow
In 0.27 the main window got it's own configuration API
as now it's possible to instantiate a main window explicitly
and not application backs up configuration. Because GSI allows
as single base class only, we cannot derive from Dispatcher.
A delegate is used instead.
2021-01-26 07:56:49 +01:00
Matthias Koefferlein d31f87f053 Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added. 2021-01-24 23:44:40 +01:00
Matthias Koefferlein 5aac018503 Mapping QByteArray (and std::vector<char>) to Python 'bytes' now. 2021-01-24 17:36:40 +01:00
Matthias Koefferlein d1e6845ae4 Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated 2021-01-23 21:55:51 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 4ec00fb129 Fixed an issue with wrapping new objects into tl::Variants which are returned directly. For these objects, ownership needs to be transferred to the script. 2020-12-27 17:09:06 +01:00
Matthias Koefferlein 8c1e0d7e0e Added option to retrieve current memory footprint, implemented for Windows (to be tested) 2020-10-11 17:47:30 +02:00
Matthias Koefferlein c517aa4ff7 Cherry-picked MacOS fixes into master 2020-06-27 01:47:35 +02:00
Matthias Koefferlein a9c0616aa0 WIP: more changes 2020-05-31 10:37:30 +02:00
Matthias Koefferlein 53c81cc572 Got rid of most of the @args 2020-03-14 21:50:47 +01:00
Matthias Köfferlein 7c89192ad8
Fixed #502 (issues with AbsoluteProgress) (#504)
* Fixed #502 (issues with AbsoluteProgress)

* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:37:50 +01:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein 3a12714593 Fixed some doc issues, added doc for hierarchical compare. 2019-08-26 18:55:35 +02:00
Matthias Koefferlein 441f946f43 WIP: LVS rerun feature 2019-08-25 21:55:48 +02:00
Matthias Koefferlein 515b68b76f WIP: provide a recipe registration facility for LVS rerun 2019-08-25 18:03:27 +02:00
Matthias Köfferlein 16ae0346b8
Merge pull request #314 from KLayout/vars-for-queries
Vars for queries
2019-08-18 17:31:11 +02:00
Matthias Koefferlein e33c2f7b66 Less dependencies on compiler details for RBA/pya tests. 2019-07-28 16:36:31 +02:00
Matthias Koefferlein 49c1bacb98 Introducing variables for layout queries:
1.) The ExpressionContext class is a mapping of tl::Eval
    and allows providing a variable context for the LQ.
    Expression class is derived from ExpressionContext now.
2.) The variable lookup has been changed so that variables
    can be modified even if they come from a parent context.
3.) LayoutQuery and iterator has been given an argument to
    supply the context
2019-07-28 01:33:30 +02:00
Matthias Köfferlein f82e7929d8 Fixed a conversion issue with ints on MSVC
Because long is 32bit on Windows (like int), the
conversion from long to unsigned int was subject
to sign overflow. This was fixed by going to
unsigned int via unsigned long.
2019-07-20 00:28:32 +02:00
Matthias Koefferlein 9c6ed3e956 Merge remote-tracking branch 'origin/master' into dvb 2019-05-29 22:32:05 +02:00
Matthias Koefferlein 759cc835d9 Added LayoutToNetlist test for pya. 2019-05-27 20:28:48 +02:00
Matthias Koefferlein 419ed7dd78 Bugfixed the pya and RBA GSI initialization after last refactoring. 2019-05-27 18:44:42 +02:00
Matthias Koefferlein 5ed61bcb5a RBA/pya: don't inject child classes into module
Previously, child classes have also appeared in
the module. Now, they only appear in the parent
class.
2019-05-27 00:54:33 +02:00
Matthias Koefferlein 4858f3418a Some refactoring of the GSI class generation scheme
The main fix was to not register the original class when
adding it as a child class. Otherwise duplication happened.

This requires sorting of some kind when generating the classes.
Some refactoring has been applied here.
2019-05-26 22:38:03 +02:00
Matthias Koefferlein eb81a7e5a6 GSI binding of LVS objects. 2019-05-26 09:01:21 +02:00
Matthias Koefferlein 590f078d6a WIP: cleanup. 2019-05-11 22:37:24 +02:00
Matthias Koefferlein f72790e808 WIP: glob pattern - GSI binding to enable compatible implementations. 2019-05-11 22:35:50 +02:00
Matthias Köfferlein a1bac382dc
Merge pull request #256 from KLayout/issue-251
Fixed #251 - exit handler missing? [skip ci]
2019-04-04 07:30:13 +02:00
Matthias Köfferlein 053db73e85
Merge pull request #257 from KLayout/spell-fixes
Fixed some spelling errors (allow to, allows to)
2019-04-04 07:30:02 +02:00
Matthias Koefferlein 5310a37f75 Fixed #251 - exit handler missing? [skip ci]
RBA::MainWindow::instance.destroyed do
  RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end

at_exit do
  puts "It's over!"
end

RBA::Application::instance.aboutToQuit do
  RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end
2019-04-03 23:29:40 +02:00
Matthias Koefferlein eacd5fc19d Fixed some spelling errors (allow to, allows to) 2019-04-03 19:15:09 +02:00
Ruben Undheim d287b6958b A few more spelling fixes 2019-04-03 08:23:27 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
Matthias Koefferlein de85058ecf Bugfix: crash on Ubuntu in pya:qtbinding
Reason: a reference to a temporary object was passed
to a function. This happened for a default value.
The solution is to create a heap object to such default values.
2019-03-17 18:22:19 +01:00
Matthias Koefferlein 30e26c4f96 Avoid an issue with virtual functions
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.

Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.

In addition, now it's possible to declare
results as references always (also if const &).

See gsiTest.cc:1078 for example:

  //  gsi::arg_make_reference makes the function's return value
  //  always being taken as a reference
  gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 01:07:15 +01:00
Matthias Koefferlein d4d7ea8022 Updated copyright. 2019-01-08 01:09:25 +01:00
Matthias Koefferlein feb2b69aa9 Merge remote-tracking branch 'origin/master' into dvb 2019-01-08 00:49:16 +01:00
Matthias Koefferlein bcac78235b Fixed a testsuite fail after last commit. 2019-01-04 01:59:52 +01:00
Matthias Koefferlein e3b8d3635c Small bugfix: object._destroy wasn't working for directly passed objects. 2019-01-02 23:18:14 +01:00
Matthias Koefferlein ec7ab8e01d WIP: moved code. 2018-12-30 14:15:58 +01:00
Matthias Koefferlein 7073a74aa5 WIP: More on deep regions & hier processor
- Splitting of shapes on output of booleans
- A bugfix: error happened when pulling intruders from second-next hier level
- Tests added
- Some TODO comments added
2018-11-22 01:26:03 +01:00
Matthias Koefferlein 121ec46390 Attempt to introduce multithreading into hierarchical processor
However, performance does not scale well currently.
2018-10-08 00:10:54 +02:00
Matthias Köfferlein e69ed872a7 Fixed a static initialization race. 2018-09-09 18:31:05 +02:00
Matthias Köfferlein 57b8826e2c pthread support enabled for gsiObject.cc 2018-09-09 16:46:51 +02:00
Matthias Köfferlein 28f8a1ee7d Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
Matthias Köfferlein ce01ce2dae Fixed an issue with destruction callbacks in the QApplication destructor - in this case the interpreter may be nulled already and callbacks must not happen into Ruby/Python. 2018-09-06 23:37:26 +02:00
Matthias Köfferlein 356a468d66 A couple of changes to make MSVC work - not done yet. 2018-09-02 00:40:35 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Köfferlein af50c0f0c3 Many warnings fixed for MSVC 2018-08-29 01:46:18 +02:00
Matthias Köfferlein 23d715001b First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ... 2018-08-04 18:02:39 +02:00
Matthias Koefferlein f795aa84ec Avoid one more deadlock in gsi::Proxy. 2018-07-13 18:24:41 +02:00
Matthias Koefferlein cf3a6c2ce5 Fixed a deadlock. 2018-07-13 08:08:15 +02:00
Matthias Koefferlein 61a37fc3c3 Prevent a deadlock when destroying gsi objects. 2018-07-12 23:28:30 +02:00
klayoutmatthias 616c2942e1 WIP: made pymod functional on Windows (without Qt). Tests pass. 2018-07-10 23:34:30 +02:00
Matthias Koefferlein d2c890ab6d WIP: fixed unit tests for Qt-less build. 2018-07-10 01:17:35 +02:00
Matthias Koefferlein 2b64c4bf82 Bugfix: multithread-safety for gsi::Proxy (required for the tiling processor use case). 2018-07-06 00:56:34 +02:00
Matthias Koefferlein bbfcd9cf9e Made normal build work again. 2018-07-03 01:49:06 +02:00
Matthias Koefferlein 239b7ca3ff First (major) steps towards a Qt-less basic build. 2018-07-02 18:20:20 +02:00
Matthias Koefferlein f4dd012005 WIP: refactored GSI test classes so they are hard-linked into the ut_runner binary. Dynamic loading inside .ut files happens too late. 2018-06-19 21:12:53 +02:00
Matthias Koefferlein 361bc64870 WIP: fixed some build issues, removed some link dependencies which causes issues on Windows. 2018-06-19 20:31:55 +02:00
Matthias Koefferlein eca8697398 WIP: some refactoring of pya binding and data keeping. Added more conversion functions for use in external code. Needs testing. 2018-06-07 01:05:36 +02:00
Matthias Koefferlein 403840b109 WIP: some bug and performance fixes. 2018-06-01 23:36:01 +02:00
Matthias Koefferlein 3882f6a3b1 WIP: further generation of Python module (kind of slow currently + dependent modules need to be loaded manually) 2018-05-31 23:22:35 +02:00
Matthias Koefferlein 07d9363ea7 WIP: more python modules, made gsi initialization safe against duplicate init. 2018-05-31 20:51:09 +02:00