Matthias Köfferlein
e69ed872a7
Fixed a static initialization race.
2018-09-09 18:31:05 +02:00
Matthias Köfferlein
940a96716c
Fixed the timestamp generation for pthread-win32 timed waits
...
Issue: we have to use WIN API functions which deliver times in a
different way. In order to make the wait functions work, we have to use
the same time definition - specifically the same zero time.
2018-09-09 18:30:21 +02:00
Matthias Köfferlein
28477af15e
Added a missing header
2018-09-09 16:52:18 +02:00
Matthias Köfferlein
9544a5419b
Addd current_utc_time() again which got lost during merge
2018-09-09 16:51:54 +02:00
Matthias Köfferlein
a543950316
Explicitly allow enabling of pthreads (rather than Qt) using HAVE_PTHREADS on qmake
2018-09-09 16:51:20 +02:00
Matthias Köfferlein
4821b12780
Removed dependency of tlStream on zlib by using a delegate.
2018-09-09 16:49:21 +02:00
Matthias Köfferlein
8c2c888263
MSVC build issue fixed in pya.cc
2018-09-09 16:47:28 +02:00
Matthias Köfferlein
57b8826e2c
pthread support enabled for gsiObject.cc
2018-09-09 16:46:51 +02:00
Matthias Köfferlein
c9d7b39190
Fixed a general linker problem with release builds on MSVC
2018-09-08 23:11:16 +02:00
Matthias Köfferlein
adebdf307b
Fixed XML parser tests for Qt-less builds with expat
2018-09-08 00:44:19 +02:00
Matthias Köfferlein
7440acb3c0
Fixed a build warning
2018-09-07 23:40:01 +02:00
Matthias Köfferlein
28f8a1ee7d
Merge branch 'pymod' into pymod-msvc
2018-09-07 22:56:22 +02:00
Matthias Köfferlein
a4562bee71
Also fixed issue with hash value of LayerProperties
2018-09-07 22:39:12 +02:00
Matthias Köfferlein
c53c3ae7cf
Hash value issue with db::Text fixed.
2018-09-07 22:29:54 +02:00
Matthias Köfferlein
bd6234b699
Fix in Image object handling
...
Id was taken from an object destructed already.
2018-09-07 00:07:57 +02:00
Matthias Köfferlein
a78f75054a
Bugfix in the annotation area
...
The annotation ID was taken from an object already deleted - on MSVC
this becomes an issue.
2018-09-06 23:49:17 +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
5be469af90
Support "klayout-bits" for building on MSVC
2018-09-06 00:23:10 +02:00
Matthias Köfferlein
b0dac7026f
MSVC compatibility
2018-09-06 00:22:38 +02:00
Matthias Köfferlein
ce918bbc4e
Fit a few compiler warnings in the ruby part
2018-09-06 00:22:24 +02:00
Matthias Köfferlein
4e12b9fae7
Fix of a small bug found by MSVC iterator assertions
2018-09-02 22:57:01 +02:00
Matthias Köfferlein
406b2c8cd1
Fixed KD tree implementation for compatibility with MSVC iterator debug mode
2018-09-02 22:39:15 +02:00
Matthias Köfferlein
1bf4d95388
Further MSVC compatibility
...
String assertions fixed, numerical issue with dbTrans fixed, iterator
assertions fixed.
2018-09-02 19:18:42 +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 Köfferlein
e47a0966bd
Bugfix: net tracer memory corruption issue - missing copy ctor/assignment
2018-09-01 21:26:29 +02:00
Matthias Koefferlein
c4c1630a38
Tiny enhancement of LayoutView#insert_layer
...
* returns a non-const reference now which can be modified
* the node parameter is optional and initialized with a default node
2018-09-01 11:39:20 +02:00
Matthias Koefferlein
c9771f54eb
Merge branch 'master' into pymod
2018-09-01 09:37:08 +02:00
Matthias Koefferlein
753e170a68
Fixed #162 (GDS2 libname not maintained)
2018-08-31 23:25:19 +02:00
Matthias Köfferlein
f0f3025f9f
More reduction of warnings on MSVC
2018-08-29 07:28:51 +02:00
Matthias Köfferlein
af50c0f0c3
Many warnings fixed for MSVC
2018-08-29 01:46:18 +02:00
Matthias Köfferlein
860014e3ae
MSVC builds for the first time - still a lot of patches required
...
Some suspicious compiler warnings remain.
2018-08-28 23:19:58 +02:00
Matthias Koefferlein
3c4ca7597e
Fixed #158 (repaint issue with context)
2018-08-25 23:11:26 +02:00
Matthias Koefferlein
89dc424c70
Fixed #159 (Bug in technology setup with tech specific macro/DRC locations)
2018-08-25 20:28:01 +02:00
Matthias Koefferlein
842f39da45
Fixed #153 (crash on Apply when changing guiding shape properties)
2018-08-25 19:07:30 +02:00
Matthias Koefferlein
e8a5d6ac0c
Fixed a typo.
2018-08-24 22:59:11 +02:00
Matthias Koefferlein
04545e435b
Fixed #157 (Replace cell with ... from cell tree context menu does not accept decorated cell names)
2018-08-13 20:59:04 +02:00
Matthias Koefferlein
bcd6c466fb
Fixed #152 (shape count wrong)
2018-08-13 09:30:46 +02:00
Matthias Koefferlein
1a7bcfc31c
Fixed #155 (freeze after replacing nothing by something)
2018-08-13 09:04:13 +02:00
Matthias Koefferlein
a8ad415fac
Fixed a typo and build compatibility with Qt4.
2018-08-13 01:33:07 +02:00
Matthias Köfferlein
03c1a74d16
Update layLayoutViewConfigPages.cc
...
Removed commented section - it's actually no longer required.
2018-08-12 23:22:39 +02:00
Matthias Koefferlein
155208c9c9
MSVC compatible declaration of force link flags for Qt bindings.
2018-08-04 22:44:51 +02:00
Matthias Koefferlein
67c2369962
Updated Qt declaration files for MSVC
2018-08-04 21:10:37 +02:00
Matthias Köfferlein
376e4ea0ae
WIP: MSVC compatibility for pymod module.
2018-08-04 18:13:49 +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
Thomas Ferreira de Lima
f7836de39d
placeholder code for hiDPI display of conf pages.
2018-08-03 10:28:27 -04:00
Thomas Ferreira de Lima
8dbdbe0388
hiDPI Retina display for Stipple and Linesyles
2018-08-02 16:40:28 -04:00
Thomas Ferreira de Lima
cfbcc158bf
adding / and /= operators to Point and Vector types in db [ci skip]
2018-08-02 00:45:34 -04:00
Thomas Ferreira de Lima
a3234e2645
changing dbHash macro from __APPLE__ to __EXT_HASH_DEPRECATED
2018-08-01 22:31:09 -04:00
Thomas Ferreira de Lima
f6d3995d6b
changing ext/hash_(set|map) to unordered_(set|map) to avoid deprecation warning on mac.
2018-08-01 15:51:05 -04:00
Thomas Ferreira de Lima
568035cdd6
adding __rmul__ in all objects with __mul__
2018-08-01 11:56:50 -04:00
Thomas Ferreira de Lima
5bda390d82
bugfix: forgot to include tlTimer.h in tlThreads.cc
2018-07-31 17:47:01 -04:00
Matthias Koefferlein
a272cd3630
Fixed #144 (description of salt packages isn't shown)
...
Plus: the text color of the description now uses the
palette and the color contrast better when the item
is selected.
2018-07-30 21:19:34 +02:00
Matthias Koefferlein
ddfb084a8d
Bugfix: also recognize plugins when the main binary is installed in a different place than the libs.
2018-07-29 14:56:19 +02:00
Matthias Koefferlein
98ecc9e47b
Fixed a typo, force update of unit tests on Jenkins.
2018-07-29 14:07:02 +02:00
Matthias Koefferlein
3fb568671d
A little refactoring - central place for DLL/.so path detection
2018-07-29 10:20:48 +02:00
Matthias Koefferlein
3d7bd0f32d
Cleaned up code
...
Moved current_utc_time out of the central tlUtils header where
it does not belong. It a time function, so tlTimer.h is the better
place. Plus it does not make sense to make this inline. This just
spoils build times on changes.
2018-07-29 10:06:11 +02:00
Matthias Koefferlein
11627486d6
More verbose messages on plugin loading.
2018-07-29 02:36:25 +02:00
Matthias Koefferlein
76db5d1714
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-29 01:59:50 +02:00
Matthias Koefferlein
d378a632f3
Bugfix: a standalone LayoutView object made the application crash on exit
...
Reason: at the Qt will destroy all top level widgets.
Ruby/Python will now know of this, hence try to cleanup
the object inside it's GC.
There was an attempt to avoid this by deleting all
top-level widgets before the application exits. But
this failed for LayoutView objects because these will
create other, dependet top-level widgets for the plugins.
And the LayoutView wants to stay owner for them.
2018-07-29 01:02:39 +02:00
Matthias Koefferlein
082a91cf15
Fixed #148 (Wrong font is used)
2018-07-28 00:17:02 +02:00
Matthias Koefferlein
e2f4c1874a
Fixed a build issue on some compilers.
2018-07-24 22:29:45 +02:00
Matthias Koefferlein
c9859b4f8f
Fixed some issues with long int emulation. Using long int as substitute for __int128
2018-07-24 22:08:30 +02:00
Matthias Koefferlein
7191e4faa9
Added long int (N times a word) support for emulation of __int128
2018-07-24 21:01:54 +02:00
Matthias Koefferlein
8578918764
Updated PolygonTools test with recent edge processor update.
2018-07-23 20:28:01 +02:00
Matthias Koefferlein
6b48b2bb3d
Fixed Edge unit tests.
2018-07-23 19:37:36 +02:00
Matthias Koefferlein
f05b3249ca
Fixed fast EdgeProcessor unit tests with recent update.
2018-07-23 19:36:00 +02:00
Matthias Koefferlein
2178b72704
Refined test for 74 issue for different orientations.
2018-07-23 19:12:12 +02:00
Matthias Koefferlein
5741a120e9
More precise point/edge interaction for scanner
2018-07-22 22:52:04 +02:00
Matthias Koefferlein
efd9e47c1f
Attempt to fix a scanline issue.
2018-07-22 18:49:17 +02:00
Daniel Wang
c430c82744
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-19 19:23:00 -04:00
Matthias Koefferlein
5fe0aca9c7
Fixed a segfault on help(pya.Box)
...
Needed to refactor the class hierarchy of the Python classes.
Basically the module specific base class was removed as it does
not provide any benefit. The object layout of the PyObject
specialization was modified such that the payload is attached
to the end. This is compatible with the hidden extensions
which Python adds to normal objects.
2018-07-19 23:50:24 +02:00
Daniel Wang
ad1ada9b23
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-19 13:40:57 -04:00
Matthias Koefferlein
aca209c095
Using C.UTF-8 locale fallback for string tests for vanilla Linux installations.
2018-07-18 21:57:47 +02:00
Daniel Wang
5f6c265e4b
Moved current_utc_time to tlUtils and fixed tlTimer
2018-07-17 14:37:41 -04:00
Daniel Wang
106b57c676
Fixed unchanged functions
2018-07-17 14:14:47 -04:00
Daniel Wang
20db1e1f24
Added support for Mac OS X 10.11 and lower
2018-07-17 14:05:33 -04:00
Thomas Ferreira de Lima
f26576099c
missing stdlib.h import
2018-07-16 23:29:51 -04:00
Matthias Koefferlein
9dcfa140c3
Added __init__.py file to Python package.
2018-07-15 19:33:44 +00:00
Matthias Koefferlein
46b0f079cf
Skipping HTTP tests rather than disabling them
...
With this commit, tests are logged as skipped and
not just omitted, if HTTP support is not enabled
(neighter Qt nor curl)
2018-07-15 20:58:54 +02:00
Matthias Koefferlein
5351922440
Enabled minimum build configuration
...
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.
This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias
6858190a20
Fixed Windows build and tests
...
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein
bbb88c5ca6
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 07:42:14 -07:00
Matthias Koefferlein
d3b4bc7f87
Enabled pymod build via setup.py/distutils on MacOS
2018-07-15 07:42:01 -07:00
klayoutmatthias
1642129504
Fixed a typo that breaks the Win build.
2018-07-15 16:39:16 +02:00
Matthias Koefferlein
cb33753e1c
Fixed a FileUtils unit test on Windows.
2018-07-15 15:36:30 +02:00
Matthias Koefferlein
a1d8913de9
Enhanced Qt-less FileUtils test, so they cover the full functionality without Qt
2018-07-15 15:27:39 +02:00
Matthias Koefferlein
fc9783432b
Bugfix: db_plugin modules were not loaded for python modules
...
* Added unit test for this
* Provided an option for easier debugging such issues:
Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
modules (and all other binaries). Plugin loading issues can
be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein
07f69dccd3
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 11:12:29 +02:00
Matthias Koefferlein
628219080a
Some enhancements/bug fixes for Windows
...
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein
6a3914fcf6
Fixed pya.cc build with Py3/Linux
2018-07-14 20:32:13 +00:00
Matthias Koefferlein
e709cad9c8
Fixed an include path for better compatibility with Python's distutil.
2018-07-14 20:24:28 +00:00
Matthias Koefferlein
49fd896e68
Another fix for Windows build.
2018-07-14 09:31:40 +02:00
Matthias Koefferlein
2f99a8a67d
Another fix for Windows build.
2018-07-14 09:19:23 +02:00
Matthias Koefferlein
817ab9cd1c
Fixed Windows build.
2018-07-14 08:55:46 +02:00
Matthias Koefferlein
5ea72893f3
Enabled build with Qt again.
2018-07-14 02:16:35 +02:00
Matthias Koefferlein
8f04fc5358
Removed some further Qt dependencies. For example, HTTPS access now is possible without Qt through Curl only.
2018-07-14 02:14:06 +02:00
Matthias Koefferlein
9ea24cb6a0
Explicitly set the locale for local string conversion test.
2018-07-13 18:35:49 +02:00
Matthias Koefferlein
b10c64907a
Made the threaded worker test a bit more reliable
2018-07-13 18:28:32 +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
937fa96245
Some bug fixes
...
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
Matthias Koefferlein
abdde4ba19
Corrected last commit (UTF-8 case conversion) and added more test coverage.
2018-07-13 01:13:41 +02:00
Matthias Koefferlein
70a4bd7aa2
Locale-independent implementation of UTF-8 string case conversion.
2018-07-13 01:07:46 +02:00
Matthias Koefferlein
4f326572d4
Fixed one .pro file for older Qt versions
2018-07-12 23:57:00 +02:00
Matthias Koefferlein
61a37fc3c3
Prevent a deadlock when destroying gsi objects.
2018-07-12 23:28:30 +02:00
Matthias Koefferlein
72c3288090
Disabled thread local storage test for Qt <4.7 because this class is broken with an int argument on Qt 4.6.2
2018-07-12 23:25:33 +02:00
Matthias Koefferlein
ccc5be86d7
Fixed a typo - strange enough it compiled with this error on some platforms.
2018-07-12 23:24:46 +02:00
Matthias Koefferlein
1375bdcc9a
Fixed XMLParser unit test 5 for Qt
2018-07-12 23:19:54 +02:00
Matthias Koefferlein
03ddd495d8
Disabled brute-force shutdown test for threads on Qt - QThread is not able to deal with this.
2018-07-12 22:11:57 +02:00
Matthias Koefferlein
05f8d223ac
Added a way to specify the type of a macro on files
...
This feature is mainly useful for command line arguments.
If you run KLayout with
klayout -b -r myscript
it will not be able to determine the type of macro without
a suffix. You can explicitly specify a certain type by
giving the suffix implicitly:
klayout -b -r myscript[rb]
This will read "myscript" but pretend it was "myscript.rb"
and execute it as Ruby script.
This feature is handy if you need to run a file with a
specific interpreter but cannot modify the file name.
2018-07-12 21:51:51 +02:00
Matthias Koefferlein
f8ffcd14f1
Fixed #141 (Issue with RBA::QHostAddress (ambiguous overload) on Qt5)
2018-07-12 21:33:19 +02:00
Matthias Koefferlein
20d1d0500f
Fixed #142 (Issue with RBA::RecursiveShapeIterator#region=)
2018-07-12 21:16:14 +02:00
Matthias Koefferlein
ca8f9fd904
Fixed Qt-based XML parser build.
2018-07-12 20:54:05 +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
58fd6ed143
WIP: bugfix on WaitCondition (deadlocked)
2018-07-10 00:13:06 +02:00
Matthias Koefferlein
5cfb98d9f2
WIP: pthread-based WaitCondition (simple)
2018-07-10 00:01:25 +02:00
Matthias Koefferlein
ad49c9502b
WIP: some work on the pthread-based alternative to Qt threads.
2018-07-09 22:58:16 +02:00
Matthias Koefferlein
b0f69d46a9
WIP: one first basic Thread test.
2018-07-09 00:55:41 +02:00
Matthias Koefferlein
772062e33e
WIP: fixed path generation in db::init in non-Qt case.
2018-07-09 00:43:49 +02:00
Matthias Koefferlein
18782666f7
WIP: made Qt build functional again.
2018-07-09 00:03:19 +02:00
Matthias Koefferlein
260243a6d9
WIP: Fixed PCB import for non-Qt builds, added missing file.
2018-07-08 23:44:36 +02:00
Matthias Koefferlein
3acb7b6920
Fixed documentation (XML parser error) of RBA::TextGenerator.
2018-07-06 00:58:26 +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
803a29037a
Added test for reproducing threading issue on TP
2018-07-06 00:09:22 +02:00
Matthias Koefferlein
221d5a4a38
Using enviornment locale with unit_tests.
2018-07-06 00:07:01 +02:00
Matthias Koefferlein
e0a23adb66
Made XML parser and writer functional with expat
2018-07-05 23:40:39 +02:00
Matthias Koefferlein
43243ae162
Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing.
2018-07-05 00:33:34 +02:00
Matthias Koefferlein
eec1843459
Less Qt in strmrun test
2018-07-04 20:30:34 +02:00
Matthias Koefferlein
ad7a9836b0
Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing)
2018-07-04 20:26:34 +02:00
Matthias Koefferlein
642fb4270b
Fixed rba::Technology test. Now all tests are passing with Qt.
2018-07-04 20:00:41 +02:00
Matthias Koefferlein
12e0db660c
Finished file utils tests.
2018-07-04 19:33:39 +02:00
Matthias Koefferlein
e9dcadb278
Fixed a linker issue.
2018-07-04 00:25:34 +02:00
Matthias Koefferlein
1f8afab417
Bugfixed the Qt-based XML implementation.
2018-07-04 00:21:06 +02:00
Matthias Koefferlein
d1553d7586
Some more tests on tl::FileUtils
2018-07-03 23:51:10 +02:00
Matthias Koefferlein
17c7c8e1bb
Some file utils tests added (file name decomposition, fake Windows/Linux tests)
2018-07-03 23:43:57 +02:00
Matthias Koefferlein
7ede06dca5
Build fixed, basic bugs fixed and made unit test framework work. Added tests for tlString.
2018-07-03 22:09:38 +02:00
Matthias Koefferlein
bbfcd9cf9e
Made normal build work again.
2018-07-03 01:49:06 +02:00
Matthias Koefferlein
ab06ce3445
Made the code build without Qt.
2018-07-03 01:08:02 +02:00
Matthias Koefferlein
a82adbbe83
Massive reduction of Qt dependencies, but also massive refactoring.
2018-07-03 00:51:36 +02:00
Matthias Koefferlein
c532b75338
Provide an QtXml alternative through expat.
2018-07-02 22:19:36 +02:00
Matthias Koefferlein
7fca6f5f31
Non-Qt implementations of file utils - needs testing.
2018-07-02 20:29:34 +02:00
Matthias Koefferlein
239b7ca3ff
First (major) steps towards a Qt-less basic build.
2018-07-02 18:20:20 +02:00
Matthias Koefferlein
5f8b258235
Feature: hide or show markers using the new View/Show Markers configuration option.
2018-06-28 23:52:47 +02:00
Matthias Köfferlein
b64d14e02e
Merge pull request #138 from lightwave-lab/macos_embedding_python_pr
...
Macos embedding python and Qt5.11.1 bugfix
2018-06-28 21:08:41 +02:00
Matthias Koefferlein
b47c0fc3a3
Fixed #139 (libraries not reassigned to GDS when loading file from command line).
2018-06-27 23:36:30 +02:00
Matthias Koefferlein
ac2271b9d7
Fixed build on Qt5i (another part).
2018-06-27 00:13:56 +02:00
Matthias Koefferlein
7ba0138cfc
Fixed build on Qt5.
2018-06-27 00:08:26 +02:00
Thomas Ferreira de Lima
73772cc6f8
bugfix instantiating Qt::blue not available in qt5.11
2018-06-26 02:53:02 -04:00
Matthias Koefferlein
94387529d6
Fixed #134
...
The issue was caused by an internal error in the edge processor.
Effectively the weak attractor scheme was causing this problem.
As the weak attractors are making things worse rather than
better I dropped them.
In theory, the weak attractors render an edge undisturbed by
neighboring intersection points, but in cases or parallel edges
this lead to problems: omitting cut points violates the output
edge configuration warranties the the polygon stitcher fails.
In addition, to maintain the solution for bug #74 , the cut point
capture condition was relaxed, so that edge crossing the exact
corner of the snapping rectangle of a point are not considered
captured.
2018-06-26 01:04:20 +02:00
Matthias Koefferlein
edbe0b2542
Attempt to make thread test more reproducible.
2018-06-24 15:16:49 +02:00
Matthias Koefferlein
da65851ee2
Public declaration of path::to_string
2018-06-24 14:11:23 +02:00
Matthias Koefferlein
f7843410a0
Public declaration of path template instantiation
2018-06-24 14:08:31 +02:00
Matthias Koefferlein
94a4c0df27
WIP: added force-link to rdb Python module so the rdb library is always linked
2018-06-22 00:02:27 +02:00
Matthias Koefferlein
c2341ff213
WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3
2018-06-21 22:18:17 +02:00
Matthias Koefferlein
0d6da0e49d
WIP: fixed unit test fails with python module import tests - what a hack ...
2018-06-20 23:19:26 +02:00
Matthias Koefferlein
087740d326
WIP: pass sub-process output through tl::Log in unit tests for proper XML escaping into JUnit files.
2018-06-20 22:25:03 +02:00
Matthias Koefferlein
ec0fad0d75
WIP: Fixed a test issue with the PCellDeclarationHelper external class.
2018-06-20 16:26:54 +02:00
Matthias Koefferlein
436550868b
WIP: fixed a initialization issue.
2018-06-20 15:58:46 +02:00
Matthias Koefferlein
4dc0065028
WIP: fixed installation target for pymod __init__.py file for older Qt versions.
2018-06-20 13:37:41 +02:00
Matthias Koefferlein
e447c175d8
WIP: fixed pymod install targets for some Qt versions
2018-06-20 08:25:13 +02:00
Matthias Koefferlein
dd9467d097
WIP: fixed streamer headers.
2018-06-20 01:13:31 +02:00
Matthias Koefferlein
0c766150b0
WIP: Fixed install targets for plugins.
2018-06-19 21:21:44 +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
33a9782f77
Proper installation target for klayout Python module.
2018-06-19 01:07:53 +02:00
Matthias Koefferlein
8845d18c74
Renamed pykl to klayout - because of name clash with the klayout binary, the python module now sits inside 'pymod'
2018-06-19 00:50:27 +02:00
Matthias Koefferlein
4744c90557
WIP: futher fixes for Windows build.
2018-06-18 00:19:18 +02:00
Matthias Koefferlein
81a1e6fd1a
WIP: futher fixes for Windows build.
2018-06-18 00:15:43 +02:00
Matthias Koefferlein
4f602bb394
WIP: fixes for Windows build.
2018-06-18 00:06:38 +02:00
Matthias Koefferlein
e05c407d5e
WIP: added shared object dependencies for Qt5
2018-06-17 22:59:04 +02:00
Matthias Koefferlein
741e9d73e3
WIP: fixed build
2018-06-17 19:09:54 +02:00
Matthias Koefferlein
750c85fecb
WIP: fixed dependencies of projects.
2018-06-17 18:55:57 +02:00
Matthias Koefferlein
538f8f3d53
WIP: added missing files.
2018-06-17 16:51:01 +02:00
Matthias Koefferlein
4c90d98750
WIP: Fixed windows build.
2018-06-17 10:27:54 +02:00
Matthias Koefferlein
4097a5b361
WIP: turned ext module into plugins.
2018-06-17 09:43:25 +02:00
Matthias Koefferlein
7e56ce23e5
WIP: Moved net tracer into plugin, GSI is now in db module.
2018-06-16 00:56:35 +02:00
Matthias Koefferlein
757c6af80f
WIP: rdb module for Python, fixed unit tests for non-Qt bindings case
2018-06-15 22:49:01 +02:00
Matthias Koefferlein
147ee20b55
WIP: Class documentation shows module name and link now.
2018-06-15 01:11:35 +02:00
Matthias Koefferlein
381357bfcb
WIP: correctly assigned db module to LEF/DEF reader GSI declaration
2018-06-15 01:04:42 +02:00
Matthias Koefferlein
9e972876fe
WIP: correctly assigned db module to technology in GSI
2018-06-15 01:02:26 +02:00
Matthias Koefferlein
41cedf4b45
WIP: fixed the technology refactoring part
2018-06-15 00:59:38 +02:00
Matthias Koefferlein
10cfac3d42
WIP: fixed linker issues.
2018-06-15 00:31:46 +02:00
Matthias Koefferlein
c360f6d4a7
WIP: first steps for making technology a db component.
2018-06-14 23:38:23 +02:00
Matthias Koefferlein
6bc1537bea
WIP: remove vim swap file.
2018-06-14 00:02:41 +02:00
Matthias Koefferlein
8045989fa3
WIP: moved PCB and LEF/DEF import from ext to db/lay namespace
2018-06-13 23:59:39 +02:00
Matthias Koefferlein
4f63f5102b
WIP: fixed PCB unit test .pro file.
2018-06-13 23:31:50 +02:00
Matthias Koefferlein
9ca011d138
WIP: turned Gerber and LEF/DEF import into plugins.
2018-06-13 23:27:16 +02:00
Matthias Koefferlein
5421f77e61
WIP: finished refactoring to plugins for CIF, DXF & OASIS too.
2018-06-13 22:23:27 +02:00
Matthias Koefferlein
9883ea5679
WIP: added streamers plugin structure (partially)
2018-06-13 21:39:39 +02:00
Matthias Koefferlein
77f0197f8a
WIP: fixed test framework.
2018-06-13 00:43:54 +02:00
Matthias Koefferlein
409392d561
WIP: started refactoring the plugin structure. Goal: standalone db module with it's own plugins like LEF/DEF, Gerber, MEBES including GSI bindings.
2018-06-13 00:33:43 +02:00
Matthias Koefferlein
acacdc3997
Included ext definitions in Python module (currently: lay)
2018-06-10 21:45:58 +02:00
Matthias Koefferlein
e5aa55a25c
Support for Qt-binding-less Python modules.
2018-06-09 17:01:52 +02:00
Matthias Koefferlein
7f2e740dd4
WIP: some refactoring of pya to reduce dependency on GSI for bridge applications.
2018-06-09 10:32:26 +02:00
Matthias Koefferlein
d938bb999b
WIP: modifications for Python 3
2018-06-09 09:42:13 +02:00
Matthias Koefferlein
e1858973e2
Added unit test for briding sample lib.
2018-06-09 02:11:32 +02:00
Matthias Koefferlein
9418185771
WIP: added sample lib with bridging code
2018-06-09 01:52:13 +02:00
Matthias Koefferlein
2737e14b13
WIP: some refactoring of the GSI Python binding (less static objects, new conversion operators, preparations for external use)
2018-06-09 01:50:16 +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
17846d12dd
WIP: fixed installation part for pykl module, robustness of build system.
2018-06-06 21:27:18 +02:00
Matthias Koefferlein
a20c3259bf
WIP: refactored mkqtdecl configuration (common part factored out), fixed .pro file dependencies
2018-06-05 23:21:15 +02:00
Matthias Koefferlein
4fda7b2a50
WIP: added gui argument to QApplication, fixed documentation of virtual methods.
2018-06-05 22:29:34 +02:00
Matthias Koefferlein
21bf382549
WIP: Fixed documentation, added QtCore.Qt.QT_VERSION(_STR)
2018-06-05 21:03:21 +02:00
Matthias Koefferlein
3b5e84a5b2
Fixed documentation of RBA::TextGenerator.
2018-06-04 23:11:02 +02:00
Matthias Koefferlein
98256ebc66
WIP: pymod tests work for Qt4 now too.
2018-06-04 00:32:02 +02:00
Matthias Koefferlein
f3f6e2e7ba
WIP: unit tests for pykl, some build errors fixed.
2018-06-03 23:36:06 +02:00
Matthias Koefferlein
655e59d11a
WIP: Fixed build dependencies and code dependencies for Python modules (Qt5)
2018-06-03 19:54:18 +02:00
Matthias Koefferlein
f093b305bf
WIP: include __init__.py generation in .pro files.
2018-06-03 13:05:12 +02:00
Matthias Koefferlein
d903c9f224
Use proper helper functions to activate help links - avoids warnings when there is no MainWindow.
2018-06-03 12:23:24 +02:00
Matthias Koefferlein
0ed898e3c2
WIP: proper dependencies to avoid build issues.
2018-06-03 12:16:52 +02:00
Matthias Koefferlein
a522a14109
WIP: Fixed Python 2 build and import.
2018-06-03 02:44:56 +02:00
Matthias Koefferlein
bfbd8732f3
WIP: basic availability of LayoutView as separate component
...
- The deferred method scheduler is now automatically created
when required and when there is a QApplication
- QApplication and related have argv constructors
2018-06-03 00:54:58 +02:00
Matthias Koefferlein
40b2e9a1a5
WIP: usable constructors for QApplication and related.
2018-06-02 22:21:59 +02:00
Matthias Koefferlein
ea31e5bcde
WIP: removed old Qt5 binding code, fixed a segfault (static argc), enabled pya without interpreter
2018-06-02 02:03:14 +02:00
Matthias Koefferlein
3cabb23be1
WIP: more Qt Python modules and better build scheme.
2018-06-02 00:50:57 +02:00
Matthias Koefferlein
1840e74d0d
WIP: avoid some warnings when using "import klayout.QtCore"
...
Reason: klayout_QtCore needs to be linked with QtGui so it's
GSI declarations become available. The reason is only
QSignalMapper which is in QtCore and has a QWidget argument.
2018-06-02 00:01:00 +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
b2f18c612a
WIP: module names in help search available.
2018-05-31 21:27:10 +02:00
Matthias Koefferlein
07d9363ea7
WIP: more python modules, made gsi initialization safe against duplicate init.
2018-05-31 20:51:09 +02:00
Matthias Koefferlein
73297a3810
WIP: fixed some build issues.
2018-05-31 17:59:54 +02:00
Matthias Koefferlein
ecc0520ffb
WIP: Qt5 compatibility
2018-05-31 17:54:29 +02:00
Matthias Koefferlein
b91a3b5cad
WIP: added Qt5 support
2018-05-31 09:19:26 +02:00
Matthias Koefferlein
0e29c997f6
WIP: refactoring, fixed documentation and some mistakes.
2018-05-31 01:11:24 +02:00
Matthias Koefferlein
07b655d3bc
WIP: removed debug output, resolved a consistency issue between QtGui and QtCore - QtGui was injecting an enum into QtGui.
2018-05-30 23:17:35 +02:00
Matthias Koefferlein
80d00378d3
WIP: further refactoring
2018-05-30 22:46:10 +02:00
Matthias Koefferlein
f1f9132d48
WIP: further refactoring of Qt binding libs
2018-05-30 22:02:27 +02:00
Matthias Koefferlein
3b144259fd
WIP: build works again at least on Qt4.
2018-05-30 01:22:33 +02:00
Matthias Koefferlein
c30d52c801
WIP: fixed a lot of compiler issues after last refactoring.
2018-05-30 01:00:13 +02:00
Matthias Koefferlein
6468bb7ab9
WIP: refactoring of GSI structure for separated modules.
2018-05-30 00:39:58 +02:00
Matthias Koefferlein
0b0393ce56
First version of Python module.
2018-05-26 21:31:39 +02:00
Matthias Koefferlein
108f90e382
Small enhancements for package manager
...
- Progress on download
- Some icons did not get marked (8 bit indexed image format)
- Colors in installation status dialog
One internal enhancement: progress adaptors can be
instantiated temporarily now to catch progress events.
2018-05-19 00:22:15 +02:00
Matthias Koefferlein
bb86970ac8
Bugfix: GIF (8 bit indexed) icons could not be marked in package manager.
2018-05-17 22:38:17 +02:00
Matthias Koefferlein
1b607474b8
Selection shows PCell display name of instances.
2018-05-17 22:31:05 +02:00
Matthias Koefferlein
f74f2d3416
Fixed bug #121 (reopening of PCell's in GDS and - partially - in OASIS)
2018-05-17 22:24:32 +02:00
Matthias Koefferlein
887bcb3e04
Fixed version in Changelog
2018-05-04 21:21:14 +02:00
Matthias Koefferlein
d075c37cb4
Windows build fixed, version incremented to 0.25.3, updated changelog.
2018-05-02 21:47:30 +02:00
Matthias Koefferlein
74cc8eea07
Compatibility with Ruby 1.8.7 (main app test), tests fixed for CentOS6
2018-05-02 07:32:20 +02:00
Matthias Koefferlein
9084a7f519
Fixed Windows build, changed tl::Clock documentation
2018-05-01 22:48:08 +02:00
Matthias Koefferlein
8596b0b9ea
libcurl integration and HTTP support enhanced
...
Issue was: the asynch interface for HTTP access
wasn't entirely compatible between Curl and Qt
implementations.
Plus, the progress integration was messed up
because of the deleteLater scheme (progress was
visible even after the connection ended).
The deleteLater scheme was replaced by an
explicit close which does not require the
connection to be deleted immediately in the
receivers.
2018-05-01 21:24:05 +02:00
Matthias Koefferlein
6edb5b9f3e
Build fixed.
2018-05-01 08:17:51 +02:00
Matthias Koefferlein
90c5ff4b12
Bugfix: progress response time was long sometimes
...
Reason: the timer involved measured CPU time. So if the
process wasn't CPU intensive (i.e. waiting for network
response), cancelling the operation wasn't possible.
2018-04-30 23:25:23 +02:00
Matthias Koefferlein
2454104346
Small bug fixes for Salt Package manager
...
Download URL's and documentation URL's have not
been shown properly in the package preview.
2018-04-30 23:24:32 +02:00
Matthias Koefferlein
080623ad15
libcurl substitute for Qt network.
...
Reasoning: on Qt <4.7, custom request are not available.
They are required however to implement WebDAV. libcurl
provides a substitute for QNetwork. This is important
for deployment on CentOS6 for example.
2018-04-30 23:23:07 +02:00
Matthias Koefferlein
4c4b079286
Second part for implementation of #113 (healing of XOR output)
2018-04-29 23:02:40 +02:00
Matthias Koefferlein
821aab3320
Implemented #113 (Heal option after tiled XOR)
2018-04-28 17:58:57 +02:00
Matthias Koefferlein
ccfe6fa918
FEATURE: 'labels' method in DRC scripts allows copying labels to output layers.
2018-04-28 10:36:13 +02:00
Matthias Koefferlein
86aea962c9
Alignment of method signature in RDB API.
2018-04-28 10:35:50 +02:00
Matthias Koefferlein
f538885fb3
Added some convenience methods for building RDB entries from shapes.
2018-04-28 09:46:42 +02:00
Matthias Koefferlein
89b4397aa4
Fixed some doc typos.
2018-04-28 00:32:23 +02:00
Matthias Koefferlein
ff9be6219d
Fixed some doc typos.
2018-04-28 00:31:41 +02:00
Matthias Koefferlein
c94723bbce
New RBA/pya methods
...
More Shapes#insert flavours with Shapes and RecursiveShapeIterator,
RecursiveShapeIterator#dtrans.
2018-04-28 00:21:36 +02:00
Matthias Koefferlein
f989b961c1
Bugfix: show XOR progress after the particular job is done.
2018-04-24 21:49:51 +02:00
Matthias Koefferlein
43325cb861
Fixed Windows build.
2018-04-24 21:34:16 +02:00
Matthias Koefferlein
08bcd1e418
Fixed #117 (DTrans#itype broken)
2018-04-24 21:26:21 +02:00
Matthias Koefferlein
a4b396535f
Fixed #116 (polygon cutting issue)
...
Last step: polygon cut algorithm with fallback: merge before cut on invalid polygons.
2018-04-24 20:58:00 +02:00
Matthias Koefferlein
9622a2e669
WIP: added testcases for extreme polygon decomposition on GDS writing.
2018-04-24 19:28:45 +02:00
Matthias Koefferlein
e183323d9a
WIP: new version of polygon cut algorithm which is simpler and more stable.
2018-04-24 01:09:28 +02:00
Matthias Koefferlein
ca9a6db8a5
Scanline polygon generator: avoid spikes
...
The implementation of the scanline polygon generator
will avoid spikes as hole cutlines. Helps
fixing #116 .
2018-04-23 22:22:32 +02:00
Matthias Koefferlein
e710b28a6d
FEATURE: added RBA::Polygon#split, RBA::Polygon#split, RBA::DSimplePolygon#split, RBA::DSimplePolygon#split
2018-04-20 22:26:57 +02:00
Matthias Koefferlein
5fbbccd9e2
ut_runner does not display dialog on crash but dumps the stack trace to stdout.
2018-04-20 00:18:42 +02:00
Matthias Koefferlein
34b534e8b4
Fixed memory statistics for polygons.
2018-04-19 00:13:28 +02:00
Matthias Koefferlein
067d52a269
FEATURE: DXF accuracy and "keep layer names" feature
...
* "keep layer name" will not try to modify layer names into
GDS layer/datatypes. The feature is available in the DXF
reader options and for the buddy scripts as "--keep-layer-names"
It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
accuracy is applied to find neighbors. By default this value
is 0. If set to a value >0, points with distances (square
metrics) less than this value will be connected.
The buddy script option is --dxf-contour-accuracy=value.
2018-04-18 23:34:59 +02:00
Matthias Koefferlein
65cfb2d4e4
WIP: consistent naming of some predicates in Ruby with ?, unit tests for reader option bindings.
2018-04-17 01:56:59 +02:00
Matthias Koefferlein
17e9e48831
Fixed #114 (Custom line styles not loaded by tech)
2018-04-17 01:23:21 +02:00
Matthias Koefferlein
8bc0063fe6
WIP: DXF reader options config page.
2018-04-17 00:57:14 +02:00
Matthias Koefferlein
c7fcd18413
Fixed #115 (Reader options are not persisted).
2018-04-17 00:56:53 +02:00
Matthias Koefferlein
86a90571e6
WIP: DXF keep layer names option, refactoring, added tests, UI, XML serialization.
2018-04-16 19:47:12 +02:00
Matthias Koefferlein
085a2ee2b1
WIP: keep DXF and CIF layer names, DXF contour accuracy.
2018-04-16 00:55:57 +02:00
Matthias Koefferlein
1b0317c120
Memory statistics: demangle symbol names.
2018-04-15 01:19:28 +02:00
Matthias Koefferlein
e1922da3b2
Better memory statistics.
2018-04-15 00:54:30 +02:00
Matthias Koefferlein
4acc336d69
Fixed DXF display issue (see https://www.klayout.de/forum/comments.php?DiscussionID=1053 )
2018-04-11 22:53:55 +02:00
Matthias Koefferlein
256de9bc84
Small DXF bugfix: persist name of subcells of cell variants.
2018-04-11 21:52:23 +02:00
Matthias Koefferlein
1e2f8a0ce5
Fixed #112 (Salt package repo relative paths)
...
This patch also includes:
* A segfault fixed that happend on some errors
* package URL's are resolved relative to the
salt mine URL if one is given.
2018-04-10 21:40:07 +02:00
Matthias Koefferlein
3495f9c698
Fixed #110 (ut_runner not working on MacOS)
2018-04-08 01:27:22 +02:00
Matthias Koefferlein
d3227b5bda
Merge branch 'master' of https://github.com/Kazzz-S/klayout
2018-04-07 16:02:39 -07:00
Matthias Koefferlein
da1daae1d8
Fixed #107 (Undo not working with shapes)
2018-04-07 16:00:37 -07:00
Matthias Koefferlein
829966d9a1
Fixed #108 (Box#enlarge, Box#move on empty boxes)
2018-04-07 09:21:50 +02:00
Matthias Koefferlein
3d5780db2b
Bugfix #109 (part 3): OASIS/GDS writer fixed + unit test added.
2018-04-06 23:27:29 +02:00
Matthias Koefferlein
655eb49afd
Bugfix #109 (part 2): re-established compatibility with previous version.
2018-04-06 23:08:41 +02:00
Matthias Koefferlein
ea3ebba470
Bugfix #109 (part 1): account for long != long long on Windows in tl::Variant
2018-04-06 14:53:40 +02:00
Matthias Koefferlein
a7446dd0dc
Fixed #106 (Search & replace help page enhancements)
2018-03-31 13:39:35 +02:00
Matthias Koefferlein
21e2af2a97
Fixed #102 (Potential issue while upgrading from .25.1 to .25.2)
...
The reason was that for 0.25.1 "macro-editor-font-size" was allowed
to be an empty string (the default). Which meant: take default application
font size. In 0.25.2 this now was required to be a number and 0 was
the default for "auto" font size.
Two changes:
- The default is back to empty string ("0" is still allowed as default)
- The application was made safe against broken configuration files: an
error is printed to the log, but apart from that the application
will work (the configuration value is ignored however).
2018-03-20 18:52:00 +01:00
Thomas Ferreira de Lima
1ed12d4715
Merge branch 'master' into macos_retina
2018-03-19 23:21:06 -04:00
Thomas Ferreira de Lima
73e84d4f8d
qt5 compatible fontgen.cc
2018-03-19 23:08:50 -04:00
Matthias Koefferlein
59b1849c96
Fixed the font issue for Retina displays: there should be fixed fonts for all resolutions down to 1/6 (Retina display, 2x oversampling)
2018-03-20 02:25:49 +01:00
Matthias Koefferlein
b04d9f38b9
Fixed the recent patch: mouse coordinates need to be scaled by devicePixelRatio too.
2018-03-20 01:03:33 +01:00
Matthias Koefferlein
0a01946202
A refactoring attempt for the Retina display issue ( #94 )
...
This is what's been done:
- remove the old double and single buffering /w mask approach
- modify the bitmap rendering so it's done in a offscreen
image before subsampling
(effect: rulers display smoothly in subsampling mode)
- refactoring the "device pixel ratio" topic:
Made the DPR a variable, viewport width is scaled up
to reflect the true image size, inserted #ifdef's for Qt4.
DISCLAIMER: I don't know whether this still works - I don't
have a Retina display :-(
2018-03-19 22:22:24 +01:00
Matthias Koefferlein
415d52f35d
Fixed some issues found by Coverity scan.
2018-03-19 18:24:09 +01:00
Matthias Koefferlein
13062292fe
Modified solution for the segfault mentioned in ticket #85 (@thomaslima: thanks for the root cause analysis)
2018-03-16 10:05:09 +01:00
Thomas Ferreira de Lima
a6738f5be4
better ruler rendering. Fails totally at 2x oversampling
2018-03-15 23:07:25 -04:00
Thomas Ferreira de Lima
b6ec5b7c0d
retina rendering of layout fine. rulers and other bitmap objects not obeying retina dpi
2018-03-15 14:37:38 -04:00
Thomas Ferreira de Lima
53bc8e97fe
a little more stable.
...
still unstable for oversampling >1. also rulers do not render well
2018-03-15 03:55:47 -04:00
Thomas Ferreira de Lima
a94ad6622a
retina display working prototype. only works if oversample = 1.
2018-03-15 03:32:46 -04:00
Thomas Ferreira de Lima
8419ed0c6f
fixing the bug mentioned in PR #85
2018-03-15 00:08:18 -04:00
Matthias Koefferlein
02c9c645ec
Rephrase confusing option in 'save as' dialog.
2018-03-12 20:55:15 +01:00
Matthias Koefferlein
9fd169f183
Merge branch 'bug_89'
2018-03-12 20:47:38 +01:00
Matthias Koefferlein
3ae71d7e72
Bugfix: properly initialize new config value
2018-03-12 20:47:33 +01:00
Matthias Koefferlein
802237141b
Fixed #90 (DRC issue with 'extended' and joined = true)
2018-03-12 00:47:04 +01:00
Matthias Koefferlein
8bec89611f
Trying to fix alpha channel issue by providing upper 8 bits set in QImage.
2018-03-11 23:57:41 +01:00
Matthias Köfferlein
4ef4635e24
Merge pull request #86 from lightwave-lab/master
...
Building KLayout on macOS High Sierra with python3 from brew and Qt 5.9.4
2018-03-11 22:20:41 +01:00
Matthias Köfferlein
dc5792d768
Merge pull request #87 from lightwave-lab/open-with-macos
...
Open with macos
2018-03-11 22:08:49 +01:00
Matthias Koefferlein
5fbc20702e
Macro editor enhancements (stop on exceptions)
...
This commit tries to address #85 and provide these features:
- dynamic configuration of the macro IDE behaviour
- side effect: a new entry in the setup dialog for the
IDE settings
- "stop on exceptions" can be taught to ignore certain files
2018-03-11 21:58:59 +01:00
Alex Tait
9717612c93
allowed user defined literals. build and deploy passes with MacOsSierra version of Ruby.
2018-03-08 14:33:43 -05:00
Thomas Ferreira de Lima
8ec78a99a9
open with working properly in MacOS.
2018-03-07 12:54:01 -05:00
Thomas Ferreira de Lima
c82bb445ac
testing file open event
2018-03-07 11:07:29 -05:00
Matthias Koefferlein
51e40cc9ab
Merge remote-tracking branch 'remotes/origin/master'
2018-03-03 00:22:10 +01:00
Matthias Koefferlein
7da3b0206a
DRC as early autorun
...
This will finally enable DRC runsets started from an autorun macro.
2018-03-03 00:21:23 +01:00
klayoutmatthias
3d5fe871e2
Fixed #84 (Python modules: breakpoints not working on Windows)
2018-03-03 00:18:18 +01:00
Matthias Koefferlein
6f0ecd3d9c
Show tip window once for non-standard background combination mode.
2018-02-27 21:59:52 +01:00
Matthias Koefferlein
2ffdbb4d91
Suppress repeated message in unit tests if not required.
2018-02-27 00:02:57 +01:00
Matthias Koefferlein
d0cb17b386
ut_runner: Added -r option, fixed help text
2018-02-24 18:09:50 +01:00
Matthias Koefferlein
eea53b3091
Fixed #79 (Macro Editor: Replace function enabled also for read-only macros)
2018-02-23 23:04:21 +01:00
Matthias Koefferlein
5f4e715dcf
Fixed #77 (copy_tree should work in non-editable mode too)
2018-02-21 07:47:41 +01:00
Matthias Koefferlein
a272ba39a7
Remove a debug output.
2018-02-21 07:47:02 +01:00
Matthias Koefferlein
2f46f0d1c6
Fixed some issues found with Coverity.
2018-02-21 00:21:19 +01:00
Matthias Koefferlein
6052a04429
A few enhancements and unit tests for PCells
...
This commit adds unit tests for implementation helper-based
PCells in Python and Ruby.
2018-02-17 01:26:25 +01:00
Matthias Koefferlein
f6f75cd791
A small rework of the Python PCell helpers
...
The aim of this rework was to enable PCell implementations
that use the basic methods rather than the "_impl" variants.
For the latter, potential variable name clashes happen when
parameters are called "cell", "layout", "layer" or similar.
New methods enable implementation on the level of the
non-"impl" methods. For example:
def produce(self, layout, layers, parameters, cell):
self.init_values(parameters, layers)
...
self.finish()
2018-02-13 00:59:11 +01:00
Matthias Koefferlein
12bb664a80
Fixed the default implementation of transformation_from_shape in Python
2018-02-13 00:09:54 +01:00
Matthias Koefferlein
4f3b205d93
Fixed #71 (target cell argument is required)
2018-02-12 22:46:54 +01:00
Matthias Koefferlein
5d59b890d3
Small bugfix: DRC error message on wrong '@' input/output was wrong.
2018-02-12 22:04:03 +01:00
Matthias Koefferlein
6d0fe85425
Fixed #75 (Python PCell issue when parameters are called 'layer')
...
This commit
- Ignores exceptions when checking for PCells that accept shapes.
Hence a single rogue one does not break the feature.
- Prevents errors when parameters named "layer" are present
by making the implementation safe against this case.
- In addition, guiding shape parameters of type "Path", "Box" etc.
(i.e. integer types) are supported too although they are
not recommended for portability.
2018-02-11 00:34:28 +01:00
Matthias Koefferlein
6a762db29b
Reworked bookmark menu implementation to avoid MacOS menu issue
...
Without this commit, bookmark menus got grayed out
on MacOS with Qt5 sometimes. Now, the implementation
of recent file menu, bookmark menu, macro menu and
the static main menu use the same framewkork which
includes a workaround for the disabled menu issue.
2018-02-10 18:41:05 +01:00
Matthias Koefferlein
1e29b29c13
Merge remote-tracking branch 'remotes/origin/menu_issue'
2018-02-10 17:32:33 +01:00
Matthias Koefferlein
d6adadcad4
Added file source to 'stream has unknown format' message.
2018-02-09 22:56:03 +01:00
Matthias Koefferlein
396d0263d4
Some changes to work around MacOS menu issues
...
- ID's are used instead of pointers to identify menu items
vs. QAction's. This is a weak measure to enhance predictability.
- The file menu is built from abstract menu items instead with
native Qt objects. This way the bug fix applies both to
file menu items and the other menu entries
The main fix is:
- A menu sync is forced by emitting a focusWindowChanged event
from the application object. This forces the QCocoaMenuBar
implementation to update the system menu.
2018-02-08 16:33:54 -08:00
Matthias Koefferlein
6df645a917
Fixed #74 (small-corner boolean issue). Tests need update
2018-02-08 23:12:58 +01:00
Matthias Koefferlein
363c0c9fed
Fixed #73 (allow 'change layers' on PCells which support a single layer parameter)
2018-02-06 22:51:06 +01:00
Matthias Koefferlein
fb69dfd866
Fixed HTML version of class documentation - links to methods have not been working properly.
2018-02-04 19:07:33 +01:00
Matthias Koefferlein
808159bcab
Fixed #72 (Edges/Region NOT issue)
2018-02-01 22:35:47 +01:00
Matthias Koefferlein
432a8dddb8
Bugfix: Ruby debugger breakpoints were disabled sometimes
2018-02-01 21:18:48 +01:00
Matthias Koefferlein
23c2ae7306
Fixed #69 (DRC: 'inside' does not merge shapes of second input)
2018-01-30 00:40:17 +01:00
Matthias Koefferlein
ccb76a9f09
Merge remote-tracking branch 'remotes/origin/master'
2018-01-27 01:31:47 +01:00
Matthias Koefferlein
705056675a
Fixed a potential crash in the package manager on computing dependencies
2018-01-26 16:28:25 -08:00
Matthias Koefferlein
475bf6eb83
Small bug fixes in the package manager
...
- Remove button wasn't enabled if multiple packages
were selected
- A potential crash on removing packages was fixed
2018-01-27 01:05:25 +01:00
Matthias Koefferlein
aab425a58c
Fixed #66 (Authentication dialog should indicate retry)
2018-01-24 22:08:13 +01:00
Matthias Koefferlein
04b4c21e82
Fixed #68 (OASIS reader issue with degenerated shapes)
2018-01-24 21:21:02 +01:00
Matthias Koefferlein
53328d1767
Merge branch 'macos-build' from kazzz
2018-01-14 17:29:59 +01:00
Matthias Koefferlein
8b479bd20a
Fixed #64 (crash on exit)
2018-01-14 00:15:16 +01:00
Matthias Koefferlein
a2ba300bd7
More consistent 64bit coordinate support
2018-01-12 00:30:49 +01:00
Matthias Koefferlein
390a5c11a8
Using OASIS files for smaller size as DRC golden data
2018-01-12 00:06:24 +01:00
Matthias Koefferlein
ed945a28d4
Fixed #63 (wrong output on DRC non_interacting with empty second input)
2018-01-10 23:20:34 +01:00
Matthias Koefferlein
2de6b691b4
64bit coordinate support enhanced
...
- int128 to string support for output
- unit tests
- some compiler issues fixed
2018-01-10 22:12:55 +01:00
Matthias Koefferlein
d11e2ed8a6
Fixed #62 (QXmlSimpleReader#parse cannot be called)
2018-01-10 20:21:56 +01:00
Matthias Köfferlein
9a141a3fc8
Merge pull request #60 from klayoutmatthias/master
...
Fixed #53 by introducing a scroll area around the 'about' text.
2018-01-07 20:51:27 +01:00
Matthias Koefferlein
a63ef901aa
Fixed #53 by introducing a scroll area around the 'about' text.
2018-01-07 20:49:22 +01:00
Matthias Koefferlein
02f84181f5
Merge remote-tracking branch 'origin/macos-build' into macos-build
2018-01-07 11:24:54 -08:00
Matthias Koefferlein
8eb3f5e6ce
Fixed #59 (async download of package index and details)
2018-01-07 10:22:47 +01:00
Matthias Koefferlein
bf5f932ff1
HTTP access enhancments
...
Added the ability for asyn requests.
Fixed a memory lead issue in WebDAV access.
2018-01-07 08:56:06 +01:00
Matthias Koefferlein
55be7d78e7
Merge remote-tracking branch 'matthias-origin/async-reader' into macos-build-on-master
2018-01-06 17:10:35 -08:00
Matthias Koefferlein
ef67790d2c
Implemented #54 (more typeinfo visibility)
2018-01-02 16:24:31 -08:00
Matthias Koefferlein
8003d1bb47
Merge branch 'master' into macos-build-on-master
2018-01-02 23:37:45 +01:00
Matthias Koefferlein
ae6485a0df
Fixed #51 : segmentation fault on return to main window and other opportunities
2018-01-02 14:19:35 -08:00
Matthias Koefferlein
ffb56335fb
Updated copyright note to 2018.
2018-01-01 21:08:06 +01:00
klayoutmatthias
efa921c950
Removed visibility declaration which wasn't actually required.
2018-01-01 19:04:52 +01:00
klayoutmatthias
7e0f1522ac
Windows build compatibility
...
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.
For Windows, the "dllexport" equivalent requires the template
instantiations to be declared "external" which is a coding nightmare.
The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
2018-01-01 18:55:11 +01:00
Matthias Koefferlein
111e1f12e0
WIP: Windows build compatibility
2018-01-01 14:44:25 +01:00
Matthias Koefferlein
c8108dd038
WIP: Windows build compatibility
2018-01-01 14:34:49 +01:00
Matthias Koefferlein
d670083111
Even more exported templates ..
2017-12-31 11:43:44 -08:00
Matthias Koefferlein
c4cf394719
One more external visibility ...
2017-12-31 10:56:46 -08:00
Matthias Koefferlein
6b4d24b442
One more external visibility ...
2017-12-31 10:23:54 -08:00
Matthias Koefferlein
b7a18b3278
Added method to derive application path for MacOS (/proc isn't there on MacOS)
2017-12-31 09:55:23 -08:00
Matthias Koefferlein
48a6b4b57a
Exceptions have to be exported from DSO's too to make the recognized in catch statements.
2017-12-31 09:54:47 -08:00
Matthias Koefferlein
2084a7e85c
Don't crash if no unit test libs are found in the unit test runner.
2017-12-31 09:52:54 -08:00
Matthias Koefferlein
f5b7a037ad
Turn the unit test runner into a ordinary binary too.
2017-12-31 09:51:38 -08:00
Matthias Koefferlein
93572a8f0b
Fixed dbEdges iterator (ported fix of dbRegion iterator for MacOS/clang to dbEdges too)
2017-12-30 17:15:24 -08:00
Matthias Koefferlein
167df7eae6
Fixed a unit test bug - the dbCell test was working by coincidence on other systems.
2017-12-30 16:46:49 -08:00
matthias
063811edc4
Solved the clang/MacOS startup failure and menu issue
...
1.) Startup issue:
This is solved by making sure templates with virtual functions
are made visible in the DSO. This way, dynamic_cast is possible
across DSO's.
Scary: clang/MacOS wants the forward declarations be declared visible as well.
2.) Menu issue:
The best solution is to have only one QMenuBar. The navigator
now gets a synthetic menu bar composed of QToolButtons.
2017-12-30 15:22:16 -08:00
Matthias Koefferlein
6526625a67
Fixed Ruby-less build.
2017-12-29 20:35:34 +01:00
Matthias Koefferlein
7715d924ee
Fixed #42 (headless mode support with Qt5/-zz)
2017-12-27 21:44:14 +01:00
Matthias Koefferlein
87531dadcc
Fixed #48 (Cancel does not reset current tool)
2017-12-27 21:33:38 +01:00
Matthias Koefferlein
84cf46bcd2
Fixed an issue with the new process_events implementation: compiler resolution did not work well for the two types - one them them reimplemented and the other not.
2017-12-27 19:54:06 +01:00
Matthias Koefferlein
7a28389bf1
Fixed Windows build.
2017-12-27 18:27:18 +01:00
Matthias Koefferlein
c63a47dd89
Added tests for klayout app
...
This commit also contains some important fixes:
* Option -wd wasn't working
* Relative layout file paths in session files are resolved as relative
to the session file. On writing, absolute paths are used, so this
change only affects session files build intentionally.
Plus:
* Program version is available in unit tests too
* Fixed a typo in the RBA::Expression documentation
2017-12-27 17:52:35 +01:00
Matthias Koefferlein
9906565013
Further refactoring - more functionality for GUI/non-GUI application classes.
2017-12-26 00:03:40 +01:00
Kazunari Sekigawa
1fe6280970
Buddy tools have to be built as ordinary command line tools; not as bundles (*.app)
...
This refs #10 .
2017-12-26 06:58:03 +09:00
Matthias Koefferlein
bbb1514184
WIP: some refactoring.
2017-12-25 22:35:16 +01:00
Matthias Koefferlein
53d2557ba5
First steps towards fix. Needs review.
...
The patch is based on splitting the application class into
two incarnations - one for GUI capability and one without.
GSI binding happens dynamically based on the mode chosen.
We can do so because the application class is the first one
to become active and can decide the mode by itself.
In general, the application class carries too much functionality
and splitting is a task for the future. Right now, the functionality
is inside the base class and the derived classes basically only
configure the base class.
A better design would be to drop the QApplication inheritance in
the RBA::Application class hierarchy and provide access to the
QApplication object through qapp_gui getter.
2017-12-25 00:51:06 +01:00
Matthias Koefferlein
395643b427
Fixed #44 (Transformation constructor with x,y not working)
2017-12-23 19:42:39 +01:00
Matthias Koefferlein
692ae10fe2
Fixed #45 (Partial selection does not capture instance)
2017-12-22 21:01:40 +01:00
Matthias Koefferlein
b44f5ab156
Fixed #43 (crash when using Qt specific command line options)
2017-12-21 22:56:41 +01:00
Matthias Koefferlein
4855231342
Fixed #40 (Crash in Python binding)
...
Plus the same effect was observed for Ruby and fixed there as well.
2017-12-21 00:55:40 +01:00
Matthias Koefferlein
6f66e04c8e
Fixed #41 (Polygon#touches? method)
2017-12-20 22:55:15 +01:00
Matthias Koefferlein
4f3c745790
Updated the wording of some documentation texts and fixed some errors there.
2017-12-20 22:11:42 +01:00
Kazunari Sekigawa
3f0152149e
To try suggested patch "patch0.patch.txt" provided by Matthias.
...
I should have created a topic branch for this.
This refs #8 . (reverted from commit e254f8a67e )
2017-12-19 21:30:01 +09:00
Kazunari Sekigawa
e254f8a67e
To try suggested patch "patch0.patch.txt" provided by Matthias.
...
I should have created a topic branch for this.
This refs #8 .
2017-12-19 21:14:25 +09:00
Kazunari Sekigawa
74da54faf8
To try suggested patch "patch0.patch.txt" provided by Matthias.
...
This refs #8 . (reverted from commit 0f14c13860 )
2017-12-19 20:24:59 +09:00
Kazunari Sekigawa
0f14c13860
To try suggested patch "patch0.patch.txt" provided by Matthias.
...
This refs #8 .
2017-12-19 19:36:54 +09:00
Matthias Koefferlein
21e42788e6
Fixed #39 (Action cannot be reassigned)
2017-12-17 22:38:48 +01:00
Matthias Koefferlein
28ff493de7
Replaced patch by generated code
...
The Qt4/5 bindings are generated automatically. Hence any manual
patches are bound to become lost on the next generation run.
This commit removes symbols which are not available on MacOS
by a code-generation solution.
These symbols are only required for WindowsCE so their
unavailability on other systems is not a big loss.
2017-12-17 15:30:37 +01:00
Matthias Koefferlein
ad741d0eb7
Fixed #36 : harding against destruction of object inside event handler
...
Plus: declare the form builder to return a new
widget object (the way it is).
2017-12-16 01:45:35 +01:00
Matthias Koefferlein
6e14460334
Ported enhancements for #33 fix (factory callbacks) to Ruby too.
2017-12-13 00:21:56 +01:00
Matthias Koefferlein
0c25e8cab1
Maybe fixed a linker issue (db::GDS2Writer vtable not found)
2017-12-12 23:23:13 +01:00
Kazunari Sekigawa
bded8f9fa4
When KLayout 0.25 is built with Qt 5.8.0 or later, this workaround is not required.
...
This refs #1 .
2017-12-12 20:50:23 +09:00
klayoutmatthias
b49db04fb4
Fixed MacOS build
...
The LLVM STL implementation does not recognize "typedef void iterator_traits"
as dummy declaration. It will fall back to an empty traits struct.
Using the default "forward_iterator_tag" for the iterator_traits solves
this compile issue.
2017-12-12 00:21:16 +01:00
Matthias Koefferlein
1cea7dfd23
Fixed #33 (Plugin factory not working when using with Python)
...
The fix consisted of introducing "factory" type virtual
methods which ensure that a reference is held to the
returned object. This is important for implementing
factory methods in Python. Without this, the object
get destroyed before we have a chance to increment the
reference count.
2017-12-11 23:51:00 +01:00
Kazunari Sekigawa
14894e6ab7
Qt::WindowOkButtonHint and Qt::WindowCancelButtonHint are supported for Windows CE.
...
This refs #1 .
2017-12-10 16:42:35 +09:00
Matthias Koefferlein
11c9d37e93
Fixed #32 (rounding issue with instance properties)
2017-12-09 23:00:41 +01:00
Pankaj Pandey
f318cb2e30
Update tlString.h
2017-12-06 18:33:57 +05:30
Pankaj Pandey
58281695fb
Update tlString.cc
2017-12-06 18:32:17 +05:30
Pankaj Pandey
ff74c466d5
Replace `m_m128` -> `m_int128` in tlVariant.cc
...
Typo in member variable name.
2017-12-06 16:11:28 +05:30
Matthias Koefferlein
2cd5d68db2
Build enhancements
...
Qt <4.7 is partially supported now:
* Without Qt bindings (build.sh -without-qtbinding ...)
* With reduced functionality (i.e. package manager won't work)
Build compatibility with STL-less Qt installations
2017-12-05 22:26:30 +01:00
Matthias Koefferlein
fdb012aa2d
Fixed #26 (Exceptions are reported every time they propagate up in the call chain in the ruby debugger)
2017-12-02 23:02:45 +01:00
Matthias Koefferlein
1bb662b9ed
Fixed #21 (Autorun(-early) doesn't seem to run when lym files are inside a package)
2017-12-02 18:48:28 +01:00
Matthias Koefferlein
54a373572f
Fixed #24 (Text insert dialog possible bug in 0.25 but not in 0.24)
2017-12-01 22:36:33 +01:00
Matthias Koefferlein
8e55a4171e
Fixed #30 : Writer options dialog non-functional on a fresh configuration
2017-11-29 23:23:28 +01:00
Matthias Koefferlein
be80682853
Fixed #29 (permissive mode for OASIS writer on odd-width paths)
...
This commit adds "permissive" mode to OASIS writer to allow
odd-width paths (which are rounded).
This commit contains in addition:
* The check for odd-width paths is done post-scaling, so
reducing the DBU is a workaround
* Unit tests for the RBA binding of SaveLayoutOptions
* Documentation updates on some SaveLayoutOptions attributes
* Using Ruby predicate notation for cif_blank_separator?
(note question mark) for consistency. The old notation is
still there but deprecated
* --permissive option on buddies command lines where applicable
2017-11-29 22:34:41 +01:00
Matthias Koefferlein
c1e501197c
#28 fixed (CIF file format detection fails)
2017-11-28 23:24:38 +01:00
Matthias Koefferlein
11cb5eb998
Qt 5.8.0 compatibility
2017-11-26 22:51:36 +01:00
Matthias Koefferlein
4dbe28e9fa
MacOS build fix.
2017-11-26 22:50:35 +01:00
Matthias Koefferlein
8378e59b41
Fixed a build issue with Ruby libraries.
2017-11-16 22:51:54 +01:00
Matthias Koefferlein
20a6c5ec6b
Another fix for Ruby/Python-less builds.
2017-11-07 20:48:15 +01:00
Matthias Koefferlein
4a81e228cf
Fixed non-Ruby/Python builds.
2017-11-06 21:14:02 +01:00
Matthias Koefferlein
08a662bcfd
Reworked ruler initialization procedure.
2017-11-06 21:09:55 +01:00
Matthias Koefferlein
059c7ee37a
Ruler setup enhanced
...
- Issue: on an entirely fresh installation the "Ruler"
entry was not visible. Now, a new standard template
called "Ruler" is present.
- Ruler templates with categories cannot be deleted
any more and are shown with italic font. If they
were deleted, they would show up again after restart.
2017-11-05 23:39:50 +01:00
Matthias Koefferlein
8cb36cdfe7
Added one more buddy tool: strmrun
...
strmrun allows running a Python or Ruby script
in the context of KLayout's API. A subset of the
API will be available - all classes connected with
the user interface are not available. Neither is
the DRC engine.
2017-11-05 18:03:17 +01:00
Matthias Koefferlein
b5e6423c8d
Added tooltips and filter to menu customization dialog
2017-11-05 09:23:24 +01:00
Matthias Koefferlein
dbc5079bb4
More robustness for PCell declarations on mutable parameter declarations.
2017-11-02 07:37:05 +01:00
Matthias Koefferlein
0cfc43d297
Fixed DRC tests - need OASIS normalization
2017-11-01 22:48:33 +01:00
Matthias Koefferlein
4599d342ef
Merge branch 'master' of www.klayout.org:/home/matthias/klayout
2017-11-01 22:14:33 +01:00
Matthias Koefferlein
af1c5c9f66
Bugfix: avoid a segfault
...
Reason: PCellDeclaration::parameter_declaration is volatile when
the PCell does not want parameter declaration caching. In this
case, begin .. end iterators must not be taken from different
calls to parameter_declaration for example.
2017-11-01 22:12:49 +01:00
klayoutmatthias
4cbb98745d
Merge branch 'master' of www.klayout.org:/home/matthias/klayout
2017-11-01 22:11:08 +01:00
klayoutmatthias
ccf6570d46
Crash handler does not pop up window in batch mode now.
2017-11-01 22:10:23 +01:00
Matthias Koefferlein
ea5920bda4
Fixed ut_runner
...
- Implict macros were not disabled as they should
- This revealed that DRC scripts could not run with -rx
2017-11-01 18:20:45 +01:00
Matthias Koefferlein
5d9513b6a5
Added some more GSI methods:
...
* LayoutView#zoom_fit_sel
* ObjectInstPath#layout, ObjectInstPath#dtrans and ObjectInstPath#source_dtrans
2017-10-31 23:54:07 +01:00
Matthias Koefferlein
226f39c920
Fixed build on older gcc versions.
2017-10-31 22:30:23 +01:00
Matthias Koefferlein
3c3c3a0b87
Apply custom hidden flags also to menu items created from macros.
2017-10-31 09:38:29 +01:00
Matthias Koefferlein
52e893ae17
Two method aliases in RBA::Vector/DVector to provide Point compatibility
2017-10-29 19:11:50 +01:00
Matthias Koefferlein
b1e83e0bdb
New feature: customizable menu items (hide/show)
...
In the setup dialog (Customize Menu page), there are check boxes
now by which menu entries and menus can be enabled or disabled.
CAUTION: don't disable the setup function :-)
2017-10-29 17:39:49 +01:00
Matthias Koefferlein
99552a5484
GSI binding for new Action features.
2017-10-29 13:59:44 +01:00
Matthias Koefferlein
c4fe283c2d
Changed wording of key binding string in macro properties form.
2017-10-29 13:44:29 +01:00
Matthias Koefferlein
26ecc6e1a6
Rework: custom/default key bindings
...
Issue: macro definitions had to be synchronized for
custom key bindings. That's not possible for readonly
macros and breaks the architecture.
Now, there is a default binding and a custom binding:
the macros provide a default binding only and the custom
key binding can override this. This scheme is implemented
consistently, so now the "reset" function of the key
binding editor simply clears the custom binding.
Side effect: reset of individual key bindings is possible.
Another side effect: removing a key binding from an
item with a default one is not possible. Instead, redefine
it.
2017-10-29 13:34:57 +01:00
Matthias Koefferlein
8a8fc18bb0
Use real macro names when generating the menu paths.
2017-10-29 10:47:01 +01:00
Matthias Koefferlein
998ea6df10
RBA::Macro#name and RBA::Action#menu
2017-10-29 09:58:30 +01:00
Matthias Koefferlein
9b7a887ad8
Added GSI support for Action#separator
2017-10-29 01:27:56 +02:00
Matthias Koefferlein
c5017c811e
Bugfix: avoid data loss in macro editor
...
The bug was this:
- A macro is opened and modified in the macro IDE
- The directory which the macro is kept in is touched
Effect: the macro was reloaded and the edits were discarded.
2017-10-28 22:37:52 +02:00
Matthias Koefferlein
6ee4ba6a90
Added a default constructor to LayoutView
...
The use cases for such an object are limited - mainly
for producing layer properties.
2017-10-28 21:14:35 +02:00
Matthias Koefferlein
cb29a2d790
Fixed output of stdout to macro IDE log
...
No additional newlines are inserted on flush -
this enhances compatibility with unit test framework.
2017-10-28 21:13:46 +02:00
Matthias Koefferlein
d90593df89
Added a convenience binding for vector+point
...
This way, the vector/point sum is commutable.
vector+point == point+vector.
2017-10-27 22:02:26 +02:00
Matthias Koefferlein
374816fe0e
Tiny issue: border for OASIS writer options page.
2017-10-26 21:25:36 +02:00
Matthias Koefferlein
67b4fb33fc
Bugfix: put the tech selector to the right position in the toolbar.
2017-10-24 23:49:16 +02:00
Matthias Koefferlein
6b65080738
Non-collapsing cell tree also for sorting order change.
2017-10-24 23:18:06 +02:00
Matthias Koefferlein
59b5c7d9df
First attempt to implement non-collapsing cell trees. Still collapsing: on sorting change.
2017-10-24 21:36:54 +02:00
Matthias Koefferlein
6364530c69
Show native paths in macro IDE too
...
So far, only the macro paths (macros/pymacros/drc)
are shown. With this fix, also the native paths
like "ruby" and "python" are listed.
2017-10-23 21:45:58 +02:00
Matthias Koefferlein
1a97771c25
Bugfix: modal help dialogs properly show the text panel now.
2017-10-22 23:35:20 +02:00
Matthias Koefferlein
4cbfec9c35
New feature: allow group generation in menu paths.
2017-10-22 23:06:42 +02:00
Matthias Koefferlein
ba7e9da5a6
Bugfix: package details were not updated.
2017-10-20 22:49:59 +02:00
Matthias Koefferlein
4ca24df814
Package manager enhancements
...
* marked icon
* multiple selection
* hidden flag for repository
* background color of package list black always
* consolidation of package list - identical packages are
reduced to the latest one
2017-10-19 00:16:34 +02:00
Matthias Koefferlein
63e28be152
Establish a Ruby/Python path from packages also in -b mode.
2017-10-13 21:38:36 +02:00
Matthias Koefferlein
615ba36836
Bugfix: take download URL as source for packages also for relative URLs
...
Plus: diagnostics for HTTP access.
2017-10-12 21:08:19 +02:00
Matthias Koefferlein
b3ffa23499
Relative paths for includes in package index files
...
Plus: inhibt some deferred methods during processEvent (i.e. progress reporting,
HTTP/HTTPS download).
2017-10-10 21:04:52 +02:00
Matthias Koefferlein
06a1002e25
Fixed build.
2017-10-09 23:49:41 +02:00
Matthias Koefferlein
51fca6be05
Relative package URL's don't take the repo index filename
2017-10-09 23:21:29 +02:00
Matthias Koefferlein
55aa35bc8f
A little more backward compatibility plus macro name issue fixed
...
* Some removed methods have been restored (and are deprecated).
* Macro names like "0.25.lym" don't render error messages during loading now
2017-10-09 23:17:00 +02:00
Matthias Koefferlein
93b30364d9
Tiny bugfix: don't waste CPU time in a dialog exec loop.
2017-10-09 00:21:13 +02:00
Matthias Koefferlein
6c952921ea
Added tokens to salt grain info.
2017-10-09 00:11:55 +02:00
Matthias Koefferlein
4f9857ace9
Bugfix: 'merged' mode wasn't working in PCB import.
2017-10-08 23:07:10 +02:00
Matthias Koefferlein
c50fe8cb57
Some bug fixes and doc updates
...
* LEF/DEF: bugfix - the tech options were not
visible
* Doc update: new main window snapshot
* LEF/DEF import: doc update
2017-10-08 22:43:07 +02:00
Matthias Koefferlein
f27f187142
Updated doc.
2017-10-03 17:52:01 +02:00
Matthias Koefferlein
6f51c0be2e
Added useful feature: include other paths in sami
...
This way you can include other repositories into
the Salt.Mine XML:
<salt-mine>
<salt-grain>
...
</salt-grain>
<include>http://from.other.source/repository.xml </include>
</salt-mine>
2017-10-03 17:47:40 +02:00
Matthias Koefferlein
469eb47068
More consistent definition of Ruby/Python path with less invalid components.
2017-10-03 17:32:37 +02:00
Matthias Koefferlein
ff73583d26
Bugfix: custom paths were not stored correctly
...
Now, if a path is stored with a category (i.e. mypath:macros),
the path is not modified. Instead, the path is taken as is
for the specific category.
Only unspecific paths are taken for by mypath/macros,
mypath/pymacros etc.
2017-10-03 16:49:28 +02:00
Matthias Koefferlein
67fb59b514
Fixed Windows build.
2017-10-03 16:16:53 +02:00
Matthias Koefferlein
c077feb3d5
Some refactoring of package manager, new features
...
* Moved tlSystemPaths into lay namespace where it belongs
* Doc updates
* New command line switch -y and -yd for unattended installation
* Download URL's can be relative to salt.mine URL
* KLAYOUT_HOME environment variable to make ~/.klayout configurable
* Better error messages on XML parser on file/stream read errors
(specifically from http/https)
2017-10-03 14:19:01 +02:00
Matthias Koefferlein
407c967de4
Updated doc.
2017-10-03 01:12:46 +02:00
Matthias Koefferlein
e8a29ac612
Updated doc.
2017-10-02 23:17:19 +02:00
Matthias Koefferlein
c99dbebf0a
Updated package manager doc.
2017-10-02 00:25:29 +02:00
Matthias Koefferlein
5eb8172c57
Fixed layout on web site.
2017-10-01 22:32:31 +02:00
Matthias Koefferlein
44d2ea5c25
Some doc enhancements.
2017-10-01 22:21:01 +02:00
Matthias Koefferlein
580ed1ec6d
Avoid a segfault that happens on first use of LEF/DEF reader.
2017-09-29 22:14:35 +02:00
Matthias Koefferlein
368c5cf3ca
Fixed some small issues.
2017-09-27 23:25:51 +02:00
Matthias Koefferlein
4f25f4c81c
Fixed generation of .rc file.
2017-09-27 22:59:44 +02:00
Matthias Koefferlein
7e7a5ce030
Some enhancements/bug fixes for package manager
2017-09-27 00:16:43 +02:00
Matthias Koefferlein
ce951b29ec
Made tl::parent_path require existing parent - otherwise the previous implementation returned true always.
2017-09-26 22:25:53 +02:00
Matthias Koefferlein
2c023a7041
Fixed build on gcc's not supporting zero-length arrays.
2017-09-26 00:59:18 +02:00
Matthias Koefferlein
2fd33a289a
Variable path widths for DXF reader
2017-09-26 00:28:47 +02:00
Matthias Koefferlein
59dd9896e0
Bugfix: second exit was ignored after not committing the first.
2017-09-23 13:20:58 +02:00
Matthias Koefferlein
8b1e76ed0b
Bugfix: XOR was segfaulting when the window was closed during run
...
This fix consists of multiple parts:
* Actual closing of the window is deferred until excecution is over
* weak pointers in XOR for view so the view can be destroyed with
out not knowing
* The "keep data" message is not shown when the application window
was closed.
2017-09-23 13:17:26 +02:00
Matthias Koefferlein
f1cfe207ff
Don't show break exceptions
2017-09-23 13:16:55 +02:00
Matthias Koefferlein
9f8b81eaf4
Don't decorate 'break' exceptions in Gerber reader.
2017-09-23 13:16:30 +02:00
Matthias Koefferlein
7d2bf2d969
tl::DeferredMethod: allow new method calls from inside
...
This change will allow issuing the same method from inside
itself (postpone execution by re-issuing).
2017-09-23 13:14:36 +02:00
Matthias Koefferlein
5a1a89b665
Reworked the XOR progress UI - now it's rows instead of a single column.
2017-09-21 23:52:24 +02:00
Matthias Koefferlein
cadb9c555a
A few bug fixed in the XOR progress reporter.
2017-09-21 22:07:58 +02:00
Matthias Koefferlein
8cd612ba36
Don't show file changed notifications while an operation is ongoing
...
Reloading a file during operations is usually fatal.
+ Enhanced the "show all hierarchy levels tip window."
2017-09-21 22:07:37 +02:00
Matthias Koefferlein
daacd9ea6f
Added a hint about 'show all hierarchy levels off', so that new users have a chance to change this setting.
2017-09-20 23:18:09 +02:00
Matthias Koefferlein
1d29a00bb9
Cross style is propagated down groups properly now.
2017-09-20 23:00:37 +02:00
Matthias Koefferlein
d64a427180
Fixed layout of layout statistics form.
2017-09-20 22:57:16 +02:00
Matthias Koefferlein
62b59fe71c
Reworked the XOR progress UI for better performance.
2017-09-20 22:52:52 +02:00
Matthias Koefferlein
083e1d75e9
Finished defailed XOR progress.
2017-09-20 21:39:24 +02:00
Matthias Koefferlein
3e37c0bf7b
First version of XOR progress visualization.
2017-09-20 01:22:25 +02:00
Matthias Koefferlein
4381ebfe7f
Do not automatically set RPATH to installation target (for building packages).
2017-09-10 15:51:19 +02:00
Matthias Koefferlein
0cb58fc354
Fixed dependencies
2017-09-10 13:26:42 +02:00
Matthias Koefferlein
55ff0bcf99
Include version information in Windows exe file - patch for build.
2017-09-10 11:52:15 +02:00
Matthias Koefferlein
dbf8e53621
Include version information in Windows exe file.
2017-09-10 11:42:19 +02:00
Matthias Koefferlein
501dfc25d0
Direct table access for RBA::CellMapping and RBA::LayerMapping.
2017-09-10 01:21:10 +02:00
Matthias Koefferlein
b024e0ffd6
Clear layer is applied to all selected layers now.
2017-09-10 01:05:27 +02:00
Matthias Koefferlein
ff4e99f2a2
Gerber X2: metadata and project initialization from the latter (at least in free mode)
2017-09-10 00:24:59 +02:00
Matthias Koefferlein
55c7b66160
Fixed Layout unit tests.
2017-09-09 19:02:37 +02:00
Matthias Koefferlein
98b7d0e9a1
Small bugfix and tests added to Gerber reader.
2017-09-09 10:27:09 +02:00
Matthias Koefferlein
17327ce19c
Gerber X2 support basically implemented. Needs testing.
2017-09-09 02:07:09 +02:00
Matthias Koefferlein
468c3f4952
Assistant has a left-side content panel now.
2017-09-08 00:25:17 +02:00
Matthias Koefferlein
fd36ee37d9
Some convenience methods for RBA/RDB methods.
2017-09-07 21:40:51 +02:00
Matthias Koefferlein
c541cdcbd6
Bugfix: redrawing issues when multiple layers are affected
...
This is how to reproduce the bug: have a layout with two
layers. Select two shapes of different layers and delete them.
One layer is not updated and only after zooming/panning the
shape will disappear on this layer.
2017-09-07 01:04:40 +02:00
Matthias Koefferlein
e52c96b0bc
Fast panning with Shift pressed.
2017-09-06 23:38:46 +02:00
Matthias Koefferlein
41e8c58869
A function to reset the window state (View menu)
2017-09-06 23:36:04 +02:00
Matthias Koefferlein
692b1e6c31
A new function to separate inside/outside
...
- This feature is found in Edit/Selection/Separate
The first selection is separated into parts inside and
outside the secondary selection
In addition, shapes are not deleted on the boolean
(selection-based) functions if they come from a different
layer than the primary selection.
2017-09-06 23:33:50 +02:00
Matthias Koefferlein
5221027b3a
Added RBA::LayoutView#selected_cells_paths
2017-09-06 22:10:13 +02:00
Matthias Koefferlein
febd20f606
Updated LEF/DEF testdata.
2017-09-05 21:58:11 +02:00
Matthias Koefferlein
0ecc8ee093
First version of DEF reader with GROUPS/REGIONS - needs feedback.
2017-09-04 23:05:46 +02:00
Matthias Koefferlein
56b9c73015
GDS2 reader/writer: paths can now use the Multi-XY extension.
2017-09-03 23:24:50 +02:00
Matthias Koefferlein
0f0be1b0bc
Bugfix: unit test timer now works correctly.
2017-09-03 23:24:24 +02:00
Matthias Koefferlein
31084d83ce
Bugfix for key bindings
...
Now, aliases are taken into account: when a path points
to the same function than another path, the key bindings
are synchronized.
2017-09-03 22:34:34 +02:00
Matthias Koefferlein
dfbe0b3122
Enhanced crash handler on Linux
...
* Override Ruby's crash handler to stop blaming Ruby for
KLayout segfaults ...
* Using addr2line on Linux to obtain DWARF debug info
if available
* A more elaborate crash handler dialog
2017-09-03 19:26:52 +02:00
Matthias Koefferlein
80226e8c1c
Provide proper input for linker for rba/pya unit tests.
2017-09-03 18:44:22 +02:00
Matthias Koefferlein
65ec67ca3c
Test classes for GSI unit tests must not be exported.
2017-09-03 14:51:41 +02:00
Matthias Koefferlein
696e84b6f1
Fixed a dependency
2017-09-03 14:29:54 +02:00
Matthias Koefferlein
388da45703
Fixed gsi::ClassBase::has_class(name)
2017-09-03 12:45:34 +02:00
Matthias Koefferlein
6c26b2a251
Speeding up the startup initialization by using proper type maps for GSI.
2017-09-03 11:52:06 +02:00
Matthias Koefferlein
9d5f54d51a
Fixed non-Ruby build where DRC is not available.
2017-09-03 11:51:39 +02:00
Matthias Koefferlein
b9c302229f
No DRC module when Ruby is not available.
2017-09-03 10:37:08 +02:00
Matthias Koefferlein
196d3a60e7
Fixed the build with less dependencies.
2017-09-03 10:29:14 +02:00
Matthias Koefferlein
cfe8375be0
Unit test refactoring
...
Move ut framework to tl, so there are less complex
dependencies.
2017-09-03 01:54:11 +02:00
Matthias Koefferlein
be6bf6a259
Display state navigation enhanced
...
* Some bug fixes (for example, drag moves were resolved
into many tiny state changes)
* New buttons for navigation in toolbar (like web browser)
* Hierarchy level changes are included in navigation states
too
2017-09-02 20:51:07 +02:00
Matthias Koefferlein
b28317fb69
Some enhancements to layer and cell mapping
...
* Modification of the mapping is possible now
(#map used to ignore mappings if there was one
already)
* Added DropCell mapping (also for RBA)
* Added unit tests for cell mapping, layer mapping
db::merge_layouts, db::copy_shapes and db::move_shapes
2017-08-30 01:11:38 +02:00
Matthias Koefferlein
3499c3856a
Show more info in tab and window titles
...
* Indicates whether layout has been manipulated (leading [+])
* Indicates current cell
* Tooltip in tab shows file path
* Tab title switches to active cellview
2017-08-29 01:13:49 +02:00
Matthias Koefferlein
74ad89cf43
Two tiny fixes for Windows build.
2017-08-29 00:30:23 +02:00
Matthias Koefferlein
e657453b1d
Fixed JUnit XML message escaping, include drc module by forced linking.
2017-08-28 23:25:44 +02:00
Matthias Koefferlein
749382b1a4
Fixed the output of unit tests
...
* XML format wasn't correct because of trailing info output
* Error messages did not get printed
2017-08-28 22:22:01 +02:00
Matthias Koefferlein
23fdcec7c6
Don't install GSI test library.
2017-08-27 19:40:32 +02:00
Matthias Koefferlein
46a09aaf05
Fixed installation target for .exe's
2017-08-27 19:34:16 +02:00
Matthias Koefferlein
6120d20398
Even more dependencies :-(
2017-08-27 19:16:54 +02:00
Matthias Koefferlein
6f51d9dc74
More dependencies :-(
2017-08-27 18:32:53 +02:00
Matthias Koefferlein
6b08680ee7
Proper naming of DLL's.
2017-08-27 18:17:00 +02:00
Matthias Koefferlein
04f1a61bc5
Using qmake properly for the installation target.
2017-08-27 18:03:38 +02:00
Matthias Koefferlein
992307a915
More on build: proper library versioning, rc file used through RC_FILE, deployment on Linux.
2017-08-27 17:44:41 +02:00
Matthias Koefferlein
bbac8fe19e
Fixed build without python/ruby.
2017-08-27 15:22:13 +02:00
Matthias Koefferlein
082699bebb
Another build dependency added.
2017-08-27 12:18:10 +02:00
Matthias Koefferlein
e14234e082
More build dependency fixes.
2017-08-27 11:51:52 +02:00
Matthias Koefferlein
1ed0837f06
Fixed build dependencies for magic qmake
2017-08-27 11:42:14 +02:00
Matthias Koefferlein
e3be3477c8
Enhanced build dependencies
2017-08-27 11:32:27 +02:00
Matthias Koefferlein
d080b55c5b
Bugfix: tiling processor's _rec method wasn't delivering virtual methods.
2017-08-27 10:41:32 +02:00
Matthias Koefferlein
362aa0ea23
Marked two more tests as long runners.
2017-08-27 10:41:07 +02:00
Matthias Koefferlein
56ca1899b5
Finished refactoring of unit tests. Now they are modularized.
2017-08-27 08:33:02 +02:00
Matthias Koefferlein
34089ca96b
Turned laySnap unit tests into a pure test for laybasic.
2017-08-27 00:59:08 +02:00
Matthias Koefferlein
c8f4272ebb
Moved rba and pya unit tests to module.
2017-08-27 00:47:40 +02:00
Matthias Koefferlein
016bb865ee
Fixed a few build issues.
2017-08-27 00:16:46 +02:00
Matthias Koefferlein
79811994f6
Refactoring: moved unit tests to libraries for some other libs
2017-08-26 23:43:40 +02:00
Matthias Koefferlein
000917d2c9
Refactoring: moved unit tests to libraries for some libs (ut modularization)
2017-08-26 22:44:31 +02:00
Matthias Koefferlein
be1b007f2f
DRC tests integrated now + refactoring
...
Refactoring:
* more consistent behavior of output redirection
* ut library was refactored and split into several
.h/.cc
* concept of long runners introduced
* long runners can be skipped with "test_is_long_runner()"
* same for editable/non-editable mode tests
2017-08-23 23:19:36 +02:00
Matthias Koefferlein
e5c6bd9e29
Added DRC unit tests.
2017-08-23 11:53:44 +02:00
Matthias Koefferlein
a0d864f3b6
Fixed build.
2017-08-23 11:14:29 +02:00
Matthias Koefferlein
c0afa4bf58
Refactoring of resources and modules.
2017-08-23 09:58:39 +02:00
Matthias Koefferlein
cbc5697253
Refactored Macro and MacroCollection into lym library for better reuse.
2017-08-22 23:39:55 +02:00
Matthias Koefferlein
9633a1b9af
Buddies: progress with -d >= 10 and XOR: enhanced report
2017-08-22 21:38:56 +02:00
Matthias Koefferlein
f53a3be51a
strmxor enhancements: summary, bug fixes.
2017-08-21 23:41:52 +02:00
Matthias Koefferlein
487545bbaa
Avoid memory corruption
...
The tiling processor now holds it's receivers
in tl::shared_ptr. This prevents memory corruption and
allows managing receiver lifetime externally.
2017-08-21 23:40:18 +02:00
Matthias Koefferlein
5130950f14
Fixed .pro files for bd unit tests.
2017-08-21 23:39:38 +02:00
Matthias Koefferlein
55e797ffaf
Provide proper INSTALL targets for .pro files
...
Plus: reduce compiler warnings
2017-08-21 02:33:45 +02:00
Matthias Koefferlein
edae27b9aa
Added missing dependency and compatibility with -pedantic
2017-08-21 01:01:47 +02:00
Matthias Koefferlein
97412b1adb
Merge branch 'master' into buddies
2017-08-21 00:22:57 +02:00
Matthias Koefferlein
9585922659
Some enhancements in the command line parser
...
* Cancel exceptions are handled properly and -h does
no longer produce an error
* Help text is more readable now
* Some typos fixed
2017-08-21 00:20:18 +02:00
Matthias Koefferlein
f013f1541e
For strmxor unit tests: gsi initialization fixed
...
Now the gsi::initialize_expressions includes gsi::initialize.
Both can be called multiple times (the second time they are
ignored).
2017-08-21 00:01:10 +02:00
Matthias Koefferlein
1baddd3632
strmxor: fixes and basic functionality tests.
2017-08-21 00:00:27 +02:00
Matthias Koefferlein
394947df72
Segfault fixed in RecursiveShapeIterator
...
The RSI does no longer segfault when the default one
gets reset.
2017-08-20 23:59:06 +02:00
Matthias Koefferlein
4d06a7617c
Some ut enhancements
...
* CaptureChannel becomes a main feature and is easier to
use now.
* EXPECT_EQ/NE no longer does a double evaluation of the
arguments on fail (to print the result that wasn't
matching)
2017-08-20 23:57:03 +02:00
Matthias Koefferlein
a7e4c7aadc
Added unit tests for expressions (required for strmxor)
2017-08-20 21:36:09 +02:00
Matthias Koefferlein
6e3bf68da9
Added more tests for strmcmp, first version of better strmxor
2017-08-20 01:14:49 +02:00
Matthias Koefferlein
2a6c2ee735
Tests and bug fixes for strmcmp and strmclip
...
* ut framework now has a text file compare
* Added tests for strm2txt, strmclip and strmcmp
* Fixed the output of the PrintingDiffReceiver in some cases
* Cell renaming does not give a difference in smart cell mapping mode
2017-08-19 23:28:03 +02:00
Matthias Koefferlein
5a846ae9c7
Basic tests for the converters
2017-08-19 20:27:12 +02:00
Matthias Koefferlein
44472f84b7
Basic tests for the converters
2017-08-19 19:57:47 +02:00
Matthias Koefferlein
c7edc9e7a0
More basic bd tests (reader) and some bug fixes
2017-08-19 19:25:21 +02:00
Matthias Koefferlein
a9b64d1e57
Refactoring and first bd tests
...
The goal of the refactoring is to support unit tests
for the db library.
For this, a distributed unit test concept has been
introduced (later to be extended to other libs).
Unit tests are shared objects called ".ut" and are
automatically loaded by the ut runner. The bd library
now has two folders - one for sources and one for the
unit tests. The sources are separated into lib and apps.
First unit tests for the writer options have been
provided.
2017-08-19 18:47:52 +02:00
Matthias Koefferlein
b296cdd915
Heavy refactoring of buddy sources
...
* To reduce the redundancy
* To enable testing of the bd library including the apps
The apps are entirely configured through their names.
Their .pro files are identical and the app implementation
is inside the bd lib (partially generic too). Hence the
apps can be tested by bd library unit tests.
2017-08-19 10:23:19 +02:00
Matthias Koefferlein
681c255e50
Equipped strmclip with the new command line parser
...
Plus: added repeated arguments (in addition to the array
arguments that have been there before).
2017-08-19 00:36:45 +02:00
Matthias Koefferlein
e54cadef99
Functionality if strmcmp is complete now
2017-08-18 22:54:23 +02:00
Matthias Koefferlein
b4a1143588
Some refactoring of buddy bodies and first strmcmp implementation
...
* Missing: functionaliy for strmcmp
2017-08-18 09:46:28 +02:00
Matthias Koefferlein
bd5c7decce
Fixed a doc typo
2017-08-17 23:36:49 +02:00
Matthias Koefferlein
c571ae732d
Add converter tools have reader options now.
2017-08-17 23:35:05 +02:00
Matthias Koefferlein
aa3caeca07
More options for buddies
...
* Generic writer options
* Generic reader options
* All converter tools are equipped with writer options
* strm2gds is equipped with reader options already
2017-08-17 23:31:05 +02:00
Matthias Koefferlein
dede3afe1b
Enhancements on command line parser
...
* Advanced options
* Groups
* strm2gds uses the new features already.
2017-08-17 09:26:15 +02:00
Matthias Koefferlein
09033d834e
Refactoring and enhancements of the cmd system
...
* Includes version and license info now
* New "bd" library for common features of the
buddies scripts.
2017-08-16 23:48:59 +02:00
Matthias Koefferlein
9f8144a254
Refined documentation of command line parser and buddies.
2017-08-15 00:13:57 +02:00
Matthias Koefferlein
639eef069c
Introducing a tolerance to reduce the number of test fails
2017-08-14 23:28:02 +02:00
Matthias Koefferlein
492351519e
Added more options for strm2cif and strm2gds.
2017-08-14 22:42:12 +02:00
Matthias Koefferlein
0accc84367
Bugfix: package installation wasn't working from scratch
...
* Create the "salt" package directory as well - not just the
package folder
* Include the package folder in the error message
* A better indication of what to do in the Apply button message
2017-08-14 21:29:10 +02:00
Matthias Koefferlein
7280a56ee9
Added command line parser to tl.
2017-08-13 23:05:40 +02:00
Matthias Koefferlein
bd05fae9aa
Enhanced error handling for unit test runner.
2017-08-13 00:49:39 +02:00
Matthias Koefferlein
5cfdc2fa64
Formal command line parser for buddies, first step.
2017-08-12 23:08:18 +02:00
Matthias Koefferlein
16852a0ea0
And another round of windows build fix ...
2017-08-12 21:55:58 +02:00
Matthias Koefferlein
d777508755
One more round of windows build fix ...
2017-08-12 21:36:59 +02:00
Matthias Koefferlein
f43592916e
Hopefully fixed the build script version for all platforms ..
2017-08-12 19:05:59 +02:00
Matthias Koefferlein
ac2b10eca5
Avoid multi-config builds to simplify build scripts.
2017-08-12 18:48:06 +02:00
Matthias Koefferlein
c479dfa7c6
Modified plugin targets for Windows compatibility.
2017-08-12 18:25:56 +02:00
Matthias Koefferlein
4e299d45f2
Provisions for self-contained plugin tests
...
Plugin tests are not placed into a "*.klp_ut" shared object
and are executed by the unit test runner.
2017-08-12 18:03:45 +02:00
Matthias Koefferlein
0e5a2afdf9
Added an icon
2017-08-12 15:40:52 +02:00
Matthias Koefferlein
e9dd19ad0b
Relaxed test conditions for cell hull generator test.
2017-08-12 10:11:28 +02:00
Matthias Koefferlein
a6723a8155
Some test updates
...
* Generalized Polygon to edge interaction into db::Polygon tools
* Added tests for this
* Equipped region to edges interaction with this feature to
reduce random test fails
* Multiple (reproducible) seeds for Region tests
* More tolerances for TilingProcessor tests
* ICplxTrans is_unity? implementation is using proper
double tolerances now
* File watcher tests wait longer to allow for slow
response on loaded Windows build server
2017-08-11 22:00:07 +02:00
Matthias Koefferlein
4ec8a838d5
Removed mode from test case name
2017-08-11 20:27:20 +02:00
Matthias Koefferlein
807b044731
Updated build scripts, fixed JUnit format emulation.
2017-08-10 23:31:32 +02:00
Matthias Koefferlein
7c59235889
Fixed a potential issue when using the db::Shape edge iterator on a non-existing hull in SimplePolygon.
2017-08-10 01:53:35 +02:00
Matthias Koefferlein
4dea5b40f2
Added buddies to build.
2017-08-09 22:37:58 +02:00
Matthias Koefferlein
5514aa8355
Aligned test suite XML output with JUnit format.
2017-08-08 23:35:40 +02:00
Matthias Koefferlein
36ccea8242
Fixed a doc typo.
2017-08-08 01:27:55 +02:00
klayoutmatthias
2e4ca67a39
Added application icon on Windows.
2017-08-08 01:20:58 +02:00
Matthias Koefferlein
a2d690ba63
Generalized exe name in version string.
2017-08-06 23:12:01 +02:00
klayoutmatthias
592fe08921
Updated build script for enhanced deployment automation.
2017-08-06 22:56:38 +02:00
klayoutmatthias
e6642f41f6
Updated deployment scripts for Windows.
2017-08-06 22:19:31 +02:00
Matthias Koefferlein
7ddc0d6b39
Added missing file
2017-08-06 18:32:04 +02:00
Matthias Koefferlein
8d6547291b
Fixed Linux build.
2017-08-06 18:30:21 +02:00
klayoutmatthias
ab98cd7678
Merge branch 'master' of https://github.com/klayoutmatthias/klayout
2017-08-06 18:22:13 +02:00
klayoutmatthias
f8b3c92191
Windows and Ruby/Python for deploymenu
...
This commit deals with the deployment issue on Windows
where there is no global Ruby/Python installation and
the installer needs to package all required files.
The solution is to read the Ruby/Python path from a
file that is evaluated upon startup. The installer will
install these files together with the executable for
Windows. This feature is only enabled on Windows.
A specific issue occured: since the location of the
file needs to be determined, the path of the executable
needs to be known. The Ruby initialization requires the
path to be set very early, before QCoreApplication is
instantiated. But Qt complains in QCoreApplication::applicationDirPath
so that this approach cannot be used for this purpose.
2017-08-06 18:18:34 +02:00
Matthias Koefferlein
f940c00a24
Updated documentation.
2017-08-06 16:45:52 +02:00
Matthias Koefferlein
a8ac6aafe7
Updated doc and some images.
2017-08-06 00:38:45 +02:00
Matthias Koefferlein
287deaa574
Fixed some documentation typos.
2017-08-05 22:20:25 +02:00
Matthias Koefferlein
5b6b800e9d
Updated documentation.
2017-08-05 22:13:00 +02:00
Matthias Koefferlein
d6ca13f220
Updated documentation
2017-08-04 23:13:07 +02:00
Matthias Koefferlein
cf48b39b89
Updated documentation
2017-08-03 21:57:48 +02:00
Matthias Koefferlein
6660c3f7d0
Updated documentation.
2017-08-03 21:43:53 +02:00
Matthias Koefferlein
4f48cd5dab
Updated documentation
2017-08-03 21:21:59 +02:00
Matthias Koefferlein
9539de9fec
Updated documentation
2017-08-02 23:11:13 +02:00
Matthias Koefferlein
824a7f9eb5
Bugfix: multiple message boxes on file change
...
The effect was: while a message box was open
to indicate a change of a file, new file changes
accumulated new message boxes. Now, the message
boxes won't accumulate and new file changes
are recognized after the message box is closed
and files were reloaded. Changes not acknowledged
by reloaded are presented again if changes were
seen while the message box was open.
2017-07-31 23:43:10 +02:00
Matthias Koefferlein
ffeacd4630
Small bugfix: save options on tech setup page
...
The effect was: when not having save options in the technology
setup (for example, when migrating from 0.24 to 0.25), it was
not possible to edit the save options page in the technology
manager because the data slot of the save options wasn't
initialized.
2017-07-31 23:13:36 +02:00
Matthias Koefferlein
919d2d56fa
Ported oasis-fix to GDS2 reader too (reduction of zero-distance axes in AREF's)
2017-07-29 19:05:52 +02:00
Matthias Koefferlein
1b6c25513a
Merge branch 'oasis-fix'
2017-07-29 18:39:41 +02:00
Matthias Koefferlein
808df3e90f
More verbose error messages for expression methods.
2017-07-29 11:40:11 +02:00
Matthias Koefferlein
4a43bc23e5
Bugfix: breakpoints were not effective sometimes
...
Reason: when a page was opened in the macro IDE,
the file to ID cache inside the Ruby interpreter
did not get updated. Hence there was no link
between breakpoint and page and the breakpoint
was ignored.
2017-07-29 11:38:46 +02:00
Matthias Koefferlein
a76fccf57b
Updated some documentation.
2017-07-29 11:37:58 +02:00
Matthias Koefferlein
32ba5ee635
Some fixes for OASIS reader
...
- Allow full 32bit for box width and height
and some other properties (for border case
testing - not recommended)
- Reduce arrays with step distance 0 to
dimension 1 - avoids overlapping instances
or shapes.
2017-07-28 00:19:39 +02:00
Matthias Koefferlein
6870de884d
Small fix for test suite output.
2017-07-27 00:04:51 +02:00
klayoutmatthias
b7698b6c39
Windows build issue fixed: linking problems.
2017-07-27 00:02:47 +02:00
Matthias Koefferlein
b13c2e69c3
Fixed a potential infinite recursion for Qt bindings
...
The problem is caused by an implementation detail:
To monitor the lifetime of Qt objects, a monitoring
object is attached to them. This used to happen through
child objects but attaching such issues QChildEvents
which - if routed over script objects - will itself
required objects to be attached a monitoring object.
The solution is to attach monitoring objects through
QObject dynamic properties.
2017-07-26 23:27:24 +02:00
klayoutmatthias
c442202ca4
Enabled Windows build on Qt5.
2017-07-23 23:36:29 +02:00
Matthias Koefferlein
1b1ed7b291
Fixed a performance issue with many markers.
2017-07-19 21:47:45 +02:00
Matthias Koefferlein
eb9363eca1
Bugfixes for XOR tool
...
1.) Wrong scaling of output when using output to layout A or B and
different DBU's were present
2.) A threading issue when delivering outputs to layout A or B resulting
in random crashes and weired behavior. This happened when threading
was enabled.
2017-07-18 23:31:09 +02:00
Matthias Koefferlein
45b774a3af
Fixed a XOR issue
...
Bug: sometimes, if the files had different database units, the XOR
tool was showing differences while there are none.
This was due to a sloppy computation of the tile boxes. The solution
is to properly round the tile size to a common database unit and
to use a common effective size for both inputs.
2017-07-18 22:33:54 +02:00
Matthias Koefferlein
7d31825b11
DRC: added collect*, select and each methods.
2017-07-17 21:36:29 +02:00
Matthias Koefferlein
703a0ee85d
Added "transformed" method to several shape primitives
...
The new version will transform double-coordinate types to
integer-coordinate types through a "VCplxTrans".
2017-07-17 21:05:38 +02:00
Matthias Koefferlein
db5ac31ada
New import methods for Region, EdgePairs and Edges
...
Region: insert of other regions, shape collections (with transformation)
Edges: insert of other edge collections, regions, shape collections (with transformation)
EdgePairs: insert of other edge pair collections
2017-07-16 22:25:08 +02:00
Matthias Koefferlein
43359195ea
DRC: corners function
...
Plus: a new RBA binding for decompose_convex/trapezoids that delivers a region.
2017-07-16 00:03:45 +02:00
Matthias Koefferlein
cf6aef46e5
Some enhancements for DRC
...
- modified definition of texts with the ability to produce
point-like edge objects
- middle and extent_refs methods for center point and other
references.
2017-07-13 23:38:36 +02:00
Matthias Koefferlein
4ad20fa4ce
Region to edge interactions
...
With this fix, regions can be interaction-tested with edge collections.
Only "normal" interaction is available - select_overlapping is not. This
is still confined to region to region interactions.
2017-07-12 22:41:11 +02:00
Matthias Koefferlein
df46aabb2e
Added an optional cellname parameter for the 'report' function in DRC.
2017-07-12 21:11:45 +02:00
Matthias Koefferlein
ca71384a9a
Fixed the images of the DRC doc.
2017-07-11 00:48:54 +02:00
Matthias Koefferlein
e2bcac657a
Implemented LayerInfo for DRC input/output
...
- Added a "layers" function too
- Updated tests
- Updated documentation
2017-07-11 00:36:51 +02:00
Matthias Koefferlein
be20bdd9cc
Bugfix: could drag and drop a cell in viewer mode.
2017-07-10 22:19:16 +02:00
Matthias Koefferlein
986cb7f0c2
Fixed an uninitialized memory issue (thanks, Stefan!)
2017-07-10 20:49:52 +02:00
Matthias Koefferlein
02819c5f1e
Hash functions and fuzzy compare for RBA
...
RBA now provides a hash method for Box, Edge, EdgePair, Trans,
Polygon, SimplePolygon, CellInstArray, LayerInfo, Path, Text,
Point and Vector.
eql? is mapped to ==.
==, != and < act "fuzzy" for the double-typed variants.
Hence, these objects can be used as hash keys now.
2017-07-09 22:40:56 +02:00
Matthias Koefferlein
8396463daf
Added text support in DRC
...
- A new constructor for RBA::Region has been provided to
create text markers from a shape iterator
- The DRC framework has been enhanced with a "text" function
2017-07-07 00:02:52 +02:00
Matthias Koefferlein
801f83f09c
Added DRC test suite and "smoothed" function for DRC
2017-07-06 23:02:11 +02:00
Matthias Koefferlein
14e1c0d5bd
Reverted snap implementation to use micrometer unit objects.
2017-07-05 00:18:50 +02:00
Matthias Koefferlein
8910828726
More consistent definition of precision for double types
...
The double types (DCoord, DPoint, DVector ...) support a
more consistent equivalence criterion now. This supports
micron-unit objects without loss of precision.
Before this fix, the precision used for 0.01 which was
basically implying a resolution of 10nm for micrometer-unit
double objects.
2017-07-04 23:50:30 +02:00
Matthias Koefferlein
18f79dde67
First fix - adjusted accuracy for micron units
...
But: floating points coordinates are used internally for
size - hence dbPolygon:20 test is failing.
2017-07-02 23:33:23 +02:00
Matthias Koefferlein
24b213df40
Fixed a potential segfault because of static initialization order.
2017-07-02 22:42:53 +02:00
Matthias Koefferlein
798425c564
OASIS reader bugfix (PROPVALUE forward refs in lists)
2017-07-02 19:45:02 +02:00
Matthias Koefferlein
9c33a73086
Some indication of selected state also for single-position rulers.
2017-07-02 19:21:38 +02:00
Matthias Koefferlein
b6b604ff93
'goto position' now shows a single-cross ruler on the target place.
2017-07-02 19:21:04 +02:00
Matthias Koefferlein
d83c420c0a
Better support for delete-while-iterate on stable vectors
2017-07-02 19:19:55 +02:00
Matthias Koefferlein
78cdec4d68
WIP: rulers
...
- some refactoring
- auto-registration of cross and measure rulers
2017-07-02 02:19:38 +02:00
Matthias Koefferlein
86e2b8cad1
WIP: auto-measurement rulers
...
- More tests on the snapping functions
- Bugfixes and enhancements for ruler features
2017-07-01 23:07:33 +02:00
Matthias Koefferlein
4ebfb24fca
Ruler's auto-measure function improved
...
Already a very useful feature.
First tests added for snap feature.
2017-07-01 10:03:47 +02:00
Matthias Koefferlein
c263878a4b
WIP: rulers and auto measure
...
* Fixed snapping - don't use double objects with micron units
* Implemented first version of auto measure - needs improvement.
2017-06-30 00:03:21 +02:00
Matthias Koefferlein
919de1af01
Ruler enhancements
...
* There is a ruler mode now
* Ruler templates can have categories
* Ruler templates can be defined from RBA/pya
* Single-click annotations are implemented already
2017-06-28 23:17:02 +02:00
Matthias Koefferlein
e30f1b6a34
Added unit tests for RBA::Annotation. Plus fixed a bug in the compare function.
2017-06-28 21:39:06 +02:00
Matthias Koefferlein
d0427184e4
Fixed a typo.
2017-06-27 23:30:03 +02:00
Matthias Koefferlein
1b3a49e043
Advanced rules now working.
2017-06-27 23:16:59 +02:00
Matthias Koefferlein
9398b5373a
WIP: enhanced annotations - ellipses, text alignment etc. Some things aren't working yet!
2017-06-27 00:54:31 +02:00
Matthias Koefferlein
61ef30f9ad
Enhanced layout statistics form
...
The form offers a detailed shape statistics page.
2017-06-25 22:10:12 +02:00
Matthias Koefferlein
da07e51257
Bugfix: macro editor bracket detection failed
...
On Ruby, a syntax highlighter element could contain
duplicate brackets, so that such an expression
((a+1)+1)
was not handled correctly. The solution is to treat
each individual character inside the elements but
skip comment and string elements.
2017-06-25 11:30:24 +02:00
Matthias Koefferlein
93713d19e1
Ruby integration and debugger enhancements
...
- Massive performance improvement with debugger - trace was
eventually clearing the file to id map.
- UI updates on debugger did not happen because delayed
execution of functions got disabled.
2017-06-21 01:37:07 +02:00
Matthias Koefferlein
96c150a4ee
Fixed #13 (OASIS reader performance on forward-ref PROPSTRING)
2017-06-20 22:05:22 +02:00
Matthias Koefferlein
88a3068a0b
More abilities for native plugins
...
This commit is a preparation for native plugins. It adds
the ability to register for autorun and autorun-early
for native, binary extensions.
Plus, the search path for binary extensions was modified
so it does not need to be ABI specific (i.e. without -gcc).
This prepares for a plugin scheme which uses a C-only API
and does not impose ABI compatibility requirements.
2017-06-19 22:33:37 +02:00
Matthias Koefferlein
19777e5629
Provide a more elaborate interface for native plugins
...
With this interface, plugins will be able to specify
their version, register autorun functions and more.
2017-06-19 01:02:49 +02:00
Matthias Koefferlein
5ee781a93f
Reactivated some from_xy methods for backward compatibility
2017-06-17 16:53:01 +02:00
Matthias Koefferlein
9ff1a76f94
Added some convenience methods for transformations
...
* Reactivated (deprecated) from_xtrans methods for backward
compatibility
* Added more flavours of "trans" and "*" (like transformation of
boxes)
2017-06-17 16:45:01 +02:00
Matthias Koefferlein
7e6dfdf5b4
Another tiny performance enhancement.
2017-06-17 16:01:09 +02:00
Matthias Koefferlein
b0fbbadd83
A small performance improvement (by avoiding intermediate objects)
2017-06-17 00:32:00 +02:00
Matthias Koefferlein
07b973a312
RBA performance
...
Some small performance improvement by avoiding calls to "initialize"
where not required.
2017-06-16 22:28:36 +02:00
Matthias Koefferlein
afcacf5b1f
WIP: brought down the time for call variant determination by caching.
2017-06-12 23:23:13 +02:00
Matthias Koefferlein
c891d06ac3
Some performance enhancement (~30%) of RBA/PYA
...
This was achieved by separating the methods into
constructors and callbacks, hence there are less iterations
required when lookup up the latter.
2017-06-12 00:31:00 +02:00
Matthias Koefferlein
a5d9bbb3d1
WIP: fast replacement for rb_gc_register_address/rb_gc_unregister_address.
2017-06-05 23:26:10 +02:00
Matthias Koefferlein
1bc0243c0a
Unit tests fixed
...
The "active_cellview_changed" event was issued multiple times.
This fix avoids this redundancy.
2017-06-05 22:27:49 +02:00
Matthias Koefferlein
dbdb46c5cb
A small optimization for instance marker drawing.
2017-06-05 19:07:18 +02:00
Matthias Koefferlein
cb296a802e
Bugfix: instance selection cycling wasn't working
...
When instanced overlay, it wasn't possible to select
the "other" instances. This is fixed. (reference: Trac 1015).
In addition:
- The instance selection now shows the label
- Bugfix: the transient selection now really is disabled
(it was popping up once after selection happened)
- RBA::Marker#line_style has been added
2017-06-05 18:58:24 +02:00
Matthias Koefferlein
1b0dcb5bf9
Better installation feedback for package manager
...
Now the confirmation dialog stays open and will show a log with the
installation progress and results.
The "marked" icon has been changed to look a bit less painted.
2017-06-05 12:54:09 +02:00
Matthias Koefferlein
46fccb99bc
WIP on Salt package manager
...
- made WebDAV implementation compatible with Git's SVN API
- bugfix: parallel requests were not supported on tl::HttpStream
2017-06-05 03:16:29 +02:00
Matthias Koefferlein
2f82a8d853
Bugfix: new package is selected after it is created
2017-06-04 00:24:55 +02:00
Matthias Koefferlein
edf7caa2fb
Enhanced Salt package capabilities
...
* Salt packages can host native Ruby and Python
libraries now. The "ruby_lib" and "python_lib"
templates provide such native libraries.
This way we can basically wrap every native
extension in such a package.
* Ability to supply binary plugins through
Salt packages as well.
2017-05-27 22:32:55 +02:00
Matthias Koefferlein
f41e849e2f
A little refactoring and polishing of the Salt Manager dialog.
2017-05-26 23:47:36 +02:00
Matthias Koefferlein
e08e3459af
Set the default salt mine URL to the final one
...
+ fixed a WIN32 build error.
2017-05-17 22:22:27 +02:00
Matthias Koefferlein
60cfbd9c6f
Merge branch 'salt'
2017-05-07 23:55:22 +02:00
Matthias Koefferlein
9b42049abe
clang compatibility
...
Fixed some compile issues with clang and
some warnings.
2017-05-07 23:52:20 +02:00
Matthias Koefferlein
88e753e86f
Fixed some typos and bugs in the Salt templates
2017-04-29 01:59:19 +02:00
Matthias Koefferlein
eca08cbd99
Added many Salt templates.
2017-04-29 01:40:32 +02:00
Matthias Koefferlein
f79b14d0e4
Salt: added font, macro and mymacro templates.
...
Fixed two small bugs in the properties dialog (accept
wasn't possible if the doc link could not be read)
and remove_from_collection (infinite loop).
2017-04-26 23:19:36 +02:00
Matthias Koefferlein
b3e823ca28
Fixed the timers for measuring read sorting times (out of band fix)
2017-04-25 23:41:36 +02:00
Matthias Koefferlein
1091ea6d5b
Technology specific libraries
...
Libraries now carry a technology association and
only libraries associated with the current technology
can be selected.
To enforce proper update, cancel() will be used upon
change of technology. This avoids side effects when
changing the technology without notifying the library
selection widgets.
The MainWindow::cancel method has been generalized to
cover the functionality of cm_cancel without the
exception handling.
2017-04-23 19:30:55 +02:00
Matthias Koefferlein
01e5c607fc
WIP: sort packages by their dependencies
...
This fix ensures that packages satisfying dependencies
for other packages come before these in the flat package order.
This is in particular important for macro packages where those
supplying libraries need to be executed before the ones
that use these.
2017-04-23 18:22:06 +02:00
Matthias Koefferlein
1a9b5ead09
WIP: documentation URL's of packages can be relative
...
If the documentation URL is relative it's either
taken relative to the package installation path or
to the download URL. This means that documentation
can be inside the package now.
2017-04-22 23:32:59 +02:00
Matthias Koefferlein
0b7beee12d
WIP: indicating of packages in tech and macros
...
Technologies and macros that come from packages
are indicated as such in their description texts
in the tech and macro editor.
Technologies and macros that come from packages
which are downloaded are readonly now. This will
prevent editing of downloaded packages.
2017-04-22 22:47:08 +02:00
Matthias Koefferlein
561ce8797e
WIP: some restyling of the salt manager dialog.
2017-04-22 22:03:40 +02:00
Matthias Koefferlein
1f92b89e16
WIP: Don't allow to edit downloaded packages.
2017-04-22 21:56:37 +02:00
Matthias Koefferlein
42756a76f6
WIP: API version of packages is checked now.
2017-04-22 21:45:49 +02:00
Matthias Koefferlein
38f60ad3fd
WIP: package manager lists file details now, API version added
2017-04-22 21:30:39 +02:00
Matthias Koefferlein
7e1e75ebf0
Salt manager dialog: UI enhancements
...
* refresh function for salt mine
* Split "new" tab into "updates" and "new installations"
* A warning icon in the tab when updates are available
2017-04-22 18:09:12 +02:00
Matthias Koefferlein
6ba251cf2a
WIP: Added font controller
...
This enables font packages: packages can now provide fonts by
featuring a "fonts" directory with the font layouts.
This commit also adds the capability to dynamically add fonts.
The Glyphs system is decoupled from the application's system
path and the BASIC.TEXT PCell parameters are non-cached to
enable dynamic updates.
2017-04-22 00:03:58 +02:00
Matthias Koefferlein
0078ee5334
Fixed a build issue on gcc 4.4.7 (improper use of typename)
2017-04-20 21:30:50 +02:00
Matthias Koefferlein
a7038282ce
WIP: Library controller plus a bugfix
...
The bug was that a crash happened when a package was deleted.
Essentially that was an effect of too many message boxes asking
to run autorun macros (also a bug - solved by deferred execution
of the macro update). This is solved by putting the salt model
into a "under construction" state while the model is not updated
yet.
2017-04-20 00:09:53 +02:00
Matthias Koefferlein
9c2c3301cf
File watcher: ignore missing files/folders to prevent 'deleted' events later.
2017-04-20 00:09:03 +02:00
Matthias Koefferlein
2dd03c0e37
Removed some artifical styling.
2017-04-20 00:08:31 +02:00
Matthias Koefferlein
d5bf24666f
WIP: technologies now are synced with salt
...
- The technology list now is synched with the salt package
manager so it's basically possible to include technologies
into packages.
This checkin also contains:
- A "NoDeferredMethods" class that blocks execution of deferred
methods in a region of code (preferably around message boxes).
This prevents side effects when message boxes are shown and
deferred methods are processed because of this.
That prevention method is used in the macro controller when
asking whether to execute autorun macros (that happens in
slots and must not interfere with deferred methods).
It's also used to protect the exception handlers.
- The tech manager dialog's refresh function used to crash
because of an invalid tech pointer.
2017-04-18 23:58:24 +02:00
Matthias Koefferlein
4460819a6c
Macro editor now acts on more file changes
...
- Adding/removing folders to packages now will
make them appear/disappear automatically in the macro
editor.
- Adding and removing files from folders will make
them appear/disappear in the macro tree.
2017-04-18 01:07:10 +02:00
Matthias Koefferlein
b3abb276a4
WIP: integration of salt controller for macros
...
This enables defintion of macros within salt packages
(this is probably the most important application).
2017-04-17 18:24:59 +02:00
Matthias Koefferlein
59dadcdd38
WIP: small bug fixes
...
- LayoutView should accept technology names that are valid only
- CellView now also sends an "active cellview changed" event when
loading a layout in "replace layout" mode.
2017-04-17 18:22:36 +02:00
Matthias Koefferlein
88487a001f
Integration of Salt with another controller
2017-04-16 23:03:33 +02:00
Matthias Koefferlein
209b16f3ea
Merge branch 'salt' into controllers
2017-04-16 21:05:06 +02:00
Matthias Koefferlein
516c3ff925
WIP: tech controller and tech setup dialog
...
Some bug fixes (description was not updated in tree,
base path of new tech was not set, dirs were not reused
for new tech).
Some enhancements (tech setup dialog's window state
is persisted etc.)
2017-04-16 00:27:28 +02:00
Matthias Koefferlein
6b6b45714f
WIP: controllers (tech + macro)
...
The tech controller now is indenpendent from the
macro controller. The macro controller is responsible for
pulling it's data from the tech controller. It's initialized
after the tech controller so it can do so.
The macro controller is also responsible to building the
menus.
The tech controller issues events that the macro controller
can listen to.
2017-04-15 23:07:40 +02:00
Matthias Koefferlein
430d140016
WIP: some bug fixes.
2017-04-15 18:50:51 +02:00
Matthias Koefferlein
e6f696b8dc
WIP: bugfixed tech controller, more refactoring
...
Resolved the dependencies between MainWindow, TechController
and MacroController somewhat more.
* The macro controller now listens to the tech controller
for the active technology
* The tech controller has more responsibility now
* Some functionality has been taken out of the MainWindow
and put into the controller's implementation
2017-04-15 17:51:04 +02:00
Matthias Koefferlein
5b422440a1
WIP: technologies are file based by default now
...
* Introduced "refresh" method of tech setup dialog
* Some refactoring -> tech management is part of
tech controller
* Macro category management moved to macro controller
2017-04-15 01:03:24 +02:00
Matthias Koefferlein
83b2c150d9
Fixed a segfault in batch mode.
2017-04-11 23:34:55 +02:00
Matthias Koefferlein
018516b0de
Fixed #11 (Ruby 2.0.0 compatibility)
2017-04-10 19:27:29 +02:00
Matthias Koefferlein
7a5e7e8187
Fixed #10 .
2017-04-09 23:08:26 +02:00
Matthias Koefferlein
9563d13bf3
WIP: introduced technology controller
...
The technology controller is a further abstraction and
is derived from the TechnologySelector. It will act
together with the MacroController and supply technology
specific information. Macros are part of that.
2017-04-08 22:32:08 +02:00
Matthias Koefferlein
683be55104
Fixed build without Ruby/Python
2017-04-07 22:18:47 +02:00
Matthias Koefferlein
abb5424ece
WIP: introducing MacroController
...
The MacroController is the central facility for managing
macros and their views. The plugin framework has been
extended to support such a design.
In addition, some small bugs have been fixed related to
macro interpreters (specifically the DRC).
2017-04-05 00:20:32 +02:00
Matthias Koefferlein
90693f9f67
Some enhancements on cell and layer search
...
- Shortcuts are honored and have priority over
search initiation. This is in particular important
for "*".
- "/" initiates search without yielding a "/" in the
text edit box.
2017-04-03 00:01:32 +02:00
Matthias Koefferlein
b3b0ce066e
Fixed some issues around the help index
...
- Now the help index can be installed with the app
Fallback is auto-generated index in app folder.
- The index can be generated by script with
RBA::HelpSource#create_index_file
- The index is read only when the help dialog
is opened (reduces start time)
2017-04-02 23:30:11 +02:00
Matthias Koefferlein
dd4b873d64
Fixed some compiler warnings and some small refactoring
2017-04-01 23:18:04 +02:00
Matthias Koefferlein
50df9e5b21
Provide Ruby/Python binding for technology definitions
...
The respective new classes are RBA::Technology and
RBA::TechnologyComponent. This interface will replace
the current way of doing tech management from scripts
by using the "technology-data" configuration parameter.
2017-04-01 00:45:55 +02:00
Matthias Koefferlein
47aa38421a
Unique library named to avoid name conflicts
...
The libraries generated are called libklayout_x now
(instead of libx). This avoid name conflicts with
"libdb.so" on some systems for example.
2017-03-31 00:23:12 +02:00
Matthias Koefferlein
e35e9fe8f7
Tech data accessible as "technology-data" config value
...
Previously, the "technology-data" complex configuration
value was stored in the configuration file, but not
accessible from scripts through Application#set_config
and Applicatiob#get_config. It was as pseudo parameter
that wasn't dynamically connected to the application
state.
Now it's handled separately as if it was a normal
parameter. This is just an intermediate solution
required because this interface is the only one
through which tech data is accessible from scripts.
2017-03-30 00:11:09 +02:00
Matthias Koefferlein
a24e6d94a9
Fixed #9 (DEF reader issue: "Invalid orientation specification")
2017-03-29 23:37:06 +02:00
Matthias Koefferlein
3598898997
Fixed #7 (Support "is_dirty?" predicate for RBA::CellView)
2017-03-29 22:13:09 +02:00
Matthias Koefferlein
7228efc7bd
WIP: various enhancements for salt manager
...
* double-click
* salt mine context menu
* bug fixes
* etc.
2017-03-27 23:55:26 +02:00
Matthias Koefferlein
cb589dc2d3
WIP: downloading of packages
...
- Support for WebDAV
- Download manager implemented
- Apply button functionality implemented
(needs testing)
2017-03-27 15:46:01 +02:00
Matthias Koefferlein
d98495c18a
WIP: new features for HTTP streams.
2017-03-26 23:27:51 +02:00
Matthias Koefferlein
a5d0461284
WIP: removed obsolete method.
2017-03-26 23:26:45 +02:00
Matthias Koefferlein
9e2c4cb927
WIP: marked mode, update required message
2017-03-26 01:02:40 +01:00
Matthias Koefferlein
b72655c94b
WIP: preview download and search feature in package manager
2017-03-25 23:33:07 +01:00
Matthias Koefferlein
fee806704d
WIP: combined installation and browser dialog
2017-03-25 10:15:24 +01:00
Matthias Koefferlein
d160a5c27c
WIP: delete function, installation dialog (first steps)
2017-03-25 00:08:17 +01:00
Matthias Koefferlein
10b09c3575
WIP: create packages from templates
...
Now, packages are actually created.
2017-03-23 23:46:25 +01:00
Matthias Koefferlein
4a90479187
WIP: package template selection dialog
...
Plus some initial package templates (without files).
2017-03-23 22:19:13 +01:00
Matthias Koefferlein
1353c9dfb0
WIP: download capabilities for salt grains.
2017-03-21 22:53:04 +01:00
Matthias Koefferlein
820c291623
WIP: salt package manager: features for installer
...
First steps towards installer support. Specifically:
- basic installation methods, basic framework
- file utilities for directory copy
Side effect: temp directories of unit tests are
now cleared prior to test run.
2017-03-21 22:20:24 +01:00
Matthias Koefferlein
10345eea73
Restyling of log viewer
...
Now the entries have icons telling the type of message.
This is more convenient when multi-line messages are
encountered.
2017-03-21 12:18:09 +01:00
Matthias Koefferlein
334fca3f76
WIP: checking of grain properties.
2017-03-21 11:24:45 +01:00
Matthias Koefferlein
ec415d9251
WIP: functionality of package properties editor
...
Side effect: the log dialog now has an icon
indicating whether there are errors or warnings.
A new utility widget has been introduced to
attach log messages (warnings/errors) to
dialogs. This widget is a QToolButton that
is invisible initially. It provides warning
and errors channels and can be fed messages.
If errors or warnings are fed, the tool button
becomes visible. If (directly) embedded inside
a QFrame, the frame's background will turn
red to indicate the region of interest.
The button can be pushed to read the log.
The button is called lay::AlertLogButton
and is found in layLogViewerDialog.h.
TODO: move to layBasic.
2017-03-20 22:29:22 +01:00
Matthias Koefferlein
faf8acb3d1
WIP: completer for name of dependency package
2017-03-20 17:53:47 +01:00
Matthias Koefferlein
5dab4b19ec
WIP: some styling topics.
2017-03-20 10:07:39 +01:00
Matthias Koefferlein
b34750f8cd
WIP: salt package manager
...
New features like properties editor, proper
icon sizing, some styling etc.
2017-03-19 22:44:46 +01:00
Matthias Koefferlein
3f9f06a9b9
WIP: more information on packages
2017-03-19 00:42:09 +01:00
Matthias Koefferlein
3a6e4982c8
WIP: more functionality for Salt Package Manager
2017-03-18 22:36:33 +01:00
Matthias Koefferlein
b8238a85f9
WIP: first steps towards package browser
2017-03-18 00:22:45 +01:00
Matthias Koefferlein
695a5d3169
WIP: Salt class and unit tests
2017-03-15 22:56:47 +01:00
Matthias Koefferlein
c6833b2b67
Fixed a doc typo.
...
See https://www.klayout.de/forum/comments.php?DiscussionID=935&page=1#Comment_4292
2017-03-14 23:37:39 +01:00
Matthias Koefferlein
134534adca
WIP: removal of grains/collections (needs unit tests).
2017-03-14 23:32:16 +01:00
Matthias Koefferlein
59dd36f692
WIP: grains collections for salt package manager.
2017-03-14 22:59:24 +01:00
Matthias Koefferlein
2953184b15
Fixed #6 (RVE DB reader and edges)
...
This solution will not only fix this issue but also turn
pairs of edges into "edge pair" objects. These objects
provide a somewhat better visualization for DRC violations
by connecting the edges with a filled region.
Single edges and clusters of more than two edges are
represented as individual edges.
2017-03-14 00:09:51 +01:00
Matthias Koefferlein
b98afd5a8d
WIP: next steps on package manager.
2017-03-13 23:55:57 +01:00
Matthias Koefferlein
b16d8b9419
Completed unit tests for laySaltGrain.cc
2017-03-12 23:36:51 +01:00
Matthias Koefferlein
e421026366
Started package manager development ('salt')
2017-03-12 23:26:04 +01:00
klayoutmatthias
fea965a321
Enhanced styling of expander icon in tree view
...
Now it's compatible with the different selection styles
(some include the decoration, some don't)
2017-03-07 21:41:47 +01:00
klayoutmatthias
e06224e00d
Build fixed - one deleted header was still included.
2017-03-05 23:17:56 +01:00
Matthias Koefferlein
93024b4611
Qt binding build issues fixed
...
Split Qt namespace to enable build on WIN32
(no /bigobj on MinGW). Removed pseudo-constructors
with Qt::Initialization parameter.
2017-03-05 21:01:35 +01:00
Matthias Koefferlein
5f6c6a3264
Advanced search features for the cell selection form too
...
* Case sensitive/insensitive (persistent)
* Expressions yes/no (persistent)
* Clear button
* Tab keys to navigate between found cells
2017-03-05 00:57:51 +01:00
Matthias Koefferlein
7ddc6bf9df
Bugfix: crash on exit
...
This crash started to happen with the bugfix
for the black-on-black tree expander icon.
It was caused by the styling that was attached
to the widgets in order to fix this. Apparently
Qt does not like to attach proxy styles dyna-
mically.
Now, the styling is applied globally and this
issue is fixed.
2017-03-05 00:56:45 +01:00
klayoutmatthias
af640086e6
Small fixes
...
- Qt5 binding was not properly including bindings for special types
- Macro editor: forward button wasn't autoRaise like the others
- DRC engine: gave deprecation warnings for Ruby 2.4 because Fixnum
became deprecated. Now the implementation is more generic.
- Fixed some #includes for Qt5
2017-03-03 22:56:18 +01:00
Matthias Koefferlein
5c414ef0be
Search feature for layer list
...
To enable the search feature just type into the layer list.
This change set also contains some more fixes:
* Tab/Backtab now is functional also before the
Display menu has been used the first time
* Arrow keys work from the cell list again
2017-03-02 23:45:37 +01:00
Matthias Koefferlein
08076de815
Merge branch 'master' of https://github.com/klayoutmatthias/klayout
2017-03-02 00:28:27 +01:00
Matthias Koefferlein
29727f597d
Fixed the issue of dark tree expansion icons
...
Prior to this bug fix, the expansion icons were
not visible with a dark background on some platforms
(i.e. Gtk style, native Windows style).
2017-03-02 00:26:16 +01:00
klayoutmatthias
194a4cc4af
Fixed #5
2017-02-28 23:26:47 +01:00
Matthias Koefferlein
bf15e46c10
"Find cell" feature: just type into the cell list
...
This feature includes:
* Enhancements to tl::GlobPattern
(exact mode, case insensitive)
TODO: UTF8 support
* Enhancements to DecoratedLineEdit
(ESC key handling, Tab key handling)
2017-02-28 22:24:14 +01:00
Matthias Koefferlein
8e22d7bba8
Bugfix: stop in debugger left it in unusable state
...
This happened if the script was stopped in the debugger.
Afterwards breakpoints were ignored.
2017-02-26 23:23:20 +01:00
Matthias Koefferlein
f18ca83575
WIP: fixed a typo.
2017-02-25 01:47:45 +01:00
Matthias Koefferlein
ae986d3234
Implemented #2 ([Simple]Polygon#extract_rad feature for Ruby/Python)
2017-02-25 01:35:14 +01:00
Matthias Koefferlein
85f048dd6d
Bugfix: "save as" indicated "file was updated"
...
After "save as", the file was considered outdated
and KLayout offered to reload it. Now, KLayout is
silent.
2017-02-25 00:08:37 +01:00
Matthias Koefferlein
1f60e7729e
Qt signals can be bound to functions with less args in Python
...
With this change it is possible to bind signals to functions
accepting less arguments. For example:
def triggered():
...
b = pya.QPushButton()
b.clicked(triggered)
b.emit_clicked(True)
wasn't working before since triggered() gets one parameter
(checked) and the call fails. Now, additional parameters are
ignored.
2017-02-24 23:48:47 +01:00
Matthias Koefferlein
ede58ae728
Added a convenience method to RBA::Layout for creating a temp layer
2017-02-24 22:43:31 +01:00
Matthias Koefferlein
49be72e1a2
Fixed #3 (crash when dragging PCell dummy)
2017-02-23 23:59:16 +01:00
Matthias Koefferlein
55bac69a4a
Drawing optimization: only redraw changed layers
...
The effect was: when drawing a shape on a single layer, all
layers have been redrawn. This was changed such that only
the affected layer is actually redrawn.
2017-02-23 23:33:07 +01:00
Matthias Koefferlein
83f12382e8
Refactoring: there is one Qt binding lib.
2017-02-23 01:19:02 +01:00
Matthias Koefferlein
d66291af5b
Fixed new implementation of Qt bindings for Qt5
2017-02-22 22:34:26 +01:00
Matthias Koefferlein
15babda953
Provide a proper solution for the bridge object
...
The bridge object (between QObject and gsi::ObjectBase)
needs to have Q_OBJECT. Otherwise findChild<T> won't
work for it.
2017-02-22 00:17:16 +01:00
Matthias Koefferlein
92fd33744d
WIP: first solution for lost references issue
...
* The solution consists of attaching a bridge object
to QObjects. If the host object is destroyed, the
bridge object will notify the script client
* The bridge object attachment is optimized so it
only happens if required (but still too often ...)
* The child object of QChildEvent gets a special
handling since this object is almost dead in case
of remove. This special handling consists of
a special, stripped class which is used to
only represent QObject in that particular case.
2017-02-21 23:47:48 +01:00
Matthias Koefferlein
eea5da4ba6
Attempt to fix "GSI does not monitor lifetime of Qt objects"
2017-02-20 22:21:29 +01:00
Matthias Koefferlein
bdcd76e9b5
Fixed #1 (https not supported)
2017-02-17 22:36:18 +01:00
Matthias Koefferlein
20f77d19d5
Enabled build on Ruby 2.2.
2017-02-17 22:32:43 +01:00
Matthias Koefferlein
8edaf8a62b
Added more unit tests for recursive shape iter with complex regions.
2017-02-15 21:23:32 +01:00
Matthias Koefferlein
8c4013c500
Added some more unit tests.
2017-02-15 01:15:47 +01:00
Matthias Koefferlein
320e96f6da
WIP complex regions for RecursiveShapeIterator
...
* Refactoring: no more "box+exclude" regions - they
can be emulated using a NOT with the same result
* "confinement" of regions inside recursive shape
iterators
* setters and getters for complex regions in GSI,
confinement
* more unit tests, some bug fixes
2017-02-15 00:53:39 +01:00
Matthias Koefferlein
fb6cf92b15
WIP on complex regions for RecursiveShapeIterator
...
- Added some tests
- Performance improvements for insert of
regions into shapes
- Added LayoutLocker for that purpose
(locks a layout against updates temporarily)
- Improved implementation on RecursiveShapeIterator
with complex regions: will now check if a shape
is really inside the region.
2017-02-14 00:13:57 +01:00
Matthias Koefferlein
282c6f70e2
Unit tests are passing again (no new tests yet).
2017-02-13 00:41:37 +01:00
Matthias Koefferlein
16b5e2f99c
Added GSI support for complex search regions
2017-02-13 00:13:43 +01:00
Matthias Koefferlein
f71fe1ff05
Initial implementation of complex regions for RecursiveShapeIterator.
2017-02-13 00:01:21 +01:00
Matthias Koefferlein
08676f0a01
Add private plugin data to .gitignore.
2017-02-12 16:54:05 +01:00
Matthias Koefferlein
6b9a41b269
Fixed XML output of test suite.
2017-02-12 16:42:15 +01:00
Matthias Koefferlein
a1e8aaf6b8
Updated copyright note to 2017.
2017-02-12 15:28:14 +01:00
Matthias Koefferlein
d38b1794d2
Tests with missing input data are skipped now
2017-02-12 15:27:12 +01:00
Matthias Koefferlein
7fa185a9b3
Added (empty) plugin directory, fixed main .pro file.
2017-02-12 14:17:18 +01:00
Matthias Koefferlein
1b98f9b0f9
Initialized repository with current sources.
2017-02-12 13:21:08 +01:00