Commit Graph

388 Commits

Author SHA1 Message Date
Matthias Köfferlein 769b16ea3f
Issue 1145 (#1151)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Enhanced Shapes::is_valid so it's more reliable in detecting invalid shape objects.

* ObjectInstPath now has a validity attribute

* First implementation of solution for edtService (partial service to follow)

* Validating selection also for Partial Edit mode
2022-09-05 23:35:21 +02:00
Matthias Koefferlein f788818d12 Some more refactoring - further abstracting layout view from container widget 2022-09-03 01:48:50 +02:00
Matthias Köfferlein b1661d3c5e
Issue 1106 (#1107)
* Help browser problem mitigation: on Qt6 (?), QTextBrowser appears to be reloading images relative to the new URL on a URL change. This caused 'missing resource' exceptions. As long as the root cause of this problem is not know, the exceptions are turned into log errors now.

* Fixed issue 1106
2022-07-17 19:59:29 +02:00
Matthias Koefferlein 62bbef53ac Refactoring: layColor -> tlColor 2022-05-30 23:21:32 +02:00
Matthias Koefferlein 2b568cdd5e Fixed some build errors, added tests 2022-05-26 07:47:35 +02:00
Matthias Koefferlein 03761768cf Enabled headless LayoutView. Works. 2022-05-26 01:51:09 +02:00
Matthias Koefferlein f5b4bbb62c WIP 2022-05-15 10:31:09 +02:00
Matthias Koefferlein d2f2d630d9 WIP 2022-05-15 01:19:56 +02:00
Matthias Koefferlein 53490a9faf WIP 2022-05-15 01:14:29 +02:00
Matthias Koefferlein 332daf836e WIP: split laybasic into layui and layview to separate Qt and non-Qt part even more 2022-05-15 00:47:59 +02:00
Matthias Koefferlein 684ece41d1 Fixed qmake-based builds after changing setup.py 2022-05-14 00:00:35 +02:00
Matthias Koefferlein b2b5e5ad55 Modifications to enable building of Qt-less canvas in setup.py 2022-05-12 01:53:16 +02:00
Matthias Koefferlein f827e693ef Fixed Qt-less build 2022-05-09 00:29:48 +02:00
Matthias Koefferlein a737b80b65 Some cleanup + added TODO comments 2022-05-08 23:58:19 +02:00
Matthias Koefferlein f65c3d5fd7 Enabled edt, ant and img for Qt-less builds, added missing files 2022-05-08 22:27:39 +02:00
Matthias Koefferlein 37a42b70db WIP: edt enabled for Qt-less 2022-05-08 19:44:14 +02:00
Matthias Koefferlein aea861f9b4 WIP: preparing synthetic events for LayoutView in non-Qt case 2022-05-08 18:33:40 +02:00
Matthias Koefferlein e49b9a5e8a WIP 2022-05-01 21:56:47 +02:00
Matthias Koefferlein 48f5f95a8f WIP 2022-05-01 20:23:53 +02:00
Matthias Koefferlein 8cbb49d5f9 WIP 2022-05-01 17:47:00 +02:00
Matthias Koefferlein 63a1b24d24 WIP 2022-04-30 23:08:05 +02:00
Matthias Koefferlein a6f2528aff WIP 2022-04-26 00:31:10 +02:00
Matthias Koefferlein c3f3fd00ce WIP 2022-04-26 00:09:39 +02:00
Matthias Köfferlein 3615b50fc4
A couple of enhancements and bugfixes found during issue-1059 research (#1062)
* Opportunity fix: library selection box listed libraries with technology even though no technology is selected.

* Opportunity: show PCell errors on new error layer. Previously, errors were only shown when the PCell had at least a single layer parameter

The error text is drawn together with guiding shapes. Disabling guiding shapes will
turn off error display.

* Opportunity: fixed an issue when reloading a library immediately after loading a layout: in this case, the library connection got lost and cells were substituted by static ones

* Opportunity: added a layout cleanup for the following case: a layout is loaded without the library present - giving defunct cells. Then the library is registered and defunct cells are reconnected.
2022-04-10 18:44:24 +02:00
Matthias Köfferlein cb527cc50b
Issue-1058: implemented backspace button for path and polygon (#1061) 2022-04-10 18:41:58 +02:00
Matthias Köfferlein 33ebcb43f3
Issue 1008 (#1010)
* PyPI deployment: corrected branch filter

* skip redundant points in partial edit, but not colinear ones

* Polygon transformation now preserves raw points
2022-03-01 17:17:30 +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 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 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 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 Koefferlein 980cd73c5a Implemented request: show snapped cursor position in lower left position display. 2021-12-28 22:39:04 +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 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 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 a6d4c80c6c Less expression evaluation for more robustness 2021-12-16 00:23:06 +01:00
Matthias Koefferlein c3010745ec WIP 2021-11-25 19:53:00 +01:00
Matthias Koefferlein 0e15426c9f WIP 2021-11-25 00:57:11 +01:00
Matthias Koefferlein ec527367f2 'tap' shows layer details like view name 2021-10-06 23:26:12 +02:00
Matthias Koefferlein 98e20cf2f1 Enhancement: enable 'tap' function also in view mode 2021-09-23 01:13:56 +02:00
Eugene Zelenko d5c9067d8f Fix misspellings in various modules. 2021-06-11 20:11:37 -07:00
Matthias Koefferlein af6f11c2b3 Fixes #715 (selection box larger than drawn) 2021-04-18 14:02:26 +02:00
Matthias Koefferlein e0d2be2ca6 Typo fixed 2021-04-11 09:50:40 +02:00
Matthias Koefferlein 93a6f2baa7 Warning for non-orthogonal array vectors; important bugfix: editing array vectors wasn't working properly in absolute coordinate mode 2021-04-11 09:40:27 +02:00
Matthias Koefferlein 841e6c8726 Merge branch 'bugfixes' into issue-757 2021-04-11 09:10:38 +02:00
Matthias Koefferlein 25b46def17 Disallow zero columns and rows count for AREFs 2021-04-07 23:22:16 +02:00
Matthias Koefferlein d7c79a3d32 Reversed the interpretation of 'good' row/column combination until further clarification. 2021-04-06 22:49:59 +02:00
Matthias Koefferlein b4f2bfdd5c Enabled Qt4 builds hopefully 2021-04-03 01:24:24 +02:00
Matthias Koefferlein 9acf4cd99e Implemented solution for #757 2021-04-02 00:22:30 +02:00
Matthias Köfferlein 184f2bee50
Smooth bug (#740)
* Smoothing function: provide ability to keep horizontal/vertical lines (important for cut lines)

* Introducting API compatibility macros for generic plugins.
2021-03-14 12:27:36 +01:00
Matthias Koefferlein 71a7326fe9 Enhancements to cell name search feature. Needs more debugging. 2021-02-10 00:17:01 +01:00
Matthias Koefferlein d1e6845ae4 Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated 2021-01-23 21:55:51 +01:00
Matthias Koefferlein 081c445cd8 Merge branch 'master' into complex_drc_ops 2021-01-17 19:55:28 +01:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 46a4178010 More elaborate handling of selection changed events in LayoutView (avoids dummy events) and some more GSI methods for manipulating or checking selections. 2020-12-24 17:57:01 +01:00
Matthias Koefferlein ca1ec353fb Some fixes for the technology feature
- Fixed some potential segfaults due to invalid layout object
- More consistent handling of potential technology switch due to
  active cellview change
2020-12-20 23:49:29 +01:00
Matthias Koefferlein 866ac7ec76 Merge branch 'issue-691' 2020-12-20 19:25:31 +01:00
Matthias Koefferlein 4213f44d72 More robustness against configuration corruption. 2020-12-20 17:58:37 +01:00
Matthias Koefferlein fcf4fd74f6 WIP: bugfixing. 2020-12-13 14:13:59 +01:00
Matthias Koefferlein 78695f9c23 WIP: new technology management scheme, libraries can be tech specific, update of technology in layout updates library references 2020-12-13 12:13:21 +01:00
Matthias Köfferlein 517903dafa
Fixed #647 (text orientation not working on search & replace) (#684)
* Fixed a compiler warning

* Fixed #647 (search & replace not working for text rotation)
2020-11-25 21:29:40 +01:00
root 62d56e3507 Fixed an issue with initialization order (found on CentOS6) 2020-11-22 19:52:58 +00:00
Matthias Koefferlein fd95dc6637 Windows build fix, Qt4 build fix. 2020-11-22 16:20:18 +01:00
Matthias Koefferlein 66945c4944 Fixed build. 2020-09-16 01:17:32 +02:00
Matthias Koefferlein 60e3f87877 Merge branch 'master' into usability-enhancements 2020-09-14 20:41:23 +02:00
Matthias Köfferlein ff79b36740
Fixed #637 (Points are not selected properly for mirrored subcells) (#638) 2020-09-14 18:35:07 +02:00
Matthias Koefferlein d20aac77c6 Snap indicator when moving point in partial mode (no indicator for edge move yet as edge-to-object mapping isn't implemented yet) 2020-09-13 22:28:02 +02:00
Matthias Koefferlein 655c8c7658 WIP: mouse tracking on instance, box, path and text editor. 2020-09-08 00:06:06 +02:00
Matthias Koefferlein 316cf77175 WIP: Ruler now has a mouse snapping indicator too. 2020-09-07 23:49:42 +02:00
Matthias Koefferlein df1583b5db WIP: config options for mouse tracking options. 2020-09-07 23:19:44 +02:00
Matthias Koefferlein 307c10f184 WIP: better highlighting of snap objects. 2020-09-07 22:35:06 +02:00
Matthias Koefferlein e42136ee27 Editor options: recent layers are created if not there. 2020-09-06 23:03:18 +02:00
Matthias Koefferlein a9a9f88f92 WIP: further reworking. 2020-09-06 21:10:26 +02:00
Matthias Koefferlein 46b5b87eaf WIP: refactoring editor options - moved some classes from edt to lay namespace 2020-09-06 18:45:58 +02:00
Matthias Koefferlein fb90144176 WIP: mouse cursor and snap highlighting 2020-09-05 23:58:10 +02:00
Matthias Koefferlein 25588c10c8 WIP: partial editing now opens general options 2020-08-27 20:32:37 +02:00
Matthias Koefferlein 994731c1f0 WIP: more consistent editor options 2020-08-27 19:28:27 +02:00
Matthias Koefferlein 3003eb96e7 WIP: life updated on most shape properties, some bug fixes. 2020-08-26 00:38:41 +02:00
Matthias Koefferlein ac10c72df4 WIP: immediate update of property changes - instances so far. 2020-08-24 22:40:01 +02:00
Matthias Koefferlein 73787eed8a WIP: recent options of boxes, polygons, styling 2020-08-18 21:44:20 +02:00
Matthias Koefferlein 77ef3e049b WIP: recent options for paths - now update on layer style change, some bug fixes, change of current layer will immediately change the drawing layer. 2020-08-18 21:09:05 +02:00
Matthias Koefferlein 59d66676b0 WIP: icons for layers 2020-08-18 00:57:04 +02:00
Matthias Koefferlein 263e04c754 WIP: recent editor options also for paths. 2020-08-18 00:39:19 +02:00
Matthias Koefferlein 9a19ced4e0 WIP: recent configurations for instances, some bug fixes there. Views now reset tool if the tab changes. 2020-08-18 00:01:59 +02:00
Matthias Koefferlein 399e4f4fc7 WIP: some enhancements on recent options page, rotate with right mouse button now changes options too. 2020-08-16 09:51:04 +02:00
Matthias Koefferlein ee5cd9cb63 WIP: first 'recent options' list, dragging a PCell variant into the canvas makes the editor take a PCell with these parameters. 2020-08-15 00:13:17 +02:00
Matthias Koefferlein 9a2c091f65 WIP: completer for cell name (for <10k cells) in instance editor options 2020-08-14 18:58:24 +02:00
Matthias Koefferlein 04f2d3a8c0 WIP: removed 'apply' button on editor options as this is no longer required :) 2020-08-14 02:14:47 +02:00
Matthias Koefferlein 85e68940f2 WIP: interactive controls for generic edit options, bug fix for instance marker - appeared also when editing generic editor options for polygon, box ... 2020-08-14 01:24:46 +02:00
Matthias Koefferlein e12746526f Interactive manipulation of PCell parameters on editoptions page. 2020-08-13 01:20:14 +02:00
Matthias Koefferlein b8c33f1b59 WIP: no-apply for instance properties 2020-08-11 18:44:19 +02:00
Matthias Koefferlein 0ff1a472f5 WIP: don't accept cell drops from wrong technology 2020-08-11 17:47:33 +02:00
Matthias Koefferlein 913a266cd7 WIP: styling. 2020-08-11 17:34:52 +02:00
Matthias Koefferlein 1ea29dd9f3 WIP: avoid a segfault when closing tab while dragging an instance. 2020-08-11 09:44:59 +02:00
Matthias Koefferlein 649d6da1b8 WIP: PCell page indicates now if not a PCell. 2020-08-11 09:17:46 +02:00
Matthias Koefferlein cf3e79b8f8 WIP: PCell parameters are now remembered also for drag&drop 2020-08-11 08:52:23 +02:00
Matthias Koefferlein e8668ed092 WIP: PCell parameters are now remembered for each PCell name/library 2020-08-11 08:27:06 +02:00
Matthias Koefferlein 4ffae9668e WIP: reworked drag&drop from library view into canvas - now will switch to instance mode and take parameters from the instance options rather than popping up a PCell dialog and using mag 1, no mirror, no rotation etc. 2020-08-10 19:51:36 +02:00
Matthias Koefferlein 701f690053 WIP: bugfix - PCell parameter page wasn't updated initially 2020-08-10 10:32:01 +02:00
Matthias Koefferlein 452aafe8ae WIP: some refinement 2020-08-08 23:04:44 +02:00
Matthias Koefferlein 4254221e6e WIP: some refinement 2020-08-08 21:32:21 +02:00
Matthias Koefferlein cdce2cb151 WIP: put the editor options into a separate dockable widget 2020-08-08 21:10:01 +02:00
Matthias Koefferlein 2714b34104 One bug fix for distribute feature 2020-08-08 14:40:11 +02:00
Matthias Koefferlein 1a191fbee9 Small refactoring 2020-08-08 14:26:33 +02:00
Matthias Koefferlein 9842ff8f1b WIP: new implementation of distribute algorithm - the previous one wasn't really smart. 2020-08-08 14:11:59 +02:00
Matthias Koefferlein 28520697a3 WIP: distribute feature. 2020-08-08 00:14:48 +02:00
Matthias Koefferlein 8e4e5cde12 WIP: distribute selected objects feature 2020-08-03 23:48:49 +02:00
Matthias Koefferlein 4389196000 Change layer now also acts on the transient selection if nothing else is selected. 2020-08-03 21:50:55 +02:00
Matthias Koefferlein 5bd73bb8bf 'tap' now changes the current layer while editing and also initiates polygons, paths and boxes. 2020-08-03 20:20:25 +02:00
Matthias Koefferlein 1887fd715a First new implementation of "tap" and some enhancements/bugfixes/refactoring
- Layer icons can be obtained now
- Icon dimension is arbitrary
- Scaling icons for layer list
- More robust event handling in case of pop-up menus
  (selector)
- "Tap" will noe pop up a menu with all layers below the cursor.
  When selected, the current layer is switched.
2020-08-03 10:34:16 +02:00
Matthias Köfferlein 852f5c438b
Implemented #560 (multiple technologies on libraries) (#576)
* First implementation.

* PORT BACK: fixed a few flaws (fixed-width side panel ..)

1. On "save as" the filename displayed in the cell view selection box
   was not updated
2. The width of the library and cellview panel could not be reduced
   below the width of the combo boxes in the headers. So the
   panels might have become pretty wide without being able to reduce
   them.

* Implemented #560 (multiple techs on libraries)
2020-06-05 10:58:53 +02:00
Matthias Köfferlein 2b3a53b285
Implemented #521 (enhanced API for ObjectInstPath) (#532) 2020-04-05 15:11:03 +02:00
Matthias Koefferlein c10ccccdf7 Merge branch 'app-refactoring' into doc-args 2020-03-15 21:32:39 +01:00
Matthias Koefferlein 2564b11da3 Fixed #478 (shapes method can't be used in queries) 2020-02-23 13:36:20 +01:00
Matthias Koefferlein 0059d1bf24 Basic refactoring: Action -> Action* 2020-02-13 00:16:37 +01:00
Matthias Koefferlein c801df7f7b WIP: fixed assertion in klayout_main test. 2020-02-11 00:39:19 +01:00
Matthias Koefferlein fa1b98c933 WIP: refactoring ongoing. 2020-02-07 01:11:23 +01:00
Matthias Koefferlein 22b3a5face WIP: refactoring - at least some local context menus for detached views 2020-02-04 21:33:27 +01:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein a314d3d8c5 Fixed #453 (Crash when using 'inverse' feature of TEXT PCell) 2019-12-18 18:05:09 +01:00
Matthias Köfferlein 054869ec9a
Merge pull request #446 from KLayout/issue-445
Fixed #445 (cryptic message on 'merge shapes' with instances selected)
2019-12-08 09:14:48 +01:00
Matthias Koefferlein 63cc73b569 Fixed #445 (cryptic message when instances are selected and 'merge shapes' is used) 2019-12-08 08:43:08 +01:00
Matthias Koefferlein 2402adc45d Open to silence instance copy mode dialog
By using "don't ask again" the instance copy mode
dialog won't come up again. The mode can be reverted
back to "ask" in the editor options.
2019-12-05 01:09:48 +01:00
Matthias Koefferlein 717470a389 Enhancement of the "interactive" (infix) modes
1.) Copy & Cut will now take the selection from
    the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
    selection.
2019-12-05 00:36:46 +01:00
Matthias Koefferlein 181d5b48e6 Fixed consistent typo: PCell's -> PCells 2019-11-17 21:47:11 +01:00
Matthias Koefferlein 817bbf81f1 Fixed gcc builds with stdc++0x (M_PI no longer available) 2019-11-09 23:20:43 +01:00
Christos Rizos d8e7d29e98 Fixed #376 - PCell callbacks invoked on value change 2019-10-14 11:40:28 +03:00
Matthias Koefferlein eda5a2497e Fixed #363 (able to draw invalid polygon with two points) 2019-09-23 00:56:09 +02:00
Matthias Koefferlein 9fa5277e41 Implementation proposal
The solution tries to be a bit more generic:

- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
2019-09-01 19:59:03 +02:00
Matthias Koefferlein 6f2d29d05b Fixed a segfault when running a PCell definition macro (segfault happened in update of library view because the library was gone). Fixed a dialog title. 2019-08-20 23:38:48 +02:00
Matthias Koefferlein fe4396d872 Merge branch 'issue-306' 2019-08-19 00:03:39 +02:00
Matthias Köfferlein bf41da69da
Merge pull request #315 from KLayout/lib-browser
Lib browser
2019-08-18 17:31:02 +02:00
Matthias Koefferlein 2cc6909d2c Second fix for issue #306 (round function problem)
This fix adds a "amend" option to the rounded corners
dialog - disabling this option allows to skip the "undo rounding"
step in case the algorithm does not determine the rounding
properties of the input properly.

Without "amend" enabled, the rounding will always be
applied atop of any existing rounding.
2019-08-18 17:25:28 +02:00
Matthias Koefferlein 19e3d6eab0 Fixed issue #316 (Text capture box has zero dimension for move) 2019-08-04 23:45:46 +02:00
Matthias Koefferlein 7c0dd07d42 WIP: lib browser - cleanup and small bug fixes. 2019-08-04 00:49:08 +02:00
Matthias Koefferlein a104352a93 WIP: library browser - cleanup of unused cells in lib browser, some bug fixed, enhancements to parameter editor on drop 2019-08-04 00:08:39 +02:00
Matthias Koefferlein ed2cdc6c7e WIP: lib browser - open properties dialog after dropping PCell. TODO: needs to be modal with cancel option 2019-08-03 01:03:59 +02:00
Matthias Koefferlein 9daf63403a WIP: lib-browser - icons for lib cells. 2019-08-03 00:45:42 +02:00
Matthias Koefferlein 741434dc13 WIP: library browser - take selected layer for default if there is no default layer 2019-08-02 23:40:54 +02:00
Matthias Koefferlein de9db84ac7 WIP: library browser - drag & drop of PCell instances 2019-08-02 22:49:55 +02:00
Matthias Koefferlein 67944240b2 WIP: lib browser, drag and drop partially works 2019-08-02 00:53:24 +02:00
Matthias Koefferlein 4f9208577b Added option to configure capture range. 2019-07-25 00:06:50 +02:00
Matthias Köfferlein 1b08656835
Merge pull request #300 from KLayout/issue-264
Issue 264
2019-07-14 00:12:58 +02:00
Matthias Koefferlein 2d57a11f8c Fixed #287 (RecursiveShapeIterator to ObjectInstPath)
There is a new constructor for ObjectInstPath to
create one from a RecursiveShapeIterator.
2019-07-12 23:13:50 +02:00
Matthias Koefferlein e8ff8156a0 fix for #264
1. Errors in coerce_parameters are now shown as
   red label + warning icon in the parameters dialog
2. Errors during produce are always logged now

Plus: the scroll bars of the PCell parameters page
don't jump back on "Apply".
2019-07-12 21:13:18 +02:00
Matthias Köfferlein fcec51e936
Merge pull request #284 from KLayout/issue-278
Fixed #278 (lost reference to Shape object from ObjectInstPath)
2019-06-18 18:44:13 +02:00
Matthias Koefferlein eecb62906c Fixed #271 (proposal, more choices for the cell origin on 'make cell') 2019-06-18 00:52:13 +02:00
Matthias Koefferlein 2fd43ec656 Fixed #278 (lost reference to Shape object from ObjectInstPath) 2019-06-17 23:37:35 +02:00
Matthias Koefferlein eacd5fc19d Fixed some spelling errors (allow to, allows to) 2019-04-03 19:15:09 +02:00
Ruben Undheim 5d26cf4c77 Spelling errors in code and comments fixed 2019-03-31 15:25:18 +00:00
Matthias Koefferlein b0d7f5f7f5 Updated copyright. 2019-01-08 00:58:45 +01:00
Matthias Köfferlein 28f8a1ee7d Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Köfferlein f0f3025f9f More reduction of warnings on MSVC 2018-08-29 07:28:51 +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 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 6468bb7ab9 WIP: refactoring of GSI structure for separated modules. 2018-05-30 00:39:58 +02: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 363c0c9fed Fixed #73 (allow 'change layers' on PCells which support a single layer parameter) 2018-02-06 22:51:06 +01:00
Matthias Koefferlein 8003d1bb47 Merge branch 'master' into macos-build-on-master 2018-01-02 23:37:45 +01:00
Matthias Koefferlein ffb56335fb Updated copyright note to 2018. 2018-01-01 21:08:06 +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 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 692ae10fe2 Fixed #45 (Partial selection does not capture instance) 2017-12-22 21:01:40 +01:00
Matthias Koefferlein 11c9d37e93 Fixed #32 (rounding issue with instance properties) 2017-12-09 23:00:41 +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 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
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 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 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 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 000917d2c9 Refactoring: moved unit tests to libraries for some libs (ut modularization) 2017-08-26 22:44:31 +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 be20bdd9cc Bugfix: could drag and drop a cell in viewer mode. 2017-07-10 22:19:16 +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 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 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 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 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 49be72e1a2 Fixed #3 (crash when dragging PCell dummy) 2017-02-23 23:59:16 +01:00
Matthias Koefferlein a1e8aaf6b8 Updated copyright note to 2017. 2017-02-12 15:28:14 +01:00
Matthias Koefferlein 1b98f9b0f9 Initialized repository with current sources. 2017-02-12 13:21:08 +01:00