Commit Graph

3800 Commits

Author SHA1 Message Date
Matthias Koefferlein 2c18bc6c46 WIP: refactoring 2022-10-23 18:31:13 +02:00
Matthias Koefferlein d3a36e66f2 Fixed a compiler warning 2022-10-20 23:29:35 +02:00
Matthias Koefferlein fbd4c84d84 Refactoring of pya/rba/expressions
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.

The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Matthias Koefferlein 11f6eb21e0 Added ParentCellInst#dinst 2022-10-18 21:52:40 +02:00
Matthias Koefferlein 8f6603d88e Fixed unit test fails 2022-10-18 01:26:42 +02:00
Matthias Koefferlein c9c9d6198b Fixed a Qt warning 2022-10-18 01:02:58 +02:00
Matthias Koefferlein 6f80d340f1 Fixed high-DPI mode of color chooser widget, some improvements on image properties dialog (false color bar) 2022-10-18 00:53:10 +02:00
Matthias Koefferlein 60e6523c30 Some bug fixes for user-property aware RDB and antenna check enhancements 2022-10-18 00:00:29 +02:00
Matthias Koefferlein db4baf3a6d Added scanning of texts to RDB 2022-10-17 22:56:08 +02:00
Matthias Koefferlein e4131b45a3 WIP: provide a way to report user properties to RDB, added antenna rule measurements as user properties. 2022-10-17 22:29:48 +02:00
Matthias Koefferlein 2cb3e037a9 Fixed a Qt warning 2022-10-16 23:43:09 +02:00
Matthias Koefferlein 2441775b76 Fixed a segfault in the layout view tests 2022-10-16 22:21:14 +02:00
Matthias Koefferlein 6e2c17b8c1 [consider merging] Qt4 compatibility 2022-10-16 22:02:11 +02:00
Matthias Koefferlein c6e457d3d6 [consider merging] Qt4 compatibility 2022-10-16 21:53:17 +02:00
Matthias Koefferlein dc927717c2 Multi-selection in properties dialog: bugfixing and finalization 2022-10-13 23:45:21 +02:00
Matthias Koefferlein 5144f239eb Merge branch 'master' into selection-list 2022-10-13 22:47:28 +02:00
Matthias Koefferlein 48ec894b1e Merge remote-tracking branch 'origin/enhanced-tab-widget' 2022-10-13 22:46:46 +02:00
Matthias Koefferlein bc06b688ca Merge branch 'master' into selection-list 2022-10-13 09:32:16 +02:00
Matthias Koefferlein 456f42972f Fixed Qt4 builds 2022-10-13 09:28:52 +02:00
Matthias Koefferlein 4f69edb11f WIP 2022-10-12 23:38:43 +02:00
Matthias Koefferlein 5e73b0f5f8 WIP: multi-selection properties on instances 2022-10-09 23:23:47 +02:00
Matthias Koefferlein b29382bc6a Enabling Qt4 builds 2022-10-09 21:30:28 +02:00
Matthias Köfferlein 8d1dcbb04a
Fixed issue-1164 (internal error on delete cells on archlinux) (#1166)
* Fixed issue-1164 (internal error on delete cells on archlinux)

* Found another location where take_cell would spoil cell_name

Co-authored-by: matthias <matthias@klayout.de>
2022-10-09 21:27:13 +02:00
Matthias Köfferlein c9cef44108
Merge pull request #1160 from EugeneZelenko/enhanced-tab-widget
Use enhanced tab widget for file tabs to easily navigate through larg…
2022-10-09 21:26:04 +02:00
Matthias Koefferlein 1006bf6d57 WIP: more on properties dialog 2022-10-08 18:53:27 +02:00
Matthias Koefferlein 83d37d4187 Some bug fixes 2022-10-08 10:38:54 +02:00
Matthias Koefferlein b047a310c2 WIP: multi selection property dialog 2022-10-08 00:52:38 +02:00
Matthias Koefferlein fb5df27310 WIP: multi selection property dialog 2022-10-08 00:44:18 +02:00
Matthias Koefferlein 187aae2649 WIP: multi selection property dialog 2022-10-08 00:37:39 +02:00
Matthias Koefferlein 43c7e87cc0 Fixed 'run.png' icon which should be 'run_16px.png' 2022-10-07 00:52:06 +02:00
Matthias Koefferlein 62e0d83b3a WIP: further development on selection tree on objects dialog 2022-10-07 00:44:12 +02:00
Matthias Koefferlein 56bdf3b2e0 WIP: Fixed colors of logo letters 2022-10-07 00:43:52 +02:00
Matthias Koefferlein eb004e45e1 WIP: generalized interface of properties page 2022-10-06 21:31:16 +02:00
Matthias Koefferlein ddff1f564f Provide high-res version of logo 2022-10-05 23:50:43 +02:00
Matthias Koefferlein 95686ea630 Modified 'close all except/left/right' to be effective on the tab the mouse points at. 2022-10-05 22:27:13 +02:00
Matthias Koefferlein 774b008417 Fixed a build error 2022-10-05 21:45:22 +02:00
Matthias Koefferlein 0c73b11f9b Added a convenience version for GenericDeviceExtractor#define_terminal which takes terminal and layer names 2022-10-03 22:02:13 +02:00
Matthias Koefferlein 2c96cc2a41 Salt package installation/uninstallation even and hooks. 2022-10-02 19:33:21 +02:00
Matthias Koefferlein 3b6ef57ddc Cross size in marked mode now scales with resolution 2022-10-01 23:22:36 +02:00
Matthias Koefferlein 914ad98858 Ruler edge marker is now visible also for scaling > 1 2022-10-01 21:59:34 +02:00
Matthias Koefferlein e4830b98b3 Small bugfixes 2022-10-01 19:52:12 +02:00
Matthias Koefferlein 1bff5c1ac3 WIP: layer icons now follow oversampling and high-resolution mode, new GSI method to fetch layer icon: LayoutView#icon_for_layer 2022-10-01 19:20:06 +02:00
Matthias Koefferlein 00e78eb76c Highres mode config option - display utilizes full pixel density 2022-10-01 16:24:05 +02:00
Matthias Koefferlein 4e4f316b71 Updated doc. 2022-10-01 13:33:53 +02:00
Matthias Koefferlein eedfc7c00f Doc update, tests for new annotation features 2022-10-01 13:04:25 +02:00
Matthias Koefferlein 069c3e6447 WIP: proper selection of angle and radius rulers 2022-10-01 12:39:05 +02:00
Matthias Koefferlein 1660a72b5a WIP: restored logo on 'About' page 2022-10-01 01:45:47 +02:00
Matthias Koefferlein 1057c0f268 WIP: debugging of radius rulers 2022-10-01 01:38:18 +02:00
Matthias Koefferlein 996f0d75e5 WIP: debugging of angle ruler, display options implemented 2022-10-01 00:43:29 +02:00
Matthias Koefferlein 8415e075ad WIP: angle measurement ruler, radius measurement one. Needs improvement 2022-09-28 23:58:34 +02:00
Matthias Koefferlein d2d321c35b WIP: point editing of multi-segment rulers 2022-09-28 21:16:47 +02:00
Matthias Koefferlein 8cbe5a2359 WIP: debugging, first implementation of new templates 2022-09-28 00:37:37 +02:00
Matthias Koefferlein 79102d399e WIP: enhancements, debugging of multi-segment rulers setup 2022-09-27 22:56:34 +02:00
Matthias Koefferlein 1c8a99fa26 WIP: some bug fixing 2022-09-26 23:52:32 +02:00
Matthias Koefferlein d1b7cd1f8f WIP: first steps towards multi-segment rulers 2022-09-26 23:37:22 +02:00
Matthias Koefferlein 7b4b345cf4 Multiple stacks for net tracer - finished selection box in net tracer dialog 2022-09-25 19:10:30 +02:00
Matthias Koefferlein 511f55d4da WIP: refined solution - some bug fixes, XML file is backward compatible now 2022-09-25 16:33:23 +02:00
Matthias Koefferlein 8919916da9 WIP: some debugging 2022-09-25 11:22:45 +02:00
Matthias Koefferlein 2505ebb9a3 WIP: some debugging 2022-09-25 10:53:23 +02:00
Matthias Koefferlein 40786d13e0 WIP: added missing files 2022-09-25 00:36:29 +02:00
Matthias Koefferlein 293f26ddc0 WIP: multiple tech stacks for net tracer, first steps 2022-09-25 00:35:59 +02:00
Matthias Koefferlein 42de46caf2 Added close left/right and clone to view tab's context menu too 2022-09-24 20:48:02 +02:00
Matthias Koefferlein 35aaf63051 As suggested by Eugene: close left/close right added to macro editor's tab tab ... layout views will follow 2022-09-24 19:53:31 +02:00
Matthias Koefferlein ab9fe57ec3 Modified the original solution somewhat
1. Provide a menu icon in SVG (24x24px and 16x16px for later use elsewhere)
2. Proposing a solution based on QTabBar again
   - Rationale: the QTabWidget is intended as container for widgets but
     in our case it is not (the ViewStack will handle this). I am worried
     about the implications, specifically as there are widgets added during
     insertTab which are also added to the view stack container.
     Apart from that the visual effect is somewhat ugly.
   - The menu button is not part of the EnhancedTabBar as it does not
     provide a corner widget. But it is available as "visually detached"
     sub-widget and the main window can build a HBoxLayout for it.
3. Correspondingly renaming EnhancedTabWidget to EnhancedTabBar
4. I ported the "close all" and "close all except" feature from the
   macro editor's tabs to the view tab bar as I think this fits nicely
   into this enhancement.
2022-09-23 23:31:23 +02:00
Matthias Koefferlein c8889504e6 Enabling high-DPI scaling in QApplication 2022-09-23 22:20:14 +02:00
Matthias Koefferlein 1107e5bacc Added doc and icon to dependencies. 2022-09-23 22:17:50 +02:00
Matthias Koefferlein 836cb9f6f6 Added doc and icon to dependencies. 2022-09-23 22:01:38 +02:00
Matthias Koefferlein 4236360620 Added doc and icon to dependencies. 2022-09-23 22:00:33 +02:00
Eugene Zelenko ef6b0f52d7 Use enhanced tab widget for file tabs to easily navigate through large number of opened files. 2022-09-22 17:43:32 -07:00
Matthias Koefferlein b8263d2529 Fixed #1159 (valgrind error) 2022-09-22 21:17:51 +02:00
Matthias Koefferlein db37bdd5e7 Enabling high-DPI scaling in QApplication 2022-09-22 21:13:23 +02:00
Matthias Köfferlein 0993de418e
Merge pull request #1156 from KLayout/resources-rework
Resources rework
2022-09-21 22:16:58 +02:00
Zopolis4 8f940c1679
Restrict overmatching MACH ifdef to only trigger on OSX and Mach 2022-09-21 16:52:25 +10:00
Matthias Koefferlein 04d0c7f898 Fixed builds 2022-09-19 18:08:34 +02:00
Matthias Koefferlein 4381f29945 Fixed builds 2022-09-19 01:05:45 +02:00
Matthias Koefferlein c9f4dac931 Fixed builds 2022-09-19 01:02:18 +02:00
Matthias Koefferlein ee3facfa13 Fixed printout 2022-09-18 21:53:38 +02:00
Matthias Koefferlein 029284f48a Some refactoring, layer icons are scaled for high DPI too now. 2022-09-18 20:56:37 +02:00
Matthias Koefferlein a6d4cdd254 More scaled pixmaps for dither pattern icons 2022-09-18 18:02:37 +02:00
Matthias Koefferlein e5fabb2b13 Using scaled dither pattern pixmaps in the UI elements 2022-09-18 17:37:49 +02:00
Matthias Koefferlein 48e3643a87 Attempting extrapolation of fill pattern 2022-09-18 16:09:11 +02:00
Matthias Koefferlein ef5cd11629 Properly scaling line width for high-DPI displays 2022-09-18 13:19:52 +02:00
Matthias Koefferlein f32da6aa87 Properly scaling line width for high-DPI displays 2022-09-18 12:19:06 +02:00
Matthias Koefferlein 86f9fbe9e7 Fixed palette buttons. 2022-09-17 23:11:19 +02:00
Matthias Koefferlein 8e480a0236 Changed pixmaps to 2x versions for high-DPI support 2022-09-17 22:13:16 +02:00
Matthias Koefferlein cf50b38090 Corrected resource file paths 2022-09-17 21:00:36 +02:00
Matthias Koefferlein 3172c1c4bc More icons turned into SVG 2022-09-17 17:37:42 +02:00
Matthias Koefferlein 84061b8362 More icons turned into SVG 2022-09-17 16:53:05 +02:00
Matthias Koefferlein 708214fa0d More icons turned into SVG 2022-09-17 16:19:50 +02:00
Matthias Koefferlein f0e692f8ed More icons turned into SVG 2022-09-17 15:55:42 +02:00
Matthias Koefferlein 7fe16df8ef More icons turned into SVG 2022-09-17 15:33:29 +02:00
Matthias Koefferlein 2635ca06af More icons turned into SVG 2022-09-17 15:28:06 +02:00
Matthias Koefferlein 188ae060be More icons converted 2022-09-17 02:06:24 +02:00
Matthias Koefferlein 85af2d35e8 More images to SVG 2022-09-17 01:40:02 +02:00
Matthias Koefferlein f598348046 More images to SVG 2022-09-17 01:25:46 +02:00
Matthias Koefferlein 2ae82af73a More icons to SVG 2022-09-17 00:00:28 +02:00
Matthias Koefferlein 306c8b789c More icons turned into SVG 2022-09-16 23:47:40 +02:00
Matthias Koefferlein 5c8c918fb9 More icons as SVG 2022-09-14 23:42:08 +02:00
Matthias Koefferlein 4ebe51fb05 More icons as SVG; small fixes to image landmark editor. 2022-09-14 23:32:03 +02:00
Matthias Koefferlein c7006898a6 More icons as SVG 2022-09-14 22:47:39 +02:00
Matthias Koefferlein 164748be22 More icons as SVG 2022-09-14 22:35:55 +02:00
Matthias Koefferlein fdfacd8532 More icons as SVG 2022-09-14 22:29:29 +02:00
Matthias Koefferlein 9454d6289d New icons turned to SVG 2022-09-14 21:37:24 +02:00
Matthias Koefferlein 0a9c396ae3 More icons turned into SVG 2022-09-14 21:25:59 +02:00
Matthias Koefferlein 22bbb4b320 More icons translated to SVG 2022-09-13 23:53:11 +02:00
Matthias Koefferlein a5b34037ab New icons translated 2022-09-13 18:23:47 +02:00
Matthias Koefferlein 878389e858 More icons transferred to SVG 2022-09-13 01:12:09 +02:00
Matthias Koefferlein 438a3c50e3 One more icon translated to SVG 2022-09-13 00:40:30 +02:00
Matthias Koefferlein faed280289 More icons translated to SVG 2022-09-13 00:29:16 +02:00
Matthias Koefferlein 1b8bf1f76d More icons translated 2022-09-12 23:14:49 +02:00
Matthias Koefferlein a3fe8cc49d More icons translated 2022-09-12 22:51:29 +02:00
Matthias Koefferlein 50e64c9c65 More icons translated to SVG 2022-09-12 22:13:50 +02:00
Matthias Koefferlein d881933840 More icons converted to SVG 2022-09-12 21:55:35 +02:00
Matthias Koefferlein 55bfb0d118 More icons converted to SVG 2022-09-12 20:30:09 +02:00
Matthias Koefferlein 212d9d2d27 Removed unused PNGs 2022-09-12 01:00:31 +02:00
Matthias Koefferlein 0a67691b3a [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:54:44 +02:00
Matthias Koefferlein 3c2092bdc2 [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode 2022-09-12 00:53:50 +02:00
Matthias Koefferlein 13d11ac714 More icons switched to SVG 2022-09-12 00:39:55 +02:00
Matthias Koefferlein e460314090 Deploying more SVG based icons 2022-09-11 22:02:10 +02:00
Matthias Koefferlein 4a241cc36c Deploying first high-res icons, enabled high-dpi icon scaling 2022-09-11 21:07:48 +02:00
Matthias Koefferlein 4f125d3768 More SVG images 2022-09-11 18:30:06 +02:00
Matthias Koefferlein 92fc8bbafc First SVG versions of icons 2022-09-11 18:25:00 +02:00
Matthias Koefferlein 2d17d87063 Added an extra target for updating DRC/LVS doc 2022-09-11 11:34:56 +02:00
Matthias Koefferlein 3b2efddd28 Refreshing DRC+LVS doc 2022-09-11 11:13:29 +02:00
Matthias Koefferlein 25c5b2f057 Refactoring of resources -> separate folders for doc and icons 2022-09-11 11:09:14 +02:00
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 Köfferlein 390cac87d3
Issue 1097 (#1148)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Implemented #1097 (discourage file compression, use CBLOCK)

* A warning is printed if file compression is enabled on OASIS
* A hint is present in the writer options
* CBLOCK is default (with fresh config) and for buddy tools
  (use --cblock=false to disable it)

* Strict mode is default too.

* Updated tests
2022-09-05 23:34:53 +02:00
Matthias Köfferlein 9ebb923d83
Issue 1144 (#1150)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Avoids a segfault during drawing: make sure the cell bbox update is not triggered in the drawing thread before it is stopped

* Fixed #1144 (wrong layer taken on copy layer)
2022-09-05 20:31:13 +02:00
Matthias Köfferlein f6c5062c71
Issue 1143 (#1149)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Fixed issue #1143 (technology default DBU not taken)
2022-09-05 20:30:57 +02:00
Matthias Köfferlein 7a9e9989d3
Merge pull request #1147 from KLayout/wip
Wip
2022-09-04 09:08:08 +02:00
Matthias Köfferlein e343939aaf
Merge pull request #1139 from KLayout/issue-1138
Issue 1138 (switch to suppress warnings on DXF reader - and other readers)
2022-09-04 09:07:51 +02:00
Matthias Koefferlein 8bf251b0c9 Removed some unused code 2022-09-04 00:25:24 +02:00
Matthias Koefferlein fd30881ace Proper cleanup avoid segfaults on exit 2022-09-03 23:36:31 +02:00
Matthias Koefferlein 290cd39ad9 Bugfix: consider device pixel ratio for layout canvas 2022-09-03 23:27:07 +02:00
Matthias Koefferlein 070ef54c66 Avoid a segfault with layout views without manager 2022-09-03 23:05:08 +02:00
Matthias Koefferlein 8dd002bd0f More enhancements to support LayoutView as widget 2022-09-03 22:53:01 +02:00
Matthias Koefferlein a9ef337c3b Layer toolbox is a view component now - that means it changes with the view. 2022-09-03 18:28:17 +02:00
Matthias Koefferlein 81eab3f1db More safety against deleting view in view widget 2022-09-03 16:59:27 +02:00
Matthias Koefferlein 0bbf4ad81c Properly selecting toolbar actions (Qt 5.15?) 2022-09-03 16:59:17 +02:00
Matthias Koefferlein f788818d12 Some more refactoring - further abstracting layout view from container widget 2022-09-03 01:48:50 +02:00
Matthias Koefferlein ec9f91b3d4 Fixed Qt binding build. 2022-09-02 00:56:59 +02:00
Matthias Koefferlein 3c53950eaa Rework needed for LayoutView management
The application got unstable on exit under various conditions
(e.g. LayoutView created in script). Reason was the ownership
management of LayoutView which interfered with Qt widget
lifetime management.

The solution now is based on a clean widget/view hierarchy
and a consistent plugin parent/child relationship.

In addition, a new class is enabled which allows creating
a true QWidget (rather QFrame) for a LayoutView again.
2022-09-02 00:47:21 +02:00
Matthias Koefferlein 0248834afb Qt4 compatibility 2022-09-01 19:35:18 +02:00
Thomas Ferreira de Lima 4d4f4b643b Added python stubs with type hinting and documentation. (#1125)
* Added python stubs with type hinting and documentation.

The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)

* created tl ArgType to python type translator

* Fixing a pyaModule.cc bug

* almost finished stubgen

* fixing little bug in classes defined within classes

* Release version of the stubgen script. Good enough for release.

* Adding notes

* Including stubs when installing from source

* typechecking bugfix: missed checking is_iter()

* Cleaning up unused code for merge review

* Including stubs when installing from source (part deux)

* Putting the GenericDeviceExtractor name setting into the right place.

* Updating python stubs

Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
2022-09-01 00:41:42 +02:00
Matthias Koefferlein cb3369e9be Merge remote-tracking branch 'origin/master' into wip 2022-09-01 00:27:33 +02:00
Matthias Koefferlein 50f6a1c270 Employ Qt 5.15 to hide LVS tabs in netlist browser 2022-09-01 00:26:27 +02:00
Matthias Koefferlein a81bca43a6 Added cmath include as suggested for Slackware 2022-08-31 23:56:53 +02:00
Matthias Koefferlein c720e2d3eb New DRC features:
* inside, not_inside, outside, not_outside (edge/edge, edge/polygon)
* related select_*
* split_inside, split_outside (edge/edge, edge/polygon)
* andnot (edge/edge, edge/polygon)
* inside_outside_part (edge/polygon)
2022-08-31 23:38:23 +02:00
Matthias Koefferlein 81b605c197 DRC implementation + doc update 2022-08-31 22:39:05 +02:00