Matthias Köfferlein
cee33a0099
Merge pull request #992 from KLayout/api-enhancements
...
Api enhancements
2022-02-18 23:28:28 +01:00
Matthias Koefferlein
c5da9c717d
scale_and_snap: separate handling of shapes with properties and without
2022-02-18 18:49:00 +01:00
Matthias Koefferlein
a133a8f43b
Reverted some changes, removed idle code
2022-02-18 18:43:02 +01:00
Matthias Koefferlein
834dfa6614
Bug fixes, enhancements, tests for snap and scale improvements.
2022-02-18 14:22:16 +01:00
Matthias Koefferlein
e9d86822df
Scale and snap improvements
...
* edge and edge pair support
* property support
* no expanding of on-grid arrays
* more inline processing, better performance
2022-02-18 00:03:14 +01:00
Matthias Koefferlein
d2c2a875dd
Removed debug output
2022-02-13 23:39:09 +01:00
Matthias Köfferlein
0132ad08f7
Issue 994 ( #1006 )
...
* Implemented issue-982 (heal option for strmxor)
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.
Healing is only effective with tiling and affects output shapes
as well as shape counts.
* Fixed issue 994 (maybe, increased capture range for catching an existing selection)
2022-02-13 19:05:21 +01:00
Matthias Köfferlein
72bf152735
Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. ( #1007 )
2022-02-13 10:06:01 +01:00
Matthias Köfferlein
b3d17cff97
Implemented issue-982 (heal option for strmxor) ( #1004 )
...
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.
Healing is only effective with tiling and affects output shapes
as well as shape counts.
2022-02-13 10:04:25 +01:00
Matthias Koefferlein
4a8918364b
Patch for issue-973 fix to make it work with libcurl
2022-02-12 22:16:14 +01:00
Matthias Köfferlein
11a91300bd
issue-996 Providing a "refresh" function for triggering a refresh from inside t… ( #998 )
...
* Providing a "refresh" function for triggering a refresh from inside the lib
Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
re-creation of library references to avoid side effects.
Save without context.
* Added missing files
* Fixed unit tests.
2022-02-12 21:26:28 +01:00
Matthias Koefferlein
72d0f717fe
Fixed units tests
2022-02-12 18:20:38 +01:00
Matthias Köfferlein
572103ad23
Fixed issue-972 ( #1003 )
...
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:08:52 +01:00
Matthias Köfferlein
0199192e83
Fixed #989 (cannot convert <defunct> cell to static cell) ( #1002 )
...
Fixed some more glitches while doing so:
* cell.name (gsi) was giving "basic_name", now it's changed to the
internal name to be consistent with "name=". The "functional name"
is still available as "basic_name".
* The basic name was rendering "<defunct>..." for defunct cells
and has been changed to the functional name. Otherwise this
is not accessible.
2022-02-12 17:05:12 +01:00
Matthias Köfferlein
0005c5d742
Fixed #971 (double compare fails in LVS) ( #1001 )
2022-02-12 17:04:47 +01:00
Matthias Köfferlein
ec52be166c
FIxed #997 (display of negative extensions of paths) ( #999 )
2022-02-12 17:02:59 +01:00
Matthias Köfferlein
60aab8b3fd
Fixed #995 (new topcell after load) ( #1000 )
2022-02-12 16:51:01 +01:00
Matthias Koefferlein
2ed572e684
Merge branch 'api-enhancements'
2022-02-11 19:10:21 +01:00
Matthias Koefferlein
75aaf10512
Query parser is somewhat more restrictive now and doesn't read everything as cell expression.
2022-02-11 00:30:08 +01:00
Matthias Koefferlein
5dd50d2f59
Search/replace: also highlight results from data queries
2022-02-10 23:56:08 +01:00
Matthias Koefferlein
3f2ca1dfbe
micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries
2022-02-10 23:14:08 +01:00
Matthias Koefferlein
98dd0de139
clip method variants with dboxes and cell references in Layout
2022-02-08 23:49:28 +01:00
Matthias Koefferlein
3a422f2c38
Trans: mapping ctrans to * for harmonization
2022-02-08 23:13:37 +01:00
Matthias Koefferlein
a5e7395d10
Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation
2022-02-08 22:56:58 +01:00
Matthias Koefferlein
1a53cd00d2
Convenience 'each' for recursive shape iterator / recursive instance iterator
2022-02-08 22:28:09 +01:00
Matthias Köfferlein
d764adb101
Issue 984 ( #987 )
...
* WIP: first attempt to fix issue-983
* WIP: bugfixes
* Fixed a problem with displaying empty cell dimensions, one warning
* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour
* Fixed a few flaws in the cell selection scheme on the instance properties dialog.
* Early warning when trying to build a recursive hierarchy.
* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'
* First attempt to fix issue 984
* Fixed issue-983 solution
* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:07:04 +01:00
Matthias Köfferlein
285a5e9fca
Issue 983 ( #986 )
...
* WIP: first attempt to fix issue-983
* WIP: bugfixes
* Fixed a problem with displaying empty cell dimensions, one warning
* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour
* Fixed a few flaws in the cell selection scheme on the instance properties dialog.
* Early warning when trying to build a recursive hierarchy.
* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'
* Fixed issue-983 solution
* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:06:27 +01:00
Matthias Köfferlein
c80f789e5a
Fixed issue-973 (timeout in Salt Manager) ( #981 )
...
The implementation now offers "infinite timeout" with
the option to abort download.
2022-02-08 19:05:53 +01:00
Matthias Köfferlein
71c9073bc5
Fixed issue-979 (backup file fails with relative paths) ( #980 )
2022-02-08 19:05:00 +01:00
Matthias Koefferlein
e49b189f64
Doc clarification for Layout#create_cell
2022-02-07 23:27:10 +01:00
Matthias Koefferlein
88c56d8b64
Introducing unique_cell_name in Layout, fixed the RBA unit tests
2022-02-07 23:05:53 +01:00
Matthias Koefferlein
0bb0f400bf
Introducing world box.
2022-02-07 22:44:35 +01:00
Matthias Koefferlein
79be9aba41
RecursiveInstanceIterator uses weak pointer to Layout too
2022-02-07 22:09:57 +01:00
Matthias Koefferlein
c0b38f3706
Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator
2022-02-07 21:56:37 +01:00
Matthias Koefferlein
e2c6e7aedc
size/sized versions with Vector/DVector
...
Adds variants to size/sized which take a vector instead
of dx, dy and where the mode parameter is optional. So far
anisotropic sizing had to come with a mode argument.
2022-02-07 20:59:09 +01:00
Matthias Koefferlein
de98a30f38
Text/DText enhancements
...
* Enums for alignment values.
* bbox
* position
* typos fixed
2022-02-07 19:46:13 +01:00
Matthias Koefferlein
ffb81a66ea
Fixed Python 3.10 builds
2022-02-05 19:46:53 +01:00
Matthias Koefferlein
477afd4a4d
Fixed a merge issue (master/qt6)
2022-01-23 11:54:32 +01:00
Matthias Koefferlein
46b427740b
Fixed a merge issue
2022-01-21 17:10:48 +01:00
Matthias Koefferlein
95b6af4bc6
Merge branch 'master' into qt6
2022-01-21 15:43:33 +01:00
Matthias Koefferlein
df60f49276
Fixed issue-969 plus a Qt warning
2022-01-12 22:49:20 +01:00
Matthias Koefferlein
45794e405c
Merged with qt6 from server
2022-01-08 23:47:40 +01:00
Matthias Koefferlein
86cee4118b
Updated copyright for 2022 for remaining files.
2022-01-07 22:22:31 +01:00
Matthias Koefferlein
12fd26663d
Merge branch 'qt6'
2022-01-06 21:48:02 +01:00
Matthias Koefferlein
10456516db
Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues)
2022-01-04 21:20:04 +01:00
Matthias Köfferlein
b78a8d58c8
Merge pull request #964 from KLayout/issue-963-show-snapped-position
...
Implemented request: show snapped cursor position in lower left posit…
2021-12-30 09:07:47 +01:00
Matthias Köfferlein
ccb9c05859
Merge pull request #962 from KLayout/lvs-data-as-global-function
...
Enabled 'lvs_data' as a new global function for LVS (for consistency)
2021-12-29 23:16:10 +01:00
Matthias Köfferlein
23207c2fe6
Merge pull request #961 from KLayout/issue-960
...
Fixed #960 (cap value not shown in netlist browser)
2021-12-29 23:15:36 +01:00
Matthias Koefferlein
980cd73c5a
Implemented request: show snapped cursor position in lower left position display.
2021-12-28 22:39:04 +01:00
Matthias Koefferlein
6e15ebb3a1
Enabled 'lvs_data' as a new global function for LVS (for consistency)
2021-12-26 23:39:02 +01:00
Matthias Koefferlein
6c34ce14c0
Fixed #960 (cap value not shown in netlist browser)
2021-12-26 23:34:06 +01:00
Matthias Koefferlein
029b7b9410
Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases.
2021-12-26 21:23:58 +01:00
Matthias Köfferlein
5f73d11fb1
Merge pull request #958 from KLayout/issue-951
...
Issue 951
2021-12-26 19:15:11 +01:00
Matthias Köfferlein
460ba9813a
Merge pull request #957 from KLayout/issue-954
...
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein
4956091e75
Fixed a small glitch too: cut & paste of cells was possible in viewer mode
2021-12-26 12:33:44 +01:00
Matthias Koefferlein
8e02b400ca
Fixed #951
...
The problem was essentially the "specific path" which got invalid.
The solution is to establish a better criterion for "path validity"
and use for failsafes against invalid paths.
In addition, the path validation has been modified such that a
better choice is made about the remaining path after a cell gets
deleted.
2021-12-26 12:20:54 +01:00
Matthias Koefferlein
e1cd6aaeb1
Bugfix for #954
...
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.
Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein
2b9193331e
Small bugfix: no 'nil' layer generated when no layer is selected for a PCell
2021-12-25 18:38:39 +01:00
Matthias Koefferlein
9cd77e5cec
WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation'
2021-12-25 18:03:30 +01:00
Matthias Koefferlein
f985d946a1
WIP: implementing an optional 'update' button for lazy evaluation PCells
2021-12-25 17:40:10 +01:00
Matthias Koefferlein
4820207cd3
Merge remote-tracking branch 'origin/master' into qt6
2021-12-17 21:44:50 +01:00
Matthias Koefferlein
219fbceb28
Fixed the fix.
2021-12-17 08:18:35 +01:00
Matthias Koefferlein
e1df15a47f
Fixed Windows tests
2021-12-16 22:51:20 +01:00
Matthias Köfferlein
f60a5de325
Merge pull request #948 from KLayout/less-expressions
...
Less expression evaluation for more robustness
2021-12-16 07:56:21 +01:00
Matthias Köfferlein
7bc5b51fad
Merge pull request #947 from KLayout/issue-946
...
Fixed issue #946 for the case of file paths with blanks
2021-12-16 07:55:58 +01:00
Matthias Koefferlein
a6d4c80c6c
Less expression evaluation for more robustness
2021-12-16 00:23:06 +01:00
Matthias Koefferlein
533a72b7bd
Added tests, fixed implementation
2021-12-15 23:18:42 +01:00
Matthias Koefferlein
07515cd716
Fixed issue #946 for the case of file paths with blanks
2021-12-15 23:04:58 +01:00
klayoutmatthias
626d404d83
BUild fixes for Windows
2021-12-12 23:49:14 +01:00
Matthias Koefferlein
c76dde4533
Fixed Windows Qt binding for Qt6
2021-12-12 23:00:42 +01:00
Matthias Koefferlein
279342e61a
Added more declarations for gcc in release mode
2021-12-12 16:48:44 +01:00
klayoutmatthias
0c142c9252
gcc 4.x (CentOS 7) does not support all C++11 type traits
2021-12-11 18:56:44 +00:00
Matthias Koefferlein
9aed8529f8
Build needs C++11
2021-12-11 16:37:05 +01:00
Matthias Koefferlein
eecda3222b
Fixed pymod_tests
2021-12-11 15:17:16 +01:00
Matthias Koefferlein
4966601bd1
Updated Qt4 bindings
2021-12-11 14:05:09 +01:00
Matthias Koefferlein
8b87fba8d4
Updated Qt5 bindings
2021-12-11 10:46:24 +01:00
Matthias Koefferlein
ea83b4285d
Enabling multiple bases and child classes for GSI expressions
2021-12-11 10:45:54 +01:00
Matthias Koefferlein
a0546098b3
Fixed Qt5 binding generator config
2021-12-11 10:45:38 +01:00
Matthias Koefferlein
93942e907e
Updated Qt5 bindings
2021-12-11 10:14:14 +01:00
Matthias Koefferlein
2d334bd88d
Some code simplification
2021-12-11 01:09:07 +01:00
Matthias Koefferlein
8dbc31a41f
Removed debug output
2021-12-11 00:42:26 +01:00
Matthias Koefferlein
ca304b15c8
Enable multi-base support for RBA + Qt binding
2021-12-11 00:14:10 +01:00
Matthias Koefferlein
0aca56b1c6
Fixed pymod tests
2021-12-10 01:23:54 +01:00
Matthias Koefferlein
f15db66fc4
Providing a different implementation of the multi-base mixin concept for Python to support multiple bases in Qt binding (e.g. QIODeviceBase)
2021-12-10 00:53:51 +01:00
Matthias Koefferlein
202ac55200
Preparations for multiple bases for Python objects
2021-12-08 23:53:38 +01:00
Matthias Koefferlein
1e795ebb6e
Put in some blank lines for better readibility of generated Qt binding code
2021-12-07 23:43:40 +01:00
Matthias Koefferlein
519d7f6353
Fixed issue #942 (plus: cleaned some config inconsistencies and fixed a small Ui flaw)
2021-12-07 23:40:26 +01:00
Matthias Koefferlein
9c0e94e63c
WIP: Allowing extension (mixin) classes
...
Needed to represent QIODeviceBase as a second base class for
QIOdevice, QFile etc. Additional base classes are supported but
in a rather limited way. They only contribute constants like enums.
No methods can be provided this way (a limitation of the method
enumeration scheme which only supports one base classe)
2021-12-07 23:24:08 +01:00
Matthias Koefferlein
6f9fa7a4a2
Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6
2021-12-05 17:21:09 +01:00
Matthias Koefferlein
818beaa6a4
WIP: build fixes
2021-12-05 17:20:58 +01:00
Matthias Koefferlein
085db4f33f
WIP: enterEvent has a different signature in Qt6
2021-12-05 17:18:19 +01:00
Matthias Koefferlein
e07b9dc609
WIP: batch mode does not crash anymore (QAction cannot be created in non-GUI mode)
2021-12-05 17:07:40 +01:00
Matthias Koefferlein
96650cb65d
WIP: Qt4 compatibility, cleanup, version bumped
2021-12-05 17:03:16 +01:00
Matthias Koefferlein
5eafb5ac13
WIP: cleanup plus added missing files.
2021-12-05 14:43:05 +01:00
Matthias Koefferlein
cb680875de
Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6
2021-12-05 13:39:43 +01:00
Matthias Koefferlein
9124881180
Added missing file.
2021-12-05 13:38:26 +01:00
Matthias Koefferlein
3bb46e2717
Qt5 builds functional again, enabled QLatin1String for Qt5 and Qt4 too.
2021-12-05 13:38:08 +01:00
Matthias Koefferlein
3a68daa0e4
WIP: global enums translated for qtbindings too
2021-12-05 13:36:43 +01:00
Matthias Koefferlein
4a1f1cb1ef
WIP: Qt binding - don't propagate class enum constants to parent scope
2021-12-05 12:02:56 +01:00
Matthias Koefferlein
0e2ff48c14
Compatbility with C++11
2021-12-05 00:29:15 +01:00