diff --git a/COPYRIGHT b/COPYRIGHT index acaba6844..8af0ce071 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -6,7 +6,7 @@ Authors: Matthias Köfferlein Copyright: - Copyright (C) 2006-2021 by Matthias Köfferlein. + Copyright (C) 2006-2022 by Matthias Köfferlein. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/Changelog b/Changelog index 49835cc05..cb502222a 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,27 @@ -0.27.6 (2021-xx-xx): -TODO +0.28 (2022-xx-xx): + +0.27.6 (2022-01-04): +* Enhancement: %GITHUB%/issues/963 Display snapped position in main window +* Bugfix: %GITHUB%/issues/960 Cap values range now shown in netlist browser +* Bugfix: %GITHUB%/issues/954 Fixed a device extraction glitch +* Bugfix: %GITHUB%/issues/951 Internal error fixed when deleting the cell you're sitting at + Side effect: copy & paste of cells is correctly disabled now in viewer mode +* Bugfix: %GITHUB%/issues/942 Technology file routing suffix string typo +* Bugfix: %GITHUB%/issues/946 Python: __file__ returns quoted path string +* Bugfix: DRC check for equal width now returns more consistent results + Previously, a check like "layer.drc(width == something)" was not flagging + all candidates correctly. +* Enhancement: A PCell can request "lazy evaluation" now + This means that a parameter change needs to be committed in the UI before + it is being taken. This way, slow PCell evaluation will not make the + application stall. To add this feature, reimplement "wants_lazy_evaluation" + in the PCell class to return "true". +* Enhancement: "lvs_data" is a global function now in LVS scripts +* Bugfix: less liberal evaluation of expressions in string to numeric conversion + This will fix a potential vulnerability which allows someone to sneak + in expression code through malicious configuration, technology or layer properties + files. 0.27.5 (2021-11-14): * Enhancements: Better support for execution (also cross-interpreter) of macro code from scripts diff --git a/Changelog.Debian b/Changelog.Debian index 5bfd0057a..ce37ca054 100644 --- a/Changelog.Debian +++ b/Changelog.Debian @@ -1,3 +1,10 @@ +klayout (0.27.6-1) unstable; urgency=low + + * New features and bugfixes + - See changelog + + -- Matthias Köfferlein Tue, 04 Jan 2022 21:19:17 +0100 + klayout (0.27.5-1) unstable; urgency=low * New features and bugfixes diff --git a/Jenkinsfile-pypi b/Jenkinsfile-pypi index 72d16f7da..632fab52e 100644 --- a/Jenkinsfile-pypi +++ b/Jenkinsfile-pypi @@ -33,7 +33,7 @@ node("master") { stage("Publish and test") { // publish for release tags - if (BRANCH_NAME.startsWith('v')) { + if (BRANCH_NAME.startsWith('pypi_')) { sh("twine upload --skip-existing wheelhouse/klayout-*manylinux2014*.whl wheelhouse/*.zip") } diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 28e572ce1..2cfe0c5ad 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,19 +6,19 @@ trigger: - staging tags: include: - - '*' + - 'v*' jobs: - job: Build pool: - vmImage: 'vs2017-win2016' # other options: 'macOS-10.13', 'ubuntu-16.04' + vmImage: 'windows-2019' # other options: 'macOS-10.13', 'ubuntu-16.04' strategy: matrix: # Python27: # python.version: '2.7' - cp35-cp35m-win_amd64.whl: - python.version: '3.5' - python.architecture: 'x64' + # cp35-cp35m-win_amd64.whl: + # python.version: '3.5' + # python.architecture: 'x64' cp36-cp36m-win_amd64.whl: python.version: '3.6' python.architecture: 'x64' @@ -31,9 +31,12 @@ jobs: cp39-cp39-win_amd64.whl: python.version: '3.9' python.architecture: 'x64' - cp35-cp35m-win32.whl: - python.version: '3.5' - python.architecture: 'x86' + cp310-cp310-win_amd64.whl: + python.version: '3.10' + python.architecture: 'x64' + # cp35-cp35m-win32.whl: + # python.version: '3.5' + # python.architecture: 'x86' cp36-cp36m-win32.whl: python.version: '3.6' python.architecture: 'x86' @@ -46,6 +49,9 @@ jobs: cp39-cp39-win32.whl: python.version: '3.9' python.architecture: 'x86' + cp310-cp310-win32.whl: + python.version: '3.10' + python.architecture: 'x86' maxParallel: 6 steps: @@ -126,9 +132,14 @@ jobs: displayName: 'Combine Windows wheels and deploy to PyPI' dependsOn: Build pool: - vmImage: 'vs2017-win2016' # other options: 'macOS-10.13', 'ubuntu-16.04' + vmImage: 'windows-2019' # other options: 'macOS-10.13', 'ubuntu-16.04' steps: - checkout: none #skip checking out the default repository resource + - task: DownloadBuildArtifacts@0 + displayName: 'Download Build Artifacts wheel-3.10.x64' + inputs: + artifactName: 'wheel-3.10.x64' + downloadPath: '$(System.DefaultWorkingDirectory)' - task: DownloadBuildArtifacts@0 displayName: 'Download Build Artifacts wheel-3.9.x64' inputs: @@ -150,9 +161,9 @@ jobs: artifactName: 'wheel-3.6.x64' downloadPath: '$(System.DefaultWorkingDirectory)' - task: DownloadBuildArtifacts@0 - displayName: 'Download Build Artifacts wheel-3.5.x64' + displayName: 'Download Build Artifacts wheel-3.10.x86' inputs: - artifactName: 'wheel-3.5.x64' + artifactName: 'wheel-3.10.x86' downloadPath: '$(System.DefaultWorkingDirectory)' - task: DownloadBuildArtifacts@0 displayName: 'Download Build Artifacts wheel-3.9.x86' @@ -174,11 +185,6 @@ jobs: inputs: artifactName: 'wheel-3.6.x86' downloadPath: '$(System.DefaultWorkingDirectory)' - - task: DownloadBuildArtifacts@0 - displayName: 'Download Build Artifacts wheel-3.5.x86' - inputs: - artifactName: 'wheel-3.5.x86' - downloadPath: '$(System.DefaultWorkingDirectory)' - task: CopyFiles@2 condition: always() inputs: diff --git a/build.sh b/build.sh index d33ef34c2..97ef2b73a 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ # # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/macbuild/build4mac.py b/macbuild/build4mac.py index cd946997f..a25a3e5f8 100755 --- a/macbuild/build4mac.py +++ b/macbuild/build4mac.py @@ -147,29 +147,36 @@ def Get_Default_Config(): Usage, ModuleSet = GenerateUsage(Platform) # Set the default modules - ModuleQt = "Qt5MacPorts" if Platform == "Monterey": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyMonterey" ModulePython = "PythonMonterey" elif Platform == "BigSur": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyBigSur" ModulePython = "PythonBigSur" elif Platform == "Catalina": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyCatalina" ModulePython = "PythonCatalina" elif Platform == "Mojave": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyMojave" ModulePython = "PythonMojave" elif Platform == "HighSierra": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyHighSierra" ModulePython = "PythonHighSierra" elif Platform == "Sierra": + ModuleQt = "Qt6Brew" ModuleRuby = "RubySierra" ModulePython = "PythonSierra" elif Platform == "ElCapitan": + ModuleQt = "Qt6Brew" ModuleRuby = "RubyElCapitan" ModulePython = "PythonElCapitan" else: + ModuleQt = "Qt6Brew" ModuleRuby = "nil" ModulePython = "nil" @@ -243,7 +250,6 @@ def Parse_CLI_Args(config): PackagePrefix = config['PackagePrefix'] DeployVerbose = config['DeployVerbose'] ModuleSet = config['ModuleSet'] - qt, ruby, python = ModuleSet #----------------------------------------------------- # [2] Parse the CLI arguments @@ -311,18 +317,32 @@ def Parse_CLI_Args(config): default=False, help='check usage' ) - p.set_defaults( type_qt = "%s" % qt, - type_ruby = "sys", - type_python = "sys", - no_qt_binding = False, - no_qt_uitools = False, - make_option = "--jobs=4", - debug_build = False, - check_command = False, - deploy_full = False, - deploy_partial = False, - deploy_verbose = "1", - checkusage = False ) + if Platform.upper() in [ "MONTEREY", "BIGSUR" ]: # with Xcode [13.1 .. ] + p.set_defaults( type_qt = "qt6brew", + type_ruby = "hb27", + type_python = "hb38", + no_qt_binding = False, + no_qt_uitools = False, + make_option = "--jobs=4", + debug_build = False, + check_command = False, + deploy_full = False, + deploy_partial = False, + deploy_verbose = "1", + checkusage = False ) + else: # with Xcode [ .. 12.4] + p.set_defaults( type_qt = "qt6brew", + type_ruby = "sys", + type_python = "sys", + no_qt_binding = False, + no_qt_uitools = False, + make_option = "--jobs=4", + debug_build = False, + check_command = False, + deploy_full = False, + deploy_partial = False, + deploy_verbose = "1", + checkusage = False ) opt, args = p.parse_args() if (opt.checkusage): @@ -578,7 +598,7 @@ def Get_Build_Parameters(config): mode = "release" # (B) Modules - (qt, ruby, python) = ModuleSet # ( 'qt6MP', 'Sys', 'Sys' ) + (qt, ruby, python) = ModuleSet # ( 'qt6Brew', 'Sys', 'Sys' ) ruby_python = "R%sP%s" % ( ruby.lower(), python.lower() ) # (C) Target directories and files diff --git a/scripts/extract_doc.rb b/scripts/extract_doc.rb index d3eee7e7c..f5338b5ac 100755 --- a/scripts/extract_doc.rb +++ b/scripts/extract_doc.rb @@ -18,6 +18,8 @@ def create_ref(mod, s) else "#{$1}" end + elsif s =~ /([A-Z].*)/ + "#{$1}" else "#{s}" end @@ -34,6 +36,8 @@ def create_link(mod, s) else "" end + elsif s =~ /([A-Z].*)/ + "" else "" end diff --git a/scripts/makedeb.sh b/scripts/makedeb.sh index 9bf435bc2..25a6cb07d 100755 --- a/scripts/makedeb.sh +++ b/scripts/makedeb.sh @@ -110,7 +110,7 @@ cp -pd $bininstdir/db_plugins/lib*so* makedeb-tmp/${libdir}/db_plugins cp -pd $bininstdir/lay_plugins/lib*so* makedeb-tmp/${libdir}/lay_plugins cp -pd $bininstdir/pymod/klayout/*so makedeb-tmp/${pylibdir} cp -pd $bininstdir/pymod/klayout/*py makedeb-tmp/${pylibdir} -for d in db tl rdb; do +for d in db tl rdb lib; do mkdir -p makedeb-tmp/${pylibdir}/$d cp -pd $bininstdir/pymod/klayout/$d/*py makedeb-tmp/${pylibdir}/$d done diff --git a/scripts/mkqtdecl.sh b/scripts/mkqtdecl.sh index 9f091226c..cbcff665e 100755 --- a/scripts/mkqtdecl.sh +++ b/scripts/mkqtdecl.sh @@ -21,7 +21,7 @@ # ./scripts/mkqtdecl.sh -h # # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/c++.treetop b/scripts/mkqtdecl_common/c++.treetop index afcc3b07b..d374a6784 100644 --- a/scripts/mkqtdecl_common/c++.treetop +++ b/scripts/mkqtdecl_common/c++.treetop @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/cpp_classes.rb b/scripts/mkqtdecl_common/cpp_classes.rb index 5a1fb4458..3eb651849 100644 --- a/scripts/mkqtdecl_common/cpp_classes.rb +++ b/scripts/mkqtdecl_common/cpp_classes.rb @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/cpp_parser_classes.rb b/scripts/mkqtdecl_common/cpp_parser_classes.rb index c0dc09dd5..1ae83d26d 100644 --- a/scripts/mkqtdecl_common/cpp_parser_classes.rb +++ b/scripts/mkqtdecl_common/cpp_parser_classes.rb @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/dump.rb b/scripts/mkqtdecl_common/dump.rb index 7b4c3b3fb..5e829dfc3 100755 --- a/scripts/mkqtdecl_common/dump.rb +++ b/scripts/mkqtdecl_common/dump.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/mkqtdecl_extract_ambigous_methods.rb b/scripts/mkqtdecl_common/mkqtdecl_extract_ambigous_methods.rb index b9eecd42c..7d65cc390 100644 --- a/scripts/mkqtdecl_common/mkqtdecl_extract_ambigous_methods.rb +++ b/scripts/mkqtdecl_common/mkqtdecl_extract_ambigous_methods.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/mkqtdecl_extract_nc_pointers.rb b/scripts/mkqtdecl_common/mkqtdecl_extract_nc_pointers.rb index d7083ada0..a1b6cbe57 100644 --- a/scripts/mkqtdecl_common/mkqtdecl_extract_nc_pointers.rb +++ b/scripts/mkqtdecl_common/mkqtdecl_extract_nc_pointers.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/mkqtdecl_extract_potential_factories.rb b/scripts/mkqtdecl_common/mkqtdecl_extract_potential_factories.rb index 906696a1c..9d86af737 100644 --- a/scripts/mkqtdecl_common/mkqtdecl_extract_potential_factories.rb +++ b/scripts/mkqtdecl_common/mkqtdecl_extract_potential_factories.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/mkqtdecl_extract_props.rb b/scripts/mkqtdecl_common/mkqtdecl_extract_props.rb index a030699a4..b626ac511 100644 --- a/scripts/mkqtdecl_common/mkqtdecl_extract_props.rb +++ b/scripts/mkqtdecl_common/mkqtdecl_extract_props.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/mkqtdecl_extract_signals.rb b/scripts/mkqtdecl_common/mkqtdecl_extract_signals.rb index afdedffdb..8a520c263 100644 --- a/scripts/mkqtdecl_common/mkqtdecl_extract_signals.rb +++ b/scripts/mkqtdecl_common/mkqtdecl_extract_signals.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/parse.rb b/scripts/mkqtdecl_common/parse.rb index 1298ab1e1..79a0f4d92 100755 --- a/scripts/mkqtdecl_common/parse.rb +++ b/scripts/mkqtdecl_common/parse.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/produce.rb b/scripts/mkqtdecl_common/produce.rb index 47fa3057f..19f16a192 100755 --- a/scripts/mkqtdecl_common/produce.rb +++ b/scripts/mkqtdecl_common/produce.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1509,7 +1509,7 @@ class BindingProducer /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -3072,7 +3072,7 @@ END /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/scripts/mkqtdecl_common/reader_ext.rb b/scripts/mkqtdecl_common/reader_ext.rb index 985f86f06..c721c8bbc 100644 --- a/scripts/mkqtdecl_common/reader_ext.rb +++ b/scripts/mkqtdecl_common/reader_ext.rb @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/rpm-data/klayout.spec b/scripts/rpm-data/klayout.spec index 11bdb5614..71f29855b 100644 --- a/scripts/rpm-data/klayout.spec +++ b/scripts/rpm-data/klayout.spec @@ -153,7 +153,7 @@ mkdir -p %{buildroot}%{pylib}/klayout cp -pd %{_builddir}/bin.$TARGET/pymod/klayout/*.so %{buildroot}%{pylib}/klayout cp -pd %{_builddir}/bin.$TARGET/pymod/klayout/*.py %{buildroot}%{pylib}/klayout chmod 644 %{buildroot}%{pylib}/klayout/* -for d in tl db rdb; do +for d in tl db rdb lib; do mkdir -p %{buildroot}%{pylib}/klayout/$d cp -pd %{_builddir}/bin.$TARGET/pymod/klayout/$d/*.py %{buildroot}%{pylib}/klayout/$d chmod 644 %{buildroot}%{pylib}/klayout/$d/* diff --git a/setup.py b/setup.py index 3b3b5a3d7..a2631a25a 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ KLayout standalone Python module setup script - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -273,8 +273,6 @@ class Config(object): quote_path("-I" + os.path.join(bits, "curl", "include"))] else: return [] - elif platform.system() == "Darwin": - return [] else: return ["-Wno-strict-aliasing", # Avoids many "type-punned pointer" warnings "-std=c++11", # because we use unordered_map/unordered_set @@ -534,6 +532,7 @@ tl = Extension(config.root + '.tlcore', include_dirs=[_tl_path, _gsi_path, _pya_path], extra_objects=[config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)], extra_link_args=config.link_args('tlcore'), + extra_compile_args=config.compile_args('tlcore'), sources=list(tl_sources)) # ------------------------------------------------------------------ @@ -547,6 +546,7 @@ db = Extension(config.root + '.dbcore', include_dirs=[_db_path, _tl_path, _gsi_path, _pya_path], extra_objects=[config.path_of('_db', _db_path), config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)], extra_link_args=config.link_args('dbcore'), + extra_compile_args=config.compile_args('dbcore'), sources=list(db_sources)) # ------------------------------------------------------------------ @@ -560,6 +560,7 @@ lib = Extension(config.root + '.libcore', include_dirs=[_lib_path, _tl_path, _gsi_path, _pya_path], extra_objects=[config.path_of('_lib', _lib_path), config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)], extra_link_args=config.link_args('libcore'), + extra_compile_args=config.compile_args('libcore'), sources=list(lib_sources)) # ------------------------------------------------------------------ @@ -573,6 +574,7 @@ rdb = Extension(config.root + '.rdbcore', include_dirs=[_rdb_path, _tl_path, _gsi_path, _pya_path], extra_objects=[config.path_of('_rdb', _rdb_path), config.path_of('_tl', _tl_path), config.path_of('_gsi', _gsi_path), config.path_of('_pya', _pya_path)], extra_link_args=config.link_args('rdbcore'), + extra_compile_args=config.compile_args('rdbcore'), sources=list(rdb_sources)) # ------------------------------------------------------------------ @@ -583,7 +585,7 @@ if __name__ == '__main__': version=config.version(), license='GNU GPLv3', description='KLayout standalone Python package', - long_description='TODO', + long_description='This package is a standalone distribution of KLayout\'s Python API.\n\nFor more details see here: https://www.klayout.org/klayout-pypi', author='Matthias Koefferlein', author_email='matthias@klayout.de', classifiers=[ diff --git a/src/ant/ant/antCommon.h b/src/ant/ant/antCommon.h index 53a08cb3a..172cd626d 100644 --- a/src/ant/ant/antCommon.h +++ b/src/ant/ant/antCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antConfig.cc b/src/ant/ant/antConfig.cc index f882ad9bb..78356a41b 100644 --- a/src/ant/ant/antConfig.cc +++ b/src/ant/ant/antConfig.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antConfig.h b/src/ant/ant/antConfig.h index 6ada6aa61..f32c1ac0e 100644 --- a/src/ant/ant/antConfig.h +++ b/src/ant/ant/antConfig.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antConfigPage.cc b/src/ant/ant/antConfigPage.cc index 4f1cef563..2d3e2247e 100644 --- a/src/ant/ant/antConfigPage.cc +++ b/src/ant/ant/antConfigPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,7 +76,7 @@ ConfigPage::commit (lay::Dispatcher *root) root->config_set (cfg_ruler_grid_snap, mp_ui->ruler_grid_snap_cbx->isChecked ()); int sr = 0; - tl::from_string (tl::to_string (mp_ui->ruler_snap_range_edit->text ()), sr); + tl::from_string_ext (tl::to_string (mp_ui->ruler_snap_range_edit->text ()), sr); if (sr < 1 || sr > 1000) { throw tl::Exception (tl::to_string (QObject::tr ("Not a valid pixel value (must be non-zero positive and not too large): %s")), tl::to_string (mp_ui->ruler_snap_range_edit->text ())); } @@ -127,7 +127,7 @@ ConfigPage2::commit (lay::Dispatcher *root) { int mr; try { - tl::from_string (tl::to_string (mp_ui->num_rulers_edit->text ()), mr); + tl::from_string_ext (tl::to_string (mp_ui->num_rulers_edit->text ()), mr); } catch (...) { mr = -1; } diff --git a/src/ant/ant/antConfigPage.h b/src/ant/ant/antConfigPage.h index 8e68854cd..a99d37b34 100644 --- a/src/ant/ant/antConfigPage.h +++ b/src/ant/ant/antConfigPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antForceLink.cc b/src/ant/ant/antForceLink.cc index 0c65edfca..4a96a1893 100644 --- a/src/ant/ant/antForceLink.cc +++ b/src/ant/ant/antForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antForceLink.h b/src/ant/ant/antForceLink.h index f8d0db814..4821171a1 100644 --- a/src/ant/ant/antForceLink.h +++ b/src/ant/ant/antForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antObject.cc b/src/ant/ant/antObject.cc index 3d46b9933..6f421383b 100644 --- a/src/ant/ant/antObject.cc +++ b/src/ant/ant/antObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antObject.h b/src/ant/ant/antObject.h index ea3b6fa9b..3fe1422a8 100644 --- a/src/ant/ant/antObject.h +++ b/src/ant/ant/antObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antPlugin.cc b/src/ant/ant/antPlugin.cc index 15c1c68a0..330442a94 100644 --- a/src/ant/ant/antPlugin.cc +++ b/src/ant/ant/antPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antPlugin.h b/src/ant/ant/antPlugin.h index 305bc010a..6d65c03e6 100644 --- a/src/ant/ant/antPlugin.h +++ b/src/ant/ant/antPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antPropertiesPage.cc b/src/ant/ant/antPropertiesPage.cc index 98bb0fcd5..565bf182e 100644 --- a/src/ant/ant/antPropertiesPage.cc +++ b/src/ant/ant/antPropertiesPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -132,7 +132,7 @@ PropertiesPage::get_points (db::DPoint &p1, db::DPoint &p2) bool has_error = false; try { - tl::from_string (tl::to_string (x1->text ()), dx1); + tl::from_string_ext (tl::to_string (x1->text ()), dx1); lay::indicate_error (x1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x1, &ex); @@ -140,7 +140,7 @@ PropertiesPage::get_points (db::DPoint &p1, db::DPoint &p2) } try { - tl::from_string (tl::to_string (x2->text ()), dx2); + tl::from_string_ext (tl::to_string (x2->text ()), dx2); lay::indicate_error (x2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x2, &ex); @@ -148,7 +148,7 @@ PropertiesPage::get_points (db::DPoint &p1, db::DPoint &p2) } try { - tl::from_string (tl::to_string (y1->text ()), dy1); + tl::from_string_ext (tl::to_string (y1->text ()), dy1); lay::indicate_error (y1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y1, &ex); @@ -156,7 +156,7 @@ PropertiesPage::get_points (db::DPoint &p1, db::DPoint &p2) } try { - tl::from_string (tl::to_string (y2->text ()), dy2); + tl::from_string_ext (tl::to_string (y2->text ()), dy2); lay::indicate_error (y2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y2, &ex); diff --git a/src/ant/ant/antPropertiesPage.h b/src/ant/ant/antPropertiesPage.h index 80956f1f8..cd3253129 100644 --- a/src/ant/ant/antPropertiesPage.h +++ b/src/ant/ant/antPropertiesPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antService.cc b/src/ant/ant/antService.cc index 07f288231..7fe8733ce 100644 --- a/src/ant/ant/antService.cc +++ b/src/ant/ant/antService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antService.h b/src/ant/ant/antService.h index 52d6516fb..2856ba067 100644 --- a/src/ant/ant/antService.h +++ b/src/ant/ant/antService.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antTemplate.cc b/src/ant/ant/antTemplate.cc index 5f70b37c3..e47f523c7 100644 --- a/src/ant/ant/antTemplate.cc +++ b/src/ant/ant/antTemplate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/antTemplate.h b/src/ant/ant/antTemplate.h index 1aaf715a4..fbc326680 100644 --- a/src/ant/ant/antTemplate.h +++ b/src/ant/ant/antTemplate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/ant/gsiDeclAnt.cc b/src/ant/ant/gsiDeclAnt.cc index e6a59c62a..ee928abc6 100644 --- a/src/ant/ant/gsiDeclAnt.cc +++ b/src/ant/ant/gsiDeclAnt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/ant/unit_tests/antBasicTests.cc b/src/ant/unit_tests/antBasicTests.cc index 0f6c5bbc4..863713ece 100644 --- a/src/ant/unit_tests/antBasicTests.cc +++ b/src/ant/unit_tests/antBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdCommon.h b/src/buddies/src/bd/bdCommon.h index b01cba59a..471ef9ae2 100644 --- a/src/buddies/src/bd/bdCommon.h +++ b/src/buddies/src/bd/bdCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdConverterMain.cc b/src/buddies/src/bd/bdConverterMain.cc index f8e788d9f..215740cca 100644 --- a/src/buddies/src/bd/bdConverterMain.cc +++ b/src/buddies/src/bd/bdConverterMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ int converter_main (int argc, char *argv[], const std::string &format) generic_reader_options.add_options (cmd); cmd << tl::arg ("input", &infile, "The input file (any format, may be gzip compressed)", - "You can use '+' to supply multiple files which will be read after each other into the same layout. " + "You can use '+' or ',' to supply multiple files which will be read after each other into the same layout. " "This provides some cheap, but risky way of merging files. Beware of cell name conflicts.") << tl::arg ("output", &outfile, tl::sprintf ("The output file (%s format)", format)) ; @@ -56,14 +56,7 @@ int converter_main (int argc, char *argv[], const std::string &format) { db::LoadLayoutOptions load_options; generic_reader_options.configure (load_options); - - std::vector files = tl::split (infile, "+"); - - for (std::vector::const_iterator f = files.begin (); f != files.end (); ++f) { - tl::InputStream stream (*f); - db::Reader reader (stream); - reader.read (layout, load_options); - } + read_files (layout, infile, load_options); } { diff --git a/src/buddies/src/bd/bdConverterMain.h b/src/buddies/src/bd/bdConverterMain.h index c868d29ac..339047a1f 100644 --- a/src/buddies/src/bd/bdConverterMain.h +++ b/src/buddies/src/bd/bdConverterMain.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdInit.cc b/src/buddies/src/bd/bdInit.cc index 0d3160ccc..49bee723e 100644 --- a/src/buddies/src/bd/bdInit.cc +++ b/src/buddies/src/bd/bdInit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdInit.h b/src/buddies/src/bd/bdInit.h index f098a8306..a6d9bd43e 100644 --- a/src/buddies/src/bd/bdInit.h +++ b/src/buddies/src/bd/bdInit.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdReaderOptions.cc b/src/buddies/src/bd/bdReaderOptions.cc index fde037d2b..2cc09cd22 100644 --- a/src/buddies/src/bd/bdReaderOptions.cc +++ b/src/buddies/src/bd/bdReaderOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -647,7 +647,7 @@ GenericReaderOptions::add_options (tl::CommandLineOptions &cmd) "\n" "The following values are accepted for this option:\n" "\n" - "* 0: produce LEF geometry unless a FOREIGN cell is specified\n" + "* 0: produce LEF geometry unless a FOREIGN cell is specified (the default)\n" "* 1: produce LEF geometry always and ignore FOREIGN\n" "* 2: Never produce LEF geometry and assume FOREIGN always\n" "\n" @@ -679,8 +679,6 @@ GenericReaderOptions::add_options (tl::CommandLineOptions &cmd) "Use a comma-separated list of file names here to specify which LEF files to read. " "See also '--" + m_long_prefix + "lefdef-read-lef-with-def' for an option to implicitly read all LEF files in the same " "place than the DEF file.\n" - "\n" - "Relative paths are resolved based on the location of the DEF file which is read." ) ; @@ -730,7 +728,7 @@ GenericReaderOptions::configure (db::LoadLayoutOptions &load_options) load_options.set_option_by_name ("gds2_allow_multi_xy_records", m_gds2_allow_multi_xy_records); load_options.set_option_by_name ("oasis_read_all_properties", m_oasis_read_all_properties); - load_options.set_option_by_name ("oasis_expect_strict_mode", m_oasis_expect_strict_mode ? 1 : 0); + load_options.set_option_by_name ("oasis_expect_strict_mode", m_oasis_expect_strict_mode ? 1 : -1); load_options.set_option_by_name ("cif_layer_map", tl::Variant::make_variant (m_layer_map)); load_options.set_option_by_name ("cif_create_other_layers", m_create_other_layers); @@ -807,6 +805,8 @@ GenericReaderOptions::configure (db::LoadLayoutOptions &load_options) load_options.set_option_by_name ("lefdef_config.separate_groups", m_lefdef_separate_groups); load_options.set_option_by_name ("lefdef_config.map_file", m_lefdef_map_file); load_options.set_option_by_name ("lefdef_config.macro_resolution_mode", m_lefdef_macro_resolution_mode); + load_options.set_option_by_name ("lefdef_config.macro_resolution_mode", m_lefdef_macro_resolution_mode); + load_options.set_option_by_name ("lefdef_config.paths_relative_to_cwd", true); m_lef_layouts.clear (); tl::Variant lef_layout_ptrs = tl::Variant::empty_list (); @@ -833,4 +833,42 @@ GenericReaderOptions::configure (db::LoadLayoutOptions &load_options) load_options.set_option_by_name ("lefdef_config.macro_layouts", lef_layout_ptrs); } +static std::string::size_type find_file_sep (const std::string &s, std::string::size_type from) +{ + std::string::size_type p1 = s.find ("+", from); + std::string::size_type p2 = s.find (",", from); + + if (p1 == std::string::npos) { + return p2; + } else if (p2 == std::string::npos) { + return p1; + } else { + return p1 < p2 ? p1 : p2; + } +} + +static std::vector split_file_list (const std::string &infile) +{ + std::vector files; + + size_t p = 0; + for (size_t pp = 0; (pp = find_file_sep (infile, p)) != std::string::npos; p = pp + 1) { + files.push_back (std::string (infile, p, pp - p)); + } + files.push_back (std::string (infile, p)); + + return files; +} + +void read_files (db::Layout &layout, const std::string &infile, const db::LoadLayoutOptions &options) +{ + std::vector files = split_file_list (infile); + + for (std::vector::const_iterator f = files.begin (); f != files.end (); ++f) { + tl::InputStream stream (*f); + db::Reader reader (stream); + reader.read (layout, options); + } +} + } diff --git a/src/buddies/src/bd/bdReaderOptions.h b/src/buddies/src/bd/bdReaderOptions.h index 3b0e22bff..3569fe617 100644 --- a/src/buddies/src/bd/bdReaderOptions.h +++ b/src/buddies/src/bd/bdReaderOptions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -195,6 +195,13 @@ private: tl::shared_collection m_lef_layouts; }; +/** + * @brief A function to load a sequence of files into the layout with the given options + * + * "file_path" is a "+" or "," separated list of files read "into" a single layout. + */ +BD_PUBLIC void read_files (db::Layout &layout, const std::string &infile, const db::LoadLayoutOptions &options); + } #endif diff --git a/src/buddies/src/bd/bdWriterOptions.cc b/src/buddies/src/bd/bdWriterOptions.cc index 7a7db29cb..099d2460c 100644 --- a/src/buddies/src/bd/bdWriterOptions.cc +++ b/src/buddies/src/bd/bdWriterOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/bdWriterOptions.h b/src/buddies/src/bd/bdWriterOptions.h index 4980daa3c..bebe6dd95 100644 --- a/src/buddies/src/bd/bdWriterOptions.h +++ b/src/buddies/src/bd/bdWriterOptions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/main.cc b/src/buddies/src/bd/main.cc index b731432e1..fda9c9b3c 100644 --- a/src/buddies/src/bd/main.cc +++ b/src/buddies/src/bd/main.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2cif.cc b/src/buddies/src/bd/strm2cif.cc index 0070201a7..c3b49ddec 100644 --- a/src/buddies/src/bd/strm2cif.cc +++ b/src/buddies/src/bd/strm2cif.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2dxf.cc b/src/buddies/src/bd/strm2dxf.cc index 5fadb91f9..9a9dbce37 100644 --- a/src/buddies/src/bd/strm2dxf.cc +++ b/src/buddies/src/bd/strm2dxf.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2gds.cc b/src/buddies/src/bd/strm2gds.cc index 6cea3e32d..31be55d4e 100644 --- a/src/buddies/src/bd/strm2gds.cc +++ b/src/buddies/src/bd/strm2gds.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2gdstxt.cc b/src/buddies/src/bd/strm2gdstxt.cc index f6d98cb07..01c0f5b29 100644 --- a/src/buddies/src/bd/strm2gdstxt.cc +++ b/src/buddies/src/bd/strm2gdstxt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2mag.cc b/src/buddies/src/bd/strm2mag.cc index c7e2b3de7..c47692a85 100644 --- a/src/buddies/src/bd/strm2mag.cc +++ b/src/buddies/src/bd/strm2mag.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2oas.cc b/src/buddies/src/bd/strm2oas.cc index 8a62d38e4..0da700cac 100644 --- a/src/buddies/src/bd/strm2oas.cc +++ b/src/buddies/src/bd/strm2oas.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strm2txt.cc b/src/buddies/src/bd/strm2txt.cc index 4d7417d8e..a8135b832 100644 --- a/src/buddies/src/bd/strm2txt.cc +++ b/src/buddies/src/bd/strm2txt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,10 +47,7 @@ BD_PUBLIC int strm2txt (int argc, char *argv[]) { db::LoadLayoutOptions load_options; generic_reader_options.configure (load_options); - - tl::InputStream stream (infile); - db::Reader reader (stream); - reader.read (layout, load_options); + bd::read_files (layout, infile, load_options); } { diff --git a/src/buddies/src/bd/strmclip.cc b/src/buddies/src/bd/strmclip.cc index b83c588ac..629042372 100644 --- a/src/buddies/src/bd/strmclip.cc +++ b/src/buddies/src/bd/strmclip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -71,10 +71,7 @@ void clip (ClipData &data) { db::LoadLayoutOptions load_options; data.reader_options.configure (load_options); - - tl::InputStream stream (data.file_in); - db::Reader reader (stream); - reader.read (layout, load_options); + bd::read_files (layout, data.file_in, load_options); } // create the layers in the target layout as well diff --git a/src/buddies/src/bd/strmcmp.cc b/src/buddies/src/bd/strmcmp.cc index 8bc6f9673..2e71a5505 100644 --- a/src/buddies/src/bd/strmcmp.cc +++ b/src/buddies/src/bd/strmcmp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -142,19 +142,13 @@ BD_PUBLIC int strmcmp (int argc, char *argv[]) { db::LoadLayoutOptions load_options; generic_reader_options_a.configure (load_options); - - tl::InputStream stream (infile_a); - db::Reader reader (stream); - reader.read (layout_a, load_options); + bd::read_files (layout_a, infile_a, load_options); } { db::LoadLayoutOptions load_options; generic_reader_options_b.configure (load_options); - - tl::InputStream stream (infile_b); - db::Reader reader (stream); - reader.read (layout_b, load_options); + bd::read_files (layout_b, infile_b, load_options); } unsigned int flags = 0; diff --git a/src/buddies/src/bd/strmrun.cc b/src/buddies/src/bd/strmrun.cc index d0c8cebe3..0d58374a9 100644 --- a/src/buddies/src/bd/strmrun.cc +++ b/src/buddies/src/bd/strmrun.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/src/bd/strmxor.cc b/src/buddies/src/bd/strmxor.cc index 876373056..03de6cf80 100644 --- a/src/buddies/src/bd/strmxor.cc +++ b/src/buddies/src/bd/strmxor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,6 +21,7 @@ */ #include "bdReaderOptions.h" +#include "bdWriterOptions.h" #include "dbLayout.h" #include "dbTilingProcessor.h" #include "dbReader.h" @@ -30,12 +31,34 @@ #include "dbDeepShapeStore.h" #include "gsiExpression.h" #include "tlCommandLineParser.h" +#include "tlThreads.h" -class CountingInserter +namespace { + +// --------------------------------------------------------------------- + +class HealingCountingReceiver + : public db::TileOutputReceiver { public: - CountingInserter () - : m_count (0) + HealingCountingReceiver (size_t *count, bool healing); + + virtual void put (size_t /*ix*/, size_t /*iy*/, const db::Box &tile, size_t /*id*/, const tl::Variant &obj, double /*dbu*/, const db::ICplxTrans & /*trans*/, bool clip); + virtual void finish (bool); + + void keep_for_healing (const db::Polygon &poly); + +private: + size_t *mp_count; + db::Region m_for_healing; + bool m_healing; +}; + +class HealingCountingInserter +{ +public: + HealingCountingInserter (const db::Box &tile, bool healing, HealingCountingReceiver *rec) + : m_count (0), mp_tile (&tile), m_healing (healing), mp_receiver (rec) { // .. nothing yet .. } @@ -46,6 +69,15 @@ public: m_count += 1; } + void operator() (const db::Polygon &poly) + { + if (m_healing && ! poly.box ().inside (mp_tile->enlarged (db::Vector (-1, -1)))) { + mp_receiver->keep_for_healing (poly); + } else { + m_count += 1; + } + } + size_t count () const { return m_count; @@ -53,29 +85,140 @@ public: private: size_t m_count; + const db::Box *mp_tile; + bool m_healing; + HealingCountingReceiver *mp_receiver; }; -class CountingReceiver +HealingCountingReceiver::HealingCountingReceiver (size_t *count, bool healing) + : mp_count (count), m_healing (healing) +{ + // .. nothing yet .. +} + +void +HealingCountingReceiver::put (size_t /*ix*/, size_t /*iy*/, const db::Box &tile, size_t /*id*/, const tl::Variant &obj, double /*dbu*/, const db::ICplxTrans & /*trans*/, bool clip) +{ + HealingCountingInserter inserter (tile, m_healing, this); + db::insert_var (inserter, obj, tile, clip); + *mp_count += inserter.count (); +} + +void +HealingCountingReceiver::keep_for_healing (const db::Polygon &poly) +{ + m_for_healing.insert (poly); +} + +void +HealingCountingReceiver::finish (bool) +{ + if (m_healing) { + *mp_count += m_for_healing.merged ().count (); + } +} + +// --------------------------------------------------------------------- + +class HealingTileLayoutOutputReceiver : public db::TileOutputReceiver { public: - CountingReceiver (size_t *count) - : mp_count (count) + HealingTileLayoutOutputReceiver (db::Layout *layout, db::Cell *cell, unsigned int layer, bool healing); + + void put (size_t /*ix*/, size_t /*iy*/, const db::Box &tile, size_t /*id*/, const tl::Variant &obj, double dbu, const db::ICplxTrans &trans, bool clip); + + void begin (size_t /*nx*/, size_t /*ny*/, const db::DPoint & /*p0*/, double /*dx*/, double /*dy*/, const db::DBox & /*frame*/); + void finish (bool /*success*/); + + void keep_for_healing (const db::Polygon &poly); + void output (const db::Polygon &poly); + +private: + db::Layout *mp_layout; + db::Cell *mp_cell; + unsigned int m_layer; + db::Region m_for_healing; + bool m_healing; + tl::Mutex m_mutex; +}; + +class HealingTileLayoutOutputInserter +{ +public: + HealingTileLayoutOutputInserter (const db::Box &tile, bool healing, const db::ICplxTrans &trans, HealingTileLayoutOutputReceiver *rec) + : mp_tile (&tile), m_healing (healing), mp_trans (&trans), mp_receiver (rec) { // .. nothing yet .. } - virtual void put (size_t /*ix*/, size_t /*iy*/, const db::Box &tile, size_t /*id*/, const tl::Variant &obj, double /*dbu*/, const db::ICplxTrans & /*trans*/, bool clip) + template + void operator() (const T & /*t*/) { - CountingInserter inserter; - db::insert_var (inserter, obj, tile, clip); - *mp_count += inserter.count (); + // .. ignore other shapes + } + + void operator() (const db::Polygon &poly) + { + if (m_healing && ! poly.box ().inside (mp_tile->enlarged (db::Vector (-1, -1)))) { + mp_receiver->keep_for_healing (*mp_trans * poly); + } else { + mp_receiver->output (*mp_trans * poly); + } } private: - size_t *mp_count; + const db::Box *mp_tile; + bool m_healing; + const db::ICplxTrans *mp_trans; + HealingTileLayoutOutputReceiver *mp_receiver; }; +HealingTileLayoutOutputReceiver::HealingTileLayoutOutputReceiver (db::Layout *layout, db::Cell *cell, unsigned int layer, bool healing) + : mp_layout (layout), mp_cell (cell), m_layer (layer), m_healing (healing) +{ + // .. nothing yet .. +} + +void +HealingTileLayoutOutputReceiver::put (size_t /*ix*/, size_t /*iy*/, const db::Box &tile, size_t /*id*/, const tl::Variant &obj, double dbu, const db::ICplxTrans &trans, bool clip) +{ + db::ICplxTrans tr (db::ICplxTrans (dbu / mp_layout->dbu ()) * trans); + HealingTileLayoutOutputInserter inserter (tile, m_healing, tr, this); + db::insert_var (inserter, obj, tile, clip); +} + +void +HealingTileLayoutOutputReceiver::begin (size_t /*nx*/, size_t /*ny*/, const db::DPoint & /*p0*/, double /*dx*/, double /*dy*/, const db::DBox & /*frame*/) +{ + mp_layout->start_changes (); +} + +void +HealingTileLayoutOutputReceiver::finish (bool /*success*/) +{ + // heal the polygons + m_for_healing.merge (); + m_for_healing.insert_into (mp_layout, mp_cell->cell_index (), m_layer); + m_for_healing.clear (); + + mp_layout->end_changes (); +} + +void +HealingTileLayoutOutputReceiver::keep_for_healing (const db::Polygon &poly) +{ + m_for_healing.insert (poly); +} + +void +HealingTileLayoutOutputReceiver::output (const db::Polygon &poly) +{ + mp_cell->shapes (m_layer).insert (poly); +} + +// --------------------------------------------------------------------- + struct ResultDescriptor { ResultDescriptor () @@ -119,6 +262,8 @@ struct ResultDescriptor } }; +// --------------------------------------------------------------------- + struct XORData { XORData () @@ -126,7 +271,8 @@ struct XORData tolerance_bump (0), dont_summarize_missing_layers (false), silent (false), no_summary (false), threads (0), - tile_size (0.0), output_layout (0), output_cell (0) + tile_size (0.0), heal_results (false), + output_layout (0), output_cell (0) { } db::Layout *layout_a, *layout_b; @@ -138,12 +284,17 @@ struct XORData bool no_summary; int threads; double tile_size; + bool heal_results; db::Layout *output_layout; db::cell_index_type output_cell; std::map, db::LPLogicalLessFunc> l2l_map; std::map, ResultDescriptor> *results; }; +} + +// --------------------------------------------------------------------- + static bool run_tiled_xor (const XORData &xor_data); static bool run_deep_xor (const XORData &xor_data); @@ -171,11 +322,15 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) int tolerance_bump = 10000; int threads = 1; double tile_size = 0.0; + bool heal_results = false; tl::CommandLineOptions cmd; generic_reader_options_a.add_options (cmd); generic_reader_options_b.add_options (cmd); + bd::GenericWriterOptions writer_options; + writer_options.add_options (cmd); + cmd << tl::arg ("input_a", &infile_a, "The first input file (any format, may be gzip compressed)") << tl::arg ("input_b", &infile_b, "The second input file (any format, may be gzip compressed)") << tl::arg ("?output", &output, "The output file to which the XOR differences are written", @@ -219,6 +374,10 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) "In tiling mode, the layout is divided into tiles of the given size. Each tile is computed " "individually. Multiple tiles can be processed in parallel on multiple cores." ) + << tl::arg ("-m|--heal", &heal_results, "Heal results in tiling mode", + "This options runs a post-XOR merge to remove cuts implied by the tile formation. The resulting " + "feature count is closer to the real number of differences." + ) << tl::arg ("-b|--layer-bump=offset", &tolerance_bump, "Specifies the layer number offset to add for every tolerance", "This value is the number added to the original layer number to form a layer set for each tolerance " "value. If this value is set to 1000, the first tolerance value will produce XOR results on the " @@ -253,10 +412,7 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) db::LoadLayoutOptions load_options; generic_reader_options_a.configure (load_options); - - tl::InputStream stream (infile_a); - db::Reader reader (stream); - reader.read (layout_a, load_options); + bd::read_files (layout_a, infile_a, load_options); } { @@ -264,10 +420,7 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) db::LoadLayoutOptions load_options; generic_reader_options_b.configure (load_options); - - tl::InputStream stream (infile_b); - db::Reader reader (stream); - reader.read (layout_b, load_options); + bd::read_files (layout_b, infile_b, load_options); } if (top_a.empty ()) { @@ -335,6 +488,7 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) xor_data.no_summary = no_summary; xor_data.threads = threads; xor_data.tile_size = tile_size; + xor_data.heal_results = heal_results; xor_data.output_layout = output_layout.get (); xor_data.output_cell = output_top; xor_data.l2l_map = l2l_map; @@ -356,6 +510,7 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) db::SaveLayoutOptions save_options; save_options.set_format_from_filename (output); + writer_options.configure (save_options, *output_layout); tl::OutputStream stream (output); db::Writer writer (save_options); @@ -413,7 +568,6 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) return result ? 0 : 1; } - bool run_tiled_xor (const XORData &xor_data) { db::TilingProcessor proc; @@ -422,6 +576,7 @@ bool run_tiled_xor (const XORData &xor_data) if (xor_data.tile_size > db::epsilon) { if (tl::verbosity () >= 20) { tl::log << "Tile size: " << xor_data.tile_size; + tl::log << "Healing: " << (xor_data.heal_results ? "on" : "off"); } proc.tile_size (xor_data.tile_size, xor_data.tile_size); } @@ -445,8 +600,6 @@ bool run_tiled_xor (const XORData &xor_data) int index = 1; - std::list > counters; - for (std::map >::const_iterator ll = xor_data.l2l_map.begin (); ll != xor_data.l2l_map.end (); ++ll) { if ((ll->second.first < 0 || ll->second.second < 0) && ! xor_data.dont_summarize_missing_layers) { @@ -509,10 +662,10 @@ bool run_tiled_xor (const XORData &xor_data) if (result.layout) { result.layer_output = result.layout->insert_layer (lp); - proc.output (out, *result.layout, result.top_cell, result.layer_output); + HealingTileLayoutOutputReceiver *receiver = new HealingTileLayoutOutputReceiver (result.layout, &result.layout->cell (result.top_cell), result.layer_output, xor_data.heal_results); + proc.output (out, 0, receiver, db::ICplxTrans ()); } else { - CountingReceiver *counter = new CountingReceiver (&result.shape_count); - counters.push_back (tl::shared_ptr (counter)); + HealingCountingReceiver *counter = new HealingCountingReceiver (&result.shape_count, xor_data.heal_results); proc.output (out, 0, counter, db::ICplxTrans ()); } diff --git a/src/buddies/unit_tests/bdBasicTests.cc b/src/buddies/unit_tests/bdBasicTests.cc index 5029c0b87..39c6a13d5 100644 --- a/src/buddies/unit_tests/bdBasicTests.cc +++ b/src/buddies/unit_tests/bdBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdConverterTests.cc b/src/buddies/unit_tests/bdConverterTests.cc index 2333a9e89..294b1cb69 100644 --- a/src/buddies/unit_tests/bdConverterTests.cc +++ b/src/buddies/unit_tests/bdConverterTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdStrm2txtTests.cc b/src/buddies/unit_tests/bdStrm2txtTests.cc index 78c44f537..b693e7a75 100644 --- a/src/buddies/unit_tests/bdStrm2txtTests.cc +++ b/src/buddies/unit_tests/bdStrm2txtTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdStrmclipTests.cc b/src/buddies/unit_tests/bdStrmclipTests.cc index 37da7c661..12d309795 100644 --- a/src/buddies/unit_tests/bdStrmclipTests.cc +++ b/src/buddies/unit_tests/bdStrmclipTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdStrmcmpTests.cc b/src/buddies/unit_tests/bdStrmcmpTests.cc index 78dac4666..6a2c0e315 100644 --- a/src/buddies/unit_tests/bdStrmcmpTests.cc +++ b/src/buddies/unit_tests/bdStrmcmpTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdStrmrunTests.cc b/src/buddies/unit_tests/bdStrmrunTests.cc index 21bd27368..e097007e9 100644 --- a/src/buddies/unit_tests/bdStrmrunTests.cc +++ b/src/buddies/unit_tests/bdStrmrunTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/buddies/unit_tests/bdStrmxorTests.cc b/src/buddies/unit_tests/bdStrmxorTests.cc index 9c8b8a3b4..4282b529f 100644 --- a/src/buddies/unit_tests/bdStrmxorTests.cc +++ b/src/buddies/unit_tests/bdStrmxorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -393,6 +393,105 @@ TEST(3_Flat) ); } +TEST(3_FlatCount) +{ + tl::CaptureChannel cap; + + std::string input_a = tl::testdata (); + input_a += "/bd/strmxor_in1.gds"; + + std::string input_b = tl::testdata (); + input_b += "/bd/strmxor_in2.gds"; + + std::string au = tl::testdata (); + au += "/bd/strmxor_au3.oas"; + + std::string output = this->tmp_file ("tmp.oas"); + + const char *argv[] = { "x", "-p=1.0", "-n=4", input_a.c_str (), input_b.c_str () }; + + EXPECT_EQ (strmxor (sizeof (argv) / sizeof (argv[0]), (char **) argv), 1); + + EXPECT_EQ (cap.captured_text (), + "Layer 10/0 is not present in first layout, but in second\n" + "Result summary (layers without differences are not shown):\n" + "\n" + " Layer Output Differences (shape count)\n" + " -------------------------------------------------------\n" + " 3/0 - 31\n" + " 6/0 - 217\n" + " 8/1 - 168\n" + " 10/0 - (no such layer in first layout)\n" + "\n" + ); +} + +TEST(3_FlatHeal) +{ + tl::CaptureChannel cap; + + std::string input_a = tl::testdata (); + input_a += "/bd/strmxor_in1.gds"; + + std::string input_b = tl::testdata (); + input_b += "/bd/strmxor_in2.gds"; + + std::string au = tl::testdata (); + au += "/bd/strmxor_au3_heal.oas"; + + std::string output = this->tmp_file ("tmp.oas"); + + const char *argv[] = { "x", "--heal", "--no-summary", "-p=1.0", "-n=4", input_a.c_str (), input_b.c_str (), output.c_str () }; + + EXPECT_EQ (strmxor (sizeof (argv) / sizeof (argv[0]), (char **) argv), 1); + + db::Layout layout; + + { + tl::InputStream stream (output); + db::Reader reader (stream); + reader.read (layout); + } + + db::compare_layouts (this, layout, au, db::NoNormalization); + EXPECT_EQ (cap.captured_text (), + "Layer 10/0 is not present in first layout, but in second\n" + ); +} + +TEST(3_FlatCountHeal) +{ + tl::CaptureChannel cap; + + std::string input_a = tl::testdata (); + input_a += "/bd/strmxor_in1.gds"; + + std::string input_b = tl::testdata (); + input_b += "/bd/strmxor_in2.gds"; + + std::string au = tl::testdata (); + au += "/bd/strmxor_au3.oas"; + + std::string output = this->tmp_file ("tmp.oas"); + + const char *argv[] = { "x", "-m", "-p=1.0", "-n=4", input_a.c_str (), input_b.c_str () }; + + EXPECT_EQ (strmxor (sizeof (argv) / sizeof (argv[0]), (char **) argv), 1); + + EXPECT_EQ (cap.captured_text (), + "Layer 10/0 is not present in first layout, but in second\n" + "Result summary (layers without differences are not shown):\n" + "\n" + " Layer Output Differences (shape count)\n" + " -------------------------------------------------------\n" + " 3/0 - 30\n" + " 6/0 - 41\n" + " 8/1 - 1\n" + " 10/0 - (no such layer in first layout)\n" + "\n" + ); +} + TEST(3_Deep) { tl::CaptureChannel cap; @@ -460,6 +559,39 @@ TEST(4_Flat) ); } +TEST(4_FlatHeal) +{ + tl::CaptureChannel cap; + + std::string input_a = tl::testdata (); + input_a += "/bd/strmxor_in1.gds"; + + std::string input_b = tl::testdata (); + input_b += "/bd/strmxor_in2.gds"; + + std::string au = tl::testdata (); + au += "/bd/strmxor_au4_heal.oas"; + + std::string output = this->tmp_file ("tmp.oas"); + + const char *argv[] = { "x", "--heal", "--no-summary", "-p=1.0", "-n=4", "-t=0.0,0.005,0.01,0.02,0.09,0.1", input_a.c_str (), input_b.c_str (), output.c_str () }; + + EXPECT_EQ (strmxor (sizeof (argv) / sizeof (argv[0]), (char **) argv), 1); + + db::Layout layout; + + { + tl::InputStream stream (output); + db::Reader reader (stream); + reader.read (layout); + } + + db::compare_layouts (this, layout, au, db::NoNormalization); + EXPECT_EQ (cap.captured_text (), + "Layer 10/0 is not present in first layout, but in second\n" + ); +} + TEST(4_Deep) { tl::CaptureChannel cap; diff --git a/src/buddies/unit_tests/buddies_main.cc b/src/buddies/unit_tests/buddies_main.cc index e580b30c0..a8bbd4e25 100644 --- a/src/buddies/unit_tests/buddies_main.cc +++ b/src/buddies/unit_tests/buddies_main.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/db.pro b/src/db/db/db.pro index df5648b48..35293190d 100644 --- a/src/db/db/db.pro +++ b/src/db/db/db.pro @@ -204,7 +204,6 @@ SOURCES = \ gsiDeclDbNetlistCrossReference.cc \ gsiDeclDbLayoutVsSchematic.cc \ dbNetlistObject.cc \ - dbD25TechnologyComponent.cc \ gsiDeclDbTexts.cc \ dbTexts.cc \ dbDeepTexts.cc \ @@ -381,7 +380,6 @@ HEADERS = \ dbLayoutVsSchematicFormatDefs.h \ dbLayoutVsSchematic.h \ dbNetlistObject.h \ - dbD25TechnologyComponent.h \ dbTexts.h \ dbDeepTexts.h \ dbAsIfFlatTexts.h \ diff --git a/src/db/db/dbArray.cc b/src/db/db/dbArray.cc index 5fe1df30f..3958895fc 100644 --- a/src/db/db/dbArray.cc +++ b/src/db/db/dbArray.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbArray.h b/src/db/db/dbArray.h index ba2efe78a..531f11010 100644 --- a/src/db/db/dbArray.h +++ b/src/db/db/dbArray.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatEdgePairs.cc b/src/db/db/dbAsIfFlatEdgePairs.cc index 127409275..e68786020 100644 --- a/src/db/db/dbAsIfFlatEdgePairs.cc +++ b/src/db/db/dbAsIfFlatEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatEdgePairs.h b/src/db/db/dbAsIfFlatEdgePairs.h index 938beaeea..fd3acec48 100644 --- a/src/db/db/dbAsIfFlatEdgePairs.h +++ b/src/db/db/dbAsIfFlatEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatEdges.cc b/src/db/db/dbAsIfFlatEdges.cc index 5d01e11b8..8aa9d1fae 100644 --- a/src/db/db/dbAsIfFlatEdges.cc +++ b/src/db/db/dbAsIfFlatEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatEdges.h b/src/db/db/dbAsIfFlatEdges.h index 48fec2f37..98e93d35d 100644 --- a/src/db/db/dbAsIfFlatEdges.h +++ b/src/db/db/dbAsIfFlatEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatRegion.cc b/src/db/db/dbAsIfFlatRegion.cc index 9efc43576..47a87419e 100644 --- a/src/db/db/dbAsIfFlatRegion.cc +++ b/src/db/db/dbAsIfFlatRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatRegion.h b/src/db/db/dbAsIfFlatRegion.h index e7b54659b..d6ec3366c 100644 --- a/src/db/db/dbAsIfFlatRegion.h +++ b/src/db/db/dbAsIfFlatRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatTexts.cc b/src/db/db/dbAsIfFlatTexts.cc index 02e8e0da3..af99b2d6c 100644 --- a/src/db/db/dbAsIfFlatTexts.cc +++ b/src/db/db/dbAsIfFlatTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbAsIfFlatTexts.h b/src/db/db/dbAsIfFlatTexts.h index ae20f8aff..243070574 100644 --- a/src/db/db/dbAsIfFlatTexts.h +++ b/src/db/db/dbAsIfFlatTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBox.cc b/src/db/db/dbBox.cc index 97e3d0b17..7697d95b8 100644 --- a/src/db/db/dbBox.cc +++ b/src/db/db/dbBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBox.h b/src/db/db/dbBox.h index 5be7f744b..8736b8e19 100644 --- a/src/db/db/dbBox.h +++ b/src/db/db/dbBox.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBoxConvert.cc b/src/db/db/dbBoxConvert.cc index aee00df2b..445b3a0d9 100644 --- a/src/db/db/dbBoxConvert.cc +++ b/src/db/db/dbBoxConvert.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBoxConvert.h b/src/db/db/dbBoxConvert.h index 8a5f09a16..7174b6ec8 100644 --- a/src/db/db/dbBoxConvert.h +++ b/src/db/db/dbBoxConvert.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBoxScanner.cc b/src/db/db/dbBoxScanner.cc index f01505afe..234434b8f 100644 --- a/src/db/db/dbBoxScanner.cc +++ b/src/db/db/dbBoxScanner.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBoxScanner.h b/src/db/db/dbBoxScanner.h index 68dd68cf6..4c658459d 100644 --- a/src/db/db/dbBoxScanner.h +++ b/src/db/db/dbBoxScanner.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbBoxTree.h b/src/db/db/dbBoxTree.h index 918747933..5b797f58a 100644 --- a/src/db/db/dbBoxTree.h +++ b/src/db/db/dbBoxTree.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCell.cc b/src/db/db/dbCell.cc index 906752112..367f5e024 100644 --- a/src/db/db/dbCell.cc +++ b/src/db/db/dbCell.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -306,7 +306,8 @@ Cell::update_bbox (unsigned int layers) // update the bboxes of the shapes lists for (shapes_map::iterator s = m_shapes_map.begin (); s != m_shapes_map.end (); ++s) { - s->second.update_bbox (); + s->second.reset_bbox_dirty (); + box_type sbox (s->second.bbox ()); if (! sbox.empty ()) { diff --git a/src/db/db/dbCell.h b/src/db/db/dbCell.h index eef960a31..32124e057 100644 --- a/src/db/db/dbCell.h +++ b/src/db/db/dbCell.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,7 +65,7 @@ class LayerMapping; * a set of child cell instances and auxiliary information such as * the parent instance list. * A cell is identified through an index given to the cell upon instantiation. - * The cell index is valid in the context of a cell graph object which + * The cell index is valid in the context of a layout object which * must issue the cell index. */ @@ -483,7 +483,7 @@ public: bool is_shape_bbox_dirty () const; /** - * @brief Update the bbox + * @brief Updates the bbox * * This will update the bbox from the shapes and instances. * This requires the bboxes of the child cells to be computed @@ -496,8 +496,9 @@ public: * @return true, if the bounding box has changed. */ bool update_bbox (unsigned int layers); + /** - * @brief Sort the shapes lists + * @brief Sorts the shapes lists * * This will sort the shapes lists for query of regions * on a per-shape basis. Since sorting of the shapes is @@ -511,7 +512,7 @@ public: * * Before the bounding box can be retrieved, it must have * been computed using update_bbox. This is performed by - * requesting an update from the graph. + * requesting an update from the layout. * * @return The bounding box that was computed by update_bbox */ @@ -522,7 +523,7 @@ public: * * Before the bounding box can be retrieved, it must have * been computed using update_bbox. This is performed by - * requesting an update from the graph. + * requesting an update from the layout. * * @return The bounding box that was computed by update_bbox */ @@ -1026,10 +1027,10 @@ protected: /** * @brief Standard constructor: create an empty cell object * - * Takes the manager object from the graph object. + * Takes the manager object from the layout object. * * @param ci The index of the cell - * @param g A reference to the graph object that owns the cell + * @param g A reference to the layout object that owns the cell */ Cell (cell_index_type ci, db::Layout &g); @@ -1065,7 +1066,7 @@ private: // linked list, used by Layout Cell *mp_last, *mp_next; - // clear the shapes without telling the graph + // clear the shapes without telling the layout void clear_shapes_no_invalidate (); // helper function for computing the number of hierarchy levels diff --git a/src/db/db/dbCellGraphUtils.cc b/src/db/db/dbCellGraphUtils.cc index a460d5a76..e2ca2553e 100644 --- a/src/db/db/dbCellGraphUtils.cc +++ b/src/db/db/dbCellGraphUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellGraphUtils.h b/src/db/db/dbCellGraphUtils.h index 184be46df..7503b2608 100644 --- a/src/db/db/dbCellGraphUtils.h +++ b/src/db/db/dbCellGraphUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellHullGenerator.cc b/src/db/db/dbCellHullGenerator.cc index 6c419967f..bbb52c0fd 100644 --- a/src/db/db/dbCellHullGenerator.cc +++ b/src/db/db/dbCellHullGenerator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellHullGenerator.h b/src/db/db/dbCellHullGenerator.h index 84fbacdb7..defb6ab6e 100644 --- a/src/db/db/dbCellHullGenerator.h +++ b/src/db/db/dbCellHullGenerator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellInst.cc b/src/db/db/dbCellInst.cc index a552d764a..23f7faffd 100644 --- a/src/db/db/dbCellInst.cc +++ b/src/db/db/dbCellInst.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellInst.h b/src/db/db/dbCellInst.h index 8d6aa7ea3..b427c6bdf 100644 --- a/src/db/db/dbCellInst.h +++ b/src/db/db/dbCellInst.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellMapping.cc b/src/db/db/dbCellMapping.cc index 6184e740a..0aa1b443b 100644 --- a/src/db/db/dbCellMapping.cc +++ b/src/db/db/dbCellMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellMapping.h b/src/db/db/dbCellMapping.h index 31f72be94..063961b05 100644 --- a/src/db/db/dbCellMapping.h +++ b/src/db/db/dbCellMapping.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCellVariants.cc b/src/db/db/dbCellVariants.cc index 3b8fd6b03..5f36cc7b7 100644 --- a/src/db/db/dbCellVariants.cc +++ b/src/db/db/dbCellVariants.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -511,19 +511,52 @@ VariantsCollectorBase::create_var_instances_non_tl_invariant (db::Cell &in_cell, std::map >::const_iterator f = var_table.find (i->object ().cell_index ()); if (f == var_table.end ()) { - in_cell.insert (*i); + in_cell.insert (*i); } else { const std::map &vt = f->second; - for (db::CellInstArray::iterator ia = i->begin (); ! ia.at_end (); ++ia) { + bool need_explode = false; + bool first = true; + db::cell_index_type ci = 0; + + for (db::CellInstArray::iterator ia = i->begin (); ! ia.at_end () && ! need_explode; ++ia) { db::ICplxTrans rt = mp_red->reduce (for_var * mp_red->reduce_trans (i->complex_trans (*ia))); std::map::const_iterator v = vt.find (rt); tl_assert (v != vt.end ()); - in_cell.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (v->second), i->complex_trans (*ia)), i->properties_id ())); + if (first) { + ci = v->second; + first = false; + } else { + need_explode = (ci != v->second); + } + + } + + if (need_explode) { + + for (db::CellInstArray::iterator ia = i->begin (); ! ia.at_end (); ++ia) { + + db::ICplxTrans rt = mp_red->reduce (for_var * mp_red->reduce_trans (i->complex_trans (*ia))); + std::map::const_iterator v = vt.find (rt); + tl_assert (v != vt.end ()); + + in_cell.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (v->second), i->complex_trans (*ia)), i->properties_id ())); + + } + + } else if (ci != i->object ().cell_index ()) { + + db::CellInstArray new_array = *i; + new_array.object () = db::CellInst (ci); + in_cell.insert (db::CellInstArrayWithProperties (new_array, i->properties_id ())); + + } else { + + in_cell.insert (*i); } diff --git a/src/db/db/dbCellVariants.h b/src/db/db/dbCellVariants.h index ab4e8ba01..fb945586b 100644 --- a/src/db/db/dbCellVariants.h +++ b/src/db/db/dbCellVariants.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCircuit.cc b/src/db/db/dbCircuit.cc index 9fef782d0..bf11738b2 100644 --- a/src/db/db/dbCircuit.cc +++ b/src/db/db/dbCircuit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCircuit.h b/src/db/db/dbCircuit.h index b1124a6cf..81586e077 100644 --- a/src/db/db/dbCircuit.h +++ b/src/db/db/dbCircuit.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClip.cc b/src/db/db/dbClip.cc index ffcdce0c2..555df7bb1 100644 --- a/src/db/db/dbClip.cc +++ b/src/db/db/dbClip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClip.h b/src/db/db/dbClip.h index 9af6c5b99..5e5e9e8eb 100644 --- a/src/db/db/dbClip.h +++ b/src/db/db/dbClip.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClipboard.cc b/src/db/db/dbClipboard.cc index 846ab3a8e..ae988ad7c 100644 --- a/src/db/db/dbClipboard.cc +++ b/src/db/db/dbClipboard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClipboard.h b/src/db/db/dbClipboard.h index d4a4c2139..a0a20a540 100644 --- a/src/db/db/dbClipboard.h +++ b/src/db/db/dbClipboard.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClipboardData.cc b/src/db/db/dbClipboardData.cc index 9a9b262bb..6277fb654 100644 --- a/src/db/db/dbClipboardData.cc +++ b/src/db/db/dbClipboardData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbClipboardData.h b/src/db/db/dbClipboardData.h index ccc139dc2..d7ae79e77 100644 --- a/src/db/db/dbClipboardData.h +++ b/src/db/db/dbClipboardData.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbColdProxy.cc b/src/db/db/dbColdProxy.cc index 363694380..a2e94cc80 100644 --- a/src/db/db/dbColdProxy.cc +++ b/src/db/db/dbColdProxy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -81,9 +81,9 @@ std::string ColdProxy::get_basic_name () const { if (! mp_context_info->pcell_name.empty ()) { - return "" + mp_context_info->pcell_name; + return mp_context_info->pcell_name; } else if (! mp_context_info->cell_name.empty ()) { - return "" + mp_context_info->cell_name; + return mp_context_info->cell_name; } else { return Cell::get_basic_name (); } diff --git a/src/db/db/dbColdProxy.h b/src/db/db/dbColdProxy.h index a1273b8c4..7f642d994 100644 --- a/src/db/db/dbColdProxy.h +++ b/src/db/db/dbColdProxy.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCommon.h b/src/db/db/dbCommon.h index b455263f2..221eb9f4f 100644 --- a/src/db/db/dbCommon.h +++ b/src/db/db/dbCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCommonReader.cc b/src/db/db/dbCommonReader.cc index d2fa037dc..1e6d49e7d 100644 --- a/src/db/db/dbCommonReader.cc +++ b/src/db/db/dbCommonReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -286,6 +286,8 @@ CommonReader::read (db::Layout &layout, const db::LoadLayoutOptions &options) { init (options); + tl_assert (!layout.under_construction ()); + m_common_options.layer_map.prepare (layout); layout.start_changes (); @@ -298,6 +300,11 @@ CommonReader::read (db::Layout &layout, const db::LoadLayoutOptions &options) throw; } + // A cleanup may be necessary because of the following scenario: if library proxies contain subcells + // which are proxies itself, the proxy update may make them orphans (the proxies are regenerated). + // The cleanup will removed these. + layout.cleanup (); + return m_layer_map_out; } diff --git a/src/db/db/dbCommonReader.h b/src/db/db/dbCommonReader.h index 34812add8..3158bc2b4 100644 --- a/src/db/db/dbCommonReader.h +++ b/src/db/db/dbCommonReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCompoundOperation.cc b/src/db/db/dbCompoundOperation.cc index 57f1aae3f..1a569a7b9 100644 --- a/src/db/db/dbCompoundOperation.cc +++ b/src/db/db/dbCompoundOperation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbCompoundOperation.h b/src/db/db/dbCompoundOperation.h index fd992e5b0..1307a1957 100644 --- a/src/db/db/dbCompoundOperation.h +++ b/src/db/db/dbCompoundOperation.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbConverters.cc b/src/db/db/dbConverters.cc index 97a4db907..66c0a86fb 100644 --- a/src/db/db/dbConverters.cc +++ b/src/db/db/dbConverters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbConverters.h b/src/db/db/dbConverters.h index 78c839627..34ff313e4 100644 --- a/src/db/db/dbConverters.h +++ b/src/db/db/dbConverters.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbD25TechnologyComponent.cc b/src/db/db/dbD25TechnologyComponent.cc deleted file mode 100644 index 62f9b24e4..000000000 --- a/src/db/db/dbD25TechnologyComponent.cc +++ /dev/null @@ -1,436 +0,0 @@ - -/* - - KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - -#include "dbD25TechnologyComponent.h" -#include "tlClassRegistry.h" -#include "tlString.h" - -namespace db -{ - -std::string d25_component_name () -{ - return std::string ("d25"); -} - -std::string d25_description () -{ - return tl::to_string (tr ("Z stack (2.5d)")); -} - -// ----------------------------------------------------------------------------------------- -// D25LayerInfo implementation - -D25LayerInfo::D25LayerInfo () - : m_layer (), m_zstart (0.0), m_zstop (0.0) -{ - // .. nothing yet .. -} - -D25LayerInfo::~D25LayerInfo () -{ - // .. nothing yet .. -} - -D25LayerInfo::D25LayerInfo (const D25LayerInfo &other) -{ - operator= (other); -} - -D25LayerInfo & -D25LayerInfo::operator= (const D25LayerInfo &other) -{ - if (this != &other) { - m_layer = other.m_layer; - m_zstart = other.m_zstart; - m_zstop = other.m_zstop; - } - return *this; -} - -bool -D25LayerInfo::operator== (const D25LayerInfo &other) const -{ - return fabs (m_zstart - other.m_zstart) < db::epsilon && fabs (m_zstop - other.m_zstop) < db::epsilon; -} - -void -D25LayerInfo::set_layer (const db::LayerProperties &l) -{ - m_layer = l; -} - -void -D25LayerInfo::set_layer_from_string (const std::string &l) -{ - db::LayerProperties lp; - tl::Extractor ex (l.c_str ()); - try { - lp.read (ex); - } catch (tl::Exception &) { - // ignore errors for now. - } - m_layer = lp; -} - -std::string -D25LayerInfo::layer_as_string () const -{ - return m_layer.to_string (); -} - -void -D25LayerInfo::set_zstart (double z0) -{ - m_zstart = z0; -} - -void -D25LayerInfo::set_zstop (double z1) -{ - m_zstop = z1; -} - -// ----------------------------------------------------------------------------------- -// D25TechnologyComponent implementation - -D25TechnologyComponent::D25TechnologyComponent () - : db::TechnologyComponent (d25_component_name (), d25_description ()) -{ - // provide some explanation for the initialization - m_src = - "# Provide z stack information here\n" - "#\n" - "# Each line is one layer. The specification consists of a layer specification, a colon and arguments.\n" - "# The arguments are named (like \"x=...\") or in serial. Parameters are separated by comma or blanks.\n" - "# Named arguments are:\n" - "#\n" - "# zstart The lower z position of the extruded layer in µm\n" - "# zstop The upper z position of the extruded layer in µm\n" - "# height The height of the extruded layer in µm\n" - "#\n" - "# 'height', 'zstart' and 'zstop' can be used in any combination. If no value is given for 'zstart',\n" - "# the upper level of the previous layer will be used.\n" - "#\n" - "# If a single unnamed parameter is given, it corresponds to 'height'. Two parameters correspond to\n" - "# 'zstart' and 'zstop'.\n" - "#\n" - "# Examples:\n" - "# 1: 0.5 1.5 # extrude layer 1/0 from 0.5 to 1.5 vertically\n" - "# 1/0: 0.5 1.5 # same with explicit datatype\n" - "# 1: zstop=1.5, zstart=0.5 # same with named parameters\n" - "# 1: height=1.0, zstop=1.5 # same with z stop minus height\n" - "# 1: 1.0 zstop=1.5 # same with height as unnamed parameter\n" - "#\n" - "# VARIABLES\n" - "#\n" - "# You can declare variables with:\n" - "# var name = value\n" - "#\n" - "# You can use variables inside numeric expressions.\n" - "# Example:\n" - "# var hmetal = 0.48\n" - "# 7/0: 0.5 0.5+hmetal*2 # 2x thick metal\n" - "#\n" - "# You cannot use variables inside layer specifications currently.\n" - "#\n" - "# CONDITIONALS\n" - "#\n" - "# You can enable or disable branches of the table using 'if', 'else', 'elseif' and 'end':\n" - "# Example:\n" - "# var thick_m1 = true\n" - "# if thickm1\n" - "# 1: 0.5 1.5\n" - "# else\n" - "# 1: 0.5 1.2\n" - "# end\n" - "\n" - ; -} - -D25TechnologyComponent::D25TechnologyComponent (const D25TechnologyComponent &d) - : db::TechnologyComponent (d25_component_name (), d25_description ()) -{ - m_src = d.m_src; -} - -D25TechnologyComponent::layers_type -D25TechnologyComponent::compile_from_source () const -{ - layers_type layers; - - int current_line = 0; - - try { - - tl::Eval eval; - std::vector conditional_stack; - - std::vector lines = tl::split (m_src, "\n"); - for (std::vector::const_iterator l = lines.begin (); l != lines.end (); ++l) { - - ++current_line; - - tl::Extractor ex (l->c_str ()); - - if (ex.test ("#")) { - // ignore comments - } else if (ex.at_end ()) { - // ignore empty lines - - } else if (ex.test ("if")) { - - tl::Expression x; - eval.parse (x, ex); - conditional_stack.push_back (x.execute ().to_bool ()); - - ex.expect_end (); - - } else if (ex.test ("else")) { - - if (conditional_stack.empty ()) { - throw tl::Exception (tl::to_string (tr ("'else' without 'if'"))); - } - - conditional_stack.back () = ! conditional_stack.back (); - - ex.expect_end (); - - } else if (ex.test ("end")) { - - if (conditional_stack.empty ()) { - throw tl::Exception (tl::to_string (tr ("'end' without 'if'"))); - } - - conditional_stack.pop_back (); - - ex.expect_end (); - - } else if (ex.test ("elsif")) { - - if (conditional_stack.empty ()) { - throw tl::Exception (tl::to_string (tr ("'elsif' without 'if'"))); - } - - tl::Expression x; - eval.parse (x, ex); - conditional_stack.back () = x.execute ().to_bool (); - - ex.expect_end (); - - } else if (! conditional_stack.empty () && ! conditional_stack.back ()) { - - continue; - - } else if (ex.test ("var")) { - - std::string n; - ex.read_name (n); - - ex.expect ("="); - - tl::Expression x; - eval.parse (x, ex); - eval.set_var (n, x.execute ()); - - ex.expect_end (); - - } else if (ex.test ("print")) { - - tl::Expression x; - eval.parse (x, ex); - ex.expect_end (); - - tl::info << x.execute ().to_string (); - - } else if (ex.test ("error")) { - - tl::Expression x; - eval.parse (x, ex); - ex.expect_end (); - - throw tl::Exception (x.execute ().to_string ()); - - } else { - - db::D25LayerInfo info; - if (! layers.empty ()) { - info.set_zstart (layers.back ().zstop ()); - info.set_zstop (layers.back ().zstop ()); - } - - tl::Variant z0, z1, h; - std::vector args; - - db::LayerProperties lp; - lp.read (ex); - info.set_layer (lp); - - ex.expect (":"); - - while (! ex.at_end ()) { - - if (ex.test ("#")) { - break; - } - - tl::Expression pvx; - - std::string pn; - if (ex.try_read_name (pn)) { - ex.expect ("="); - eval.parse (pvx, ex); - } else { - eval.parse (pvx, ex); - } - - double pv = pvx.execute ().to_double (); - - ex.test (","); - - if (pn.empty ()) { - args.push_back (pv); - } else if (pn == "zstart") { - z0 = pv; - } else if (pn == "zstop") { - z1 = pv; - } else if (pn == "height") { - h = pv; - } else { - throw tl::Exception (tl::to_string (tr ("Invalid parameter name: ")) + pn); - } - - } - - if (args.size () == 0) { - if (z0.is_nil () && z1.is_nil ()) { - if (! h.is_nil ()) { - info.set_zstop (info.zstop () + h.to_double ()); - } - } else if (z0.is_nil ()) { - info.set_zstop (z1.to_double ()); - if (! h.is_nil ()) { - info.set_zstart (info.zstop () - h.to_double ()); - } - } else if (z1.is_nil ()) { - info.set_zstart (z0.to_double ()); - if (! h.is_nil ()) { - info.set_zstop (info.zstart () + h.to_double ()); - } - } else { - info.set_zstart (z0.to_double ()); - info.set_zstop (z1.to_double ()); - } - } else if (args.size () == 1) { - if (! h.is_nil ()) { - if (! z0.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: zstart already given"))); - } - if (! z1.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: zstop implicitly given"))); - } - info.set_zstart (args[0]); - info.set_zstop (args[0] + h.to_double ()); - } else { - if (! z1.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: zstop implicitly given"))); - } - info.set_zstop ((! z0.is_nil () ? z0.to_double () : info.zstart ()) + args[0]); - } - } else if (args.size () == 2) { - if (! z0.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: zstart already given"))); - } - if (! z1.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: zstop already given"))); - } - if (! h.is_nil ()) { - throw tl::Exception (tl::to_string (tr ("Redundant parameters: height implicitly given"))); - } - info.set_zstart (args[0]); - info.set_zstop (args[1]); - } else { - throw tl::Exception (tl::to_string (tr ("Too many parameters (max 2)"))); - } - - layers.push_back (info); - - } - - } - - if (! conditional_stack.empty ()) { - throw tl::Exception (tl::to_string (tr ("'if', 'else' or 'elsif' without matching 'end'"))); - } - - } catch (tl::Exception &ex) { - throw tl::Exception (ex.msg () + tl::sprintf (tl::to_string (tr (" in line %d")), current_line)); - } - - return layers; -} - -std::string -D25TechnologyComponent::to_string () const -{ - layers_type layers = compile_from_source (); - std::string res; - - for (layers_type::const_iterator i = layers.begin (); i != layers.end (); ++i) { - if (! res.empty ()) { - res += "\n"; - } - res += i->layer ().to_string () + ": zstart=" + tl::to_string (i->zstart ()) + ", zstop=" + tl::to_string (i->zstop ()); - } - - return res; -} - -// ----------------------------------------------------------------------------------- -// D25TechnologyComponent technology component registration - -class D25TechnologyComponentProvider - : public db::TechnologyComponentProvider -{ -public: - D25TechnologyComponentProvider () - : db::TechnologyComponentProvider () - { - // .. nothing yet .. - } - - virtual db::TechnologyComponent *create_component () const - { - return new D25TechnologyComponent (); - } - - virtual tl::XMLElementBase *xml_element () const - { - return new db::TechnologyComponentXMLElement (d25_component_name (), - tl::make_member (&D25TechnologyComponent::src, &D25TechnologyComponent::set_src, "src") - ); - } -}; - -static tl::RegisteredClass tc_decl (new D25TechnologyComponentProvider (), 3100, d25_component_name ().c_str ()); - -} diff --git a/src/db/db/dbD25TechnologyComponent.h b/src/db/db/dbD25TechnologyComponent.h deleted file mode 100644 index 3beade105..000000000 --- a/src/db/db/dbD25TechnologyComponent.h +++ /dev/null @@ -1,106 +0,0 @@ - -/* - - KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - -#ifndef HDR_dbD25TechnologyComponent -#define HDR_dbD25TechnologyComponent - -#include "dbTechnology.h" -#include "dbLayerProperties.h" - -namespace db -{ - -class DB_PUBLIC D25LayerInfo -{ -public: - D25LayerInfo (); - ~D25LayerInfo (); - D25LayerInfo (const D25LayerInfo &other); - D25LayerInfo &operator= (const D25LayerInfo &other); - - bool operator== (const D25LayerInfo &other) const; - - const db::LayerProperties &layer () const - { - return m_layer; - } - - void set_layer_from_string (const std::string &l); - std::string layer_as_string () const; - - void set_layer (const db::LayerProperties &l); - - double zstart () const - { - return m_zstart; - } - - void set_zstart (double z0); - - double zstop () const - { - return m_zstop; - } - - void set_zstop (double z1); - -private: - db::LayerProperties m_layer; - double m_zstart, m_zstop; -}; - -class DB_PUBLIC D25TechnologyComponent - : public db::TechnologyComponent -{ -public: - D25TechnologyComponent (); - D25TechnologyComponent (const D25TechnologyComponent &d); - - typedef std::list layers_type; - - layers_type compile_from_source () const; - - const std::string &src () const - { - return m_src; - } - - // for persistency only, use "compile_from_source" to read from a source string - void set_src (const std::string &s) - { - m_src = s; - } - - std::string to_string () const; - - db::TechnologyComponent *clone () const - { - return new D25TechnologyComponent (*this); - } - -private: - std::string m_src; -}; - -} - -#endif diff --git a/src/db/db/dbDeepEdgePairs.cc b/src/db/db/dbDeepEdgePairs.cc index 9f59c5da6..932cb61d1 100644 --- a/src/db/db/dbDeepEdgePairs.cc +++ b/src/db/db/dbDeepEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepEdgePairs.h b/src/db/db/dbDeepEdgePairs.h index b66d45420..62fdf3f6d 100644 --- a/src/db/db/dbDeepEdgePairs.h +++ b/src/db/db/dbDeepEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepEdges.cc b/src/db/db/dbDeepEdges.cc index 355d809c7..b45c93f56 100644 --- a/src/db/db/dbDeepEdges.cc +++ b/src/db/db/dbDeepEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepEdges.h b/src/db/db/dbDeepEdges.h index 08fbda231..f00913540 100644 --- a/src/db/db/dbDeepEdges.h +++ b/src/db/db/dbDeepEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepRegion.cc b/src/db/db/dbDeepRegion.cc index bfe1938c2..f0886c723 100644 --- a/src/db/db/dbDeepRegion.cc +++ b/src/db/db/dbDeepRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepRegion.h b/src/db/db/dbDeepRegion.h index 175255389..75ea1961d 100644 --- a/src/db/db/dbDeepRegion.h +++ b/src/db/db/dbDeepRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepShapeStore.cc b/src/db/db/dbDeepShapeStore.cc index 89b7e84e1..ddda1ee2c 100644 --- a/src/db/db/dbDeepShapeStore.cc +++ b/src/db/db/dbDeepShapeStore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepShapeStore.h b/src/db/db/dbDeepShapeStore.h index bac7b4964..cf33f88b2 100644 --- a/src/db/db/dbDeepShapeStore.h +++ b/src/db/db/dbDeepShapeStore.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepTexts.cc b/src/db/db/dbDeepTexts.cc index 24f0aff27..9d10ec622 100644 --- a/src/db/db/dbDeepTexts.cc +++ b/src/db/db/dbDeepTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeepTexts.h b/src/db/db/dbDeepTexts.h index bda0cf452..6c56a3ebe 100644 --- a/src/db/db/dbDeepTexts.h +++ b/src/db/db/dbDeepTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDevice.cc b/src/db/db/dbDevice.cc index 2fe3bdecd..3440c143f 100644 --- a/src/db/db/dbDevice.cc +++ b/src/db/db/dbDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDevice.h b/src/db/db/dbDevice.h index 4efceaf47..f0b396818 100644 --- a/src/db/db/dbDevice.h +++ b/src/db/db/dbDevice.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeviceAbstract.cc b/src/db/db/dbDeviceAbstract.cc index f4c48ad44..41dd05c02 100644 --- a/src/db/db/dbDeviceAbstract.cc +++ b/src/db/db/dbDeviceAbstract.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeviceAbstract.h b/src/db/db/dbDeviceAbstract.h index d6ba95713..6f4f052cc 100644 --- a/src/db/db/dbDeviceAbstract.h +++ b/src/db/db/dbDeviceAbstract.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeviceClass.cc b/src/db/db/dbDeviceClass.cc index 4fb4723bd..31f79cd3e 100644 --- a/src/db/db/dbDeviceClass.cc +++ b/src/db/db/dbDeviceClass.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbDeviceClass.h b/src/db/db/dbDeviceClass.h index aac1e5bab..6c81a2328 100644 --- a/src/db/db/dbDeviceClass.h +++ b/src/db/db/dbDeviceClass.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdge.cc b/src/db/db/dbEdge.cc index 4333b9cbe..4be1f0c3e 100644 --- a/src/db/db/dbEdge.cc +++ b/src/db/db/dbEdge.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdge.h b/src/db/db/dbEdge.h index 7104fcdab..15143b052 100644 --- a/src/db/db/dbEdge.h +++ b/src/db/db/dbEdge.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgeBoolean.cc b/src/db/db/dbEdgeBoolean.cc index f1beec9d9..bc48ba61f 100644 --- a/src/db/db/dbEdgeBoolean.cc +++ b/src/db/db/dbEdgeBoolean.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgeBoolean.h b/src/db/db/dbEdgeBoolean.h index 37db07f04..1e258104d 100644 --- a/src/db/db/dbEdgeBoolean.h +++ b/src/db/db/dbEdgeBoolean.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePair.cc b/src/db/db/dbEdgePair.cc index e2c2fadf9..25686d6f0 100644 --- a/src/db/db/dbEdgePair.cc +++ b/src/db/db/dbEdgePair.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePair.h b/src/db/db/dbEdgePair.h index 826bb0d1a..93da9a72b 100644 --- a/src/db/db/dbEdgePair.h +++ b/src/db/db/dbEdgePair.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairFilters.cc b/src/db/db/dbEdgePairFilters.cc index 270c37fe2..b26a1389f 100644 --- a/src/db/db/dbEdgePairFilters.cc +++ b/src/db/db/dbEdgePairFilters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairFilters.h b/src/db/db/dbEdgePairFilters.h index 4b961a281..a1e9cd19c 100644 --- a/src/db/db/dbEdgePairFilters.h +++ b/src/db/db/dbEdgePairFilters.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairRelations.cc b/src/db/db/dbEdgePairRelations.cc index 68f0eb44b..fcd561613 100644 --- a/src/db/db/dbEdgePairRelations.cc +++ b/src/db/db/dbEdgePairRelations.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairRelations.h b/src/db/db/dbEdgePairRelations.h index 9de02aaf3..2ef22e242 100644 --- a/src/db/db/dbEdgePairRelations.h +++ b/src/db/db/dbEdgePairRelations.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairs.cc b/src/db/db/dbEdgePairs.cc index 449131cbd..71cb91e21 100644 --- a/src/db/db/dbEdgePairs.cc +++ b/src/db/db/dbEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairs.h b/src/db/db/dbEdgePairs.h index e127c884a..88efb6356 100644 --- a/src/db/db/dbEdgePairs.h +++ b/src/db/db/dbEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairsDelegate.cc b/src/db/db/dbEdgePairsDelegate.cc index 9515fc475..eea564da1 100644 --- a/src/db/db/dbEdgePairsDelegate.cc +++ b/src/db/db/dbEdgePairsDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgePairsDelegate.h b/src/db/db/dbEdgePairsDelegate.h index 30708a2fb..54fd1380f 100644 --- a/src/db/db/dbEdgePairsDelegate.h +++ b/src/db/db/dbEdgePairsDelegate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgeProcessor.cc b/src/db/db/dbEdgeProcessor.cc index 08daaa8ab..e5d75c16e 100644 --- a/src/db/db/dbEdgeProcessor.cc +++ b/src/db/db/dbEdgeProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgeProcessor.h b/src/db/db/dbEdgeProcessor.h index b0e336019..be7916479 100644 --- a/src/db/db/dbEdgeProcessor.h +++ b/src/db/db/dbEdgeProcessor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdges.cc b/src/db/db/dbEdges.cc index 862b1f9ca..e18ae1992 100644 --- a/src/db/db/dbEdges.cc +++ b/src/db/db/dbEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdges.h b/src/db/db/dbEdges.h index 1be693bd2..77bc25801 100644 --- a/src/db/db/dbEdges.h +++ b/src/db/db/dbEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesDelegate.cc b/src/db/db/dbEdgesDelegate.cc index cf5f60030..ec6894a91 100644 --- a/src/db/db/dbEdgesDelegate.cc +++ b/src/db/db/dbEdgesDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesDelegate.h b/src/db/db/dbEdgesDelegate.h index 4944ef3ed..d33084df5 100644 --- a/src/db/db/dbEdgesDelegate.h +++ b/src/db/db/dbEdgesDelegate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesToContours.cc b/src/db/db/dbEdgesToContours.cc index 038721f3d..2fc92309b 100644 --- a/src/db/db/dbEdgesToContours.cc +++ b/src/db/db/dbEdgesToContours.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesToContours.h b/src/db/db/dbEdgesToContours.h index f83aa667d..41107ff57 100644 --- a/src/db/db/dbEdgesToContours.h +++ b/src/db/db/dbEdgesToContours.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesUtils.cc b/src/db/db/dbEdgesUtils.cc index f5971dafd..add511f2e 100644 --- a/src/db/db/dbEdgesUtils.cc +++ b/src/db/db/dbEdgesUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEdgesUtils.h b/src/db/db/dbEdgesUtils.h index 7f221025e..666581358 100644 --- a/src/db/db/dbEdgesUtils.h +++ b/src/db/db/dbEdgesUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyEdgePairs.cc b/src/db/db/dbEmptyEdgePairs.cc index 07d817a4d..66954318e 100644 --- a/src/db/db/dbEmptyEdgePairs.cc +++ b/src/db/db/dbEmptyEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyEdgePairs.h b/src/db/db/dbEmptyEdgePairs.h index a0cae96da..f2544cb30 100644 --- a/src/db/db/dbEmptyEdgePairs.h +++ b/src/db/db/dbEmptyEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyEdges.cc b/src/db/db/dbEmptyEdges.cc index 10d16ff88..dd2df6927 100644 --- a/src/db/db/dbEmptyEdges.cc +++ b/src/db/db/dbEmptyEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyEdges.h b/src/db/db/dbEmptyEdges.h index ba0b67c53..a58f5d374 100644 --- a/src/db/db/dbEmptyEdges.h +++ b/src/db/db/dbEmptyEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyRegion.cc b/src/db/db/dbEmptyRegion.cc index 4f180638d..415daeaff 100644 --- a/src/db/db/dbEmptyRegion.cc +++ b/src/db/db/dbEmptyRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyRegion.h b/src/db/db/dbEmptyRegion.h index 89e82c68a..e5537792d 100644 --- a/src/db/db/dbEmptyRegion.h +++ b/src/db/db/dbEmptyRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyTexts.cc b/src/db/db/dbEmptyTexts.cc index 0d826424b..f025aa04b 100644 --- a/src/db/db/dbEmptyTexts.cc +++ b/src/db/db/dbEmptyTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbEmptyTexts.h b/src/db/db/dbEmptyTexts.h index 9c1635657..29a1106f0 100644 --- a/src/db/db/dbEmptyTexts.h +++ b/src/db/db/dbEmptyTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFillTool.cc b/src/db/db/dbFillTool.cc index 06221c620..e4540a1e5 100644 --- a/src/db/db/dbFillTool.cc +++ b/src/db/db/dbFillTool.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFillTool.h b/src/db/db/dbFillTool.h index bd5184a19..85748a6dd 100644 --- a/src/db/db/dbFillTool.h +++ b/src/db/db/dbFillTool.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFlatEdgePairs.cc b/src/db/db/dbFlatEdgePairs.cc index 561aa4829..2744cb204 100644 --- a/src/db/db/dbFlatEdgePairs.cc +++ b/src/db/db/dbFlatEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -91,7 +91,6 @@ size_t FlatEdgePairs::hier_count () const Box FlatEdgePairs::compute_bbox () const { - mp_edge_pairs->update_bbox (); return mp_edge_pairs->bbox (); } diff --git a/src/db/db/dbFlatEdgePairs.h b/src/db/db/dbFlatEdgePairs.h index f5ef4ffdd..132d7a06d 100644 --- a/src/db/db/dbFlatEdgePairs.h +++ b/src/db/db/dbFlatEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFlatEdges.cc b/src/db/db/dbFlatEdges.cc index 1421f1353..bfb75087c 100644 --- a/src/db/db/dbFlatEdges.cc +++ b/src/db/db/dbFlatEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -181,7 +181,6 @@ bool FlatEdges::is_merged () const Box FlatEdges::compute_bbox () const { - mp_edges->update_bbox (); return mp_edges->bbox (); } diff --git a/src/db/db/dbFlatEdges.h b/src/db/db/dbFlatEdges.h index 384250641..04527c74e 100644 --- a/src/db/db/dbFlatEdges.h +++ b/src/db/db/dbFlatEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFlatRegion.cc b/src/db/db/dbFlatRegion.cc index 516fd8a31..a2314efe1 100644 --- a/src/db/db/dbFlatRegion.cc +++ b/src/db/db/dbFlatRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -190,7 +190,6 @@ bool FlatRegion::is_merged () const Box FlatRegion::compute_bbox () const { - mp_polygons->update_bbox (); return mp_polygons->bbox (); } diff --git a/src/db/db/dbFlatRegion.h b/src/db/db/dbFlatRegion.h index 1f0e2fc93..3ca7c76d2 100644 --- a/src/db/db/dbFlatRegion.h +++ b/src/db/db/dbFlatRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFlatTexts.cc b/src/db/db/dbFlatTexts.cc index 59d0ec2c9..13859f8e8 100644 --- a/src/db/db/dbFlatTexts.cc +++ b/src/db/db/dbFlatTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -91,7 +91,6 @@ size_t FlatTexts::hier_count () const Box FlatTexts::compute_bbox () const { - mp_texts->update_bbox (); return mp_texts->bbox (); } diff --git a/src/db/db/dbFlatTexts.h b/src/db/db/dbFlatTexts.h index 0b4839226..4888441dd 100644 --- a/src/db/db/dbFlatTexts.h +++ b/src/db/db/dbFlatTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbForceLink.cc b/src/db/db/dbForceLink.cc index c1e95b56c..2395672a2 100644 --- a/src/db/db/dbForceLink.cc +++ b/src/db/db/dbForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbForceLink.h b/src/db/db/dbForceLink.h index de606c87f..706e77b77 100644 --- a/src/db/db/dbForceLink.h +++ b/src/db/db/dbForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFuzzyCellMapping.cc b/src/db/db/dbFuzzyCellMapping.cc index b0b0bc893..f6a842808 100644 --- a/src/db/db/dbFuzzyCellMapping.cc +++ b/src/db/db/dbFuzzyCellMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbFuzzyCellMapping.h b/src/db/db/dbFuzzyCellMapping.h index 5a3978508..15397d074 100644 --- a/src/db/db/dbFuzzyCellMapping.h +++ b/src/db/db/dbFuzzyCellMapping.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbGenericShapeIterator.cc b/src/db/db/dbGenericShapeIterator.cc index 7f6aa5763..8ebb9bfde 100644 --- a/src/db/db/dbGenericShapeIterator.cc +++ b/src/db/db/dbGenericShapeIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbGenericShapeIterator.h b/src/db/db/dbGenericShapeIterator.h index 273485332..6b55a2ea3 100644 --- a/src/db/db/dbGenericShapeIterator.h +++ b/src/db/db/dbGenericShapeIterator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -158,8 +158,14 @@ class DB_PUBLIC generic_shapes_iterator_delegate { public: generic_shapes_iterator_delegate (const db::Shapes *shapes) - : mp_shapes (shapes), m_iter (mp_shapes->begin (shape_flags ())) + : mp_shapes (shapes) { + // NOTE: to allow multiple iterators acting on the same Shapes container at once, we always sort before we deliver the iterator - + // also in the non-region case. Without this, sorting may happen while another iterator is progressing. + if (mp_shapes->is_bbox_dirty ()) { + const_cast (mp_shapes)->update (); + } + m_iter = mp_shapes->begin (shape_flags ()); m_is_addressable = shape_flags () == shape_flags_pure () || mp_shapes->begin (shape_flags () - shape_flags_pure ()).at_end (); set (); } @@ -171,17 +177,17 @@ public: virtual void do_reset (const db::Box &box, bool overlapping) { + // NOTE: to allow multiple iterators acting on the same Shapes container at once, we always sort before we deliver the iterator - + // also in the non-region case. Without this, sorting may happen while another iterator is progressing. + if (mp_shapes->is_bbox_dirty ()) { + const_cast (mp_shapes)->update (); + } if (box == db::Box::world ()) { m_iter = mp_shapes->begin (shape_flags ()); + } else if (overlapping) { + m_iter = mp_shapes->begin_overlapping (box, shape_flags ()); } else { - if (mp_shapes->is_bbox_dirty ()) { - const_cast (mp_shapes)->update (); - } - if (overlapping) { - m_iter = mp_shapes->begin_overlapping (box, shape_flags ()); - } else { - m_iter = mp_shapes->begin_touching (box, shape_flags ()); - } + m_iter = mp_shapes->begin_touching (box, shape_flags ()); } set (); @@ -214,9 +220,6 @@ public: virtual db::Box bbox () const { - if (mp_shapes->is_bbox_dirty ()) { - const_cast (mp_shapes)->update (); - } return mp_shapes->bbox (); } diff --git a/src/db/db/dbGlyphs.cc b/src/db/db/dbGlyphs.cc index 43fc80068..362de0dd2 100644 --- a/src/db/db/dbGlyphs.cc +++ b/src/db/db/dbGlyphs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbGlyphs.h b/src/db/db/dbGlyphs.h index 549754339..a3073984f 100644 --- a/src/db/db/dbGlyphs.h +++ b/src/db/db/dbGlyphs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHash.h b/src/db/db/dbHash.h index 5e666df3e..6d511285b 100644 --- a/src/db/db/dbHash.h +++ b/src/db/db/dbHash.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHershey.cc b/src/db/db/dbHershey.cc index 2b0a15873..dfb36461c 100644 --- a/src/db/db/dbHershey.cc +++ b/src/db/db/dbHershey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHershey.h b/src/db/db/dbHershey.h index a41455567..838e9711a 100644 --- a/src/db/db/dbHershey.h +++ b/src/db/db/dbHershey.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHersheyFont.h b/src/db/db/dbHersheyFont.h index 18de163b4..97f293da8 100644 --- a/src/db/db/dbHersheyFont.h +++ b/src/db/db/dbHersheyFont.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHierNetworkProcessor.cc b/src/db/db/dbHierNetworkProcessor.cc index f4d1d76ef..46fb1e3c1 100644 --- a/src/db/db/dbHierNetworkProcessor.cc +++ b/src/db/db/dbHierNetworkProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHierNetworkProcessor.h b/src/db/db/dbHierNetworkProcessor.h index 1c957e054..030f41c87 100644 --- a/src/db/db/dbHierNetworkProcessor.h +++ b/src/db/db/dbHierNetworkProcessor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHierProcessor.cc b/src/db/db/dbHierProcessor.cc index 20a82a0f6..87ca8a900 100644 --- a/src/db/db/dbHierProcessor.cc +++ b/src/db/db/dbHierProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1074,11 +1074,6 @@ private: void collect_instance_interactions (const db::CellInstArray *inst1, const db::CellInstArray *inst2) { -#if 0 -printf("@@@ check instance interactions %s (#%d, %s) <-> %s (#%d, %s)\n", - mp_subject_layout->cell_name (inst1->object ().cell_index ()), int (inst1->size ()), (inst1->bbox(db::box_convert (*mp_subject_layout)).to_string()).c_str(), - mp_intruder_layout->cell_name (inst2->object ().cell_index ()), int (inst2->size ()), (inst2->bbox(db::box_convert (*mp_intruder_layout)).to_string()).c_str()); // @@@ -#endif // TODO: this algorithm is not in particular effective for identical arrays const db::Cell &cell1 = mp_subject_layout->cell (inst1->object ().cell_index ()); @@ -1087,9 +1082,6 @@ printf("@@@ check instance interactions %s (#%d, %s) <-> %s (#%d, %s)\n", std::unordered_map > > interactions_cache; -#if 0 -printf("@@@ -> #%d\n", int(inst1->size())); -#endif for (db::CellInstArray::iterator n = inst1->begin (); ! n.at_end (); ++n) { db::ICplxTrans tn1 = inst1->complex_trans (*n); @@ -1493,9 +1485,6 @@ void local_processor::compute_contexts (local_processor_contexts::context_key_type &intruders, db::Coord dist) const { -#if 0 // @@@ -printf("@@@ --- compute_contexts (%s @ %s)\n", mp_subject_layout->cell_name (subject_cell->cell_index ()), subject_cell_inst.to_string().c_str()); fflush(stdout); -#endif CRONOLOGY_COLLECTION_BRACKET(event_compute_contexts) if (tl::verbosity () >= m_base_verbosity + 20) { diff --git a/src/db/db/dbHierProcessor.h b/src/db/db/dbHierProcessor.h index 7dfc9b3d1..ff4a85ac2 100644 --- a/src/db/db/dbHierProcessor.h +++ b/src/db/db/dbHierProcessor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHierarchyBuilder.cc b/src/db/db/dbHierarchyBuilder.cc index fe48fd086..0093bd9bb 100644 --- a/src/db/db/dbHierarchyBuilder.cc +++ b/src/db/db/dbHierarchyBuilder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbHierarchyBuilder.h b/src/db/db/dbHierarchyBuilder.h index 27601e8ae..d815e20dd 100644 --- a/src/db/db/dbHierarchyBuilder.h +++ b/src/db/db/dbHierarchyBuilder.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInit.cc b/src/db/db/dbInit.cc index 506027051..27ad562da 100644 --- a/src/db/db/dbInit.cc +++ b/src/db/db/dbInit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInit.h b/src/db/db/dbInit.h index cb058e105..5aa2eea0c 100644 --- a/src/db/db/dbInit.h +++ b/src/db/db/dbInit.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInstElement.cc b/src/db/db/dbInstElement.cc index 1080ee710..c8a046102 100644 --- a/src/db/db/dbInstElement.cc +++ b/src/db/db/dbInstElement.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInstElement.h b/src/db/db/dbInstElement.h index 9bfd6aee6..c1d13bb4c 100644 --- a/src/db/db/dbInstElement.h +++ b/src/db/db/dbInstElement.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInstances.cc b/src/db/db/dbInstances.cc index 7b3784e8d..f4155a588 100644 --- a/src/db/db/dbInstances.cc +++ b/src/db/db/dbInstances.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbInstances.h b/src/db/db/dbInstances.h index 0daba753f..ceb619c91 100644 --- a/src/db/db/dbInstances.h +++ b/src/db/db/dbInstances.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayer.h b/src/db/db/dbLayer.h index 5c94064ee..f258fb15a 100644 --- a/src/db/db/dbLayer.h +++ b/src/db/db/dbLayer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -459,13 +459,21 @@ struct layer } /** - * @brief Return true if the bounding box is "dirty" + * @brief Return true if the bounding box needs update */ bool is_bbox_dirty () const { return m_bbox_dirty; } + /** + * @brief Return true if the tree needs update + */ + bool is_tree_dirty () const + { + return m_tree_dirty; + } + /** * @brief Reserve a certain number of elements */ diff --git a/src/db/db/dbLayerMapping.cc b/src/db/db/dbLayerMapping.cc index 0ab196f12..dc306eff7 100644 --- a/src/db/db/dbLayerMapping.cc +++ b/src/db/db/dbLayerMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayerMapping.h b/src/db/db/dbLayerMapping.h index 3045e1ab9..9311be437 100644 --- a/src/db/db/dbLayerMapping.h +++ b/src/db/db/dbLayerMapping.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayerProperties.cc b/src/db/db/dbLayerProperties.cc index db416485e..f897a7c89 100644 --- a/src/db/db/dbLayerProperties.cc +++ b/src/db/db/dbLayerProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayerProperties.h b/src/db/db/dbLayerProperties.h index 43a4c813f..7d08a3605 100644 --- a/src/db/db/dbLayerProperties.h +++ b/src/db/db/dbLayerProperties.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayout.cc b/src/db/db/dbLayout.cc index c3fa44e5a..4c629a94d 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -355,6 +355,7 @@ Layout::Layout (db::Manager *manager) m_properties_repository (this), m_guiding_shape_layer (-1), m_waste_layer (-1), + m_error_layer (-1), m_do_cleanup (false), m_editable (db::default_editable_mode ()) { @@ -372,6 +373,7 @@ Layout::Layout (bool editable, db::Manager *manager) m_properties_repository (this), m_guiding_shape_layer (-1), m_waste_layer (-1), + m_error_layer (-1), m_do_cleanup (false), m_editable (editable) { @@ -393,6 +395,7 @@ Layout::Layout (const db::Layout &layout) m_properties_repository (this), m_guiding_shape_layer (-1), m_waste_layer (-1), + m_error_layer (-1), m_do_cleanup (false), m_editable (layout.m_editable) { @@ -458,6 +461,7 @@ Layout::clear () m_guiding_shape_layer = -1; m_waste_layer = -1; + m_error_layer = -1; m_lib_proxy_map.clear (); m_meta_info.clear (); @@ -474,6 +478,7 @@ Layout::operator= (const Layout &d) m_guiding_shape_layer = d.m_guiding_shape_layer; m_waste_layer = d.m_waste_layer; + m_error_layer = d.m_error_layer; m_editable = d.m_editable; m_pcell_ids = d.m_pcell_ids; @@ -1560,6 +1565,14 @@ Layout::allocate_new_cell () return new_index; } +void +Layout::refresh () +{ + for (iterator c = begin (); c != end (); ++c) { + c->update (); + } +} + void Layout::cleanup (const std::set &keep) { @@ -1748,6 +1761,7 @@ Layout::do_update () cp.sort_shapes (); } } + } // sort the instance trees now, since we have computed the bboxes @@ -1937,6 +1951,19 @@ Layout::get_layer (const db::LayerProperties &lp) } } +unsigned int +Layout::error_layer () const +{ + if (m_error_layer < 0) { + // create the waste layer (since that layer is cached we can do + // this in a "const" fashion. + db::Layout *self = const_cast (this); + self->m_error_layer = (int) self->insert_special_layer (db::LayerProperties ("WASTE")); + } + + return (unsigned int) m_error_layer; +} + unsigned int Layout::waste_layer () const { @@ -2294,7 +2321,7 @@ Layout::convert_cell_to_static (db::cell_index_type ci) tl_assert (is_valid_cell_index (ci)); db::cell_index_type ret_ci = ci; - if (dynamic_cast (m_cell_ptrs [ci]) || dynamic_cast (m_cell_ptrs [ci])) { + if (m_cell_ptrs [ci] && m_cell_ptrs [ci]->is_proxy ()) { invalidate_hier (); @@ -2546,8 +2573,15 @@ Layout::restore_proxies (ImportLayerMapping *layer_mapping) } } + bool needs_cleanup = false; for (std::vector::const_iterator p = cold_proxies.begin (); p != cold_proxies.end (); ++p) { - recover_proxy_as ((*p)->cell_index (), (*p)->context_info (), layer_mapping); + if (recover_proxy_as ((*p)->cell_index (), (*p)->context_info (), layer_mapping)) { + needs_cleanup = true; + } + } + + if (needs_cleanup) { + cleanup (); } } diff --git a/src/db/db/dbLayout.h b/src/db/db/dbLayout.h index 788315a7c..a647e0495 100644 --- a/src/db/db/dbLayout.h +++ b/src/db/db/dbLayout.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1632,6 +1632,14 @@ public: */ void cleanup (const std::set &keep = std::set ()); + /** + * @brief Calls "update" on all cells of the layout + * + * This will update PCells stored inside this layout, but will *not* update + * PCells which are imported from a library. + */ + void refresh (); + /** * @brief Implementation of the undo operations */ @@ -1701,6 +1709,13 @@ public: */ unsigned int waste_layer () const; + /** + * @brief Gets the error layer + * + * The error layer is used to display error messages. + */ + unsigned int error_layer () const; + /** * @brief Set the properties for a specified layer */ @@ -1883,6 +1898,7 @@ private: lib_proxy_map m_lib_proxy_map; int m_guiding_shape_layer; int m_waste_layer; + int m_error_layer; bool m_do_cleanup; bool m_editable; meta_info m_meta_info; diff --git a/src/db/db/dbLayoutContextHandler.cc b/src/db/db/dbLayoutContextHandler.cc index 74af08cfe..a0aed428b 100644 --- a/src/db/db/dbLayoutContextHandler.cc +++ b/src/db/db/dbLayoutContextHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutContextHandler.h b/src/db/db/dbLayoutContextHandler.h index fa74207cd..5ffd163fc 100644 --- a/src/db/db/dbLayoutContextHandler.h +++ b/src/db/db/dbLayoutContextHandler.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutDiff.cc b/src/db/db/dbLayoutDiff.cc index be3a0d6ff..e7940a24b 100644 --- a/src/db/db/dbLayoutDiff.cc +++ b/src/db/db/dbLayoutDiff.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -287,6 +287,32 @@ private: db::Coord m_tolerance; }; +/** + * @brief A fuzzy compare operator for edge pairs + * Compares two edge pair objects applying a tolerance between them. The tolerance is the allowed deviation + * of points in database units. + */ +struct EdgePairCompareOpWithTolerance +{ + EdgePairCompareOpWithTolerance (db::Coord tolerance) + : m_ec (tolerance) + { } + + bool operator() (const db::EdgePair &a, const db::EdgePair &b) const + { + if (m_ec (a.first (), b.first ())) { + return true; + } else if (m_ec (b.first (), a.first ())) { + return false; + } else { + return m_ec (a.second (), b.second ()); + } + } + +private: + EdgeCompareOpWithTolerance m_ec; +}; + /** * @brief A fuzzy compare operator for boxes * Compares two box objects applying a tolerance between them. The tolerance is the allowed deviation @@ -492,6 +518,12 @@ make_edge_compare_func (db::Coord tolerance) return pair_compare_func > (EdgeCompareOpWithTolerance (tolerance), std_compare_func ()); } +pair_compare_func > +make_edge_pair_compare_func (db::Coord tolerance) +{ + return pair_compare_func > (EdgePairCompareOpWithTolerance (tolerance), std_compare_func ()); +} + pair_compare_func > make_box_compare_func (db::Coord tolerance) { @@ -540,6 +572,21 @@ collect_edges (const db::Layout & /*l*/, const db::Cell *c, unsigned int layer, } } +static void +collect_edge_pairs (const db::Layout & /*l*/, const db::Cell *c, unsigned int layer, unsigned int flags, std::vector< std::pair > &shapes, PropertyMapper &pn) +{ + shapes.clear (); + + for (db::ShapeIterator s = c->shapes (layer).begin (db::ShapeIterator::EdgePairs); !s.at_end (); ++s) { + db::properties_id_type prop_id = 0; + if (! (flags & layout_diff::f_no_properties)) { + prop_id = pn (s->prop_id ()); + } + shapes.push_back (std::make_pair (db::EdgePair (), prop_id)); + s->edge_pair (shapes.back ().first); + } +} + static void collect_boxes (const db::Layout &, const db::Cell *c, unsigned int layer, unsigned int flags, std::vector< std::pair > &shapes, PropertyMapper &pn) { @@ -828,6 +875,8 @@ do_compare_layouts (const db::Layout &a, const db::Cell *top_a, const db::Layout std::vector > boxes_b; std::vector > edges_a; std::vector > edges_b; + std::vector > edge_pairs_a; + std::vector > edge_pairs_b; for (unsigned int cci = 0; cci < common_cells.size (); ++cci) { @@ -1053,6 +1102,31 @@ do_compare_layouts (const db::Layout &a, const db::Cell *top_a, const db::Layout r.end_edge_differences (); } + // compare edge pairs + + edge_pairs_a.clear(); + edge_pairs_b.clear(); + if (is_valid_a) { + collect_edge_pairs (a, cell_a, layer_a, flags, edge_pairs_a, prop_normalize_a); + } + if (is_valid_b) { + collect_edge_pairs (b, cell_b, layer_b, flags, edge_pairs_b, prop_normalize_b); + } + + reduce (edge_pairs_a, edge_pairs_b, make_edge_pair_compare_func (tolerance), tolerance > 0); + + if (!edge_pairs_a.empty () || !edge_pairs_b.empty ()) { + differs = true; + if (flags & layout_diff::f_silent) { + return false; + } + r.begin_edge_pair_differences (); + if (verbose) { + r.detailed_diff (n.properties_repository (), edge_pairs_a, edge_pairs_b); + } + r.end_edge_pair_differences (); + } + r.end_layer (); } @@ -1130,6 +1204,9 @@ public: void begin_edge_differences (); void detailed_diff (const db::PropertiesRepository &pr, const std::vector > &a, const std::vector > &b); void end_edge_differences (); + void begin_edge_pair_differences (); + void detailed_diff (const db::PropertiesRepository &pr, const std::vector > &a, const std::vector > &b); + void end_edge_pair_differences (); void begin_text_differences (); void detailed_diff (const db::PropertiesRepository &pr, const std::vector > &a, const std::vector > &b); void end_text_differences (); @@ -1525,6 +1602,34 @@ PrintingDifferenceReceiver::end_edge_differences () { } +void +PrintingDifferenceReceiver::begin_edge_pair_differences () +{ + try { + enough (tl::error) << "Edge pairs differ for layer " << m_layer.to_string () << " in cell " << m_cellname; + } catch (tl::CancelException &) { + // ignore cancel exceptions + } +} + +void +PrintingDifferenceReceiver::detailed_diff (const db::PropertiesRepository &pr, const std::vector > &a, const std::vector > &b) +{ + try { + enough (tl::info) << "Not in b but in a:"; + print_diffs (pr, a, b); + enough (tl::info) << "Not in a but in b:"; + print_diffs (pr, b, a); + } catch (tl::CancelException &) { + // ignore cancel exceptions + } +} + +void +PrintingDifferenceReceiver::end_edge_pair_differences () +{ +} + void PrintingDifferenceReceiver::begin_text_differences () { diff --git a/src/db/db/dbLayoutDiff.h b/src/db/db/dbLayoutDiff.h index e9ce46593..4482c5009 100644 --- a/src/db/db/dbLayoutDiff.h +++ b/src/db/db/dbLayoutDiff.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,6 +119,9 @@ public: virtual void begin_edge_differences () { } virtual void detailed_diff (const db::PropertiesRepository & /*pr*/, const std::vector > & /*a*/, const std::vector > & /*b*/) { } virtual void end_edge_differences () { } + virtual void begin_edge_pair_differences () { } + virtual void detailed_diff (const db::PropertiesRepository & /*pr*/, const std::vector > & /*a*/, const std::vector > & /*b*/) { } + virtual void end_edge_pair_differences () { } virtual void begin_text_differences () { } virtual void detailed_diff (const db::PropertiesRepository & /*pr*/, const std::vector > & /*a*/, const std::vector > & /*b*/) { } virtual void end_text_differences () { } diff --git a/src/db/db/dbLayoutQuery.cc b/src/db/db/dbLayoutQuery.cc index ed72fa29a..901e615ca 100644 --- a/src/db/db/dbLayoutQuery.cc +++ b/src/db/db/dbLayoutQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,10 +42,69 @@ namespace db // -------------------------------------------------------------------------------- // Some utilities -bool check_trailing_reserved_word (const tl::Extractor &ex0) +static const char *s_select = "select"; +static const char *s_delete = "delete"; +static const char *s_or = "or"; +static const char *s_of = "of"; +static const char *s_on = "on"; +static const char *s_do = "do"; +static const char *s_from = "from"; +static const char *s_layer = "layer"; +static const char *s_layers = "layers"; +static const char *s_cell = "cell"; +static const char *s_cells = "cells"; +static const char *s_where = "where"; +static const char *s_shapes = "shapes"; +static const char *s_polygons = "polygons"; +static const char *s_boxes = "boxes"; +static const char *s_edges = "edges"; +static const char *s_paths = "paths"; +static const char *s_texts = "texts"; +static const char *s_instances = "instances"; +static const char *s_arrays = "arrays"; +static const char *s_sorted = "sorted"; +static const char *s_unique = "unique"; +static const char *s_by = "by"; +static const char *s_with = "with"; +static const char *s_pass = "pass"; + +const char *s_reserved_words[] = { + s_select, + s_delete, + s_or, + s_of, + s_on, + s_do, + s_from, + s_layer, + s_layers, + s_cell, + s_cells, + s_where, + s_shapes, + s_polygons, + s_boxes, + s_edges, + s_paths, + s_texts, + s_instances, + s_arrays, + s_sorted, + s_unique, + s_by, + s_with, + s_pass +}; + +bool check_trailing_reserved_word (const tl::Extractor &ex0) { tl::Extractor ex = ex0; - return (ex.test ("do") || ex.test ("sorted") || ex.test ("pass") || ex.test ("where")); + for (size_t i = 0; i < sizeof (s_reserved_words) / sizeof (s_reserved_words[0]); ++i) { + if (ex.test (s_reserved_words[i])) { + return true; + } + } + return false; } // -------------------------------------------------------------------------------- @@ -202,7 +261,9 @@ struct ShapeFilterPropertyIDs ShapeFilterPropertyIDs (LayoutQuery *q) { bbox = q->register_property ("bbox", LQ_box); + dbbox = q->register_property ("dbbox", LQ_dbox); shape_bbox = q->register_property ("shape_bbox", LQ_box); + shape_dbbox = q->register_property ("shape_dbbox", LQ_dbox); shape = q->register_property ("shape", LQ_shape); layer_info = q->register_property ("layer_info", LQ_layer); layer_index = q->register_property ("layer_index", LQ_variant); @@ -211,7 +272,9 @@ struct ShapeFilterPropertyIDs } unsigned int bbox; // bbox -> The shape's bounding box + unsigned int dbbox; // dbbox -> The shape's bounding box in micrometer units unsigned int shape_bbox; // shape_bbox -> == box + unsigned int shape_dbbox; // shape_dbbox -> == dbox unsigned int shape; // shape -> The shape object unsigned int layer_info; // layer_info -> The layer (a LayerInfo object) unsigned int layer_index; // layer_index -> The layer index @@ -309,6 +372,12 @@ public: v = tl::Variant::make_variant (m_shape->bbox ()); return true; + } else if (id == m_pids.dbbox || id == m_pids.shape_dbbox) { + + tl_assert (mp_parent->layout ()); + v = tl::Variant::make_variant (db::CplxTrans (mp_parent->layout ()->dbu ()) * m_shape->bbox ()); + return true; + } else if (id == m_pids.shape) { if (m_reading) { @@ -418,7 +487,9 @@ struct ChildCellFilterPropertyIDs parent_cell_name = q->register_property ("parent_cell_name", LQ_variant); hier_levels = q->register_property ("hier_levels", LQ_variant); bbox = q->register_property ("bbox", LQ_box); + dbbox = q->register_property ("dbbox", LQ_dbox); cell_bbox = q->register_property ("cell_bbox", LQ_box); + cell_dbbox = q->register_property ("cell_dbbox", LQ_dbox); // with instance_mode == NoInstances: if (instance_mode == NoInstances) { @@ -434,21 +505,31 @@ struct ChildCellFilterPropertyIDs // with instance_mode != NoInstances: if (instance_mode != NoInstances) { path_trans = q->register_property ("path_trans", LQ_trans); + path_dtrans = q->register_property ("path_dtrans", LQ_dtrans); trans = q->register_property ("trans", LQ_trans); + dtrans = q->register_property ("dtrans", LQ_dtrans); inst_bbox = q->register_property ("inst_bbox", LQ_box); + inst_dbbox = q->register_property ("inst_dbbox", LQ_box); inst = q->register_property ("inst", LQ_instance); array_a = q->register_property ("array_a", LQ_point); + array_da = q->register_property ("array_da", LQ_dpoint); array_na = q->register_property ("array_na", LQ_variant); array_b = q->register_property ("array_b", LQ_point); + array_db = q->register_property ("array_db", LQ_dpoint); array_nb = q->register_property ("array_nb", LQ_variant); } else { path_trans = std::numeric_limits::max (); + path_dtrans = std::numeric_limits::max (); trans = std::numeric_limits::max (); + dtrans = std::numeric_limits::max (); inst_bbox = std::numeric_limits::max (); + inst_dbbox = std::numeric_limits::max (); inst = std::numeric_limits::max (); array_a = std::numeric_limits::max (); + array_da = std::numeric_limits::max (); array_na = std::numeric_limits::max (); array_b = std::numeric_limits::max (); + array_db = std::numeric_limits::max (); array_nb = std::numeric_limits::max (); } @@ -475,7 +556,9 @@ struct ChildCellFilterPropertyIDs unsigned int parent_cell_name; // parent_cell_name -> Name of parent cell (next in path) or nil unsigned int hier_levels; // hier_levels -> Number of hierarchy levels in path (length of path - 1) unsigned int bbox; // bbox -> Cell bounding box + unsigned int dbbox; // dbbox -> Cell bounding box in micrometer units unsigned int cell_bbox; // cell_bbox -> == bbox + unsigned int cell_dbbox; // cell_dbbox -> == dbbox // with instance_mode == NoInstances: unsigned int references; // references -> The number of instances (arefs count as 1) of this cell in the parent cell @@ -484,17 +567,22 @@ struct ChildCellFilterPropertyIDs // with instance_mode != NoInstances: unsigned int path_trans; // path_trans -> The transformation of that instance into the top cell + unsigned int path_dtrans; // path_dtrans -> The transformation of that instance into the top cell in micrometer units unsigned int trans; // trans -> The transformation of that instance (first instance if an array) + unsigned int dtrans; // dtrans -> The transformation of that instance (first instance if an array) in micrometer units unsigned int inst_bbox; // inst_bbox -> The instance bounding box in the top cell + unsigned int inst_dbbox; // inst_dbbox -> The instance bounding box in the top cell in micrometer units unsigned int inst; // inst -> The instance object unsigned int array_a; // array_a -> The a vector for an array instance + unsigned int array_da; // array_da -> The a vector for an array instance in micrometer units unsigned int array_na; // array_na -> The a axis array dimension unsigned int array_b; // array_b -> The b vector for an array instance + unsigned int array_db; // array_db -> The b vector for an array instance in micrometer units unsigned int array_nb; // array_nb -> The b axis array dimension // with instance_mode == ExplodedInstances: unsigned int array_ia; // array_ia -> The a index when an array is iterated - unsigned int array_ib; // array_ib -> The b index when an array is iterated + unsigned int array_ib; // array_ib -> The b index when an array is iterated }; class DB_PUBLIC ChildCellFilterState @@ -764,6 +852,15 @@ public: } return true; + } else if (id == m_pids.dbbox || id == m_pids.cell_dbbox) { + + if (! layout ()->is_valid_cell_index (cell_index ())) { + v = tl::Variant (); + } else { + v = tl::Variant::make_variant (db::CplxTrans (layout ()->dbu ()) * layout ()->cell (cell_index ()).bbox ()); + } + return true; + } else if (id == m_pids.cell_name) { if (! layout ()->is_valid_cell_index (cell_index ())) { @@ -983,6 +1080,35 @@ public: return false; } + } else if (id == m_pids.inst_dbbox) { + + if (mp_parent) { + + if (m_instance_mode == ExplodedInstances) { + + db::ICplxTrans t = m_parent_trans; + t *= (*m_inst)->complex_trans (*m_array_iter); + db::DBox box (db::CplxTrans (layout ()->dbu ()) * t * layout ()->cell ((*m_inst)->object ().cell_index ()).bbox ()); + v = tl::Variant::make_variant (box); + return true; + + } else if (m_instance_mode == ArrayInstances) { + + db::ICplxTrans t = m_parent_trans; + t *= (*m_inst)->complex_trans (); + db::box_convert bc (*layout ()); + db::DBox box (db::CplxTrans (layout ()->dbu ()) * t * (*m_inst)->bbox (bc)); + v = tl::Variant::make_variant (box); + return true; + + } else { + return false; + } + + } else { + return false; + } + } else if (id == m_pids.path_trans) { if (mp_parent) { @@ -1011,6 +1137,36 @@ public: return true; } + } else if (id == m_pids.path_dtrans) { + + if (mp_parent) { + + if (m_instance_mode == ExplodedInstances) { + + db::ICplxTrans t = m_parent_trans; + t *= (*m_inst)->complex_trans (*m_array_iter); + db::CplxTrans tdbu (layout ()->dbu ()); + v = tl::Variant::make_variant (tdbu * t * tdbu.inverted ()); + return true; + + } else if (m_instance_mode == ArrayInstances) { + + db::ICplxTrans t = m_parent_trans; + t *= (*m_inst)->complex_trans (); + db::CplxTrans tdbu (layout ()->dbu ()); + v = tl::Variant::make_variant (tdbu * t * tdbu.inverted ()); + return true; + + } else { + v = tl::Variant::make_variant (db::ICplxTrans ()); + return true; + } + + } else { + v = tl::Variant::make_variant (db::ICplxTrans ()); + return true; + } + } else if (id == m_pids.trans) { if (mp_parent) { @@ -1033,6 +1189,30 @@ public: return false; } + } else if (id == m_pids.dtrans) { + + if (mp_parent) { + + if (m_instance_mode == ExplodedInstances) { + + db::CplxTrans tdbu (layout ()->dbu ()); + v = tl::Variant::make_variant (tdbu * (*m_inst)->complex_trans (*m_array_iter) * tdbu.inverted ()); + return true; + + } else if (m_instance_mode == ArrayInstances) { + + db::CplxTrans tdbu (layout ()->dbu ()); + v = tl::Variant::make_variant (tdbu * (*m_inst)->complex_trans () * tdbu.inverted ()); + return true; + + } else { + return false; + } + + } else { + return false; + } + } else if (id == m_pids.inst) { if (! mp_parent || m_instance_mode == NoInstances) { @@ -1064,7 +1244,7 @@ public: return true; } - } else if (id == m_pids.array_a || id == m_pids.array_b || id == m_pids.array_na || id == m_pids.array_nb) { + } else if (id == m_pids.array_a || id == m_pids.array_b || id == m_pids.array_da || id == m_pids.array_db || id == m_pids.array_na || id == m_pids.array_nb) { if (! mp_parent || m_instance_mode == NoInstances) { return false; @@ -1074,8 +1254,12 @@ public: if ((*m_inst)->is_regular_array (a, b, na, nb)) { if (id == m_pids.array_a) { v = tl::Variant::make_variant (a); + } else if (id == m_pids.array_da) { + v = tl::Variant::make_variant (db::CplxTrans (layout ()->dbu ()) * a); } else if (id == m_pids.array_b) { v = tl::Variant::make_variant (b); + } else if (id == m_pids.array_db) { + v = tl::Variant::make_variant (db::CplxTrans (layout ()->dbu ()) * b); } else if (id == m_pids.array_na) { v = na; } else if (id == m_pids.array_nb) { @@ -1178,8 +1362,11 @@ struct CellFilterPropertyIDs tot_weight = q->register_property ("tot_weight", LQ_variant); instances = q->register_property ("instances", LQ_variant); bbox = q->register_property ("bbox", LQ_box); + dbbox = q->register_property ("dbbox", LQ_dbox); cell_bbox = q->register_property ("cell_bbox", LQ_box); + cell_dbbox = q->register_property ("cell_dbbox", LQ_dbox); path_trans = q->register_property ("path_trans", LQ_trans); + path_dtrans = q->register_property ("path_dtrans", LQ_dtrans); } unsigned int path; // path -> Variant array with the indexes of the cells in that path @@ -1200,8 +1387,11 @@ struct CellFilterPropertyIDs unsigned int tot_weight; // tot_weight -> The number of instances of this cell in the initial cell along the given path unsigned int instances; // instances -> The number of instances of this cell in the previous cell (or over all if there is no previous cell) unsigned int bbox; // bbox -> Cell bounding box + unsigned int dbbox; // dbbox -> Cell bounding box in micrometer units unsigned int cell_bbox; // cell_bbox -> == bbox + unsigned int cell_dbbox; // cell_dbbox -> == dbbox unsigned int path_trans; // parent_trans -> transformation to initial cell + unsigned int path_dtrans; // parent_dtrans -> transformation to initial cell in micrometer units }; class DB_PUBLIC CellFilterState @@ -1283,6 +1473,15 @@ public: } return true; + } else if (id == m_pids.dbbox || id == m_pids.cell_dbbox) { + + if (! layout ()->is_valid_cell_index (*m_cell)) { + v = tl::Variant (); + } else { + v = tl::Variant::make_variant (db::CplxTrans (layout ()->dbu ()) * layout ()->cell (*m_cell).bbox ()); + } + return true; + } else if (id == m_pids.cell_name || id == m_pids.initial_cell_name) { if (! layout ()->is_valid_cell_index (*m_cell)) { @@ -1363,6 +1562,11 @@ public: v = tl::Variant::make_variant (db::ICplxTrans ()); return true; + } else if (id == m_pids.path_dtrans) { + + v = tl::Variant::make_variant (db::DCplxTrans ()); + return true; + } else { return FilterStateBase::get_property (id, v); } @@ -2225,7 +2429,7 @@ parse_cell_name_filter_element (tl::Extractor &ex, LayoutQuery *q, ChildCellFilt std::unique_ptr b (new FilterBracket (q)); do { parse_cell_name_filter_seq (ex, q, b.get (), instance_mode, reading); - } while (ex.test (",") || ex.test ("or")); + } while (ex.test (",") || ex.test (s_or)); // TODO: do this in the optimization if (b->children ().size () == 1 && dynamic_cast (b->children ()[0])) { @@ -2362,21 +2566,21 @@ parse_cell_filter (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bo std::unique_ptr b (new FilterBracket (q)); - if (ex.test ("instances")) { - (ex.test ("of") || ex.test ("from")) && (ex.test ("cells") || ex.test ("cell")); + if (ex.test (s_instances)) { + (ex.test (s_of) || ex.test (s_from)) && (ex.test (s_cells) || ex.test (s_cell)); // Because an array member cannot be modified we use ArrayInstances in the modification case always parse_cell_name_filter_seq (ex, q, b.get (), reading ? ExplodedInstances : ArrayInstances, reading); - } else if (ex.test ("arrays")) { - (ex.test ("of") || ex.test ("from")) && (ex.test ("cells") || ex.test ("cell")); + } else if (ex.test (s_arrays)) { + (ex.test (s_of) || ex.test (s_from)) && (ex.test (s_cells) || ex.test (s_cell)); parse_cell_name_filter_seq (ex, q, b.get (), ArrayInstances, reading); } else { - ex.test ("cells") || ex.test ("cell"); + ex.test (s_cells) || ex.test (s_cell); parse_cell_name_filter_seq (ex, q, b.get (), NoInstances, reading); } FilterBase *fl = 0, *f = 0; - if (with_where_clause && ex.test ("where")) { + if (with_where_clause && ex.test (s_where)) { std::string expr = tl::Eval::parse_expr (ex, true); @@ -2407,22 +2611,22 @@ parse_filter (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool re { unsigned int sf = (unsigned int) db::ShapeIterator::Nothing; do { - if (ex.test ("shapes")) { + if (ex.test (s_shapes)) { sf |= (unsigned int) db::ShapeIterator::All; - } else if (ex.test ("polygons")) { + } else if (ex.test (s_polygons)) { sf |= (unsigned int) db::ShapeIterator::Polygons; - } else if (ex.test ("boxes")) { + } else if (ex.test (s_boxes)) { sf |= (unsigned int) db::ShapeIterator::Boxes; - } else if (ex.test ("edges")) { + } else if (ex.test (s_edges)) { sf |= (unsigned int) db::ShapeIterator::Edges; - } else if (ex.test ("paths")) { + } else if (ex.test (s_paths)) { sf |= (unsigned int) db::ShapeIterator::Paths; - } else if (ex.test ("texts")) { + } else if (ex.test (s_texts)) { sf |= (unsigned int) db::ShapeIterator::Texts; } else { break; } - } while (ex.test (",") || ex.test ("or")); + } while (ex.test (",") || ex.test (s_or)); db::ShapeIterator::flags_type shapes = (db::ShapeIterator::flags_type) sf; @@ -2430,12 +2634,12 @@ parse_filter (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool re db::LayerMap lm; - if (ex.test ("on")) { - ex.test ("layer") || ex.test ("layers"); + if (ex.test (s_on)) { + ex.test (s_layer) || ex.test (s_layers); lm.map_expr (ex, 0); } - ex.test ("of") || ex.test ("from"); + ex.test (s_of) || ex.test (s_from); std::unique_ptr b (new FilterBracket (q)); parse_cell_filter (ex, q, b.get (), false, reading); @@ -2451,7 +2655,7 @@ parse_filter (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool re bracket->add_child (f); fl->connect (f); - if (ex.test ("where")) { + if (ex.test (s_where)) { std::string expr = tl::Eval::parse_expr (ex, true); @@ -2472,7 +2676,7 @@ parse_filter (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool re void parse_statement (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool reading) { - if (ex.test ("select")) { + if (ex.test (s_select)) { std::vector expressions; @@ -2480,7 +2684,7 @@ parse_statement (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool expressions.push_back (tl::Eval::parse_expr (ex, true)); } while (ex.test (",")); - ex.expect ("from"); + ex.expect (s_from); std::unique_ptr b (new FilterBracket (q)); parse_filter (ex, q, b.get (), true); @@ -2488,10 +2692,10 @@ parse_statement (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool bool unique = false; std::string sort_expression; - if (ex.test ("sorted")) { - ex.test ("by"); + if (ex.test (s_sorted)) { + ex.test (s_by); sort_expression = tl::Eval::parse_expr (ex, true); - unique = ex.test ("unique"); + unique = ex.test (s_unique); } FilterBase *f = b.release (); @@ -2504,16 +2708,16 @@ parse_statement (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool bracket->connect_exit (ff); - } else if (! reading && ex.test ("with")) { + } else if (! reading && ex.test (s_with)) { std::unique_ptr b (new FilterBracket (q)); parse_filter (ex, q, b.get (), false); - ex.expect ("do"); + ex.expect (s_do); std::string expression = tl::Eval::parse_expr (ex, true); - bool transparent = ex.test ("pass"); + bool transparent = ex.test (s_pass); FilterBase *f = b.release (); bracket->add_child (f); @@ -2525,12 +2729,12 @@ parse_statement (tl::Extractor &ex, LayoutQuery *q, FilterBracket *bracket, bool bracket->connect_exit (ff); - } else if (! reading && ex.test ("delete")) { + } else if (! reading && ex.test (s_delete)) { std::unique_ptr b (new FilterBracket (q)); parse_filter (ex, q, b.get (), false); - bool transparent = ex.test ("pass"); + bool transparent = ex.test (s_pass); FilterBase *f = b.release (); bracket->add_child (f); @@ -2554,7 +2758,10 @@ LayoutQuery::LayoutQuery (const std::string &query) tl::Extractor ex (query.c_str ()); parse_statement (ex, this, r.get (), false); - ex.expect_end (); + + if (! ex.at_end ()) { + ex.error (tl::to_string (tr ("Unexpected text"))); + } r->optimize (); mp_root = r.release (); diff --git a/src/db/db/dbLayoutQuery.h b/src/db/db/dbLayoutQuery.h index c881d520a..8fff4c492 100644 --- a/src/db/db/dbLayoutQuery.h +++ b/src/db/db/dbLayoutQuery.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,11 +51,14 @@ enum LayoutQueryPropertyType LQ_variant, LQ_shape, LQ_trans, + LQ_dtrans, LQ_layer, LQ_instance, LQ_cell, LQ_point, + LQ_dpoint, LQ_box, + LQ_dbox, LQ_polygon, LQ_path, LQ_edge, diff --git a/src/db/db/dbLayoutStateModel.cc b/src/db/db/dbLayoutStateModel.cc index 63cc42177..7a25be793 100644 --- a/src/db/db/dbLayoutStateModel.cc +++ b/src/db/db/dbLayoutStateModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutStateModel.h b/src/db/db/dbLayoutStateModel.h index 20760a70d..92d0ca553 100644 --- a/src/db/db/dbLayoutStateModel.h +++ b/src/db/db/dbLayoutStateModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlist.cc b/src/db/db/dbLayoutToNetlist.cc index 1cdee37af..6b9bf63cc 100644 --- a/src/db/db/dbLayoutToNetlist.cc +++ b/src/db/db/dbLayoutToNetlist.cc @@ -3,7 +3,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -105,7 +105,7 @@ void LayoutToNetlist::keep_dss () void LayoutToNetlist::init () { - dss ().set_text_enlargement (1); + dss ().set_text_enlargement (0); dss ().set_text_property_name (tl::Variant ("LABEL")); } diff --git a/src/db/db/dbLayoutToNetlist.h b/src/db/db/dbLayoutToNetlist.h index be6522e9b..6b04e5cce 100644 --- a/src/db/db/dbLayoutToNetlist.h +++ b/src/db/db/dbLayoutToNetlist.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistFormatDefs.cc b/src/db/db/dbLayoutToNetlistFormatDefs.cc index de8f47df5..a60fbc02b 100644 --- a/src/db/db/dbLayoutToNetlistFormatDefs.cc +++ b/src/db/db/dbLayoutToNetlistFormatDefs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistFormatDefs.h b/src/db/db/dbLayoutToNetlistFormatDefs.h index 5f261e467..d77386a2d 100644 --- a/src/db/db/dbLayoutToNetlistFormatDefs.h +++ b/src/db/db/dbLayoutToNetlistFormatDefs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistReader.cc b/src/db/db/dbLayoutToNetlistReader.cc index 862e3728b..30fab09e2 100644 --- a/src/db/db/dbLayoutToNetlistReader.cc +++ b/src/db/db/dbLayoutToNetlistReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistReader.h b/src/db/db/dbLayoutToNetlistReader.h index e33797832..0c4e75f22 100644 --- a/src/db/db/dbLayoutToNetlistReader.h +++ b/src/db/db/dbLayoutToNetlistReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistWriter.cc b/src/db/db/dbLayoutToNetlistWriter.cc index d7956761d..317906a0d 100644 --- a/src/db/db/dbLayoutToNetlistWriter.cc +++ b/src/db/db/dbLayoutToNetlistWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutToNetlistWriter.h b/src/db/db/dbLayoutToNetlistWriter.h index 67d2b0366..55964cb2d 100644 --- a/src/db/db/dbLayoutToNetlistWriter.h +++ b/src/db/db/dbLayoutToNetlistWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 98718791e..dea4ab705 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include "dbCellVariants.h" #include "dbPolygonTools.h" #include "tlProgress.h" +#include "tlTimer.h" namespace db { @@ -436,9 +437,38 @@ ContextCache::find_layout_context (db::cell_index_type from, db::cell_index_type // ------------------------------------------------------------ // Scale and snap a layout +static void +scale_and_snap_cell_instance (db::CellInstArray &ci, const db::ICplxTrans &tr, const db::ICplxTrans &trinv, const db::Vector &delta, db::Coord g, db::Coord m, db::Coord d) +{ + db::Trans ti (ci.front ()); + + db::Vector ti_disp = ti.disp (); + ti_disp.transform (tr); + ti_disp = scaled_and_snapped_vector (ti_disp, g, m, d, delta.x (), g, m, d, delta.y ()); + ti_disp.transform (trinv); + + ci.move (ti_disp - ti.disp ()); +} + +static db::Edge +scaled_and_snapped_edge (const db::Edge &e, db::Coord g, db::Coord m, db::Coord d, db::Coord ox, db::Coord oy) +{ + int64_t dg = int64_t (g) * int64_t (d); + + int64_t x1 = snap_to_grid (int64_t (e.p1 ().x ()) * m + int64_t (ox), dg) / int64_t (d); + int64_t y1 = snap_to_grid (int64_t (e.p1 ().y ()) * m + int64_t (oy), dg) / int64_t (d); + + int64_t x2 = snap_to_grid (int64_t (e.p2 ().x ()) * m + int64_t (ox), dg) / int64_t (d); + int64_t y2 = snap_to_grid (int64_t (e.p2 ().y ()) * m + int64_t (oy), dg) / int64_t (d); + + return db::Edge (db::Point (x1, y1), db::Point (x2, y2)); +} + void scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db::Coord d) { + tl::SelfTimer timer (tl::verbosity () >= 31, tl::to_string (tr ("scale_and_snap"))); + if (g < 0) { throw tl::Exception (tl::to_string (tr ("Snapping requires a positive grid value"))); } @@ -453,8 +483,11 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db db::cell_variants_collector vars (db::ScaleAndGridReducer (g, m, d)); - vars.collect (layout, cell); - vars.separate_variants (layout, cell); + { + tl::SelfTimer timer1 (tl::verbosity () >= 41, tl::to_string (tr ("scale_and_snap: variant formation"))); + vars.collect (layout, cell); + vars.separate_variants (layout, cell); + } std::set called_cells; cell.collect_called_cells (called_cells); @@ -463,9 +496,10 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db db::LayoutLocker layout_locker (&layout); layout.update (); - std::vector heap; + tl::SelfTimer timer2 (tl::verbosity () >= 41, tl::to_string (tr ("scale_and_snap: snapping and scaling"))); - unsigned int work_layer = layout.insert_layer (); + std::vector heap; + std::vector iterated_array_vectors; for (db::Layout::iterator c = layout.begin (); c != layout.end (); ++c) { @@ -486,7 +520,7 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db for (db::Layout::layer_iterator l = layout.begin_layers (); l != layout.end_layers (); ++l) { db::Shapes &s = c->shapes ((*l).first); - db::Shapes &out = c->shapes (work_layer); + db::Shapes new_shapes (layout.is_editable ()); for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::Polygons | db::ShapeIterator::Paths | db::ShapeIterator::Boxes); ! si.at_end (); ++si) { @@ -495,7 +529,20 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db poly.transform (tr); poly = scaled_and_snapped_polygon (poly, g, m, d, tr_disp.x (), g, m, d, tr_disp.y (), heap); poly.transform (trinv); - out.insert (poly); + + if (si->is_box () && poly.is_box ()) { + if (si->has_prop_id ()) { + new_shapes.insert (db::BoxWithProperties (poly.box (), si->prop_id ())); + } else { + new_shapes.insert (poly.box ()); + } + } else { + if (si->has_prop_id ()) { + new_shapes.insert (db::PolygonWithProperties (poly, si->prop_id ())); + } else { + new_shapes.insert (poly); + } + } } @@ -506,48 +553,94 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db text.transform (tr); text.trans (db::Trans (text.trans ().rot (), scaled_and_snapped_vector (text.trans ().disp (), g, m, d, tr_disp.x (), g, m, d, tr_disp.y ()))); text.transform (trinv); - out.insert (text); + + if (si->has_prop_id ()) { + new_shapes.insert (db::TextWithProperties (text, si->prop_id ())); + } else { + new_shapes.insert (text); + } } - s.swap (out); - out.clear (); + for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::Edges); ! si.at_end (); ++si) { + + db::Edge edge; + si->edge (edge); + edge.transform (tr); + edge = scaled_and_snapped_edge (edge, g, m , d, tr_disp.x (), tr_disp.y ()); + edge.transform (trinv); + + if (si->has_prop_id ()) { + new_shapes.insert (db::EdgeWithProperties (edge, si->prop_id ())); + } else { + new_shapes.insert (edge); + } + + } + + for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::EdgePairs); ! si.at_end (); ++si) { + + db::EdgePair edge_pair; + si->edge_pair (edge_pair); + edge_pair.transform (tr); + edge_pair = db::EdgePair (scaled_and_snapped_edge (edge_pair.first (), g, m , d, tr_disp.x (), tr_disp.y ()), + scaled_and_snapped_edge (edge_pair.second (), g, m , d, tr_disp.x (), tr_disp.y ())); + edge_pair.transform (trinv); + + if (si->has_prop_id ()) { + new_shapes.insert (db::EdgePairWithProperties (edge_pair, si->prop_id ())); + } else { + new_shapes.insert (edge_pair); + } + + } + + s.swap (new_shapes); } // Snap instance placements to grid and magnify // NOTE: we can modify the instances because the ScaleAndGridReducer marked every cell with children // as a variant cell (an effect of ScaleAndGridReducer::want_variants(cell) == true where cells have children). - // Variant cells are not copied blindly back to the original layout. - - std::list new_insts; + // The variant formation also made sure the iterated and regular arrays are exploded where required. for (db::Cell::const_iterator inst = c->begin (); ! inst.at_end (); ++inst) { const db::CellInstArray &ia = inst->cell_inst (); - for (db::CellInstArray::iterator i = ia.begin (); ! i.at_end (); ++i) { - db::Trans ti (*i); - db::Vector ti_disp = ti.disp (); - ti_disp.transform (tr); - ti_disp = scaled_and_snapped_vector (ti_disp, g, m, d, tr_disp.x (), g, m, d, tr_disp.y ()); - ti_disp.transform (trinv); - ti.disp (ti_disp); + iterated_array_vectors.clear (); + db::Vector a, b; + unsigned long na, nb; - if (ia.is_complex ()) { - new_insts.push_back (db::CellInstArray (ia.object (), ia.complex_trans (ti))); - } else { - new_insts.push_back (db::CellInstArray (ia.object (), ti)); + db::CellInstArray new_array (ia); + + if (ia.is_iterated_array (&iterated_array_vectors)) { + + bool needs_update = false; + for (std::vector::iterator i = iterated_array_vectors.begin (); i != iterated_array_vectors.end (); ++i) { + db::Vector v = scaled_and_snapped_vector (*i, g, m, d, tr_disp.x (), g, m, d, tr_disp.y ()); + if (v != *i) { + needs_update = true; + *i = v; + } } + if (needs_update) { + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), iterated_array_vectors.begin (), iterated_array_vectors.end ()); + } + + } else if (ia.is_regular_array (a, b, na, nb)) { + + a = scaled_and_snapped_vector (a, g, m, d, tr_disp.x (), g, m, d, tr_disp.y ()); + b = scaled_and_snapped_vector (b, g, m, d, tr_disp.x (), g, m, d, tr_disp.y ()); + + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), a, b, na, nb); + } - } + scale_and_snap_cell_instance (new_array, tr, trinv, tr_disp, g, m, d); + c->replace (*inst, new_array); - c->clear_insts (); - - for (std::list::const_iterator i = new_insts.begin (); i != new_insts.end (); ++i) { - c->insert (*i); } } diff --git a/src/db/db/dbLayoutUtils.h b/src/db/db/dbLayoutUtils.h index 11328d4f4..c1e94e6f5 100644 --- a/src/db/db/dbLayoutUtils.h +++ b/src/db/db/dbLayoutUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematic.cc b/src/db/db/dbLayoutVsSchematic.cc index 13b61ec17..6fe656970 100644 --- a/src/db/db/dbLayoutVsSchematic.cc +++ b/src/db/db/dbLayoutVsSchematic.cc @@ -3,7 +3,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematic.h b/src/db/db/dbLayoutVsSchematic.h index 9c259cfcc..0eb9d0f6e 100644 --- a/src/db/db/dbLayoutVsSchematic.h +++ b/src/db/db/dbLayoutVsSchematic.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicFormatDefs.cc b/src/db/db/dbLayoutVsSchematicFormatDefs.cc index 391899417..875429e54 100644 --- a/src/db/db/dbLayoutVsSchematicFormatDefs.cc +++ b/src/db/db/dbLayoutVsSchematicFormatDefs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicFormatDefs.h b/src/db/db/dbLayoutVsSchematicFormatDefs.h index 8f7a25812..fd60336ce 100644 --- a/src/db/db/dbLayoutVsSchematicFormatDefs.h +++ b/src/db/db/dbLayoutVsSchematicFormatDefs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicReader.cc b/src/db/db/dbLayoutVsSchematicReader.cc index 1c514c8ca..688934b62 100644 --- a/src/db/db/dbLayoutVsSchematicReader.cc +++ b/src/db/db/dbLayoutVsSchematicReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicReader.h b/src/db/db/dbLayoutVsSchematicReader.h index 1cc900c75..6e8a3b679 100644 --- a/src/db/db/dbLayoutVsSchematicReader.h +++ b/src/db/db/dbLayoutVsSchematicReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicWriter.cc b/src/db/db/dbLayoutVsSchematicWriter.cc index c404ce8dd..d92b7c2d8 100644 --- a/src/db/db/dbLayoutVsSchematicWriter.cc +++ b/src/db/db/dbLayoutVsSchematicWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLayoutVsSchematicWriter.h b/src/db/db/dbLayoutVsSchematicWriter.h index a6959ac37..832e90fde 100644 --- a/src/db/db/dbLayoutVsSchematicWriter.h +++ b/src/db/db/dbLayoutVsSchematicWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLibrary.cc b/src/db/db/dbLibrary.cc index dc701e65c..4fa34f794 100644 --- a/src/db/db/dbLibrary.cc +++ b/src/db/db/dbLibrary.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,25 +25,31 @@ #include "dbLibraryProxy.h" #include "dbPCellDeclaration.h" #include "dbPCellVariant.h" +#include "dbLibraryManager.h" + +#include namespace db { Library::Library() - : m_id (0), m_layout (true) + : m_id (std::numeric_limits::max ()), m_layout (true) { m_layout.set_library (this); } Library::Library(const Library &d) - : gsi::ObjectBase (), tl::Object (), m_name (d.m_name), m_description (d.m_description), m_id (0), m_layout (d.m_layout) + : gsi::ObjectBase (), tl::Object (), m_name (d.m_name), m_description (d.m_description), m_id (std::numeric_limits::max ()), m_layout (d.m_layout) { m_layout.set_library (this); } Library::~Library () { - // .. nothing yet .. + // unregister if not done yet + if (db::LibraryManager::initialized ()) { + db::LibraryManager::instance ().unregister_lib (this); + } } bool @@ -139,6 +145,13 @@ Library::is_retired (const db::cell_index_type library_cell_index) const return (i != m_refcount.end () && j != m_retired_count.end () && i->second == j->second); } +void +Library::refresh () +{ + layout ().refresh (); + remap_to (this); +} + void Library::remap_to (db::Library *other) { diff --git a/src/db/db/dbLibrary.h b/src/db/db/dbLibrary.h index a421adeeb..6b21604c9 100644 --- a/src/db/db/dbLibrary.h +++ b/src/db/db/dbLibrary.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -204,6 +204,13 @@ public: */ bool is_retired (const cell_index_type library_cell_index) const; + /** + * @brief Refreshes the library on all clients + * + * This will refresh PCells, retire cells (turn them into "cold proxies") and reload layouts. + */ + void refresh (); + /** * @brief Remap the library proxies to a different library * diff --git a/src/db/db/dbLibraryManager.cc b/src/db/db/dbLibraryManager.cc index f522da6f4..80eca6f39 100644 --- a/src/db/db/dbLibraryManager.cc +++ b/src/db/db/dbLibraryManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,7 @@ #include "tlAssert.h" #include "tlStaticObjects.h" #include "tlClassRegistry.h" +#include "tlThreads.h" #include @@ -69,13 +70,15 @@ LibraryManager::~LibraryManager () std::pair LibraryManager::lib_by_name (const std::string &name, const std::set &for_technologies) const { + tl::MutexLocker locker (&m_lock); + iterator l; if (! for_technologies.empty ()) { l = m_lib_by_name.find (name); while (l != m_lib_by_name.end () && l->first == name) { - const db::Library *lptr = lib (l->second); + const db::Library *lptr = lib_internal (l->second); bool found = lptr->for_technologies (); for (std::set::const_iterator t = for_technologies.begin (); t != for_technologies.end () && found; ++t) { if (! lptr->is_for_technology (*t)) { @@ -93,7 +96,7 @@ LibraryManager::lib_by_name (const std::string &name, const std::setfirst == name) { - if (! lib (l->second)->for_technologies ()) { + if (! lib_internal (l->second)->for_technologies ()) { return std::make_pair (true, l->second); } ++l; @@ -103,67 +106,106 @@ LibraryManager::lib_by_name (const std::string &name, const std::setget_name ()); + { + tl::MutexLocker locker (&m_lock); - for (lib_id_type id = 0; id < m_libs.size (); ++id) { - if (m_libs [id] == library) { - library->remap_to (0); - delete library; - m_libs [id] = 0; - break; + for (lib_id_type id = 0; id < m_libs.size (); ++id) { + if (m_libs [id] == library) { + m_lib_by_name.erase (library->get_name ()); + m_libs [id] = 0; + break; + } } } + + library->remap_to (0); + library->set_id (std::numeric_limits::max ()); +} + +void +LibraryManager::delete_lib (Library *library) +{ + if (library) { + unregister_lib (library); + delete library; + } } lib_id_type LibraryManager::register_lib (Library *library) { - library->keep (); // marks the library owned by the C++ side of GSI + lib_id_type id = std::numeric_limits::max (); + Library *old_lib = 0; - lib_id_type id; - for (id = 0; id < m_libs.size (); ++id) { - if (m_libs [id] == 0) { - break; + { + tl::MutexLocker locker (&m_lock); + + if (library->get_id () < m_libs.size ()) { + // ignore re-registration attempts (they crash) + tl_assert (m_libs [library->get_id ()] == library); + return library->get_id (); } - } - if (id == m_libs.size ()) { - m_libs.push_back (library); - } else { - m_libs [id] = library; - } + library->keep (); // marks the library owned by the C++ side of GSI - library->set_id (id); - - // if the new library replaces the old one, remap existing library proxies before deleting the library - // (replacement is done only when all technologies are substituted) - lib_name_map::iterator l = m_lib_by_name.find (library->get_name ()); - bool found = false; - while (l != m_lib_by_name.end () && l->first == library->get_name ()) { - if (m_libs [l->second] && m_libs [l->second]->get_technologies () == library->get_technologies ()) { - found = true; - break; + for (id = 0; id < m_libs.size (); ++id) { + if (m_libs [id] == 0) { + break; + } } - ++l; + + if (id == m_libs.size ()) { + m_libs.push_back (library); + } else { + m_libs [id] = library; + } + + library->set_id (id); + + // if the new library replaces the old one, remap existing library proxies before deleting the library + // (replacement is done only when all technologies are substituted) + lib_name_map::iterator l = m_lib_by_name.find (library->get_name ()); + bool found = false; + while (l != m_lib_by_name.end () && l->first == library->get_name ()) { + if (m_libs [l->second] && m_libs [l->second]->get_technologies () == library->get_technologies ()) { + found = true; + break; + } + ++l; + } + + if (found) { + // substitute + old_lib = m_libs [l->second]; + m_lib_by_name.erase (l); + } + + // insert new lib as first of this name + l = m_lib_by_name.find (library->get_name ()); + m_lib_by_name.insert (l, std::make_pair (library->get_name (), id)); } - if (found) { - // substitute - m_libs [l->second]->remap_to (library); - delete m_libs [l->second]; - m_libs [l->second] = 0; - m_lib_by_name.erase (l); - } + if (old_lib) { - // insert new lib as first of this name - l = m_lib_by_name.find (library->get_name ()); - m_lib_by_name.insert (l, std::make_pair (library->get_name (), id)); + old_lib->remap_to (library); + + { + // reset the library pointer only after "remap_to" -> this function may need lib_by_id. + tl::MutexLocker locker (&m_lock); + m_libs [old_lib->get_id ()] = 0; + } + + old_lib->set_id (std::numeric_limits::max ()); + delete old_lib; + old_lib = 0; + + } // take care of cold referrers - these may not get valid // NOTE: this will try to substitute the cold proxies we may have generated during "remap_to" above, but @@ -187,6 +229,13 @@ LibraryManager::register_lib (Library *library) Library * LibraryManager::lib (lib_id_type id) const +{ + tl::MutexLocker locker (&m_lock); + return lib_internal (id); +} + +Library * +LibraryManager::lib_internal (lib_id_type id) const { if (id >= m_libs.size ()) { return 0; @@ -198,17 +247,24 @@ LibraryManager::lib (lib_id_type id) const void LibraryManager::clear () { - if (m_libs.empty ()) { - return; - } - - // empty the library table before we delete them - this avoid accesses to invalid libraries while doing so. std::vector libs; - libs.swap (m_libs); - m_lib_by_name.clear (); + + { + tl::MutexLocker locker (&m_lock); + + if (m_libs.empty ()) { + return; + } + + // empty the library table before we delete them - this avoid accesses to invalid libraries while doing so. + libs.swap (m_libs); + m_lib_by_name.clear (); + } for (std::vector::iterator l = libs.begin (); l != libs.end (); ++l) { if (*l) { + (*l)->remap_to (0); + (*l)->set_id (std::numeric_limits::max ()); delete *l; } } diff --git a/src/db/db/dbLibraryManager.h b/src/db/db/dbLibraryManager.h index a41fa889c..f4cd25609 100644 --- a/src/db/db/dbLibraryManager.h +++ b/src/db/db/dbLibraryManager.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,7 @@ #include "dbTypes.h" #include "tlClassRegistry.h" #include "tlEvents.h" +#include "tlThreads.h" #include #include @@ -185,6 +186,13 @@ public: */ lib_id_type register_lib (Library *library); + /** + * @brief Unregisters a library + * + * This will release the library from the manager's control and lifetime management. + */ + void unregister_lib (Library *library); + /** * @brief Deletes a library */ @@ -207,8 +215,10 @@ public: private: std::vector m_libs; lib_name_map m_lib_by_name; + mutable tl::Mutex m_lock; LibraryManager (); + Library *lib_internal (lib_id_type id) const; }; } diff --git a/src/db/db/dbLibraryProxy.cc b/src/db/db/dbLibraryProxy.cc index 4008a1253..35e30077f 100644 --- a/src/db/db/dbLibraryProxy.cc +++ b/src/db/db/dbLibraryProxy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -89,6 +89,8 @@ void LibraryProxy::remap (lib_id_type lib_id, cell_index_type lib_cell_index) { if (lib_id == m_lib_id && m_library_cell_index == lib_cell_index) { + // we trigger an update in any case to implement the library's "refresh" + update (); return; } @@ -157,6 +159,11 @@ LibraryProxy::get_layer_indices (db::Layout &layout, db::ImportLayerMapping *lay // map guiding shape layer m_layer_indices.push_back ((int) layout.guiding_shape_layer ()); + } else if (i == lib->layout ().error_layer ()) { + + // map guiding shape layer + m_layer_indices.push_back ((int) layout.error_layer ()); + } else if (! lib->layout ().is_valid_layer (i) || cell.bbox (i).empty ()) { m_layer_indices.push_back (-1); diff --git a/src/db/db/dbLibraryProxy.h b/src/db/db/dbLibraryProxy.h index d5f591543..7412bdd28 100644 --- a/src/db/db/dbLibraryProxy.h +++ b/src/db/db/dbLibraryProxy.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLoadLayoutOptions.cc b/src/db/db/dbLoadLayoutOptions.cc index b92b5acc0..88356b4c5 100644 --- a/src/db/db/dbLoadLayoutOptions.cc +++ b/src/db/db/dbLoadLayoutOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLoadLayoutOptions.h b/src/db/db/dbLoadLayoutOptions.h index 2dbaae32d..67262f353 100644 --- a/src/db/db/dbLoadLayoutOptions.h +++ b/src/db/db/dbLoadLayoutOptions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLocalOperation.cc b/src/db/db/dbLocalOperation.cc index a59d2ec35..4c5f8d392 100644 --- a/src/db/db/dbLocalOperation.cc +++ b/src/db/db/dbLocalOperation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLocalOperation.h b/src/db/db/dbLocalOperation.h index 972e36c96..263e58bf0 100644 --- a/src/db/db/dbLocalOperation.h +++ b/src/db/db/dbLocalOperation.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLocalOperationUtils.cc b/src/db/db/dbLocalOperationUtils.cc index 64a18d269..5ef58385f 100644 --- a/src/db/db/dbLocalOperationUtils.cc +++ b/src/db/db/dbLocalOperationUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbLocalOperationUtils.h b/src/db/db/dbLocalOperationUtils.h index 71e03a3bc..4c9768271 100644 --- a/src/db/db/dbLocalOperationUtils.h +++ b/src/db/db/dbLocalOperationUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbManager.cc b/src/db/db/dbManager.cc index 4c3a7b0cd..7c255210e 100644 --- a/src/db/db/dbManager.cc +++ b/src/db/db/dbManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -144,6 +144,28 @@ Manager::last_transaction_id () const return m_transactions.empty () ? 0 : reinterpret_cast (& m_transactions.back ()); } +Manager::transaction_id_t +Manager::transaction_id_for_undo () const +{ + transactions_t::iterator c = m_current; + if (c == m_transactions.begin ()) { + return 0; + } else { + --c; + return reinterpret_cast (c.operator-> ()); + } +} + +Manager::transaction_id_t +Manager::transaction_id_for_redo () const +{ + if (m_current == m_transactions.end ()) { + return 0; + } else { + return reinterpret_cast (m_current.operator-> ()); + } +} + void Manager::cancel () { @@ -289,7 +311,7 @@ Manager::last_queued (db::Object *object) tl_assert (m_opened); tl_assert (! m_replay); - if (m_current->first.empty () || m_current->first.back ().first != object->id ()) { + if (m_current == m_transactions.end () || m_current->first.empty () || (object && m_current->first.back ().first != object->id ())) { return 0; } else { return m_current->first.back ().second; diff --git a/src/db/db/dbManager.h b/src/db/db/dbManager.h index a389cc46e..b818cdaa7 100644 --- a/src/db/db/dbManager.h +++ b/src/db/db/dbManager.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -143,6 +143,16 @@ public: */ transaction_id_t last_transaction_id () const; + /** + * @brief Gets the id of the next transaction to undo + */ + transaction_id_t transaction_id_for_undo () const; + + /** + * @brief Gets the id of the next transaction to redo + */ + transaction_id_t transaction_id_for_redo () const; + /** * @brief Close a transaction successfully. */ @@ -334,6 +344,11 @@ public: } } + bool is_empty () const + { + return ! mp_manager || mp_manager->last_queued (0) == 0; + } + db::Manager::transaction_id_t id () const { return m_transaction_id; diff --git a/src/db/db/dbMatrix.cc b/src/db/db/dbMatrix.cc index 20c492d6f..eaa6ff09b 100644 --- a/src/db/db/dbMatrix.cc +++ b/src/db/db/dbMatrix.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMatrix.h b/src/db/db/dbMatrix.h index 9e39d7715..2cc18745f 100644 --- a/src/db/db/dbMatrix.h +++ b/src/db/db/dbMatrix.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMemStatistics.cc b/src/db/db/dbMemStatistics.cc index 0995c01b8..008cd6d56 100644 --- a/src/db/db/dbMemStatistics.cc +++ b/src/db/db/dbMemStatistics.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMemStatistics.h b/src/db/db/dbMemStatistics.h index 6297bc288..9bf5b03b5 100644 --- a/src/db/db/dbMemStatistics.h +++ b/src/db/db/dbMemStatistics.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMetaInfo.h b/src/db/db/dbMetaInfo.h index 5b114da14..519abcfc9 100644 --- a/src/db/db/dbMetaInfo.h +++ b/src/db/db/dbMetaInfo.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableEdgePairs.cc b/src/db/db/dbMutableEdgePairs.cc index 876d609c9..db2b58764 100644 --- a/src/db/db/dbMutableEdgePairs.cc +++ b/src/db/db/dbMutableEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableEdgePairs.h b/src/db/db/dbMutableEdgePairs.h index 854d61eb0..e305221dc 100644 --- a/src/db/db/dbMutableEdgePairs.h +++ b/src/db/db/dbMutableEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableEdges.cc b/src/db/db/dbMutableEdges.cc index b0859ac1f..6b62830d1 100644 --- a/src/db/db/dbMutableEdges.cc +++ b/src/db/db/dbMutableEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableEdges.h b/src/db/db/dbMutableEdges.h index e24bd57e2..7551ef21c 100644 --- a/src/db/db/dbMutableEdges.h +++ b/src/db/db/dbMutableEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableRegion.cc b/src/db/db/dbMutableRegion.cc index 8f55558f5..f9cac50d6 100644 --- a/src/db/db/dbMutableRegion.cc +++ b/src/db/db/dbMutableRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableRegion.h b/src/db/db/dbMutableRegion.h index 68c90a45b..d6200c2f8 100644 --- a/src/db/db/dbMutableRegion.h +++ b/src/db/db/dbMutableRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableTexts.cc b/src/db/db/dbMutableTexts.cc index d8789e591..017348e3a 100644 --- a/src/db/db/dbMutableTexts.cc +++ b/src/db/db/dbMutableTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbMutableTexts.h b/src/db/db/dbMutableTexts.h index eadd63129..737b5400d 100644 --- a/src/db/db/dbMutableTexts.h +++ b/src/db/db/dbMutableTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNamedLayerReader.cc b/src/db/db/dbNamedLayerReader.cc index 866dcaccb..64ec271a7 100644 --- a/src/db/db/dbNamedLayerReader.cc +++ b/src/db/db/dbNamedLayerReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNamedLayerReader.h b/src/db/db/dbNamedLayerReader.h index 0d74d371b..e211eca96 100644 --- a/src/db/db/dbNamedLayerReader.h +++ b/src/db/db/dbNamedLayerReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNet.cc b/src/db/db/dbNet.cc index f3f74f914..163a4ff1b 100644 --- a/src/db/db/dbNet.cc +++ b/src/db/db/dbNet.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNet.h b/src/db/db/dbNet.h index f2e97c373..28398b876 100644 --- a/src/db/db/dbNet.h +++ b/src/db/db/dbNet.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetShape.cc b/src/db/db/dbNetShape.cc index 4b328f506..4c20d296a 100644 --- a/src/db/db/dbNetShape.cc +++ b/src/db/db/dbNetShape.cc @@ -1,7 +1,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -134,7 +134,7 @@ bool NetShape::interacts_with (const db::NetShape &other) const // Polygon vs. polygon db::PolygonRef pr_other = other.polygon_ref (); db::PolygonRef pr = polygon_ref (); - db::Polygon p = pr_other.obj ().transformed (pr.trans ().inverted () * pr_other.trans ()); + db::Polygon p = pr_other.obj ().transformed (pr.trans ().inverted () * pr_other.trans (), false); return db::interact_pp (pr.obj (), p); } else { diff --git a/src/db/db/dbNetShape.h b/src/db/db/dbNetShape.h index 86f92d530..d25a54cca 100644 --- a/src/db/db/dbNetShape.h +++ b/src/db/db/dbNetShape.h @@ -1,7 +1,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlist.cc b/src/db/db/dbNetlist.cc index 72213a323..7f0a04077 100644 --- a/src/db/db/dbNetlist.cc +++ b/src/db/db/dbNetlist.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlist.h b/src/db/db/dbNetlist.h index 20a714d06..ac8d800e4 100644 --- a/src/db/db/dbNetlist.h +++ b/src/db/db/dbNetlist.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 5fd89725b..849854db3 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -942,13 +942,22 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, RedundantNodeCache redundant_nodes; redundant_nodes.fill (g1); - // two passes: one without ambiguities, the second one with + // Three passes: one without ambiguities, the second one with ambiguities and names (optional) and a third with ambiguities with topology - for (int pass = 0; pass < 2 && ! good; ++pass) { + for (int pass = 0; pass < 3 && ! good; ++pass) { + + if (pass == 1 && m_dont_consider_net_names) { + // skip the named pass in "don't consider net names" mode + continue; + } if (db::NetlistCompareGlobalOptions::options ()->debug_netcompare) { if (pass > 0) { - tl::info << "including ambiguous nodes now."; + if (pass == 1) { + tl::info << "including ambiguous nodes now (with names)"; + } else { + tl::info << "including ambiguous nodes now (ignoreing names)"; + } } } @@ -956,7 +965,7 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, compare.max_depth = m_max_depth; compare.max_n_branch = m_max_n_branch; compare.depth_first = m_depth_first; - compare.dont_consider_net_names = m_dont_consider_net_names; + compare.dont_consider_net_names = (pass > 1); compare.with_ambiguous = (pass > 0); compare.circuit_pin_mapper = &circuit_pin_mapper; compare.subcircuit_equivalence = &subcircuit_equivalence; diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index e86e6a0da..9160a45a8 100644 --- a/src/db/db/dbNetlistCompare.h +++ b/src/db/db/dbNetlistCompare.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompareCore.cc b/src/db/db/dbNetlistCompareCore.cc index 30868e63d..e2313c2cc 100644 --- a/src/db/db/dbNetlistCompareCore.cc +++ b/src/db/db/dbNetlistCompareCore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -268,6 +268,29 @@ public: } } + void clear () + { + m_to_undo.clear (); + m_to_undo_to_unknown.clear (); + m_to_undo_devices.clear (); + m_to_undo_subcircuits.clear (); + } + + void swap (TentativeNodeMapping &other) + { + m_to_undo.swap (other.m_to_undo); + m_to_undo_to_unknown.swap (other.m_to_undo_to_unknown); + m_to_undo_devices.swap (other.m_to_undo_devices); + m_to_undo_subcircuits.swap (other.m_to_undo_subcircuits); + } + + std::vector > nodes_tracked () + { + std::vector > res = m_to_undo; + res.insert (res.end (), m_to_undo_to_unknown.begin (), m_to_undo_to_unknown.end ()); + return res; + } + private: std::vector > m_to_undo, m_to_undo_to_unknown; std::vector > > m_to_undo_devices; @@ -804,6 +827,7 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange // sort the ambiguity group such that net names match best std::vector > pairs; + std::list tn_for_pairs; tl::equivalence_clusters equivalent_other_nodes; sort_node_range_by_best_match (nr); @@ -840,6 +864,7 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange // (Rationale for the latter: passive nets cannot be told apart topologically and are typical for blackbox models. // So the net name is the only differentiator) bool use_name = ! dont_consider_net_names || i1->node->net ()->is_passive (); + bool use_topology = dont_consider_net_names || i1->node->net ()->is_passive (); // in tentative mode, reject this choice if nets are named and all other nets in the ambiguity group differ -> this favors net matching by name if (use_name && tentative) { @@ -861,6 +886,8 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange } bool any = false; + bool need_rerun = false; + size_t node_count = 0; std::vector::const_iterator>::iterator to_remove = iters2.end (); for (std::vector::const_iterator>::iterator ii2 = iters2.begin (); ii2 != iters2.end (); ++ii2) { @@ -888,13 +915,16 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange } // utilize net names to propose a match - new_nodes += 1; + if (any) { + pairs.pop_back (); + } pairs.push_back (std::make_pair (i1->node, i2->node)); to_remove = ii2; + node_count = 1; any = true; break; - } else { + } else if (use_topology) { size_t ni = mp_graph->node_index_for_net (i1->node->net ()); size_t other_ni = mp_other_graph->node_index_for_net (i2->node->net ()); @@ -922,9 +952,10 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange } else { // identified a new pair - new_nodes += bt_count + 1; + node_count = bt_count + 1; pairs.push_back (std::make_pair (i1->node, i2->node)); to_remove = ii2; + need_rerun = true; any = true; // no ambiguity analysis in tentative mode - we can stop now @@ -940,7 +971,9 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange } - if (to_remove != iters2.end ()) { + if (any) { + + new_nodes += node_count; // Add the new pair to the temporary mapping (even in tentative mode) // Reasoning: doing the mapping may render other nets incompatible, so to ensure "edges_are_compatible" works properly we @@ -954,6 +987,21 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange TentativeNodeMapping::map_pair (&tn_temp, mp_graph, ni, mp_other_graph, other_ni, dm, dm_other, *device_equivalence, scm, scm_other, *subcircuit_equivalence, depth); + if (need_rerun && ! tentative) { + + // Re-run the mapping for the selected pair and stash that - this will lock this mapping when investigating other + // branches of the ambiguity resolution tree + + if (db::NetlistCompareGlobalOptions::options ()->debug_netcompare || tl::verbosity () >= 40) { + tl::info << indent_s << "finalizing decision (rerun tracking): " << i1->node->net ()->expanded_name () << " vs. " << i2->node->net ()->expanded_name (); + } + + tn_for_pairs.push_back (TentativeNodeMapping ()); + size_t bt_count = derive_node_identities (ni, depth + 1, complexity * n_branch, &tn_for_pairs.back ()); + tl_assert (bt_count != failed_match); + + } + // now we can get rid of the node and reduce the "other" list of ambiguous nodes iters2.erase (to_remove); @@ -1013,6 +1061,61 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange } + // Establish further mappings from the mappings stashed during tentative evaluation + + std::vector >::const_iterator p = pairs.begin (); + for (std::list::iterator tn_of_pair = tn_for_pairs.begin (); tn_of_pair != tn_for_pairs.end (); ++tn_of_pair, ++p) { + + // Note: this would propagate ambiguities to all *derived* mappings. But this probably goes too far: + // bool ambiguous = equivalent_other_nodes.has_attribute (p->second); + // Instead we ignore propagated ambiguitied for now: + bool ambiguous = false; + + if (db::NetlistCompareGlobalOptions::options ()->debug_netcompare || tl::verbosity () >= 40) { + tl::info << indent_s << "propagating from deduced match: " << p->first->net ()->expanded_name () << " vs. " << p->second->net ()->expanded_name (); + } + + std::vector > nn = tn_of_pair->nodes_tracked (); + + for (std::vector >::const_iterator i = nn.begin (); i != nn.end (); ++i) { + + if (i->first != mp_graph) { + continue; + } + + NetGraphNode *n = & mp_graph->node (i->second); + + size_t other_net_index = n->other_net_index (); + NetGraphNode *n_other = & mp_other_graph->node (other_net_index); + + if (db::NetlistCompareGlobalOptions::options ()->debug_netcompare || tl::verbosity () >= 40) { + if (ambiguous) { + tl::info << indent_s << "deduced ambiguous match: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); + } else { + tl::info << indent_s << "deduced match: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); + } + } + + if (ambiguous) { + if (logger) { + logger->match_ambiguous_nets (n->net (), n_other->net ()); + } + for (db::Net::const_pin_iterator i = n->net ()->begin_pins (); i != n->net ()->end_pins (); ++i) { + pa.push_back (i->pin ()->id ()); + } + for (db::Net::const_pin_iterator i = n_other->net ()->begin_pins (); i != n_other->net ()->end_pins (); ++i) { + pb.push_back (i->pin ()->id ()); + } + } else if (logger) { + logger->match_nets (n->net (), n_other->net ()); + } + + } + + tn_of_pair->clear (); + + } + // marks pins on ambiguous nets as swappable if (! pa.empty ()) { @@ -1022,21 +1125,6 @@ NetlistCompareCore::derive_node_identities_from_ambiguity_group (const NodeRange circuit_pin_mapper->map_pins (mp_other_graph->circuit (), pb); } - // And seek further from these pairs - - if (depth_first) { - - for (std::vector >::const_iterator p = pairs.begin (); p != pairs.end (); ++p) { - - size_t ni = mp_graph->node_index_for_net (p->first->net ()); - - size_t bt_count = derive_node_identities (ni, depth + 1, complexity * n_branch, tentative); - tl_assert (bt_count != failed_match); - - } - - } - } else { for (std::vector >::const_iterator p = pairs.begin (); p != pairs.end (); ++p) { diff --git a/src/db/db/dbNetlistCompareCore.h b/src/db/db/dbNetlistCompareCore.h index f6da4e535..659fe7498 100644 --- a/src/db/db/dbNetlistCompareCore.h +++ b/src/db/db/dbNetlistCompareCore.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompareGraph.cc b/src/db/db/dbNetlistCompareGraph.cc index 33f3d0429..66e593c27 100644 --- a/src/db/db/dbNetlistCompareGraph.cc +++ b/src/db/db/dbNetlistCompareGraph.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompareGraph.h b/src/db/db/dbNetlistCompareGraph.h index e08aa6017..115138997 100644 --- a/src/db/db/dbNetlistCompareGraph.h +++ b/src/db/db/dbNetlistCompareGraph.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompareUtils.cc b/src/db/db/dbNetlistCompareUtils.cc index 936833dba..11608333a 100644 --- a/src/db/db/dbNetlistCompareUtils.cc +++ b/src/db/db/dbNetlistCompareUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCompareUtils.h b/src/db/db/dbNetlistCompareUtils.h index 99d91b57f..fc74c4193 100644 --- a/src/db/db/dbNetlistCompareUtils.h +++ b/src/db/db/dbNetlistCompareUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCrossReference.cc b/src/db/db/dbNetlistCrossReference.cc index 99ab8c780..6363323ec 100644 --- a/src/db/db/dbNetlistCrossReference.cc +++ b/src/db/db/dbNetlistCrossReference.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistCrossReference.h b/src/db/db/dbNetlistCrossReference.h index cc3c197b4..2ea8997a2 100644 --- a/src/db/db/dbNetlistCrossReference.h +++ b/src/db/db/dbNetlistCrossReference.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistDeviceClasses.cc b/src/db/db/dbNetlistDeviceClasses.cc index c9936e0e8..f3af931ab 100644 --- a/src/db/db/dbNetlistDeviceClasses.cc +++ b/src/db/db/dbNetlistDeviceClasses.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,8 @@ #include "dbNetlistDeviceClasses.h" #include "tlClassRegistry.h" +#include "tlTimer.h" +#include "tlLog.h" namespace db { @@ -313,7 +315,7 @@ public: if (((nas == nbs && nad == nbd) || (nas == nbd && nad == nbs)) && nag == nbg) { // for combination the gate length must be identical - if (fabs (a->parameter_value (0) - b->parameter_value (0)) < 1e-6) { + if (DeviceClassMOS3Transistor::lengths_are_identical (a, b)) { combine_parameters (a, b); @@ -365,7 +367,7 @@ public: if (((nas == nbs && nad == nbd) || (nas == nbd && nad == nbs)) && nag == nbg && nab == nbb) { // for combination the gate length must be identical - if (fabs (a->parameter_value (0) - b->parameter_value (0)) < 1e-6) { + if (DeviceClassMOS3Transistor::lengths_are_identical (a, b)) { combine_parameters (a, b); @@ -614,6 +616,234 @@ DeviceClassMOS3Transistor::DeviceClassMOS3Transistor () add_parameter_definition (db::DeviceParameterDefinition ("PD", "Drain perimeter (micrometer)", 0.0, false, 1e-6)); } +bool +DeviceClassMOS3Transistor::is_source_terminal (size_t tid) const +{ + if (is_strict ()) { + return tid == DeviceClassMOS3Transistor::terminal_id_S; + } else { + return tid == DeviceClassMOS3Transistor::terminal_id_S || tid == DeviceClassMOS3Transistor::terminal_id_D; + } +} + +bool +DeviceClassMOS3Transistor::is_drain_terminal (size_t tid) const +{ + if (is_strict ()) { + return tid == DeviceClassMOS3Transistor::terminal_id_D; + } else { + return tid == DeviceClassMOS3Transistor::terminal_id_S || tid == DeviceClassMOS3Transistor::terminal_id_D; + } +} + +bool +DeviceClassMOS3Transistor::lengths_are_identical (const db::Device *a, const db::Device *b) +{ + return (fabs (a->parameter_value (DeviceClassMOS3Transistor::param_id_L) - b->parameter_value (DeviceClassMOS3Transistor::param_id_L)) < 1e-6); +} + +bool +DeviceClassMOS3Transistor::net_is_source_drain_connection (const db::Net *net) const +{ + if (net->pin_count () > 0) { + return false; + } + if (net->subcircuit_pin_count () > 0) { + return false; + } + if (net->terminal_count () != 2) { + return false; + } + + db::Net::const_terminal_iterator t1 = net->begin_terminals (); + db::Net::const_terminal_iterator t2 = t1; + ++t2; + + if (t1->device_class () != this || t2->device_class () != this) { + return false; + } + + return ((is_source_terminal (t1->terminal_id ()) && is_drain_terminal (t2->terminal_id ())) || + (is_drain_terminal (t1->terminal_id ()) && is_source_terminal (t2->terminal_id ()))); +} + +namespace { + +class SplitGateDeviceChain +{ +public: + typedef std::vector::const_iterator device_iterator; + typedef std::vector::const_iterator net_iterator; + + SplitGateDeviceChain () { } + + void add_device (const db::Device *device) { m_devices.push_back (device); } + void add_net (const db::Net *net) { m_nets.push_back (net); } + + device_iterator begin_devices () const { return m_devices.begin (); } + device_iterator end_devices () const { return m_devices.end (); } + + net_iterator begin_nets () const { return m_nets.begin (); } + net_iterator end_nets () const { return m_nets.end (); } + + void clear () + { + m_devices.clear (); + m_nets.clear (); + } + + bool is_compatible (const SplitGateDeviceChain &other, bool with_bulk) const + { + if (m_devices.size () != other.m_devices.size ()) { + return false; + } + + device_iterator d = begin_devices (), dd = other.begin_devices (); + for ( ; d != end_devices (); ++d, ++dd) { + if ((*d)->net_for_terminal (DeviceClassMOS3Transistor::terminal_id_G) != (*dd)->net_for_terminal (DeviceClassMOS3Transistor::terminal_id_G)) { + return false; + } + if (with_bulk && (*d)->net_for_terminal (DeviceClassMOS4Transistor::terminal_id_B) != (*dd)->net_for_terminal (DeviceClassMOS4Transistor::terminal_id_B)) { + return false; + } + if (! DeviceClassMOS3Transistor::lengths_are_identical (*d, *dd)) { + return false; + } + } + + return true; + } + + void join_nets (const SplitGateDeviceChain &other, db::Circuit *circuit) const + { + net_iterator n = begin_nets (), nn = other.begin_nets (); + for ( ; n != end_nets (); ++n, ++nn) { + if (tl::verbosity () >= 40) { + tl::log << "Joining nets: " << (*n)->expanded_name () << " and " << (*nn)->expanded_name (); + } + circuit->join_nets (const_cast (*n), const_cast (*nn)); + } + } + +private: + std::vector m_devices; + std::vector m_nets; +}; + +} + +void +DeviceClassMOS3Transistor::join_split_gates (db::Circuit *circuit) const +{ + tl::SelfTimer timer (tl::verbosity () >= 31, tl::to_string (tr ("join split gates ")) + name () + " (" + circuit->name () + ")"); + + std::set seen_nets; + + for (db::Circuit::net_iterator n = circuit->begin_nets (); n != circuit->end_nets (); ++n) { + + if (seen_nets.find (n.operator-> ()) != seen_nets.end ()) { + continue; + } + seen_nets.insert (n.operator-> ()); + + if (net_is_source_drain_connection (n.operator-> ())) { + continue; + } + + std::map > chains; + SplitGateDeviceChain chain; + + for (db::Net::const_terminal_iterator t = n->begin_terminals (); t != n->end_terminals (); ++t) { + + if (t->device_class () == this && is_source_terminal (t->terminal_id ())) { + + // form a new chain + + chain.clear (); + + size_t tid = t->terminal_id (); + const db::Device *d = t->device (); + const db::Net *nn = 0; + + while (true) { + + chain.add_device (d); + + size_t other_tid = (tid == DeviceClassMOS3Transistor::terminal_id_S ? DeviceClassMOS3Transistor::terminal_id_D : DeviceClassMOS3Transistor::terminal_id_S); + nn = d->net_for_terminal (other_tid); + if (! nn || ! net_is_source_drain_connection (nn)) { + break; + } + + const db::Device *other_device = 0; + for (db::Net::const_terminal_iterator tt = nn->begin_terminals (); tt != nn->end_terminals (); ++tt) { + if (tt->device () != d) { + other_tid = tt->terminal_id (); + other_device = tt->device (); + break; + } + } + tl_assert (other_device); + + if (seen_nets.find (nn) != seen_nets.end ()) { + nn = 0; + break; + } + seen_nets.insert (nn); + + tid = other_tid; + d = other_device; + chain.add_net (nn); + + } + + if (nn && chain.begin_nets () != chain.end_nets ()) { + chains [nn].push_back (chain); + } + + } + + } + + // identify compatible chains and join their S/D nodes + + for (std::map >::iterator cs = chains.begin (); cs != chains.end (); ++cs) { + + std::vector::iterator> compatibles; + + while (! cs->second.empty ()) { + + compatibles.clear (); + + std::list::iterator c = cs->second.begin (); + std::list::iterator cc = c; + ++cc; + while (cc != cs->second.end ()) { + if (cc->is_compatible (*c, has_bulk_pin ())) { + compatibles.push_back (cc); + } + ++cc; + } + + for (std::vector::iterator>::const_iterator i = compatibles.begin (); i != compatibles.end (); ++i) { + c->join_nets (**i, circuit); + cs->second.erase (*i); + } + cs->second.erase (c); + + } + + } + + } +} + +bool +DeviceClassMOS3Transistor::has_bulk_pin () const +{ + return false; +} + // ------------------------------------------------------------------------------------ // DeviceClassMOS4Transistor implementation @@ -625,6 +855,12 @@ DeviceClassMOS4Transistor::DeviceClassMOS4Transistor () add_terminal_definition (db::DeviceTerminalDefinition ("B", "Bulk")); } +bool +DeviceClassMOS4Transistor::has_bulk_pin () const +{ + return true; +} + // ------------------------------------------------------------------------------------ // DeviceClassBJT3Transistor implementation diff --git a/src/db/db/dbNetlistDeviceClasses.h b/src/db/db/dbNetlistDeviceClasses.h index 385759f87..6ee616738 100644 --- a/src/db/db/dbNetlistDeviceClasses.h +++ b/src/db/db/dbNetlistDeviceClasses.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -191,8 +191,26 @@ public: return new DeviceClassMOS3Transistor (*this); } + /** + * @brief Implements the "split_gates" feature + * This feature will join internal source/drain nodes to form fingered multi-gate + * transistors. + */ + void join_split_gates (db::Circuit *circuit) const; + + /** + * @brief Returns true if device lengths are compatible + */ + static bool lengths_are_identical (const db::Device *a, const db::Device *b); + protected: void combine_parameters (Device *a, Device *b) const; + virtual bool has_bulk_pin () const; + +private: + bool is_source_terminal (size_t tid) const; + bool is_drain_terminal (size_t tid) const; + bool net_is_source_drain_connection (const db::Net *net) const; }; /** @@ -212,6 +230,9 @@ public: { return new DeviceClassMOS4Transistor (*this); } + +protected: + virtual bool has_bulk_pin () const; }; /** diff --git a/src/db/db/dbNetlistDeviceExtractor.cc b/src/db/db/dbNetlistDeviceExtractor.cc index 03129ea62..c131cea12 100644 --- a/src/db/db/dbNetlistDeviceExtractor.cc +++ b/src/db/db/dbNetlistDeviceExtractor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistDeviceExtractor.h b/src/db/db/dbNetlistDeviceExtractor.h index ffbe26bb0..4090460d8 100644 --- a/src/db/db/dbNetlistDeviceExtractor.h +++ b/src/db/db/dbNetlistDeviceExtractor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistDeviceExtractorClasses.cc b/src/db/db/dbNetlistDeviceExtractorClasses.cc index c4cbd3844..8ce0b0486 100644 --- a/src/db/db/dbNetlistDeviceExtractorClasses.cc +++ b/src/db/db/dbNetlistDeviceExtractorClasses.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistDeviceExtractorClasses.h b/src/db/db/dbNetlistDeviceExtractorClasses.h index 180d8f1b7..1bda533fb 100644 --- a/src/db/db/dbNetlistDeviceExtractorClasses.h +++ b/src/db/db/dbNetlistDeviceExtractorClasses.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistExtractor.cc b/src/db/db/dbNetlistExtractor.cc index 8ebeaa720..7f9e2d0c1 100644 --- a/src/db/db/dbNetlistExtractor.cc +++ b/src/db/db/dbNetlistExtractor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistExtractor.h b/src/db/db/dbNetlistExtractor.h index 06c8d4d29..5a2d227b5 100644 --- a/src/db/db/dbNetlistExtractor.h +++ b/src/db/db/dbNetlistExtractor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistObject.cc b/src/db/db/dbNetlistObject.cc index cff73677b..a9b1c0a51 100644 --- a/src/db/db/dbNetlistObject.cc +++ b/src/db/db/dbNetlistObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistObject.h b/src/db/db/dbNetlistObject.h index a9e11aaf7..e728a8db2 100644 --- a/src/db/db/dbNetlistObject.h +++ b/src/db/db/dbNetlistObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistReader.cc b/src/db/db/dbNetlistReader.cc index c5b889a68..31bfd1d10 100644 --- a/src/db/db/dbNetlistReader.cc +++ b/src/db/db/dbNetlistReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistReader.h b/src/db/db/dbNetlistReader.h index bed469255..a6ae539c1 100644 --- a/src/db/db/dbNetlistReader.h +++ b/src/db/db/dbNetlistReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistSpiceReader.cc b/src/db/db/dbNetlistSpiceReader.cc index dd3ade0f8..9233f286f 100644 --- a/src/db/db/dbNetlistSpiceReader.cc +++ b/src/db/db/dbNetlistSpiceReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistSpiceReader.h b/src/db/db/dbNetlistSpiceReader.h index c0ce6d825..32c77626b 100644 --- a/src/db/db/dbNetlistSpiceReader.h +++ b/src/db/db/dbNetlistSpiceReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistSpiceWriter.cc b/src/db/db/dbNetlistSpiceWriter.cc index a4a689d6d..8393bbee6 100644 --- a/src/db/db/dbNetlistSpiceWriter.cc +++ b/src/db/db/dbNetlistSpiceWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistSpiceWriter.h b/src/db/db/dbNetlistSpiceWriter.h index d3dcc35d1..5aad96a32 100644 --- a/src/db/db/dbNetlistSpiceWriter.h +++ b/src/db/db/dbNetlistSpiceWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistUtils.h b/src/db/db/dbNetlistUtils.h index aeb00961e..22f2738a6 100644 --- a/src/db/db/dbNetlistUtils.h +++ b/src/db/db/dbNetlistUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistWriter.cc b/src/db/db/dbNetlistWriter.cc index 103cb8d3e..4db3d284f 100644 --- a/src/db/db/dbNetlistWriter.cc +++ b/src/db/db/dbNetlistWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbNetlistWriter.h b/src/db/db/dbNetlistWriter.h index df1a0edf6..39a6f39e4 100644 --- a/src/db/db/dbNetlistWriter.h +++ b/src/db/db/dbNetlistWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbObject.cc b/src/db/db/dbObject.cc index 89925ea7f..080f60c65 100644 --- a/src/db/db/dbObject.cc +++ b/src/db/db/dbObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbObject.h b/src/db/db/dbObject.h index 40fdcd12b..d53fb1e63 100644 --- a/src/db/db/dbObject.h +++ b/src/db/db/dbObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbObjectTag.h b/src/db/db/dbObjectTag.h index f96b70ca8..4b1f38b3c 100644 --- a/src/db/db/dbObjectTag.h +++ b/src/db/db/dbObjectTag.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbObjectWithProperties.h b/src/db/db/dbObjectWithProperties.h index a9ef7511b..7595f53ac 100644 --- a/src/db/db/dbObjectWithProperties.h +++ b/src/db/db/dbObjectWithProperties.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerEdgePairs.cc b/src/db/db/dbOriginalLayerEdgePairs.cc index 59bb60fc9..6cf73dbba 100644 --- a/src/db/db/dbOriginalLayerEdgePairs.cc +++ b/src/db/db/dbOriginalLayerEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerEdgePairs.h b/src/db/db/dbOriginalLayerEdgePairs.h index 14554450c..809bf13c0 100644 --- a/src/db/db/dbOriginalLayerEdgePairs.h +++ b/src/db/db/dbOriginalLayerEdgePairs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerEdges.cc b/src/db/db/dbOriginalLayerEdges.cc index 358b9615b..0282d77e1 100644 --- a/src/db/db/dbOriginalLayerEdges.cc +++ b/src/db/db/dbOriginalLayerEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerEdges.h b/src/db/db/dbOriginalLayerEdges.h index 0efe743c9..a2456b75d 100644 --- a/src/db/db/dbOriginalLayerEdges.h +++ b/src/db/db/dbOriginalLayerEdges.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerRegion.cc b/src/db/db/dbOriginalLayerRegion.cc index 23a924016..2049fb93f 100644 --- a/src/db/db/dbOriginalLayerRegion.cc +++ b/src/db/db/dbOriginalLayerRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerRegion.h b/src/db/db/dbOriginalLayerRegion.h index 1ea81d966..0653b2d45 100644 --- a/src/db/db/dbOriginalLayerRegion.h +++ b/src/db/db/dbOriginalLayerRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerTexts.cc b/src/db/db/dbOriginalLayerTexts.cc index 5231b3fca..ac87abb99 100644 --- a/src/db/db/dbOriginalLayerTexts.cc +++ b/src/db/db/dbOriginalLayerTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbOriginalLayerTexts.h b/src/db/db/dbOriginalLayerTexts.h index 4ff4d165d..fc79eee5b 100644 --- a/src/db/db/dbOriginalLayerTexts.h +++ b/src/db/db/dbOriginalLayerTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPCellDeclaration.cc b/src/db/db/dbPCellDeclaration.cc index 42515ed0d..05ad1f4c1 100644 --- a/src/db/db/dbPCellDeclaration.cc +++ b/src/db/db/dbPCellDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPCellDeclaration.h b/src/db/db/dbPCellDeclaration.h index 6034afbe2..808a75fe2 100644 --- a/src/db/db/dbPCellDeclaration.h +++ b/src/db/db/dbPCellDeclaration.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -429,6 +429,17 @@ public: return db::Trans (); } + /** + * @brief Returns a value indicating that the PCell wants lazy evaluation + * + * In lazy evaluation mode, the PCell is not immediately updated when a parameter is changed in the UI, but only when it is requested + * to be updated. + */ + virtual bool wants_lazy_evaluation () const + { + return false; + } + /** * @brief Gets the Layout object the PCell is registered inside or NULL if it is not registered */ diff --git a/src/db/db/dbPCellHeader.cc b/src/db/db/dbPCellHeader.cc index 9c9553cb0..62e50f080 100644 --- a/src/db/db/dbPCellHeader.cc +++ b/src/db/db/dbPCellHeader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPCellHeader.h b/src/db/db/dbPCellHeader.h index edfcb42bd..b51c0f7ba 100644 --- a/src/db/db/dbPCellHeader.h +++ b/src/db/db/dbPCellHeader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPCellVariant.cc b/src/db/db/dbPCellVariant.cc index c36114419..3f8f7bdee 100644 --- a/src/db/db/dbPCellVariant.cc +++ b/src/db/db/dbPCellVariant.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -160,10 +160,8 @@ PCellVariant::update (ImportLayerMapping *layer_mapping) m_display_name = header->declaration ()->get_display_name (m_parameters); } catch (tl::Exception &ex) { tl::error << ex.msg (); - if (! layer_ids.empty ()) { - // put error messages into layout as text objects - shapes (layer_ids [0]).insert (db::Text (ex.msg (), db::Trans ())); - } + // put error messages into layout as text objects on error layer + shapes (layout ()->error_layer ()).insert (db::Text (ex.msg (), db::Trans ())); } // produce the shape parameters on the guiding shape layer so they can be edited diff --git a/src/db/db/dbPCellVariant.h b/src/db/db/dbPCellVariant.h index f90a55413..d2f6de959 100644 --- a/src/db/db/dbPCellVariant.h +++ b/src/db/db/dbPCellVariant.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPath.cc b/src/db/db/dbPath.cc index 6e6bf4c00..73ee0e383 100644 --- a/src/db/db/dbPath.cc +++ b/src/db/db/dbPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPath.h b/src/db/db/dbPath.h index edf6ff981..5d24c87d2 100644 --- a/src/db/db/dbPath.h +++ b/src/db/db/dbPath.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPin.cc b/src/db/db/dbPin.cc index 8b7f92ef3..b337067d1 100644 --- a/src/db/db/dbPin.cc +++ b/src/db/db/dbPin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPin.h b/src/db/db/dbPin.h index c95c9966b..7e52f496a 100644 --- a/src/db/db/dbPin.h +++ b/src/db/db/dbPin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPlugin.cc b/src/db/db/dbPlugin.cc index f1b2755c9..a3ee1a46b 100644 --- a/src/db/db/dbPlugin.cc +++ b/src/db/db/dbPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPlugin.h b/src/db/db/dbPlugin.h index f93d617af..d3c9242ed 100644 --- a/src/db/db/dbPlugin.h +++ b/src/db/db/dbPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPoint.cc b/src/db/db/dbPoint.cc index 02d885e79..31249ad0d 100644 --- a/src/db/db/dbPoint.cc +++ b/src/db/db/dbPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPoint.h b/src/db/db/dbPoint.h index c8ab8d1a0..0a6b8882e 100644 --- a/src/db/db/dbPoint.h +++ b/src/db/db/dbPoint.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygon.cc b/src/db/db/dbPolygon.cc index 0650e8b49..cc516b386 100644 --- a/src/db/db/dbPolygon.cc +++ b/src/db/db/dbPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygon.h b/src/db/db/dbPolygon.h index 275ca67b1..1b59dfc5f 100644 --- a/src/db/db/dbPolygon.h +++ b/src/db/db/dbPolygon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygonGenerators.cc b/src/db/db/dbPolygonGenerators.cc index f7e0e4244..9ea81ef3b 100644 --- a/src/db/db/dbPolygonGenerators.cc +++ b/src/db/db/dbPolygonGenerators.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygonGenerators.h b/src/db/db/dbPolygonGenerators.h index cc61c26ac..e76c3cd87 100644 --- a/src/db/db/dbPolygonGenerators.h +++ b/src/db/db/dbPolygonGenerators.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygonTools.cc b/src/db/db/dbPolygonTools.cc index 4c7e22c55..7d49fa7e4 100644 --- a/src/db/db/dbPolygonTools.cc +++ b/src/db/db/dbPolygonTools.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPolygonTools.h b/src/db/db/dbPolygonTools.h index 0a4bc11d6..21f8ce6ab 100644 --- a/src/db/db/dbPolygonTools.h +++ b/src/db/db/dbPolygonTools.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPropertiesRepository.cc b/src/db/db/dbPropertiesRepository.cc index 3b9c7c492..dacb3ef52 100644 --- a/src/db/db/dbPropertiesRepository.cc +++ b/src/db/db/dbPropertiesRepository.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbPropertiesRepository.h b/src/db/db/dbPropertiesRepository.h index bc650c959..ed674dd70 100644 --- a/src/db/db/dbPropertiesRepository.h +++ b/src/db/db/dbPropertiesRepository.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbReader.cc b/src/db/db/dbReader.cc index abf94f0bd..b48026113 100644 --- a/src/db/db/dbReader.cc +++ b/src/db/db/dbReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbReader.h b/src/db/db/dbReader.h index 1ea85124b..d4dd83d9f 100644 --- a/src/db/db/dbReader.h +++ b/src/db/db/dbReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRecursiveInstanceIterator.cc b/src/db/db/dbRecursiveInstanceIterator.cc index c4782ad8d..60577cf67 100644 --- a/src/db/db/dbRecursiveInstanceIterator.cc +++ b/src/db/db/dbRecursiveInstanceIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -83,7 +83,6 @@ RecursiveInstanceIterator &RecursiveInstanceIterator::operator= (const Recursive RecursiveInstanceIterator::RecursiveInstanceIterator () { // anything. Not necessary reasonable. - mp_layout = 0; mp_top_cell = 0; mp_cell = 0; m_overlapping = false; @@ -97,7 +96,7 @@ RecursiveInstanceIterator::RecursiveInstanceIterator () RecursiveInstanceIterator::RecursiveInstanceIterator (const layout_type &layout, const cell_type &cell, const box_type ®ion, bool overlapping) : m_box_convert (layout) { - mp_layout = &layout; + mp_layout = const_cast (&layout); mp_top_cell = &cell; m_overlapping = overlapping; init (); @@ -107,7 +106,7 @@ RecursiveInstanceIterator::RecursiveInstanceIterator (const layout_type &layout, RecursiveInstanceIterator::RecursiveInstanceIterator (const layout_type &layout, const cell_type &cell, const region_type ®ion, bool overlapping) : m_box_convert (layout) { - mp_layout = &layout; + mp_layout = const_cast (&layout); mp_top_cell = &cell; m_overlapping = overlapping; init (); @@ -117,7 +116,7 @@ RecursiveInstanceIterator::RecursiveInstanceIterator (const layout_type &layout, RecursiveInstanceIterator::RecursiveInstanceIterator (const layout_type &layout, const cell_type &cell) : m_box_convert (layout) { - mp_layout = &layout; + mp_layout = const_cast (&layout); mp_top_cell = &cell; m_overlapping = false; init (); @@ -272,6 +271,7 @@ RecursiveInstanceIterator::validate (RecursiveInstanceReceiver *receiver) const m_inst_array_iterators.clear (); m_cells.clear (); m_trans = cplx_trans_type (); + m_target_tree.clear (); m_local_region_stack.clear (); m_local_region_stack.push_back (m_region); @@ -300,10 +300,9 @@ RecursiveInstanceIterator::validate (RecursiveInstanceReceiver *receiver) const } - if (mp_top_cell) { + if (mp_top_cell && mp_layout) { if (! m_all_targets) { - m_target_tree.clear (); mp_top_cell->collect_called_cells (m_target_tree); } @@ -501,6 +500,8 @@ RecursiveInstanceIterator::next_instance (RecursiveInstanceReceiver *receiver) c void RecursiveInstanceIterator::down (RecursiveInstanceReceiver *receiver) const { + tl_assert (mp_layout); + m_trans_stack.push_back (m_trans); m_cells.push_back (mp_cell); diff --git a/src/db/db/dbRecursiveInstanceIterator.h b/src/db/db/dbRecursiveInstanceIterator.h index 8b2eabc50..29fafcdda 100644 --- a/src/db/db/dbRecursiveInstanceIterator.h +++ b/src/db/db/dbRecursiveInstanceIterator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,7 @@ #include "dbLayout.h" #include "dbInstElement.h" #include "tlAssert.h" +#include "tlObject.h" #include #include @@ -180,7 +181,7 @@ public: */ const layout_type *layout () const { - return mp_layout; + return mp_layout.get (); } /** @@ -544,7 +545,7 @@ private: std::set m_targets; bool m_all_targets; - const layout_type *mp_layout; + tl::weak_ptr mp_layout; const cell_type *mp_top_cell; box_type m_region; diff --git a/src/db/db/dbRecursiveShapeIterator.cc b/src/db/db/dbRecursiveShapeIterator.cc index df95d9201..ee23140ac 100644 --- a/src/db/db/dbRecursiveShapeIterator.cc +++ b/src/db/db/dbRecursiveShapeIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -93,7 +93,6 @@ RecursiveShapeIterator::RecursiveShapeIterator () // anything. Not necessary reasonable. m_layer = 0; m_has_layers = false; - mp_layout = 0; mp_shapes = 0; mp_top_cell = 0; mp_cell = 0; @@ -113,7 +112,6 @@ RecursiveShapeIterator::RecursiveShapeIterator (const shapes_type &shapes) { m_layer = 0; m_has_layers = false; - mp_layout = 0; mp_shapes = &shapes; mp_top_cell = 0; m_overlapping = false; @@ -125,7 +123,6 @@ RecursiveShapeIterator::RecursiveShapeIterator (const shapes_type &shapes, const { m_layer = 0; m_has_layers = false; - mp_layout = 0; mp_shapes = &shapes; mp_top_cell = 0; m_overlapping = overlapping; @@ -137,7 +134,6 @@ RecursiveShapeIterator::RecursiveShapeIterator (const shapes_type &shapes, const { m_layer = 0; m_has_layers = false; - mp_layout = 0; mp_shapes = &shapes; mp_top_cell = 0; m_overlapping = overlapping; @@ -150,7 +146,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const { m_layer = layer; m_has_layers = false; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -163,7 +159,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const { m_layer = layer; m_has_layers = false; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -176,7 +172,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const { m_layer = layer; m_has_layers = false; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = false; @@ -190,7 +186,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers = layers; m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -204,7 +200,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers = layers; m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -218,7 +214,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers = layers; m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = false; @@ -232,7 +228,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers.insert (m_layers.end (), layers.begin (), layers.end ()); m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -246,7 +242,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers.insert (m_layers.end (), layers.begin (), layers.end ()); m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = overlapping; @@ -260,7 +256,7 @@ RecursiveShapeIterator::RecursiveShapeIterator (const layout_type &layout, const m_layer = 0; m_layers.insert (m_layers.end (), layers.begin (), layers.end ()); m_has_layers = true; - mp_layout = &layout; + mp_layout.reset (const_cast (&layout)); mp_shapes = 0; mp_top_cell = &cell; m_overlapping = false; @@ -691,6 +687,8 @@ RecursiveShapeIterator::next_shape (RecursiveShapeReceiver *receiver) const if (! m_inst.at_end () && int (m_inst_iterators.size ()) < m_max_depth) { + tl_assert (mp_layout); + // determine whether the cell is empty with respect to the layers specified bool is_empty = false; if (! m_has_layers) { @@ -754,6 +752,8 @@ RecursiveShapeIterator::next_shape (RecursiveShapeReceiver *receiver) const void RecursiveShapeIterator::down (RecursiveShapeReceiver *receiver) const { + tl_assert (mp_layout); + m_trans_stack.push_back (m_trans); m_cells.push_back (mp_cell); diff --git a/src/db/db/dbRecursiveShapeIterator.h b/src/db/db/dbRecursiveShapeIterator.h index ee70e8538..330563c20 100644 --- a/src/db/db/dbRecursiveShapeIterator.h +++ b/src/db/db/dbRecursiveShapeIterator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,7 @@ #include "dbLayout.h" #include "dbInstElement.h" #include "tlAssert.h" +#include "tlObject.h" #include #include @@ -306,7 +307,7 @@ public: */ const layout_type *layout () const { - return mp_layout; + return mp_layout.get (); } /** @@ -765,7 +766,7 @@ private: std::set m_start, m_stop; cplx_trans_type m_global_trans; - const layout_type *mp_layout; + tl::weak_ptr mp_layout; const cell_type *mp_top_cell; const shapes_type *mp_shapes; diff --git a/src/db/db/dbRegion.cc b/src/db/db/dbRegion.cc index d01d37c2b..a3a516f19 100644 --- a/src/db/db/dbRegion.cc +++ b/src/db/db/dbRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegion.h b/src/db/db/dbRegion.h index 5b40a6d69..af8671d46 100644 --- a/src/db/db/dbRegion.h +++ b/src/db/db/dbRegion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionCheckUtils.cc b/src/db/db/dbRegionCheckUtils.cc index db3434914..c8183fa46 100644 --- a/src/db/db/dbRegionCheckUtils.cc +++ b/src/db/db/dbRegionCheckUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionCheckUtils.h b/src/db/db/dbRegionCheckUtils.h index 08297468d..6c19ed0c3 100644 --- a/src/db/db/dbRegionCheckUtils.h +++ b/src/db/db/dbRegionCheckUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionDelegate.cc b/src/db/db/dbRegionDelegate.cc index 5f9217980..5f53d88e5 100644 --- a/src/db/db/dbRegionDelegate.cc +++ b/src/db/db/dbRegionDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionDelegate.h b/src/db/db/dbRegionDelegate.h index 3924f7ab4..985ba48e1 100644 --- a/src/db/db/dbRegionDelegate.h +++ b/src/db/db/dbRegionDelegate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionLocalOperations.cc b/src/db/db/dbRegionLocalOperations.cc index 6c14bc5d1..c2a399411 100644 --- a/src/db/db/dbRegionLocalOperations.cc +++ b/src/db/db/dbRegionLocalOperations.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionLocalOperations.h b/src/db/db/dbRegionLocalOperations.h index 40ca85057..d5734850f 100644 --- a/src/db/db/dbRegionLocalOperations.h +++ b/src/db/db/dbRegionLocalOperations.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionProcessors.cc b/src/db/db/dbRegionProcessors.cc index 89c90d84c..9a46d0012 100644 --- a/src/db/db/dbRegionProcessors.cc +++ b/src/db/db/dbRegionProcessors.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionProcessors.h b/src/db/db/dbRegionProcessors.h index 8cf502555..e1a7cf94d 100644 --- a/src/db/db/dbRegionProcessors.h +++ b/src/db/db/dbRegionProcessors.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionUtils.cc b/src/db/db/dbRegionUtils.cc index 4c8acd690..da9817070 100644 --- a/src/db/db/dbRegionUtils.cc +++ b/src/db/db/dbRegionUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbRegionUtils.h b/src/db/db/dbRegionUtils.h index 61eb467bf..87e3c7e18 100644 --- a/src/db/db/dbRegionUtils.h +++ b/src/db/db/dbRegionUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbSaveLayoutOptions.cc b/src/db/db/dbSaveLayoutOptions.cc index a27f3310e..b11a362af 100644 --- a/src/db/db/dbSaveLayoutOptions.cc +++ b/src/db/db/dbSaveLayoutOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbSaveLayoutOptions.h b/src/db/db/dbSaveLayoutOptions.h index 9c39b49c6..3b082956d 100644 --- a/src/db/db/dbSaveLayoutOptions.h +++ b/src/db/db/dbSaveLayoutOptions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShape.cc b/src/db/db/dbShape.cc index cf575e3d6..dd4c126d3 100644 --- a/src/db/db/dbShape.cc +++ b/src/db/db/dbShape.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShape.h b/src/db/db/dbShape.h index 22d6680e8..8bad9ade7 100644 --- a/src/db/db/dbShape.h +++ b/src/db/db/dbShape.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeCollection.h b/src/db/db/dbShapeCollection.h index bec5a6663..e4f5e034d 100644 --- a/src/db/db/dbShapeCollection.h +++ b/src/db/db/dbShapeCollection.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeCollectionUtils.cc b/src/db/db/dbShapeCollectionUtils.cc index 8d4812f21..acc283f06 100644 --- a/src/db/db/dbShapeCollectionUtils.cc +++ b/src/db/db/dbShapeCollectionUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeCollectionUtils.h b/src/db/db/dbShapeCollectionUtils.h index 94cfe61f7..c43d346f4 100644 --- a/src/db/db/dbShapeCollectionUtils.h +++ b/src/db/db/dbShapeCollectionUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeFlags.cc b/src/db/db/dbShapeFlags.cc index b79989d48..5e7d2c67a 100644 --- a/src/db/db/dbShapeFlags.cc +++ b/src/db/db/dbShapeFlags.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeFlags.h b/src/db/db/dbShapeFlags.h index b918cd0ff..050832acd 100644 --- a/src/db/db/dbShapeFlags.h +++ b/src/db/db/dbShapeFlags.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeIterator.cc b/src/db/db/dbShapeIterator.cc index 4d222cceb..589f804ad 100644 --- a/src/db/db/dbShapeIterator.cc +++ b/src/db/db/dbShapeIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeProcessor.cc b/src/db/db/dbShapeProcessor.cc index f50bd5f58..d6854f5b0 100644 --- a/src/db/db/dbShapeProcessor.cc +++ b/src/db/db/dbShapeProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeProcessor.h b/src/db/db/dbShapeProcessor.h index 6b2fe3a58..8030054e4 100644 --- a/src/db/db/dbShapeProcessor.h +++ b/src/db/db/dbShapeProcessor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapeRepository.h b/src/db/db/dbShapeRepository.h index 6da655bad..25cdc799b 100644 --- a/src/db/db/dbShapeRepository.h +++ b/src/db/db/dbShapeRepository.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapes.cc b/src/db/db/dbShapes.cc index 9a1fdcfbc..250918349 100644 --- a/src/db/db/dbShapes.cc +++ b/src/db/db/dbShapes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -839,27 +839,27 @@ Shapes::transform (const Shapes::shape_type &ref, const Trans &t) case shape_type::Polygon: { shape_type::polygon_type p (ref.polygon ()); - p.transform (t); + p.transform (t, false /* don't compress */); return replace_member_with_props (shape_type::polygon_type::tag (), ref, p); } case shape_type::PolygonRef: { shape_type::polygon_type p; ref.polygon (p); - p.transform (t); + p.transform (t, false /* don't compress */); return replace_member_with_props (shape_type::polygon_ref_type::tag (), ref, p); } case shape_type::SimplePolygon: { shape_type::simple_polygon_type p (ref.simple_polygon ()); - p.transform (t); + p.transform (t, false /* don't compress */); return replace_member_with_props (shape_type::simple_polygon_type::tag (), ref, p); } case shape_type::SimplePolygonRef: { shape_type::simple_polygon_type p; ref.simple_polygon (p); - p.transform (t); + p.transform (t, false /* don't compress */); return replace_member_with_props (shape_type::simple_polygon_ref_type::tag (), ref, p); } case shape_type::Edge: @@ -1016,15 +1016,12 @@ Shapes::clear () } } -void Shapes::update_bbox () +void Shapes::reset_bbox_dirty () { - for (tl::vector::const_iterator l = m_layers.begin (); l != m_layers.end (); ++l) { - (*l)->update_bbox (); - } set_dirty (false); } -void Shapes::update () +void Shapes::update () { for (tl::vector::const_iterator l = m_layers.begin (); l != m_layers.end (); ++l) { (*l)->sort (); @@ -1039,7 +1036,7 @@ bool Shapes::is_bbox_dirty () const return true; } for (tl::vector::const_iterator l = m_layers.begin (); l != m_layers.end (); ++l) { - if ((*l)->is_bbox_dirty ()) { + if ((*l)->is_tree_dirty ()) { return true; } } @@ -1050,6 +1047,9 @@ Shapes::box_type Shapes::bbox () const { box_type box; for (tl::vector::const_iterator l = m_layers.begin (); l != m_layers.end (); ++l) { + if ((*l)->is_bbox_dirty ()) { + (*l)->update_bbox (); + } box += (*l)->bbox (); } return box; diff --git a/src/db/db/dbShapes.h b/src/db/db/dbShapes.h index 96cd0f41a..f09581580 100644 --- a/src/db/db/dbShapes.h +++ b/src/db/db/dbShapes.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -485,6 +485,7 @@ public: virtual bool is_bbox_dirty () const = 0; virtual size_t size () const = 0; virtual bool empty () const = 0; + virtual bool is_tree_dirty () const = 0; virtual void sort () = 0; virtual LayerBase *clone () const = 0; virtual bool is_same_type (const LayerBase *other) const = 0; @@ -1177,28 +1178,20 @@ public: shape_type transform (const shape_type &ref, const Trans &t); /** - * @brief updates the bbox and sorts if necessary - * - * This is equivalent to calling sort () and update_bbox () in this order. + * @brief Updates the quad trees (sort ()) and resets the dirty flag */ void update (); /** - * @brief updates the bbox - * - * Updating the bbox is required after insert operations - * and is performed only as far as necessary. - */ - void update_bbox (); - - /** - * @brief check if the bounding box needs update - * - * Returns true if the bounding box of the shapes has changed and - * requires an update. + * @brief Returns a value indicating whether the shape container is modified and needs update */ bool is_bbox_dirty () const; + /** + * @brief Resets the "dirty bbox" condition (see is_bbox_dirty) + */ + void reset_bbox_dirty (); + /** * @brief Retrieve the bbox * diff --git a/src/db/db/dbShapes2.cc b/src/db/db/dbShapes2.cc index 435088e56..82e1a8cf8 100644 --- a/src/db/db/dbShapes2.cc +++ b/src/db/db/dbShapes2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbShapes2.h b/src/db/db/dbShapes2.h index 9f66bf33b..fd745ba04 100644 --- a/src/db/db/dbShapes2.h +++ b/src/db/db/dbShapes2.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -126,6 +126,11 @@ public: return m_layer.is_bbox_dirty (); } + virtual bool is_tree_dirty () const + { + return m_layer.is_tree_dirty (); + } + size_t size () const { return m_layer.size (); diff --git a/src/db/db/dbShapes3.cc b/src/db/db/dbShapes3.cc index cd57844b8..7a86bdde5 100644 --- a/src/db/db/dbShapes3.cc +++ b/src/db/db/dbShapes3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStatic.cc b/src/db/db/dbStatic.cc index 293cbcce9..bc4b527ab 100644 --- a/src/db/db/dbStatic.cc +++ b/src/db/db/dbStatic.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStatic.h b/src/db/db/dbStatic.h index f860a95be..8d5d89e30 100644 --- a/src/db/db/dbStatic.h +++ b/src/db/db/dbStatic.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStream.cc b/src/db/db/dbStream.cc index 213ef8629..347e95f63 100644 --- a/src/db/db/dbStream.cc +++ b/src/db/db/dbStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStream.h b/src/db/db/dbStream.h index d3d034c91..bfa3abce8 100644 --- a/src/db/db/dbStream.h +++ b/src/db/db/dbStream.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStreamLayers.cc b/src/db/db/dbStreamLayers.cc index a2e53eb09..c29945d1f 100644 --- a/src/db/db/dbStreamLayers.cc +++ b/src/db/db/dbStreamLayers.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbStreamLayers.h b/src/db/db/dbStreamLayers.h index 1422afc40..6baf6ef36 100644 --- a/src/db/db/dbStreamLayers.h +++ b/src/db/db/dbStreamLayers.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbSubCircuit.cc b/src/db/db/dbSubCircuit.cc index 8e6c8dbe2..72a37221b 100644 --- a/src/db/db/dbSubCircuit.cc +++ b/src/db/db/dbSubCircuit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbSubCircuit.h b/src/db/db/dbSubCircuit.h index af9e561c7..bad008982 100644 --- a/src/db/db/dbSubCircuit.h +++ b/src/db/db/dbSubCircuit.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTechnology.cc b/src/db/db/dbTechnology.cc index 8ad9a3a86..8e8dcb2d3 100644 --- a/src/db/db/dbTechnology.cc +++ b/src/db/db/dbTechnology.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTechnology.h b/src/db/db/dbTechnology.h index 050decc7c..14a38858f 100644 --- a/src/db/db/dbTechnology.h +++ b/src/db/db/dbTechnology.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTestSupport.cc b/src/db/db/dbTestSupport.cc index ad0cf1ab9..3fa61ae56 100644 --- a/src/db/db/dbTestSupport.cc +++ b/src/db/db/dbTestSupport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -62,10 +62,10 @@ void compare_layouts (tl::TestBase *_this, const db::Layout &layout, const std:: std::string tmp_file; db::SaveLayoutOptions options; - if (norm == WriteGDS2) { + if ((norm & db::NormFileMask) == WriteGDS2) { tmp_file = _this->tmp_file (tl::sprintf ("tmp_%x.gds", hash)); options.set_format ("GDS2"); - } else if (norm == WriteOAS) { + } else if ((norm & db::NormFileMask) == WriteOAS) { tmp_file = _this->tmp_file (tl::sprintf ("tmp_%x.oas", hash)); options.set_format ("OASIS"); } else { @@ -74,13 +74,17 @@ void compare_layouts (tl::TestBase *_this, const db::Layout &layout, const std:: options.set_format_from_filename (tmp_file); } + if ((norm & NoContext) != 0) { + options.set_write_context_info (false); + } + { tl::OutputStream stream (tmp_file.c_str ()); db::Writer writer (options); writer.write (const_cast (layout), stream); } - if (norm == WriteGDS2 || norm == WriteOAS) { + if ((norm & db::NormFileMask) == WriteGDS2 || (norm & db::NormFileMask) == WriteOAS) { // read all layers from the original layout, so the layer table is the same for (db::Layout::layer_iterator l = layout.begin_layers (); l != layout.end_layers (); ++l) { @@ -133,8 +137,8 @@ void compare_layouts (tl::TestBase *_this, const db::Layout &layout, const std:: equal = db::compare_layouts (*subject, layout_au, (n > 0 ? db::layout_diff::f_silent : db::layout_diff::f_verbose) - | (norm == AsPolygons ? db::layout_diff::f_boxes_as_polygons + db::layout_diff::f_paths_as_polygons : 0) - | db::layout_diff::f_flatten_array_insts + | ((norm & AsPolygons) != 0 ? db::layout_diff::f_boxes_as_polygons + db::layout_diff::f_paths_as_polygons : 0) + | ((norm & WithArrays) != 0 ? 0 : db::layout_diff::f_flatten_array_insts) /*| db::layout_diff::f_no_text_details | db::layout_diff::f_no_text_orientation*/ , tolerance, 100 /*max diff lines*/); if (equal && n > 0) { @@ -295,7 +299,7 @@ private: } }; -void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match) +void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match, bool with_names) { db::Netlist au_nl; for (db::Netlist::const_device_class_iterator d = netlist.begin_device_classes (); d != netlist.end_device_classes (); ++d) { @@ -304,12 +308,13 @@ void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, au_nl.from_string (au_nl_string); - compare_netlist (_this, netlist, au_nl, exact_parameter_match); + compare_netlist (_this, netlist, au_nl, exact_parameter_match, with_names); } -void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match) +void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match, bool with_names) { db::NetlistComparer comp (0); + comp.set_dont_consider_net_names (! with_names); db::Netlist netlist_copy (netlist); @@ -326,6 +331,7 @@ void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, // Compare once again - this time with logger CompareLogger logger; db::NetlistComparer comp (&logger); + comp.set_dont_consider_net_names (! with_names); comp.compare (&netlist_copy, &netlist_au); } } diff --git a/src/db/db/dbTestSupport.h b/src/db/db/dbTestSupport.h index aeecab118..7eb398d67 100644 --- a/src/db/db/dbTestSupport.h +++ b/src/db/db/dbTestSupport.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,10 +51,13 @@ class Texts; */ enum NormalizationMode { - NoNormalization, // no normalization - take the test subject as it is - AsPolygons, // paths and boxes are treated as polygons - WriteGDS2, // normalize subject by writing to GDS2 and reading back - WriteOAS // normalize subject by writing to OASIS and reading back + NoNormalization = 0, // no normalization - take the test subject as it is + WriteGDS2 = 1, // normalize subject by writing to GDS2 and reading back + WriteOAS = 2, // normalize subject by writing to OASIS and reading back + NormFileMask = 7, // bits the extract for file mode + NoContext = 8, // write tmp file without context + AsPolygons = 16, // paths and boxes are treated as polygons + WithArrays = 32 // do not flatten arrays }; /** @@ -82,12 +85,12 @@ void DB_PUBLIC compare_layouts (tl::TestBase *_this, const db::Layout &layout, c /** * @brief Compares a netlist against a string */ -void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match = false); +void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const std::string &au_nl_string, bool exact_parameter_match = false, bool with_names = false); /** * @brief Compares a netlist against another netlist */ -void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match = false); +void DB_PUBLIC compare_netlist (tl::TestBase *_this, const db::Netlist &netlist, const db::Netlist &netlist_au, bool exact_parameter_match = false, bool with_names = false); /** * @brief Convenient compare of region vs. string diff --git a/src/db/db/dbText.cc b/src/db/db/dbText.cc index 1eb85a6fa..f53e99627 100644 --- a/src/db/db/dbText.cc +++ b/src/db/db/dbText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbText.h b/src/db/db/dbText.h index 03361eba8..13ff7ff7f 100644 --- a/src/db/db/dbText.h +++ b/src/db/db/dbText.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextWriter.cc b/src/db/db/dbTextWriter.cc index f067a18ca..07721c4e8 100644 --- a/src/db/db/dbTextWriter.cc +++ b/src/db/db/dbTextWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextWriter.h b/src/db/db/dbTextWriter.h index be0a01eaa..831546a64 100644 --- a/src/db/db/dbTextWriter.h +++ b/src/db/db/dbTextWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTexts.cc b/src/db/db/dbTexts.cc index 8bf367a23..b6d685903 100644 --- a/src/db/db/dbTexts.cc +++ b/src/db/db/dbTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTexts.h b/src/db/db/dbTexts.h index d45e28256..aea303390 100644 --- a/src/db/db/dbTexts.h +++ b/src/db/db/dbTexts.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextsDelegate.cc b/src/db/db/dbTextsDelegate.cc index 63c2c3559..79778cb1a 100644 --- a/src/db/db/dbTextsDelegate.cc +++ b/src/db/db/dbTextsDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextsDelegate.h b/src/db/db/dbTextsDelegate.h index b6f191ecf..924632223 100644 --- a/src/db/db/dbTextsDelegate.h +++ b/src/db/db/dbTextsDelegate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextsUtils.cc b/src/db/db/dbTextsUtils.cc index 210a61952..9901c80b9 100644 --- a/src/db/db/dbTextsUtils.cc +++ b/src/db/db/dbTextsUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTextsUtils.h b/src/db/db/dbTextsUtils.h index 010446e0e..35790abc2 100644 --- a/src/db/db/dbTextsUtils.h +++ b/src/db/db/dbTextsUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTilingProcessor.cc b/src/db/db/dbTilingProcessor.cc index cb85ea1ab..3fcc9662b 100644 --- a/src/db/db/dbTilingProcessor.cc +++ b/src/db/db/dbTilingProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTilingProcessor.h b/src/db/db/dbTilingProcessor.h index 29f39aa90..862946fe4 100644 --- a/src/db/db/dbTilingProcessor.h +++ b/src/db/db/dbTilingProcessor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTrans.cc b/src/db/db/dbTrans.cc index b5906d90d..5479b194c 100644 --- a/src/db/db/dbTrans.cc +++ b/src/db/db/dbTrans.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTrans.h b/src/db/db/dbTrans.h index f20438b6e..422f87329 100644 --- a/src/db/db/dbTrans.h +++ b/src/db/db/dbTrans.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbTypes.h b/src/db/db/dbTypes.h index b64dca6ef..2337e3d54 100644 --- a/src/db/db/dbTypes.h +++ b/src/db/db/dbTypes.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbUserObject.cc b/src/db/db/dbUserObject.cc index a4a235a5f..f3d922471 100644 --- a/src/db/db/dbUserObject.cc +++ b/src/db/db/dbUserObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbUserObject.h b/src/db/db/dbUserObject.h index c3eb90b13..9a48328c1 100644 --- a/src/db/db/dbUserObject.h +++ b/src/db/db/dbUserObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbUtils.cc b/src/db/db/dbUtils.cc index 083e75973..73a83b7bc 100644 --- a/src/db/db/dbUtils.cc +++ b/src/db/db/dbUtils.cc @@ -1,7 +1,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbUtils.h b/src/db/db/dbUtils.h index de05fe260..0b2d1579d 100644 --- a/src/db/db/dbUtils.h +++ b/src/db/db/dbUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbVariableWidthPath.cc b/src/db/db/dbVariableWidthPath.cc index 6eac11370..2a8a62bea 100644 --- a/src/db/db/dbVariableWidthPath.cc +++ b/src/db/db/dbVariableWidthPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbVariableWidthPath.h b/src/db/db/dbVariableWidthPath.h index bc504e8e5..3364577a0 100644 --- a/src/db/db/dbVariableWidthPath.h +++ b/src/db/db/dbVariableWidthPath.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbVector.cc b/src/db/db/dbVector.cc index 4fa4e3450..aa122e866 100644 --- a/src/db/db/dbVector.cc +++ b/src/db/db/dbVector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbVector.h b/src/db/db/dbVector.h index d2b7642ec..a0dc0ec3b 100644 --- a/src/db/db/dbVector.h +++ b/src/db/db/dbVector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbWriter.cc b/src/db/db/dbWriter.cc index 0e0f5f9c4..3c04305d6 100644 --- a/src/db/db/dbWriter.cc +++ b/src/db/db/dbWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbWriter.h b/src/db/db/dbWriter.h index 0c9ca77c4..defedcffa 100644 --- a/src/db/db/dbWriter.h +++ b/src/db/db/dbWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbWriterTools.cc b/src/db/db/dbWriterTools.cc index 4236d0427..7d2502975 100644 --- a/src/db/db/dbWriterTools.cc +++ b/src/db/db/dbWriterTools.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/dbWriterTools.h b/src/db/db/dbWriterTools.h index ccf81d352..a33642bb3 100644 --- a/src/db/db/dbWriterTools.h +++ b/src/db/db/dbWriterTools.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbBox.cc b/src/db/db/gsiDeclDbBox.cc index e4d2dda8a..42a6789a2 100644 --- a/src/db/db/gsiDeclDbBox.cc +++ b/src/db/db/gsiDeclDbBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,6 +49,11 @@ struct box_defs return c.release (); } + static C world () + { + return C::world (); + } + static C *new_v () { return new C (); @@ -132,6 +137,22 @@ struct box_defs "are not provided in the correct order (i.e. right < left), these are " "swapped." ) + + method ("world", &world, + "@brief Gets the 'world' box\n" + "The world box is the biggest box that can be represented. So it is basically 'all'. The " + "world box behaves neutral on intersections for example. In other operations such as displacement or transformations, " + "the world box may render unexpected results because of coordinate overflow.\n" + "\n" + "The world box can be used\n" + "@ul\n" + " @li for comparison ('==', '!=', '<') @/li\n" + " @li in union and intersection ('+' and '&') @/li\n" + " @li in relations (\\contains?, \\overlaps?, \\touches?) @/li\n" + " @li as 'all' argument in region queries @/li\n" + "@/ul\n" + "\n" + "This method has been introduced in version 0.28." + ) + method ("p1", &C::p1, "@brief Gets the lower left point of the box\n" ) + diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index fce707adf..b0eaf1704 100644 --- a/src/db/db/gsiDeclDbCell.cc +++ b/src/db/db/gsiDeclDbCell.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,6 +68,12 @@ struct cell_inst_array_defs return new C (); } + static C * + new_cell_inst_vector (db::cell_index_type ci, const vector_type &v) + { + return new C (db::CellInst (ci), trans_type (v)); + } + static C * new_cell_inst (db::cell_index_type ci, const trans_type &t) { @@ -84,6 +90,13 @@ struct cell_inst_array_defs } } + static C * + new_cell_inst_array_vector (db::cell_index_type ci, const vector_type &v, + const vector_type &a, const vector_type &b, unsigned int na, unsigned int nb) + { + return new C (db::CellInst (ci), trans_type (v), a, b, na, nb); + } + static C * new_cell_inst_array (db::cell_index_type ci, const trans_type &t, const vector_type &a, const vector_type &b, unsigned int na, unsigned int nb) @@ -397,6 +410,12 @@ struct cell_inst_array_defs "@param cell_index The cell to instantiate\n" "@param trans The transformation by which to instantiate the cell\n" ) + + gsi::constructor ("new", &new_cell_inst_vector, gsi::arg ("cell_index"), gsi::arg ("disp"), + "@brief Creates a single cell instance\n" + "@param cell_index The cell to instantiate\n" + "@param disp The displacement\n" + "This convenience initializer has been introduced in version 0.28." + ) + gsi::constructor ("new", &new_cell_inst_cplx, gsi::arg ("cell_index"), gsi::arg ("trans"), "@brief Creates a single cell instance with a complex transformation\n" "@param cell_index The cell to instantiate\n" @@ -415,6 +434,17 @@ struct cell_inst_array_defs "Starting with version 0.25 the displacements are of vector type." ) ) + + gsi::constructor ("new", &new_cell_inst_array_vector, gsi::arg ("cell_index"), gsi::arg ("disp"), gsi::arg ("a"), gsi::arg ("b"), gsi::arg ("na"), gsi::arg ("nb"), + "@brief Creates a single cell instance\n" + "@param cell_index The cell to instantiate\n" + "@param disp The basic displacement of the first instance\n" + "@param a The displacement vector of the array in the 'a' axis\n" + "@param b The displacement vector of the array in the 'b' axis\n" + "@param na The number of placements in the 'a' axis\n" + "@param nb The number of placements in the 'b' axis\n" + "\n" + "This convenience initializer has been introduced in version 0.28." + ) + gsi::constructor ("new", &new_cell_inst_array_cplx, gsi::arg ("cell_index"), gsi::arg ("trans"), gsi::arg ("a"), gsi::arg ("b"), gsi::arg ("na"), gsi::arg ("nb"), "@brief Creates a single cell instance with a complex transformation\n" "@param cell_index The cell to instantiate\n" @@ -1510,12 +1540,23 @@ static db::Cell *dup_cell (const db::Cell *cell) return new_cell; } +static const char *cell_name (const db::Cell *cell) +{ + if (cell->layout ()) { + return cell->layout ()->cell_name (cell->cell_index ()); + } else { + return ""; + } +} + static db::Point default_origin; Class decl_Cell ("db", "Cell", - gsi::method ("name", &db::Cell::get_basic_name, + gsi::method_ext ("name", &cell_name, "@brief Gets the cell's name\n" "\n" + "This may be an internal name for proxy cells. See \\basic_name for the formal name (PCell name or library cell name).\n" + "\n" "This method has been introduced in version 0.22.\n" ) + gsi::method ("name=", &db::Cell::set_name, gsi::arg ("name"), @@ -2891,10 +2932,14 @@ Class decl_Cell ("db", "Cell", "This method has been introduced in version 0.22.\n" ) + gsi::method_ext ("refresh", &refresh, - "@brief Refreshes the cell\n" + "@brief Refreshes a proxy cell\n" "\n" - "If the cell is a PCell or a proxy to a PCell in a library, this method recomputes the PCell.\n" + "If the cell is a PCell variant, this method recomputes the PCell.\n" "If the cell is a library proxy, this method reloads the information from the library, but not the library itself.\n" + "Note that if the cell is an PCell variant for a PCell coming from a library, this method will not recompute the PCell. " + "Instead, you can use \\Library#refresh to recompute all PCells from that library.\n" + "\n" + "You can use \\Layout#refresh to refresh all cells from a layout.\n" "\n" "This method has been introduced in version 0.22.\n" ) + diff --git a/src/db/db/gsiDeclDbCellMapping.cc b/src/db/db/gsiDeclDbCellMapping.cc index fc5ca8468..db187edf2 100644 --- a/src/db/db/gsiDeclDbCellMapping.cc +++ b/src/db/db/gsiDeclDbCellMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -90,7 +90,7 @@ Class decl_CellMapping ("db", "CellMapping", "\n" "The cell mapping is created for cells from cell_indexes_b to cell from cell_indexes_a in the respective layouts. " "This method clears the mapping and creates one for each cell pair from cell_indexes_b vs. cell_indexes_a. " - "If used for \\Layout#copy_tree or \\Layout#move_tree, this cell mapping will essentially " + "If used for \\Layout#copy_tree_shapes or \\Layout#move_tree_shapes, this cell mapping will essentially " "flatten the source cells in the target layout.\n" "\n" "This method is equivalent to \\clear, followed by \\map(cell_index_a, cell_index_b) for each cell pair.\n" diff --git a/src/db/db/gsiDeclDbCommonStreamOptions.cc b/src/db/db/gsiDeclDbCommonStreamOptions.cc index 1d5f40eb0..16e84db3c 100644 --- a/src/db/db/gsiDeclDbCommonStreamOptions.cc +++ b/src/db/db/gsiDeclDbCommonStreamOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbCompoundOperation.cc b/src/db/db/gsiDeclDbCompoundOperation.cc index 9fbdf518f..8d6ed008e 100644 --- a/src/db/db/gsiDeclDbCompoundOperation.cc +++ b/src/db/db/gsiDeclDbCompoundOperation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbDeepShapeStore.cc b/src/db/db/gsiDeclDbDeepShapeStore.cc index 2b206be31..eae253f62 100644 --- a/src/db/db/gsiDeclDbDeepShapeStore.cc +++ b/src/db/db/gsiDeclDbDeepShapeStore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbEdge.cc b/src/db/db/gsiDeclDbEdge.cc index 12b3aacd2..a84f180d4 100644 --- a/src/db/db/gsiDeclDbEdge.cc +++ b/src/db/db/gsiDeclDbEdge.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbEdgePair.cc b/src/db/db/gsiDeclDbEdgePair.cc index b26862385..a174dd3da 100644 --- a/src/db/db/gsiDeclDbEdgePair.cc +++ b/src/db/db/gsiDeclDbEdgePair.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbEdgePairs.cc b/src/db/db/gsiDeclDbEdgePairs.cc index fa41472e7..89516e8fa 100644 --- a/src/db/db/gsiDeclDbEdgePairs.cc +++ b/src/db/db/gsiDeclDbEdgePairs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbEdgeProcessor.cc b/src/db/db/gsiDeclDbEdgeProcessor.cc index 06023ddc4..a0b1422dd 100644 --- a/src/db/db/gsiDeclDbEdgeProcessor.cc +++ b/src/db/db/gsiDeclDbEdgeProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbEdges.cc b/src/db/db/gsiDeclDbEdges.cc index e302557cf..dc1a9444d 100644 --- a/src/db/db/gsiDeclDbEdges.cc +++ b/src/db/db/gsiDeclDbEdges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbGlyphs.cc b/src/db/db/gsiDeclDbGlyphs.cc index 4a74bf030..95f2fd02e 100644 --- a/src/db/db/gsiDeclDbGlyphs.cc +++ b/src/db/db/gsiDeclDbGlyphs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbHelpers.h b/src/db/db/gsiDeclDbHelpers.h index f6b4bfa79..deedd55e5 100644 --- a/src/db/db/gsiDeclDbHelpers.h +++ b/src/db/db/gsiDeclDbHelpers.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbHierNetworkProcessor.cc b/src/db/db/gsiDeclDbHierNetworkProcessor.cc index d28c9c1f5..45c6bbe78 100644 --- a/src/db/db/gsiDeclDbHierNetworkProcessor.cc +++ b/src/db/db/gsiDeclDbHierNetworkProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbInstElement.cc b/src/db/db/gsiDeclDbInstElement.cc index 452ffb406..a69a923e3 100644 --- a/src/db/db/gsiDeclDbInstElement.cc +++ b/src/db/db/gsiDeclDbInstElement.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLayerMapping.cc b/src/db/db/gsiDeclDbLayerMapping.cc index 999e4f50e..058606237 100644 --- a/src/db/db/gsiDeclDbLayerMapping.cc +++ b/src/db/db/gsiDeclDbLayerMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index e7df6268a..68e1f7802 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -353,6 +353,33 @@ static db::cell_index_type clip (db::Layout *l, db::cell_index_type c, const db: return cc [0]; } +static db::cell_index_type clip_dbox (db::Layout *l, db::cell_index_type c, const db::DBox &box) +{ + std::vector boxes; + boxes.push_back (db::CplxTrans (l->dbu ()).inverted () * box); + std::vector cc = db::clip_layout(*l, *l, c, boxes, true); + tl_assert (! cc.empty ()); + return cc [0]; +} + +static db::Cell *clip_cell_dbox (db::Layout *l, const db::Cell &c, const db::DBox &box) +{ + std::vector boxes; + boxes.push_back (db::CplxTrans (l->dbu ()).inverted () * box); + std::vector cc = db::clip_layout(*l, *l, c.cell_index (), boxes, true); + tl_assert (! cc.empty ()); + return &l->cell (cc [0]); +} + +static db::Cell *clip_cell (db::Layout *l, const db::Cell &c, const db::Box &box) +{ + std::vector boxes; + boxes.push_back (box); + std::vector cc = db::clip_layout(*l, *l, c.cell_index (), boxes, true); + tl_assert (! cc.empty ()); + return &l->cell (cc [0]); +} + static db::cell_index_type clip_into (const db::Layout *l, db::cell_index_type c, db::Layout *t, const db::Box &box) { std::vector boxes; @@ -362,14 +389,92 @@ static db::cell_index_type clip_into (const db::Layout *l, db::cell_index_type c return cc [0]; } +static db::cell_index_type clip_into_dbox (const db::Layout *l, db::cell_index_type c, db::Layout *t, const db::DBox &box) +{ + std::vector boxes; + boxes.push_back (db::CplxTrans (l->dbu ()).inverted () * box); + std::vector cc = db::clip_layout(*l, *t, c, boxes, true); + tl_assert (! cc.empty ()); + return cc [0]; +} + +static db::Cell *clip_into_cell (const db::Layout *l, const db::Cell &c, db::Layout *t, const db::Box &box) +{ + std::vector boxes; + boxes.push_back (box); + std::vector cc = db::clip_layout(*l, *t, c.cell_index (), boxes, true); + tl_assert (! cc.empty ()); + return &t->cell (cc [0]); +} + +static db::Cell *clip_into_cell_dbox (const db::Layout *l, const db::Cell &c, db::Layout *t, const db::DBox &box) +{ + std::vector boxes; + boxes.push_back (db::CplxTrans (l->dbu ()).inverted () * box); + std::vector cc = db::clip_layout(*l, *t, c.cell_index (), boxes, true); + tl_assert (! cc.empty ()); + return &t->cell (cc [0]); +} + +static std::vector transform_boxes (const db::Layout *l, const std::vector &boxes) +{ + std::vector result; + result.reserve (boxes.size ()); + db::VCplxTrans t = db::CplxTrans (l->dbu ()).inverted (); + for (std::vector::const_iterator i = boxes.begin (); i != boxes.end (); ++i) { + result.push_back (t * *i); + } + return result; +} + +static std::vector to_cell_refs (db::Layout *l, const std::vector &cell_indexes) +{ + std::vector result; + result.reserve (cell_indexes.size ()); + for (std::vector::const_iterator i = cell_indexes.begin (); i != cell_indexes.end (); ++i) { + result.push_back (&l->cell (*i)); + } + return result; +} + static std::vector multi_clip (db::Layout *l, db::cell_index_type c, const std::vector &boxes) { - return db::clip_layout(*l, *l, c, boxes, true); + return db::clip_layout (*l, *l, c, boxes, true); +} + +static std::vector multi_clip_cells (db::Layout *l, const db::Cell &c, const std::vector &boxes) +{ + return to_cell_refs (l, db::clip_layout (*l, *l, c.cell_index (), boxes, true)); +} + +static std::vector multi_clip_dboxes (db::Layout *l, db::cell_index_type c, const std::vector &boxes) +{ + return db::clip_layout (*l, *l, c, transform_boxes (l, boxes), true); +} + +static std::vector multi_clip_cells_dboxes (db::Layout *l, const db::Cell &c, const std::vector &boxes) +{ + return to_cell_refs (l, db::clip_layout (*l, *l, c.cell_index (), transform_boxes (l, boxes), true)); } static std::vector multi_clip_into (db::Layout *l, db::cell_index_type c, db::Layout *t, const std::vector &boxes) { - return db::clip_layout(*l, *t, c, boxes, true); + return db::clip_layout (*l, *t, c, boxes, true); +} + +static std::vector multi_clip_into_cells (db::Layout *l, const db::Cell &c, db::Layout *t, const std::vector &boxes) +{ + return to_cell_refs (l, db::clip_layout (*l, *t, c.cell_index (), boxes, true)); +} + +static std::vector multi_clip_into_dboxes (db::Layout *l, db::cell_index_type c, db::Layout *t, const std::vector &boxes) +{ + return db::clip_layout (*l, *t, c, transform_boxes (l, boxes), true); +} + +static std::vector multi_clip_into_cells_dboxes (db::Layout *l, const db::Cell &c, db::Layout *t, const std::vector &boxes) +{ + return to_cell_refs (l, db::clip_layout (*l, *t, c.cell_index (), transform_boxes (l, boxes), true)); } static unsigned int get_layer0 (db::Layout *l) @@ -922,7 +1027,7 @@ Class decl_LayoutMetaInfo ("db", "LayoutMetaInfo", "Layout readers may generate meta information and some writers will add layout information to " "the layout object. Some writers will also read meta information to determine certain attributes.\n" "\n" - "Multiple layout meta information objects can be attached to one layout using \\Layout#add_meta. " + "Multiple layout meta information objects can be attached to one layout using \\Layout#add_meta_info. " "Meta information is identified by a unique name and carries a string value plus an optional description string. " "The description string is for information only and is not evaluated by code.\n" "\n" @@ -984,6 +1089,14 @@ Class decl_Layout ("db", "Layout", "@brief Gets the library this layout lives in or nil if the layout is not part of a library\n" "This attribute has been introduced in version 0.27.5." ) + + gsi::method ("refresh", &db::Layout::refresh, + "@brief Calls \\Cell#refresh on all cells inside this layout\n" + "This method is useful to recompute all PCells from a layout. Note that this does not " + "update PCells which are linked from a library. To recompute PCells from a library, you need " + "to use \\Library#refresh on the library object from which the PCells are imported.\n" + "\n" + "This method has been introduced in version 0.27.9." + ) + gsi::method ("add_meta_info", &db::Layout::add_meta_info, gsi::arg ("info"), "@brief Adds meta information to the layout\n" "See \\LayoutMetaInfo for details about layouts and meta information." @@ -1104,7 +1217,18 @@ Class decl_Layout ("db", "Layout", "@param properties_id The properties ID to get the properties for\n" "@return The array of variants (see \\properties_id)\n" ) + - gsi::method_ext ("top_cell", &top_cell, + gsi::method ("unique_cell_name", &db::Layout::uniquify_cell_name, gsi::arg ("name"), + "@brief Creates a new unique cell name from the given name\n" + "@return A unique name derived from the argument\n" + "\n" + "If a cell with the given name exists, a suffix will be added to make the name unique. " + "Otherwise, the argument will be returned unchanged.\n" + "\n" + "The returned name can be used to rename cells without risk of creating name clashes.\n" + "\n" + "This method has been introduced in version 0.28." + ) + + gsi::method_ext ("top_cell", &top_cell, "@brief Returns the top cell object\n" "@return The \\Cell object of the top cell\n" "If the layout has a single top cell, this method returns the top cell's \\Cell object.\n" @@ -1146,14 +1270,21 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been introduce in version 0.23 and replaces \\add_cell.\n" ) + - gsi::method_ext ("create_cell", &create_cell2, gsi::arg ("name"), gsi::arg ("params"), - "@brief Creates a cell as a PCell variant with the given name\n" - "@param name The name of the PCell and the name of the cell to create\n" + gsi::method_ext ("create_cell", &create_cell2, gsi::arg ("pcell_name"), gsi::arg ("params"), + "@brief Creates a cell as a PCell variant for the PCell with the given name\n" + "@param pcell_name The name of the PCell and also the name of the cell to create\n" "@param params The PCell parameters (key/value dictionary)\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if the PCell has already been used with these parameters.\n" "\n" - "This method will look up the PCell by the given name and create a new PCell variant " - "with the given parameters. The parameters are specified as a key/value dictionary with " + "PCells are instantiated by creating a PCell variant. A PCell variant is linked to the PCell and represents " + "this PCell with a particular parameter set.\n" + "\n" + "This method will look up the PCell by the PCell name and create a new PCell variant " + "for the given parameters. If the PCell has already been instantiated with the same parameters, the " + "original variant will be returned. Hence this method is not strictly creating a cell - only if the required variant has " + "not been created yet.\n" + "\n" + "The parameters are specified as a key/value dictionary with " "the names being the ones from the PCell declaration.\n" "\n" "If no PCell with the given name exists, nil is returned.\n" @@ -1164,25 +1295,34 @@ Class decl_Layout ("db", "Layout", "@brief Creates a cell with the given name\n" "@param name The name of the library cell and the name of the cell to create\n" "@param lib_name The name of the library where to take the cell from\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if the library cell has already been used in this layout.\n" + "\n" + "Library cells are imported by creating a 'library proxy'. This is a cell which represents " + "the library cell in the framework of the current layout. The library proxy is linked to the " + "library and will be updated if the library cell is changed.\n" + "\n" + "This method will look up the cell by the given name in the specified library and create a new library proxy for this cell.\n" + "If the same library cell has already been used, the original library proxy is returned. Hence, strictly speaking this " + "method does not always create a new cell but may return a reference to an existing cell.\n" "\n" - "This method will look up the cell by the given name in the specified library and create a new library proxy to this cell.\n" "If the library name is not valid, nil is returned.\n" "\n" "This method has been introduce in version 0.24.\n" ) + - gsi::method_ext ("create_cell", &create_cell4, gsi::arg ("name"), gsi::arg ("lib_name"), gsi::arg ("params"), - "@brief Creates a cell with the given name\n" - "@param name The name of the PCell and the name of the cell to create\n" + gsi::method_ext ("create_cell", &create_cell4, gsi::arg ("pcell_name"), gsi::arg ("lib_name"), gsi::arg ("params"), + "@brief Creates a cell for a PCell with the given PCell name from the given library\n" + "@param pcell_name The name of the PCell and also the name of the cell to create\n" "@param lib_name The name of the library where to take the PCell from\n" "@param params The PCell parameters (key/value dictionary)\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if this PCell has already been used with the given parameters\n" "\n" - "This method will look up the PCell by the given name in the specified library and create a new PCell variant " - "with the given parameters. The parameters are specified as a key/value dictionary with " + "This method will look up the PCell by the PCell name in the specified library and create a new PCell variant " + "for the given parameters plus the library proxy. The parameters must be specified as a key/value dictionary with " "the names being the ones from the PCell declaration.\n" "\n" - "If no PCell with the given name exists or the library name is not valid, nil is returned.\n" + "If no PCell with the given name exists or the library name is not valid, nil is returned. Note that " + "this function - despite the name - may not always create a new cell, but return an existing cell if the " + "PCell from the library has already been used with the given parameters.\n" "\n" "This method has been introduce in version 0.24.\n" ) + @@ -1194,7 +1334,10 @@ Class decl_Layout ("db", "Layout", "is returns a \\Cell object (\\create_cell).\n" ) + gsi::method ("rename_cell", &db::Layout::rename_cell, gsi::arg ("index"), gsi::arg ("name"), - "@brief name\n" + "@brief Renames the cell with given index\n" + "The cell with the given index is renamed to the given name. NOTE: it is not ensured that the name is unique. " + "This method allows assigning identical names to different cells which usually breaks things.\n" + "Consider using \\unique_cell_name to generate truely unique names.\n" ) + gsi::method ("delete_cell", &db::Layout::delete_cell, gsi::arg ("cell_index"), "@brief Deletes a cell \n" @@ -1635,7 +1778,7 @@ Class decl_Layout ("db", "Layout", "@param cell_mapping The cell mapping object that determines how cells are identified between source and target layout\n" "\n" "Provide a \\CellMapping object to specify pairs of cells which are mapped from the source layout to this " - "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cell_full, use self " + "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cells_full, use self " "as the target layout. During the cell mapping construction, the cell mapper will usually create a suitable target " "hierarchy already. After having completed the cell mapping, use \\copy_tree_shapes to copy over the shapes from " "the source to the target layout.\n" @@ -1649,7 +1792,7 @@ Class decl_Layout ("db", "Layout", "@param layer_mapping Specifies which layers are copied from the source layout to the target layout\n" "\n" "Provide a \\CellMapping object to specify pairs of cells which are mapped from the source layout to this " - "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cell_full, use self " + "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cells_full, use self " "as the target layout. During the cell mapping construction, the cell mapper will usually create a suitable target " "hierarchy already. After having completed the cell mapping, use \\copy_tree_shapes to copy over the shapes from " "the source to the target layout.\n" @@ -1916,6 +2059,30 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been added in version 0.21.\n" ) + + gsi::method_ext ("clip", &clip_dbox, gsi::arg ("cell"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The cell index of the cell to clip\n" + "@param box The clip box in micrometer units\n" + "@return The index of the new cell\n" + "\n" + "This variant which takes a micrometer-unit box has been added in version 0.28." + ) + + gsi::method_ext ("clip", &clip_cell, gsi::arg ("cell"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The cell reference of the cell to clip\n" + "@param box The clip box in database units\n" + "@return The reference to the new cell\n" + "\n" + "This variant which takes cell references instead of cell indexes has been added in version 0.28." + ) + + gsi::method_ext ("clip", &clip_cell_dbox, gsi::arg ("cell"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The cell reference of the cell to clip\n" + "@param box The clip box in micrometer units\n" + "@return The reference to the new cell\n" + "\n" + "This variant which takes a micrometer-unit box and cell references has been added in version 0.28." + ) + gsi::method_ext ("clip_into", &clip_into, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("box"), "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" "@param cell The cell index of the cell to clip\n" @@ -1935,8 +2102,35 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been added in version 0.21.\n" ) + + gsi::method_ext ("clip_into", &clip_into_dbox, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The cell index of the cell to clip\n" + "@param box The clip box in micrometer units\n" + "@param target The target layout\n" + "@return The index of the new cell in the target layout\n" + "\n" + "This variant which takes a micrometer-unit box has been added in version 0.28." + ) + + gsi::method_ext ("clip_into", &clip_into_cell, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The reference to the cell to clip\n" + "@param box The clip box in database units\n" + "@param target The target layout\n" + "@return The reference to the new cell in the target layout\n" + "\n" + "This variant which takes cell references instead of cell indexes has been added in version 0.28." + ) + + gsi::method_ext ("clip_into", &clip_into_cell_dbox, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("box"), + "@brief Clips the given cell by the given rectangle and produce a new cell with the clip\n" + "@param cell The reference to the cell to clip\n" + "@param box The clip box in micrometer units\n" + "@param target The target layout\n" + "@return The reference to the new cell in the target layout\n" + "\n" + "This variant which takes a micrometer-unit box and cell references has been added in version 0.28." + ) + gsi::method_ext ("multi_clip", &multi_clip, gsi::arg ("cell"), gsi::arg ("boxes"), - "@brief Clips the given cell by the given rectangles and produce new cells with the clips, one for each rectangle.\n" + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" "@param cell The cell index of the cell to clip\n" "@param boxes The clip boxes in database units\n" "@return The indexes of the new cells\n" @@ -1949,8 +2143,32 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been added in version 0.21.\n" ) + + gsi::method_ext ("multi_clip", &multi_clip_dboxes, gsi::arg ("cell"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The cell index of the cell to clip\n" + "@param boxes The clip boxes in micrometer units\n" + "@return The indexes of the new cells\n" + "\n" + "This variant which takes micrometer-unit boxes has been added in version 0.28." + ) + + gsi::method_ext ("multi_clip", &multi_clip_cells, gsi::arg ("cell"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The reference to the cell to clip\n" + "@param boxes The clip boxes in database units\n" + "@return The references to the new cells\n" + "\n" + "This variant which takes cell references has been added in version 0.28." + ) + + gsi::method_ext ("multi_clip", &multi_clip_cells_dboxes, gsi::arg ("cell"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The reference to the cell to clip\n" + "@param boxes The clip boxes in micrometer units\n" + "@return The references to the new cells\n" + "\n" + "This variant which takes cell references and micrometer-unit boxes has been added in version 0.28." + ) + gsi::method_ext ("multi_clip_into", &multi_clip_into, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("boxes"), - "@brief Clips the given cell by the given rectangles and produce new cells with the clips, one for each rectangle.\n" + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" "@param cell The cell index of the cell to clip\n" "@param boxes The clip boxes in database units\n" "@param target The target layout\n" @@ -1969,6 +2187,33 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been added in version 0.21.\n" ) + + gsi::method_ext ("multi_clip_into", &multi_clip_into_dboxes, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The cell index of the cell to clip\n" + "@param boxes The clip boxes in database units\n" + "@param target The target layout\n" + "@return The indexes of the new cells\n" + "\n" + "This variant which takes micrometer-unit boxes has been added in version 0.28." + ) + + gsi::method_ext ("multi_clip_into", &multi_clip_into_cells, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The reference the cell to clip\n" + "@param boxes The clip boxes in database units\n" + "@param target The target layout\n" + "@return The references to the new cells\n" + "\n" + "This variant which takes cell references boxes has been added in version 0.28." + ) + + gsi::method_ext ("multi_clip_into", &multi_clip_into_cells_dboxes, gsi::arg ("cell"), gsi::arg ("target"), gsi::arg ("boxes"), + "@brief Clips the given cell by the given rectangles and produces new cells with the clips, one for each rectangle.\n" + "@param cell The reference the cell to clip\n" + "@param boxes The clip boxes in micrometer units\n" + "@param target The target layout\n" + "@return The references to the new cells\n" + "\n" + "This variant which takes cell references and micrometer-unit boxes has been added in version 0.28." + ) + gsi::method ("convert_cell_to_static", &db::Layout::convert_cell_to_static, gsi::arg ("cell_index"), "@brief Converts a PCell or library cell to a usual (static) cell\n" "@return The index of the new cell\n" diff --git a/src/db/db/gsiDeclDbLayoutDiff.cc b/src/db/db/gsiDeclDbLayoutDiff.cc index fb9ad68c0..d6e85f00a 100644 --- a/src/db/db/gsiDeclDbLayoutDiff.cc +++ b/src/db/db/gsiDeclDbLayoutDiff.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLayoutQuery.cc b/src/db/db/gsiDeclDbLayoutQuery.cc index 031aa5a78..e10beb554 100644 --- a/src/db/db/gsiDeclDbLayoutQuery.cc +++ b/src/db/db/gsiDeclDbLayoutQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -111,7 +111,9 @@ char shape_query_property_name[] = "shape"; char layer_index_query_property_name[] = "layer_index"; char inst_query_property_name[] = "inst"; char path_trans_query_property_name[] = "path_trans"; +char path_dtrans_query_property_name[] = "path_dtrans"; char trans_query_property_name[] = "trans"; +char dtrans_query_property_name[] = "dtrans"; char cell_index_query_property_name[] = "cell_index"; char cell_query_property_name[] = "cell"; char parent_cell_index_query_property_name[] = "parent_cell_index"; @@ -138,7 +140,9 @@ Class decl_LayoutQueryIterator ("db", "LayoutQueryItera make_shortcut_method() + make_shortcut_method() + make_shortcut_method() + + make_shortcut_method() + make_shortcut_method() + + make_shortcut_method() + make_shortcut_method() + make_shortcut_method() + make_shortcut_method() + diff --git a/src/db/db/gsiDeclDbLayoutToNetlist.cc b/src/db/db/gsiDeclDbLayoutToNetlist.cc index 3213c0510..6f8b86c47 100644 --- a/src/db/db/gsiDeclDbLayoutToNetlist.cc +++ b/src/db/db/gsiDeclDbLayoutToNetlist.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLayoutUtils.cc b/src/db/db/gsiDeclDbLayoutUtils.cc index 50a9d3afd..b56fdae05 100644 --- a/src/db/db/gsiDeclDbLayoutUtils.cc +++ b/src/db/db/gsiDeclDbLayoutUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLayoutVsSchematic.cc b/src/db/db/gsiDeclDbLayoutVsSchematic.cc index 946761db6..987144f90 100644 --- a/src/db/db/gsiDeclDbLayoutVsSchematic.cc +++ b/src/db/db/gsiDeclDbLayoutVsSchematic.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbLibrary.cc b/src/db/db/gsiDeclDbLibrary.cc index 0d6570bef..d6537599f 100644 --- a/src/db/db/gsiDeclDbLibrary.cc +++ b/src/db/db/gsiDeclDbLibrary.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -233,6 +233,13 @@ LibraryClass decl_Library ("db", "Library", ) + gsi::method ("layout", (db::Layout &(db::Library::*)()) &db::Library::layout, "@brief The layout object where the cells reside that this library defines\n" + ) + + gsi::method ("refresh", &db::Library::refresh, + "@brief Updates all layouts using this library.\n" + "This method will retire cells or update layouts in the attached clients.\n" + "It will also recompute the PCells inside the library. " + "\n" + "This method has been introduced in version 0.27.8." ), "@brief A Library \n" "\n" @@ -276,6 +283,7 @@ Class decl_PCellDeclaration_Native ("db", "PCellDeclaratio gsi::method ("can_create_from_shape", &db::PCellDeclaration::can_create_from_shape) + gsi::method ("parameters_from_shape", &db::PCellDeclaration::parameters_from_shape) + gsi::method ("transformation_from_shape", &db::PCellDeclaration::transformation_from_shape) + + gsi::method ("wants_lazy_evaluation", &db::PCellDeclaration::wants_lazy_evaluation) + gsi::method ("display_text", &db::PCellDeclaration::get_display_name) + gsi::method ("layout", &db::PCellDeclaration::layout, "@brief Gets the Layout object the PCell is registered in or nil if it is not registered yet.\n" @@ -407,6 +415,20 @@ public: } } + bool wants_lazy_evaluation_fb () const + { + return db::PCellDeclaration::wants_lazy_evaluation (); + } + + virtual bool wants_lazy_evaluation () const + { + if (cb_wants_lazy_evaluation.can_issue ()) { + return cb_wants_lazy_evaluation.issue (&db::PCellDeclaration::wants_lazy_evaluation); + } else { + return db::PCellDeclaration::wants_lazy_evaluation (); + } + } + std::string get_display_name_fb (const db::pcell_parameters_type ¶meters) const { return db::PCellDeclaration::get_display_name (parameters); @@ -427,6 +449,7 @@ public: gsi::Callback cb_can_create_from_shape; gsi::Callback cb_parameters_from_shape; gsi::Callback cb_transformation_from_shape; + gsi::Callback cb_wants_lazy_evaluation; gsi::Callback cb_coerce_parameters; gsi::Callback cb_get_display_name; }; @@ -439,6 +462,7 @@ Class decl_PCellDeclaration (decl_PCellDeclaration_Native, gsi::method ("parameters_from_shape", &PCellDeclarationImpl::parameters_from_shape_fb, "@hide") + gsi::method ("transformation_from_shape", &PCellDeclarationImpl::transformation_from_shape_fb, "@hide") + gsi::method ("display_text", &PCellDeclarationImpl::get_display_name_fb, "@hide") + + gsi::method ("wants_lazy_evaluation", &PCellDeclarationImpl::wants_lazy_evaluation_fb, "@hide") + gsi::callback ("get_layers", &PCellDeclarationImpl::get_layer_declarations_impl, &PCellDeclarationImpl::cb_get_layer_declarations, gsi::arg ("parameters"), "@brief Returns a list of layer declarations\n" "Reimplement this method to return a list of layers this PCell wants to create.\n" @@ -507,6 +531,16 @@ Class decl_PCellDeclaration (decl_PCellDeclaration_Native, "it will use this method to derive the transformation for the PCell instance that will replace the shape. " "See also \\parameters_from_shape and \\can_create_from_shape." ) + + gsi::callback ("wants_lazy_evaluation", &PCellDeclarationImpl::wants_lazy_evaluation, &PCellDeclarationImpl::cb_wants_lazy_evaluation, + "@brief Gets a value indicating whether the PCell wants lazy evaluation\n" + "In lazy evaluation mode, the PCell UI will not immediately update the layout when a parameter is changed. " + "Instead, the user has to commit the changes in order to have the parameters updated. This is " + "useful for PCells that take a long time to compute.\n" + "\n" + "The default implementation will return 'false' indicating immediate updates.\n" + "\n" + "This method has been added in version 0.27.6.\n" + ) + gsi::callback ("display_text", &PCellDeclarationImpl::get_display_name, &PCellDeclarationImpl::cb_get_display_name, gsi::arg ("parameters"), "@brief Returns the display text for this PCell given a certain parameter set\n" "Reimplement this method to create a distinct display text for a PCell variant with \n" diff --git a/src/db/db/gsiDeclDbManager.cc b/src/db/db/gsiDeclDbManager.cc index b57a988f4..7660a2274 100644 --- a/src/db/db/gsiDeclDbManager.cc +++ b/src/db/db/gsiDeclDbManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbMatrix.cc b/src/db/db/gsiDeclDbMatrix.cc index c160e4019..3f5937c14 100644 --- a/src/db/db/gsiDeclDbMatrix.cc +++ b/src/db/db/gsiDeclDbMatrix.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbNetlist.cc b/src/db/db/gsiDeclDbNetlist.cc index c98c967bf..6d3762e1d 100644 --- a/src/db/db/gsiDeclDbNetlist.cc +++ b/src/db/db/gsiDeclDbNetlist.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2265,7 +2265,10 @@ db::NetlistSpiceWriter *new_spice_writer2 (NetlistSpiceWriterDelegateImpl *deleg Class db_NetlistWriter ("db", "NetlistWriter", gsi::Methods (), - "@hide\n" + "@brief Base class for netlist writers\n" + "This class is provided as a base class for netlist writers. It is not intended for reimplementation on script level, but used internally as an interface.\n" + "\n" + "This class has been introduced in version 0.26." ); Class db_NetlistSpiceWriter (db_NetlistWriter, "db", "NetlistSpiceWriter", @@ -2355,7 +2358,10 @@ Class db_NetlistSpiceWriter (db_NetlistWriter, "db", "Ne Class db_NetlistReader ("db", "NetlistReader", gsi::Methods (), - "@hide\n" + "@brief Base class for netlist readers\n" + "This class is provided as a base class for netlist readers. It is not intended for reimplementation on script level, but used internally as an interface.\n" + "\n" + "This class has been introduced in version 0.26." ); /** diff --git a/src/db/db/gsiDeclDbNetlistCompare.cc b/src/db/db/gsiDeclDbNetlistCompare.cc index 8c167d92b..1d1a13b7b 100644 --- a/src/db/db/gsiDeclDbNetlistCompare.cc +++ b/src/db/db/gsiDeclDbNetlistCompare.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbNetlistCrossReference.cc b/src/db/db/gsiDeclDbNetlistCrossReference.cc index 774fa3653..62dedccc9 100644 --- a/src/db/db/gsiDeclDbNetlistCrossReference.cc +++ b/src/db/db/gsiDeclDbNetlistCrossReference.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbNetlistDeviceClasses.cc b/src/db/db/gsiDeclDbNetlistDeviceClasses.cc index a9af231b1..b8036782a 100644 --- a/src/db/db/gsiDeclDbNetlistDeviceClasses.cc +++ b/src/db/db/gsiDeclDbNetlistDeviceClasses.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -240,6 +240,10 @@ Class decl_dbDeviceClassMOS3Transistor (decl_dbDe ) + gsi::constant ("PARAM_PD", db::DeviceClassMOS3Transistor::param_id_PD, "@brief A constant giving the parameter ID for parameter PD" + ) + + gsi::method ("join_split_gates", &db::DeviceClassMOS3Transistor::join_split_gates, gsi::arg ("circuit"), + "@brief Joins source/drain nets from 'split gate' transistor strings on the given circuit\n" + "This method has been introduced in version 0.27.9\n" ), "@brief A device class for a 3-terminal MOS transistor.\n" "This class describes a MOS transistor without a bulk terminal. " diff --git a/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc b/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc index a617dd371..d6160dd73 100644 --- a/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc +++ b/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbPath.cc b/src/db/db/gsiDeclDbPath.cc index ca5b7633e..037c6cbaf 100644 --- a/src/db/db/gsiDeclDbPath.cc +++ b/src/db/db/gsiDeclDbPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbPoint.cc b/src/db/db/gsiDeclDbPoint.cc index df876b2ba..9f3d45e7a 100644 --- a/src/db/db/gsiDeclDbPoint.cc +++ b/src/db/db/gsiDeclDbPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbPolygon.cc b/src/db/db/gsiDeclDbPolygon.cc index 04c8da938..4f84f11cf 100644 --- a/src/db/db/gsiDeclDbPolygon.cc +++ b/src/db/db/gsiDeclDbPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -965,9 +965,9 @@ struct polygon_defs poly->size (d, d, mode); } - static void size_d (C *poly, coord_type d) + static void size_dvm (C *poly, const db::Vector &dv, unsigned int mode) { - poly->size (d, d, 2); + poly->size (dv.x (), dv.y (), mode); } static C sized_xy (const C *poly, coord_type dx, coord_type dy, unsigned int mode) @@ -980,9 +980,9 @@ struct polygon_defs return poly->sized (d, d, mode); } - static C sized_d (const C *poly, coord_type d) + static C sized_dvm (const C *poly, const db::Vector &dv, unsigned int mode) { - return poly->sized (d, d, 2); + return poly->sized (dv.x (), dv.y (), mode); } static bool inside (const C *poly, point_type pt) @@ -1272,7 +1272,19 @@ struct polygon_defs "result = ep.simple_merge_p2p([ poly ], false, false, 1)\n" "@/code\n" ) + - method_ext ("size", &size_dm, gsi::arg ("d"), gsi::arg ("mode"), + method_ext ("size", &size_dvm, gsi::arg ("dv"), gsi::arg ("mode", (unsigned int) 2), + "@brief Sizes the polygon (biasing)\n" + "\n" + "This method is equivalent to\n" + "@code\n" + "size(dv.x, dv.y, mode)\n" + "@/code\n" + "\n" + "See \\size for a detailed description.\n" + "\n" + "This version has been introduced in version 0.28.\n" + ) + + method_ext ("size", &size_dm, gsi::arg ("d"), gsi::arg ("mode", (unsigned int) 2), "@brief Sizes the polygon (biasing)\n" "\n" "Shifts the contour outwards (d>0) or inwards (d<0).\n" @@ -1294,7 +1306,19 @@ struct polygon_defs "\n" "This method has been introduced in version 0.23.\n" ) + - method_ext ("sized", &sized_dm, gsi::arg ("d"), gsi::arg ("mode"), + method_ext ("sized", &sized_dvm, gsi::arg ("dv"), gsi::arg ("mode", (unsigned int) 2), + "@brief Sizes the polygon (biasing) without modifying self\n" + "\n" + "This method is equivalent to\n" + "@code\n" + "sized(dv.x, dv.y, mode)\n" + "@/code\n" + "\n" + "See \\size and \\sized for a detailed description.\n" + "\n" + "This version has been introduced in version 0.28.\n" + ) + + method_ext ("sized", &sized_dm, gsi::arg ("d"), gsi::arg ("mode", (unsigned int) 2), "@brief Sizes the polygon (biasing) without modifying self\n" "\n" "Shifts the contour outwards (d>0) or inwards (d<0).\n" @@ -1305,28 +1329,6 @@ struct polygon_defs "\n" "See \\size and \\sized for a detailed description.\n" ) + - method_ext ("sized", &sized_d, gsi::arg ("d"), - "@brief Sizes the polygon (biasing)\n" - "\n" - "@brief Sizing (biasing) without modifying self\n" - "This method is equivalent to\n" - "@code\n" - "sized(d, d, 2)\n" - "@/code\n" - "\n" - "See \\size and \\sized for a detailed description.\n" - ) + - method_ext ("size", &size_d, gsi::arg ("d"), - "@brief Sizes the polygon (biasing)\n" - "\n" - "Shifts the contour outwards (d>0) or inwards (d<0).\n" - "This method is equivalent to\n" - "@code\n" - "size(d, d, 2)\n" - "@/code\n" - "\n" - "See \\size for a detailed description.\n" - ) + method ("holes", &C::holes, "@brief Returns the number of holes" ) + diff --git a/src/db/db/gsiDeclDbReader.cc b/src/db/db/gsiDeclDbReader.cc index d76d92297..2b97afcc2 100644 --- a/src/db/db/gsiDeclDbReader.cc +++ b/src/db/db/gsiDeclDbReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc index 588dbf258..4946d2859 100644 --- a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,31 @@ namespace gsi { +namespace { + +/** + * @brief A wrapper that allows using "each" on the iterator + */ +class IteratorIterator +{ +public: + typedef db::RecursiveInstanceIterator value_type; + typedef db::RecursiveInstanceIterator &reference; + typedef db::RecursiveInstanceIterator *pointer; + typedef std::forward_iterator_tag iterator_category; + typedef void difference_type; + + IteratorIterator (db::RecursiveInstanceIterator *iter) : mp_iter (iter) { } + bool at_end () const { return mp_iter->at_end (); } + reference operator* () const { return *mp_iter; } + void operator++ () { ++*mp_iter; } + +private: + db::RecursiveInstanceIterator *mp_iter; +}; + +} + // --------------------------------------------------------------- // db::RecursiveInstanceIterator binding @@ -48,6 +73,11 @@ static db::RecursiveInstanceIterator *new_si2a (const db::Layout &layout, const return new db::RecursiveInstanceIterator (layout, cell, region, overlapping); } +static IteratorIterator each (db::RecursiveInstanceIterator *r) +{ + return IteratorIterator (r); +} + static db::DCplxTrans si_dtrans (const db::RecursiveInstanceIterator *r) { const db::Layout *ly = r->layout (); @@ -184,6 +214,21 @@ Class decl_RecursiveInstanceIterator ("db", "Recu "bounding box touches the search region are reported. The bounding box of instances is measured taking all layers " "of the target cell into account.\n" ) + + gsi::iterator_ext ("each", &each, + "@brief Native iteration\n" + "This method enables native iteration, e.g.\n" + "\n" + "@code\n" + " iter = ... # RecursiveInstanceIterator\n" + " iter.each do |i|\n" + " ... i is the iterator itself\n" + " end\n" + "@/code\n" + "\n" + "This is slightly more convenient than the 'at_end' .. 'next' loop.\n" + "\n" + "This feature has been introduced in version 0.28.\n" + ) + gsi::method ("max_depth=", (void (db::RecursiveInstanceIterator::*) (int)) &db::RecursiveInstanceIterator::max_depth, gsi::arg ("depth"), "@brief Specifies the maximum hierarchy depth to look into\n" "\n" @@ -466,6 +511,11 @@ Class decl_RecursiveInstanceIterator ("db", "Recu " puts \"Instance of #{iter.inst_cell.name} in #{cell.name}: \" + (iter.dtrans * iter.inst_dtrans).to_s\n" " iter.next\n" "end\n" + "\n" + "# or shorter:\n" + "cell.begin_instances_rec.each do |iter|\n" + " puts \"Instance of #{iter.inst_cell.name} in #{cell.name}: \" + (iter.dtrans * iter.inst_dtrans).to_s\n" + "end\n" "@/code\n" "\n" "Here, a target cell is specified which confines the search to instances of this particular cell.\n" @@ -476,7 +526,7 @@ Class decl_RecursiveInstanceIterator ("db", "Recu "\\Cell offers three methods to get these iterators: begin_instances_rec, begin_instances_rec_touching and begin_instances_rec_overlapping.\n" "\\Cell#begin_instances_rec will deliver a standard recursive instance iterator which starts from the given cell and iterates " "over all child cells. \\Cell#begin_instances_rec_touching creates a RecursiveInstanceIterator which delivers the instances " - "whose bounding boxed touch the given search box. \\Layout#begin_instances_rec_overlapping gives an iterator which delivers all instances whose bounding box " + "whose bounding boxed touch the given search box. \\Cell#begin_instances_rec_overlapping gives an iterator which delivers all instances whose bounding box " "overlaps the search box.\n" "\n" "A RecursiveInstanceIterator object can also be created directly, like this:\n" diff --git a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc index 56e41773c..c70423544 100644 --- a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc @@ -1,8 +1,8 @@ - +# /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,12 +27,39 @@ #include "tlGlobPattern.h" +#include + namespace gsi { // --------------------------------------------------------------- // db::RecursiveShapeIterator binding +namespace { + +/** + * @brief A wrapper that allows using "each" on the iterator + */ +class IteratorIterator +{ +public: + typedef db::RecursiveShapeIterator value_type; + typedef db::RecursiveShapeIterator &reference; + typedef db::RecursiveShapeIterator *pointer; + typedef std::forward_iterator_tag iterator_category; + typedef void difference_type; + + IteratorIterator (db::RecursiveShapeIterator *iter) : mp_iter (iter) { } + bool at_end () const { return mp_iter->at_end (); } + reference operator* () const { return *mp_iter; } + void operator++ () { ++*mp_iter; } + +private: + db::RecursiveShapeIterator *mp_iter; +}; + +} + static db::RecursiveShapeIterator *new_si1 (const db::Layout &layout, const db::Cell &cell, unsigned int layer) { return new db::RecursiveShapeIterator (layout, cell, layer); @@ -63,6 +90,11 @@ static db::RecursiveShapeIterator *new_si4a (const db::Layout &layout, const db: return new db::RecursiveShapeIterator (layout, cell, layers, region, overlapping); } +static IteratorIterator each (db::RecursiveShapeIterator *r) +{ + return IteratorIterator (r); +} + static db::DCplxTrans si_dtrans (const db::RecursiveShapeIterator *r) { const db::Layout *ly = r->layout (); @@ -236,6 +268,21 @@ Class decl_RecursiveShapeIterator ("db", "RecursiveS "\n" "This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27.\n" ) + + gsi::iterator_ext ("each", &each, + "@brief Native iteration\n" + "This method enables native iteration, e.g.\n" + "\n" + "@code\n" + " iter = ... # RecursiveShapeIterator\n" + " iter.each do |i|\n" + " ... i is the iterator itself\n" + " end\n" + "@/code\n" + "\n" + "This is slightly more convenient than the 'at_end' .. 'next' loop.\n" + "\n" + "This feature has been introduced in version 0.28.\n" + ) + gsi::method ("max_depth=", (void (db::RecursiveShapeIterator::*) (int)) &db::RecursiveShapeIterator::max_depth, gsi::arg ("depth"), "@brief Specifies the maximum hierarchy depth to look into\n" "\n" @@ -560,6 +607,14 @@ Class decl_RecursiveShapeIterator ("db", "RecursiveS " end\n" " iter.next\n" "end\n" + "\n" + "# or shorter:\n" + "cell.begin_shapes_rec(layer).each do |iter|\n" + " if iter.shape.renders_polygon?\n" + " polygon = iter.shape.polygon.transformed(iter.itrans)\n" + " puts \"In cell #{iter.cell.name}: \" + polygon.to_s\n" + " end\n" + "end\n" "@/code\n" "\n" "\\Cell offers three methods to get these iterators: begin_shapes_rec, begin_shapes_rec_touching and begin_shapes_rec_overlapping.\n" diff --git a/src/db/db/gsiDeclDbRegion.cc b/src/db/db/gsiDeclDbRegion.cc index 621235460..0cc777b8b 100644 --- a/src/db/db/gsiDeclDbRegion.cc +++ b/src/db/db/gsiDeclDbRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -471,17 +471,6 @@ static void break_polygons (db::Region *r, size_t max_vertex_count, double max_a r->process (db::PolygonBreaker (max_vertex_count, max_area_ratio)); } -static db::Region &size_ext (db::Region *r, db::Coord d) -{ - r->size (d); - return *r; -} - -static db::Region sized_ext (db::Region *r, db::Coord d) -{ - return r->sized (d); -} - static db::Region &merge_ext1 (db::Region *r, int min_wc) { r->merge (false, std::max (0, min_wc - 1)); @@ -740,6 +729,19 @@ fill_region_multi (const db::Region *fr, db::Cell *cell, db::cell_index_type fil db::fill_region_repeat (cell, *fr, fill_cell_index, fc_box, row_step, column_step, fill_margin, remaining_polygons, glue_box); } +static db::Region +sized_dvm (const db::Region *region, const db::Vector &dv, unsigned int mode) +{ + return region->sized (dv.x (), dv.y (), mode); +} + +static db::Region & +size_dvm (db::Region *region, const db::Vector &dv, unsigned int mode) +{ + region->size (dv.x (), dv.y (), mode); + return *region; +} + static db::Point default_origin; // provided by gsiDeclDbPolygon.cc: @@ -1537,7 +1539,18 @@ Class decl_Region (decl_dbShapeCollection, "db", "Region", "# r now is (50,-50;50,100;100,100;100,-50)\n" "@/code\n" ) + - method ("size", (db::Region & (db::Region::*) (db::Coord, unsigned int)) &db::Region::size, gsi::arg ("d"), gsi::arg ("mode"), + method_ext ("size", &size_dvm, gsi::arg ("dv"), gsi::arg ("mode", (unsigned int) 2), + "@brief Anisotropic sizing (biasing)\n" + "\n" + "@return The region after the sizing has applied (self)\n" + "\n" + "This method is equivalent to \"size(dv.x, dv.y, mode)\".\n" + "\n" + "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" + "\n" + "This variant has been introduced in version 0.28." + ) + + method ("size", (db::Region & (db::Region::*) (db::Coord, unsigned int)) &db::Region::size, gsi::arg ("d"), gsi::arg ("mode", (unsigned int) 2), "@brief Isotropic sizing (biasing)\n" "\n" "@return The region after the sizing has applied (self)\n" @@ -1546,39 +1559,34 @@ Class decl_Region (decl_dbShapeCollection, "db", "Region", "\n" "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" ) + - method_ext ("size", size_ext, gsi::arg ("d"), - "@brief Isotropic sizing (biasing)\n" - "\n" - "@return The region after the sizing has applied (self)\n" - "\n" - "This method is equivalent to \"size(d, d, 2)\".\n" - "\n" - "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" - ) + method ("sized", (db::Region (db::Region::*) (db::Coord, db::Coord, unsigned int) const) &db::Region::sized, gsi::arg ("dx"), gsi::arg ("dy"), gsi::arg ("mode"), "@brief Returns the anisotropically sized region\n" "\n" "@return The sized region\n" "\n" - "This method is returns the sized region (see \\size), but does not modify self.\n" + "This method returns the sized region (see \\size), but does not modify self.\n" "\n" "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" ) + - method ("sized", (db::Region (db::Region::*) (db::Coord, unsigned int) const) &db::Region::sized, gsi::arg ("d"), gsi::arg ("mode"), + method_ext ("sized", &sized_dvm, gsi::arg ("dv"), gsi::arg ("mode", (unsigned int) 2), + "@brief Returns the (an)isotropically sized region\n" + "\n" + "@return The sized region\n" + "\n" + "This method is equivalent to \"sized(dv.x, dv.y, mode)\".\n" + "This method returns the sized region (see \\size), but does not modify self.\n" + "\n" + "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" + "\n" + "This variant has been introduced in version 0.28." + ) + + method ("sized", (db::Region (db::Region::*) (db::Coord, unsigned int) const) &db::Region::sized, gsi::arg ("d"), gsi::arg ("mode", (unsigned int) 2), "@brief Returns the isotropically sized region\n" "\n" "@return The sized region\n" "\n" - "This method is returns the sized region (see \\size), but does not modify self.\n" - "\n" - "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" - ) + - method_ext ("sized", sized_ext, gsi::arg ("d"), - "@brief Isotropic sizing (biasing)\n" - "\n" - "@return The region after the sizing has applied (self)\n" - "\n" - "This method is equivalent to \"sized(d, d, 2)\".\n" + "This method is equivalent to \"sized(d, d, mode)\".\n" + "This method returns the sized region (see \\size), but does not modify self.\n" "\n" "Merged semantics applies for this method (see \\merged_semantics= for a description of this concept)\n" ) + diff --git a/src/db/db/gsiDeclDbShape.cc b/src/db/db/gsiDeclDbShape.cc index 586bd5195..fab8cf946 100644 --- a/src/db/db/gsiDeclDbShape.cc +++ b/src/db/db/gsiDeclDbShape.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbShapeCollection.cc b/src/db/db/gsiDeclDbShapeCollection.cc index c6d4a0801..22aa06d73 100644 --- a/src/db/db/gsiDeclDbShapeCollection.cc +++ b/src/db/db/gsiDeclDbShapeCollection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbShapeProcessor.cc b/src/db/db/gsiDeclDbShapeProcessor.cc index b05f073bd..4c9d87911 100644 --- a/src/db/db/gsiDeclDbShapeProcessor.cc +++ b/src/db/db/gsiDeclDbShapeProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbShapes.cc b/src/db/db/gsiDeclDbShapes.cc index 572506ce4..ffadd12f4 100644 --- a/src/db/db/gsiDeclDbShapes.cc +++ b/src/db/db/gsiDeclDbShapes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbTechnologies.cc b/src/db/db/gsiDeclDbTechnologies.cc index 9794b4422..5917d25e5 100644 --- a/src/db/db/gsiDeclDbTechnologies.cc +++ b/src/db/db/gsiDeclDbTechnologies.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbText.cc b/src/db/db/gsiDeclDbText.cc index 7da557d99..4bf0e354b 100644 --- a/src/db/db/gsiDeclDbText.cc +++ b/src/db/db/gsiDeclDbText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,7 @@ #include "gsiDecl.h" +#include "gsiEnums.h" #include "dbPoint.h" #include "dbText.h" #include "dbHash.h" @@ -36,6 +37,7 @@ template struct text_defs { typedef typename C::coord_type coord_type; + typedef typename C::box_type box_type; typedef typename C::point_type point_type; typedef typename C::vector_type vector_type; typedef db::simple_trans simple_trans_type; @@ -101,22 +103,43 @@ struct text_defs return t->font (); } - static void set_halign (C *t, int f) + static point_type get_pos (C *t) + { + return t->trans () * point_type (); + } + + static box_type get_bbox (C *t) + { + point_type p = get_pos (t); + return box_type (p, p); + } + + static void set_halign (C *t, db::HAlign f) + { + t->halign (f); + } + + static void set_halign_int (C *t, int f) { t->halign (db::HAlign (f)); } - static int get_halign (C *t) + static db::HAlign get_halign (C *t) { return t->halign (); } - static void set_valign (C *t, int f) + static void set_valign (C *t, db::VAlign f) + { + t->valign (f); + } + + static void set_valign_int (C *t, int f) { t->valign (db::VAlign (f)); } - static int get_valign (C *t) + static db::VAlign get_valign (C *t) { return t->valign (); } @@ -186,6 +209,18 @@ struct text_defs method ("string", (const char *(C::*) () const) &C::string, "@brief Get the text string\n" ) + + method_ext ("position", get_pos, + "@brief Gets the position of the text\n" + "\n" + "This convenience method has been added in version 0.28." + ) + + method_ext ("bbox", get_bbox, + "@brief Gets the bounding box of the text\n" + "The bounding box of the text is a single point - the location of the text. " + "Both points of the box are identical.\n" + "\n" + "This method has been added in version 0.28." + ) + method_ext ("x=", set_x, gsi::arg ("x"), "@brief Sets the x location of the text\n" "\n" @@ -210,43 +245,54 @@ struct text_defs "@brief Assign a transformation (text position and orientation) to this object\n" ) + method ("trans", (const simple_trans_type & (C::*) () const) &C::trans, - "@brief Get the transformation\n" + "@brief Gets the transformation\n" ) + method ("size=", (void (C::*) (coord_type)) &C::size, gsi::arg ("s"), - "@brief Set the text height of this object\n" + "@brief Sets the text height of this object\n" ) + method ("size", (coord_type (C::*) () const) &C::size, - "@brief Get the text height\n" + "@brief Gets the text height\n" ) + method_ext ("font=", &set_font, gsi::arg ("f"), - "@brief Set the font number\n" + "@brief Sets the font number\n" + "The font number does not play a role for KLayout. This property is provided " + "for compatibility with other systems which allow using different fonts for the text objects." ) + method_ext ("font", &get_font, - "@brief Get the font number\n" + "@brief Gets the font number\n" + "See \\font= for a description of this property." + ) + + method_ext ("#halign=", &set_halign_int, gsi::arg ("a"), + "@brief Sets the horizontal alignment\n" + "\n" + "This is the version accepting integer values. It's provided for backward compatibility.\n" ) + method_ext ("halign=", &set_halign, gsi::arg ("a"), - "@brief Set the horizontal alignment\n" + "@brief Sets the horizontal alignment\n" "\n" "This property specifies how the text is aligned relative to the anchor point. " - "Allowed values for this property are 0 (left), 1 (center) and 2 (right)." "\n" - "This property has been introduced in version 0.22.\n" + "This property has been introduced in version 0.22 and extended to enums in 0.28.\n" ) + method_ext ("halign", &get_halign, - "@brief Get the horizontal alignment\n" + "@brief Gets the horizontal alignment\n" "\n" "See \\halign= for a description of this property.\n" ) + + method_ext ("#valign=", &set_valign_int, gsi::arg ("a"), + "@brief Sets the vertical alignment\n" + "\n" + "This is the version accepting integer values. It's provided for backward compatibility.\n" + ) + method_ext ("valign=", &set_valign, gsi::arg ("a"), - "@brief Set the vertical alignment\n" + "@brief Sets the vertical alignment\n" "\n" "This property specifies how the text is aligned relative to the anchor point. " - "Allowed values for this property are 0 (top), 1 (center) and 2 (bottom)." "\n" - "This property has been introduced in version 0.22.\n" + "This property has been introduced in version 0.22 and extended to enums in 0.28.\n" ) + method_ext ("valign", &get_valign, - "@brief Get the vertical alignment\n" + "@brief Gets the vertical alignment\n" "\n" "See \\valign= for a description of this property.\n" ) + @@ -303,14 +349,14 @@ struct text_defs "This method was introduced in version 0.23." ) + method ("transformed", &C::template transformed, gsi::arg ("t"), - "@brief Transform the text with the given simple transformation\n" + "@brief Transforms the text with the given simple transformation\n" "\n" "\n" "@param t The transformation to apply\n" "@return The transformed text\n" ) + method ("transformed", &C::template transformed, gsi::arg ("t"), - "@brief Transform the text with the given complex transformation\n" + "@brief Transforms the text with the given complex transformation\n" "\n" "\n" "@param t The magnifying transformation to apply\n" @@ -346,7 +392,7 @@ struct text_defs "This method has been added in version 0.23.\n" ) + method ("to_s", &C::to_string, gsi::arg ("dbu", 0.0), - "@brief Convert to a string.\n" + "@brief Converts the object to a string.\n" "If a DBU is given, the output units will be micrometers.\n" "\n" "The DBU argument has been added in version 0.27.6.\n" @@ -451,4 +497,44 @@ Class decl_DText ("db", "DText", "database objects." ); +gsi::Enum decl_HAlign ("db", "HAlign", + gsi::enum_const ("HAlignLeft", db::HAlignLeft, + "@brief Left horizontal alignment\n" + ) + + gsi::enum_const ("HAlignCenter", db::HAlignCenter, + "@brief Centered horizontal alignment\n" + ) + + gsi::enum_const ("HAlignRight", db::HAlignRight, + "@brief Right horizontal alignment\n" + ) + + gsi::enum_const ("NoHAlign", db::NoHAlign, + "@brief Undefined horizontal alignment\n" + ), + "@brief This class represents the horizontal alignment modes.\n" + "This enum has been introduced in version 0.28." +); + +gsi::Enum decl_VAlign ("db", "VAlign", + gsi::enum_const ("VAlignBottom", db::VAlignBottom, + "@brief Bottom vertical alignment\n" + ) + + gsi::enum_const ("VAlignCenter", db::VAlignCenter, + "@brief Centered vertical alignment\n" + ) + + gsi::enum_const ("VAlignTop", db::VAlignTop, + "@brief Top vertical alignment\n" + ) + + gsi::enum_const ("NoVAlign", db::NoVAlign, + "@brief Undefined vertical alignment\n" + ), + "@brief This class represents the vertical alignment modes.\n" + "This enum has been introduced in version 0.28." +); + +// Inject the alignment enums +gsi::ClassExt inject_Text_HAlign_in_parent (decl_HAlign.defs ()); +gsi::ClassExt inject_DText_HAlign_in_parent (decl_HAlign.defs ()); +gsi::ClassExt inject_Text_VAlign_in_parent (decl_VAlign.defs ()); +gsi::ClassExt inject_DText_VAlign_in_parent (decl_VAlign.defs ()); + } diff --git a/src/db/db/gsiDeclDbTexts.cc b/src/db/db/gsiDeclDbTexts.cc index 68ca83e08..37fc4bd6e 100644 --- a/src/db/db/gsiDeclDbTexts.cc +++ b/src/db/db/gsiDeclDbTexts.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbTilingProcessor.cc b/src/db/db/gsiDeclDbTilingProcessor.cc index f6e672b56..39b17def5 100644 --- a/src/db/db/gsiDeclDbTilingProcessor.cc +++ b/src/db/db/gsiDeclDbTilingProcessor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbTrans.cc b/src/db/db/gsiDeclDbTrans.cc index cd72a204c..a6bfe92c7 100644 --- a/src/db/db/gsiDeclDbTrans.cc +++ b/src/db/db/gsiDeclDbTrans.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -219,7 +219,7 @@ struct trans_defs "\n" "@return The inverted transformation\n" ) + - method ("ctrans", &C::ctrans, arg ("d"), + method ("ctrans|*", &C::ctrans, arg ("d"), "@brief Transforms a distance\n" "\n" "The \"ctrans\" method transforms the given distance.\n" @@ -229,6 +229,8 @@ struct trans_defs "\n" "@param d The distance to transform\n" "@return The transformed distance\n" + "\n" + "The product '*' has been added as a synonym in version 0.28." ) + method ("trans|*", (point_type (C::*) (const point_type &) const) &C::trans, arg ("p"), "@brief Transforms a point\n" @@ -742,7 +744,7 @@ struct cplx_trans_defs "\n" "@return The inverted transformation\n" ) + - method ("ctrans", &C::ctrans, arg ("d"), + method ("ctrans|*", &C::ctrans, arg ("d"), "@brief Transforms a distance\n" "\n" "The \"ctrans\" method transforms the given distance.\n" @@ -752,6 +754,8 @@ struct cplx_trans_defs "\n" "@param d The distance to transform\n" "@return The transformed distance\n" + "\n" + "The product '*' has been added as a synonym in version 0.28." ) + method ("trans|*", (target_point_type (C::*) (const point_type &) const) &C::trans, arg ("p"), "@brief Transforms a point\n" diff --git a/src/db/db/gsiDeclDbUtils.cc b/src/db/db/gsiDeclDbUtils.cc index 87651b054..640efda1a 100644 --- a/src/db/db/gsiDeclDbUtils.cc +++ b/src/db/db/gsiDeclDbUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbVector.cc b/src/db/db/gsiDeclDbVector.cc index 3f5619afa..0e895435c 100644 --- a/src/db/db/gsiDeclDbVector.cc +++ b/src/db/db/gsiDeclDbVector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbArrayTests.cc b/src/db/unit_tests/dbArrayTests.cc index 65e94dd73..21e3de92a 100644 --- a/src/db/unit_tests/dbArrayTests.cc +++ b/src/db/unit_tests/dbArrayTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbBoxScannerTests.cc b/src/db/unit_tests/dbBoxScannerTests.cc index 63e73efae..0aef75c96 100644 --- a/src/db/unit_tests/dbBoxScannerTests.cc +++ b/src/db/unit_tests/dbBoxScannerTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbBoxTests.cc b/src/db/unit_tests/dbBoxTests.cc index 0f0c92cce..01c07cb13 100644 --- a/src/db/unit_tests/dbBoxTests.cc +++ b/src/db/unit_tests/dbBoxTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbBoxTreeTests.cc b/src/db/unit_tests/dbBoxTreeTests.cc index 57fe7254e..b180c310e 100644 --- a/src/db/unit_tests/dbBoxTreeTests.cc +++ b/src/db/unit_tests/dbBoxTreeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCellGraphUtilsTests.cc b/src/db/unit_tests/dbCellGraphUtilsTests.cc index 80a87197d..3186f2b98 100644 --- a/src/db/unit_tests/dbCellGraphUtilsTests.cc +++ b/src/db/unit_tests/dbCellGraphUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCellHullGeneratorTests.cc b/src/db/unit_tests/dbCellHullGeneratorTests.cc index 4afeb11c4..1ec328777 100644 --- a/src/db/unit_tests/dbCellHullGeneratorTests.cc +++ b/src/db/unit_tests/dbCellHullGeneratorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCellMappingTests.cc b/src/db/unit_tests/dbCellMappingTests.cc index c7d7c216d..fc5b84b99 100644 --- a/src/db/unit_tests/dbCellMappingTests.cc +++ b/src/db/unit_tests/dbCellMappingTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCellTests.cc b/src/db/unit_tests/dbCellTests.cc index 6578dea84..0d1e253b9 100644 --- a/src/db/unit_tests/dbCellTests.cc +++ b/src/db/unit_tests/dbCellTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCellVariantsTests.cc b/src/db/unit_tests/dbCellVariantsTests.cc index 7da60cae3..609086b23 100644 --- a/src/db/unit_tests/dbCellVariantsTests.cc +++ b/src/db/unit_tests/dbCellVariantsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbClipTests.cc b/src/db/unit_tests/dbClipTests.cc index 9c8fb606e..48aad4906 100644 --- a/src/db/unit_tests/dbClipTests.cc +++ b/src/db/unit_tests/dbClipTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbCompoundOperationTests.cc b/src/db/unit_tests/dbCompoundOperationTests.cc index 73521e686..0cdf0f831 100644 --- a/src/db/unit_tests/dbCompoundOperationTests.cc +++ b/src/db/unit_tests/dbCompoundOperationTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbD25TechnologyComponentTests.cc b/src/db/unit_tests/dbD25TechnologyComponentTests.cc deleted file mode 100644 index b83365ea4..000000000 --- a/src/db/unit_tests/dbD25TechnologyComponentTests.cc +++ /dev/null @@ -1,102 +0,0 @@ - -/* - - KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - - - -#include "dbD25TechnologyComponent.h" -#include "tlUnitTest.h" - - -TEST(1) -{ - db::D25TechnologyComponent comp; - - comp.set_src ("1/0: 1.0 1.5 # a comment"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5"); - - comp.set_src ("1/0: zstart=1.0 zstop=1.5"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5"); - - comp.set_src ("1/0: zstart=1.0 height=0.5"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5"); - - comp.set_src ("1/0: 1.0 height=0.5"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5"); - - comp.set_src ("1/0: zstop=1.5 height=0.5"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5"); - - comp.set_src ("1/0: zstart=1.0 zstop=1.5\nname: height=3"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5\nname: zstart=1.5, zstop=4.5"); - - comp.set_src ("1/0: zstart=1.0 zstop=1.5\nname: zstart=4.0 height=3\n\n# a comment line"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5\nname: zstart=4, zstop=7"); - - comp.set_src ("var x=1.0\n1/0: zstart=x zstop=x+0.5\nname: zstart=4.0 height=3\n\n# a comment line"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5\nname: zstart=4, zstop=7"); - - comp.set_src ("var x=1.0\nif x == 1.0\n1/0: zstart=x zstop=x+0.5\nelse\n1/0: zstart=0 zstop=0\nend\nname: zstart=4.0 height=3\n\n# a comment line"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=1, zstop=1.5\nname: zstart=4, zstop=7"); - - comp.set_src ("var x=2.0\nif x == 1.0\n1/0: zstart=x zstop=x+0.5\nelse\n1/0: zstart=0 zstop=0\nend\nname: zstart=4.0 height=3\n\n# a comment line"); - comp.compile_from_source (); - EXPECT_EQ (comp.to_string (), "1/0: zstart=0, zstop=0\nname: zstart=4, zstop=7"); - - try { - comp.set_src ("blabla"); - comp.compile_from_source (); - EXPECT_EQ (false, true); - } catch (...) { } - - try { - comp.set_src ("1/0: 1 2 3"); - comp.compile_from_source (); - EXPECT_EQ (false, true); - } catch (...) { } - - try { - comp.set_src ("1/0: foo=1 bar=2"); - comp.compile_from_source (); - EXPECT_EQ (false, true); - } catch (...) { } - - try { - comp.set_src ("1/0: 1;*2"); - comp.compile_from_source (); - EXPECT_EQ (false, true); - } catch (...) { } - - try { - comp.set_src ("error 42"); - comp.compile_from_source (); - EXPECT_EQ (false, true); - } catch (...) { } -} diff --git a/src/db/unit_tests/dbDeepEdgePairsTests.cc b/src/db/unit_tests/dbDeepEdgePairsTests.cc index a11bae0e8..754a39e4e 100644 --- a/src/db/unit_tests/dbDeepEdgePairsTests.cc +++ b/src/db/unit_tests/dbDeepEdgePairsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbDeepEdgesTests.cc b/src/db/unit_tests/dbDeepEdgesTests.cc index f1c3b4a9d..5c3ef9078 100644 --- a/src/db/unit_tests/dbDeepEdgesTests.cc +++ b/src/db/unit_tests/dbDeepEdgesTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbDeepRegionTests.cc b/src/db/unit_tests/dbDeepRegionTests.cc index f22eda02e..fb1dfffbc 100644 --- a/src/db/unit_tests/dbDeepRegionTests.cc +++ b/src/db/unit_tests/dbDeepRegionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbDeepShapeStoreTests.cc b/src/db/unit_tests/dbDeepShapeStoreTests.cc index 0bc95c180..c629f2c6b 100644 --- a/src/db/unit_tests/dbDeepShapeStoreTests.cc +++ b/src/db/unit_tests/dbDeepShapeStoreTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbDeepTextsTests.cc b/src/db/unit_tests/dbDeepTextsTests.cc index e5b973cad..b65ade856 100644 --- a/src/db/unit_tests/dbDeepTextsTests.cc +++ b/src/db/unit_tests/dbDeepTextsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgePairRelationsTests.cc b/src/db/unit_tests/dbEdgePairRelationsTests.cc index 52ef11242..12650e10e 100644 --- a/src/db/unit_tests/dbEdgePairRelationsTests.cc +++ b/src/db/unit_tests/dbEdgePairRelationsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgePairTests.cc b/src/db/unit_tests/dbEdgePairTests.cc index 9a27fa8f0..2577bac33 100644 --- a/src/db/unit_tests/dbEdgePairTests.cc +++ b/src/db/unit_tests/dbEdgePairTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgePairsTests.cc b/src/db/unit_tests/dbEdgePairsTests.cc index 8ec877c12..63fb062f6 100644 --- a/src/db/unit_tests/dbEdgePairsTests.cc +++ b/src/db/unit_tests/dbEdgePairsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgeProcessorTests.cc b/src/db/unit_tests/dbEdgeProcessorTests.cc index 830ed7219..8847cc6fd 100644 --- a/src/db/unit_tests/dbEdgeProcessorTests.cc +++ b/src/db/unit_tests/dbEdgeProcessorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgeTests.cc b/src/db/unit_tests/dbEdgeTests.cc index d47932ced..4386aecba 100644 --- a/src/db/unit_tests/dbEdgeTests.cc +++ b/src/db/unit_tests/dbEdgeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgesTests.cc b/src/db/unit_tests/dbEdgesTests.cc index 543b60704..4cede8b4a 100644 --- a/src/db/unit_tests/dbEdgesTests.cc +++ b/src/db/unit_tests/dbEdgesTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbEdgesToContoursTests.cc b/src/db/unit_tests/dbEdgesToContoursTests.cc index 0dfedd848..5fb4a8914 100644 --- a/src/db/unit_tests/dbEdgesToContoursTests.cc +++ b/src/db/unit_tests/dbEdgesToContoursTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbExpressionTests.cc b/src/db/unit_tests/dbExpressionTests.cc index ab3ad27a4..3d7f3a05b 100644 --- a/src/db/unit_tests/dbExpressionTests.cc +++ b/src/db/unit_tests/dbExpressionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbFillToolTests.cc b/src/db/unit_tests/dbFillToolTests.cc index 1c08d7539..44784e623 100644 --- a/src/db/unit_tests/dbFillToolTests.cc +++ b/src/db/unit_tests/dbFillToolTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbHierNetworkProcessorTests.cc b/src/db/unit_tests/dbHierNetworkProcessorTests.cc index 925de8ab9..0c06713ec 100644 --- a/src/db/unit_tests/dbHierNetworkProcessorTests.cc +++ b/src/db/unit_tests/dbHierNetworkProcessorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbHierProcessorTests.cc b/src/db/unit_tests/dbHierProcessorTests.cc index 442ed5ee8..755082b5f 100644 --- a/src/db/unit_tests/dbHierProcessorTests.cc +++ b/src/db/unit_tests/dbHierProcessorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbHierarchyBuilderTests.cc b/src/db/unit_tests/dbHierarchyBuilderTests.cc index 0a9511dde..ccba69fd1 100644 --- a/src/db/unit_tests/dbHierarchyBuilderTests.cc +++ b/src/db/unit_tests/dbHierarchyBuilderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayerMappingTests.cc b/src/db/unit_tests/dbLayerMappingTests.cc index bd0a5e68c..812dc3649 100644 --- a/src/db/unit_tests/dbLayerMappingTests.cc +++ b/src/db/unit_tests/dbLayerMappingTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayerTests.cc b/src/db/unit_tests/dbLayerTests.cc index f13a22658..f24b3fd87 100644 --- a/src/db/unit_tests/dbLayerTests.cc +++ b/src/db/unit_tests/dbLayerTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayoutDiffTests.cc b/src/db/unit_tests/dbLayoutDiffTests.cc index 798576a3b..4e2786cd8 100644 --- a/src/db/unit_tests/dbLayoutDiffTests.cc +++ b/src/db/unit_tests/dbLayoutDiffTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayoutQueryTests.cc b/src/db/unit_tests/dbLayoutQueryTests.cc index bfc31e3c7..87e0cd37d 100644 --- a/src/db/unit_tests/dbLayoutQueryTests.cc +++ b/src/db/unit_tests/dbLayoutQueryTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -232,6 +232,8 @@ TEST(1) EXPECT_EQ (s, "1,8"); s = q2s_var (iq, "bbox"); EXPECT_EQ (s, "(0,1;2,3),()"); + s = q2s_var (iq, "dbbox"); + EXPECT_EQ (s, "(0,0.001;0.002,0.003),()"); } { @@ -568,16 +570,26 @@ TEST(2) EXPECT_EQ (s, "c1,c1"); s = q2s_var (iq, "trans"); EXPECT_EQ (s, "r0 *1 10,-20,m45 *1 -10,20"); + s = q2s_var (iq, "dtrans"); + EXPECT_EQ (s, "r0 *1 0.01,-0.02,m45 *1 -0.01,0.02"); s = q2s_var (iq, "path_trans"); EXPECT_EQ (s, "r0 *1 10,-20,m45 *1 -10,20"); + s = q2s_var (iq, "path_dtrans"); + EXPECT_EQ (s, "r0 *1 0.01,-0.02,m45 *1 -0.01,0.02"); s = q2s_var (iq, "inst_bbox"); EXPECT_EQ (s, "(10,-10;20,10),(0,20;20,30)"); + s = q2s_var (iq, "inst_dbbox"); + EXPECT_EQ (s, "(0.01,-0.01;0.02,0.01),(0,0.02;0.02,0.03)"); s = q2s_var (iq, "inst"); EXPECT_EQ (s, "cell_index=0 r0 10,-20,cell_index=0 m45 -10,20"); s = q2s_var (iq, "array_a"); EXPECT_EQ (s, "nil,nil"); + s = q2s_var (iq, "array_da"); + EXPECT_EQ (s, "nil,nil"); s = q2s_var (iq, "array_b"); EXPECT_EQ (s, "nil,nil"); + s = q2s_var (iq, "array_db"); + EXPECT_EQ (s, "nil,nil"); s = q2s_var (iq, "array_na"); EXPECT_EQ (s, "nil,nil"); s = q2s_var (iq, "array_nb"); @@ -603,8 +615,12 @@ TEST(2) EXPECT_EQ (s, "cell_index=0 r0 10,-20,cell_index=0 m45 -10,20 array=(1,1,0,2 2x3),cell_index=0 m45 -10,20 array=(1,1,0,2 2x3),cell_index=0 m45 -10,20 array=(1,1,0,2 2x3),cell_index=0 m45 -10,20 array=(1,1,0,2 2x3),cell_index=0 m45 -10,20 array=(1,1,0,2 2x3),cell_index=0 m45 -10,20 array=(1,1,0,2 2x3)"); s = q2s_var (iq, "array_a"); EXPECT_EQ (s, "nil,1,1,1,1,1,1,1,1,1,1,1,1"); + s = q2s_var (iq, "array_da"); + EXPECT_EQ (s, "nil,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001"); s = q2s_var (iq, "array_b"); EXPECT_EQ (s, "nil,0,2,0,2,0,2,0,2,0,2,0,2"); + s = q2s_var (iq, "array_db"); + EXPECT_EQ (s, "nil,0,0.002,0,0.002,0,0.002,0,0.002,0,0.002,0,0.002"); s = q2s_var (iq, "array_na"); EXPECT_EQ (s, "nil,2,2,2,2,2,2"); s = q2s_var (iq, "array_nb"); @@ -788,6 +804,12 @@ TEST(3) EXPECT_EQ (s, "0,1,1,2"); s = q2s_var (iq, "bbox"); EXPECT_EQ (s, "(0,1;2,3),(0,1;2,3),(0,1;2,3),(10,11;10,11)"); + s = q2s_var (iq, "dbbox"); + EXPECT_EQ (s, "(0,0.001;0.002,0.003),(0,0.001;0.002,0.003),(0,0.001;0.002,0.003),(0.01,0.011;0.01,0.011)"); + s = q2s_var (iq, "shape_bbox"); + EXPECT_EQ (s, "(0,1;2,3),(0,1;2,3),(0,1;2,3),(10,11;10,11)"); + s = q2s_var (iq, "shape_dbbox"); + EXPECT_EQ (s, "(0,0.001;0.002,0.003),(0,0.001;0.002,0.003),(0,0.001;0.002,0.003),(0.01,0.011;0.01,0.011)"); } { diff --git a/src/db/unit_tests/dbLayoutTests.cc b/src/db/unit_tests/dbLayoutTests.cc index 303187ecb..f36e3125a 100644 --- a/src/db/unit_tests/dbLayoutTests.cc +++ b/src/db/unit_tests/dbLayoutTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -544,7 +544,7 @@ TEST(5) cell = l.recover_proxy (info); EXPECT_EQ (dynamic_cast (cell) != 0, true); EXPECT_EQ (cell->get_qualified_name (), "LIB.LIBCELL"); - EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); + EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); EXPECT_EQ (cell->get_display_name (), "LIB.LIBCELL"); EXPECT_EQ (l2s (l), "begin_lib 0.001\nbegin_cell {LIBCELL}\nend_cell\nend_lib\n"); @@ -562,7 +562,7 @@ TEST(5) cell = &l.cell (l.cell_by_name ("LIBCELL").second); EXPECT_EQ (dynamic_cast (cell) != 0, true); EXPECT_EQ (cell->get_qualified_name (), "LIB.LIBCELL"); - EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); + EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); EXPECT_EQ (cell->get_display_name (), "LIB.LIBCELL"); // NOTE: the box on 1/0 retained @@ -590,7 +590,7 @@ TEST(5) cell = &l.cell (l.cell_by_name ("LIBCELL").second); EXPECT_EQ (dynamic_cast (cell) != 0, true); EXPECT_EQ (cell->get_qualified_name (), "LIB.LIBCELL"); - EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); + EXPECT_EQ (cell->get_basic_name (), "LIBCELL"); EXPECT_EQ (cell->get_display_name (), "LIB.LIBCELL"); EXPECT_EQ (l2s (l), "begin_lib 0.001\nbegin_cell {LIBCELL}\nbox 1 0 {0 0} {100 200}\nend_cell\nend_lib\n"); diff --git a/src/db/unit_tests/dbLayoutToNetlistReaderTests.cc b/src/db/unit_tests/dbLayoutToNetlistReaderTests.cc index 28f9216cc..6f29b26c5 100644 --- a/src/db/unit_tests/dbLayoutToNetlistReaderTests.cc +++ b/src/db/unit_tests/dbLayoutToNetlistReaderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayoutToNetlistTests.cc b/src/db/unit_tests/dbLayoutToNetlistTests.cc index 7acad9839..05d70654a 100644 --- a/src/db/unit_tests/dbLayoutToNetlistTests.cc +++ b/src/db/unit_tests/dbLayoutToNetlistTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayoutToNetlistWriterTests.cc b/src/db/unit_tests/dbLayoutToNetlistWriterTests.cc index 137fb4785..cf3346a46 100644 --- a/src/db/unit_tests/dbLayoutToNetlistWriterTests.cc +++ b/src/db/unit_tests/dbLayoutToNetlistWriterTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLayoutUtilsTests.cc b/src/db/unit_tests/dbLayoutUtilsTests.cc index 1d39e56eb..26130e050 100644 --- a/src/db/unit_tests/dbLayoutUtilsTests.cc +++ b/src/db/unit_tests/dbLayoutUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,8 @@ #include "dbCellMapping.h" #include "dbTestSupport.h" #include "dbReader.h" +#include "dbLayoutDiff.h" +#include "dbPropertiesRepository.h" #include "tlString.h" #include "tlUnitTest.h" @@ -653,3 +655,127 @@ TEST(18_scale_and_snap) CHECKPOINT(); db::compare_layouts (_this, l1, tl::testdata () + "/algo/layout_utils_au_sns3.gds"); } + +TEST(19_scale_and_snap_basic) +{ + db::Layout l1; + db::Layout l2; + + db::PropertiesRepository::properties_set ps1; + ps1.insert (std::make_pair (l1.properties_repository ().prop_name_id (tl::Variant ("p")), tl::Variant (17))); + db::properties_id_type pid1 = l1.properties_repository ().properties_id (ps1); + + db::PropertiesRepository::properties_set ps2; + ps2.insert (std::make_pair (l2.properties_repository ().prop_name_id (tl::Variant ("p")), tl::Variant (17))); + db::properties_id_type pid2 = l2.properties_repository ().properties_id (ps2); + + db::Cell &top1 = l1.cell (l1.add_cell ("TOP")); + db::Cell &top2 = l2.cell (l2.add_cell ("TOP")); + + db::Cell &a1 = l1.cell (l1.add_cell ("A")); + db::Cell &a2a = l2.cell (l2.add_cell ("A")); + + unsigned int layer1 = l1.insert_layer (db::LayerProperties (1, 0)); + unsigned int layer2 = l2.insert_layer (db::LayerProperties (1, 0)); + + a1.shapes (layer1).insert (db::Box (0, 0, 100, 100)); + a2a.shapes (layer2).insert (db::Box (0, 0, 100, 100)); + + top1.shapes (layer1).insert (db::Box (11, 21, 31, 41)); + top2.shapes (layer2).insert (db::Box (10, 20, 30, 40)); + + top1.shapes (layer1).insert (db::BoxWithProperties (db::Box (11, 21, 31, 41), pid1)); + top2.shapes (layer2).insert (db::BoxWithProperties (db::Box (10, 20, 30, 40), pid2)); + + top1.shapes (layer1).insert (db::Edge (11, 21, 31, 41)); + top2.shapes (layer2).insert (db::Edge (10, 20, 30, 40)); + + top1.shapes (layer1).insert (db::EdgeWithProperties (db::Edge (11, 21, 31, 41), pid1)); + top2.shapes (layer2).insert (db::EdgeWithProperties (db::Edge (10, 20, 30, 40), pid2)); + + top1.shapes (layer1).insert (db::EdgePair (db::Edge (11, 21, 31, 41), db::Edge (111, 121, 131, 141))); + top2.shapes (layer2).insert (db::EdgePair (db::Edge (10, 20, 30, 40), db::Edge (110, 120, 130, 140))); + + top1.shapes (layer1).insert (db::EdgePairWithProperties (db::EdgePair (db::Edge (11, 21, 31, 41), db::Edge (111, 121, 131, 141)), pid1)); + top2.shapes (layer2).insert (db::EdgePairWithProperties (db::EdgePair (db::Edge (10, 20, 30, 40), db::Edge (110, 120, 130, 140)), pid2)); + + top1.shapes (layer1).insert (db::Polygon (db::Box (11, 21, 31, 41))); + top2.shapes (layer2).insert (db::Polygon (db::Box (10, 20, 30, 40))); + + top1.shapes (layer1).insert (db::PolygonWithProperties (db::Polygon (db::Box (11, 21, 31, 41)), pid1)); + top2.shapes (layer2).insert (db::PolygonWithProperties (db::Polygon (db::Box (10, 20, 30, 40)), pid2)); + + db::Point pts1[] = { + db::Point (1, 101), + db::Point (101, 101), + db::Point (101, 201) + }; + + db::Point pts2[] = { + db::Point (0, 100), + db::Point (100, 100), + db::Point (100, 200) + }; + + top1.shapes (layer1).insert (db::Path (&pts1 [0], &pts1 [sizeof (pts1) / sizeof(pts1 [0])], 20)); + top2.shapes (layer2).insert (db::Path (&pts2 [0], &pts2 [sizeof (pts2) / sizeof(pts2 [0])], 20)); + + top1.shapes (layer1).insert (db::PathWithProperties (db::Path (&pts1 [0], &pts1 [sizeof (pts1) / sizeof(pts1 [0])], 20), pid1)); + top2.shapes (layer2).insert (db::PathWithProperties (db::Path (&pts2 [0], &pts2 [sizeof (pts2) / sizeof(pts2 [0])], 20), pid2)); + + top1.shapes (layer1).insert (db::Text ("t1", db::Trans (db::Vector (11, 21)))); + top2.shapes (layer2).insert (db::Text ("t1", db::Trans (db::Vector (10, 20)))); + + top1.shapes (layer1).insert (db::TextWithProperties (db::Text ("t1", db::Trans (db::Vector (11, 21))), pid1)); + top2.shapes (layer2).insert (db::TextWithProperties (db::Text ("t1", db::Trans (db::Vector (10, 20))), pid2)); + + top1.insert (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21)))); + top2.insert (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20)))); + + top1.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21))), pid1)); + top2.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20))), pid2)); + + top1.insert (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21)), db::Vector (0, 10), db::Vector (10, 0), 2, 3)); + top2.insert (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20)), db::Vector (0, 10), db::Vector (10, 0), 2, 3)); + + top1.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21)), db::Vector (0, 10), db::Vector (10, 0), 2, 3), pid1)); + top2.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20)), db::Vector (0, 10), db::Vector (10, 0), 2, 3), pid2)); + + std::vector ia; + ia.push_back (db::Vector (0, 0)); + ia.push_back (db::Vector (10, 0)); + ia.push_back (db::Vector (0, 10)); + + top1.insert (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21)), ia.begin (), ia.end ())); + top2.insert (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20)), ia.begin (), ia.end ())); + + top1.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a1.cell_index ()), db::Trans (db::Vector (11, 21)), ia.begin (), ia.end ()), pid1)); + top2.insert (db::CellInstArrayWithProperties (db::CellInstArray (db::CellInst (a2a.cell_index ()), db::Trans (db::Vector (10, 20)), ia.begin (), ia.end ()), pid2)); + + db::scale_and_snap (l1, top1, 10, 1, 1); + + bool equal = db::compare_layouts (l1, l2, + db::layout_diff::f_verbose + | db::layout_diff::f_boxes_as_polygons + | db::layout_diff::f_paths_as_polygons + , 0, 100 /*max diff lines*/); + EXPECT_EQ (equal, true); +} + +TEST(20_scale_and_snap) +{ + db::Layout l1; + { + std::string fn (tl::testdata ()); + fn += "/algo/scale_and_snap4.oas"; + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l1); + } + + db::scale_and_snap (l1, l1.cell (*l1.begin_top_down ()), 10, 95, 100); + + CHECKPOINT(); + db::compare_layouts (_this, l1, tl::testdata () + "/algo/layout_utils_au_sns4.oas", db::NormalizationMode (db::WriteOAS + db::WithArrays)); +} + diff --git a/src/db/unit_tests/dbLayoutVsSchematicTests.cc b/src/db/unit_tests/dbLayoutVsSchematicTests.cc index 60f7647f4..f617ae11d 100644 --- a/src/db/unit_tests/dbLayoutVsSchematicTests.cc +++ b/src/db/unit_tests/dbLayoutVsSchematicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbLibrariesTests.cc b/src/db/unit_tests/dbLibrariesTests.cc index c60cd6c4f..6e30885a1 100644 --- a/src/db/unit_tests/dbLibrariesTests.cc +++ b/src/db/unit_tests/dbLibrariesTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ #include "dbWriter.h" #include "dbReader.h" #include "dbLayoutDiff.h" +#include "dbTestSupport.h" #include "tlStream.h" #include "tlStaticObjects.h" #include "tlUnitTest.h" @@ -187,6 +188,14 @@ public: cell_a.shapes(l1).insert(db::Box (50, 50, 150, 150)); cell_a.shapes(l2).insert(db::Box (0, 0, 200, 1000)); } + + void modify () + { + db::Cell &cell_a = layout ().cell (layout ().cell_by_name ("A").second); + unsigned int l1 = layout ().get_layer (db::LayerProperties (1, 0)); + cell_a.shapes (l1).clear (); + cell_a.shapes (l1).insert(db::Box (60, 60, 160, 160)); + } }; class LIBT_B @@ -226,221 +235,164 @@ public: } }; -static bool compare_vs_au (const tl::TestBase *tb, const db::Layout &layout, const std::string &filename) -{ - db::Layout layout_au; - - std::string fn (tl::testdata ()); - fn += "/gds/"; - fn += filename; - tl::InputStream stream (fn); - db::Reader reader (stream); - reader.read (layout_au); - - // generate a "unique" name ... - unsigned int hash = 0; - for (const char *cp = filename.c_str (); *cp; ++cp) { - hash = (hash << 4) ^ (hash >> 4) ^ ((unsigned int) *cp); - } - - std::string tmp_file = tb->tmp_file (tl::sprintf ("tmp_%x.gds", hash)); - - // "normalize" the layout by writing and reading ... - { - db::Writer writer = db::Writer (db::SaveLayoutOptions ()); - tl::OutputStream stream (tmp_file); - writer.write (const_cast (layout), stream); - } - - db::Layout tmp; - tl::InputStream tmp_stream (tmp_file); - db::Reader reader_tmp (tmp_stream); - reader_tmp.read (tmp); - - bool equal = db::compare_layouts (tmp, layout_au, db::layout_diff::f_verbose, 0); - if (! equal) { - tl::warn << tl::sprintf ("Compare failed - see %s vs %s\n", tmp_file, fn); - } - return equal; -} - TEST(1) { - bool equal; - std::vector libnames_before; for (db::LibraryManager::iterator il = db::LibraryManager::instance ().begin (); il != db::LibraryManager::instance ().end (); ++il) { libnames_before.push_back (il->first); } std::sort (libnames_before.begin (), libnames_before.end ()); - LIBT_L *l = new LIBT_L (_this); - db::lib_id_type lib_id = db::LibraryManager::instance ().register_lib (l); + std::unique_ptr l (new LIBT_L (_this)); + db::lib_id_type lib_id = db::LibraryManager::instance ().register_lib (l.get ()); - try { + std::vector libnames_withl; + for (db::LibraryManager::iterator il = db::LibraryManager::instance ().begin (); il != db::LibraryManager::instance ().end (); ++il) { + libnames_withl.push_back (il->first); + } + std::sort (libnames_withl.begin (), libnames_withl.end ()); - std::vector libnames_withl; - for (db::LibraryManager::iterator il = db::LibraryManager::instance ().begin (); il != db::LibraryManager::instance ().end (); ++il) { - libnames_withl.push_back (il->first); - } - std::sort (libnames_withl.begin (), libnames_withl.end ()); + std::vector ll = libnames_before; + ll.push_back ("L"); + std::sort (ll.begin (), ll.end ()); - std::vector ll = libnames_before; - ll.push_back ("L"); - std::sort (ll.begin (), ll.end ()); + EXPECT_EQ (tl::join (libnames_withl, ","), tl::join (ll, ",")); - EXPECT_EQ (tl::join (libnames_withl, ","), tl::join (ll, ",")); + std::pair lbn; + lbn = db::LibraryManager::instance ().lib_by_name ("X"); + EXPECT_EQ (lbn.first, false); + lbn = db::LibraryManager::instance ().lib_by_name ("L"); + EXPECT_EQ (lbn.first, true); + EXPECT_EQ (lbn.second, lib_id); - std::pair lbn; - lbn = db::LibraryManager::instance ().lib_by_name ("X"); - EXPECT_EQ (lbn.first, false); - lbn = db::LibraryManager::instance ().lib_by_name ("L"); - EXPECT_EQ (lbn.first, true); - EXPECT_EQ (lbn.second, lib_id); + db::Library *lib = db::LibraryManager::instance ().lib (lib_id); + EXPECT_EQ (lib == l.get (), true); + EXPECT_EQ (lib->get_id (), lib_id); + EXPECT_EQ (lib->get_name (), "L"); + EXPECT_EQ (lib->get_description (), "A test library."); - db::Library *lib = db::LibraryManager::instance ().lib (lib_id); - EXPECT_EQ (lib == l, true); - EXPECT_EQ (lib->get_id (), lib_id); - EXPECT_EQ (lib->get_name (), "L"); - EXPECT_EQ (lib->get_description (), "A test library."); + EXPECT_EQ (lib->layout ().get_properties(0).to_string (), "23/0"); + EXPECT_EQ (lib->layout ().get_properties(1).to_string (), "16/0"); + EXPECT_EQ (lib->layout ().get_properties(2).to_string (), "24/0"); - EXPECT_EQ (lib->layout ().get_properties(0).to_string (), "23/0"); - EXPECT_EQ (lib->layout ().get_properties(1).to_string (), "16/0"); - EXPECT_EQ (lib->layout ().get_properties(2).to_string (), "24/0"); + db::Manager m (true); + db::Layout layout(&m); + layout.dbu (0.001); - db::Manager m (true); - db::Layout layout(&m); - layout.dbu (0.001); + db::Cell &top = layout.cell (layout.add_cell ("TOP")); - db::Cell &top = layout.cell (layout.add_cell ("TOP")); + EXPECT_EQ (lib->layout ().cell_by_name ("TOP").first, true); + db::cell_index_type lib_top = lib->layout ().cell_by_name ("TOP").second; + db::cell_index_type lp1 = layout.get_lib_proxy (lib, lib_top); - EXPECT_EQ (lib->layout ().cell_by_name ("TOP").first, true); - db::cell_index_type lib_top = lib->layout ().cell_by_name ("TOP").second; - db::cell_index_type lp1 = layout.get_lib_proxy (lib, lib_top); + EXPECT_EQ (std::string (layout.cell_name (lp1)), "TOP$1"); + EXPECT_EQ (layout.basic_name (lp1), "TOP"); + EXPECT_EQ (layout.display_name (lp1), "L.TOP"); - EXPECT_EQ (std::string (layout.cell_name (lp1)), "TOP$1"); - EXPECT_EQ (layout.basic_name (lp1), "TOP"); - EXPECT_EQ (layout.display_name (lp1), "L.TOP"); + EXPECT_EQ (layout.get_properties(0).to_string (), "23/0"); + EXPECT_EQ (layout.get_properties(1).to_string (), "16/0"); + EXPECT_EQ (layout.get_properties(2).to_string (), "24/0"); - EXPECT_EQ (layout.get_properties(0).to_string (), "23/0"); - EXPECT_EQ (layout.get_properties(1).to_string (), "16/0"); - EXPECT_EQ (layout.get_properties(2).to_string (), "24/0"); + db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp1), db::Trans (db::Vector (0, 0)))); - db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp1), db::Trans (db::Vector (0, 0)))); + std::vector parameters; + parameters.push_back (tl::Variant ()); + parameters.push_back (tl::Variant ()); + parameters.push_back (tl::Variant ()); + tl::Variant &width = parameters[0]; + tl::Variant &height = parameters[1]; + tl::Variant &orientation = parameters[2]; + width = 2.0; + height = 10.0; + orientation = (long)3; - std::vector parameters; - parameters.push_back (tl::Variant ()); - parameters.push_back (tl::Variant ()); - parameters.push_back (tl::Variant ()); - tl::Variant &width = parameters[0]; - tl::Variant &height = parameters[1]; - tl::Variant &orientation = parameters[2]; - width = 2.0; - height = 10.0; - orientation = (long)3; + EXPECT_EQ (lib->layout ().pcell_by_name ("PD").first, true); + db::pcell_id_type pd = lib->layout ().pcell_by_name ("PD").second; + db::cell_index_type lib_pd1 = lib->layout ().get_pcell_variant (pd, parameters); + db::cell_index_type lp2 = layout.get_lib_proxy (lib, lib_pd1); + EXPECT_EQ (std::string (layout.cell_name (lp2)), "PD$2"); + EXPECT_EQ (layout.basic_name (lp2), "PD"); + EXPECT_EQ (layout.display_name (lp2), "L.PD*"); - EXPECT_EQ (lib->layout ().pcell_by_name ("PD").first, true); - db::pcell_id_type pd = lib->layout ().pcell_by_name ("PD").second; - db::cell_index_type lib_pd1 = lib->layout ().get_pcell_variant (pd, parameters); - db::cell_index_type lp2 = layout.get_lib_proxy (lib, lib_pd1); - EXPECT_EQ (std::string (layout.cell_name (lp2)), "PD$2"); - EXPECT_EQ (layout.basic_name (lp2), "PD"); - EXPECT_EQ (layout.display_name (lp2), "L.PD*"); + const db::Cell *lp2_cell = &layout.cell (lp2); + EXPECT_EQ (dynamic_cast (lp2_cell) != 0, true); + EXPECT_EQ (lp2_cell->is_proxy (), true); + EXPECT_EQ (layout.is_pcell_instance (lp2).first, true); + EXPECT_EQ (layout.is_pcell_instance (lp2).second, pd); + EXPECT_EQ (layout.get_pcell_parameters (lp2)[0].to_string(), std::string ("2")); + EXPECT_EQ (layout.get_pcell_parameters (lp2)[1].to_string(), std::string ("10")); - const db::Cell *lp2_cell = &layout.cell (lp2); - EXPECT_EQ (dynamic_cast (lp2_cell) != 0, true); - EXPECT_EQ (lp2_cell->is_proxy (), true); - EXPECT_EQ (layout.is_pcell_instance (lp2).first, true); - EXPECT_EQ (layout.is_pcell_instance (lp2).second, pd); - EXPECT_EQ (layout.get_pcell_parameters (lp2)[0].to_string(), std::string ("2")); - EXPECT_EQ (layout.get_pcell_parameters (lp2)[1].to_string(), std::string ("10")); + db::Instance i2 = top.insert (db::CellInstArray (db::CellInst (lp2), db::Trans (db::Vector (10000, 0)))); - db::Instance i2 = top.insert (db::CellInstArray (db::CellInst (lp2), db::Trans (db::Vector (10000, 0)))); + db::Writer writer = db::Writer (db::SaveLayoutOptions ()); + + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); + + // if not in editable mode, we could have lost the reference to the second instance + if (db::default_editable_mode ()) { + + m.transaction ("x"); + + height = 5.0; + db::cell_index_type i2_cid = i2.cell_index (); + i2 = top.change_pcell_parameters (i2, parameters); + EXPECT_NE (i2.cell_index (), i2_cid); + + EXPECT_EQ (std::string (layout.cell_name (i2.cell_index ())), "PD$3"); + EXPECT_EQ (layout.basic_name (i2.cell_index ()), "PD"); + EXPECT_EQ (layout.display_name (i2.cell_index ()), "L.PD*"); - db::Writer writer = db::Writer (db::SaveLayoutOptions ()); /* produce golden: - tl::OutputStream stream ("lib_test.gds"); - writer.write (layout, stream); + tl::OutputStream stream2 ("lib_test2.gds"); + writer.write (layout, stream2); */ - equal = compare_vs_au (this, layout, "lib_test.gds"); - EXPECT_EQ (equal, true); + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test2.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); - // if not in editable mode, we could have lost the reference to the second instance - if (db::default_editable_mode ()) { + m.commit (); - m.transaction ("x"); + m.transaction ("y"); - height = 5.0; - db::cell_index_type i2_cid = i2.cell_index (); - i2 = top.change_pcell_parameters (i2, parameters); - EXPECT_NE (i2.cell_index (), i2_cid); + width = 0.5; + height = 1.0; + orientation = long (0); - EXPECT_EQ (std::string (layout.cell_name (i2.cell_index ())), "PD$3"); - EXPECT_EQ (layout.basic_name (i2.cell_index ()), "PD"); - EXPECT_EQ (layout.display_name (i2.cell_index ()), "L.PD*"); - - /* produce golden: - tl::OutputStream stream2 ("lib_test2.gds"); - writer.write (layout, stream2); - */ + i2 = top.change_pcell_parameters (i2, parameters); - equal = compare_vs_au (this, layout, "lib_test2.gds"); - EXPECT_EQ (equal, true); + /* produce golden: + tl::OutputStream stream3 ("lib_test3.gds"); + writer.write (layout, stream3); + */ - m.commit (); + EXPECT_EQ (std::string (layout.cell_name (i2.cell_index ())), "PD"); + EXPECT_EQ (layout.basic_name (i2.cell_index ()), "PD"); + EXPECT_EQ (layout.display_name (i2.cell_index ()), "L.PD*"); - m.transaction ("y"); + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test3.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); - width = 0.5; - height = 1.0; - orientation = long (0); + m.commit (); - i2 = top.change_pcell_parameters (i2, parameters); + m.undo (); - /* produce golden: - tl::OutputStream stream3 ("lib_test3.gds"); - writer.write (layout, stream3); - */ + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test2.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); - EXPECT_EQ (std::string (layout.cell_name (i2.cell_index ())), "PD"); - EXPECT_EQ (layout.basic_name (i2.cell_index ()), "PD"); - EXPECT_EQ (layout.display_name (i2.cell_index ()), "L.PD*"); - - equal = compare_vs_au (this, layout, "lib_test3.gds"); - EXPECT_EQ (equal, true); + m.undo (); - m.commit (); + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); - m.undo (); - - equal = compare_vs_au (this, layout, "lib_test2.gds"); - EXPECT_EQ (equal, true); - - m.undo (); - - equal = compare_vs_au (this, layout, "lib_test.gds"); - EXPECT_EQ (equal, true); - - m.redo (); - - equal = compare_vs_au (this, layout, "lib_test2.gds"); - EXPECT_EQ (equal, true); - } - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (l); - - } catch (...) { - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (l); - throw; + m.redo (); + CHECKPOINT (); + db::compare_layouts (this, layout, tl::testdata () + "/gds/lib_test2.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); } + db::LibraryManager::instance ().delete_lib (l.release ()); + std::vector libnames_after; for (db::LibraryManager::iterator il = db::LibraryManager::instance ().begin (); il != db::LibraryManager::instance ().end (); ++il) { libnames_after.push_back (il->first); @@ -452,252 +404,217 @@ TEST(1) TEST(2) { - LIBT_L *lib = new LIBT_L (_this); - db::LibraryManager::instance ().register_lib (lib); + std::unique_ptr lib (new LIBT_L (_this)); + db::LibraryManager::instance ().register_lib (lib.get ()); - try { + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("L").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("L").second, lib->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib (lib->get_id ()) == lib.get (), true); - bool equal; - db::Writer writer = db::Writer (db::SaveLayoutOptions ()); + db::Writer writer = db::Writer (db::SaveLayoutOptions ()); - db::Manager m (true); - db::Layout layout(&m); - layout.dbu (0.001); + db::Manager m (true); + db::Layout layout(&m); + layout.dbu (0.001); - db::Cell &top = layout.cell (layout.add_cell ("TOP")); + db::Cell &top = layout.cell (layout.add_cell ("TOP")); - db::cell_index_type lib_top = lib->layout ().cell_by_name ("TOP").second; - db::cell_index_type lp1 = layout.get_lib_proxy (lib, lib_top); - db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp1), db::Trans (db::Vector (0, 0)))); + db::cell_index_type lib_top = lib->layout ().cell_by_name ("TOP").second; + db::cell_index_type lp1 = layout.get_lib_proxy (lib.get (), lib_top); + db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp1), db::Trans (db::Vector (0, 0)))); - std::vector parameters; - parameters.push_back (tl::Variant ()); - parameters.push_back (tl::Variant ()); - parameters.push_back (tl::Variant ()); - tl::Variant &width = parameters[0]; - tl::Variant &height = parameters[1]; - tl::Variant &orientation = parameters[2]; - width = 2.0; - height = 10.0; - orientation = (long)3; + std::vector parameters; + parameters.push_back (tl::Variant ()); + parameters.push_back (tl::Variant ()); + parameters.push_back (tl::Variant ()); + tl::Variant &width = parameters[0]; + tl::Variant &height = parameters[1]; + tl::Variant &orientation = parameters[2]; + width = 2.0; + height = 10.0; + orientation = (long)3; - db::pcell_id_type pd = lib->layout ().pcell_by_name ("PD").second; - db::cell_index_type lib_pd1 = lib->layout ().get_pcell_variant (pd, parameters); - db::cell_index_type lp2 = layout.get_lib_proxy (lib, lib_pd1); - db::Instance i2 = top.insert (db::CellInstArray (db::CellInst (lp2), db::Trans (db::Vector (10000, 0)))); + db::pcell_id_type pd = lib->layout ().pcell_by_name ("PD").second; + db::cell_index_type lib_pd1 = lib->layout ().get_pcell_variant (pd, parameters); + db::cell_index_type lp2 = layout.get_lib_proxy (lib.get (), lib_pd1); + db::Instance i2 = top.insert (db::CellInstArray (db::CellInst (lp2), db::Trans (db::Vector (10000, 0)))); - EXPECT_EQ (std::string (layout.cell_name (lp2)), "PD$2"); - EXPECT_EQ (layout.basic_name (lp2), "PD"); - EXPECT_EQ (layout.display_name (lp2), "L.PD*"); + EXPECT_EQ (std::string (layout.cell_name (lp2)), "PD$2"); + EXPECT_EQ (layout.basic_name (lp2), "PD"); + EXPECT_EQ (layout.display_name (lp2), "L.PD*"); - std::string tmp_file = tl::TestBase::tmp_file (tl::sprintf ("tmp_dbLibraries2.gds")); + std::string tmp_file = tl::TestBase::tmp_file (tl::sprintf ("tmp_dbLibraries2.gds")); - { - tl::OutputStream stream (tmp_file); - writer.write (layout, stream); - } + { + tl::OutputStream stream (tmp_file); + writer.write (layout, stream); + } - db::Layout tmp; - { - tl::InputStream tmp_stream (tmp_file); - db::Reader reader_tmp (tmp_stream); - reader_tmp.read (tmp); - } - - std::pair tmp_pd2 = tmp.cell_by_name ("PD$2"); - EXPECT_EQ (tmp_pd2.first, true); - EXPECT_EQ (tmp.basic_name (tmp_pd2.second), "PD"); - EXPECT_EQ (tmp.display_name (tmp_pd2.second), "L.PD*"); + db::Layout tmp; + { + tl::InputStream tmp_stream (tmp_file); + db::Reader reader_tmp (tmp_stream); + reader_tmp.read (tmp); + } - db::Instance tmp_i2 = tmp.cell (tmp_pd2.second).begin_parent_insts ()->child_inst (); - EXPECT_EQ (tmp_i2.cell_index (), tmp_pd2.second); - std::vector new_param = tmp.get_pcell_parameters (tmp_pd2.second); + std::pair tmp_pd2 = tmp.cell_by_name ("PD$2"); + EXPECT_EQ (tmp_pd2.first, true); + EXPECT_EQ (tmp.basic_name (tmp_pd2.second), "PD"); + EXPECT_EQ (tmp.display_name (tmp_pd2.second), "L.PD*"); - EXPECT_EQ (new_param.size (), size_t (3)); - EXPECT_EQ (new_param[0].to_string (), std::string ("2")); - EXPECT_EQ (new_param[1].to_string (), std::string ("10")); - EXPECT_EQ (new_param[2].to_string (), std::string ("3")); + db::Instance tmp_i2 = tmp.cell (tmp_pd2.second).begin_parent_insts ()->child_inst (); + EXPECT_EQ (tmp_i2.cell_index (), tmp_pd2.second); + std::vector new_param = tmp.get_pcell_parameters (tmp_pd2.second); - std::pair tt = tmp.cell_by_name ("TOP"); - EXPECT_EQ (tt.first, true); - db::Cell &tmp_top = tmp.cell (tt.second); - - if (db::default_editable_mode ()) { + EXPECT_EQ (new_param.size (), size_t (3)); + EXPECT_EQ (new_param[0].to_string (), std::string ("2")); + EXPECT_EQ (new_param[1].to_string (), std::string ("10")); + EXPECT_EQ (new_param[2].to_string (), std::string ("3")); - new_param[1] = 5.0; - db::cell_index_type tmp_i2_cid = tmp_i2.cell_index (); - tmp_i2 = tmp_top.change_pcell_parameters (tmp_i2, new_param); + std::pair tt = tmp.cell_by_name ("TOP"); + EXPECT_EQ (tt.first, true); + db::Cell &tmp_top = tmp.cell (tt.second); - EXPECT_NE (tmp_i2.cell_index (), tmp_i2_cid); + if (db::default_editable_mode ()) { - EXPECT_EQ (std::string (tmp.cell_name (tmp_i2.cell_index ())), "PD$3"); - EXPECT_EQ (tmp.basic_name (tmp_i2.cell_index ()), "PD"); - EXPECT_EQ (tmp.display_name (tmp_i2.cell_index ()), "L.PD*"); - - /* produce golden: - tl::OutputStream stream3 ("lib_test2.gds"); - writer.write (tmp, stream3); - */ - - equal = compare_vs_au (this, tmp, "lib_test2.gds"); - EXPECT_EQ (equal, true); + new_param[1] = 5.0; + db::cell_index_type tmp_i2_cid = tmp_i2.cell_index (); + tmp_i2 = tmp_top.change_pcell_parameters (tmp_i2, new_param); - } + EXPECT_NE (tmp_i2.cell_index (), tmp_i2_cid); - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (lib); + EXPECT_EQ (std::string (tmp.cell_name (tmp_i2.cell_index ())), "PD$3"); + EXPECT_EQ (tmp.basic_name (tmp_i2.cell_index ()), "PD"); + EXPECT_EQ (tmp.display_name (tmp_i2.cell_index ()), "L.PD*"); - } catch (...) { - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (lib); - throw; + CHECKPOINT (); + db::compare_layouts (this, tmp, tl::testdata () + "/gds/lib_test2.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); } + + // unregister the library through the destructor + lib.reset (0); + + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("L").first, false); } TEST(3) { - LIBT_A *lib_a = new LIBT_A (); - db::LibraryManager::instance ().register_lib (lib_a); + std::unique_ptr lib_a (new LIBT_A ()); + db::LibraryManager::instance ().register_lib (lib_a.get ()); - LIBT_B *lib_b = new LIBT_B (); - db::LibraryManager::instance ().register_lib (lib_b); + std::unique_ptr lib_b (new LIBT_B ()); + db::LibraryManager::instance ().register_lib (lib_b.get ()); - try { + // This test tests the ability to reference libraries out of other libraries ("B" references "A"), + // the ability to persist that and whether this survives a write/read cycle. - // This test tests the ability to reference libraries out of other libraries ("B" references "A"), - // the ability to persist that and whether this survives a write/read cycle. - - db::Manager m (true); - db::Layout layout(&m); - layout.dbu (0.001); + db::Manager m (true); + db::Layout layout(&m); + layout.dbu (0.001); - db::Cell &top = layout.cell (layout.add_cell ("TOP")); + db::Cell &top = layout.cell (layout.add_cell ("TOP")); - db::cell_index_type lib_bb = lib_b->layout ().cell_by_name ("B").second; - db::cell_index_type lp = layout.get_lib_proxy (lib_b, lib_bb); - db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp), db::Trans (db::Vector (0, 0)))); + db::cell_index_type lib_bb = lib_b->layout ().cell_by_name ("B").second; + db::cell_index_type lp = layout.get_lib_proxy (lib_b.get (), lib_bb); + db::Instance i1 = top.insert (db::CellInstArray (db::CellInst (lp), db::Trans (db::Vector (0, 0)))); - std::string tmp_file = tl::TestBase::tmp_file (tl::sprintf ("tmp_dbLibraries3.gds")); - - { - db::Writer writer = db::Writer (db::SaveLayoutOptions ()); - tl::OutputStream stream (tmp_file); - writer.write (layout, stream); - } - - layout.clear (); - - db::Layout tmp; - { - tl::InputStream tmp_stream (tmp_file); - db::Reader reader_tmp (tmp_stream); - reader_tmp.read (tmp); - } - - bool equal = compare_vs_au (this, tmp, "lib_test4.gds"); - EXPECT_EQ (equal, true); - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (lib_a); - db::LibraryManager::instance ().delete_lib (lib_b); - - } catch (...) { - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - db::LibraryManager::instance ().delete_lib (lib_a); - db::LibraryManager::instance ().delete_lib (lib_b); - throw; + std::string tmp_file = tl::TestBase::tmp_file (tl::sprintf ("tmp_dbLibraries3.gds")); + { + db::Writer writer = db::Writer (db::SaveLayoutOptions ()); + tl::OutputStream stream (tmp_file); + writer.write (layout, stream); } + + layout.clear (); + + db::Layout tmp; + { + tl::InputStream tmp_stream (tmp_file); + db::Reader reader_tmp (tmp_stream); + reader_tmp.read (tmp); + } + + CHECKPOINT (); + db::compare_layouts (this, tmp, tl::testdata () + "/gds/lib_test4.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); } TEST(4) { - tl::weak_ptr lib_a1 (new LIBT_A ()); + std::unique_ptr lib_a1_inst (new LIBT_A ()); + tl::weak_ptr lib_a1 (lib_a1_inst.get ()); lib_a1->add_technology ("X"); - tl::weak_ptr lib_a2 (new LIBT_A ()); + std::unique_ptr lib_a2_inst (new LIBT_A ()); + tl::weak_ptr lib_a2 (lib_a2_inst.get ()); lib_a2->add_technology ("Y"); - tl::weak_ptr lib_a3 (new LIBT_A ()); + std::unique_ptr lib_a3_inst (new LIBT_A ()); + tl::weak_ptr lib_a3 (lib_a3_inst.get ()); lib_a3->add_technology ("X"); - tl::weak_ptr lib_a4 (new LIBT_A ()); + std::unique_ptr lib_a4_inst (new LIBT_A ()); + tl::weak_ptr lib_a4 (lib_a4_inst.get ()); - try { + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, false); + db::LibraryManager::instance ().register_lib (lib_a1.get ()); - db::LibraryManager::instance ().register_lib (lib_a1.get ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a1->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a1->get_id ()); + db::LibraryManager::instance ().register_lib (lib_a2.get ()); - db::LibraryManager::instance ().register_lib (lib_a2.get ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a1->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a1->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); + db::LibraryManager::instance ().register_lib (lib_a3.get ()); + // lib_a3 replaces lib_a1 + EXPECT_EQ (lib_a1.get () == 0, true); + lib_a1_inst.release (); - db::LibraryManager::instance ().register_lib (lib_a3.get ()); - // lib_a3 replaces lib_a1 - EXPECT_EQ (lib_a1.get () == 0, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a3->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, false); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a3->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); + db::LibraryManager::instance ().register_lib (lib_a4.get ()); - db::LibraryManager::instance ().register_lib (lib_a4.get ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").second, lib_a4->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").second, lib_a4->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").second, lib_a4->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a3->get_id ()); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); + EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A").second, lib_a4->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Z").second, lib_a4->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "").second, lib_a4->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "X").second, lib_a3->get_id ()); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").first, true); - EXPECT_EQ (db::LibraryManager::instance ().lib_by_name ("A", "Y").second, lib_a2->get_id ()); + lib_a1_inst.reset (0); + lib_a2_inst.reset (0); + lib_a3_inst.reset (0); + lib_a4_inst.reset (0); - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - if (lib_a1.get ()) { db::LibraryManager::instance ().delete_lib (lib_a1.get ()); } - if (lib_a2.get ()) { db::LibraryManager::instance ().delete_lib (lib_a2.get ()); } - if (lib_a3.get ()) { db::LibraryManager::instance ().delete_lib (lib_a3.get ()); } - if (lib_a4.get ()) { db::LibraryManager::instance ().delete_lib (lib_a4.get ()); } - - } catch (...) { - - // because we switch to editable mode in between we have to clear the repository explicitly. Otherwise it's being cleared - // on next entry of TEST which will cause a segmentation fault if editable mode is different then. - if (lib_a1.get ()) { db::LibraryManager::instance ().delete_lib (lib_a1.get ()); } - if (lib_a2.get ()) { db::LibraryManager::instance ().delete_lib (lib_a2.get ()); } - if (lib_a3.get ()) { db::LibraryManager::instance ().delete_lib (lib_a3.get ()); } - if (lib_a4.get ()) { db::LibraryManager::instance ().delete_lib (lib_a4.get ()); } - throw; - - } + EXPECT_EQ (lib_a1.get () == 0, true); + EXPECT_EQ (lib_a2.get () == 0, true); + EXPECT_EQ (lib_a3.get () == 0, true); + EXPECT_EQ (lib_a4.get () == 0, true); } namespace { @@ -734,8 +651,7 @@ class PCell2Declaration : // self-referencing libraries TEST(5_issue905) { - std::unique_ptr lib; - lib.reset (new db::Library ()); + std::unique_ptr lib (new db::Library ()); lib->set_name ("__PCellLibrary"); lib->layout ().register_pcell ("PCell1", new PCell1Declaration ()); lib->layout ().register_pcell ("PCell2", new PCell2Declaration ()); @@ -751,3 +667,34 @@ TEST(5_issue905) db::LibraryManager::instance ().delete_lib (lib.release ()); EXPECT (true); } + +// refresh function +TEST(6_issue996) +{ + std::unique_ptr lib (new LIBT_A ()); + db::LibraryManager::instance ().register_lib (lib.get ()); + + db::cell_index_type ci_a = lib->layout ().cell_by_name ("A").second; + + db::Layout ly; + + db::cell_index_type lib_cell = ly.get_lib_proxy (lib.get (), ci_a); + db::Cell &top_cell = ly.cell (ly.add_cell ("TOP")); + + top_cell.insert (db::CellInstArray (lib_cell, db::Trans ())); + + CHECKPOINT (); + db::compare_layouts (this, ly, tl::testdata () + "/gds/lib_test6a.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); + + lib->modify (); + + // not updated yet + CHECKPOINT (); + db::compare_layouts (this, ly, tl::testdata () + "/gds/lib_test6a.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); + + lib->refresh (); + + // updated now + CHECKPOINT (); + db::compare_layouts (this, ly, tl::testdata () + "/gds/lib_test6b.gds", db::NormalizationMode (db::WriteGDS2 + db::NoContext)); +} diff --git a/src/db/unit_tests/dbLoadLayoutOptionsTests.cc b/src/db/unit_tests/dbLoadLayoutOptionsTests.cc index 312fced75..1f3cbd5a5 100644 --- a/src/db/unit_tests/dbLoadLayoutOptionsTests.cc +++ b/src/db/unit_tests/dbLoadLayoutOptionsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbMatrixTests.cc b/src/db/unit_tests/dbMatrixTests.cc index d64e249a2..5ebbbe103 100644 --- a/src/db/unit_tests/dbMatrixTests.cc +++ b/src/db/unit_tests/dbMatrixTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbNetShapeTests.cc b/src/db/unit_tests/dbNetShapeTests.cc index 760475297..591ae6dd1 100644 --- a/src/db/unit_tests/dbNetShapeTests.cc +++ b/src/db/unit_tests/dbNetShapeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index 68e4f2d3a..82e9d28b1 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2634,13 +2634,13 @@ TEST(17_InherentlyAmbiguousDecoder) "match_nets VSS VSS\n" "match_nets VDD VDD\n" "match_nets NQ0 NQ0\n" - "match_ambiguous_nets NQ1 NQ1\n" - "match_ambiguous_nets NQ2 NQ2\n" + "match_nets NQ1 NQ1\n" + "match_nets NQ2 NQ2\n" "match_nets NQ3 NQ3\n" "match_nets NA NA\n" "match_nets NB NB\n" - "match_nets B B\n" "match_nets A A\n" + "match_nets B B\n" "match_pins $0 $1\n" "match_pins $1 $0\n" "match_pins $2 $2\n" @@ -2692,8 +2692,8 @@ TEST(17_InherentlyAmbiguousDecoder) "match_nets NQ3 NQ3\n" "match_nets NA NA\n" "match_nets NB NB\n" - "match_nets B B\n" "match_nets A A\n" + "match_nets B B\n" "match_pins $0 $1\n" "match_pins $1 $0\n" "match_pins $2 $2\n" @@ -2903,18 +2903,18 @@ TEST(18_ClockTree) "match_nets S S\n" "match_nets SX SX\n" "match_nets SX SX\n" - "match_nets SXX SXX\n" - "match_nets SXX SXX\n" + "match_nets SXXX SXXX\n" + "match_nets SXXX SXXX\n" + "match_nets SXXX SXXX\n" + "match_nets SXXX SXXX\n" "match_nets SXXX SXXX\n" "match_nets SXXX SXXX\n" "match_nets SXXX SXXX\n" "match_nets SXXX SXXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" - "match_nets SXXX SXXX\n" - "match_nets SXXX SXXX\n" - "match_nets SXXX SXXX\n" - "match_nets SXXX SXXX\n" + "match_nets SXX SXX\n" + "match_nets SXX SXX\n" "match_subcircuits TXXX TXXX\n" "match_subcircuits TX TX\n" "match_subcircuits TXXX TXXX\n" @@ -2965,14 +2965,14 @@ TEST(18_ClockTree) "match_nets S S\n" "match_ambiguous_nets SX SX\n" "match_ambiguous_nets SX SX\n" - "match_ambiguous_nets SXX SXX\n" - "match_ambiguous_nets SXX SXX\n" + "match_nets SXX SXX\n" + "match_nets SXX SXX\n" + "match_nets SXX SXX\n" + "match_nets SXX SXX\n" "match_ambiguous_nets SXXX SXXX\n" "match_ambiguous_nets SXXX SXXX\n" "match_ambiguous_nets SXXX SXXX\n" "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXX SXX\n" - "match_ambiguous_nets SXX SXX\n" "match_ambiguous_nets SXXX SXXX\n" "match_ambiguous_nets SXXX SXXX\n" "match_ambiguous_nets SXXX SXXX\n" @@ -3026,18 +3026,18 @@ TEST(18_ClockTree) "match_nets S S\n" "match_ambiguous_nets SX SX\n" "match_ambiguous_nets SX SX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" "match_subcircuits TXXX TXXX\n" "match_subcircuits TX TX\n" "match_subcircuits TXXX TXXX\n" @@ -3087,18 +3087,18 @@ TEST(18_ClockTree) "match_nets S S\n" "match_ambiguous_nets SX SX\n" "match_ambiguous_nets SX SX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" - "match_ambiguous_nets SXXX SXXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" "match_nets SXX SXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" + "match_ambiguous_nets SXXX SXXX\n" "match_subcircuits TXXX TXXX\n" "match_subcircuits TX TX\n" "match_subcircuits TXXX TXXX\n" @@ -3248,22 +3248,22 @@ TEST(19_SymmetricCircuit) "match_nets $14 WELL\n" "match_ambiguous_nets nn2 NN2\n" "match_ambiguous_nets nn2_ NN2_\n" - "match_ambiguous_nets q0 Q0\n" - "match_ambiguous_nets q1 Q1\n" + "match_nets q0 Q0\n" + "match_nets q1 Q1\n" "match_nets $11 CS0\n" + "match_nets $13 CS1\n" "match_nets q0_ Q0_\n" + "match_nets q1_ Q1_\n" + "match_nets a0 A0\n" + "match_nets a0_ A0_\n" + "match_nets $35 HNET44\n" + "match_nets $34 HNET48\n" + "match_nets $4 NET200\n" + "match_nets nn1_ NN1_\n" + "match_nets $9 NET175\n" "match_nets $6 NET181\n" "match_nets nn1 NN1\n" "match_nets $8 NET215\n" - "match_nets $13 CS1\n" - "match_nets q1_ Q1_\n" - "match_nets a0 A0\n" - "match_nets $35 HNET44\n" - "match_nets nn1_ NN1_\n" - "match_nets $9 NET175\n" - "match_nets $4 NET200\n" - "match_nets a0_ A0_\n" - "match_nets $34 HNET48\n" "match_pins VDD VDD\n" "match_pins nn1_ NN1_\n" "match_pins nn1 NN1\n" @@ -3347,20 +3347,20 @@ TEST(19_SymmetricCircuit) "match_nets VSS VSS\n" "match_ambiguous_nets nn2 NN2\n" "match_ambiguous_nets nn2_ NN2_\n" - "match_ambiguous_nets q0 Q0\n" - "match_nets q0_ Q0_\n" - "match_ambiguous_nets q1 Q1\n" - "match_nets q1_ Q1_\n" + "match_nets q0 Q0\n" + "match_nets q1 Q1\n" "match_nets $11 CS0\n" "match_nets $13 CS1\n" + "match_nets q0_ Q0_\n" + "match_nets q1_ Q1_\n" "match_nets a0 A0\n" "match_nets a0_ A0_\n" + "match_nets $35 HNET44\n" + "match_nets $34 HNET48\n" "match_nets $4 NET200\n" "match_nets $6 NET181\n" "match_nets $8 NET215\n" "match_nets $9 NET175\n" - "match_nets $35 HNET44\n" - "match_nets $34 HNET48\n" "match_nets nn1 NN1\n" "match_nets nn1_ NN1_\n" "match_pins VDD VDD\n" diff --git a/src/db/unit_tests/dbNetlistDeviceClassesTests.cc b/src/db/unit_tests/dbNetlistDeviceClassesTests.cc index f594576c3..1ee83316f 100644 --- a/src/db/unit_tests/dbNetlistDeviceClassesTests.cc +++ b/src/db/unit_tests/dbNetlistDeviceClassesTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2202,3 +2202,590 @@ TEST(40_ParallelBJT4Transistors) ); } +TEST(50_SplitGatesSimple) +{ + db::DeviceClassMOS3Transistor *mos = new db::DeviceClassMOS3Transistor (); + + db::Netlist nl; + nl.add_device_class (mos); + + db::Device *m11 = new db::Device (mos, "m11"); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m21 = new db::Device (mos, "m21"); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + db::Device *m12 = new db::Device (mos, "m12"); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m22 = new db::Device (mos, "m22"); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + + db::Circuit *circuit = new db::Circuit (); + nl.add_circuit (circuit); + + db::Pin pin_a = circuit->add_pin ("A"); + db::Pin pin_b = circuit->add_pin ("B"); + db::Pin pin_g1 = circuit->add_pin ("G1"); + db::Pin pin_g2 = circuit->add_pin ("G2"); + + circuit->add_device (m11); + circuit->add_device (m21); + circuit->add_device (m12); + circuit->add_device (m22); + + db::Net *n1 = new db::Net ("n1"); + circuit->add_net (n1); + circuit->connect_pin (pin_a.id (), n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + + db::Net *sd1 = new db::Net ("sd1"); + circuit->add_net (sd1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd1); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + db::Net *sd2 = new db::Net ("sd2"); + circuit->add_net (sd2); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd2); + + db::Net *n2 = new db::Net ("n2"); + circuit->add_net (n2); + circuit->connect_pin (pin_b.id (), n2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + + db::Net *g1 = new db::Net ("g1"); + circuit->add_net (g1); + circuit->connect_pin (pin_g1.id (), g1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + + db::Net *g2 = new db::Net ("g2"); + circuit->add_net (g2); + circuit->connect_pin (pin_g2.id (), g2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + std::unique_ptr nl2; + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + // sd2 -> sd1 + " device '' m12 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // can switch S/D for non-strict devices ... + + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + // sd1 -> sd2 + " device '' m11 (S=sd2,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // different lengths disable split_gate ... + + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 7); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=sd1,G=g1,D=n1) (L=7,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=sd1,G=g1,D=n1) (L=7,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6); + + // split_gates is not bothered by parallel chain + + db::Device *mp1 = new db::Device (mos, "mp1"); + circuit->add_device (mp1); + mp1->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + mp1->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + + db::Device *mp2 = new db::Device (mos, "mp2"); + circuit->add_device (mp2); + mp2->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + mp2->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); // NOTE: not g2! + + db::Net *sd3 = new db::Net ("sd3"); + circuit->add_net (sd3); + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd3); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd3); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + // sd1 -> sd2 + " device '' m11 (S=sd2,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // different device class can't be split-gated + + db::DeviceClassMOS3Transistor *mos2 = new db::DeviceClassMOS3Transistor (); + mos2->set_name ("X"); + nl.add_device_class (mos2); + m11->set_device_class (mos2); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device X m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device X m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); +} + +TEST(51_SplitGatesStrict) +{ + db::DeviceClassMOS3Transistor *mos = new db::DeviceClassMOS3Transistor (); + mos->set_strict (true); + + db::Netlist nl; + nl.add_device_class (mos); + + db::Device *m11 = new db::Device (mos, "m11"); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m21 = new db::Device (mos, "m21"); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + db::Device *m12 = new db::Device (mos, "m12"); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m22 = new db::Device (mos, "m22"); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + + db::Circuit *circuit = new db::Circuit (); + nl.add_circuit (circuit); + + db::Pin pin_a = circuit->add_pin ("A"); + db::Pin pin_b = circuit->add_pin ("B"); + db::Pin pin_g1 = circuit->add_pin ("G1"); + db::Pin pin_g2 = circuit->add_pin ("G2"); + + circuit->add_device (m11); + circuit->add_device (m21); + circuit->add_device (m12); + circuit->add_device (m22); + + db::Net *n1 = new db::Net ("n1"); + circuit->add_net (n1); + circuit->connect_pin (pin_a.id (), n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + + db::Net *sd1 = new db::Net ("sd1"); + circuit->add_net (sd1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd1); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + db::Net *sd2 = new db::Net ("sd2"); + circuit->add_net (sd2); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd2); + + db::Net *n2 = new db::Net ("n2"); + circuit->add_net (n2); + circuit->connect_pin (pin_b.id (), n2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + + db::Net *g1 = new db::Net ("g1"); + circuit->add_net (g1); + circuit->connect_pin (pin_g1.id (), g1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + + db::Net *g2 = new db::Net ("g2"); + circuit->add_net (g2); + circuit->connect_pin (pin_g2.id (), g2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + std::unique_ptr nl2; + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + // sd2 -> sd1 + " device '' m12 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // cannot switch S/D for non-strict devices ... + + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + // no change! + " device '' m11 (S=sd1,G=g1,D=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd1); + + // different lengths disable split_gate ... + + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 7); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=7,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=7,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6); + + // split_gates is not bothered by parallel chain + + db::Device *mp1 = new db::Device (mos, "mp1"); + circuit->add_device (mp1); + mp1->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + mp1->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + + db::Device *mp2 = new db::Device (mos, "mp2"); + circuit->add_device (mp2); + mp2->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + mp2->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); // NOTE: not g2! + + db::Net *sd3 = new db::Net ("sd3"); + circuit->add_net (sd3); + mp1->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd3); + mp2->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd3); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + " device '' m11 (S=n1,G=g1,D=sd1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2);\n" + // sd1 -> sd2 + " device '' m11 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp1 (S=n1,G=g1,D=sd3) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' mp2 (S=sd3,G=g1,D=n2) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); +} + +TEST(52_SplitGatesMOS4) +{ + db::DeviceClassMOS4Transistor *mos = new db::DeviceClassMOS4Transistor (); + + db::Netlist nl; + nl.add_device_class (mos); + + db::Device *m11 = new db::Device (mos, "m11"); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m11->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m21 = new db::Device (mos, "m21"); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m21->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + db::Device *m12 = new db::Device (mos, "m12"); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m12->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 6.0); + db::Device *m22 = new db::Device (mos, "m22"); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_W, 1.0); + m22->set_parameter_value (db::DeviceClassMOS3Transistor::param_id_L, 10.0); + + db::Circuit *circuit = new db::Circuit (); + nl.add_circuit (circuit); + + db::Pin pin_a = circuit->add_pin ("A"); + db::Pin pin_b = circuit->add_pin ("B"); + db::Pin pin_g1 = circuit->add_pin ("G1"); + db::Pin pin_g2 = circuit->add_pin ("G2"); + db::Pin pin_vss = circuit->add_pin ("VSS"); + + circuit->add_device (m11); + circuit->add_device (m21); + circuit->add_device (m12); + circuit->add_device (m22); + + db::Net *vss = new db::Net ("vss"); + circuit->add_net (vss); + circuit->connect_pin (pin_vss.id (), vss); + m11->connect_terminal (db::DeviceClassMOS4Transistor::terminal_id_B, vss); + m12->connect_terminal (db::DeviceClassMOS4Transistor::terminal_id_B, vss); + m21->connect_terminal (db::DeviceClassMOS4Transistor::terminal_id_B, vss); + m22->connect_terminal (db::DeviceClassMOS4Transistor::terminal_id_B, vss); + + db::Net *n1 = new db::Net ("n1"); + circuit->add_net (n1); + circuit->connect_pin (pin_a.id (), n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, n1); + + db::Net *sd1 = new db::Net ("sd1"); + circuit->add_net (sd1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd1); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + db::Net *sd2 = new db::Net ("sd2"); + circuit->add_net (sd2); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, sd2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd2); + + db::Net *n2 = new db::Net ("n2"); + circuit->add_net (n2); + circuit->connect_pin (pin_b.id (), n2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n2); + + db::Net *g1 = new db::Net ("g1"); + circuit->add_net (g1); + circuit->connect_pin (pin_g1.id (), g1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + m12->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g1); + + db::Net *g2 = new db::Net ("g2"); + circuit->add_net (g2); + circuit->connect_pin (pin_g2.id (), g2); + m21->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + m22->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_G, g2); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + " device '' m11 (S=n1,G=g1,D=sd1,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + std::unique_ptr nl2; + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + " device '' m11 (S=n1,G=g1,D=sd1,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + // sd2 -> sd1 + " device '' m12 (S=n1,G=g1,D=sd1,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // can switch S/D for non-strict devices ... + + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_D, n1); + m11->connect_terminal (db::DeviceClassMOS3Transistor::terminal_id_S, sd1); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + " device '' m11 (S=sd1,G=g1,D=n1,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + // sd1 -> sd2 + " device '' m11 (S=sd2,G=g1,D=n1,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + // different bulk pins disable split_gates ... + + m11->connect_terminal (db::DeviceClassMOS4Transistor::terminal_id_B, n1); + + EXPECT_EQ (nl.to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + " device '' m11 (S=sd1,G=g1,D=n1,B=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + nl2.reset (new db::Netlist (nl)); + + (dynamic_cast (nl2->begin_device_classes ().operator-> ()))->join_split_gates (nl2->begin_top_down ().operator-> ()); + + EXPECT_EQ (nl2->to_string (), + "circuit '' (A=n1,B=n2,G1=g1,G2=g2,VSS=vss);\n" + " device '' m11 (S=sd1,G=g1,D=n1,B=n1) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m21 (S=sd1,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m12 (S=n1,G=g1,D=sd2,B=vss) (L=6,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device '' m22 (S=sd2,G=g2,D=n2,B=vss) (L=10,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + +} + diff --git a/src/db/unit_tests/dbNetlistDeviceExtractorTests.cc b/src/db/unit_tests/dbNetlistDeviceExtractorTests.cc index 6978a692c..f6eb1c7b6 100644 --- a/src/db/unit_tests/dbNetlistDeviceExtractorTests.cc +++ b/src/db/unit_tests/dbNetlistDeviceExtractorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbNetlistExtractorTests.cc b/src/db/unit_tests/dbNetlistExtractorTests.cc index 7dea4307b..d2d4f960a 100644 --- a/src/db/unit_tests/dbNetlistExtractorTests.cc +++ b/src/db/unit_tests/dbNetlistExtractorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -3176,3 +3176,128 @@ TEST(14_JoinNets) db::compare_layouts (_this, ly, au); } + +TEST(100_issue954) +{ + db::Layout ly; + db::LayerMap lmap; + + unsigned int active = define_layer (ly, lmap, 1); + unsigned int poly = define_layer (ly, lmap, 2); + + { + db::LoadLayoutOptions options; + options.get_options ().layer_map = lmap; + options.get_options ().create_other_layers = false; + + std::string fn (tl::testdata ()); + fn = tl::combine_path (fn, "algo"); + fn = tl::combine_path (fn, "device_extract_issue954.gds"); + + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (ly, options); + } + + db::Cell &tc = ly.cell (*ly.begin_top_down ()); + + db::DeepShapeStore dss; + dss.set_text_enlargement (1); + dss.set_text_property_name (tl::Variant ("LABEL")); + + // original layers + db::Region ractive (db::RecursiveShapeIterator (ly, tc, active), dss); + db::Region rpoly (db::RecursiveShapeIterator (ly, tc, poly), dss); + + // derived regions + + db::Region rpgate = ractive & rpoly; + db::Region rpsd = ractive - rpgate; + + // Global + + db::Region bulk (dss); + + // return the computed layers into the original layout and write it for debugging purposes + + unsigned int lgate = ly.insert_layer (db::LayerProperties (10, 0)); // 10/0 -> Gate + unsigned int lsd = ly.insert_layer (db::LayerProperties (11, 0)); // 11/0 -> Source/Drain + unsigned int lpdiff = ly.insert_layer (db::LayerProperties (12, 0)); // 12/0 -> P Diffusion + + rpgate.insert_into (&ly, tc.cell_index (), lgate); + rpsd.insert_into (&ly, tc.cell_index (), lsd); + rpsd.insert_into (&ly, tc.cell_index (), lpdiff); + + // perform the extraction + + db::Netlist nl; + db::hier_clusters cl; + + db::NetlistDeviceExtractorMOS4Transistor pmos_ex ("PMOS"); + + db::NetlistDeviceExtractor::input_layers dl; + + dl["SD"] = &rpsd; + dl["G"] = &rpgate; + dl["W"] = &bulk; + dl["P"] = &rpoly; // not needed for extraction but to return terminal shapes + pmos_ex.extract (dss, 0, dl, nl, cl); + + // perform the net extraction + + db::NetlistExtractor net_ex; + + db::Connectivity conn; + + // Global nets + conn.connect_global (bulk, "BULK"); + + // Intra-layer + conn.connect (rpsd); + conn.connect (rpoly); + + // extract the nets + + std::list > jn; + + jn.push_back (std::set ()); + jn.back ().insert ("BULK"); + jn.back ().insert ("VSS"); + + jn.push_back (std::set ()); + jn.back ().insert ("NWELL"); + jn.back ().insert ("VDD"); + + net_ex.set_joined_nets ("INV2", jn); + + std::list gp; + gp.push_back (tl::GlobPattern ("NEXT")); + gp.push_back (tl::GlobPattern ("FB")); + net_ex.set_joined_net_names (gp); + + net_ex.extract_nets (dss, 0, conn, nl, cl); + + EXPECT_EQ (all_net_names_unique (nl), true); + + // debug layers produced for nets + // 200/0 -> Poly + // 201/0 -> N source/drain + // 202/0 -> Bulk + std::map dump_map; + dump_map [layer_of (bulk) ] = ly.insert_layer (db::LayerProperties (202, 0)); + dump_map [layer_of (rpsd) ] = ly.insert_layer (db::LayerProperties (201, 0)); + dump_map [layer_of (rpoly) ] = ly.insert_layer (db::LayerProperties (200, 0)); + + // write nets to layout + db::CellMapping cm = dss.cell_mapping_to_original (0, &ly, tc.cell_index ()); + dump_nets_to_layout (nl, cl, ly, dump_map, cm, true); + + // compare the collected test data + + std::string au = tl::testdata (); + au = tl::combine_path (au, "algo"); + au = tl::combine_path (au, "device_extract_issue954_au.gds"); + + db::compare_layouts (_this, ly, au); +} + diff --git a/src/db/unit_tests/dbNetlistReaderTests.cc b/src/db/unit_tests/dbNetlistReaderTests.cc index 514548686..303511a95 100644 --- a/src/db/unit_tests/dbNetlistReaderTests.cc +++ b/src/db/unit_tests/dbNetlistReaderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbNetlistTests.cc b/src/db/unit_tests/dbNetlistTests.cc index 58ae7eec2..001eef059 100644 --- a/src/db/unit_tests/dbNetlistTests.cc +++ b/src/db/unit_tests/dbNetlistTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbNetlistWriterTests.cc b/src/db/unit_tests/dbNetlistWriterTests.cc index a3d7714d5..254a17daa 100644 --- a/src/db/unit_tests/dbNetlistWriterTests.cc +++ b/src/db/unit_tests/dbNetlistWriterTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbObjectTests.cc b/src/db/unit_tests/dbObjectTests.cc index 6e4a161d5..266ebb98b 100644 --- a/src/db/unit_tests/dbObjectTests.cc +++ b/src/db/unit_tests/dbObjectTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPCellsTests.cc b/src/db/unit_tests/dbPCellsTests.cc index 0ef50be82..c07c2f3cd 100644 --- a/src/db/unit_tests/dbPCellsTests.cc +++ b/src/db/unit_tests/dbPCellsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPathTests.cc b/src/db/unit_tests/dbPathTests.cc index 9c75af935..9cb1eb796 100644 --- a/src/db/unit_tests/dbPathTests.cc +++ b/src/db/unit_tests/dbPathTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPointTests.cc b/src/db/unit_tests/dbPointTests.cc index e70edf7b9..0fb8666c3 100644 --- a/src/db/unit_tests/dbPointTests.cc +++ b/src/db/unit_tests/dbPointTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPolygonTests.cc b/src/db/unit_tests/dbPolygonTests.cc index c8729acdf..4cd73dde1 100644 --- a/src/db/unit_tests/dbPolygonTests.cc +++ b/src/db/unit_tests/dbPolygonTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPolygonToolsTests.cc b/src/db/unit_tests/dbPolygonToolsTests.cc index ca51b3e34..24f6943da 100644 --- a/src/db/unit_tests/dbPolygonToolsTests.cc +++ b/src/db/unit_tests/dbPolygonToolsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbPropertiesRepositoryTests.cc b/src/db/unit_tests/dbPropertiesRepositoryTests.cc index b04543fb8..ed150d488 100644 --- a/src/db/unit_tests/dbPropertiesRepositoryTests.cc +++ b/src/db/unit_tests/dbPropertiesRepositoryTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc b/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc index a13dad263..6656613c7 100644 --- a/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc +++ b/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -619,3 +619,44 @@ TEST(4) EXPECT_EQ (db::compare_layouts (boxes2layout (selected_boxes), boxes2layout (selected_boxes2), db::layout_diff::f_verbose, 0, 100 /*max diff lines*/), true); } +TEST(5) +{ + std::unique_ptr g (new db::Layout ()); + g->insert_layer (0); + g->insert_layer (1); + g->insert_layer (2); + + db::Cell &c0 (g->cell (g->add_cell ())); + db::Cell &c1 (g->cell (g->add_cell ())); + db::Cell &c2 (g->cell (g->add_cell ())); + db::Cell &c3 (g->cell (g->add_cell ())); + + db::Box b (0, 100, 1000, 1200); + c0.shapes (0).insert (b); + c1.shapes (0).insert (b); + c2.shapes (0).insert (b); + c3.shapes (0).insert (b); + + c0.shapes (2).insert (b); + c0.shapes (2).insert (b.moved (db::Vector (50, 50))); + + db::Trans tt; + c0.insert (db::CellInstArray (db::CellInst (c1.cell_index ()), tt)); + c0.insert (db::CellInstArray (db::CellInst (c2.cell_index ()), db::Trans (db::Vector (100, -100)))); + c0.insert (db::CellInstArray (db::CellInst (c3.cell_index ()), db::Trans (1))); + c2.insert (db::CellInstArray (db::CellInst (c3.cell_index ()), db::Trans (db::Vector (1100, 0)))); + + std::string x; + + db::RecursiveInstanceIterator i1 (*g, c0, db::Box (0, 0, 100, 100)); + x = collect(i1, *g); + EXPECT_EQ (x, "[$1]$2 r0 0,0/[$1]$3 r0 100,-100"); + + g.reset (new db::Layout ()); + + // now the layout is gone and the iterator stays silent (weak pointer to layout) + // NOTE: this only works on reset or re-initialization. Not during iteration. + i1.reset (); + x = collect(i1, *g); + EXPECT_EQ (x, ""); +} diff --git a/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc b/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc index cd9829ce7..c4dc63ae2 100644 --- a/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc +++ b/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1515,3 +1515,42 @@ TEST(10) "end\n" ); } + +TEST(11_LayoutIsWeakPointer) +{ + std::unique_ptr g (new db::Layout ()); + g->insert_layer (0); + g->insert_layer (1); + db::Cell &c0 (g->cell (g->add_cell ())); + db::Cell &c1 (g->cell (g->add_cell ())); + db::Cell &c2 (g->cell (g->add_cell ())); + db::Cell &c3 (g->cell (g->add_cell ())); + + db::Box b (0, 100, 1000, 1200); + c1.shapes (0).insert (b); + c2.shapes (0).insert (b); + c3.shapes (0).insert (b); + + db::Box bb (1, 101, 1001, 1201); + c2.shapes (1).insert (bb); + + db::Trans tt; + c0.insert (db::CellInstArray (db::CellInst (c1.cell_index ()), tt)); + c0.insert (db::CellInstArray (db::CellInst (c2.cell_index ()), db::Trans (db::Vector (100, -100)))); + c0.insert (db::CellInstArray (db::CellInst (c3.cell_index ()), db::Trans (1))); + c2.insert (db::CellInstArray (db::CellInst (c3.cell_index ()), db::Trans (db::Vector (1100, 0)))); + + std::string x; + + db::RecursiveShapeIterator i1 (*g, c0, 0, db::Box (0, 0, 100, 100)); + x = collect(i1, *g); + EXPECT_EQ (x, "[$2](0,100;1000,1200)/[$3](100,0;1100,1100)"); + + g.reset (new db::Layout ()); + + // now the layout is gone and the iterator stays silent (weak pointer to layout) + // NOTE: this only works on reset or re-initialization. Not during iteration. + i1.reset (); + x = collect(i1, *g); + EXPECT_EQ (x, ""); +} diff --git a/src/db/unit_tests/dbRegionCheckUtilsTests.cc b/src/db/unit_tests/dbRegionCheckUtilsTests.cc index cfad79fdd..437855c93 100644 --- a/src/db/unit_tests/dbRegionCheckUtilsTests.cc +++ b/src/db/unit_tests/dbRegionCheckUtilsTests.cc @@ -3,7 +3,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbRegionTests.cc b/src/db/unit_tests/dbRegionTests.cc index 3b3bd8122..adb905dc1 100644 --- a/src/db/unit_tests/dbRegionTests.cc +++ b/src/db/unit_tests/dbRegionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbSaveLayoutOptionsTests.cc b/src/db/unit_tests/dbSaveLayoutOptionsTests.cc index 57beb1294..6e6577e41 100644 --- a/src/db/unit_tests/dbSaveLayoutOptionsTests.cc +++ b/src/db/unit_tests/dbSaveLayoutOptionsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbShapeArrayTests.cc b/src/db/unit_tests/dbShapeArrayTests.cc index 9acb0a017..d2fa6ce64 100644 --- a/src/db/unit_tests/dbShapeArrayTests.cc +++ b/src/db/unit_tests/dbShapeArrayTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,7 +119,6 @@ TEST(2) shapes.insert (p2); shapes.insert (db::SimplePolygonRef (p2, *rep)); shapes.sort (); - shapes.update_bbox (); EXPECT_EQ (shapes.bbox () == db::Box (100,-5200,2300,2000), true); diff --git a/src/db/unit_tests/dbShapeRepositoryTests.cc b/src/db/unit_tests/dbShapeRepositoryTests.cc index 10ded555e..ce7849afe 100644 --- a/src/db/unit_tests/dbShapeRepositoryTests.cc +++ b/src/db/unit_tests/dbShapeRepositoryTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbShapeTests.cc b/src/db/unit_tests/dbShapeTests.cc index c8686e9f8..54ea3f717 100644 --- a/src/db/unit_tests/dbShapeTests.cc +++ b/src/db/unit_tests/dbShapeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbShapesTests.cc b/src/db/unit_tests/dbShapesTests.cc index fadd52ce4..213b2feee 100644 --- a/src/db/unit_tests/dbShapesTests.cc +++ b/src/db/unit_tests/dbShapesTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,26 +34,21 @@ TEST(1) db::Shapes s (&m, 0, db::default_editable_mode ()); db::Box b_empty; - s.update_bbox (); EXPECT_EQ (s.bbox (), b_empty); db::Box b (0, 100, 1000, 1200); s.insert (b); - s.update_bbox (); EXPECT_EQ (s.bbox (), b); db::Edge e (-100, -200, 0, 0); s.insert (e); - s.update_bbox (); EXPECT_EQ (s.bbox (), db::Box (-100, -200, 1000, 1200)); db::Shapes s2 (s); - s2.update_bbox (); EXPECT_EQ (s2.bbox (), db::Box (-100, -200, 1000, 1200)); if (db::default_editable_mode ()) { s2.erase (db::Box::tag (), db::stable_layer_tag (), s2.begin (db::Box::tag (), db::stable_layer_tag ())); - s2.update_bbox (); EXPECT_EQ (s2.bbox (), db::Box (-100, -200, 0, 0)); } } @@ -64,25 +59,20 @@ TEST(1a) db::Shapes s (&m, 0, true); db::Box b_empty; - s.update_bbox (); EXPECT_EQ (s.bbox (), b_empty); db::Box b (0, 100, 1000, 1200); s.insert (b); - s.update_bbox (); EXPECT_EQ (s.bbox (), b); db::Edge e (-100, -200, 0, 0); s.insert (e); - s.update_bbox (); EXPECT_EQ (s.bbox (), db::Box (-100, -200, 1000, 1200)); db::Shapes s2 (s); - s2.update_bbox (); EXPECT_EQ (s2.bbox (), db::Box (-100, -200, 1000, 1200)); s2.erase (db::Box::tag (), db::stable_layer_tag (), s2.begin (db::Box::tag (), db::stable_layer_tag ())); - s2.update_bbox (); EXPECT_EQ (s2.bbox (), db::Box (-100, -200, 0, 0)); } @@ -92,21 +82,17 @@ TEST(1b) db::Shapes s (&m, 0, false); db::Box b_empty; - s.update_bbox (); EXPECT_EQ (s.bbox (), b_empty); db::Box b (0, 100, 1000, 1200); s.insert (b); - s.update_bbox (); EXPECT_EQ (s.bbox (), b); db::Edge e (-100, -200, 0, 0); s.insert (e); - s.update_bbox (); EXPECT_EQ (s.bbox (), db::Box (-100, -200, 1000, 1200)); db::Shapes s2 (s); - s2.update_bbox (); EXPECT_EQ (s2.bbox (), db::Box (-100, -200, 1000, 1200)); } @@ -3206,12 +3192,10 @@ TEST(23) db::Shapes s (&m, 0, db::default_editable_mode ()); db::Box b_empty; - s.update_bbox (); EXPECT_EQ (s.bbox (), b_empty); db::EdgePair ep (db::Edge (-100, -200, 0, 0), db::Edge (0, -100, 100, 100)); s.insert (ep); - s.update_bbox (); EXPECT_EQ (s.bbox (), db::Box (-100, -200, 100, 100)); db::ShapeIterator si = s.begin (db::ShapeIterator::EdgePairs); diff --git a/src/db/unit_tests/dbStreamLayerTests.cc b/src/db/unit_tests/dbStreamLayerTests.cc index e2e155d56..d08e270f0 100644 --- a/src/db/unit_tests/dbStreamLayerTests.cc +++ b/src/db/unit_tests/dbStreamLayerTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbTechnologyTests.cc b/src/db/unit_tests/dbTechnologyTests.cc index 32e025800..0fd3af081 100644 --- a/src/db/unit_tests/dbTechnologyTests.cc +++ b/src/db/unit_tests/dbTechnologyTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbTextTests.cc b/src/db/unit_tests/dbTextTests.cc index cbb9ad953..ff5ef86a5 100644 --- a/src/db/unit_tests/dbTextTests.cc +++ b/src/db/unit_tests/dbTextTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbTextsTests.cc b/src/db/unit_tests/dbTextsTests.cc index 5ec0a4aba..d8d78119e 100644 --- a/src/db/unit_tests/dbTextsTests.cc +++ b/src/db/unit_tests/dbTextsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbTilingProcessorTests.cc b/src/db/unit_tests/dbTilingProcessorTests.cc index 7b7fc6bb7..8b38b8dd9 100644 --- a/src/db/unit_tests/dbTilingProcessorTests.cc +++ b/src/db/unit_tests/dbTilingProcessorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbTransTests.cc b/src/db/unit_tests/dbTransTests.cc index fa2634107..8022ccdb4 100644 --- a/src/db/unit_tests/dbTransTests.cc +++ b/src/db/unit_tests/dbTransTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbUtilsTests.cc b/src/db/unit_tests/dbUtilsTests.cc index 8392775c6..f0bd89b0e 100644 --- a/src/db/unit_tests/dbUtilsTests.cc +++ b/src/db/unit_tests/dbUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbVariableWidthPathTests.cc b/src/db/unit_tests/dbVariableWidthPathTests.cc index 58912d091..79aaf17d4 100644 --- a/src/db/unit_tests/dbVariableWidthPathTests.cc +++ b/src/db/unit_tests/dbVariableWidthPathTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbVectorTests.cc b/src/db/unit_tests/dbVectorTests.cc index 620fee9c6..f1e66602f 100644 --- a/src/db/unit_tests/dbVectorTests.cc +++ b/src/db/unit_tests/dbVectorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/dbWriterTools.cc b/src/db/unit_tests/dbWriterTools.cc index 58d22149c..dafecb532 100644 --- a/src/db/unit_tests/dbWriterTools.cc +++ b/src/db/unit_tests/dbWriterTools.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/unit_tests/unit_tests.pro b/src/db/unit_tests/unit_tests.pro index 8601dfb65..ffe564cb9 100644 --- a/src/db/unit_tests/unit_tests.pro +++ b/src/db/unit_tests/unit_tests.pro @@ -39,7 +39,6 @@ SOURCES = \ dbPolygonToolsTests.cc \ dbTechnologyTests.cc \ dbStreamLayerTests.cc \ - dbD25TechnologyComponentTests.cc \ dbVectorTests.cc \ dbVariableWidthPathTests.cc \ dbTransTests.cc \ diff --git a/src/drc/drc/built-in-macros/_drc_complex_ops.rb b/src/drc/drc/built-in-macros/_drc_complex_ops.rb index 48b534a37..e83f71d60 100644 --- a/src/drc/drc/built-in-macros/_drc_complex_ops.rb +++ b/src/drc/drc/built-in-macros/_drc_complex_ops.rb @@ -498,7 +498,7 @@ CODE # out = in.drc(primary.bbox_min > 200.nm) # equivalent # @/code # - # The "bbox_min" method is available as a plain function or as a method on \DRC## expressions. + # The "bbox_min" method is available as a plain function or as a method on \DRC# expressions. # The plain function is equivalent to "primary.bbox_min". def bbox_min @@ -578,7 +578,7 @@ CODE # out = in.drc(primary.bbox_aspect_ratio > 3) # equivalent # @/code # - # The "bbox_aspect_ratio" method is available as a plain function or as a method on \DRC## expressions. + # The "bbox_aspect_ratio" method is available as a plain function or as a method on \DRC# expressions. # The plain function is equivalent to "primary.bbox_aspect_ratio". def bbox_aspect_ratio @@ -609,7 +609,7 @@ CODE # out = in.drc(primary.relative_height > 3) # equivalent # @/code # - # The "relative_height" method is available as a plain function or as a method on \DRC## expressions. + # The "relative_height" method is available as a plain function or as a method on \DRC# expressions. # The plain function is equivalent to "primary.bbox_aspect_ratio". def relative_height @@ -638,7 +638,7 @@ CODE # out = in.drc(primary.area_ratio > 3) # equivalent # @/code # - # The "area_ratio" method is available as a plain function or as a method on \DRC## expressions. + # The "area_ratio" method is available as a plain function or as a method on \DRC# expressions. # The plain function is equivalent to "primary.area_ratio". def area_ratio @@ -1903,9 +1903,12 @@ class DRCOpNodeCheck < DRCOpNodeWithCompare end if self.gt || self.ge - dmax = self.ge ? @engine._make_value(self.ge) : @engine._make_value(self.gt) + 1 - max_check = RBA::CompoundRegionOperationNode::send(factory, *(oargs + [ dmax ] + self.args + [ true ])) - if res + if ! res + dmax = self.ge ? @engine._make_value(self.ge) : @engine._make_value(self.gt) + 1 + res = RBA::CompoundRegionOperationNode::send(factory, *(oargs + [ dmax ] + self.args + [ true ])) + elsif self.mode_or + dmax = self.ge ? @engine._make_value(self.ge) : @engine._make_value(self.gt) + 1 + max_check = RBA::CompoundRegionOperationNode::send(factory, *(oargs + [ dmax ] + self.args + [ true ])) if self.check == :width || self.check == :notch # Same polygon check - we need to take both edges of the result other = RBA::CompoundRegionOperationNode::new_edges(res) @@ -1913,13 +1916,18 @@ class DRCOpNodeCheck < DRCOpNodeWithCompare other = RBA::CompoundRegionOperationNode::new_edge_pair_to_first_edges(res) end res_max = RBA::CompoundRegionOperationNode::new_edge_pair_to_first_edges(max_check) - if self.mode_or - res = RBA::CompoundRegionOperationNode::new_join([ other, res_max ]) - else - res = RBA::CompoundRegionOperationNode::new_geometrical_boolean(RBA::CompoundRegionOperationNode::GeometricalOp::And, other, res_max) - end + res = RBA::CompoundRegionOperationNode::new_join([ other, res_max ]) else - res = max_check + dmax = self.ge ? @engine._make_value(self.ge) : @engine._make_value(self.gt) + 1 + max_check_for_not = RBA::CompoundRegionOperationNode::send(factory, *(oargs + [ dmax ] + self.args)) + if self.check == :width || self.check == :notch + # Same polygon check - we need to take both edges of the result + other = RBA::CompoundRegionOperationNode::new_edges(res) + else + other = RBA::CompoundRegionOperationNode::new_edge_pair_to_first_edges(res) + end + res_max_for_not = RBA::CompoundRegionOperationNode::new_edges(max_check_for_not) + res = RBA::CompoundRegionOperationNode::new_geometrical_boolean(RBA::CompoundRegionOperationNode::GeometricalOp::Not, other, res_max_for_not) end end diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 3600355ca..a168a5442 100644 --- a/src/drc/drc/built-in-macros/_drc_engine.rb +++ b/src/drc/drc/built-in-macros/_drc_engine.rb @@ -324,7 +324,7 @@ module DRC # whether to use named nets (numbers if false) and whether to add # information comments such as instance coordinates or pin names. # - # "writer_delegate" allows using a \NetlistSpiceWriterDelegate object to + # "writer_delegate" allows using a RBA::NetlistSpiceWriterDelegate object to # control the actual writing. def write_spice(*args) @@ -1626,6 +1626,54 @@ CODE nil end + # %DRC% + # @name region_touch + # @brief Specifies region selected input in "touch mode" + # @synopsis region_touch(args) + # See \Source#touching for a description of that function. + # + # The following code will select shapes touching a 500x600 micron rectangle (lower left corner at 0,0) + # from the input layout. The shapes will not be clipped: + # + # @code + # region_touch(0.mm, 0.mm, 0.5.mm, 0.6.mm) + # # shapes will now be the ones touching the rectangular region + # l1 = input(1, 0) + # @/code + # + # To remove this condition, call "region_touch" without any arguments. + + def region_touch(*args) + self._context("region_touch") do + @def_source = layout.touching(*args) + end + nil + end + + # %DRC% + # @name region_overlap + # @brief Specifies region selected input in "overlap mode" + # @synopsis region_overlap(args) + # See \Source#overlapping for a description of that function. + # + # The following code will select shapes overlapping a 500x600 micron rectangle (lower left corner at 0,0) + # from the input layout. The shapes will not be clipped: + # + # @code + # region_overlapping(0.mm, 0.mm, 0.5.mm, 0.6.mm) + # # shapes will now be the ones overlapping the rectangular region + # l1 = input(1, 0) + # @/code + # + # To remove this condition, call "region_overlapping" without any arguments. + + def region_overlap(*args) + self._context("region_overlap") do + @def_source = layout.overlapping(*args) + end + nil + end + # %DRC% # @name global_transform # @brief Gets or sets a global transformation @@ -2682,7 +2730,7 @@ CODE # TODO: align with LayoutToNetlist by using a "master" L2N # object which keeps the DSS. @dss.text_property_name = "LABEL" - @dss.text_enlargement = 1 + @dss.text_enlargement = 0 @dss.reject_odd_polygons = @deep_reject_odd_polygons @dss.max_vertex_count = @max_vertex_count @dss.max_area_ratio = @max_area_ratio diff --git a/src/drc/drc/built-in-macros/_drc_layer.rb b/src/drc/drc/built-in-macros/_drc_layer.rb index 2cb31656a..bde1c2ee7 100644 --- a/src/drc/drc/built-in-macros/_drc_layer.rb +++ b/src/drc/drc/built-in-macros/_drc_layer.rb @@ -25,7 +25,7 @@ module DRC # # Objects that can be inserted are RBA::Edge objects (into edge layers) or # RBA::DPolygon, RBA::DSimplePolygon, RBA::Path, RBA::DBox (into polygon layers). - # Convenience methods exist to create such objects (\global#edge, \global#polygon, \global#box and \#global#path). + # Convenience methods exist to create such objects (\global#edge, \global#polygon, \global#box and \global#path). # However, RBA constructors can used as well. # # The insert method is useful in combination with the \global#polygon_layer or \global#edge_layer functions: diff --git a/src/drc/drc/built-in-macros/_drc_netter.rb b/src/drc/drc/built-in-macros/_drc_netter.rb index 3c10049bd..7e8de64e0 100644 --- a/src/drc/drc/built-in-macros/_drc_netter.rb +++ b/src/drc/drc/built-in-macros/_drc_netter.rb @@ -192,7 +192,7 @@ module DRC # @/code # # The return value of this method will be the device class of the devices - # generated in the extraction step (see \DeviceClass). + # generated in the extraction step (see RBA::DeviceClass). def extract_devices(devex, layer_selection) diff --git a/src/drc/drc/built-in-macros/drc_interpreters.lym b/src/drc/drc/built-in-macros/drc_interpreters.lym index 4a0108d44..a5c4d13ed 100644 --- a/src/drc/drc/built-in-macros/drc_interpreters.lym +++ b/src/drc/drc/built-in-macros/drc_interpreters.lym @@ -158,6 +158,11 @@ module DRC # Register the new interpreters DRCInterpreter::new(drc_recipe) DRCPlainTextInterpreter::new(drc_recipe) + + # Creates a new macro category + if RBA::Application::instance + RBA::Application::instance.add_macro_category("drc", "DRC", [ "drc" ]) + end end diff --git a/src/drc/drc/drcCommon.h b/src/drc/drc/drcCommon.h index 2f9bdb548..c41899a9b 100644 --- a/src/drc/drc/drcCommon.h +++ b/src/drc/drc/drcCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/drc/drc/drcForceLink.cc b/src/drc/drc/drcForceLink.cc index 9f560018e..797f1f6c1 100644 --- a/src/drc/drc/drcForceLink.cc +++ b/src/drc/drc/drcForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/drc/drc/drcForceLink.h b/src/drc/drc/drcForceLink.h index fe73d0b09..91d3b0bcd 100644 --- a/src/drc/drc/drcForceLink.h +++ b/src/drc/drc/drcForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/drc/unit_tests/drcBasicTests.cc b/src/drc/unit_tests/drcBasicTests.cc index 3d3b7e736..3e2adf02d 100644 --- a/src/drc/unit_tests/drcBasicTests.cc +++ b/src/drc/unit_tests/drcBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/drc/unit_tests/drcGenericTests.cc b/src/drc/unit_tests/drcGenericTests.cc index d5763d140..10eccd418 100644 --- a/src/drc/unit_tests/drcGenericTests.cc +++ b/src/drc/unit_tests/drcGenericTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/drc/unit_tests/drcSimpleTests.cc b/src/drc/unit_tests/drcSimpleTests.cc index 5bcba5fa3..eed4957f8 100644 --- a/src/drc/unit_tests/drcSimpleTests.cc +++ b/src/drc/unit_tests/drcSimpleTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1312,3 +1312,9 @@ TEST(53_cellWiseExtentWithClip) { run_test (_this, "53", false); } + +TEST(54_issue1011) +{ + run_test (_this, "54", false); +} + diff --git a/src/drc/unit_tests/drcSuiteTests.cc b/src/drc/unit_tests/drcSuiteTests.cc index 77c6f5a96..3cfde1b3d 100644 --- a/src/drc/unit_tests/drcSuiteTests.cc +++ b/src/drc/unit_tests/drcSuiteTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtCommon.h b/src/edt/edt/edtCommon.h index f2e2243e8..6926499f9 100644 --- a/src/edt/edt/edtCommon.h +++ b/src/edt/edt/edtCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtConfig.cc b/src/edt/edt/edtConfig.cc index f0b2732c4..782c7718e 100644 --- a/src/edt/edt/edtConfig.cc +++ b/src/edt/edt/edtConfig.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtConfig.h b/src/edt/edt/edtConfig.h index d78695451..923029411 100644 --- a/src/edt/edt/edtConfig.h +++ b/src/edt/edt/edtConfig.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtDialogs.cc b/src/edt/edt/edtDialogs.cc index 44e9d86ed..55fd4a0a2 100644 --- a/src/edt/edt/edtDialogs.cc +++ b/src/edt/edt/edtDialogs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -380,10 +380,10 @@ DistributeOptionsDialog::exec_dialog (lay::LayoutView * /*view*/, bool &hdistrib } hspace = 0.0; - tl::from_string (tl::to_string (this->h_space->text ()), hspace); + tl::from_string_ext (tl::to_string (this->h_space->text ()), hspace); hpitch = 0.0; - tl::from_string (tl::to_string (this->h_pitch->text ()), hpitch); + tl::from_string_ext (tl::to_string (this->h_pitch->text ()), hpitch); vdistribute = this->v_distribute->isChecked (); vmode = -1; @@ -394,10 +394,10 @@ DistributeOptionsDialog::exec_dialog (lay::LayoutView * /*view*/, bool &hdistrib } vspace = 0.0; - tl::from_string (tl::to_string (this->v_space->text ()), vspace); + tl::from_string_ext (tl::to_string (this->v_space->text ()), vspace); vpitch = 0.0; - tl::from_string (tl::to_string (this->v_pitch->text ()), vpitch); + tl::from_string_ext (tl::to_string (this->v_pitch->text ()), vpitch); visible_layers = false; for (int i = 0; i < 2; ++i) { @@ -557,13 +557,13 @@ RoundCornerOptionsDialog::exec_dialog (const db::Layout &layout, double &router, undo_before_apply = m_has_extracted && amend_cb->isChecked (); - tl::from_string (tl::to_string (router_le->text ()), router); + tl::from_string_ext (tl::to_string (router_le->text ()), router); if (rinner_le->text ().isEmpty ()) { rinner = router; } else { - tl::from_string (tl::to_string (rinner_le->text ()), rinner); + tl::from_string_ext (tl::to_string (rinner_le->text ()), rinner); } - tl::from_string (tl::to_string (points_le->text ()), npoints); + tl::from_string_ext (tl::to_string (points_le->text ()), npoints); mp_layout = 0; return true; @@ -582,13 +582,13 @@ BEGIN_PROTECTED; double rhull = 0.0, rholes = 0.0; unsigned int npoints = 0; - tl::from_string (tl::to_string (router_le->text ()), rhull); + tl::from_string_ext (tl::to_string (router_le->text ()), rhull); if (rinner_le->text ().isEmpty ()) { rholes = rhull; } else { - tl::from_string (tl::to_string (rinner_le->text ()), rholes); + tl::from_string_ext (tl::to_string (rinner_le->text ()), rholes); } - tl::from_string (tl::to_string (points_le->text ()), npoints); + tl::from_string_ext (tl::to_string (points_le->text ()), npoints); const unsigned int min_points = 16; const double seg_thr = 10.0; // in DBU @@ -638,12 +638,12 @@ MakeArrayOptionsDialog::exec_dialog (db::DVector &a, unsigned int &na, db::DVect double bx = 0.0, by = 0.0; double ax = 0.0, ay = 0.0; - tl::from_string (tl::to_string (column_x_le->text ()), bx); - tl::from_string (tl::to_string (column_y_le->text ()), by); - tl::from_string (tl::to_string (columns_le->text ()), nb); - tl::from_string (tl::to_string (row_x_le->text ()), ax); - tl::from_string (tl::to_string (row_y_le->text ()), ay); - tl::from_string (tl::to_string (rows_le->text ()), na); + tl::from_string_ext (tl::to_string (column_x_le->text ()), bx); + tl::from_string_ext (tl::to_string (column_y_le->text ()), by); + tl::from_string_ext (tl::to_string (columns_le->text ()), nb); + tl::from_string_ext (tl::to_string (row_x_le->text ()), ax); + tl::from_string_ext (tl::to_string (row_y_le->text ()), ay); + tl::from_string_ext (tl::to_string (rows_le->text ()), na); a = db::DVector (ax, ay); b = db::DVector (bx, by); @@ -665,12 +665,12 @@ BEGIN_PROTECTED; double ax = 0.0, ay = 0.0; int na, nb; - tl::from_string (tl::to_string (column_x_le->text ()), bx); - tl::from_string (tl::to_string (column_y_le->text ()), by); - tl::from_string (tl::to_string (columns_le->text ()), nb); - tl::from_string (tl::to_string (row_x_le->text ()), ax); - tl::from_string (tl::to_string (row_y_le->text ()), ay); - tl::from_string (tl::to_string (rows_le->text ()), na); + tl::from_string_ext (tl::to_string (column_x_le->text ()), bx); + tl::from_string_ext (tl::to_string (column_y_le->text ()), by); + tl::from_string_ext (tl::to_string (columns_le->text ()), nb); + tl::from_string_ext (tl::to_string (row_x_le->text ()), ax); + tl::from_string_ext (tl::to_string (row_y_le->text ()), ay); + tl::from_string_ext (tl::to_string (rows_le->text ()), na); if (na < 1 || nb < 1) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid row or column count (must be larger or equal one)"))); diff --git a/src/edt/edt/edtDialogs.h b/src/edt/edt/edtDialogs.h index 4d477cbe7..30444311a 100644 --- a/src/edt/edt/edtDialogs.h +++ b/src/edt/edt/edtDialogs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtDistribute.cc b/src/edt/edt/edtDistribute.cc index 6077a93da..0a9e7f749 100644 --- a/src/edt/edt/edtDistribute.cc +++ b/src/edt/edt/edtDistribute.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtDistribute.h b/src/edt/edt/edtDistribute.h index 6855eb1b8..d147609f8 100644 --- a/src/edt/edt/edtDistribute.h +++ b/src/edt/edt/edtDistribute.h @@ -1,7 +1,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtEditorOptionsPages.cc b/src/edt/edt/edtEditorOptionsPages.cc index 7681eb396..3f33fd310 100644 --- a/src/edt/edt/edtEditorOptionsPages.cc +++ b/src/edt/edt/edtEditorOptionsPages.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -58,7 +58,7 @@ static void configure_from_line_edit (lay::Dispatcher *dispatcher, QLineEdit *le { try { Value value = Value (0); - tl::from_string (tl::to_string (le->text ()), value); + tl::from_string_ext (tl::to_string (le->text ()), value); dispatcher->config_set (cfg_name, tl::to_string (value)); lay::indicate_error (le, (tl::Exception *) 0); } catch (tl::Exception &ex) { @@ -249,7 +249,7 @@ EditorOptionsText::apply (lay::Dispatcher *root) root->config_set (cfg_edit_text_size, 0.0); } else { double sz = 0.0; - tl::from_string (tl::to_string (mp_ui->size_le->text ()), sz); + tl::from_string_ext (tl::to_string (mp_ui->size_le->text ()), sz); root->config_set (cfg_edit_text_size, sz); } } @@ -607,7 +607,7 @@ EditorOptionsInst::setup (lay::Dispatcher *root) if (m_cv_index >= 0 && view ()->cellview (m_cv_index).is_valid ()) { techname = view ()->cellview (m_cv_index)->tech_name (); } - mp_ui->lib_cbx->set_technology_filter (techname, ! techname.empty ()); + mp_ui->lib_cbx->set_technology_filter (techname, true); // cell name std::string s; diff --git a/src/edt/edt/edtEditorOptionsPages.h b/src/edt/edt/edtEditorOptionsPages.h index 5fb23f34f..2fececb4b 100644 --- a/src/edt/edt/edtEditorOptionsPages.h +++ b/src/edt/edt/edtEditorOptionsPages.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtInstPropertiesPage.cc b/src/edt/edt/edtInstPropertiesPage.cc index e0b3eeadf..cc18336da 100644 --- a/src/edt/edt/edtInstPropertiesPage.cc +++ b/src/edt/edt/edtInstPropertiesPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,8 @@ #include "dbLibrary.h" #include "dbPCellHeader.h" +#include "dbLibraryProxy.h" +#include "dbPCellVariant.h" #include "edtInstPropertiesPage.h" #include "edtPropertiesPageUtils.h" #include "edtPCellParametersPage.h" @@ -135,6 +137,21 @@ BEGIN_PROTECTED END_PROTECTED } +static void +get_cell_or_pcell_ids_by_name (const db::Layout *layout, const std::string &name, std::pair &ci, std::pair &pci) +{ + ci = layout->cell_by_name (name.c_str ()); + pci = layout->pcell_by_name (name.c_str ()); + + if (pci.first) { + // prefer PCell names + ci.first = false; + } else if (ci.first && layout->cell (ci.second).is_proxy ()) { + // don't let us select proxy names (they are eventually virtual cells) + ci.first = false; + } +} + void InstPropertiesPage::browse_cell () { @@ -153,19 +170,18 @@ BEGIN_PROTECTED layout = &cv->layout (); } - lay::LibraryCellSelectionForm form (this, layout, "browse_lib_cell"); + lay::LibraryCellSelectionForm form (this, layout, "browse_lib_cell", false, lib != 0 /*for libs show top cells only*/); if (lib) { form.setWindowTitle (tl::to_qstring (tl::to_string (QObject::tr ("Select Cell - Library: ")) + lib->get_description ())); } - std::pair pc = layout->pcell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); + std::pair pc; + std::pair c; + get_cell_or_pcell_ids_by_name (layout, tl::to_string (cell_name_le->text ()), c, pc); if (pc.first) { form.set_selected_pcell_id (pc.second); - } else { - std::pair c = layout->cell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); - if (c.first) { - form.set_selected_cell_index (c.second); - } + } else if (c.first) { + form.set_selected_cell_index (c.second); } if (form.exec ()) { @@ -305,8 +321,13 @@ InstPropertiesPage::update () bool du = dbu_cb->isChecked (); db::Box cell_bbox = def_cell.bbox (); - cw_le->setText (tl::to_qstring (coord_to_string (cell_bbox.width (), dbu, du))); - ch_le->setText (tl::to_qstring (coord_to_string (cell_bbox.height (), dbu, du))); + if (cell_bbox.empty ()) { + cw_le->setText (QString ()); + ch_le->setText (QString ()); + } else { + cw_le->setText (tl::to_qstring (coord_to_string (cell_bbox.width (), dbu, du))); + ch_le->setText (tl::to_qstring (coord_to_string (cell_bbox.height (), dbu, du))); + } db::Trans t (pos->back ().inst_ptr.front ()); @@ -409,12 +430,22 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & try { - std::pair ci = layout->cell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); - std::pair pci = layout->pcell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); + std::pair ci; + std::pair pci; + get_cell_or_pcell_ids_by_name (layout, tl::to_string (cell_name_le->text ()), ci, pci); if (! ci.first && ! pci.first) { throw tl::Exception (tl::to_string (QObject::tr ("Not a valid cell or PCell name: %s")).c_str (), tl::to_string (cell_name_le->text ()).c_str ()); } + // detect recursions in the hierarchy + if (lib == 0 && ci.first) { + std::set called; + layout->cell (ci.second).collect_called_cells (called); + if (ci.second == cv.cell_index () || called.find (cv.cell_index ()) != called.end ()) { + throw tl::Exception (tl::to_string (QObject::tr ("Trying to build a recursive hierarchy")).c_str ()); + } + } + lay::indicate_error (cell_name_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { @@ -424,29 +455,81 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & try { - std::pair ci = layout->cell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); - std::pair pci = layout->pcell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); - tl_assert (ci.first || pci.first); + std::pair ci; + std::pair pci; + get_cell_or_pcell_ids_by_name (layout, tl::to_string (cell_name_le->text ()), ci, pci); - db::cell_index_type inst_cell_index = 0; + db::Layout *current_layout = &cv->layout (); + db::cell_index_type current_ci = pos->back ().inst_ptr.cell_index (); - // instantiate the PCell - if (pci.first) { - tl_assert (mp_pcell_parameters != 0); - tl_assert (layout->pcell_declaration (pci.second) == mp_pcell_parameters->pcell_decl ()); - inst_cell_index = layout->get_pcell_variant (pci.second, mp_pcell_parameters->get_parameters ()); - } else { - inst_cell_index = ci.second; + std::pair current_pci = current_layout->is_pcell_instance (current_ci); + std::pair l = current_layout->defining_library (current_ci); + + db::Library *current_lib = l.first; + if (current_lib) { + current_layout = ¤t_lib->layout (); + current_ci = l.second; } - // reference the library - if (lib) { - layout = & cv->layout (); - inst_cell_index = layout->get_lib_proxy (lib, inst_cell_index); - } + if (! ci.first && ! pci.first) { + + // invalid cell name ... + + } else if (pci.first != current_pci.first || (! pci.first && std::string (layout->cell_name (ci.second)) != current_layout->cell_name (current_ci))) { + + // a cell has been changed into pcell or vice versa, or the cell name has changed -> we can generate a new proxy and exchange cell indexes + + db::cell_index_type inst_cell_index = 0; + + // instantiates the PCell + if (pci.first) { + tl_assert (mp_pcell_parameters != 0); + tl_assert (layout->pcell_declaration (pci.second) == mp_pcell_parameters->pcell_decl ()); + inst_cell_index = layout->get_pcell_variant (pci.second, mp_pcell_parameters->get_parameters ()); + } else { + inst_cell_index = ci.second; + } + + // references the library + if (lib) { + inst_cell_index = cv->layout ().get_lib_proxy (lib, inst_cell_index); + } - if (inst_cell_index != pos->back ().inst_ptr.cell_index ()) { appl->add (new ChangeTargetCellApplicator (inst_cell_index)); + + } else if (pci.first) { + + // pcell name has changed -> apply parameter deltas to other selected cells or pcells + // otherwise keep pcell or cell name, change library if possible and required and apply parameter deltas to other selected cells or pcells + + bool adjust_pcell_id = layout->pcell_declaration (pci.second)->name () != current_layout->pcell_declaration (current_pci.second)->name (); + + std::map modified_param_by_name; + + tl_assert (mp_pcell_parameters); + + std::vector param = mp_pcell_parameters->get_parameters (0); + const std::vector &initial_param = mp_pcell_parameters->initial_parameters (); + + const std::vector &pcp = mp_pcell_parameters->pcell_decl ()->parameter_declarations (); + for (std::vector::const_iterator pd = pcp.begin (); pd != pcp.end (); ++pd) { + unsigned int index = pd - pcp.begin (); + if (index < param.size () && index < initial_param.size () && param [index] != initial_param [index]) { + modified_param_by_name.insert (std::make_pair (pd->get_name (), param [index])); + } + } + + if (adjust_pcell_id || lib != current_lib || ! modified_param_by_name.empty ()) { + appl->add (new ChangeTargetPCellApplicator (pci.second, adjust_pcell_id, lib, lib != current_lib, modified_param_by_name)); + } + + } else if (lib != current_lib) { + + // only library name has changed -> try to apply library to all selected instances keeping the cell name + + // NOTE: changing the library only is a special case of the ChangeTargetPCellApplicator + appl->add (new ChangeTargetPCellApplicator (0, false, lib, true, std::map ())); + } } catch (tl::Exception &) { @@ -456,7 +539,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & double x = 0.0, y = 0.0; try { - tl::from_string (tl::to_string (pos_x_le->text ()), x); + tl::from_string_ext (tl::to_string (pos_x_le->text ()), x); lay::indicate_error (pos_x_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (pos_x_le, &ex); @@ -464,7 +547,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (pos_y_le->text ()), y); + tl::from_string_ext (tl::to_string (pos_y_le->text ()), y); lay::indicate_error (pos_y_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (pos_y_le, &ex); @@ -481,7 +564,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & bool mirror = mirror_cbx->isChecked (); double angle = 0.0; try { - tl::from_string (tl::to_string (angle_le->text ()), angle); + tl::from_string_ext (tl::to_string (angle_le->text ()), angle); lay::indicate_error (angle_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (angle_le, &ex); @@ -490,7 +573,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & double mag = 0.0; try { - tl::from_string (tl::to_string (mag_le->text ()), mag); + tl::from_string_ext (tl::to_string (mag_le->text ()), mag); lay::indicate_error (mag_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (mag_le, &ex); @@ -519,7 +602,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & unsigned long rows = 0, cols = 0; try { - tl::from_string (tl::to_string (column_x_le->text ()), cx); + tl::from_string_ext (tl::to_string (column_x_le->text ()), cx); lay::indicate_error (column_x_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (column_x_le, &ex); @@ -527,7 +610,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (column_y_le->text ()), cy); + tl::from_string_ext (tl::to_string (column_y_le->text ()), cy); lay::indicate_error (column_y_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (column_y_le, &ex); @@ -535,7 +618,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (row_x_le->text ()), rx); + tl::from_string_ext (tl::to_string (row_x_le->text ()), rx); lay::indicate_error (row_x_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (row_x_le, &ex); @@ -543,7 +626,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (row_y_le->text ()), ry); + tl::from_string_ext (tl::to_string (row_y_le->text ()), ry); lay::indicate_error (row_y_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (row_y_le, &ex); @@ -551,7 +634,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (rows_le->text ()), rows); + tl::from_string_ext (tl::to_string (rows_le->text ()), rows); if (rows < 1) { throw tl::Exception (tl::to_string (tr ("Rows count can't be zero"))); } @@ -562,7 +645,7 @@ InstPropertiesPage::create_applicator (db::Cell & /*cell*/, const db::Instance & } try { - tl::from_string (tl::to_string (columns_le->text ()), cols); + tl::from_string_ext (tl::to_string (columns_le->text ()), cols); if (cols < 1) { throw tl::Exception (tl::to_string (tr ("Columns count can't be zero"))); } @@ -776,8 +859,9 @@ InstPropertiesPage::update_pcell_parameters () } - std::pair pc = layout->pcell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); - std::pair cc = layout->cell_by_name (tl::to_string (cell_name_le->text ()).c_str ()); + std::pair pc; + std::pair cc; + get_cell_or_pcell_ids_by_name (layout, tl::to_string (cell_name_le->text ()), cc, pc); // indicate an invalid cell name if (! pc.first && ! cc.first) { diff --git a/src/edt/edt/edtInstPropertiesPage.h b/src/edt/edt/edtInstPropertiesPage.h index a8edafb17..93767a86f 100644 --- a/src/edt/edt/edtInstPropertiesPage.h +++ b/src/edt/edt/edtInstPropertiesPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtMainService.cc b/src/edt/edt/edtMainService.cc index 133b6f18a..837b0c944 100644 --- a/src/edt/edt/edtMainService.cc +++ b/src/edt/edt/edtMainService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtMainService.h b/src/edt/edt/edtMainService.h index 6aafdca30..60c8c4a8f 100644 --- a/src/edt/edt/edtMainService.h +++ b/src/edt/edt/edtMainService.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index d200be630..b6381f774 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -99,6 +99,8 @@ static void set_value (const db::PCellParameterDeclaration &p, QWidget *widget, db::LayerProperties lp; if (value.is_user ()) { lp = value.to_user (); + } else if (value.is_nil ()) { + // empty LayerProperties } else { std::string s = value.to_string (); tl::Extractor ex (s.c_str ()); @@ -154,6 +156,9 @@ PCellParametersPage::PCellParametersPage (QWidget *parent, bool dense) void PCellParametersPage::init () { + QPalette palette; + QFont font; + mp_pcell_decl.reset (0); mp_view = 0; m_cv_index = 0; @@ -164,22 +169,66 @@ PCellParametersPage::init () frame_layout->setContentsMargins (0, 0, 0, 0); setLayout (frame_layout); - mp_error_icon = new QLabel (this); - mp_error_icon->setPixmap (QPixmap (":/warn.png")); - mp_error_icon->hide (); - frame_layout->addWidget (mp_error_icon, 1, 0, 1, 1); + mp_update_frame = new QFrame (); + mp_update_frame->setFrameShape (QFrame::NoFrame); + frame_layout->addWidget (mp_update_frame, 0, 0, 1, 1); - mp_error_label = new QLabel (this); + QGridLayout *update_frame_layout = new QGridLayout (mp_update_frame); + mp_update_frame->setLayout (update_frame_layout); + if (m_dense) { + update_frame_layout->setContentsMargins (4, 4, 4, 4); + update_frame_layout->setHorizontalSpacing (6); + update_frame_layout->setVerticalSpacing (2); + } + + mp_changed_icon = new QLabel (mp_update_frame); + mp_changed_icon->setPixmap (QPixmap (":/warn.png")); + update_frame_layout->addWidget (mp_changed_icon, 0, 0, 1, 1); + + mp_update_button = new QToolButton (mp_update_frame); + mp_update_button->setText (tr ("Update")); + connect (mp_update_button, SIGNAL (clicked()), this, SLOT (update_button_pressed ())); + update_frame_layout->addWidget (mp_update_button, 0, 1, 1, 1); + + mp_changed_label = new QLabel (mp_update_frame); + mp_changed_label->setText (tr ("Update needed")); + update_frame_layout->addWidget (mp_changed_label, 0, 2, 1, 1); + + update_frame_layout->setColumnStretch (2, 1); + + mp_error_frame = new QFrame (); + mp_error_frame->setFrameShape (QFrame::NoFrame); + frame_layout->addWidget (mp_error_frame, 1, 0, 1, 1); + + QGridLayout *error_frame_layout = new QGridLayout (mp_error_frame); + mp_error_frame->setLayout (error_frame_layout); + if (m_dense) { + error_frame_layout->setContentsMargins (4, 4, 4, 4); + error_frame_layout->setHorizontalSpacing (6); + error_frame_layout->setVerticalSpacing (2); + } + + mp_error_icon = new QLabel (mp_update_frame); + mp_error_icon->setPixmap (QPixmap (":/warn.png")); + error_frame_layout->addWidget (mp_error_icon, 1, 0, 1, 1); + + mp_error_label = new QLabel (mp_update_frame); mp_error_label->setWordWrap (true); - QPalette palette = mp_error_label->palette (); + palette = mp_error_label->palette (); palette.setColor (QPalette::WindowText, Qt::red); mp_error_label->setPalette (palette); - QFont font = mp_error_label->font (); + font = mp_error_label->font (); font.setBold (true); mp_error_label->setFont (font); - mp_error_label->hide (); - frame_layout->addWidget (mp_error_label, 1, 1, 1, 1); - frame_layout->setColumnStretch (1, 1); + error_frame_layout->addWidget (mp_error_label, 1, 1, 1, 2); + + error_frame_layout->setColumnStretch (2, 1); +} + +bool +PCellParametersPage::lazy_evaluation () +{ + return mp_pcell_decl.get () && mp_pcell_decl->wants_lazy_evaluation (); } void @@ -199,8 +248,8 @@ PCellParametersPage::setup (lay::LayoutView *view, int cv_index, const db::PCell mp_parameters_area = new QScrollArea (this); mp_parameters_area->setFrameShape (QFrame::NoFrame); QGridLayout *frame_layout = dynamic_cast (QFrame::layout ()); - frame_layout->addWidget (mp_parameters_area, 0, 0, 1, 2); - frame_layout->setRowStretch (0, 1); + frame_layout->addWidget (mp_parameters_area, 2, 0, 1, 1); + frame_layout->setRowStretch (2, 1); QFrame *fi = new QFrame (mp_parameters_area); QWidget *inner_frame = fi; @@ -396,9 +445,7 @@ PCellParametersPage::setup (lay::LayoutView *view, int cv_index, const db::PCell mp_parameters_area->setWidget (main_frame); main_frame->show (); - // does a first coerce and update. Ignore errors for now. - bool ok = false; - get_parameters (&ok); + update_current_parameters (); } PCellParametersPage::State @@ -446,12 +493,33 @@ PCellParametersPage::do_parameter_changed () { // does a coerce and update bool ok = false; - get_parameters (&ok); - if (ok) { + std::vector parameters = get_parameters (&ok); + if (ok && ! lazy_evaluation ()) { emit edited (); } } +void +PCellParametersPage::update_button_pressed () +{ + if (update_current_parameters ()) { + emit edited (); + } +} + +bool +PCellParametersPage::update_current_parameters () +{ + bool ok = false; + std::vector parameters = get_parameters (&ok); + if (ok) { + m_current_parameters = parameters; + mp_update_frame->hide (); + } + + return ok; +} + std::vector PCellParametersPage::get_parameters (bool *ok) { @@ -493,7 +561,7 @@ PCellParametersPage::get_parameters (bool *ok) try { int v = 0; - tl::from_string (tl::to_string (le->text ()), v); + tl::from_string_ext (tl::to_string (le->text ()), v); parameters.back () = tl::Variant (v); lay::indicate_error (le, (tl::Exception *) 0); @@ -517,7 +585,7 @@ PCellParametersPage::get_parameters (bool *ok) try { double v = 0; - tl::from_string (tl::to_string (le->text ()), v); + tl::from_string_ext (tl::to_string (le->text ()), v); parameters.back () = tl::Variant (v); lay::indicate_error (le, (tl::Exception *) 0); @@ -594,10 +662,7 @@ PCellParametersPage::get_parameters (bool *ok) if (mp_view->cellview (m_cv_index).is_valid ()) { mp_pcell_decl->coerce_parameters (mp_view->cellview (m_cv_index)->layout (), parameters); } - set_parameters (parameters); - - mp_error_label->hide (); - mp_error_icon->hide (); + set_parameters_internal (parameters, lazy_evaluation ()); if (ok) { *ok = true; @@ -608,8 +673,7 @@ PCellParametersPage::get_parameters (bool *ok) if (ok) { mp_error_label->setText (tl::to_qstring (ex.basic_msg ())); mp_error_label->setToolTip (tl::to_qstring (ex.msg ())); - mp_error_icon->show (); - mp_error_label->show (); + mp_error_frame->show (); *ok = false; } else { throw; @@ -619,8 +683,7 @@ PCellParametersPage::get_parameters (bool *ok) if (ok) { mp_error_label->setText (tl::to_qstring (ex.msg ())); - mp_error_icon->show (); - mp_error_label->show (); + mp_error_frame->show (); *ok = false; } else { throw; @@ -631,8 +694,15 @@ PCellParametersPage::get_parameters (bool *ok) return parameters; } -void +void PCellParametersPage::set_parameters (const std::vector ¶meters) +{ + m_parameters = parameters; + set_parameters_internal (parameters, false); +} + +void +PCellParametersPage::set_parameters_internal (const std::vector ¶meters, bool tentatively) { if (! mp_pcell_decl) { return; @@ -646,6 +716,18 @@ PCellParametersPage::set_parameters (const std::vector ¶meters) set_value (*p, m_widgets [r], parameters [r]); } } + + mp_error_frame->hide (); + + bool update_needed = false; + + if (! tentatively) { + m_current_parameters = parameters; + } else { + update_needed = (m_current_parameters != parameters); + } + + mp_update_frame->setVisible (update_needed); } } diff --git a/src/edt/edt/edtPCellParametersPage.h b/src/edt/edt/edtPCellParametersPage.h index bbf144d64..f148c7c1c 100644 --- a/src/edt/edt/edtPCellParametersPage.h +++ b/src/edt/edt/edtPCellParametersPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ #include #include #include +#include namespace lay { @@ -99,6 +100,16 @@ public: */ std::vector get_parameters (bool *ok = 0); + /** + * @brief Gets the initial parameters + * + * The initial parameters are the ones present on "setup". + */ + const std::vector &initial_parameters () const + { + return m_parameters; + } + /** * @brief Get the PCell declaration pointer */ @@ -117,11 +128,16 @@ signals: private slots: void parameter_changed (); + void update_button_pressed (); private: QScrollArea *mp_parameters_area; QLabel *mp_error_label; QLabel *mp_error_icon; + QLabel *mp_changed_label; + QLabel *mp_changed_icon; + QToolButton *mp_update_button; + QFrame *mp_error_frame, *mp_update_frame; tl::weak_ptr mp_pcell_decl; std::vector m_widgets; lay::LayoutView *mp_view; @@ -129,9 +145,13 @@ private: db::pcell_parameters_type m_parameters; bool m_dense; tl::DeferredMethod dm_parameter_changed; + std::vector m_current_parameters; void init (); void do_parameter_changed (); + bool lazy_evaluation (); + void set_parameters_internal (const std::vector &values, bool tentatively); + bool update_current_parameters (); }; } diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index c079103cb..fe5bf02df 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -261,13 +261,12 @@ insert_point_path (const db::Path &p, const std::set &sel, db::Po } static void -assign_path_compressed (db::Path &p, std::vector &ctr) +remove_redundant_points (std::vector &ctr) { // compress contour (remove redundant points) // and assign to path std::vector::iterator wp = ctr.begin (); - std::vector::iterator wp0 = wp; std::vector::const_iterator rp = ctr.begin (); db::Point pm1 = *rp; if (wp != ctr.end ()) { @@ -275,20 +274,14 @@ assign_path_compressed (db::Path &p, std::vector &ctr) ++rp; while (rp != ctr.end ()) { db::Point p0 = *rp; - ++rp; - if (rp != ctr.end ()) { - db::Point pp1 = *rp; - if (! (db::vprod_sign (pp1 - p0, p0 - pm1) == 0 && db::sprod_sign (pp1 - p0, p0 - pm1) >= 0)) { - *wp++ = p0; - pm1 = p0; - } - } else { + if (p0 != pm1) { *wp++ = p0; } + ++rp; } } - p.assign (wp0, wp); + ctr.erase (wp, ctr.end ()); } static db::Path @@ -310,7 +303,8 @@ del_points_path (const db::Path &p, const std::set &sel) } } - assign_path_compressed (new_path, ctr); + remove_redundant_points (ctr); + new_path.assign (ctr.begin (), ctr.end ()); return new_path; } @@ -362,10 +356,10 @@ modify_path (db::Path &p, const std::map &new_points } if (compress) { - assign_path_compressed (p, ctr); - } else { - p.assign (ctr.begin (), ctr.end ()); + remove_redundant_points (ctr); } + + p.assign (ctr.begin (), ctr.end ()); } bool @@ -402,6 +396,8 @@ insert_point_poly (const db::Polygon &p, const std::set &sel, db: if (found) { + remove_redundant_points (ctr); + new_poly = p; if (c == 0) { new_poly.assign_hull (ctr.begin (), ctr.end (), false /*don't compress*/); @@ -436,10 +432,12 @@ del_points_poly (const db::Polygon &p, const std::set &sel) } } + remove_redundant_points (ctr); + if (c == 0) { - new_poly.assign_hull (ctr.begin (), ctr.end (), true /*compress*/); + new_poly.assign_hull (ctr.begin (), ctr.end (), false /*compress*/); } else { - new_poly.assign_hole (c - 1, ctr.begin (), ctr.end (), true /*compress*/); + new_poly.assign_hole (c - 1, ctr.begin (), ctr.end (), false /*compress*/); } } @@ -495,10 +493,14 @@ modify_polygon (db::Polygon &p, } + if (compress) { + remove_redundant_points (ctr); + } + if (c == 0) { - p.assign_hull (ctr.begin (), ctr.end (), compress); + p.assign_hull (ctr.begin (), ctr.end (), false /*compress*/); } else { - p.assign_hole (c - 1, ctr.begin (), ctr.end (), compress); + p.assign_hole (c - 1, ctr.begin (), ctr.end (), false /*compress*/); } } @@ -1545,11 +1547,12 @@ PartialService::mouse_move_event (const db::DPoint &p, unsigned int buttons, boo // thus, we can bring the point on grid or to an object's edge or vertex snap_details = snap2 (p); m_current = snap_details.snapped_point; + mouse_cursor_from_snap_details (snap_details); } else { m_current = m_start + snap (p - m_start); + clear_mouse_cursors (); } - mouse_cursor_from_snap_details (snap_details); selection_to_view (); m_alt_ac = lay::AC_Global; @@ -2412,127 +2415,131 @@ PartialService::selection_to_view () } - // build the transformation variants cache - TransformationVariants tv (view ()); - size_t n_marker = 0; size_t n_inst_marker = 0; - for (partial_objects::const_iterator r = m_selection.begin (); r != m_selection.end (); ++r) { + if (! m_selection.empty ()) { - const lay::CellView &cv = view ()->cellview (r->first.cv_index ()); + // build the transformation variants cache + TransformationVariants tv (view ()); - if (! r->first.is_cell_inst ()) { + for (partial_objects::const_iterator r = m_selection.begin (); r != m_selection.end (); ++r) { - const std::vector *tv_list = tv.per_cv_and_layer (r->first.cv_index (), r->first.layer ()); - if (tv_list && !tv_list->empty ()) { + const lay::CellView &cv = view ()->cellview (r->first.cv_index ()); - // use only the first one of the explicit transformations - // TODO: clarify how this can be implemented in a more generic form or leave it thus. - db::ICplxTrans gt (cv.context_trans () * r->first.trans ()); - db::CplxTrans tt = (*tv_list) [0] * db::CplxTrans (cv->layout ().dbu ()) * gt; - db::Vector move_vector (tt.inverted () * (move_trans * (tt * db::Point ()))); + if (! r->first.is_cell_inst ()) { - // create the shift sets describing how points and edges are being moved - - std::map new_edges; - std::map new_points; + const std::vector *tv_list = tv.per_cv_and_layer (r->first.cv_index (), r->first.layer ()); + if (tv_list && !tv_list->empty ()) { - if (m_dragging) { - create_shift_sets (r->first.shape (), r->second, new_points, new_edges, move_vector); - } + // use only the first one of the explicit transformations + // TODO: clarify how this can be implemented in a more generic form or leave it thus. + db::ICplxTrans gt (cv.context_trans () * r->first.trans ()); + db::CplxTrans tt = (*tv_list) [0] * db::CplxTrans (cv->layout ().dbu ()) * gt; + db::Vector move_vector (tt.inverted () * (move_trans * (tt * db::Point ()))); - // create the markers to represent vertices and edges + // create the shift sets describing how points and edges are being moved - enter_vertices (n_marker, r, new_points, new_edges, gt, *tv_list, false); + std::map new_edges; + std::map new_points; - if (r->first.shape ().is_polygon ()) { + if (m_dragging) { + create_shift_sets (r->first.shape (), r->second, new_points, new_edges, move_vector); + } - for (unsigned int c = 0; c < r->first.shape ().holes () + 1; ++c) { + // create the markers to represent vertices and edges + enter_vertices (n_marker, r, new_points, new_edges, gt, *tv_list, false); + + if (r->first.shape ().is_polygon ()) { + + for (unsigned int c = 0; c < r->first.shape ().holes () + 1; ++c) { + + unsigned int n = 0; + db::Shape::polygon_edge_iterator ee; + for (db::Shape::polygon_edge_iterator e = r->first.shape ().begin_edge (c); ! e.at_end (); e = ee, ++n) { + ee = e; + ++ee; + unsigned int nn = ee.at_end () ? 0 : n + 1; + enter_edge (EdgeWithIndex (*e, n, nn, c), n_marker, r, new_points, new_edges, gt, *tv_list, false); + } + + } + + db::Polygon poly; + r->first.shape ().polygon (poly); + + // warning: poly is modified: + enter_polygon (poly, n_marker, r, new_points, new_edges, gt, *tv_list, false); + + } else if (r->first.shape ().is_path ()) { + + if (r->first.shape ().begin_point () != r->first.shape ().end_point ()) { + + db::Shape::point_iterator pt = r->first.shape ().begin_point (); + db::Point p1 = *pt; + + unsigned int n = 0; + while (true) { + + ++pt; + if (pt == r->first.shape ().end_point ()) { + break; + } + + enter_edge (EdgeWithIndex (db::Edge (p1, *pt), n, n + 1, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); + + p1 = *pt; + ++n; + + } + + // TODO: ... put this somewhere else: + db::Path path; + r->first.shape ().path (path); + + // warning: path is modified: + enter_path (path, n_marker, r, new_points, new_edges, gt, *tv_list, false); + + } + + } else if (r->first.shape ().is_box ()) { + + // convert to polygon and test those edges + db::Polygon poly (r->first.shape ().box ()); unsigned int n = 0; db::Shape::polygon_edge_iterator ee; - for (db::Shape::polygon_edge_iterator e = r->first.shape ().begin_edge (c); ! e.at_end (); e = ee, ++n) { + for (db::Shape::polygon_edge_iterator e = poly.begin_edge (); ! e.at_end (); e = ee, ++n) { ee = e; ++ee; unsigned int nn = ee.at_end () ? 0 : n + 1; - enter_edge (EdgeWithIndex (*e, n, nn, c), n_marker, r, new_points, new_edges, gt, *tv_list, false); + enter_edge (EdgeWithIndex (*e, n, nn, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); } - } + // warning: poly is modified: + enter_polygon (poly, n_marker, r, new_points, new_edges, gt, *tv_list, false); - db::Polygon poly; - r->first.shape ().polygon (poly); + } else if (r->first.shape ().is_text ()) { - // warning: poly is modified: - enter_polygon (poly, n_marker, r, new_points, new_edges, gt, *tv_list, false); - - } else if (r->first.shape ().is_path ()) { - - if (r->first.shape ().begin_point () != r->first.shape ().end_point ()) { - - db::Shape::point_iterator pt = r->first.shape ().begin_point (); - db::Point p1 = *pt; - - unsigned int n = 0; - while (true) { - - ++pt; - if (pt == r->first.shape ().end_point ()) { - break; - } - - enter_edge (EdgeWithIndex (db::Edge (p1, *pt), n, n + 1, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); - - p1 = *pt; - ++n; - - } - - // TODO: ... put this somewhere else: - db::Path path; - r->first.shape ().path (path); - - // warning: path is modified: - enter_path (path, n_marker, r, new_points, new_edges, gt, *tv_list, false); + db::Point tp (r->first.shape ().text_trans () * db::Point ()); + enter_edge (EdgeWithIndex (db::Edge (tp, tp), 0, 0, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); } - } else if (r->first.shape ().is_box ()) { - - // convert to polygon and test those edges - db::Polygon poly (r->first.shape ().box ()); - unsigned int n = 0; - db::Shape::polygon_edge_iterator ee; - for (db::Shape::polygon_edge_iterator e = poly.begin_edge (); ! e.at_end (); e = ee, ++n) { - ee = e; - ++ee; - unsigned int nn = ee.at_end () ? 0 : n + 1; - enter_edge (EdgeWithIndex (*e, n, nn, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); - } - - // warning: poly is modified: - enter_polygon (poly, n_marker, r, new_points, new_edges, gt, *tv_list, false); - - } else if (r->first.shape ().is_text ()) { - - db::Point tp (r->first.shape ().text_trans () * db::Point ()); - enter_edge (EdgeWithIndex (db::Edge (tp, tp), 0, 0, 0), n_marker, r, new_points, new_edges, gt, *tv_list, false); - } - } + } else { - } else { + // compute the global transformation including movement, context and explicit transformation + db::ICplxTrans gt = db::VCplxTrans (1.0 / cv->layout ().dbu ()) * db::DCplxTrans (move_trans) * db::CplxTrans (cv->layout ().dbu ()); + gt *= (cv.context_trans () * r->first.trans ()); - // compute the global transformation including movement, context and explicit transformation - db::ICplxTrans gt = db::VCplxTrans (1.0 / cv->layout ().dbu ()) * db::DCplxTrans (move_trans) * db::CplxTrans (cv->layout ().dbu ()); - gt *= (cv.context_trans () * r->first.trans ()); + const std::vector *tv_list = tv.per_cv (r->first.cv_index ()); + if (tv_list && ! tv_list->empty ()) { + lay::InstanceMarker *marker = new_inst_marker (n_inst_marker, r->first.cv_index (), false); + marker->set (r->first.back ().inst_ptr, gt, *tv_list); + } - const std::vector *tv_list = tv.per_cv (r->first.cv_index ()); - if (tv_list && ! tv_list->empty ()) { - lay::InstanceMarker *marker = new_inst_marker (n_inst_marker, r->first.cv_index (), false); - marker->set (r->first.back ().inst_ptr, gt, *tv_list); } } diff --git a/src/edt/edt/edtPartialService.h b/src/edt/edt/edtPartialService.h index 1ff4bc24c..03d09da96 100644 --- a/src/edt/edt/edtPartialService.h +++ b/src/edt/edt/edtPartialService.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtPlugin.cc b/src/edt/edt/edtPlugin.cc index 03f0a1ee1..a4a6e3608 100644 --- a/src/edt/edt/edtPlugin.cc +++ b/src/edt/edt/edtPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtPlugin.h b/src/edt/edt/edtPlugin.h index 498ed837a..f5a789a3e 100644 --- a/src/edt/edt/edtPlugin.h +++ b/src/edt/edt/edtPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtPropertiesPageUtils.cc b/src/edt/edt/edtPropertiesPageUtils.cc index e7bac7de7..f6df8fc63 100644 --- a/src/edt/edt/edtPropertiesPageUtils.cc +++ b/src/edt/edt/edtPropertiesPageUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,8 @@ #include "dbShapes.h" #include "dbLayout.h" +#include "dbLibrary.h" +#include "dbPCellDeclaration.h" #include @@ -579,6 +581,86 @@ db::Instance ChangeTargetCellApplicator::do_apply_inst (db::Cell &cell, const db return cell.replace (instance, arr); } +// ------------------------------------------------------------------------- +// ChangeTargetPCellApplicator implementation + +ChangeTargetPCellApplicator::ChangeTargetPCellApplicator (db::pcell_id_type pcell_id, bool apply_new_id, db::Library *new_lib, bool apply_new_lib, const std::map &modified_parameters) + : m_pcell_id (pcell_id), m_apply_new_id (apply_new_id), mp_new_lib (new_lib), m_apply_new_lib (apply_new_lib), m_modified_parameters (modified_parameters) +{ + // .. nothing yet .. +} + +db::Instance +ChangeTargetPCellApplicator::do_apply_inst (db::Cell &cell, const db::Instance &instance, double /*dbu*/, bool /*relative*/) const +{ + tl_assert (cell.layout ()); + + db::Layout *layout = cell.layout (); + + std::pair pci = layout->is_pcell_instance (instance.cell_index ()); + std::pair ci (false, 0); + + db::Library *lib = layout->defining_library (instance.cell_index ()).first; + + std::map named_parameters; + if (pci.first) { + named_parameters = layout->get_named_pcell_parameters (instance.cell_index ()); + } + for (std::map::const_iterator p = m_modified_parameters.begin (); p != m_modified_parameters.end (); ++p) { + named_parameters [p->first] = p->second; + } + + if ((m_apply_new_lib && lib != mp_new_lib) || (m_apply_new_id && (lib != mp_new_lib || ! pci.first || pci.second != m_pcell_id))) { + + if (m_apply_new_id) { + + lib = mp_new_lib; + pci.first = true; + pci.second = m_pcell_id; + + } else if (m_apply_new_lib) { + + if (! pci.first) { + std::string cell_name = (lib ? &lib->layout () : layout)->cell_name (instance.cell_index ()); + ci = (mp_new_lib ? &mp_new_lib->layout () : layout)->cell_by_name (cell_name.c_str ()); + } else { + std::string pcell_name = (lib ? &lib->layout () : layout)->pcell_declaration (pci.second)->name (); + pci = (mp_new_lib ? &mp_new_lib->layout () : layout)->pcell_by_name (pcell_name.c_str ()); + } + + lib = mp_new_lib; + + } + + } + + db::CellInstArray arr = instance.cell_inst (); + db::cell_index_type inst_cell_index = arr.object ().cell_index (); + + if (ci.first || pci.first) { + + // instantiates the PCell + if (pci.first) { + inst_cell_index = (lib ? &lib->layout () : layout)->get_pcell_variant_dict (pci.second, named_parameters); + } else { + inst_cell_index = ci.second; + } + + // references the library + if (lib) { + inst_cell_index = layout->get_lib_proxy (lib, inst_cell_index); + } + + } + + if (arr.object ().cell_index () != inst_cell_index) { + arr.object ().cell_index (inst_cell_index); + return cell.replace (instance, arr); + } else { + return instance; + } +} + // ------------------------------------------------------------------------- // ChangeInstanceTransApplicator implementation @@ -768,7 +850,7 @@ db::DCoord dcoord_from_string (const char *txt, double dbu, bool du, const db::DCplxTrans &t) { double d = 0.0; - tl::from_string (txt, d); + tl::from_string_ext (txt, d); return dcoord_from_dcoord (d, dbu, du, t); } @@ -776,7 +858,7 @@ db::Coord coord_from_string (const char *txt, double dbu, bool du, const db::VCplxTrans &t) { double d = 0.0; - tl::from_string (txt, d); + tl::from_string_ext (txt, d); return coord_from_dcoord (d, dbu, du, t); } diff --git a/src/edt/edt/edtPropertiesPageUtils.h b/src/edt/edt/edtPropertiesPageUtils.h index dc173b3b1..e20e76db7 100644 --- a/src/edt/edt/edtPropertiesPageUtils.h +++ b/src/edt/edt/edtPropertiesPageUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,6 +66,10 @@ public: { return db::Instance (); } + +private: + ChangeApplicator (const ChangeApplicator &); + ChangeApplicator &operator= (const ChangeApplicator &); }; /** @@ -334,6 +338,26 @@ private: db::cell_index_type m_cell_index; }; +/** + * @brief An applicator changing the target pcell of an instance + */ +class ChangeTargetPCellApplicator + : public ChangeApplicator +{ +public: + ChangeTargetPCellApplicator (db::pcell_id_type pcell_id, bool apply_new_id, db::Library *new_lib, bool apply_new_lib, const std::map &modified_parameters); + + bool supports_relative_mode () const { return false; } + db::Instance do_apply_inst (db::Cell &cell, const db::Instance &instance, double dbu, bool relative) const; + +private: + db::pcell_id_type m_pcell_id; + bool m_apply_new_id; + db::Library *mp_new_lib; + bool m_apply_new_lib; + std::map m_modified_parameters; +}; + /** * @brief An applicator changing the transformation properties of an instance */ diff --git a/src/edt/edt/edtPropertiesPages.cc b/src/edt/edt/edtPropertiesPages.cc index 026bcfc51..5943d609a 100644 --- a/src/edt/edt/edtPropertiesPages.cc +++ b/src/edt/edt/edtPropertiesPages.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -614,7 +614,7 @@ BoxPropertiesPage::get_box (int mode) const double x1 = 0.0, y1 = 0.0, x2 = 0.0, y2 = 0.0; try { - tl::from_string (tl::to_string (x1_le_1->text ()), x1); + tl::from_string_ext (tl::to_string (x1_le_1->text ()), x1); lay::indicate_error (x1_le_1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x1_le_1, &ex); @@ -622,7 +622,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (y1_le_1->text ()), y1); + tl::from_string_ext (tl::to_string (y1_le_1->text ()), y1); lay::indicate_error (y1_le_1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y1_le_1, &ex); @@ -630,7 +630,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (x2_le_1->text ()), x2); + tl::from_string_ext (tl::to_string (x2_le_1->text ()), x2); lay::indicate_error (x2_le_1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x2_le_1, &ex); @@ -638,7 +638,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (y2_le_1->text ()), y2); + tl::from_string_ext (tl::to_string (y2_le_1->text ()), y2); lay::indicate_error (y2_le_1, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y2_le_1, &ex); @@ -674,7 +674,7 @@ BoxPropertiesPage::get_box (int mode) const double cx = 0.0, cy = 0.0, w = 0.0, h = 0.0; try { - tl::from_string (tl::to_string (cx_le_2->text ()), cx); + tl::from_string_ext (tl::to_string (cx_le_2->text ()), cx); lay::indicate_error (cx_le_2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (cx_le_2, &ex); @@ -682,7 +682,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (cy_le_2->text ()), cy); + tl::from_string_ext (tl::to_string (cy_le_2->text ()), cy); lay::indicate_error (cy_le_2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (cy_le_2, &ex); @@ -690,7 +690,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (w_le_2->text ()), w); + tl::from_string_ext (tl::to_string (w_le_2->text ()), w); lay::indicate_error (w_le_2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (w_le_2, &ex); @@ -698,7 +698,7 @@ BoxPropertiesPage::get_box (int mode) const } try { - tl::from_string (tl::to_string (h_le_2->text ()), h); + tl::from_string_ext (tl::to_string (h_le_2->text ()), h); lay::indicate_error (h_le_2, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (h_le_2, &ex); @@ -839,7 +839,7 @@ TextPropertiesPage::create_applicator (db::Shapes & /*shapes*/, const db::Shape double x = 0.0, y = 0.0; try { - tl::from_string (tl::to_string (x_le->text ()), x); + tl::from_string_ext (tl::to_string (x_le->text ()), x); lay::indicate_error (x_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x_le, &ex); @@ -847,7 +847,7 @@ TextPropertiesPage::create_applicator (db::Shapes & /*shapes*/, const db::Shape } try { - tl::from_string (tl::to_string (y_le->text ()), y); + tl::from_string_ext (tl::to_string (y_le->text ()), y); lay::indicate_error (y_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y_le, &ex); @@ -958,8 +958,8 @@ PathPropertiesPage::do_update (const db::Shape &shape, double dbu, const std::st } width_le->setText (tl::to_qstring (coord_to_string (t.ctrans (path.width ()), dbu, du))); - start_ext_le->setText (tl::to_qstring (coord_to_string (t.ctrans (path.extensions ().first), dbu, du))); - end_ext_le->setText (tl::to_qstring (coord_to_string (t.ctrans (path.extensions ().second), dbu, du))); + start_ext_le->setText (tl::to_qstring (coord_to_string (t.mag () * path.extensions ().first, dbu, du))); + end_ext_le->setText (tl::to_qstring (coord_to_string (t.mag () * path.extensions ().second, dbu, du))); round_cb->setChecked (path.round ()); } @@ -1061,8 +1061,8 @@ EditablePathPropertiesPage::do_update (const db::Shape &shape, double dbu, const width_le->setText (tl::to_qstring (coord_to_string (t.ctrans (w), dbu, du))); - start_ext_le->setText (tl::to_qstring (coord_to_string (t.ctrans (se), dbu, du))); - end_ext_le->setText (tl::to_qstring (coord_to_string (t.ctrans (ee), dbu, du))); + start_ext_le->setText (tl::to_qstring (coord_to_string (t.mag () * se, dbu, du))); + end_ext_le->setText (tl::to_qstring (coord_to_string (t.mag () * ee, dbu, du))); int type_choice = path_type_choice (path); if (type_cb->currentIndex () == 2) { diff --git a/src/edt/edt/edtPropertiesPages.h b/src/edt/edt/edtPropertiesPages.h index cc5a079df..39e0b6fb5 100644 --- a/src/edt/edt/edtPropertiesPages.h +++ b/src/edt/edt/edtPropertiesPages.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtRecentConfigurationPage.cc b/src/edt/edt/edtRecentConfigurationPage.cc index 37317f908..3781aeffc 100644 --- a/src/edt/edt/edtRecentConfigurationPage.cc +++ b/src/edt/edt/edtRecentConfigurationPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtRecentConfigurationPage.h b/src/edt/edt/edtRecentConfigurationPage.h index fd26112e0..e43352ec3 100644 --- a/src/edt/edt/edtRecentConfigurationPage.h +++ b/src/edt/edt/edtRecentConfigurationPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index 6008078a7..40dbefc39 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -796,6 +796,17 @@ Service::mouse_click_event (const db::DPoint &p, unsigned int buttons, bool prio } } +bool +Service::key_event (unsigned int key, unsigned int buttons) +{ + if (view ()->is_editable () && m_editing && buttons == 0 && key == Qt::Key_Backspace) { + do_delete (); + return true; + } else { + return false; + } +} + void Service::activated () { diff --git a/src/edt/edt/edtService.h b/src/edt/edt/edtService.h index 28e61a2e9..f084f7a01 100644 --- a/src/edt/edt/edtService.h +++ b/src/edt/edt/edtService.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -322,6 +322,11 @@ public: */ virtual bool mouse_double_click_event (const db::DPoint &p, unsigned int buttons, bool prio); + /** + * @brief Implements the key handler + */ + virtual bool key_event (unsigned int /*key*/, unsigned int /*buttons*/); + /** * @brief Implement the mouse mode: deactivate mouse mode */ @@ -430,6 +435,13 @@ protected: */ virtual bool do_mouse_click (const db::DPoint & /*p*/) { return false; } + /** + * @brief Reimplemented by the specific implementation of the shape editors + * + * This method is called when the backspace button is pressed + */ + virtual void do_delete () { } + /** * @brief Reimplemented by the specific implementation of the shape editors * diff --git a/src/edt/edt/edtServiceImpl.cc b/src/edt/edt/edtServiceImpl.cc index 73e2d23b3..b22360339 100644 --- a/src/edt/edt/edtServiceImpl.cc +++ b/src/edt/edt/edtServiceImpl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -420,6 +420,16 @@ PolygonService::do_mouse_move_inactive (const db::DPoint &p) mouse_cursor_from_snap_details (snap_details); } +void +PolygonService::do_delete () +{ + if (m_points.size () > 2) { + m_points.erase (m_points.end () - 2); + m_last = m_points.end()[-2]; + update_marker (); + } +} + void PolygonService::do_mouse_move (const db::DPoint &p) { @@ -1058,7 +1068,17 @@ PathService::do_mouse_click (const db::DPoint &p) return false; } -void +void +PathService::do_delete () +{ + if (m_points.size () > 2) { + m_points.erase (m_points.end () - 2); + m_last = m_points.end()[-2]; + update_marker (); + } +} + +void PathService::do_finish_edit () { // one point is reserved for the "current one" @@ -1410,7 +1430,6 @@ InstService::make_cell (const lay::CellView &cv) // head transaction, hence releasing (thus: deleting) cells. To prevert interference, create // the transaction at the beginning. db::Transaction tr (manager (), tl::to_string (QObject::tr ("Create reference cell")), m_reference_transaction_id); - m_reference_transaction_id = tr.id (); lay::LayerState layer_state = view ()->layer_snapshot (); @@ -1478,6 +1497,10 @@ InstService::make_cell (const lay::CellView &cv) m_has_valid_cell = true; m_current_cell = inst_cell_index; + if (! tr.is_empty ()) { + m_reference_transaction_id = tr.id (); + } + return std::pair (true, inst_cell_index); } @@ -1611,7 +1634,7 @@ void InstService::do_cancel_edit () { // Undo "create reference" transactions which basically unfinished "create instance" transactions - if (m_reference_transaction_id > 0 && manager ()->last_transaction_id () == m_reference_transaction_id) { + if (m_reference_transaction_id > 0 && manager ()->transaction_id_for_undo () == m_reference_transaction_id) { manager ()->undo (); } diff --git a/src/edt/edt/edtServiceImpl.h b/src/edt/edt/edtServiceImpl.h index 086944c5e..c3caf4383 100644 --- a/src/edt/edt/edtServiceImpl.h +++ b/src/edt/edt/edtServiceImpl.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -89,6 +89,7 @@ public: PolygonService (db::Manager *manager, lay::LayoutView *view); virtual lay::PropertiesPage *properties_page (db::Manager *manager, QWidget *parent); + virtual void do_delete (); virtual void do_begin_edit (const db::DPoint &p); virtual void do_mouse_move (const db::DPoint &p); virtual void do_mouse_move_inactive (const db::DPoint &p); @@ -181,6 +182,7 @@ public: virtual void do_mouse_move (const db::DPoint &p); virtual bool do_mouse_click (const db::DPoint &p); virtual void do_mouse_move_inactive (const db::DPoint &p); + virtual void do_delete (); virtual void do_finish_edit (); virtual void do_cancel_edit (); virtual bool do_activated (); diff --git a/src/edt/edt/edtUtils.cc b/src/edt/edt/edtUtils.cc index bdefbb3a7..4b04d9de8 100644 --- a/src/edt/edt/edtUtils.cc +++ b/src/edt/edt/edtUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/edtUtils.h b/src/edt/edt/edtUtils.h index 47e7e9d80..af9a81999 100644 --- a/src/edt/edt/edtUtils.h +++ b/src/edt/edt/edtUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/edt/gsiDeclEdt.cc b/src/edt/edt/gsiDeclEdt.cc index 420cbac7e..75e96b0f4 100644 --- a/src/edt/edt/gsiDeclEdt.cc +++ b/src/edt/edt/gsiDeclEdt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/unit_tests/edtBasicTests.cc b/src/edt/unit_tests/edtBasicTests.cc index 54619315c..472398995 100644 --- a/src/edt/unit_tests/edtBasicTests.cc +++ b/src/edt/unit_tests/edtBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/edt/unit_tests/edtDistributeTests.cc b/src/edt/unit_tests/edtDistributeTests.cc index 71f034b56..0b9180de3 100644 --- a/src/edt/unit_tests/edtDistributeTests.cc +++ b/src/edt/unit_tests/edtDistributeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/fontgen/fontgen.cc b/src/fontgen/fontgen.cc index ca0022d04..edd6775ef 100644 --- a/src/fontgen/fontgen.cc +++ b/src/fontgen/fontgen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsi.cc b/src/gsi/gsi/gsi.cc index 4f09feac2..f10460314 100644 --- a/src/gsi/gsi/gsi.cc +++ b/src/gsi/gsi/gsi.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsi.h b/src/gsi/gsi/gsi.h index 6ec81d2a7..5644ba421 100644 --- a/src/gsi/gsi/gsi.h +++ b/src/gsi/gsi/gsi.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiCallback.h b/src/gsi/gsi/gsiCallback.h index 42536c4c8..91761d153 100644 --- a/src/gsi/gsi/gsiCallback.h +++ b/src/gsi/gsi/gsiCallback.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiCallbackVar.h b/src/gsi/gsi/gsiCallbackVar.h index 876f5dc9a..2781757c4 100644 --- a/src/gsi/gsi/gsiCallbackVar.h +++ b/src/gsi/gsi/gsiCallbackVar.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiClass.cc b/src/gsi/gsi/gsiClass.cc index 197e6312f..14ebe6dd1 100644 --- a/src/gsi/gsi/gsiClass.cc +++ b/src/gsi/gsi/gsiClass.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiClass.h b/src/gsi/gsi/gsiClass.h index f5fe0dbf2..e116d54bb 100644 --- a/src/gsi/gsi/gsiClass.h +++ b/src/gsi/gsi/gsiClass.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ #include "tlTypeTraits.h" #include "tlHeap.h" #include "tlUtils.h" +#include "tlVariant.h" #include @@ -76,7 +77,7 @@ struct _var_user_less_impl }; /** - * @brief A helper function to implement equal as efficiently as possible + * @brief A helper function to implement to_string as efficiently as possible */ template struct _var_user_to_string_impl; @@ -92,6 +93,57 @@ struct _var_user_to_string_impl static std::string call (const T *a, const VariantUserClassImpl *delegate) { return delegate->to_string_impl ((void *) a); } }; +/** + * @brief A helper function to implement to_variant as efficiently as possible + */ +template struct _var_user_to_variant_impl; + +template +struct _var_user_to_variant_impl +{ + static tl::Variant call (const T *a, const VariantUserClassImpl * /*delegate*/) { return a->to_variant (); } +}; + +template +struct _var_user_to_variant_impl +{ + static tl::Variant call (const T *a, const VariantUserClassImpl *delegate) { return delegate->to_variant_impl ((void *) a); } +}; + +/** + * @brief A helper function to implement to_int as efficiently as possible + */ +template struct _var_user_to_int_impl; + +template +struct _var_user_to_int_impl +{ + static int call (const T *a, const VariantUserClassImpl * /*delegate*/) { return a->to_int (); } +}; + +template +struct _var_user_to_int_impl +{ + static int call (const T *a, const VariantUserClassImpl *delegate) { return delegate->to_int_impl ((void *) a); } +}; + +/** + * @brief A helper function to implement to_double as efficiently as possible + */ +template struct _var_user_to_double_impl; + +template +struct _var_user_to_double_impl +{ + static double call (const T *a, const VariantUserClassImpl * /*delegate*/) { return a->to_double (); } +}; + +template +struct _var_user_to_double_impl +{ + static double call (const T *a, const VariantUserClassImpl *delegate) { return delegate->to_double_impl ((void *) a); } +}; + /** * @brief A VariantUserClassBase specialization that links GSI classes and Variant classes */ @@ -152,11 +204,26 @@ public: return gsi::_var_user_less_impl::value>::call ((const T *) a, (const T *) b, this); } + virtual void to_variant (const void *a, tl::Variant &var) const + { + var = gsi::_var_user_to_variant_impl::value>::call ((const T *) a, this); + } + virtual std::string to_string (const void *a) const { return gsi::_var_user_to_string_impl::value>::call ((const T *) a, this); } + virtual int to_int (const void *a) const + { + return gsi::_var_user_to_int_impl::value>::call ((const T *) a, this); + } + + virtual double to_double (const void *a) const + { + return gsi::_var_user_to_double_impl::value>::call ((const T *) a, this); + } + void *clone (const void *obj) const { void *new_obj = mp_cls->create (); diff --git a/src/gsi/gsi/gsiClassBase.cc b/src/gsi/gsi/gsiClassBase.cc index 3110f6d19..bcc8b66b0 100644 --- a/src/gsi/gsi/gsiClassBase.cc +++ b/src/gsi/gsi/gsiClassBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiClassBase.h b/src/gsi/gsi/gsiClassBase.h index afefb8fb1..411999ce7 100644 --- a/src/gsi/gsi/gsiClassBase.h +++ b/src/gsi/gsi/gsiClassBase.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiCommon.h b/src/gsi/gsi/gsiCommon.h index f89739096..54217199e 100644 --- a/src/gsi/gsi/gsiCommon.h +++ b/src/gsi/gsi/gsiCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiDecl.h b/src/gsi/gsi/gsiDecl.h index d4dc34e44..b8fd28674 100644 --- a/src/gsi/gsi/gsiDecl.h +++ b/src/gsi/gsi/gsiDecl.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiDeclBasic.cc b/src/gsi/gsi/gsiDeclBasic.cc index c35202595..15f7a18fb 100644 --- a/src/gsi/gsi/gsiDeclBasic.cc +++ b/src/gsi/gsi/gsiDeclBasic.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiDeclBasic.h b/src/gsi/gsi/gsiDeclBasic.h index 43acb605a..bea532530 100644 --- a/src/gsi/gsi/gsiDeclBasic.h +++ b/src/gsi/gsi/gsiDeclBasic.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiDeclInternal.cc b/src/gsi/gsi/gsiDeclInternal.cc index ccd5861ee..6e0f7112f 100644 --- a/src/gsi/gsi/gsiDeclInternal.cc +++ b/src/gsi/gsi/gsiDeclInternal.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiDeclTl.cc b/src/gsi/gsi/gsiDeclTl.cc index a77719f37..b5aeebe3c 100644 --- a/src/gsi/gsi/gsiDeclTl.cc +++ b/src/gsi/gsi/gsiDeclTl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiEnums.h b/src/gsi/gsi/gsiEnums.h index 0b5b9b95c..457bb305a 100644 --- a/src/gsi/gsi/gsiEnums.h +++ b/src/gsi/gsi/gsiEnums.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ #include "gsiDecl.h" #include "tlString.h" +#include "tlVariant.h" #if defined(HAVE_QT) # include @@ -60,6 +61,16 @@ public: E &value () { return m_e; } const E &value () const { return m_e; } + int to_int () const { return int (m_e); } + tl::Variant to_variant () const { return tl::Variant (int (m_e)); } + + std::string to_string () const + { + const Enum *ecls = dynamic_cast *> (cls_decl ()); + tl_assert (ecls != 0); + return ecls->enum_to_string (m_e); + } + private: E m_e; }; @@ -209,7 +220,7 @@ public: return ecls->enum_to_string_inspect (*e); } - static int enum_to_i (const E *e) + static int enum_to_int (const E *e) { return int (*e); } @@ -219,16 +230,31 @@ public: return *e == other; } - static bool enum_ne (const E *e, const E &other) + static bool enum_eq_with_int (const E *e, int other) + { + return int (*e) == other; + } + + static bool enum_ne (const E *e, const E &other) { return *e != other; } - static bool enum_lt (const E *e, const E &other) + static bool enum_ne_with_int (const E *e, int other) + { + return int (*e) != other; + } + + static bool enum_lt (const E *e, const E &other) { return *e < other; } + static bool enum_lt_with_int (const E *e, int other) + { + return int (*e) < other; + } + static E *new_enum_from_int (int i) { return new E (E (i)); @@ -248,10 +274,13 @@ public: gsi::constructor ("new", &new_enum_from_string, gsi::arg("s"), "@brief Creates an enum from a string value") + gsi::method_ext ("to_s", &enum_to_string_ext, "@brief Gets the symbolic string from an enum") + gsi::method_ext ("inspect", &enum_to_string_inspect_ext, "@brief Converts an enum to a visual string") + - gsi::method_ext ("to_i", &enum_to_i, "@brief Gets the integer value from the enum") + + gsi::method_ext ("to_i", &enum_to_int, "@brief Gets the integer value from the enum") + gsi::method_ext ("==", &enum_eq, gsi::arg("other"), "@brief Compares two enums") + + gsi::method_ext ("==", &enum_eq_with_int, gsi::arg("other"), "@brief Compares an enum with an integer value") + gsi::method_ext ("!=", &enum_ne, gsi::arg("other"), "@brief Compares two enums for inequality") + - gsi::method_ext ("<", &enum_lt, gsi::arg("other"), "@brief Returns true if the first enum is less (in the enum symbol order) than the second"); + gsi::method_ext ("!=", &enum_ne_with_int, gsi::arg("other"), "@brief Compares an enum with an integer for inequality") + + gsi::method_ext ("<", &enum_lt, gsi::arg("other"), "@brief Returns true if the first enum is less (in the enum symbol order) than the second") + + gsi::method_ext ("<", &enum_lt_with_int, gsi::arg("other"), "@brief Returns true if the enum is less (in the enum symbol order) than the integer value"); return m + defs (); } diff --git a/src/gsi/gsi/gsiExpression.cc b/src/gsi/gsi/gsiExpression.cc index 2a638d851..abda57030 100644 --- a/src/gsi/gsi/gsiExpression.cc +++ b/src/gsi/gsi/gsiExpression.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1241,6 +1241,96 @@ VariantUserClassImpl::to_string_impl (void *obj) const } } +tl::Variant +VariantUserClassImpl::to_variant_impl (void *obj) const +{ + if (obj) { + + if (! has_method ("to_v")) { + + // no method to convert the object to a string + return tl::Variant (); + + } else { + + tl::ExpressionParserContext context; + + tl::Variant out; + + tl::Variant object (obj, mp_object_cls, false); + std::vector vv; + + execute_gsi (context, out, object, "to_v", vv); + + return out; + + } + + } else { + return tl::Variant (); + } +} + +int +VariantUserClassImpl::to_int_impl (void *obj) const +{ + if (obj) { + + if (! has_method ("to_i")) { + + // no method to convert the object to an integer + return 0; + + } else { + + tl::ExpressionParserContext context; + + tl::Variant out; + + tl::Variant object (obj, mp_object_cls, false); + std::vector vv; + + execute_gsi (context, out, object, "to_i", vv); + + return out.to_int (); + + } + + } else { + return 0; + } +} + +double +VariantUserClassImpl::to_double_impl (void *obj) const +{ + if (obj) { + + if (! has_method ("to_f")) { + + // no method to convert the object to a double value + return 0.0; + + } else { + + tl::ExpressionParserContext context; + + tl::Variant out; + + tl::Variant object (obj, mp_object_cls, false); + std::vector vv; + + execute_gsi (context, out, object, "to_f", vv); + + return out.to_double (); + + } + + } else { + return 0.0; + } +} + void VariantUserClassImpl::execute (const tl::ExpressionParserContext &context, tl::Variant &out, tl::Variant &object, const std::string &method, const std::vector &args) const { diff --git a/src/gsi/gsi/gsiExpression.h b/src/gsi/gsi/gsiExpression.h index f853183fd..d0ff096d4 100644 --- a/src/gsi/gsi/gsiExpression.h +++ b/src/gsi/gsi/gsiExpression.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,7 +50,10 @@ public: bool equal_impl (void *, void *) const; bool less_impl (void *, void *) const; + tl::Variant to_variant_impl (void *) const; std::string to_string_impl (void *) const; + int to_int_impl (void *) const; + double to_double_impl (void *) const; virtual void execute (const tl::ExpressionParserContext &context, tl::Variant &out, tl::Variant &object, const std::string &method, const std::vector &args) const; diff --git a/src/gsi/gsi/gsiExternalMain.cc b/src/gsi/gsi/gsiExternalMain.cc index 98275d9c2..880d3b519 100644 --- a/src/gsi/gsi/gsiExternalMain.cc +++ b/src/gsi/gsi/gsiExternalMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiExternalMain.h b/src/gsi/gsi/gsiExternalMain.h index 674797e8c..4a02e283e 100644 --- a/src/gsi/gsi/gsiExternalMain.h +++ b/src/gsi/gsi/gsiExternalMain.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiInspector.cc b/src/gsi/gsi/gsiInspector.cc index f5d56cad5..7ca7fcc38 100644 --- a/src/gsi/gsi/gsiInspector.cc +++ b/src/gsi/gsi/gsiInspector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiInspector.h b/src/gsi/gsi/gsiInspector.h index 171690b5e..4b2b782d1 100644 --- a/src/gsi/gsi/gsiInspector.h +++ b/src/gsi/gsi/gsiInspector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiInterpreter.cc b/src/gsi/gsi/gsiInterpreter.cc index 6d16b0ce9..52278b10c 100644 --- a/src/gsi/gsi/gsiInterpreter.cc +++ b/src/gsi/gsi/gsiInterpreter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiInterpreter.h b/src/gsi/gsi/gsiInterpreter.h index 818719001..a4ad8c90a 100644 --- a/src/gsi/gsi/gsiInterpreter.h +++ b/src/gsi/gsi/gsiInterpreter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiIterators.h b/src/gsi/gsi/gsiIterators.h index 3a4a0598d..b7e5652dd 100644 --- a/src/gsi/gsi/gsiIterators.h +++ b/src/gsi/gsi/gsiIterators.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiMethods.cc b/src/gsi/gsi/gsiMethods.cc index 3eeb503e1..2c5ae63d1 100644 --- a/src/gsi/gsi/gsiMethods.cc +++ b/src/gsi/gsi/gsiMethods.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiMethods.h b/src/gsi/gsi/gsiMethods.h index 4a12754a1..a2e131587 100644 --- a/src/gsi/gsi/gsiMethods.h +++ b/src/gsi/gsi/gsiMethods.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiMethodsVar.h b/src/gsi/gsi/gsiMethodsVar.h index ff7d3c9a2..eba60554c 100644 --- a/src/gsi/gsi/gsiMethodsVar.h +++ b/src/gsi/gsi/gsiMethodsVar.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiObject.cc b/src/gsi/gsi/gsiObject.cc index 5b52b4950..7db757e61 100644 --- a/src/gsi/gsi/gsiObject.cc +++ b/src/gsi/gsi/gsiObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiObject.h b/src/gsi/gsi/gsiObject.h index f19324699..99e446c8d 100644 --- a/src/gsi/gsi/gsiObject.h +++ b/src/gsi/gsi/gsiObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiObjectHolder.cc b/src/gsi/gsi/gsiObjectHolder.cc index 61d580b0a..bffafe193 100644 --- a/src/gsi/gsi/gsiObjectHolder.cc +++ b/src/gsi/gsi/gsiObjectHolder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiObjectHolder.h b/src/gsi/gsi/gsiObjectHolder.h index 281892927..527d61bd7 100644 --- a/src/gsi/gsi/gsiObjectHolder.h +++ b/src/gsi/gsi/gsiObjectHolder.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiSerialisation.cc b/src/gsi/gsi/gsiSerialisation.cc index e6864e76d..2e9ce7512 100644 --- a/src/gsi/gsi/gsiSerialisation.cc +++ b/src/gsi/gsi/gsiSerialisation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiSerialisation.h b/src/gsi/gsi/gsiSerialisation.h index bb022ba95..6feb7d8cf 100644 --- a/src/gsi/gsi/gsiSerialisation.h +++ b/src/gsi/gsi/gsiSerialisation.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiSignals.cc b/src/gsi/gsi/gsiSignals.cc index 8351e8496..ea862a149 100644 --- a/src/gsi/gsi/gsiSignals.cc +++ b/src/gsi/gsi/gsiSignals.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiSignals.h b/src/gsi/gsi/gsiSignals.h index 3ebee657e..58789b5ee 100644 --- a/src/gsi/gsi/gsiSignals.h +++ b/src/gsi/gsi/gsiSignals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiTypes.cc b/src/gsi/gsi/gsiTypes.cc index ae5091d8d..332d5064c 100644 --- a/src/gsi/gsi/gsiTypes.cc +++ b/src/gsi/gsi/gsiTypes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi/gsiTypes.h b/src/gsi/gsi/gsiTypes.h index 6647adcf2..ad806fcca 100644 --- a/src/gsi/gsi/gsiTypes.h +++ b/src/gsi/gsi/gsiTypes.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi_test/gsiTest.cc b/src/gsi/gsi_test/gsiTest.cc index fac4eadd9..d57af0478 100644 --- a/src/gsi/gsi_test/gsiTest.cc +++ b/src/gsi/gsi_test/gsiTest.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi_test/gsiTest.h b/src/gsi/gsi_test/gsiTest.h index b4e66f206..05c00424d 100644 --- a/src/gsi/gsi_test/gsiTest.h +++ b/src/gsi/gsi_test/gsiTest.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/gsi_test/gsiTestForceLink.h b/src/gsi/gsi_test/gsiTestForceLink.h index 328a10c09..f2b633f3d 100644 --- a/src/gsi/gsi_test/gsiTestForceLink.h +++ b/src/gsi/gsi_test/gsiTestForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsi/unit_tests/gsiExpressionTests.cc b/src/gsi/unit_tests/gsiExpressionTests.cc index ada8932a3..ac47b9a3e 100644 --- a/src/gsi/unit_tests/gsiExpressionTests.cc +++ b/src/gsi/unit_tests/gsiExpressionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc index c6299f9da..13a8e0acc 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractListModel.cc b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractListModel.cc index e1250a9af..63409ce9f 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractListModel.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractTableModel.cc b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractTableModel.cc index 05f6b9fd1..f96fed813 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractTableModel.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQBasicTimer.cc b/src/gsiqt/qt4/QtCore/gsiDeclQBasicTimer.cc index a279f8152..cd33f11a1 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQBasicTimer.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQBasicTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQBuffer.cc b/src/gsiqt/qt4/QtCore/gsiDeclQBuffer.cc index bc085792c..c7f86e3da 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQBuffer.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQByteArrayMatcher.cc b/src/gsiqt/qt4/QtCore/gsiDeclQByteArrayMatcher.cc index 6fb031331..a6caab602 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQByteArrayMatcher.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQByteArrayMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQChildEvent.cc b/src/gsiqt/qt4/QtCore/gsiDeclQChildEvent.cc index 116818bb8..f8f7fdda0 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQChildEvent.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQChildEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQCoreApplication.cc b/src/gsiqt/qt4/QtCore/gsiDeclQCoreApplication.cc index 0b3b8d71d..65098ee96 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQCoreApplication.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQCoreApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQCryptographicHash.cc b/src/gsiqt/qt4/QtCore/gsiDeclQCryptographicHash.cc index d4892ba34..422df80ae 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQCryptographicHash.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQCryptographicHash.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQDataStream.cc b/src/gsiqt/qt4/QtCore/gsiDeclQDataStream.cc index 6297bb9bd..e09225040 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQDataStream.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQDataStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQDate.cc b/src/gsiqt/qt4/QtCore/gsiDeclQDate.cc index 50ef76495..443b2c8fb 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQDate.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQDate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQDateTime.cc b/src/gsiqt/qt4/QtCore/gsiDeclQDateTime.cc index b61bc6652..57f40413d 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQDateTime.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQDateTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQDir.cc b/src/gsiqt/qt4/QtCore/gsiDeclQDir.cc index 378208a35..b5f4841c0 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQDir.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQDir.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc b/src/gsiqt/qt4/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc index 2df1eb02f..4947e6bb9 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQEasingCurve.cc b/src/gsiqt/qt4/QtCore/gsiDeclQEasingCurve.cc index ff2e219f5..8162ef78f 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQEasingCurve.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQEasingCurve.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQEvent.cc b/src/gsiqt/qt4/QtCore/gsiDeclQEvent.cc index c3a804131..5bc308a86 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQEvent.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQEventLoop.cc b/src/gsiqt/qt4/QtCore/gsiDeclQEventLoop.cc index 942d11b88..94f02e326 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQEventLoop.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQEventLoop.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQFactoryInterface.cc b/src/gsiqt/qt4/QtCore/gsiDeclQFactoryInterface.cc index 75b8910c8..ad11432ad 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQFactoryInterface.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQFactoryInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQFile.cc b/src/gsiqt/qt4/QtCore/gsiDeclQFile.cc index fdd493672..5fcb76cb9 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQFile.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQFileInfo.cc b/src/gsiqt/qt4/QtCore/gsiDeclQFileInfo.cc index 455a9a75f..5f86e455d 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQFileInfo.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQFileInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQFileSystemWatcher.cc b/src/gsiqt/qt4/QtCore/gsiDeclQFileSystemWatcher.cc index 8113fcadd..abb21a0e6 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQFileSystemWatcher.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQFileSystemWatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQIODevice.cc b/src/gsiqt/qt4/QtCore/gsiDeclQIODevice.cc index 724c17ca6..a65d3e016 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQIODevice.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQIODevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQLibrary.cc b/src/gsiqt/qt4/QtCore/gsiDeclQLibrary.cc index ba5131f28..265bea819 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQLibrary.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQLibrary.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQLibraryInfo.cc b/src/gsiqt/qt4/QtCore/gsiDeclQLibraryInfo.cc index 8951c13c4..81e448992 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQLibraryInfo.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQLibraryInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQLine.cc b/src/gsiqt/qt4/QtCore/gsiDeclQLine.cc index 07e016369..cbd7de3a7 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQLine.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQLineF.cc b/src/gsiqt/qt4/QtCore/gsiDeclQLineF.cc index 91155585b..b6e5adc07 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQLineF.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQLineF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQLocale.cc b/src/gsiqt/qt4/QtCore/gsiDeclQLocale.cc index d9358dc2e..85d07f935 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQLocale.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQLocale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMargins.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMargins.cc index 0f4500228..9666e1de0 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMargins.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMargins.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaClassInfo.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaClassInfo.cc index 1a2a9cf12..be6fed1ca 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaClassInfo.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaClassInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaEnum.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaEnum.cc index f0a92291c..48f14fbce 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaEnum.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaEnum.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaMethod.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaMethod.cc index e06932302..503daa24b 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaMethod.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaMethod.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaObject.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaObject.cc index 257922c7c..ab7b4467a 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaObject.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaProperty.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaProperty.cc index 04cfc78e6..ae58b1bda 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaProperty.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaProperty.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMetaType.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMetaType.cc index 10ef70313..3dee676fe 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMetaType.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMetaType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMimeData.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMimeData.cc index 810853efe..ab92b4687 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMimeData.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMimeData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQModelIndex.cc b/src/gsiqt/qt4/QtCore/gsiDeclQModelIndex.cc index 8cb98f515..c8a892ed7 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQModelIndex.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQMutex.cc b/src/gsiqt/qt4/QtCore/gsiDeclQMutex.cc index 19f2831d1..aaf29eaf5 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQMutex.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQObject.cc b/src/gsiqt/qt4/QtCore/gsiDeclQObject.cc index 6b15b75e6..3ca7a1f22 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQObject.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQPersistentModelIndex.cc b/src/gsiqt/qt4/QtCore/gsiDeclQPersistentModelIndex.cc index 77659d05d..79d6e2087 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQPersistentModelIndex.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQPersistentModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQPluginLoader.cc b/src/gsiqt/qt4/QtCore/gsiDeclQPluginLoader.cc index 454736544..8bf3bbb5a 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQPluginLoader.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQPluginLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQPoint.cc b/src/gsiqt/qt4/QtCore/gsiDeclQPoint.cc index 5e6e358c4..c56302320 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQPoint.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQPointF.cc b/src/gsiqt/qt4/QtCore/gsiDeclQPointF.cc index 2182bf59f..fc20d13cd 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQPointF.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQPointF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQProcess.cc b/src/gsiqt/qt4/QtCore/gsiDeclQProcess.cc index 64287ebee..a28ccb313 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQProcess.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQProcess.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQProcessEnvironment.cc b/src/gsiqt/qt4/QtCore/gsiDeclQProcessEnvironment.cc index 407af4b96..29c063087 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQProcessEnvironment.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQProcessEnvironment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQReadLocker.cc b/src/gsiqt/qt4/QtCore/gsiDeclQReadLocker.cc index 25a01c970..114bd225d 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQReadLocker.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQReadLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQReadWriteLock.cc b/src/gsiqt/qt4/QtCore/gsiDeclQReadWriteLock.cc index 9ba3563d1..c74935155 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQReadWriteLock.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQReadWriteLock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQRect.cc b/src/gsiqt/qt4/QtCore/gsiDeclQRect.cc index df29bcd42..776c5d429 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQRect.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQRectF.cc b/src/gsiqt/qt4/QtCore/gsiDeclQRectF.cc index e29f815a5..20dbbe5ca 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQRectF.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQRectF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQRegExp.cc b/src/gsiqt/qt4/QtCore/gsiDeclQRegExp.cc index 76c1a20fa..539149058 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQRegExp.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQRegExp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQResource.cc b/src/gsiqt/qt4/QtCore/gsiDeclQResource.cc index 440c2bd99..e5426955e 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQResource.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQResource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSemaphore.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSemaphore.cc index 361cd057c..e9aa74850 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSemaphore.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSemaphore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSettings.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSettings.cc index 9c3883e70..7cfa3a896 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSettings.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSignalMapper.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSignalMapper.cc index 9593b369b..3d7ff4e8c 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSignalMapper.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSignalMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSize.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSize.cc index 15d9b7d3b..bbfc74526 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSize.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSize.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSizeF.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSizeF.cc index 9bd480b5e..0224e730a 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSizeF.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSizeF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSocketNotifier.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSocketNotifier.cc index 78421d313..3e1c27580 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSocketNotifier.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSocketNotifier.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQStringMatcher.cc b/src/gsiqt/qt4/QtCore/gsiDeclQStringMatcher.cc index e06e6e8f3..23b54cc34 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQStringMatcher.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQStringMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSysInfo.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSysInfo.cc index 73736dc9e..2c9ba9a11 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSysInfo.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSysInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQSystemLocale.cc b/src/gsiqt/qt4/QtCore/gsiDeclQSystemLocale.cc index 0b89a0aca..f8e69fe9f 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQSystemLocale.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQSystemLocale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTemporaryFile.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTemporaryFile.cc index 9c17ecc1e..b1a3abce4 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTemporaryFile.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTemporaryFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec.cc index 30ea75c5e..9f455ae09 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec_ConverterState.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec_ConverterState.cc index 39ecad5f5..0efdedf06 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec_ConverterState.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTextCodec_ConverterState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTextDecoder.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTextDecoder.cc index 6c7f86a9b..499a3d2b6 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTextDecoder.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTextDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTextEncoder.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTextEncoder.cc index cfd701cbd..76e65edf9 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTextEncoder.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTextEncoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTextStream.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTextStream.cc index b9a89a46f..37e441693 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTextStream.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTextStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQThread.cc b/src/gsiqt/qt4/QtCore/gsiDeclQThread.cc index 94670c24f..40a1a815b 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQThread.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQThread.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTime.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTime.cc index 6f246bcbd..269546b91 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTime.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTimeLine.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTimeLine.cc index 75ff7c05d..a0c5a0282 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTimeLine.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTimeLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTimer.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTimer.cc index 2d6fcca38..e0d371a53 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTimer.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTimerEvent.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTimerEvent.cc index fa26ddc3a..3c5a5bd6f 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTimerEvent.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTimerEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQTranslator.cc b/src/gsiqt/qt4/QtCore/gsiDeclQTranslator.cc index 325de1961..83af7ef71 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQTranslator.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQTranslator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQUrl.cc b/src/gsiqt/qt4/QtCore/gsiDeclQUrl.cc index 7209dea1f..c48b5acc0 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQUrl.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQUrl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQWaitCondition.cc b/src/gsiqt/qt4/QtCore/gsiDeclQWaitCondition.cc index 6fd1d9b19..746f66dd2 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQWaitCondition.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQWaitCondition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQWriteLocker.cc b/src/gsiqt/qt4/QtCore/gsiDeclQWriteLocker.cc index f4e70f987..abbf3b133 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQWriteLocker.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQWriteLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQt.cc b/src/gsiqt/qt4/QtCore/gsiDeclQt.cc index aaf517196..d7497698d 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQt.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQtCoreAdd.cc b/src/gsiqt/qt4/QtCore/gsiDeclQtCoreAdd.cc index 13b64901f..bf27423d5 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQtCoreAdd.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQtCoreAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQt_1.cc b/src/gsiqt/qt4/QtCore/gsiDeclQt_1.cc index 89a06abab..a8e5b753d 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQt_1.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQt_1.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQt_2.cc b/src/gsiqt/qt4/QtCore/gsiDeclQt_2.cc index 68b46a336..2b72dcbca 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQt_2.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQt_2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQt_3.cc b/src/gsiqt/qt4/QtCore/gsiDeclQt_3.cc index 20f16c354..a9432d8bb 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQt_3.cc +++ b/src/gsiqt/qt4/QtCore/gsiDeclQt_3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtCore/gsiQtExternals.h b/src/gsiqt/qt4/QtCore/gsiQtExternals.h index 543609820..ad5c83634 100644 --- a/src/gsiqt/qt4/QtCore/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtCore/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtDesigner/gsiDeclQAbstractFormBuilder.cc b/src/gsiqt/qt4/QtDesigner/gsiDeclQAbstractFormBuilder.cc index 6f0c1fc76..e4e8a1a12 100644 --- a/src/gsiqt/qt4/QtDesigner/gsiDeclQAbstractFormBuilder.cc +++ b/src/gsiqt/qt4/QtDesigner/gsiDeclQAbstractFormBuilder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtDesigner/gsiDeclQFormBuilder.cc b/src/gsiqt/qt4/QtDesigner/gsiDeclQFormBuilder.cc index ebb7caafd..02490f61e 100644 --- a/src/gsiqt/qt4/QtDesigner/gsiDeclQFormBuilder.cc +++ b/src/gsiqt/qt4/QtDesigner/gsiDeclQFormBuilder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtDesigner/gsiQtExternals.h b/src/gsiqt/qt4/QtDesigner/gsiQtExternals.h index ed361e25c..5248cc155 100644 --- a/src/gsiqt/qt4/QtDesigner/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtDesigner/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractButton.cc index 71a7dec1f..07f23c322 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractGraphicsShapeItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractGraphicsShapeItem.cc index 9c2ad15c1..96cd7afd6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractGraphicsShapeItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractGraphicsShapeItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemDelegate.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemDelegate.cc index 614668908..5ff8b1771 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemDelegate.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemView.cc index 385406f22..7d0c5cba2 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPageSetupDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPageSetupDialog.cc index 37a7567a6..2146d90ca 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPageSetupDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPageSetupDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPrintDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPrintDialog.cc index 76b56e960..ec292896d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPrintDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractProxyModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractProxyModel.cc index 76220ea44..1cd97026d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractProxyModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractScrollArea.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractScrollArea.cc index bb20969c7..81e977608 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractScrollArea.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSlider.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSlider.cc index fa9987e03..1d58501a6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSlider.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSpinBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSpinBox.cc index c4e540b2d..85e190049 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSpinBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout.cc index d4480b470..2e9574289 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc index 03127c849..c4c8255ad 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc index d20856872..768ec57b8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractUndoItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractUndoItem.cc index 9fb31e010..33ed3db40 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAbstractUndoItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAbstractUndoItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessible.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessible.cc index 8bc71a4b3..23441840a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessible.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessible.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleApplication.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleApplication.cc index ea34b83d5..ee3667449 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleApplication.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleEvent.cc index cd1db3594..49a74be03 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleInterface.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleInterface.cc index 6933c2c7f..22eb98042 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleInterface.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleObject.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleObject.cc index 4a51806a4..9ec864518 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleObject.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleWidget.cc index 45982ae5f..cff2d43c2 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAccessibleWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQAction.cc b/src/gsiqt/qt4/QtGui/gsiDeclQAction.cc index c5cf52044..d6693774c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQAction.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQActionEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQActionEvent.cc index dad990f67..3ec83e384 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQActionEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQActionEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQActionGroup.cc b/src/gsiqt/qt4/QtGui/gsiDeclQActionGroup.cc index 24a7582b6..9f891eadc 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQActionGroup.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQActionGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQApplication.cc b/src/gsiqt/qt4/QtGui/gsiDeclQApplication.cc index d3cd0cb58..58f71eaf7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQApplication.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQBitmap.cc b/src/gsiqt/qt4/QtGui/gsiDeclQBitmap.cc index 0ae6c7f3d..c102f3098 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQBitmap.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQBitmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQBoxLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQBoxLayout.cc index af60fc014..7e47e918f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQBoxLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQBrush.cc b/src/gsiqt/qt4/QtGui/gsiDeclQBrush.cc index 39b581093..9dfb3f6be 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQBrush.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQBrush.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQButtonGroup.cc b/src/gsiqt/qt4/QtGui/gsiDeclQButtonGroup.cc index c7be56861..97b5f145d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQButtonGroup.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQButtonGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCDEStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCDEStyle.cc index edee04f98..414c3ae23 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCDEStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCDEStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCalendarWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCalendarWidget.cc index e9b61a67c..ca2c2d652 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCalendarWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCalendarWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCheckBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCheckBox.cc index b8c9c184f..07c7a4fb3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCheckBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCheckBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCleanlooksStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCleanlooksStyle.cc index 37f000474..3d8af1c6f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCleanlooksStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCleanlooksStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQClipboard.cc b/src/gsiqt/qt4/QtGui/gsiDeclQClipboard.cc index f784179e1..ba872e684 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQClipboard.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQClipboard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQClipboardEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQClipboardEvent.cc index ba3d03038..faafbd046 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQClipboardEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQClipboardEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCloseEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCloseEvent.cc index 004958e29..b93da5493 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCloseEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCloseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQColor.cc b/src/gsiqt/qt4/QtGui/gsiDeclQColor.cc index d6c127e6f..baca572b1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQColor.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQColor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQColorDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQColorDialog.cc index fd37d62b7..1e253008c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQColorDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQColorDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQColormap.cc b/src/gsiqt/qt4/QtGui/gsiDeclQColormap.cc index a89c24596..fd96a3ca5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQColormap.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQColormap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQColumnView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQColumnView.cc index 581c05c53..9bb6f4019 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQColumnView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQColumnView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQComboBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQComboBox.cc index ca211dd35..0ee2584f5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQComboBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCommandLinkButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCommandLinkButton.cc index 12a4747d3..74f4ff82f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCommandLinkButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCommandLinkButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCommonStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCommonStyle.cc index be2d90e0f..483bef122 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCommonStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCommonStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCompleter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCompleter.cc index 8b0e81f16..9905967ee 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCompleter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCompleter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQConicalGradient.cc b/src/gsiqt/qt4/QtGui/gsiDeclQConicalGradient.cc index 74f1df076..a32b0f7ea 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQConicalGradient.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQConicalGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQContextMenuEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQContextMenuEvent.cc index a0100bca3..9732b921e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQContextMenuEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQCursor.cc b/src/gsiqt/qt4/QtGui/gsiDeclQCursor.cc index a0d888e89..246ebeed4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQCursor.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDataWidgetMapper.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDataWidgetMapper.cc index 96fd7fda5..ada524bc6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDataWidgetMapper.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDataWidgetMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDateEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDateEdit.cc index 4da94420f..09496677d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDateEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDateEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDateTimeEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDateTimeEdit.cc index 20ae8d4a6..0922bbb7c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDateTimeEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDateTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDesktopServices.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDesktopServices.cc index ea49e4d4f..8c063f9d6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDesktopServices.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDesktopServices.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDesktopWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDesktopWidget.cc index a9ca42590..96e400b59 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDesktopWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDesktopWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDial.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDial.cc index 1a5159600..1d8226d83 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDial.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDial.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDialog.cc index 4914ab935..72008a458 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDialogButtonBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDialogButtonBox.cc index 7d6dbac3a..f9551dcb4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDialogButtonBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDialogButtonBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDirIterator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDirIterator.cc index 3c4cc0e91..d940850c4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDirIterator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDirIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDirModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDirModel.cc index 202e62c6c..95c9757f3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDirModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDirModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDockWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDockWidget.cc index 5006d1730..462a30cd4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDockWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDoubleSpinBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDoubleSpinBox.cc index ea42c5592..1a660d787 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDoubleSpinBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDoubleSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDoubleValidator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDoubleValidator.cc index 73fdaa25d..a31e8ed09 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDoubleValidator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDoubleValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDrag.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDrag.cc index 3f893d25e..bccd96f7f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDrag.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDrag.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDragEnterEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDragEnterEvent.cc index 3c0b3fc06..ddbdece7d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDragEnterEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDragEnterEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDragLeaveEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDragLeaveEvent.cc index 582ddc954..b3248077d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDragLeaveEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDragLeaveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDragMoveEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDragMoveEvent.cc index c1785e43d..4dc911412 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDragMoveEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDragMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDragResponseEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDragResponseEvent.cc index 9c05859d2..b9e4fa006 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDragResponseEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDragResponseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQDropEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQDropEvent.cc index 5c6651407..4647af2c5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQDropEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQErrorMessage.cc b/src/gsiqt/qt4/QtGui/gsiDeclQErrorMessage.cc index 22475b7f2..ef81db274 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQErrorMessage.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQErrorMessage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFileDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFileDialog.cc index dcc5ac0fc..eb4db53b7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFileDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFileDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFileIconProvider.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFileIconProvider.cc index 5e73fce3b..09502e33c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFileIconProvider.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFileIconProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFileOpenEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFileOpenEvent.cc index 23dcde196..aa8c69eea 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFileOpenEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFileOpenEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFileSystemModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFileSystemModel.cc index 2093fdc60..b29add663 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFileSystemModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFileSystemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFocusEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFocusEvent.cc index e9b6b177d..99c1b5d9e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFocusEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFocusEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFocusFrame.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFocusFrame.cc index 2520602cb..ca57d1ca8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFocusFrame.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFocusFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFont.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFont.cc index 146cb8e87..f3a507a27 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFont.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontComboBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontComboBox.cc index 3bdd40663..7855dea40 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontComboBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontDatabase.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontDatabase.cc index 9c9d91bc4..a1b8243e8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontDatabase.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontDialog.cc index 94c9ea838..388140f82 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontInfo.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontInfo.cc index 2ed67a333..e89a32dc7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontInfo.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontMetrics.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontMetrics.cc index 2706bf920..ae1a2f188 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontMetrics.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontMetrics.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFontMetricsF.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFontMetricsF.cc index 579f35ac7..deec14fc7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFontMetricsF.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFontMetricsF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFormLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFormLayout.cc index 7d42aba6c..5d330bfcb 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFormLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFormLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQFrame.cc b/src/gsiqt/qt4/QtGui/gsiDeclQFrame.cc index 929a3fa9a..8cabbcc46 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQFrame.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGesture.cc index 25afd21ae..cbdae5245 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGestureEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGestureEvent.cc index 4855a5220..9b80774d5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGestureEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGestureEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGestureRecognizer.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGestureRecognizer.cc index fb81bf7a0..ef73a7139 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGestureRecognizer.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGestureRecognizer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGradient.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGradient.cc index 486acc3cc..db9f5c309 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGradient.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchor.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchor.cc index bbc8bf07a..1e599df73 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchor.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchorLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchorLayout.cc index 9e5307980..13cbb4195 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchorLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchorLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsBlurEffect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsBlurEffect.cc index 0fd856ec9..59bdc2e3b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsBlurEffect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsBlurEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsColorizeEffect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsColorizeEffect.cc index 2e444f05c..065bf4a0d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsColorizeEffect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsColorizeEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsDropShadowEffect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsDropShadowEffect.cc index a1edacdab..4a4db3442 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsDropShadowEffect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsDropShadowEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEffect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEffect.cc index 2bb164e89..a8382ef69 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEffect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEllipseItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEllipseItem.cc index 93d54a7ec..b33671c41 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEllipseItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEllipseItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsGridLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsGridLayout.cc index d97904601..b76099c5b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsGridLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItem.cc index 47f0f7f2f..8c713f875 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemAnimation.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemAnimation.cc index 9f77f5ce4..57e4d850b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemAnimation.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemGroup.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemGroup.cc index 514918518..0d6a1d184 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemGroup.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayout.cc index be31363bc..88d32eaca 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayoutItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayoutItem.cc index c49732424..6b7fd41ae 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayoutItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLineItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLineItem.cc index 1584fa72d..472f02e32 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLineItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLineItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLinearLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLinearLayout.cc index c4d8e6d64..353b5825a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLinearLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLinearLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsObject.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsObject.cc index 62ac8be96..dae787182 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsObject.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsOpacityEffect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsOpacityEffect.cc index 6cbac0f93..4d5e36e01 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsOpacityEffect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsOpacityEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPathItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPathItem.cc index 0629b3cdf..93ecbff4c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPathItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPathItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPixmapItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPixmapItem.cc index df0982acd..1fab5fb4a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPixmapItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPixmapItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPolygonItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPolygonItem.cc index d5445b458..10c34d478 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPolygonItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPolygonItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsProxyWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsProxyWidget.cc index 85df9c971..a2932b4ce 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsProxyWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsProxyWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRectItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRectItem.cc index 504a0632a..300474572 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRectItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRectItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRotation.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRotation.cc index 87f65db1e..cc779d992 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRotation.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScale.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScale.cc index 4eba704e2..c4d982de5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScale.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScene.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScene.cc index afd086276..9a78a347a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScene.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScene.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneContextMenuEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneContextMenuEvent.cc index ee2ad51a7..c5e5f6445 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneContextMenuEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneDragDropEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneDragDropEvent.cc index 7a0c118c2..b5ebace66 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneDragDropEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneDragDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneEvent.cc index 95c0d8437..5a538746f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHelpEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHelpEvent.cc index 30b01c317..c8cb209a1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHelpEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHoverEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHoverEvent.cc index f9d6c3af5..eb0de47e5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHoverEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMouseEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMouseEvent.cc index 45666345f..1eb85bb2c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMouseEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMoveEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMoveEvent.cc index 0fb5fadc0..10401bd32 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMoveEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneResizeEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneResizeEvent.cc index f646fbde4..f7b81689d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneResizeEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneWheelEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneWheelEvent.cc index a54887280..a8b9aa16f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneWheelEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSimpleTextItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSimpleTextItem.cc index 520358024..f54c7f28a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSimpleTextItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSimpleTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTextItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTextItem.cc index d42359d24..b8849d786 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTextItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTransform.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTransform.cc index a7120136b..88a592019 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTransform.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsView.cc index 182129af5..04a10938f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsWidget.cc index edb1a1ec1..501139faa 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGraphicsWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGridLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGridLayout.cc index 67f672c19..b632656fe 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGridLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQGroupBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQGroupBox.cc index 7e114532f..ace6a0c92 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQGroupBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQHBoxLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQHBoxLayout.cc index d8fb4ed71..8b91592b0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQHBoxLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQHBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQHeaderView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQHeaderView.cc index bccc70041..a517c4237 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQHeaderView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQHeaderView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQHelpEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQHelpEvent.cc index 1e7849e15..944209d78 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQHelpEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQHideEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQHideEvent.cc index 697861b7e..64e10b85f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQHideEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQHideEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQHoverEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQHoverEvent.cc index 121220206..8239fc25e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQHoverEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIcon.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIcon.cc index c9cd4ef45..99be48273 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIcon.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIconDragEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIconDragEvent.cc index 184ef33fc..134538947 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIconDragEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIconDragEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIconEngine.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIconEngine.cc index cff082645..a485f0bcc 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIconEngine.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIconEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePlugin.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePlugin.cc index 7dfb308aa..cd5345b5d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePlugin.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePluginV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePluginV2.cc index 33fac0287..ccd9b2514 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePluginV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePluginV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIconEngineV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIconEngineV2.cc index 6aca29aa0..2c450af89 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIconEngineV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIconEngineV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImage.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImage.cc index 75cbc2460..67de64208 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImage.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImageIOHandler.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImageIOHandler.cc index e05845d7e..30690dd9a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImageIOHandler.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImageIOHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImageIOPlugin.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImageIOPlugin.cc index 3c0ea7b20..dd8b1cd5c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImageIOPlugin.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImageIOPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImageReader.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImageReader.cc index 7dc90d60c..fdedd15e1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImageReader.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImageReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImageTextKeyLang.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImageTextKeyLang.cc index 0edacb770..7c70d0853 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImageTextKeyLang.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImageTextKeyLang.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQImageWriter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQImageWriter.cc index 687c2ae69..96096be89 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQImageWriter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQImageWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputContext.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputContext.cc index 6027a34ca..54f50c80f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputContext.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputContextFactory.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputContextFactory.cc index 93e23c7e2..9250ab7a5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputContextFactory.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputContextFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputContextPlugin.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputContextPlugin.cc index 72bd81dd2..037229152 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputContextPlugin.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputContextPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputDialog.cc index c25823e7a..9e4ce908f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputEvent.cc index 53307419a..89694a028 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent.cc index c2deec9fd..ca2293e81 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent_Attribute.cc b/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent_Attribute.cc index 439146a03..393c9bb18 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent_Attribute.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent_Attribute.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQIntValidator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQIntValidator.cc index c664f54df..ce035b05e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQIntValidator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQIntValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemDelegate.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemDelegate.cc index fa161c45a..0e9e7660c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemDelegate.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorCreatorBase.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorCreatorBase.cc index 7c385de4b..0a7f3d132 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorCreatorBase.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorFactory.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorFactory.cc index 9b44b0195..b55152530 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorFactory.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemEditorFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelection.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelection.cc index d6260d9ad..f7f0d5d52 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelection.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionModel.cc index 295f56980..57f4084fd 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionRange.cc b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionRange.cc index 1f938bf99..762d986a0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionRange.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQKeyEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQKeyEvent.cc index 873db5ece..278d0930a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQKeyEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQKeyEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQKeySequence.cc b/src/gsiqt/qt4/QtGui/gsiDeclQKeySequence.cc index 6093ee986..2b861a47f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQKeySequence.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQKeySequence.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLCDNumber.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLCDNumber.cc index 9626b66bb..45d77bedb 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLCDNumber.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLCDNumber.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLabel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLabel.cc index 5b421b7de..dd152f06a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLabel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLabel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLayout.cc index 919614171..0c37781e0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLayoutItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLayoutItem.cc index 06bec907d..dc2096525 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLayoutItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLineEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLineEdit.cc index 76df15a70..e3b36fb7e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLineEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLineEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQLinearGradient.cc b/src/gsiqt/qt4/QtGui/gsiDeclQLinearGradient.cc index 1dd8458cc..5650eeae7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQLinearGradient.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQLinearGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQListView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQListView.cc index 24a977039..d453c667c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQListView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQListView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQListWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQListWidget.cc index d1a8ffba2..cb9260664 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQListWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQListWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQListWidgetItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQListWidgetItem.cc index d236be097..e9ed8462f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQListWidgetItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQListWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMainWindow.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMainWindow.cc index 914e809c3..67372215a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMainWindow.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMainWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMatrix.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMatrix.cc index 18f79db8e..3537960ff 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMatrix.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMatrix.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMatrix4x4.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMatrix4x4.cc index 6b49271ce..8f8f54190 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMatrix4x4.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMatrix4x4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMdiArea.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMdiArea.cc index 46fdbccc3..082309fad 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMdiArea.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMdiArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMdiSubWindow.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMdiSubWindow.cc index f2c65ba46..ebaa4eaa8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMdiSubWindow.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMdiSubWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMenu.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMenu.cc index 48fe7a8ef..2b38f8d12 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMenu.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMenu.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMenuBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMenuBar.cc index 9d27af465..afe4b7e55 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMenuBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMenuBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMessageBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMessageBox.cc index 855ed9ea3..dfcb4ecf4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMessageBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMessageBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMimeSource.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMimeSource.cc index a36f50f37..c764a0fb4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMimeSource.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMimeSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMotifStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMotifStyle.cc index 6742e6fee..1ce607c83 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMotifStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMotifStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMouseEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMouseEvent.cc index 2c341c217..0554dd3cf 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMouseEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMoveEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMoveEvent.cc index b5308a368..b2bdc83d9 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMoveEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQMovie.cc b/src/gsiqt/qt4/QtGui/gsiDeclQMovie.cc index 3d65a1371..a895f530a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQMovie.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQMovie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPageSetupDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPageSetupDialog.cc index e64a4d4d2..ff6b6f52b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPageSetupDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPageSetupDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPaintDevice.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPaintDevice.cc index f6404e824..51c9e0d76 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPaintDevice.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPaintDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngine.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngine.cc index e95ef7f86..246b5f3b5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngine.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngineState.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngineState.cc index c4d2e6465..42f9f83c7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngineState.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEngineState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEvent.cc index 8c10fe8ac..e8b8fa7a3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPaintEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPaintEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPainter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPainter.cc index 5a2b54206..26ea0c74a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPainter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath.cc index 8c7ab2335..da4e9a50c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPathStroker.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPathStroker.cc index f819e71a0..4a12c27f3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPathStroker.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPathStroker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath_Element.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath_Element.cc index 1812f73dd..eac3fea4d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath_Element.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPainterPath_Element.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPalette.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPalette.cc index 0a2712de7..ca25c338e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPalette.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPanGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPanGesture.cc index 13fe9f56a..5b59eb21b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPanGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPanGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPen.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPen.cc index cd333e14c..796632c5d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPen.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPicture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPicture.cc index c784e944f..1bb9cef38 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPicture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPicture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPinchGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPinchGesture.cc index 10dd44b71..c3da407d7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPinchGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPinchGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPixmap.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPixmap.cc index cb355e1b4..7123f14b7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPixmap.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPixmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPixmapCache.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPixmapCache.cc index f4a6e1180..c92531077 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPixmapCache.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPixmapCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextDocumentLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextDocumentLayout.cc index 88841eb95..219292892 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextDocumentLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextEdit.cc index 62d90dd68..53a2fa5f0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPlainTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPlastiqueStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPlastiqueStyle.cc index 034402bec..cd9bcce6b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPlastiqueStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPlastiqueStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPolygon.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPolygon.cc index f110e9317..3dcd58ebc 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPolygon.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPolygonF.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPolygonF.cc index 2fcb2d74e..5da8f7e03 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPolygonF.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPolygonF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrintDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrintDialog.cc index 5481f07ca..4835a26d1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrintDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrintEngine.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrintEngine.cc index 4efc38bbd..4f6a928b3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrintEngine.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewDialog.cc index 90912d375..503a79751 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewWidget.cc index 8b7a490a2..4f10f3be9 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrinter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrinter.cc index e5b25f4a5..7ae7ded18 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrinter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrinter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPrinterInfo.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPrinterInfo.cc index e51672328..5673847bb 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPrinterInfo.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPrinterInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQProgressBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQProgressBar.cc index 628fa03da..2fc31754d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQProgressBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQProgressDialog.cc b/src/gsiqt/qt4/QtGui/gsiDeclQProgressDialog.cc index 38619c670..92431556c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQProgressDialog.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQProgressDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQPushButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQPushButton.cc index e1b743e6e..8565085d4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQPushButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQPushButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQQuaternion.cc b/src/gsiqt/qt4/QtGui/gsiDeclQQuaternion.cc index 42af69e49..67e91a813 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQQuaternion.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQQuaternion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQRadialGradient.cc b/src/gsiqt/qt4/QtGui/gsiDeclQRadialGradient.cc index dd0630d9b..ebc41722f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQRadialGradient.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQRadialGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQRadioButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQRadioButton.cc index dcb1d79e0..49ecff803 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQRadioButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQRadioButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQRegExpValidator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQRegExpValidator.cc index 556f6280a..c0ad30791 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQRegExpValidator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQRegExpValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQRegion.cc b/src/gsiqt/qt4/QtGui/gsiDeclQRegion.cc index ec82082ee..b2d1cf13b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQRegion.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQResizeEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQResizeEvent.cc index dc64fed70..67f30f9a6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQResizeEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQRubberBand.cc b/src/gsiqt/qt4/QtGui/gsiDeclQRubberBand.cc index 0e62a9f21..9e02872ea 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQRubberBand.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQScrollArea.cc b/src/gsiqt/qt4/QtGui/gsiDeclQScrollArea.cc index 323779e26..f22e2cfb0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQScrollArea.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQScrollBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQScrollBar.cc index 0019402d5..cf6ca8720 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQScrollBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQScrollBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQShortcut.cc b/src/gsiqt/qt4/QtGui/gsiDeclQShortcut.cc index ac006e767..c722063f6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQShortcut.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQShortcut.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQShortcutEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQShortcutEvent.cc index 91543294f..29f7b87d0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQShortcutEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQShortcutEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQShowEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQShowEvent.cc index 0d5703e97..f98846ddf 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQShowEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQShowEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSizeGrip.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSizeGrip.cc index d446eef83..b64c55ba4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSizeGrip.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSizePolicy.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSizePolicy.cc index 583ff5605..995e5c81f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSizePolicy.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSizePolicy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSlider.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSlider.cc index 0cd35e5dd..798c7d6da 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSlider.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSortFilterProxyModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSortFilterProxyModel.cc index dd62d722c..b7a308875 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSortFilterProxyModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSortFilterProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSound.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSound.cc index e72ebd483..3af525373 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSound.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSound.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSpacerItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSpacerItem.cc index cabc45b48..0f5b0361b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSpacerItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSpacerItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSpinBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSpinBox.cc index 39c3f1723..7ab6781a3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSpinBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSplashScreen.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSplashScreen.cc index e5c5abed2..fc7caa6b2 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSplashScreen.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSplashScreen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSplitter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSplitter.cc index 0a060cade..69b399017 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSplitter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSplitter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSplitterHandle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSplitterHandle.cc index 1297da3ab..24d1080b2 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSplitterHandle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSplitterHandle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStackedLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStackedLayout.cc index 811f28898..ff97f8d93 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStackedLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStackedLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStackedWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStackedWidget.cc index ebe51fc36..e344997e9 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStackedWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStackedWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStandardItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStandardItem.cc index 7ab2d7332..b807ef50d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStandardItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStandardItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStandardItemModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStandardItemModel.cc index 3dce1346f..b3bf7ab97 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStandardItemModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStandardItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStatusBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStatusBar.cc index 65515ed54..c14c1334b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStatusBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStatusBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStatusTipEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStatusTipEvent.cc index 6a0d7478e..89683cebc 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStatusTipEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStatusTipEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStringListModel.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStringListModel.cc index cc1bf2bc5..ec9e6b1db 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStringListModel.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStringListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyle.cc index 250128d52..13200d509 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleFactory.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleFactory.cc index 8d7ecb4bd..c4c743ee1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleFactory.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturn.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturn.cc index 69d579167..bf3d05268 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturn.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturn.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnMask.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnMask.cc index b458e7b57..d2ff4b95a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnMask.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnMask.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnVariant.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnVariant.cc index c15f5ff7a..06f6f7cf4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnVariant.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnVariant.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOption.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOption.cc index b162f2159..308ba3976 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOption.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionButton.cc index 5a7e52469..dd4bcf186 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComboBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComboBox.cc index 7a5b986ec..e0570e604 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComboBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComplex.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComplex.cc index 6ef2e338c..13c3fd063 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComplex.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComplex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionDockWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionDockWidget.cc index 4128881c6..fa348ac42 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionDockWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFocusRect.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFocusRect.cc index 4cfb410c7..078131689 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFocusRect.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFocusRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrame.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrame.cc index 4855273b1..e49fbc0ed 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrame.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV2.cc index aa9ce1d67..4c632300d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV3.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV3.cc index 94c2fd3b1..857696b19 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV3.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGraphicsItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGraphicsItem.cc index de35b2d90..99a8fa40b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGraphicsItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGroupBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGroupBox.cc index 269644f3f..58f42da4d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGroupBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionHeader.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionHeader.cc index 3db27e17b..367dc84d3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionHeader.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionHeader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionMenuItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionMenuItem.cc index 1fa86e322..d75303e60 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionMenuItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionMenuItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBar.cc index 7b1baf411..8f505a273 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBarV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBarV2.cc index 1d24eaca3..e97fee7c7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBarV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBarV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3DockWindow.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3DockWindow.cc index 46f437bd2..9207acb86 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3DockWindow.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3DockWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListView.cc index af1c5a716..570611404 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListViewItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListViewItem.cc index ce4bdd81d..79a506c0c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListViewItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListViewItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionRubberBand.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionRubberBand.cc index 476ba95c0..748771634 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionRubberBand.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSizeGrip.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSizeGrip.cc index 32a1b8943..da349376c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSizeGrip.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSlider.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSlider.cc index dc8c373b3..821f95be1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSlider.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSpinBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSpinBox.cc index 1aaa6e86a..0d2bcc465 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSpinBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTab.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTab.cc index 4013b02fa..23e41de6c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTab.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBase.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBase.cc index ace8ec6e7..b37f164a6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBase.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBaseV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBaseV2.cc index f6c25ac77..831ecd027 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBaseV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBaseV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV2.cc index 0f5cc0714..42f65129f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV3.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV3.cc index d4b6ea9cb..ab7c98a2f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV3.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabWidgetFrame.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabWidgetFrame.cc index f5f76b388..108d07475 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabWidgetFrame.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabWidgetFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTitleBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTitleBar.cc index f048e28e7..7f8026e16 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTitleBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTitleBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBar.cc index c27afa59e..82d390b6e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBox.cc index ae57645da..34d1d0594 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBoxV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBoxV2.cc index 6bd3132c1..129a6ba89 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBoxV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBoxV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolButton.cc index 5c0e55af7..e1e675e37 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItem.cc index e0bc83ee5..d962aec82 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV2.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV2.cc index 8ad71174a..220a40bde 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV2.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV3.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV3.cc index a773e0170..5ad0d4e6b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV3.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV4.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV4.cc index 1602af349..0fb6de383 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV4.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStylePainter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStylePainter.cc index 94e06482e..97bdabc9e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStylePainter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStylePainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStylePlugin.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStylePlugin.cc index 7e0e33876..7cc12b833 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStylePlugin.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStylePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQStyledItemDelegate.cc b/src/gsiqt/qt4/QtGui/gsiDeclQStyledItemDelegate.cc index a42376a06..66cd286d4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQStyledItemDelegate.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQStyledItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSwipeGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSwipeGesture.cc index 2be571ff8..3dccddaab 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSwipeGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSwipeGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSyntaxHighlighter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSyntaxHighlighter.cc index 43695a111..0100ed788 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSyntaxHighlighter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSyntaxHighlighter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQSystemTrayIcon.cc b/src/gsiqt/qt4/QtGui/gsiDeclQSystemTrayIcon.cc index 2dd97f7af..90bc1b8a6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQSystemTrayIcon.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQSystemTrayIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTabBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTabBar.cc index cc9dfbf1e..c1d59dba8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTabBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTabBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTabWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTabWidget.cc index 359775cd5..adff83c12 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTabWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTabWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTableView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTableView.cc index 8b3ef97a8..a95cac1d0 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTableView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTableView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidget.cc index 9acb04caa..b01df5ec6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetItem.cc index 12b4762ed..874a1e2d1 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetSelectionRange.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetSelectionRange.cc index 7d57afd9e..c82c1b51e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetSelectionRange.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTabletEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTabletEvent.cc index 84d326cc8..fb769ca82 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTabletEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTabletEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTapAndHoldGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTapAndHoldGesture.cc index c9c92abe4..f4f519b95 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTapAndHoldGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTapAndHoldGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTapGesture.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTapGesture.cc index 5d84a2890..f5a3ad459 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTapGesture.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTapGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock.cc index e70122338..8c4e4030d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockFormat.cc index 969a33eba..8a4eb2cf3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockGroup.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockGroup.cc index be08d9bfc..8b145dfbd 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockGroup.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockUserData.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockUserData.cc index 0feda7e98..8418e401a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockUserData.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlockUserData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock_Iterator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock_Iterator.cc index a656c8479..7465b04ac 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock_Iterator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBlock_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextBrowser.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextBrowser.cc index 16c350a7d..1a8f29426 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextBrowser.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextCharFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextCharFormat.cc index 4fd44686b..b5314e661 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextCharFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextCharFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextCursor.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextCursor.cc index f44a10d40..f6eceac9d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextCursor.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocument.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocument.cc index b180545fc..7e3c7b13b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocument.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentFragment.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentFragment.cc index 6d5fbc90e..8e58e414c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentFragment.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentWriter.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentWriter.cc index accfe241b..cd23f5d19 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentWriter.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit.cc index 7716b5f7c..1b6dd5a83 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit_ExtraSelection.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit_ExtraSelection.cc index 0f676eb52..b0acfc352 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit_ExtraSelection.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextEdit_ExtraSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextFormat.cc index 27ae09854..d3d2cf26b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextFragment.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextFragment.cc index 73089f12a..bb198ee4c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextFragment.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame.cc index 6743c30be..d796c05cc 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrameFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrameFormat.cc index a59b65157..c45f47593 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrameFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrameFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame_Iterator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame_Iterator.cc index 96a54219f..388161c48 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame_Iterator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextFrame_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextImageFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextImageFormat.cc index c522ea93d..8b01a1244 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextImageFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextImageFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextInlineObject.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextInlineObject.cc index 3b9a9373d..f069f5497 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextInlineObject.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextInlineObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextItem.cc index 968242a09..e74d45446 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout.cc index 616dd83f6..b2d83ee9a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout_FormatRange.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout_FormatRange.cc index 2d70f7533..5b8a2d82c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout_FormatRange.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextLayout_FormatRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextLength.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextLength.cc index 7f80be6b6..cdcfd7d65 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextLength.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextLength.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextLine.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextLine.cc index 74ffa98d4..cf04b1828 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextLine.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextList.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextList.cc index d8247155a..28a36ea8c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextList.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextListFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextListFormat.cc index 5440f3a97..c43cefb77 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextListFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextListFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextObject.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextObject.cc index 51c2a8d21..89f41381f 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextObject.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextObjectInterface.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextObjectInterface.cc index 8ca27e537..605779557 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextObjectInterface.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextObjectInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextOption.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextOption.cc index 2233d3112..e109a07b6 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextOption.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextOption_Tab.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextOption_Tab.cc index b0bb4cc59..e8b645940 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextOption_Tab.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextOption_Tab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextTable.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextTable.cc index bb5ee34fe..348d54ae8 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextTable.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextTable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCell.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCell.cc index b736aabd9..09a55f687 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCell.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCell.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCellFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCellFormat.cc index a49e3b51a..bcfed1d1c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCellFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableCellFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableFormat.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableFormat.cc index 90a3da4d7..380d69e08 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTextTableFormat.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTextTableFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTimeEdit.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTimeEdit.cc index cfb1a2831..049f10536 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTimeEdit.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQToolBar.cc b/src/gsiqt/qt4/QtGui/gsiDeclQToolBar.cc index 0f79a42f3..658dc0917 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQToolBar.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQToolBarChangeEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQToolBarChangeEvent.cc index 7fe05db0e..49919956c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQToolBarChangeEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQToolBarChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQToolBox.cc b/src/gsiqt/qt4/QtGui/gsiDeclQToolBox.cc index 67e0bb382..438bbd915 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQToolBox.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQToolButton.cc b/src/gsiqt/qt4/QtGui/gsiDeclQToolButton.cc index 8691e007a..d3c1fd052 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQToolButton.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQToolTip.cc b/src/gsiqt/qt4/QtGui/gsiDeclQToolTip.cc index efebee9d1..c4945065c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQToolTip.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQToolTip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent.cc index e0f364339..bdaf5d4e3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent_TouchPoint.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent_TouchPoint.cc index 2bcac750b..6f48959c4 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent_TouchPoint.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent_TouchPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTransform.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTransform.cc index 2a8f59eae..cd87dc1ac 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTransform.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTreeView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTreeView.cc index 7aea58bb4..55cec7e0c 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTreeView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTreeView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidget.cc index eaff94364..97040a831 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItem.cc index 1a87ce2f0..ed50fd150 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItemIterator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItemIterator.cc index 58a3bfa63..429f5e8b9 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItemIterator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItemIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQUndoCommand.cc b/src/gsiqt/qt4/QtGui/gsiDeclQUndoCommand.cc index d96c6fdef..247d74dfe 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQUndoCommand.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQUndoCommand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQUndoGroup.cc b/src/gsiqt/qt4/QtGui/gsiDeclQUndoGroup.cc index 22d4621e9..879e1189d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQUndoGroup.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQUndoGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQUndoStack.cc b/src/gsiqt/qt4/QtGui/gsiDeclQUndoStack.cc index 2da2cd4ca..ead076253 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQUndoStack.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQUndoStack.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQUndoView.cc b/src/gsiqt/qt4/QtGui/gsiDeclQUndoView.cc index 4094010b6..71cfcdf88 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQUndoView.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQUndoView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQUnixPrintWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQUnixPrintWidget.cc index cdaf14174..d418bc798 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQUnixPrintWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQUnixPrintWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQVBoxLayout.cc b/src/gsiqt/qt4/QtGui/gsiDeclQVBoxLayout.cc index 0521ab781..f23e4efad 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQVBoxLayout.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQVBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQValidator.cc b/src/gsiqt/qt4/QtGui/gsiDeclQValidator.cc index 45f456120..300a2887b 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQValidator.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQVector2D.cc b/src/gsiqt/qt4/QtGui/gsiDeclQVector2D.cc index 863438c8b..1c8c061db 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQVector2D.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQVector2D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQVector3D.cc b/src/gsiqt/qt4/QtGui/gsiDeclQVector3D.cc index 49ec0c467..b44a46be5 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQVector3D.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQVector3D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQVector4D.cc b/src/gsiqt/qt4/QtGui/gsiDeclQVector4D.cc index 7bdc29f8a..a0a32092a 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQVector4D.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQVector4D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThis.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThis.cc index 8babd6789..03e3eb292 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThis.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThis.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThisClickedEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThisClickedEvent.cc index e1477f875..3c5bc2527 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThisClickedEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWhatsThisClickedEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWheelEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWheelEvent.cc index 5b9a79ddb..351e9d822 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWheelEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWidget.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWidget.cc index 8395e6b82..342a26520 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWidget.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWidgetAction.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWidgetAction.cc index f09aabdd5..c60d755f3 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWidgetAction.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWidgetAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWidgetItem.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWidgetItem.cc index 543c717d3..9e9b8de62 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWidgetItem.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWindowStateChangeEvent.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWindowStateChangeEvent.cc index e3ea1e59f..92627c33e 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWindowStateChangeEvent.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWindowStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWindowsStyle.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWindowsStyle.cc index 6fea3ee59..c65f78023 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWindowsStyle.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWindowsStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWizard.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWizard.cc index 3851ce644..905d7de53 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWizard.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWizard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQWizardPage.cc b/src/gsiqt/qt4/QtGui/gsiDeclQWizardPage.cc index d03d89fb2..f71754c52 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQWizardPage.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQWizardPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiDeclQtGuiAdd.cc b/src/gsiqt/qt4/QtGui/gsiDeclQtGuiAdd.cc index a2a07d64c..546cb745d 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQtGuiAdd.cc +++ b/src/gsiqt/qt4/QtGui/gsiDeclQtGuiAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtGui/gsiQtExternals.h b/src/gsiqt/qt4/QtGui/gsiQtExternals.h index c2977665e..b749ddfce 100644 --- a/src/gsiqt/qt4/QtGui/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtGui/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractNetworkCache.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractNetworkCache.cc index 9e45a3fe4..0e07a53e2 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractNetworkCache.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractNetworkCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractSocket.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractSocket.cc index f8e463890..3e71dd1af 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractSocket.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQAuthenticator.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQAuthenticator.cc index bad5b63ce..1a176c279 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQAuthenticator.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQAuthenticator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQFtp.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQFtp.cc index 1c3e3a789..cedcaa127 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQFtp.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQFtp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQHostAddress.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQHostAddress.cc index f36a224ea..4c35b61a0 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQHostAddress.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQHostAddress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQHostInfo.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQHostInfo.cc index 794c9f045..9a3de415b 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQHostInfo.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQHostInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQIPv6Address.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQIPv6Address.cc index cb415494c..0201f11ed 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQIPv6Address.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQIPv6Address.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalServer.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalServer.cc index 61baea545..2e6830071 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalServer.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalSocket.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalSocket.cc index 8f2e48cb6..86df78cb3 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalSocket.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQLocalSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAccessManager.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAccessManager.cc index 67360d639..ca3db20ad 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAccessManager.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAccessManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAddressEntry.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAddressEntry.cc index 76350b4ba..55f9eeae0 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAddressEntry.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAddressEntry.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCacheMetaData.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCacheMetaData.cc index 931033e5f..61225dbc9 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCacheMetaData.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCacheMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookie.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookie.cc index 1771dd08f..f16219654 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookie.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookieJar.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookieJar.cc index abf9123ad..305d3dd9e 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookieJar.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookieJar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkDiskCache.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkDiskCache.cc index 8aa5fa1d6..0efd0592e 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkDiskCache.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkDiskCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkInterface.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkInterface.cc index 6a238def6..3bf0eee99 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkInterface.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxy.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxy.cc index 742e2953e..1e1a9aa91 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxy.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyFactory.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyFactory.cc index b5f8f619b..4b30f75c7 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyFactory.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyQuery.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyQuery.cc index 3adb9a438..b733d112d 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyQuery.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkReply.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkReply.cc index afd5e7df7..cd3f1a822 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkReply.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkReply.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkRequest.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkRequest.cc index 1257e38b0..dc81ff7e3 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkRequest.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkRequest.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSsl.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSsl.cc index 39adcac15..1b67108ba 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSsl.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSsl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCertificate.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCertificate.cc index ba67b8b82..b698b9054 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCertificate.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCertificate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCipher.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCipher.cc index 60577d5f7..58d8e7020 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCipher.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslCipher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslConfiguration.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslConfiguration.cc index fdb7cea34..e63e112d4 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslConfiguration.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslConfiguration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslError.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslError.cc index 51aea0d3b..65fecdcce 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslError.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslKey.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslKey.cc index 82dc5df88..526840ed0 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslKey.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslKey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslSocket.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslSocket.cc index e6755d384..14efe31fa 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQSslSocket.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQSslSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpServer.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpServer.cc index ed35ece91..3ab8c211c 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpServer.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpSocket.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpSocket.cc index 6e0f11d31..fc62f37ef 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpSocket.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQTcpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQUdpSocket.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQUdpSocket.cc index 280bbbf9f..eb9cff2b1 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQUdpSocket.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQUdpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQUrlInfo.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQUrlInfo.cc index e0302d1a4..c9c0f47bc 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQUrlInfo.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQUrlInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkAdd.cc b/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkAdd.cc index dfca98b75..252a3fd37 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkAdd.cc +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtNetwork/gsiQtExternals.h b/src/gsiqt/qt4/QtNetwork/gsiQtExternals.h index 110d65914..0f85e15a5 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtNetwork/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSql.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSql.cc index f945e1f42..3893d70f8 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSql.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSql.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDatabase.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDatabase.cc index 1887ade9e..67c1f4b52 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDatabase.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriver.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriver.cc index 3353392c3..bcb645456 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriver.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriverCreatorBase.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriverCreatorBase.cc index 8a1b4ca7a..638391046 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriverCreatorBase.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlDriverCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlError.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlError.cc index 2e8f3d983..86e92e8b7 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlError.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlField.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlField.cc index 245aae203..e20f17006 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlField.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlField.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlIndex.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlIndex.cc index 29c5cf2c8..8a67cfedd 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlIndex.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlQuery.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlQuery.cc index cec03809c..b260c05de 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlQuery.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlQueryModel.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlQueryModel.cc index 62a4223c8..6aca6b783 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlQueryModel.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlQueryModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRecord.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRecord.cc index 3c5fcd076..34e769b63 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRecord.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelation.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelation.cc index 00817e4e0..9f78a0d20 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelation.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelationalTableModel.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelationalTableModel.cc index ff2a5560b..9300d6298 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelationalTableModel.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlRelationalTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlResult.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlResult.cc index 45e836dd0..db3a36321 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlResult.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlResult.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiDeclQSqlTableModel.cc b/src/gsiqt/qt4/QtSql/gsiDeclQSqlTableModel.cc index d1f791d7f..bb297614a 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQSqlTableModel.cc +++ b/src/gsiqt/qt4/QtSql/gsiDeclQSqlTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtSql/gsiQtExternals.h b/src/gsiqt/qt4/QtSql/gsiQtExternals.h index 963509846..4623d3067 100644 --- a/src/gsiqt/qt4/QtSql/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtSql/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtUiTools/gsiDeclQUiLoader.cc b/src/gsiqt/qt4/QtUiTools/gsiDeclQUiLoader.cc index 3aa494f89..4e686d60b 100644 --- a/src/gsiqt/qt4/QtUiTools/gsiDeclQUiLoader.cc +++ b/src/gsiqt/qt4/QtUiTools/gsiDeclQUiLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtUiTools/gsiQtExternals.h b/src/gsiqt/qt4/QtUiTools/gsiQtExternals.h index 9ea29b4ca..00f3d7ef5 100644 --- a/src/gsiqt/qt4/QtUiTools/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtUiTools/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomAttr.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomAttr.cc index e1b17b1bc..9fba606ad 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomAttr.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomAttr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomCDATASection.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomCDATASection.cc index f33e326a9..fba4c70e6 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomCDATASection.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomCDATASection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomCharacterData.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomCharacterData.cc index 0dbb75860..9d44aa415 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomCharacterData.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomCharacterData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomComment.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomComment.cc index 49cde5317..d0bcffcf7 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomComment.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomComment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocument.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocument.cc index ce7b7989a..3c783d145 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocument.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentFragment.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentFragment.cc index 4ab94bb39..4d620ccbf 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentFragment.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentType.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentType.cc index 8ada43f63..8c3dcda8b 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentType.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomElement.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomElement.cc index f1e59288e..5fea70a72 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomElement.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomElement.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomEntity.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomEntity.cc index 52c6265fa..856f4c55f 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomEntity.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomEntity.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomEntityReference.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomEntityReference.cc index cef7ffc22..c50a379e2 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomEntityReference.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomEntityReference.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomImplementation.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomImplementation.cc index 1ea476b73..6d27a77dc 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomImplementation.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomImplementation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomNamedNodeMap.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomNamedNodeMap.cc index 76c9f9c57..a5e9b8a95 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomNamedNodeMap.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomNamedNodeMap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomNode.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomNode.cc index cffcb328d..774508ae8 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomNode.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomNode.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomNodeList.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomNodeList.cc index 829815eaf..0dfe24d85 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomNodeList.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomNodeList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomNotation.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomNotation.cc index a8d72894e..4156846ef 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomNotation.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomNotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomProcessingInstruction.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomProcessingInstruction.cc index c5058affe..5536272dc 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomProcessingInstruction.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomProcessingInstruction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQDomText.cc b/src/gsiqt/qt4/QtXml/gsiDeclQDomText.cc index 2e69d9845..d22f07993 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQDomText.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQDomText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlAttributes.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlAttributes.cc index 1344a2d9f..53d0e0d82 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlAttributes.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlAttributes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlContentHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlContentHandler.cc index 8bd4ed223..cfe68686f 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlContentHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlContentHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDTDHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDTDHandler.cc index da59ce4cf..1679136bf 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDTDHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDTDHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDeclHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDeclHandler.cc index dc299b211..4b3aa3349 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDeclHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDeclHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDefaultHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDefaultHandler.cc index a7a7490de..6a2175ea6 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlDefaultHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlDefaultHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlEntityResolver.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlEntityResolver.cc index 6f142165c..02bfd4772 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlEntityResolver.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlEntityResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlErrorHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlErrorHandler.cc index 772ad3aed..67b58b254 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlErrorHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlErrorHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlInputSource.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlInputSource.cc index 32593dc3b..1405f0331 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlInputSource.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlInputSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlLexicalHandler.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlLexicalHandler.cc index abb33be35..ef45d00c7 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlLexicalHandler.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlLexicalHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlLocator.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlLocator.cc index daf6edd7a..a4861ae70 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlLocator.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlLocator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlNamespaceSupport.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlNamespaceSupport.cc index b7e988a8c..e74e9359e 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlNamespaceSupport.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlNamespaceSupport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlParseException.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlParseException.cc index b3959a9a8..5caf190b0 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlParseException.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlParseException.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlReader.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlReader.cc index 9b77a1778..61bf15865 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlReader.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiDeclQXmlSimpleReader.cc b/src/gsiqt/qt4/QtXml/gsiDeclQXmlSimpleReader.cc index 09544d56d..068fa6344 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQXmlSimpleReader.cc +++ b/src/gsiqt/qt4/QtXml/gsiDeclQXmlSimpleReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt4/QtXml/gsiQtExternals.h b/src/gsiqt/qt4/QtXml/gsiQtExternals.h index 5ae98c145..8ad716592 100644 --- a/src/gsiqt/qt4/QtXml/gsiQtExternals.h +++ b/src/gsiqt/qt4/QtXml/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractAnimation.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractAnimation.cc index d9ac6dad1..a6f5bbfdf 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractAnimation.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher.cc index 74bddc090..b90f31dfd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc index 7f8d667d5..c8bdacd55 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractItemModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractItemModel.cc index eba78c087..735519fa9 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractItemModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractListModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractListModel.cc index 35179103d..e94578725 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractListModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractNativeEventFilter.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractNativeEventFilter.cc index 278e08ba9..03d4307e3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractNativeEventFilter.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractNativeEventFilter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractProxyModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractProxyModel.cc index e0029df47..ad409a7ea 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractProxyModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractState.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractState.cc index 190a2bd14..1bca087d8 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractState.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTableModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTableModel.cc index 0fb5958d9..f24033317 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTableModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTransition.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTransition.cc index 18d29214c..4612ddd6f 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTransition.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAbstractTransition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAnimationDriver.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAnimationDriver.cc index b5f37a957..b68684864 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAnimationDriver.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAnimationDriver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAnimationGroup.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAnimationGroup.cc index ac3658fc0..d7ecefedf 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAnimationGroup.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQAssociativeIterable.cc b/src/gsiqt/qt5/QtCore/gsiDeclQAssociativeIterable.cc index 63370acf7..9693d6cca 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQAssociativeIterable.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQAssociativeIterable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQBasicMutex.cc b/src/gsiqt/qt5/QtCore/gsiDeclQBasicMutex.cc index 40eae4336..8c2467efd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQBasicMutex.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQBasicMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQBasicTimer.cc b/src/gsiqt/qt5/QtCore/gsiDeclQBasicTimer.cc index d1e7dddae..d547ae1cd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQBasicTimer.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQBasicTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQBuffer.cc b/src/gsiqt/qt5/QtCore/gsiDeclQBuffer.cc index b16fb86f6..323401586 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQBuffer.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayDataPtr.cc b/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayDataPtr.cc index 666727d47..8a9c5c3d8 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayDataPtr.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayDataPtr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayMatcher.cc b/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayMatcher.cc index 6fb031331..a6caab602 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayMatcher.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQByteArrayMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQChildEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQChildEvent.cc index 2feb29946..931603ea3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQChildEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQChildEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCollator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCollator.cc index 8b9c5ca25..8d2c85098 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCollator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCollator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCollatorSortKey.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCollatorSortKey.cc index 2af139735..a4a8b2900 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCollatorSortKey.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCollatorSortKey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineOption.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineOption.cc index 58bac9380..6f93f41a4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineOption.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineParser.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineParser.cc index 6d303bb16..894bab809 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineParser.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCommandLineParser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCoreApplication.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCoreApplication.cc index 583ac6e4f..7a589205a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCoreApplication.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCoreApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQCryptographicHash.cc b/src/gsiqt/qt5/QtCore/gsiDeclQCryptographicHash.cc index da37f167e..0d555b360 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQCryptographicHash.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQCryptographicHash.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDataStream.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDataStream.cc index d5d533698..78e574704 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDataStream.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDataStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDate.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDate.cc index 6ff4eaa23..e91d0f4a6 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDate.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDateTime.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDateTime.cc index fecea1941..8bc612048 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDateTime.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDateTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDebug.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDebug.cc index a04bee972..d1b80abe9 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDebug.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDebug.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDebugStateSaver.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDebugStateSaver.cc index 28af0fef8..8fb3fe863 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDebugStateSaver.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDebugStateSaver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDeferredDeleteEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDeferredDeleteEvent.cc index 0bc9f2431..b3b2cfc81 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDeferredDeleteEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDeferredDeleteEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDir.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDir.cc index 8e9848a80..f371ee615 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDir.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDir.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDirIterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDirIterator.cc index d8fb64941..237dd5c41 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDirIterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDirIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc index 89df21b8d..c71e181b2 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQEasingCurve.cc b/src/gsiqt/qt5/QtCore/gsiDeclQEasingCurve.cc index 30700cbfa..48c8daa30 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQEasingCurve.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQEasingCurve.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQElapsedTimer.cc b/src/gsiqt/qt5/QtCore/gsiDeclQElapsedTimer.cc index 044a38144..7eea77388 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQElapsedTimer.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQElapsedTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQEvent.cc index 6454d4c6a..f87d9a18d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQEventLoop.cc b/src/gsiqt/qt5/QtCore/gsiDeclQEventLoop.cc index cd37c158b..6ed411f2b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQEventLoop.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQEventLoop.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQEventLoopLocker.cc b/src/gsiqt/qt5/QtCore/gsiDeclQEventLoopLocker.cc index 3900c633d..32a7644f3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQEventLoopLocker.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQEventLoopLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQEventTransition.cc b/src/gsiqt/qt5/QtCore/gsiDeclQEventTransition.cc index ec1491353..66fd4c682 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQEventTransition.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQEventTransition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFactoryInterface.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFactoryInterface.cc index 75b8910c8..ad11432ad 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFactoryInterface.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFactoryInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFile.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFile.cc index ac69e9e81..c2e8f6a94 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFile.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFileDevice.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFileDevice.cc index ae446feac..c88993253 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFileDevice.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFileDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFileInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFileInfo.cc index 319ad3df5..211a80b69 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFileInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFileInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFileSelector.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFileSelector.cc index b9a11e18a..9895aad68 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFileSelector.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFileSelector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFileSystemWatcher.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFileSystemWatcher.cc index 6d8b26334..782b34576 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFileSystemWatcher.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFileSystemWatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQFinalState.cc b/src/gsiqt/qt5/QtCore/gsiDeclQFinalState.cc index 538015766..ab15064b0 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQFinalState.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQFinalState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQHistoryState.cc b/src/gsiqt/qt5/QtCore/gsiDeclQHistoryState.cc index 25b41a05b..f5235b018 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQHistoryState.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQHistoryState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQIODevice.cc b/src/gsiqt/qt5/QtCore/gsiDeclQIODevice.cc index ceea752d2..8288c9713 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQIODevice.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQIODevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQIdentityProxyModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQIdentityProxyModel.cc index 50243d6ff..3f9e74a4a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQIdentityProxyModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQIdentityProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelection.cc b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelection.cc index 08d1cc46d..6e1f69729 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelection.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionModel.cc index 7d2479e44..2499ec23c 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionRange.cc b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionRange.cc index c69124e4b..91751a78b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionRange.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray.cc index 74fe966ba..dc82a6737 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Const_iterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Const_iterator.cc index a3f80327c..d05afd44d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Const_iterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Const_iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Iterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Iterator.cc index 289d41a64..d3168af73 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Iterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonDocument.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonDocument.cc index 33de20efe..bcb3568d4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonDocument.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject.cc index 9be4039c0..88dca1833 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Const_iterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Const_iterator.cc index eacf79dac..f54094fdd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Const_iterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Const_iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Iterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Iterator.cc index 595efd5ee..c691c0a3a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Iterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonParseError.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonParseError.cc index 3ad213a24..654aa5508 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonParseError.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonParseError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValue.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValue.cc index 3a1b4430a..0721e3ec4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValue.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValue.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValuePtr.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValuePtr.cc index 4e1f254e0..3b3880644 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValuePtr.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValuePtr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRef.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRef.cc index 4e8ef1eaa..5b14ee674 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRef.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRef.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRefPtr.cc b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRefPtr.cc index ac3e00d4c..29e2b2f1e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRefPtr.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRefPtr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLibrary.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLibrary.cc index 1e4a69f53..f91897e32 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLibrary.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLibrary.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLibraryInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLibraryInfo.cc index 4fe90820a..05ab782f0 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLibraryInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLibraryInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLine.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLine.cc index 07e016369..cbd7de3a7 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLine.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLineF.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLineF.cc index 91155585b..b6e5adc07 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLineF.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLineF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLocale.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLocale.cc index b8bfab3a5..bc5cd0bc3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLocale.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLocale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLockFile.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLockFile.cc index c5384d125..d6be80566 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLockFile.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLockFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQLoggingCategory.cc b/src/gsiqt/qt5/QtCore/gsiDeclQLoggingCategory.cc index e72d67233..afe697620 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQLoggingCategory.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQLoggingCategory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMapDataBase.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMapDataBase.cc index 477fef282..2b05779f9 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMapDataBase.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMapDataBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMapNodeBase.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMapNodeBase.cc index 31b1734d0..33a04000d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMapNodeBase.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMapNodeBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMargins.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMargins.cc index cd1027371..dca8730d7 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMargins.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMargins.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMarginsF.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMarginsF.cc index 726eb2cfd..cdde70573 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMarginsF.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMarginsF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMessageAuthenticationCode.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMessageAuthenticationCode.cc index b88e40fb7..de62ab698 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMessageAuthenticationCode.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMessageAuthenticationCode.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogContext.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogContext.cc index b49557e01..735b91aaf 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogContext.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogger.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogger.cc index 56c84a19f..52d4fecb8 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogger.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMessageLogger.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaClassInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaClassInfo.cc index 1a2a9cf12..be6fed1ca 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaClassInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaClassInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaEnum.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaEnum.cc index e17f08f59..1767e52d4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaEnum.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaEnum.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaMethod.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaMethod.cc index 35e82fc10..14bc3d922 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaMethod.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaMethod.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject.cc index 171f491e0..6c3b50ff3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject_Connection.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject_Connection.cc index e33791ee4..ef980efd4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject_Connection.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaObject_Connection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaProperty.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaProperty.cc index 015c2c385..8802a234f 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaProperty.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaProperty.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMetaType.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMetaType.cc index c9c182e12..a46c186d0 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMetaType.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMetaType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc index 737513944..2f8e4c16f 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMimeDatabase.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMimeDatabase.cc index 355b135d5..c69961dff 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMimeDatabase.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMimeDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMimeType.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMimeType.cc index 352d5de3c..133999bc6 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMimeType.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMimeType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQModelIndex.cc b/src/gsiqt/qt5/QtCore/gsiDeclQModelIndex.cc index 921bcc10b..c7615e656 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQModelIndex.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQMutex.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMutex.cc index bed7d9a2a..9a3689212 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQMutex.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQNoDebug.cc b/src/gsiqt/qt5/QtCore/gsiDeclQNoDebug.cc index 34a37a8cc..1a747f8d0 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQNoDebug.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQNoDebug.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQObject.cc b/src/gsiqt/qt5/QtCore/gsiDeclQObject.cc index 2d6f0b39c..242627a5f 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQObject.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQParallelAnimationGroup.cc b/src/gsiqt/qt5/QtCore/gsiDeclQParallelAnimationGroup.cc index 0fa52855a..8e95239d5 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQParallelAnimationGroup.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQParallelAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPauseAnimation.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPauseAnimation.cc index f80e0360a..9284f512e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPauseAnimation.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPauseAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPersistentModelIndex.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPersistentModelIndex.cc index f9266ebb4..793c69554 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPersistentModelIndex.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPersistentModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPluginLoader.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPluginLoader.cc index 82fca23e4..98386315d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPluginLoader.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPluginLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPoint.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPoint.cc index 8c59cd8c6..b1c3f1072 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPoint.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPointF.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPointF.cc index b925ab02f..7c3e138eb 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPointF.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPointF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQProcess.cc b/src/gsiqt/qt5/QtCore/gsiDeclQProcess.cc index ed537d8a6..56536981a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQProcess.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQProcess.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQProcessEnvironment.cc b/src/gsiqt/qt5/QtCore/gsiDeclQProcessEnvironment.cc index af246184c..b591c93ea 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQProcessEnvironment.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQProcessEnvironment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQPropertyAnimation.cc b/src/gsiqt/qt5/QtCore/gsiDeclQPropertyAnimation.cc index 68fcd6c4c..60007cdbf 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQPropertyAnimation.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQPropertyAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQReadLocker.cc b/src/gsiqt/qt5/QtCore/gsiDeclQReadLocker.cc index 25a01c970..114bd225d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQReadLocker.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQReadLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQReadWriteLock.cc b/src/gsiqt/qt5/QtCore/gsiDeclQReadWriteLock.cc index 6745995e9..43807ae81 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQReadWriteLock.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQReadWriteLock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRect.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRect.cc index 3ece205ba..2884f0b01 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRect.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRectF.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRectF.cc index 50c192b44..556d02d1f 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRectF.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRectF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRegExp.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRegExp.cc index ae48bb858..9a07ddb7c 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRegExp.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRegExp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpression.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpression.cc index 93a52feeb..92d299c9b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpression.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpression.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatch.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatch.cc index 5b397c83c..532e8f759 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatch.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatch.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatchIterator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatchIterator.cc index ba69de49d..ea710be83 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatchIterator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatchIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQResource.cc b/src/gsiqt/qt5/QtCore/gsiDeclQResource.cc index 440c2bd99..e5426955e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQResource.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQResource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQRunnable.cc b/src/gsiqt/qt5/QtCore/gsiDeclQRunnable.cc index fdae4379c..cde957ea8 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQRunnable.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQRunnable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSaveFile.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSaveFile.cc index aab52a84c..a9694fd10 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSaveFile.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSaveFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSemaphore.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSemaphore.cc index 361cd057c..e9aa74850 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSemaphore.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSemaphore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSequentialAnimationGroup.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSequentialAnimationGroup.cc index 3775e6e8e..1bc8fc869 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSequentialAnimationGroup.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSequentialAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSequentialIterable.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSequentialIterable.cc index 4383c8f9b..1b9ec9c8e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSequentialIterable.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSequentialIterable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSettings.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSettings.cc index 98c65bb6a..22514f1c3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSettings.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSharedMemory.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSharedMemory.cc index 2ee01a256..5584b0e9b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSharedMemory.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSharedMemory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSignalBlocker.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSignalBlocker.cc index 1b19e7cf9..6dd7feec5 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSignalBlocker.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSignalBlocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSignalMapper.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSignalMapper.cc index 8de22342d..a09988c6e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSignalMapper.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSignalMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSignalTransition.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSignalTransition.cc index ef725015f..0286dcfa8 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSignalTransition.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSignalTransition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSize.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSize.cc index ccd79ad7f..67d4615aa 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSize.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSize.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSizeF.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSizeF.cc index e33cad502..0c137e89e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSizeF.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSizeF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSocketNotifier.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSocketNotifier.cc index efb0f35f1..34bc43a7c 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSocketNotifier.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSocketNotifier.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSortFilterProxyModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSortFilterProxyModel.cc index 0342083fa..5b814cccd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSortFilterProxyModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSortFilterProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStandardPaths.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStandardPaths.cc index 6e0c3acbc..ed3016bc4 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStandardPaths.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStandardPaths.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQState.cc b/src/gsiqt/qt5/QtCore/gsiDeclQState.cc index bb6bf3be5..e8c54f32c 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQState.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine.cc index f12bb3a07..f475c2379 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_SignalEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_SignalEvent.cc index 2ed9f64fd..a98c16407 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_SignalEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_SignalEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_WrappedEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_WrappedEvent.cc index 35ac173ac..2ebedc81d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_WrappedEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_WrappedEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStaticPlugin.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStaticPlugin.cc index d3eac285f..91c7452b3 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStaticPlugin.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStaticPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStorageInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStorageInfo.cc index c4cb35c09..410d66152 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStorageInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStorageInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStringDataPtr.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStringDataPtr.cc index 9bb23d752..758c1dba6 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStringDataPtr.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStringDataPtr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStringListModel.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStringListModel.cc index c8ecf1f1a..677262480 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStringListModel.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStringListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQStringMatcher.cc b/src/gsiqt/qt5/QtCore/gsiDeclQStringMatcher.cc index e06e6e8f3..23b54cc34 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQStringMatcher.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQStringMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSysInfo.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSysInfo.cc index a1ca4f484..15ea84b01 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSysInfo.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSysInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQSystemSemaphore.cc b/src/gsiqt/qt5/QtCore/gsiDeclQSystemSemaphore.cc index 3c6452dc7..15b2c610b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQSystemSemaphore.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQSystemSemaphore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryDir.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryDir.cc index 7e096857c..ddb06aa4b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryDir.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryDir.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryFile.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryFile.cc index 57a438b29..cda088e7d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryFile.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTemporaryFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextBoundaryFinder.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextBoundaryFinder.cc index dcbf9f760..cef3da07d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextBoundaryFinder.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextBoundaryFinder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec.cc index 777bf2410..cc337f0dd 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec_ConverterState.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec_ConverterState.cc index 39ecad5f5..0efdedf06 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec_ConverterState.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextCodec_ConverterState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextDecoder.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextDecoder.cc index 44bc8c11e..8bd6674f5 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextDecoder.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextEncoder.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextEncoder.cc index 14273ea3f..e97595a49 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextEncoder.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextEncoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTextStream.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTextStream.cc index b1100b32f..d58247eb1 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTextStream.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTextStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQThread.cc b/src/gsiqt/qt5/QtCore/gsiDeclQThread.cc index d68d86f56..464851f95 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQThread.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQThread.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQThreadPool.cc b/src/gsiqt/qt5/QtCore/gsiDeclQThreadPool.cc index 52d670aef..1bed9e112 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQThreadPool.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQThreadPool.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTime.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTime.cc index b1902e251..820713270 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTime.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTimeLine.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTimeLine.cc index f28a5e6d6..4dbf8a2dc 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTimeLine.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTimeLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone.cc index eafb65777..c9236d191 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone_OffsetData.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone_OffsetData.cc index b07b29362..d96485980 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone_OffsetData.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTimeZone_OffsetData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTimer.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTimer.cc index bb3a30b35..62dba34e1 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTimer.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTimerEvent.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTimerEvent.cc index 4947dda0d..47faa394c 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTimerEvent.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTimerEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQTranslator.cc b/src/gsiqt/qt5/QtCore/gsiDeclQTranslator.cc index 4d17469ac..2ac95fa58 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQTranslator.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQTranslator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQUrl.cc b/src/gsiqt/qt5/QtCore/gsiDeclQUrl.cc index 422a38997..563165a15 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQUrl.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQUrl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQUrlQuery.cc b/src/gsiqt/qt5/QtCore/gsiDeclQUrlQuery.cc index 07564414f..e0f7db138 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQUrlQuery.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQUrlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQVariantAnimation.cc b/src/gsiqt/qt5/QtCore/gsiDeclQVariantAnimation.cc index d66054395..b2f2978f1 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQVariantAnimation.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQVariantAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQWaitCondition.cc b/src/gsiqt/qt5/QtCore/gsiDeclQWaitCondition.cc index d3158ab22..cb11f8b8a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQWaitCondition.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQWaitCondition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQWriteLocker.cc b/src/gsiqt/qt5/QtCore/gsiDeclQWriteLocker.cc index f4e70f987..abbf3b133 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQWriteLocker.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQWriteLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttribute.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttribute.cc index e144b8c62..85204e7e2 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttribute.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttribute.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttributes.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttributes.cc index ce0d08725..9da15c6c9 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttributes.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttributes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc index 40c6bcabd..2cc3dd102 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityResolver.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityResolver.cc index 20f7c3659..bf63a6a77 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityResolver.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc index abed09fd2..c40d07203 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc index 79242f849..3a3dd2679 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamReader.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamReader.cc index d688c637c..71c9a0489 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamReader.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamStringRef.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamStringRef.cc index 8f3610f55..775fecd2b 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamStringRef.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamStringRef.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamWriter.cc b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamWriter.cc index 6ea5181f4..b336b81e9 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamWriter.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQt.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt.cc index bca31c126..a52b3751a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQt.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc index d1a034839..6954d7252 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ #include #include #include -#include // NOTE: this is required because HitTestAccuracy is defined here, but goes into Qt // namespace which is in QtCore ... this introduces a dependency of QtCore GSI lib on QtGui. diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc index 2d4206cb4..a840382c1 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQt_2.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt_2.cc index 722a89d29..36b75136d 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQt_2.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQt_2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQt_3.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt_3.cc index 7eaaa070a..97477962a 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQt_3.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQt_3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQt_4.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt_4.cc index 43b908324..d51114a92 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQt_4.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQt_4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtCore/gsiQtExternals.h b/src/gsiqt/qt5/QtCore/gsiQtExternals.h index 3e81dcc16..dccf18714 100644 --- a/src/gsiqt/qt5/QtCore/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtCore/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionFactory.cc b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionFactory.cc index 395bcd903..b95686125 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionFactory.cc +++ b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionManager.cc b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionManager.cc index 602fdb0db..ce441b516 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionManager.cc +++ b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractExtensionManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractFormBuilder.cc b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractFormBuilder.cc index fea90cab5..85e031aec 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractFormBuilder.cc +++ b/src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractFormBuilder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtDesigner/gsiDeclQFormBuilder.cc b/src/gsiqt/qt5/QtDesigner/gsiDeclQFormBuilder.cc index ebb7caafd..02490f61e 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiDeclQFormBuilder.cc +++ b/src/gsiqt/qt5/QtDesigner/gsiDeclQFormBuilder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtDesigner/gsiQtExternals.h b/src/gsiqt/qt5/QtDesigner/gsiQtExternals.h index 9d2bb899a..a761005dd 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtDesigner/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout.cc index 36a0ed074..84097f22c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc index 03127c849..c4c8255ad 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc index d20856872..768ec57b8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractUndoItem.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractUndoItem.cc index 9fb31e010..33ed3db40 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAbstractUndoItem.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAbstractUndoItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible.cc index 7a088a4a6..79019f63f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleActionInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleActionInterface.cc index b26a839f6..792ecb152 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleActionInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleActionInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEditableTextInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEditableTextInterface.cc index eed71d2ce..49d073eda 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEditableTextInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEditableTextInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEvent.cc index 779a42263..e595c3711 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleImageInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleImageInterface.cc index 8ae537f00..7be9ea7f8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleImageInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleImageInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleInterface.cc index 394943dc8..d51486fb6 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleObject.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleObject.cc index ae8376675..4f3dee991 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleObject.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleStateChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleStateChangeEvent.cc index 2bc300bac..e6fe5f576 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleStateChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableCellInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableCellInterface.cc index e34e9104e..75d38f815 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableCellInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableCellInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableInterface.cc index 003be0198..6f1fe353a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc index faa9b4dc7..8db99553e 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextCursorEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextCursorEvent.cc index 94ea75e43..fa0dfc490 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextCursorEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextCursorEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInsertEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInsertEvent.cc index aa8a70059..033a520a2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInsertEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInsertEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInterface.cc index ba1e09f9a..1abe8d29a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc index dfc4d4f49..c98b529a3 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc index b87839dcd..33076a392 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc index 903b76b5e..97febc317 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueChangeEvent.cc index 7420e6215..c60bd0d4a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueInterface.cc index 089043de1..8b4b5c477 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_ActivationObserver.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_ActivationObserver.cc index 5dc5b1e0e..f627f6b96 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_ActivationObserver.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_ActivationObserver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_State.cc b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_State.cc index 3bbf423a7..13eb3626d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_State.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQAccessible_State.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQActionEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQActionEvent.cc index 24c386867..614770ac9 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQActionEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQActionEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQApplicationStateChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQApplicationStateChangeEvent.cc index 880210aa9..b77dffc11 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQApplicationStateChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQApplicationStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQBackingStore.cc b/src/gsiqt/qt5/QtGui/gsiDeclQBackingStore.cc index e8f428ba9..73797d386 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQBackingStore.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQBackingStore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQBitmap.cc b/src/gsiqt/qt5/QtGui/gsiDeclQBitmap.cc index fe1362b42..f2f59b77b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQBitmap.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQBitmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQBrush.cc b/src/gsiqt/qt5/QtGui/gsiDeclQBrush.cc index 77afb102a..d971fab00 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQBrush.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQBrush.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQClipboard.cc b/src/gsiqt/qt5/QtGui/gsiDeclQClipboard.cc index 35e0c8403..9fc85510b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQClipboard.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQClipboard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQCloseEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQCloseEvent.cc index 24e13d55c..d892c2c8f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQCloseEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQCloseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQColor.cc b/src/gsiqt/qt5/QtGui/gsiDeclQColor.cc index 9b4e8a608..99e5c5ba8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQColor.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQColor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQConicalGradient.cc b/src/gsiqt/qt5/QtGui/gsiDeclQConicalGradient.cc index 74f1df076..a32b0f7ea 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQConicalGradient.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQConicalGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQContextMenuEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQContextMenuEvent.cc index 5159e7861..f60acdbc1 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQContextMenuEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQCursor.cc b/src/gsiqt/qt5/QtGui/gsiDeclQCursor.cc index 14c30f16d..f67cbf079 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQCursor.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDesktopServices.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDesktopServices.cc index 5ed184fdd..577cb47ac 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDesktopServices.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDesktopServices.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDoubleValidator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDoubleValidator.cc index 7db6737a4..a8c9fe8ce 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDoubleValidator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDoubleValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDrag.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDrag.cc index a89957ea3..fbcde8fdf 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDrag.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDrag.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDragEnterEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDragEnterEvent.cc index f8dd7c4f3..fd8fc3d7d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDragEnterEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDragEnterEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDragLeaveEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDragLeaveEvent.cc index 2cfe23dbe..0befb1d90 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDragLeaveEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDragLeaveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDragMoveEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDragMoveEvent.cc index ac5002312..0243d49d8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDragMoveEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDragMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQDropEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQDropEvent.cc index 4700fbf4d..f78bbacb9 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQDropEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQEnterEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQEnterEvent.cc index 6bc8951c6..511d9d4af 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQEnterEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQEnterEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQExposeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQExposeEvent.cc index 2be8d9d7e..6bb4ccbe5 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQExposeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQExposeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFileOpenEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFileOpenEvent.cc index aaf03d8c6..0878576f9 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFileOpenEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFileOpenEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFocusEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFocusEvent.cc index c553cc60d..d086e7abc 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFocusEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFocusEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFont.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFont.cc index d4c54fb19..a013b0e82 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFont.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFontDatabase.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFontDatabase.cc index 930285e17..14dda135d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFontDatabase.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFontDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFontInfo.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFontInfo.cc index 8404c2980..d5b2aa359 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFontInfo.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFontInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFontMetrics.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFontMetrics.cc index 80c81976b..da37c40ed 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFontMetrics.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFontMetrics.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQFontMetricsF.cc b/src/gsiqt/qt5/QtGui/gsiDeclQFontMetricsF.cc index d68231959..79c45bfb8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQFontMetricsF.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQFontMetricsF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQGenericPlugin.cc b/src/gsiqt/qt5/QtGui/gsiDeclQGenericPlugin.cc index e52a9097d..7861ace8f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQGenericPlugin.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQGenericPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQGenericPluginFactory.cc b/src/gsiqt/qt5/QtGui/gsiDeclQGenericPluginFactory.cc index a95ef247b..4ffa39697 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQGenericPluginFactory.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQGenericPluginFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQGlyphRun.cc b/src/gsiqt/qt5/QtGui/gsiDeclQGlyphRun.cc index d2bdb8528..deabecebd 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQGlyphRun.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQGlyphRun.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQGradient.cc b/src/gsiqt/qt5/QtGui/gsiDeclQGradient.cc index 9a3e9c5a2..e6be14f54 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQGradient.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQGuiApplication.cc b/src/gsiqt/qt5/QtGui/gsiDeclQGuiApplication.cc index 07e30bbee..6a93d5d8b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQGuiApplication.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQGuiApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQHelpEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQHelpEvent.cc index dab579908..3244f1c35 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQHelpEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQHideEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQHideEvent.cc index 6a0a9d724..a53092777 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQHideEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQHideEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQHoverEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQHoverEvent.cc index c02a661d5..455865cb1 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQHoverEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIcon.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIcon.cc index 4a39137c5..84470780b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIcon.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIconDragEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIconDragEvent.cc index d8841eac8..e69d7b176 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIconDragEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIconDragEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine.cc index a8e27ae33..44a0cabc1 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIconEnginePlugin.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIconEnginePlugin.cc index 8da3566d7..1f155db4b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIconEnginePlugin.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIconEnginePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine_AvailableSizesArgument.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine_AvailableSizesArgument.cc index df94bef3c..1f829f56a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine_AvailableSizesArgument.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIconEngine_AvailableSizesArgument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQImage.cc b/src/gsiqt/qt5/QtGui/gsiDeclQImage.cc index 407918c0c..ef68020c9 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQImage.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQImage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQImageIOHandler.cc b/src/gsiqt/qt5/QtGui/gsiDeclQImageIOHandler.cc index 6005eea0c..34baa0b19 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQImageIOHandler.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQImageIOHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQImageIOPlugin.cc b/src/gsiqt/qt5/QtGui/gsiDeclQImageIOPlugin.cc index b268d8821..bb8cf1fc2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQImageIOPlugin.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQImageIOPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQImageReader.cc b/src/gsiqt/qt5/QtGui/gsiDeclQImageReader.cc index d92ee1861..c3dae3a1b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQImageReader.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQImageReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQImageWriter.cc b/src/gsiqt/qt5/QtGui/gsiDeclQImageWriter.cc index 9497de9f4..b1df407d0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQImageWriter.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQImageWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQInputEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQInputEvent.cc index 514419236..974e6c06a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQInputEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQInputEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethod.cc b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethod.cc index c42c31665..95fdb045d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethod.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethod.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent.cc index 17b717fc9..0eeeed243 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent_Attribute.cc b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent_Attribute.cc index 439146a03..393c9bb18 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent_Attribute.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent_Attribute.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodQueryEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodQueryEvent.cc index c347a00c4..5d763b4b2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodQueryEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQInputMethodQueryEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQIntValidator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQIntValidator.cc index 8d0e21ec2..792936864 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQIntValidator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQIntValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQKeyEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQKeyEvent.cc index ba34097dd..d18289aa8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQKeyEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQKeyEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQKeySequence.cc b/src/gsiqt/qt5/QtGui/gsiDeclQKeySequence.cc index bc7828669..d9e5ca806 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQKeySequence.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQKeySequence.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQLinearGradient.cc b/src/gsiqt/qt5/QtGui/gsiDeclQLinearGradient.cc index 1dd8458cc..5650eeae7 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQLinearGradient.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQLinearGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQMatrix.cc b/src/gsiqt/qt5/QtGui/gsiDeclQMatrix.cc index 2e16789e7..472c42325 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQMatrix.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQMatrix.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQMatrix4x4.cc b/src/gsiqt/qt5/QtGui/gsiDeclQMatrix4x4.cc index 105aa3bad..62fc1bf55 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQMatrix4x4.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQMatrix4x4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQMouseEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQMouseEvent.cc index 442c77651..5329ccbbf 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQMouseEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQMoveEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQMoveEvent.cc index 4e8bb23a8..f3fee0faa 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQMoveEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQMovie.cc b/src/gsiqt/qt5/QtGui/gsiDeclQMovie.cc index 3e92e551d..335696c57 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQMovie.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQMovie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQNativeGestureEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQNativeGestureEvent.cc index fafb7633b..031d4f42c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQNativeGestureEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQNativeGestureEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQOffscreenSurface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQOffscreenSurface.cc index cc6eaff5a..409c6115f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQOffscreenSurface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQOffscreenSurface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPageLayout.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPageLayout.cc index 834cc0614..e4533aed4 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPageLayout.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPageLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPageSize.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPageSize.cc index 10cb6ebfe..82f7ac2ad 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPageSize.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPageSize.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice.cc index a3f68d5ab..0f04119cd 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice_Margins.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice_Margins.cc index 0631bef2a..63396386f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice_Margins.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice_Margins.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPaintDevice.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPaintDevice.cc index 8902a865c..c91d872ca 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPaintDevice.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPaintDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPaintDeviceWindow.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPaintDeviceWindow.cc index 624655baf..d13c54e61 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPaintDeviceWindow.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPaintDeviceWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngine.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngine.cc index f709f477a..ded7029c0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngine.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngineState.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngineState.cc index c4d2e6465..42f9f83c7 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngineState.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEngineState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEvent.cc index 0c0d37db3..0dff31995 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPaintEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPaintEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPainter.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPainter.cc index 7b4fa0cd4..7ec196694 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPainter.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath.cc index f45088b95..e4fec6503 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPathStroker.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPathStroker.cc index e1040c5a7..faab3cb9d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPathStroker.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPathStroker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath_Element.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath_Element.cc index 1812f73dd..eac3fea4d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath_Element.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPainterPath_Element.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPainter_PixmapFragment.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPainter_PixmapFragment.cc index 55a01be94..8a52d93ce 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPainter_PixmapFragment.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPainter_PixmapFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPalette.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPalette.cc index 33ad546e0..cf2100010 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPalette.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPdfWriter.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPdfWriter.cc index a77d54f8d..ed90301f0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPdfWriter.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPdfWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPen.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPen.cc index 4a9e642c0..c049c6ba6 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPen.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPicture.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPicture.cc index 15d9d9ce3..f86c1b728 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPicture.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPicture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPictureFormatPlugin.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPictureFormatPlugin.cc index a552bda85..fb4a0d664 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPictureFormatPlugin.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPictureFormatPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPixelFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPixelFormat.cc index 7adfed8f7..941dcf91f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPixelFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPixelFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPixmap.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPixmap.cc index e04a5c5f5..1ab177e8c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPixmap.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPixmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPixmapCache.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPixmapCache.cc index f4a6e1180..c92531077 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPixmapCache.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPixmapCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPlatformSurfaceEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPlatformSurfaceEvent.cc index 0a5ed95e5..9e35513c2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPlatformSurfaceEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPlatformSurfaceEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPolygon.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPolygon.cc index 22960fd47..f89eea40d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPolygon.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQPolygonF.cc b/src/gsiqt/qt5/QtGui/gsiDeclQPolygonF.cc index 347f8a35c..05915a4bd 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQPolygonF.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQPolygonF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQQuaternion.cc b/src/gsiqt/qt5/QtGui/gsiDeclQQuaternion.cc index 0bac431d0..fe83f4f25 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQQuaternion.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQQuaternion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRadialGradient.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRadialGradient.cc index 426810041..7f7fc5916 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRadialGradient.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRadialGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRasterWindow.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRasterWindow.cc index 9e8e8c337..1b0540378 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRasterWindow.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRasterWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRawFont.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRawFont.cc index fc5268ec9..1c70c8abe 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRawFont.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRawFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRegExpValidator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRegExpValidator.cc index 153355940..7c6f13a45 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRegExpValidator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRegExpValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRegion.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRegion.cc index 11eadee30..e64eb8b7f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRegion.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQRegularExpressionValidator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQRegularExpressionValidator.cc index 3842eea73..50c4e8a24 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQRegularExpressionValidator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQRegularExpressionValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQResizeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQResizeEvent.cc index a0ca4e0e0..75bd5664a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQResizeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQScreen.cc b/src/gsiqt/qt5/QtGui/gsiDeclQScreen.cc index b1b5c5179..c65e357a2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQScreen.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQScreen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQScreenOrientationChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQScreenOrientationChangeEvent.cc index 9ad3bfd6d..423785378 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQScreenOrientationChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQScreenOrientationChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQScrollEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQScrollEvent.cc index 79afc0fa8..2d779a224 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQScrollEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQScrollEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQScrollPrepareEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQScrollPrepareEvent.cc index e587f4755..19bf70cab 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQScrollPrepareEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQScrollPrepareEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQSessionManager.cc b/src/gsiqt/qt5/QtGui/gsiDeclQSessionManager.cc index 2fb3624b1..fd04a82cd 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQSessionManager.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQSessionManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQShortcutEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQShortcutEvent.cc index 0f017ebfa..29c195136 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQShortcutEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQShortcutEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQShowEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQShowEvent.cc index f41f921ff..f7f134837 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQShowEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQShowEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQStandardItem.cc b/src/gsiqt/qt5/QtGui/gsiDeclQStandardItem.cc index 4d519801d..253a538c6 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQStandardItem.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQStandardItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQStandardItemModel.cc b/src/gsiqt/qt5/QtGui/gsiDeclQStandardItemModel.cc index 6359dd5e0..f8ccd0ccf 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQStandardItemModel.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQStandardItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQStaticText.cc b/src/gsiqt/qt5/QtGui/gsiDeclQStaticText.cc index 5b44ff20d..b64b58b6b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQStaticText.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQStaticText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQStatusTipEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQStatusTipEvent.cc index 8f58018d8..9a6573f8d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQStatusTipEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQStatusTipEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQStyleHints.cc b/src/gsiqt/qt5/QtGui/gsiDeclQStyleHints.cc index 18ff08d80..501c24ccc 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQStyleHints.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQStyleHints.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQSurface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQSurface.cc index 56e5c72be..530f74e44 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQSurface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQSurface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQSurfaceFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQSurfaceFormat.cc index b249888e6..ad50f17f0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQSurfaceFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQSurfaceFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQSyntaxHighlighter.cc b/src/gsiqt/qt5/QtGui/gsiDeclQSyntaxHighlighter.cc index 07a79ea4e..85e08d8f2 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQSyntaxHighlighter.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQSyntaxHighlighter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTabletEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTabletEvent.cc index 62d95d3f9..08e19236c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTabletEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTabletEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock.cc index d462edacf..44e3d085d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockFormat.cc index 98c481034..df6e144b0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockGroup.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockGroup.cc index 29edec231..51a49a93d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockGroup.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockUserData.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockUserData.cc index 0feda7e98..8418e401a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockUserData.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlockUserData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock_Iterator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock_Iterator.cc index a656c8479..7465b04ac 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock_Iterator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextBlock_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextCharFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextCharFormat.cc index 370af9941..c0900302d 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextCharFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextCharFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextCursor.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextCursor.cc index 48f35267f..a01fe0e38 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextCursor.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocument.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocument.cc index ea3e53b14..c48571a5e 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocument.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentFragment.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentFragment.cc index 934d7daee..573855a25 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentFragment.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentWriter.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentWriter.cc index accfe241b..cd23f5d19 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentWriter.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextFormat.cc index 4744d9ea5..f28f7c481 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextFragment.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextFragment.cc index ddc7d50b4..7a2ae359f 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextFragment.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame.cc index f3b81eeae..30c6ccc49 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrameFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrameFormat.cc index a59b65157..c45f47593 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrameFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrameFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame_Iterator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame_Iterator.cc index 96a54219f..388161c48 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame_Iterator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextFrame_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextImageFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextImageFormat.cc index c522ea93d..8b01a1244 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextImageFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextImageFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextInlineObject.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextInlineObject.cc index 3b9a9373d..f069f5497 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextInlineObject.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextInlineObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextItem.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextItem.cc index 968242a09..e74d45446 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextItem.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout.cc index c3e4f81e8..e7fbe936a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout_FormatRange.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout_FormatRange.cc index 2d70f7533..5b8a2d82c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout_FormatRange.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextLayout_FormatRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextLength.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextLength.cc index 7f80be6b6..cdcfd7d65 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextLength.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextLength.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextLine.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextLine.cc index 7c0fbd738..f5203ddd8 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextLine.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextList.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextList.cc index 1b2ba260f..adbe1e335 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextList.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextListFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextListFormat.cc index e6313345a..2493bdded 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextListFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextListFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextObject.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextObject.cc index bb7fa3dcb..b78e12004 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextObject.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextObjectInterface.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextObjectInterface.cc index 8ca27e537..605779557 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextObjectInterface.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextObjectInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextOption.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextOption.cc index cd3b4f666..6f54de3b4 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextOption.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextOption_Tab.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextOption_Tab.cc index e9f55f7ff..bb64f5552 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextOption_Tab.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextOption_Tab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextTable.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextTable.cc index 8c104bcb3..074cce2b6 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextTable.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextTable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCell.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCell.cc index b736aabd9..09a55f687 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCell.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCell.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCellFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCellFormat.cc index a49e3b51a..bcfed1d1c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCellFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableCellFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableFormat.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableFormat.cc index 90a3da4d7..380d69e08 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTextTableFormat.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTextTableFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQToolBarChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQToolBarChangeEvent.cc index 20bd0244f..34625108a 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQToolBarChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQToolBarChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTouchDevice.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTouchDevice.cc index 0f08c51a1..8dbe7a009 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTouchDevice.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTouchDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent.cc index 2a8b2124b..b7f77a273 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent_TouchPoint.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent_TouchPoint.cc index 7654d77a6..b2f00919e 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent_TouchPoint.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent_TouchPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQTransform.cc b/src/gsiqt/qt5/QtGui/gsiDeclQTransform.cc index 7137b4c3b..4823d45da 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQTransform.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQValidator.cc b/src/gsiqt/qt5/QtGui/gsiDeclQValidator.cc index 240b3b475..f83d1b4c9 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQValidator.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQVector2D.cc b/src/gsiqt/qt5/QtGui/gsiDeclQVector2D.cc index 52aacc998..b4e52fe87 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQVector2D.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQVector2D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQVector3D.cc b/src/gsiqt/qt5/QtGui/gsiDeclQVector3D.cc index 58bd24610..575a0f0e4 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQVector3D.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQVector3D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQVector4D.cc b/src/gsiqt/qt5/QtGui/gsiDeclQVector4D.cc index 2607cad67..493fda8b6 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQVector4D.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQVector4D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQWhatsThisClickedEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQWhatsThisClickedEvent.cc index 2992bde20..de9a3dd6b 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQWhatsThisClickedEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQWhatsThisClickedEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQWheelEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQWheelEvent.cc index 395e8a953..7e8fc40ef 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQWheelEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQWindow.cc b/src/gsiqt/qt5/QtGui/gsiDeclQWindow.cc index 82649421f..71629439c 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQWindow.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQWindowStateChangeEvent.cc b/src/gsiqt/qt5/QtGui/gsiDeclQWindowStateChangeEvent.cc index b89443a30..e5c6e1e49 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQWindowStateChangeEvent.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQWindowStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiDeclQtGuiAdd.cc b/src/gsiqt/qt5/QtGui/gsiDeclQtGuiAdd.cc index 2a4a715b0..2cb3e3dc0 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQtGuiAdd.cc +++ b/src/gsiqt/qt5/QtGui/gsiDeclQtGuiAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtGui/gsiQtExternals.h b/src/gsiqt/qt5/QtGui/gsiQtExternals.h index 62edb8578..e214dddef 100644 --- a/src/gsiqt/qt5/QtGui/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtGui/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioDeviceInfo.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioDeviceInfo.cc index 9833dcad0..aff50fc0a 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioDeviceInfo.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioDeviceInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioInput.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioInput.cc index f12900e6b..da05f058c 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioInput.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioInput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioOutput.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioOutput.cc index 018b9c1f0..ea68603c4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioOutput.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioOutput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc index 742ee7481..720cbfc20 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoFilter.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoFilter.cc index c0034abbf..f57aa3f28 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoFilter.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoFilter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoSurface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoSurface.cc index 4cc5f6f18..7ba28e489 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoSurface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoSurface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudio.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudio.cc index 3bea29bb8..67dcc9a4e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudio.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudio.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioBuffer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioBuffer.cc index 0c7fbc8d3..a852629bc 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioBuffer.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoder.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoder.cc index 4a96954be..e675faf11 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoder.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoderControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoderControl.cc index 4c06531f9..8dc7fc696 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoderControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoderControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDeviceInfo.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDeviceInfo.cc index a530a41ad..5cf2ff1f4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDeviceInfo.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDeviceInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettings.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettings.cc index 974209cbb..7d50e3aa9 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettings.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettingsControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettingsControl.cc index ce182ea31..22acc1dde 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettingsControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioEncoderSettingsControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioFormat.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioFormat.cc index 04aa781df..25eb1a480 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioFormat.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInput.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInput.cc index d8f0518ca..69aaa8bbe 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInput.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInputSelectorControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInputSelectorControl.cc index df8bc34a9..efc67d869 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInputSelectorControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInputSelectorControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutput.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutput.cc index 3af01a70c..19df9a9c2 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutput.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutputSelectorControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutputSelectorControl.cc index 83bdc3c9d..366046d3d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutputSelectorControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutputSelectorControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioProbe.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioProbe.cc index 0a3c15bb2..af9ae54f3 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioProbe.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioProbe.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioRecorder.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioRecorder.cc index eb9798971..b53e375d7 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioRecorder.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioRecorder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemFactoryInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemFactoryInterface.cc index 4b0c77d18..b97b789f7 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemFactoryInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemFactoryInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemPlugin.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemPlugin.cc index 55dddfd18..653a05eda 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemPlugin.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc index dbc206ef2..2b88e60f9 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureBufferFormatControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureBufferFormatControl.cc index 82e8a5415..7fd73d27e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureBufferFormatControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureBufferFormatControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureDestinationControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureDestinationControl.cc index c4a93228a..87895e794 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureDestinationControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraCaptureDestinationControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraControl.cc index 3f6a81536..6f713198e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposure.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposure.cc index 9ecb68220..f3f1bda32 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposure.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposure.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposureControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposureControl.cc index 44c6b316e..3ff7b5c33 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposureControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposureControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFeedbackControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFeedbackControl.cc index 674f35d00..da4358788 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFeedbackControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFeedbackControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFlashControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFlashControl.cc index 691c30325..3fd61ad7f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFlashControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFlashControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocus.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocus.cc index e7f67b46a..5e4650218 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocus.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocus.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusControl.cc index 25ff0732d..50c7806e3 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusZone.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusZone.cc index 270485200..623701b23 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusZone.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusZone.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCapture.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCapture.cc index 2273b5267..627337f65 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCapture.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCapture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCaptureControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCaptureControl.cc index 002e6337f..3b3b0f831 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCaptureControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCaptureControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessing.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessing.cc index 23094943c..2c9e361b4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessing.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessing.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessingControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessingControl.cc index 3a2cb4f9f..519657694 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessingControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageProcessingControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfo.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfo.cc index fc0b05a2e..0baf40b8e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfo.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfoControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfoControl.cc index 8c20f9e79..c7604a7b5 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfoControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfoControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraLocksControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraLocksControl.cc index c09f6e444..ea46c1dbd 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraLocksControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraLocksControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettings.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettings.cc index ee64a098b..99ea4bd44 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettings.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl.cc index aca7fdd0e..520cd54a1 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl2.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl2.cc index 10c04863e..0c683cf27 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl2.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraViewfinderSettingsControl2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraZoomControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraZoomControl.cc index 5f8b58106..bcfd5ee49 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraZoomControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraZoomControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera_FrameRateRange.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera_FrameRateRange.cc index 67ff3f365..7d6f3267a 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera_FrameRateRange.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera_FrameRateRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc index 701946dcb..70411cc7b 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc index 59e387abf..ff0e63d07 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderSettings.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderSettings.cc index f7f345584..8546cfe0c 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderSettings.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc index 7a83b632a..0c3e766e4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAvailabilityControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAvailabilityControl.cc index 14325eb58..e09bfa64f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAvailabilityControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAvailabilityControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaBindableInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaBindableInterface.cc index 3ea77ed20..ec9688553 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaBindableInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaBindableInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContainerControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContainerControl.cc index 7ccb6548d..ab9634d25 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContainerControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContainerControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContent.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContent.cc index 761bb3b10..4a20cad2f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContent.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaControl.cc index 7ee57a6ca..fc180a3a4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaGaplessPlaybackControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaGaplessPlaybackControl.cc index 539a9e5b1..a27c45ff8 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaGaplessPlaybackControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaGaplessPlaybackControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaMetaData.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaMetaData.cc index 45a6d0c1d..ae3ee2330 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaMetaData.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaNetworkAccessControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaNetworkAccessControl.cc index 87c50f768..9b5c13dbe 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaNetworkAccessControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaNetworkAccessControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaObject.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaObject.cc index 9ed2b1ac9..d2ca17b4f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaObject.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayer.cc index 8a140ea2b..9a4b37bcf 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayer.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayerControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayerControl.cc index 053d55577..d70a03bad 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayerControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayerControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlaylist.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlaylist.cc index 3af70a850..3b35f2aec 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlaylist.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlaylist.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorder.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorder.cc index a74bd78e9..b6f38e7b5 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorder.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorderControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorderControl.cc index 8312eba14..c356b38a9 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorderControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorderControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaResource.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaResource.cc index f1304c8cf..666e4fdca 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaResource.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaResource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaService.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaService.cc index 7bc5dc75a..9d11c5429 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaService.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceCameraInfoInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceCameraInfoInterface.cc index a50fddc66..83271fee8 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceCameraInfoInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceCameraInfoInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceDefaultDeviceInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceDefaultDeviceInterface.cc index d8b4fd326..fd8028a10 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceDefaultDeviceInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceDefaultDeviceInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceFeaturesInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceFeaturesInterface.cc index 48256f466..1d33e553d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceFeaturesInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceFeaturesInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderFactoryInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderFactoryInterface.cc index 453274a81..9db42a9ba 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderFactoryInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderFactoryInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderHint.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderHint.cc index 063a8ac3c..273e2ba32 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderHint.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderHint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderPlugin.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderPlugin.cc index 77bb61c1c..89d9db280 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderPlugin.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceProviderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedDevicesInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedDevicesInterface.cc index 52823b442..9554df8bc 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedDevicesInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedDevicesInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedFormatsInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedFormatsInterface.cc index 08fa62b8a..291fbe280 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedFormatsInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaServiceSupportedFormatsInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaStreamsControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaStreamsControl.cc index a4a68fb6c..3cd0ae6cc 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaStreamsControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaStreamsControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeInterval.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeInterval.cc index 7ff041fb6..06df0925d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeInterval.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeInterval.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeRange.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeRange.cc index c941dcdde..1580d0d8e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeRange.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaVideoProbeControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaVideoProbeControl.cc index fe58cc4a5..5317d438f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaVideoProbeControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaVideoProbeControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataReaderControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataReaderControl.cc index c16f2ba78..165b9db95 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataReaderControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataReaderControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataWriterControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataWriterControl.cc index d4de18af3..e8a285022 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataWriterControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMetaDataWriterControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMultimedia.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMultimedia.cc index 07cff31de..43f301a13 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQMultimedia.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMultimedia.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc index f6c3a7026..8ade753c4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioDataControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioDataControl.cc index 2c54c3b40..4e08908b7 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioDataControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioDataControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTuner.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTuner.cc index 11a6802a3..bb6531466 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTuner.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTuner.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTunerControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTunerControl.cc index 72182329d..915aa16ba 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTunerControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTunerControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSound.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSound.cc index 3221e5de8..b1d27d26b 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSound.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSound.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSoundEffect.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSoundEffect.cc index 12b66abc1..dfb00c351 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSoundEffect.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSoundEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc index 3a0a9edfe..b70cbd430 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettings.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettings.cc index c8d91eb54..2cc667600 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettings.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettingsControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettingsControl.cc index 45053b840..0b741d890 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettingsControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoEncoderSettingsControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFilterRunnable.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFilterRunnable.cc index 356ca7a65..2d82aa959 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFilterRunnable.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFilterRunnable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFrame.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFrame.cc index 571ad8ad2..f32787bba 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFrame.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoProbe.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoProbe.cc index 6b546632f..cee932f29 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoProbe.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoProbe.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoRendererControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoRendererControl.cc index a215420a9..05afc2a26 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoRendererControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoRendererControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoSurfaceFormat.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoSurfaceFormat.cc index b07be8a8d..6408ca7da 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoSurfaceFormat.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoSurfaceFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWidget.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWidget.cc index 96894a42e..98278d29a 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWidget.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWindowControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWindowControl.cc index e86ea6918..38809cae8 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWindowControl.cc +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWindowControl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtMultimedia/gsiQtExternals.h b/src/gsiqt/qt5/QtMultimedia/gsiQtExternals.h index 4566fcf2a..498b9d91f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtMultimedia/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractNetworkCache.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractNetworkCache.cc index 6c9d3bc0c..772b3d1b9 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractNetworkCache.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractNetworkCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractSocket.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractSocket.cc index 61a7b1729..488574c9c 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractSocket.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQAuthenticator.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQAuthenticator.cc index 7463067ec..c900cd1e6 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQAuthenticator.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQAuthenticator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsDomainNameRecord.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsDomainNameRecord.cc index 564a70bc8..7dce7803a 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsDomainNameRecord.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsDomainNameRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsHostAddressRecord.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsHostAddressRecord.cc index d096f0d40..4e5aec710 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsHostAddressRecord.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsHostAddressRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsLookup.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsLookup.cc index 59fd59eef..2c1080fe5 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsLookup.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsLookup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc index b5c9b81ae..1654a126e 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsServiceRecord.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsServiceRecord.cc index 8ebb37ef2..49521dc50 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsServiceRecord.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsServiceRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsTextRecord.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsTextRecord.cc index 2fdeb9d88..8a4c4b60d 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsTextRecord.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQDnsTextRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQHostAddress.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQHostAddress.cc index 9a99da95c..fe81ebdac 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQHostAddress.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQHostAddress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQHostInfo.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQHostInfo.cc index 794c9f045..9a3de415b 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQHostInfo.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQHostInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpMultiPart.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpMultiPart.cc index f8d749e13..d4398d770 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpMultiPart.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpMultiPart.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpPart.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpPart.cc index 58d2f233e..817ec0cc3 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpPart.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQHttpPart.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQIPv6Address.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQIPv6Address.cc index cb415494c..0201f11ed 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQIPv6Address.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQIPv6Address.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalServer.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalServer.cc index 033f0a160..8c557b074 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalServer.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalSocket.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalSocket.cc index 69241cca2..aadae81d9 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalSocket.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQLocalSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAccessManager.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAccessManager.cc index 279e3e52a..3c76f8ef2 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAccessManager.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAccessManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAddressEntry.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAddressEntry.cc index 1a7df594d..62d44f662 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAddressEntry.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAddressEntry.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCacheMetaData.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCacheMetaData.cc index c5ea7e53d..9fac80ffa 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCacheMetaData.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCacheMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfiguration.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfiguration.cc index 2f8ec9bf0..95e7054da 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfiguration.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfiguration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfigurationManager.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfigurationManager.cc index 5ed87e714..8910ca538 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfigurationManager.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfigurationManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookie.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookie.cc index 5986ad476..957adb4d8 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookie.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookieJar.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookieJar.cc index 953587bd4..21b9eb114 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookieJar.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookieJar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkDiskCache.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkDiskCache.cc index 1834c3632..d3cae3467 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkDiskCache.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkDiskCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkInterface.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkInterface.cc index c4de8fe2c..6bcc26946 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkInterface.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxy.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxy.cc index 9bba96248..428916da0 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxy.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyFactory.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyFactory.cc index b5f8f619b..4b30f75c7 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyFactory.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyQuery.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyQuery.cc index c0656cfce..e09d726f8 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyQuery.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkReply.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkReply.cc index 941287888..91407ad3d 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkReply.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkReply.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkRequest.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkRequest.cc index ea5e661e1..09a44d5fb 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkRequest.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkRequest.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkSession.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkSession.cc index 7ddbb666e..a08c4c19d 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkSession.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkSession.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSsl.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSsl.cc index e24db3b14..b0245db58 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSsl.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSsl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificate.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificate.cc index c2b5ed503..85b89d76d 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificate.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificateExtension.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificateExtension.cc index 189af1d39..423cbef70 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificateExtension.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificateExtension.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCipher.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCipher.cc index cdc54205c..4b60f149a 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCipher.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslCipher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslConfiguration.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslConfiguration.cc index 31f3317e5..35e63b4c0 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslConfiguration.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslConfiguration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslEllipticCurve.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslEllipticCurve.cc index 32b5656f9..893b3734a 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslEllipticCurve.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslEllipticCurve.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslError.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslError.cc index e614552c0..ce6ce0e16 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslError.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslKey.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslKey.cc index 6d5e58d73..40b448bef 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslKey.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslKey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc index 677e26a51..acd20f1c0 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslSocket.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslSocket.cc index cac9d3b46..fff3e115b 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQSslSocket.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQSslSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpServer.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpServer.cc index 4059585a2..fbec81d8e 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpServer.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpSocket.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpSocket.cc index 95cb72c37..7fef03a10 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpSocket.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQTcpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQUdpSocket.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQUdpSocket.cc index 47c52d655..e13c55b32 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQUdpSocket.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQUdpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkAdd.cc b/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkAdd.cc index 2765b627c..a7ceeece6 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkAdd.cc +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtNetwork/gsiQtExternals.h b/src/gsiqt/qt5/QtNetwork/gsiQtExternals.h index 1f4849bf1..6f9c7b3b8 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtNetwork/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc index 86887cd4f..2dc5b6ea0 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPageSetupDialog.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPageSetupDialog.cc index e1058f1b8..d1adea8c7 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPageSetupDialog.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPageSetupDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintDialog.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintDialog.cc index 5b7c85abc..7f3cc4926 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintDialog.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintEngine.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintEngine.cc index ab69dfeb1..9032e7147 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintEngine.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc index 7c5974003..772bde274 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc index 05dc69253..5523193f5 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinter.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinter.cc index 70446ea1e..629eb5892 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinter.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinterInfo.cc b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinterInfo.cc index 276d488f7..6ddc6e40d 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinterInfo.cc +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinterInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtPrintSupport/gsiQtExternals.h b/src/gsiqt/qt5/QtPrintSupport/gsiQtExternals.h index 20d764326..735b97854 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtPrintSupport/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSql.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSql.cc index f945e1f42..3893d70f8 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSql.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSql.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDatabase.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDatabase.cc index 1887ade9e..67c1f4b52 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDatabase.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriver.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriver.cc index f817f13c6..f25b757bf 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriver.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriverCreatorBase.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriverCreatorBase.cc index 8a1b4ca7a..638391046 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriverCreatorBase.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlDriverCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlError.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlError.cc index 0d45023cd..12c3969d2 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlError.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlField.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlField.cc index 245aae203..e20f17006 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlField.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlField.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlIndex.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlIndex.cc index 29c5cf2c8..8a67cfedd 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlIndex.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlQuery.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlQuery.cc index c3405e42f..c69dc7859 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlQuery.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlQueryModel.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlQueryModel.cc index 151c6c6ff..6ac288467 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlQueryModel.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlQueryModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRecord.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRecord.cc index 5f7ce80ee..75cef11de 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRecord.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelation.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelation.cc index 00817e4e0..9f78a0d20 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelation.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelationalTableModel.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelationalTableModel.cc index de4170b11..28d568d38 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelationalTableModel.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlRelationalTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlResult.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlResult.cc index d5fc8f92b..cd35080d4 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlResult.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlResult.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiDeclQSqlTableModel.cc b/src/gsiqt/qt5/QtSql/gsiDeclQSqlTableModel.cc index 01d5ee9b5..8ec3a6060 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQSqlTableModel.cc +++ b/src/gsiqt/qt5/QtSql/gsiDeclQSqlTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSql/gsiQtExternals.h b/src/gsiqt/qt5/QtSql/gsiQtExternals.h index 963509846..4623d3067 100644 --- a/src/gsiqt/qt5/QtSql/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtSql/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSvg/gsiDeclQGraphicsSvgItem.cc b/src/gsiqt/qt5/QtSvg/gsiDeclQGraphicsSvgItem.cc index fa91fd824..e7038c21a 100644 --- a/src/gsiqt/qt5/QtSvg/gsiDeclQGraphicsSvgItem.cc +++ b/src/gsiqt/qt5/QtSvg/gsiDeclQGraphicsSvgItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgGenerator.cc b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgGenerator.cc index 111db46ba..3567a062f 100644 --- a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgGenerator.cc +++ b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgGenerator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgRenderer.cc b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgRenderer.cc index 4cc28ebfc..3df07a831 100644 --- a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgRenderer.cc +++ b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgRenderer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgWidget.cc b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgWidget.cc index 2aae053cf..40a04b78f 100644 --- a/src/gsiqt/qt5/QtSvg/gsiDeclQSvgWidget.cc +++ b/src/gsiqt/qt5/QtSvg/gsiDeclQSvgWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtSvg/gsiQtExternals.h b/src/gsiqt/qt5/QtSvg/gsiQtExternals.h index edba1a009..c9f83a36b 100644 --- a/src/gsiqt/qt5/QtSvg/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtSvg/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtUiTools/gsiDeclQUiLoader.cc b/src/gsiqt/qt5/QtUiTools/gsiDeclQUiLoader.cc index 61140253a..5668842f7 100644 --- a/src/gsiqt/qt5/QtUiTools/gsiDeclQUiLoader.cc +++ b/src/gsiqt/qt5/QtUiTools/gsiDeclQUiLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtUiTools/gsiQtExternals.h b/src/gsiqt/qt5/QtUiTools/gsiQtExternals.h index 9ea29b4ca..00f3d7ef5 100644 --- a/src/gsiqt/qt5/QtUiTools/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtUiTools/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractButton.cc index 73cba3a27..25d1ab523 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc index 20ad622f4..0d72d3e70 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemDelegate.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemDelegate.cc index 4989124e0..a7b44c959 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemDelegate.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemView.cc index d19603722..1b067c40f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractScrollArea.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractScrollArea.cc index 85aa983bb..418bfd1e9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractScrollArea.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSlider.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSlider.cc index 1c978dceb..c59732011 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSlider.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSpinBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSpinBox.cc index b5a0296ca..31bce7daa 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSpinBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAccessibleWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAccessibleWidget.cc index 2b421a5af..939719bb9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAccessibleWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAccessibleWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQAction.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQAction.cc index 4c826227c..385c62292 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQAction.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQActionGroup.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQActionGroup.cc index 53c81b45a..535008c53 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQActionGroup.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQActionGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQApplication.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQApplication.cc index 033c24d6d..90474d2af 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQApplication.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQBoxLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQBoxLayout.cc index c9ded1c76..ff55ae140 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQBoxLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQButtonGroup.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQButtonGroup.cc index f3e27b1bb..c9c9e3d7a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQButtonGroup.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQButtonGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQCalendarWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQCalendarWidget.cc index 00dcbad2f..90b3bf8a9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQCalendarWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQCalendarWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQCheckBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQCheckBox.cc index 405251c04..28653cdb5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQCheckBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQCheckBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQColorDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQColorDialog.cc index 8ff515ea2..8f19cb0d8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQColorDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQColorDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQColormap.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQColormap.cc index 68a8c1f72..c9812d2ce 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQColormap.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQColormap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQColumnView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQColumnView.cc index 043efa90d..8f5022e7c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQColumnView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQColumnView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQComboBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQComboBox.cc index 164ff5ac5..f24b83697 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQComboBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQCommandLinkButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQCommandLinkButton.cc index 357366772..4bf77fa51 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQCommandLinkButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQCommandLinkButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQCommonStyle.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQCommonStyle.cc index 838636e27..a9674084b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQCommonStyle.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQCommonStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQCompleter.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQCompleter.cc index 260e73d2f..9e4c9fae6 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQCompleter.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQCompleter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDataWidgetMapper.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDataWidgetMapper.cc index 3e740beac..d5ab33e89 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDataWidgetMapper.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDataWidgetMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDateEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDateEdit.cc index 741fbfef3..65b59a8de 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDateEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDateEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDateTimeEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDateTimeEdit.cc index c3c1b4e36..38ff73452 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDateTimeEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDateTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDesktopWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDesktopWidget.cc index d7940f310..00dd3a711 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDesktopWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDesktopWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDial.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDial.cc index 971d5928e..e0bcc18e8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDial.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDial.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDialog.cc index 606f0d338..fcaaa025a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDialogButtonBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDialogButtonBox.cc index 61a902f42..1d3538435 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDialogButtonBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDialogButtonBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDirModel.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDirModel.cc index 4a069c865..c5879ebb3 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDirModel.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDirModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDockWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDockWidget.cc index 74d799526..6393120d9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDockWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQDoubleSpinBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQDoubleSpinBox.cc index e93b91064..57b9af4a4 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQDoubleSpinBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQDoubleSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQErrorMessage.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQErrorMessage.cc index bd27c177d..a5b6dd346 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQErrorMessage.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQErrorMessage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileDialog.cc index 7b07b7c41..fdd318bf2 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileIconProvider.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileIconProvider.cc index d58929790..b68dd1c94 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileIconProvider.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileIconProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileSystemModel.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileSystemModel.cc index fff74f013..2e6ef7e77 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFileSystemModel.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFileSystemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFocusFrame.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFocusFrame.cc index 605394a3e..4733634be 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFocusFrame.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFocusFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFontComboBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFontComboBox.cc index aab268dbf..7f1745485 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFontComboBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFontComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFontDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFontDialog.cc index ee35c1030..c540a5db8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFontDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFontDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFormLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFormLayout.cc index 0ba9d7448..833be7f14 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFormLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFormLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQFrame.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQFrame.cc index 545ce7f1e..9bcf0fd89 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQFrame.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGesture.cc index 745b46a66..3fe184644 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureEvent.cc index 7e296c8a2..85577762c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureRecognizer.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureRecognizer.cc index a2e4395b2..aaa2416f9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureRecognizer.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGestureRecognizer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchor.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchor.cc index 867b6485c..4cdc41177 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchor.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc index a070c49f8..2d95e91dc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsBlurEffect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsBlurEffect.cc index 32be39162..440294297 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsBlurEffect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsBlurEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc index 37b436ed2..7258c0ea0 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc index 1679d0526..036294d39 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEffect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEffect.cc index a5e56c684..4dc99552c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEffect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEllipseItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEllipseItem.cc index 5dbd0ede6..957d510b3 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEllipseItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEllipseItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsGridLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsGridLayout.cc index 0cebf278a..5aa48211a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsGridLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItem.cc index acd927bf9..df091fae3 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemAnimation.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemAnimation.cc index 5e0bc8858..a05c58d5c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemAnimation.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemGroup.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemGroup.cc index 1f265585b..e30111476 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemGroup.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayout.cc index 5f05c55e3..ace9b9e30 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayoutItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayoutItem.cc index c0340c2c0..55462da9c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayoutItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLineItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLineItem.cc index 27590decd..5400ba259 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLineItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLineItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLinearLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLinearLayout.cc index e20159ad4..c2b51b710 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLinearLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLinearLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsObject.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsObject.cc index 5b1a48938..152d5f2d7 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsObject.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc index 42ce5bd88..60b77041d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPathItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPathItem.cc index ea32790f6..571366527 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPathItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPathItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPixmapItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPixmapItem.cc index fcf63803a..95a903a6a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPixmapItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPixmapItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPolygonItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPolygonItem.cc index dec10b90a..9fb87e275 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPolygonItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPolygonItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsProxyWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsProxyWidget.cc index 0fb79c9a8..d3e202691 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsProxyWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsProxyWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRectItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRectItem.cc index 7064cd4c4..262389565 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRectItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRectItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRotation.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRotation.cc index 03e39fcd7..47b50df05 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRotation.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScale.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScale.cc index 27c0dc7d3..747574932 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScale.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScene.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScene.cc index b0424537c..0057f391a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScene.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScene.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc index 00b72f922..36c7c652f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc index b074b16d4..da1fc7003 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneEvent.cc index c40e8e2e8..02e664c4c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc index 638668ef4..658ae8efd 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc index ca8d82775..1498c7acc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc index 50f54fe00..2d907341f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc index a3024b9dd..fd54e2fb7 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc index ff64f407b..43caae79f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc index e47447785..6a6b35af7 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc index d06968f27..476e044e4 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTextItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTextItem.cc index 0eeead7d4..f2e3fe12e 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTextItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTransform.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTransform.cc index 17ca584ac..db4b1acd5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTransform.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsView.cc index fe265c7d1..820b0f148 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsWidget.cc index f2e660315..20b78ee7b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGridLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGridLayout.cc index e609d0f11..36534961d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGridLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQGroupBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQGroupBox.cc index c85c0aa95..9afd2d3e5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQGroupBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQHBoxLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQHBoxLayout.cc index 767a8ec89..13bd7f78b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQHBoxLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQHBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQHeaderView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQHeaderView.cc index 7dc6d9a82..0b8a5b6cc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQHeaderView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQHeaderView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQInputDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQInputDialog.cc index db3161e2a..decaa0ba4 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQInputDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQInputDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemDelegate.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemDelegate.cc index 652aa9f0e..5ff54bb2c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemDelegate.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorCreatorBase.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorCreatorBase.cc index 27a0483f4..50757aa64 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorCreatorBase.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorFactory.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorFactory.cc index 6cacf75dc..ea5b6b79c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorFactory.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQKeySequenceEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQKeySequenceEdit.cc index 0eb24fcc7..f61ac8e6d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQKeySequenceEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQKeySequenceEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQLCDNumber.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQLCDNumber.cc index 08846e9ae..fde663ea2 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQLCDNumber.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQLCDNumber.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQLabel.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQLabel.cc index 556484fb4..fe3c714ec 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQLabel.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQLabel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQLayout.cc index 8d435a7bb..280b67ddf 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQLayoutItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQLayoutItem.cc index fc010cd41..3113be55b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQLayoutItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQLineEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQLineEdit.cc index 96efa251e..0974b7c94 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQLineEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQLineEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQListView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQListView.cc index a24fd3c93..b084da012 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQListView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQListView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidget.cc index 236d09d22..17f08d24a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidgetItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidgetItem.cc index e623a939a..3871ed5fb 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidgetItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQListWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMainWindow.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMainWindow.cc index 3571f8792..1f5fc4d84 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMainWindow.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMainWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiArea.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiArea.cc index cd3907be0..20f39afd6 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiArea.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiSubWindow.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiSubWindow.cc index 3f636d805..f616f69dc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiSubWindow.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMdiSubWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMenu.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMenu.cc index c10f7b9d6..84a86bd05 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMenu.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMenu.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMenuBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMenuBar.cc index e38b43249..971dc5d14 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMenuBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMenuBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQMessageBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQMessageBox.cc index ff7ed2c14..c857719e1 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQMessageBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQMessageBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQPanGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQPanGesture.cc index 595e59e91..f64f20eb7 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQPanGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQPanGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQPinchGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQPinchGesture.cc index c5ed6a5bb..4dc085dbd 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQPinchGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQPinchGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc index e2b4ab3ea..e2c941ff6 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextEdit.cc index 7cd7fb78a..1ce56853b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressBar.cc index acabec40c..19b073976 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressDialog.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressDialog.cc index e823781d9..e4922644d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressDialog.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQProgressDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQPushButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQPushButton.cc index 1fb76df37..609d7db9c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQPushButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQPushButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQRadioButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQRadioButton.cc index 83d116e78..02064de9c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQRadioButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQRadioButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQRubberBand.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQRubberBand.cc index 4911688d5..7c12c0168 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQRubberBand.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollArea.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollArea.cc index 236de7d4a..9a9076c22 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollArea.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollBar.cc index 5a3def6fe..9334f73da 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQScroller.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQScroller.cc index 6775f68c5..cb3c60bb1 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQScroller.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQScroller.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollerProperties.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollerProperties.cc index 841a21b1b..f9103dec6 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollerProperties.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQScrollerProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQShortcut.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQShortcut.cc index 62e3fa75f..452eb6559 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQShortcut.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQShortcut.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSizeGrip.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSizeGrip.cc index 8530eed73..da3a7d187 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSizeGrip.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSizePolicy.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSizePolicy.cc index 867dfa04b..e2a67da4a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSizePolicy.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSizePolicy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSlider.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSlider.cc index 7aaa2a6d9..42dfd52c2 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSlider.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSpacerItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSpacerItem.cc index b9bef65cc..4167c7795 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSpacerItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSpacerItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSpinBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSpinBox.cc index f709565c8..cbeed4f24 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSpinBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplashScreen.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplashScreen.cc index 0e749a976..b8463d36a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplashScreen.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplashScreen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitter.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitter.cc index c72ba8249..a725a2d19 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitter.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitterHandle.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitterHandle.cc index 7f37d64bf..dac948284 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitterHandle.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSplitterHandle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedLayout.cc index 6f00074b9..da1c8e797 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedWidget.cc index 4396be656..dc1339acf 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStackedWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStatusBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStatusBar.cc index f603a63a3..89ccfca67 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStatusBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStatusBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyle.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyle.cc index b760b2a0b..ecf585247 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyle.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleFactory.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleFactory.cc index 226918d72..ff450af5d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleFactory.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturn.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturn.cc index 7affb966d..c89ba4924 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturn.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturn.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnMask.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnMask.cc index b198b9593..1cd181d13 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnMask.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnMask.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnVariant.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnVariant.cc index 718e01a8f..e4ad19f16 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnVariant.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnVariant.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOption.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOption.cc index 96b28342b..bc03cf0e8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOption.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionButton.cc index afbad00e2..a6587f626 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComboBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComboBox.cc index 6ff1daee1..7795acd53 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComboBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComplex.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComplex.cc index 2f35c1c99..ce5103313 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComplex.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComplex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionDockWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionDockWidget.cc index 7e90a9d77..16d7fd18b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionDockWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFocusRect.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFocusRect.cc index e029e7fcd..2d3de53ac 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFocusRect.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFocusRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFrame.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFrame.cc index 8b89825c3..0486f2cb8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFrame.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc index 3851276ce..54097b83c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGroupBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGroupBox.cc index abd81031c..06661b311 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGroupBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionHeader.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionHeader.cc index 62509488a..5b7fea04d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionHeader.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionHeader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionMenuItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionMenuItem.cc index a8fc2bed8..b5d20fb38 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionMenuItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionMenuItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionProgressBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionProgressBar.cc index adb211409..a08c88404 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionProgressBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionRubberBand.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionRubberBand.cc index 9df6ed772..165e9398c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionRubberBand.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc index 968ea9fc2..1d88fd3d0 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSlider.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSlider.cc index b24ec5907..3a75d30ef 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSlider.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSpinBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSpinBox.cc index 5420c6b51..7f1d309c7 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSpinBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTab.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTab.cc index 03f3db28c..21ec7372b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTab.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc index 9f26af09e..469e1eaa8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc index fdb548e8c..b6db92621 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTitleBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTitleBar.cc index b0894f123..4d271679d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTitleBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTitleBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBar.cc index 9440bbcdf..f6088e629 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBox.cc index 020b2ddc4..978ea91bd 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolButton.cc index 8ce6c8af5..14ee5a68c 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionViewItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionViewItem.cc index fc3fca8f3..b52af604e 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionViewItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionViewItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePainter.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePainter.cc index 52ed7971c..e3878a172 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePainter.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePlugin.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePlugin.cc index 5c8e55ed9..349b831a8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePlugin.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStylePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyledItemDelegate.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyledItemDelegate.cc index ec3187225..32a6d6ec5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQStyledItemDelegate.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQStyledItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSwipeGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSwipeGesture.cc index 59e162e23..b3bcc3717 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSwipeGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSwipeGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQSystemTrayIcon.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQSystemTrayIcon.cc index 676cca538..89e68807f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQSystemTrayIcon.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQSystemTrayIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTabBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTabBar.cc index 7d8852762..634253fc2 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTabBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTabBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTabWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTabWidget.cc index fbb9cf2cd..ddfa9a726 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTabWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTabWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableView.cc index d77c76b1b..6b01632ec 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidget.cc index d2013585c..42d36851f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetItem.cc index 7a7b3a570..bbba5b889 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc index 2f480cc89..86b53e38b 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTapAndHoldGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTapAndHoldGesture.cc index 8fa850544..e8d2796a4 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTapAndHoldGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTapAndHoldGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTapGesture.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTapGesture.cc index 9b9d586e8..88534893f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTapGesture.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTapGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextBrowser.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextBrowser.cc index 536107ac2..ff77d2d5f 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextBrowser.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit.cc index 05d861be3..457de49ed 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc index 25e764d77..8b7147be9 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTimeEdit.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTimeEdit.cc index 4a2d189d1..f921cb1dc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTimeEdit.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBar.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBar.cc index 71294da7d..4655685fa 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBar.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBox.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBox.cc index 044218052..6bec330fe 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBox.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolButton.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolButton.cc index 3c4b4da4d..6ad1f5e17 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolButton.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolTip.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolTip.cc index 330de099d..9b68a1bd5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQToolTip.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQToolTip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeView.cc index 500e48564..0eafe205a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidget.cc index a8c5f201a..9e9406494 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItem.cc index dc98286e5..28037d9e8 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc index 0deae6c7a..e063922b5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoCommand.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoCommand.cc index 32b32204e..3db1b4bb6 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoCommand.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoCommand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoGroup.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoGroup.cc index d75d18408..98f500592 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoGroup.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoStack.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoStack.cc index d0ea880b6..cc56b586d 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoStack.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoStack.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoView.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoView.cc index f8a4c75e7..13a21df72 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoView.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQUndoView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQVBoxLayout.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQVBoxLayout.cc index 13a80a5b8..e4278f981 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQVBoxLayout.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQVBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWhatsThis.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWhatsThis.cc index 3f048b0fa..5b5c09b7a 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWhatsThis.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWhatsThis.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidget.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidget.cc index 918e7cc60..7a390da39 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidget.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetAction.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetAction.cc index f05fdbbec..8d45bc91e 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetAction.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetItem.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetItem.cc index 176bb805e..e8666d8b5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetItem.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWizard.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWizard.cc index 7976d538c..53c88f2f5 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWizard.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWizard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQWizardPage.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQWizardPage.cc index e59f2d3c6..d441f98d4 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQWizardPage.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQWizardPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsAdd.cc b/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsAdd.cc index 945b8ab20..6c03fdebc 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsAdd.cc +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtWidgets/gsiQtExternals.h b/src/gsiqt/qt5/QtWidgets/gsiQtExternals.h index 06a9873ff..ed7adfd4e 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtWidgets/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomAttr.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomAttr.cc index e1b17b1bc..9fba606ad 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomAttr.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomAttr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomCDATASection.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomCDATASection.cc index f33e326a9..fba4c70e6 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomCDATASection.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomCDATASection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomCharacterData.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomCharacterData.cc index 4b54a5b93..38858cae3 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomCharacterData.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomCharacterData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomComment.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomComment.cc index 49cde5317..d0bcffcf7 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomComment.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomComment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocument.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocument.cc index ce7b7989a..3c783d145 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocument.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentFragment.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentFragment.cc index 4ab94bb39..4d620ccbf 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentFragment.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentType.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentType.cc index 8ada43f63..8c3dcda8b 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentType.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomElement.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomElement.cc index f1e59288e..5fea70a72 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomElement.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomElement.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomEntity.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomEntity.cc index 52c6265fa..856f4c55f 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomEntity.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomEntity.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomEntityReference.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomEntityReference.cc index cef7ffc22..c50a379e2 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomEntityReference.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomEntityReference.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomImplementation.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomImplementation.cc index 1ea476b73..6d27a77dc 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomImplementation.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomImplementation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomNamedNodeMap.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomNamedNodeMap.cc index ce271725e..c1fd41e51 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomNamedNodeMap.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomNamedNodeMap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomNode.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomNode.cc index ec50c8b80..ff03f41b7 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomNode.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomNode.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomNodeList.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomNodeList.cc index b7be24acf..137f6fc0b 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomNodeList.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomNodeList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomNotation.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomNotation.cc index a8d72894e..4156846ef 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomNotation.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomNotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomProcessingInstruction.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomProcessingInstruction.cc index c5058affe..5536272dc 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomProcessingInstruction.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomProcessingInstruction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQDomText.cc b/src/gsiqt/qt5/QtXml/gsiDeclQDomText.cc index 2e69d9845..d22f07993 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQDomText.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQDomText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlAttributes.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlAttributes.cc index 1344a2d9f..53d0e0d82 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlAttributes.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlAttributes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlContentHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlContentHandler.cc index 8bd4ed223..cfe68686f 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlContentHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlContentHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDTDHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDTDHandler.cc index da59ce4cf..1679136bf 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDTDHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDTDHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDeclHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDeclHandler.cc index dc299b211..4b3aa3349 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDeclHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDeclHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDefaultHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDefaultHandler.cc index a7a7490de..6a2175ea6 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlDefaultHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlDefaultHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlEntityResolver.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlEntityResolver.cc index 6f142165c..02bfd4772 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlEntityResolver.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlEntityResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlErrorHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlErrorHandler.cc index 772ad3aed..67b58b254 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlErrorHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlErrorHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlInputSource.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlInputSource.cc index 32593dc3b..1405f0331 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlInputSource.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlInputSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlLexicalHandler.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlLexicalHandler.cc index abb33be35..ef45d00c7 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlLexicalHandler.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlLexicalHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlLocator.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlLocator.cc index daf6edd7a..a4861ae70 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlLocator.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlLocator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlNamespaceSupport.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlNamespaceSupport.cc index b7e988a8c..e74e9359e 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlNamespaceSupport.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlNamespaceSupport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlParseException.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlParseException.cc index b3959a9a8..5caf190b0 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlParseException.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlParseException.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlReader.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlReader.cc index 9b77a1778..61bf15865 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlReader.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiDeclQXmlSimpleReader.cc b/src/gsiqt/qt5/QtXml/gsiDeclQXmlSimpleReader.cc index 09544d56d..068fa6344 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQXmlSimpleReader.cc +++ b/src/gsiqt/qt5/QtXml/gsiDeclQXmlSimpleReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXml/gsiQtExternals.h b/src/gsiqt/qt5/QtXml/gsiQtExternals.h index 5ae98c145..8ad716592 100644 --- a/src/gsiqt/qt5/QtXml/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtXml/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractMessageHandler.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractMessageHandler.cc index eefd49e55..ace61a012 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractMessageHandler.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractMessageHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractUriResolver.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractUriResolver.cc index 50f54efde..bca8c7920 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractUriResolver.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractUriResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlNodeModel.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlNodeModel.cc index fb3a6831a..5d55245ce 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlNodeModel.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlNodeModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlReceiver.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlReceiver.cc index dbf4e1303..831bf44e8 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlReceiver.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQAbstractXmlReceiver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSimpleXmlNodeModel.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSimpleXmlNodeModel.cc index a95b61e4a..b31952d70 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSimpleXmlNodeModel.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSimpleXmlNodeModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSourceLocation.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSourceLocation.cc index 6e522eb5b..1c3999fa3 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSourceLocation.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSourceLocation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlFormatter.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlFormatter.cc index ff407ca30..9c5c4df3c 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlFormatter.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlFormatter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlItem.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlItem.cc index 0f6d196d3..f5e40c9c4 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlItem.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlName.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlName.cc index 7f1350cba..cdac6088d 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlName.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlName.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNamePool.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNamePool.cc index ee5c8a985..909ed4fee 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNamePool.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNamePool.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNodeModelIndex.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNodeModelIndex.cc index 6d0df6652..fd605ee5a 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNodeModelIndex.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNodeModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlQuery.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlQuery.cc index 1401ccbd8..20ec74234 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlQuery.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlResultItems.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlResultItems.cc index 87acbf304..25d0a5038 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlResultItems.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlResultItems.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchema.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchema.cc index a373f1b78..ad19f6696 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchema.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchema.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchemaValidator.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchemaValidator.cc index d0c63bca8..d24e25c27 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchemaValidator.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchemaValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSerializer.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSerializer.cc index 433f7f799..d8b354939 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSerializer.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSerializer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsAdd.cc b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsAdd.cc index 6f1bac14f..39c1121d6 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsAdd.cc +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt5/QtXmlPatterns/gsiQtExternals.h b/src/gsiqt/qt5/QtXmlPatterns/gsiQtExternals.h index 8e8bedbb5..911bfba1b 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiQtExternals.h +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractAnimation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractAnimation.cc index ab10b6ee1..fa401407b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractAnimation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher.cc index e6e792539..3ac54fc81 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc index 7f8d667d5..c8bdacd55 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractItemModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractItemModel.cc index 65aa9c811..5da88a0cd 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractItemModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractListModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractListModel.cc index 88dde57fd..91378c7be 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractListModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractNativeEventFilter.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractNativeEventFilter.cc index fca631681..7ecdcf99e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractNativeEventFilter.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractNativeEventFilter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractProxyModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractProxyModel.cc index 4c264874a..60b775d61 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractProxyModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractTableModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractTableModel.cc index 8f1e0c63d..442a6975f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAbstractTableModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAbstractTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAdoptSharedDataTag.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAdoptSharedDataTag.cc index f0a22f689..997572b4e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAdoptSharedDataTag.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAdoptSharedDataTag.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAnimationDriver.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAnimationDriver.cc index 65d746429..3828e2fa4 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAnimationDriver.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAnimationDriver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAnimationGroup.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAnimationGroup.cc index 1db2ca1d3..4de6d9b9f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAnimationGroup.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQAnyStringView.cc b/src/gsiqt/qt6/QtCore/gsiDeclQAnyStringView.cc index 539e52d56..f2f426608 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQAnyStringView.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQAnyStringView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQBasicMutex.cc b/src/gsiqt/qt6/QtCore/gsiDeclQBasicMutex.cc index 711f2e7d7..cd714baf8 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQBasicMutex.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQBasicMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQBasicTimer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQBasicTimer.cc index 836d1cd51..e4f96da57 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQBasicTimer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQBasicTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQBindingStatus.cc b/src/gsiqt/qt6/QtCore/gsiDeclQBindingStatus.cc index 9ca3de9df..1942c6a7d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQBindingStatus.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQBindingStatus.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQBuffer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQBuffer.cc index deb3247f0..46b7f7f0b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQBuffer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQByteArrayMatcher.cc b/src/gsiqt/qt6/QtCore/gsiDeclQByteArrayMatcher.cc index 41d0f7146..edf7d2e8b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQByteArrayMatcher.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQByteArrayMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar.cc index e1001dd13..82be12eb4 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_SystemId.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_SystemId.cc index 0b5883620..4d2f85d2b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_SystemId.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_SystemId.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_YearMonthDay.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_YearMonthDay.cc index dd83772fe..9f8e4ce0a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_YearMonthDay.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCalendar_YearMonthDay.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQChildEvent.cc b/src/gsiqt/qt6/QtCore/gsiDeclQChildEvent.cc index 53ce520f8..9390c5b8b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQChildEvent.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQChildEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCollator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCollator.cc index c46320505..2362ebf74 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCollator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCollator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCollatorSortKey.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCollatorSortKey.cc index c10aa0956..5d28fe07d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCollatorSortKey.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCollatorSortKey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineOption.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineOption.cc index 9e565934d..e588b991e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineOption.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineParser.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineParser.cc index bf387690d..c2d2deace 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineParser.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCommandLineParser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQConcatenateTablesProxyModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQConcatenateTablesProxyModel.cc index 12c7576f9..33fb586e1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQConcatenateTablesProxyModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQConcatenateTablesProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCoreApplication.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCoreApplication.cc index eb02729c1..0edf89af5 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCoreApplication.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCoreApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQCryptographicHash.cc b/src/gsiqt/qt6/QtCore/gsiDeclQCryptographicHash.cc index 0d7350786..ac8da9c6a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQCryptographicHash.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQCryptographicHash.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDataStream.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDataStream.cc index b592735fa..5730e970d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDataStream.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDataStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDate.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDate.cc index 3097bdc2a..228eac170 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDate.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDateTime.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDateTime.cc index 40d6f24fc..033702609 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDateTime.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDateTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDeadlineTimer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDeadlineTimer.cc index 3f07ea31c..5e2cd4839 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDeadlineTimer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDeadlineTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDebug.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDebug.cc index c943b9e4d..371e86dbf 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDebug.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDebug.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDebugStateSaver.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDebugStateSaver.cc index 28af0fef8..8fb3fe863 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDebugStateSaver.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDebugStateSaver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDeferredDeleteEvent.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDeferredDeleteEvent.cc index f30c89fad..0fb6bfc83 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDeferredDeleteEvent.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDeferredDeleteEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDir.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDir.cc index 81c214797..9b5a58d96 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDir.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDir.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDirIterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDirIterator.cc index d8fb64941..237dd5c41 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDirIterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDirIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc b/src/gsiqt/qt6/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc index 2efe5d1e6..aa74912f7 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQEasingCurve.cc b/src/gsiqt/qt6/QtCore/gsiDeclQEasingCurve.cc index 5379c4591..aa255514e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQEasingCurve.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQEasingCurve.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQElapsedTimer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQElapsedTimer.cc index 543a765ed..df05b1610 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQElapsedTimer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQElapsedTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQEvent.cc b/src/gsiqt/qt6/QtCore/gsiDeclQEvent.cc index 3b4ccc35b..2ee23fbf0 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQEvent.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQEventLoop.cc b/src/gsiqt/qt6/QtCore/gsiDeclQEventLoop.cc index c0a17de5a..467317150 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQEventLoop.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQEventLoop.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQEventLoopLocker.cc b/src/gsiqt/qt6/QtCore/gsiDeclQEventLoopLocker.cc index 3900c633d..32a7644f3 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQEventLoopLocker.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQEventLoopLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFactoryInterface.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFactoryInterface.cc index 75b8910c8..ad11432ad 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFactoryInterface.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFactoryInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFile.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFile.cc index 1a07f881a..5aa20c023 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFile.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFileDevice.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFileDevice.cc index 6b5888fec..789ab7044 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFileDevice.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFileDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFileInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFileInfo.cc index 981efb914..aa8e80a0b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFileInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFileInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFileSelector.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFileSelector.cc index 8bb6d91fe..0517cc04d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFileSelector.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFileSelector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQFileSystemWatcher.cc b/src/gsiqt/qt6/QtCore/gsiDeclQFileSystemWatcher.cc index d61c9cad3..61c13264a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQFileSystemWatcher.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQFileSystemWatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQIODevice.cc b/src/gsiqt/qt6/QtCore/gsiDeclQIODevice.cc index 211b96080..f38d0821e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQIODevice.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQIODevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQIODeviceBase.cc b/src/gsiqt/qt6/QtCore/gsiDeclQIODeviceBase.cc index 3d7f59d9e..f1f3514f1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQIODeviceBase.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQIODeviceBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQIdentityProxyModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQIdentityProxyModel.cc index 3bf39071d..51c4e4e39 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQIdentityProxyModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQIdentityProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelection.cc b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelection.cc index 5945078be..bce3bc457 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelection.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionModel.cc index 21f9581f3..64eafbcd6 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionRange.cc b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionRange.cc index 7b6eab6f5..b96f9ce81 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionRange.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray.cc index 77eae5cf3..6a3538213 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Const_iterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Const_iterator.cc index cf741f590..43ae8b4cf 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Const_iterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Const_iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Iterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Iterator.cc index 486ba8f48..b007d17aa 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Iterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonDocument.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonDocument.cc index 855905d9b..4d47ae6a7 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonDocument.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject.cc index 4c0772d48..631d5f6f2 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Const_iterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Const_iterator.cc index 42f584a6e..00a4aa376 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Const_iterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Const_iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Iterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Iterator.cc index efcd05164..910ceebc4 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Iterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonParseError.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonParseError.cc index 3ad213a24..654aa5508 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonParseError.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonParseError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonValue.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonValue.cc index af589c60b..2a79dcfdd 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonValue.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonValue.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQJsonValueRef.cc b/src/gsiqt/qt6/QtCore/gsiDeclQJsonValueRef.cc index 5baf61359..3fe4f47da 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQJsonValueRef.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQJsonValueRef.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQKeyCombination.cc b/src/gsiqt/qt6/QtCore/gsiDeclQKeyCombination.cc index 4e4c533a1..a11b68432 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQKeyCombination.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQKeyCombination.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLibrary.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLibrary.cc index 68037a01d..1568ee35f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLibrary.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLibrary.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLibraryInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLibraryInfo.cc index 80f1cdeeb..65f5ec1b4 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLibraryInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLibraryInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLine.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLine.cc index c96210293..e179266f0 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLine.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLineF.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLineF.cc index e04c4fd27..6bca9b793 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLineF.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLineF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLocale.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLocale.cc index 8f29b012f..e21226aa7 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLocale.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLocale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLockFile.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLockFile.cc index beffabf01..fc2466533 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLockFile.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLockFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQLoggingCategory.cc b/src/gsiqt/qt6/QtCore/gsiDeclQLoggingCategory.cc index 3a082080e..5f0e9974d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQLoggingCategory.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQLoggingCategory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMargins.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMargins.cc index 22f92101a..06ea7402a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMargins.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMargins.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMarginsF.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMarginsF.cc index 98309e775..a19e9ce68 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMarginsF.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMarginsF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMessageAuthenticationCode.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMessageAuthenticationCode.cc index e33eeaa51..ae5fe7c2f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMessageAuthenticationCode.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMessageAuthenticationCode.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogContext.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogContext.cc index b49557e01..735b91aaf 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogContext.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogger.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogger.cc index 385b67976..ed7f7a210 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogger.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMessageLogger.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaAssociation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaAssociation.cc index fd74f3c5c..dd21c6f01 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaAssociation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaAssociation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaClassInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaClassInfo.cc index 1a2a9cf12..be6fed1ca 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaClassInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaClassInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaContainer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaContainer.cc index baef3b3e1..0d5379283 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaContainer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaContainer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaEnum.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaEnum.cc index 364dcc117..c78b2e38b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaEnum.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaEnum.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaMethod.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaMethod.cc index 771f822b2..220c900f1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaMethod.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaMethod.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject.cc index 7d6d82fca..f62d93936 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Connection.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Connection.cc index a4bc3f411..564b5185b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Connection.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Connection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Data.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Data.cc index b0f212b0f..09be7a7ab 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Data.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Data.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_SuperData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_SuperData.cc index da36ee6ff..5aa2e2b60 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_SuperData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_SuperData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaProperty.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaProperty.cc index e7900a1e3..b89f67f34 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaProperty.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaProperty.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaSequence.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaSequence.cc index b7a1e0b08..ee4fa2285 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaSequence.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaSequence.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMetaType.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMetaType.cc index c2dcdb700..ecaf8f1f3 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMetaType.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMetaType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMethodRawArguments.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMethodRawArguments.cc index 3161e714a..5691a661e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMethodRawArguments.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMethodRawArguments.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMimeData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMimeData.cc index 97b6c90bb..19389b1b9 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMimeData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMimeData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMimeDatabase.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMimeDatabase.cc index 355b135d5..c69961dff 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMimeDatabase.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMimeDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMimeType.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMimeType.cc index 352d5de3c..133999bc6 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMimeType.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMimeType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQModelIndex.cc b/src/gsiqt/qt6/QtCore/gsiDeclQModelIndex.cc index fc0d0a6fc..a46116e37 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQModelIndex.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleData.cc index efcd5dd67..d9700cbe3 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleDataSpan.cc b/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleDataSpan.cc index e8e2bad6b..3fec4e99d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleDataSpan.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQModelRoleDataSpan.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQMutex.cc b/src/gsiqt/qt6/QtCore/gsiDeclQMutex.cc index 54f53a7ce..d47f36f11 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQMutex.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQNoDebug.cc b/src/gsiqt/qt6/QtCore/gsiDeclQNoDebug.cc index 0dbbb7444..b4a0eb724 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQNoDebug.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQNoDebug.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQObject.cc b/src/gsiqt/qt6/QtCore/gsiDeclQObject.cc index 52eb8217e..0a03042d5 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQObject.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQOperatingSystemVersion.cc b/src/gsiqt/qt6/QtCore/gsiDeclQOperatingSystemVersion.cc index 6ada02994..587c4e190 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQOperatingSystemVersion.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQOperatingSystemVersion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQParallelAnimationGroup.cc b/src/gsiqt/qt6/QtCore/gsiDeclQParallelAnimationGroup.cc index 9a5118734..e406c5b49 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQParallelAnimationGroup.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQParallelAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPartialOrdering.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPartialOrdering.cc index f9e0a171b..c3e7da99d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPartialOrdering.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPartialOrdering.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPauseAnimation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPauseAnimation.cc index 946081bf6..cd5ad9dc5 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPauseAnimation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPauseAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPersistentModelIndex.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPersistentModelIndex.cc index 2bc0faf70..6fe4605a7 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPersistentModelIndex.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPersistentModelIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPluginLoader.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPluginLoader.cc index c8e373d02..37fcd98b2 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPluginLoader.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPluginLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPluginMetaData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPluginMetaData.cc index 2c869cc1b..946acd915 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPluginMetaData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPluginMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPoint.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPoint.cc index 40fe8c4e2..74e4ca27b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPoint.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPointF.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPointF.cc index 10456e178..c367f9c4f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPointF.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPointF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQProcess.cc b/src/gsiqt/qt6/QtCore/gsiDeclQProcess.cc index 0c6777095..e75f9a587 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQProcess.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQProcess.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQProcessEnvironment.cc b/src/gsiqt/qt6/QtCore/gsiDeclQProcessEnvironment.cc index af246184c..b591c93ea 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQProcessEnvironment.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQProcessEnvironment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyAnimation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyAnimation.cc index b8369cc52..5df0a3173 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyAnimation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingError.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingError.cc index 9ffcf7d40..1bb346f54 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingError.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingSourceLocation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingSourceLocation.cc index 2bebe26f0..3f2313373 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingSourceLocation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingSourceLocation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyNotifier.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyNotifier.cc index 6eb5447d9..6b7190ca0 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyNotifier.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyNotifier.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserver.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserver.cc index a98ac951e..65d6e6266 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserver.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserverBase.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserverBase.cc index e5b1c7fdd..8e7774e16 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserverBase.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserverBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyProxyBindingData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyProxyBindingData.cc index ae9876eb4..fa382f07a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQPropertyProxyBindingData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQPropertyProxyBindingData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator.cc index 388c3e68d..8812b1243 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator64.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator64.cc index 111d68631..00fb58ab1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator64.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator64.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQReadLocker.cc b/src/gsiqt/qt6/QtCore/gsiDeclQReadLocker.cc index 25a01c970..114bd225d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQReadLocker.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQReadLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQReadWriteLock.cc b/src/gsiqt/qt6/QtCore/gsiDeclQReadWriteLock.cc index 6745995e9..43807ae81 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQReadWriteLock.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQReadWriteLock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRect.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRect.cc index c7d276b8c..a6355b459 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRect.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRectF.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRectF.cc index d44b4441c..47ef26894 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRectF.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRectF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRecursiveMutex.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRecursiveMutex.cc index 591c2a4c2..2f56ee704 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRecursiveMutex.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRecursiveMutex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpression.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpression.cc index 096c1382d..43161ff2f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpression.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpression.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatch.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatch.cc index 680d970dd..757f6564c 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatch.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatch.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatchIterator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatchIterator.cc index ba69de49d..ea710be83 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatchIterator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatchIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQResource.cc b/src/gsiqt/qt6/QtCore/gsiDeclQResource.cc index 6e66dd3a8..70443da8d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQResource.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQResource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQRunnable.cc b/src/gsiqt/qt6/QtCore/gsiDeclQRunnable.cc index c3ac66b1a..9dde62eda 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQRunnable.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQRunnable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSaveFile.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSaveFile.cc index 65ee76fcf..b27a927bf 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSaveFile.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSaveFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSemaphore.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSemaphore.cc index 361cd057c..e9aa74850 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSemaphore.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSemaphore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSemaphoreReleaser.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSemaphoreReleaser.cc index fa4a48721..3df1ef26a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSemaphoreReleaser.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSemaphoreReleaser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSequentialAnimationGroup.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSequentialAnimationGroup.cc index 5f0b0797f..1635c7266 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSequentialAnimationGroup.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSequentialAnimationGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSettings.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSettings.cc index ff010b6b8..ca5f29816 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSettings.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSettings.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSharedMemory.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSharedMemory.cc index c72fdda60..4464b9994 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSharedMemory.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSharedMemory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSignalBlocker.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSignalBlocker.cc index 1b19e7cf9..6dd7feec5 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSignalBlocker.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSignalBlocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSignalMapper.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSignalMapper.cc index 8d45c919c..cf3d7a174 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSignalMapper.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSignalMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSize.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSize.cc index ca5fcf849..080ff29c2 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSize.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSize.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSizeF.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSizeF.cc index d4d8ff651..270728da9 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSizeF.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSizeF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSocketDescriptor.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSocketDescriptor.cc index a2b58dcea..37a0c27fe 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSocketDescriptor.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSocketDescriptor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSocketNotifier.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSocketNotifier.cc index 78ae07375..c1ff4c6b1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSocketNotifier.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSocketNotifier.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSortFilterProxyModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSortFilterProxyModel.cc index 484f87a62..a5ab44c58 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSortFilterProxyModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSortFilterProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStandardPaths.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStandardPaths.cc index de201b588..15f44c025 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStandardPaths.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStandardPaths.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStorageInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStorageInfo.cc index e3a107872..f0708a49f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStorageInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStorageInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverter.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverter.cc index aa19d41a0..85fd46c63 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverter.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase.cc index 55e3da21c..2e97922bc 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase_State.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase_State.cc index b10ae9106..bdad67f20 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase_State.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase_State.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringDecoder.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringDecoder.cc index 9d1de5fb5..19db84601 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringDecoder.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringEncoder.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringEncoder.cc index e9f40bc7b..871c40116 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringEncoder.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringEncoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringListModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringListModel.cc index 198d31020..d9569e0c4 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringListModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringListModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQStringMatcher.cc b/src/gsiqt/qt6/QtCore/gsiDeclQStringMatcher.cc index 83d33743a..429da6a85 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQStringMatcher.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQStringMatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSysInfo.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSysInfo.cc index 1e3dccc9c..646b6493e 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSysInfo.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSysInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQSystemSemaphore.cc b/src/gsiqt/qt6/QtCore/gsiDeclQSystemSemaphore.cc index 7ba29de5e..a4669c5ec 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQSystemSemaphore.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQSystemSemaphore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryDir.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryDir.cc index 502f08762..28c1e4c03 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryDir.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryDir.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryFile.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryFile.cc index a8f1e9e12..93220fec1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryFile.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTemporaryFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTextBoundaryFinder.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTextBoundaryFinder.cc index 0df488b9f..0ff4dc3ed 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTextBoundaryFinder.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTextBoundaryFinder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTextStream.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTextStream.cc index 2b82c0042..ff16b0480 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTextStream.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTextStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQThread.cc b/src/gsiqt/qt6/QtCore/gsiDeclQThread.cc index e37ecdc98..7acc11e12 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQThread.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQThread.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQThreadPool.cc b/src/gsiqt/qt6/QtCore/gsiDeclQThreadPool.cc index 73b97f339..13fee2af1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQThreadPool.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQThreadPool.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTime.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTime.cc index 1fd6b1ec2..5614d7d3c 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTime.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTime.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTimeLine.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTimeLine.cc index afc719095..e77bd48f3 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTimeLine.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTimeLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone.cc index ad5087cc9..0af861344 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone_OffsetData.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone_OffsetData.cc index b07b29362..d96485980 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone_OffsetData.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTimeZone_OffsetData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTimer.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTimer.cc index 45f528504..4c75d2fd0 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTimer.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTimerEvent.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTimerEvent.cc index 763efdc47..c59f61c9c 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTimerEvent.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTimerEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTranslator.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTranslator.cc index 3a58987ef..4729f55f3 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTranslator.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTranslator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTransposeProxyModel.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTransposeProxyModel.cc index 8a09f5ee5..0f29b71aa 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTransposeProxyModel.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTransposeProxyModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQTypeRevision.cc b/src/gsiqt/qt6/QtCore/gsiDeclQTypeRevision.cc index 48b33e267..85e24ebc9 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQTypeRevision.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQTypeRevision.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQUrl.cc b/src/gsiqt/qt6/QtCore/gsiDeclQUrl.cc index 1f8f97285..eea9e1d20 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQUrl.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQUrl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQUrlQuery.cc b/src/gsiqt/qt6/QtCore/gsiDeclQUrlQuery.cc index e781154a4..5fe430bb5 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQUrlQuery.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQUrlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQVariantAnimation.cc b/src/gsiqt/qt6/QtCore/gsiDeclQVariantAnimation.cc index d4c6ca0e1..9b91a2218 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQVariantAnimation.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQVariantAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQVersionNumber.cc b/src/gsiqt/qt6/QtCore/gsiDeclQVersionNumber.cc index a3b5412ac..3c4765b2b 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQVersionNumber.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQVersionNumber.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQWaitCondition.cc b/src/gsiqt/qt6/QtCore/gsiDeclQWaitCondition.cc index c3330045a..fa4eb63fd 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQWaitCondition.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQWaitCondition.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQWriteLocker.cc b/src/gsiqt/qt6/QtCore/gsiDeclQWriteLocker.cc index f4e70f987..abbf3b133 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQWriteLocker.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQWriteLocker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttribute.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttribute.cc index 00f722581..6f10538ea 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttribute.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttribute.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttributes.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttributes.cc index 305a43bce..3b01ac6a1 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttributes.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttributes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc index 685fe34a1..9358bd52a 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityResolver.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityResolver.cc index 20f7c3659..bf63a6a77 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityResolver.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc index 2df616ca3..cc0e94ebd 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc index add67de11..743f9357f 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamReader.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamReader.cc index ac382ed96..7a60f3da6 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamReader.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamWriter.cc b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamWriter.cc index 2288a3824..9c99d8e11 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamWriter.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQt.cc b/src/gsiqt/qt6/QtCore/gsiDeclQt.cc index 203dda22f..438fcc7ac 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQt.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQtCoreAdd.cc b/src/gsiqt/qt6/QtCore/gsiDeclQtCoreAdd.cc index 0a561fbb8..ae26c848c 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQtCoreAdd.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQtCoreAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQt_1.cc b/src/gsiqt/qt6/QtCore/gsiDeclQt_1.cc index ac38c400d..d3343aa56 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQt_1.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQt_1.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQt_2.cc b/src/gsiqt/qt6/QtCore/gsiDeclQt_2.cc index f6f098900..23be85e39 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQt_2.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQt_2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQt_3.cc b/src/gsiqt/qt6/QtCore/gsiDeclQt_3.cc index 02cdaf135..1c9635a1d 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQt_3.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQt_3.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiDeclQt_4.cc b/src/gsiqt/qt6/QtCore/gsiDeclQt_4.cc index 78d307a7a..4ec7149c2 100644 --- a/src/gsiqt/qt6/QtCore/gsiDeclQt_4.cc +++ b/src/gsiqt/qt6/QtCore/gsiDeclQt_4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore/gsiQtExternals.h b/src/gsiqt/qt6/QtCore/gsiQtExternals.h index 21a58e372..9f795ebae 100644 --- a/src/gsiqt/qt6/QtCore/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtCore/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQBinaryJson.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQBinaryJson.cc index f79daf076..40e3d9838 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQBinaryJson.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQBinaryJson.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQRegExp.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQRegExp.cc index 9fa7abd81..f2144e523 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQRegExp.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQRegExp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextCodec.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextCodec.cc index 812519f7b..4dd41297f 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextCodec.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextCodec.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextDecoder.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextDecoder.cc index 9c69dc534..b3592c673 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextDecoder.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextEncoder.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextEncoder.cc index f79a9b0d5..cca3b794c 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextEncoder.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextEncoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlAttributes.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlAttributes.cc index 5b11d5f11..474490987 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlAttributes.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlAttributes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlContentHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlContentHandler.cc index 58be0caca..a49bf267c 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlContentHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlContentHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDTDHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDTDHandler.cc index d7a7ad2d0..69732d83f 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDTDHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDTDHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDeclHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDeclHandler.cc index 242b6097d..ba97432b1 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDeclHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDeclHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDefaultHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDefaultHandler.cc index 021890ad0..4367d27d6 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDefaultHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDefaultHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlEntityResolver.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlEntityResolver.cc index 5f414122a..3f02b21de 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlEntityResolver.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlEntityResolver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlErrorHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlErrorHandler.cc index f336cba83..802345255 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlErrorHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlErrorHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlInputSource.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlInputSource.cc index 8ced6213f..9a5ec86be 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlInputSource.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlInputSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLexicalHandler.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLexicalHandler.cc index 7f830b614..bf3484c72 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLexicalHandler.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLexicalHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLocator.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLocator.cc index d9774aa52..8933f4acf 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLocator.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLocator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlNamespaceSupport.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlNamespaceSupport.cc index 6f8970f59..117078608 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlNamespaceSupport.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlNamespaceSupport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlParseException.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlParseException.cc index 1d1602934..43cd808e3 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlParseException.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlParseException.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlReader.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlReader.cc index cc86ee9e6..6c090e140 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlReader.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlSimpleReader.cc b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlSimpleReader.cc index 21ca37baa..5d721850e 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlSimpleReader.cc +++ b/src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlSimpleReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtCore5Compat/gsiQtExternals.h b/src/gsiqt/qt6/QtCore5Compat/gsiQtExternals.h index 1081cfdb3..b48cbe8b7 100644 --- a/src/gsiqt/qt6/QtCore5Compat/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtCore5Compat/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractFileIconProvider.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractFileIconProvider.cc index 1867dfc10..5977c34df 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractFileIconProvider.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractFileIconProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout.cc index b2cd2c7dd..060d61650 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc index 03127c849..c4c8255ad 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc index d20856872..768ec57b8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractUndoItem.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractUndoItem.cc index 9fb31e010..33ed3db40 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAbstractUndoItem.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAbstractUndoItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible.cc index 1e287ae65..76540e20b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleActionInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleActionInterface.cc index db67ef2f5..6a0c68e39 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleActionInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleActionInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEditableTextInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEditableTextInterface.cc index eed71d2ce..49d073eda 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEditableTextInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEditableTextInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEvent.cc index 779a42263..e595c3711 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleHyperlinkInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleHyperlinkInterface.cc index 821b70d24..47f40b3f8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleHyperlinkInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleHyperlinkInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleImageInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleImageInterface.cc index 8ae537f00..7be9ea7f8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleImageInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleImageInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleInterface.cc index f256075fe..c4f1117ac 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleObject.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleObject.cc index 716c4f561..f8a31f227 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleObject.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleStateChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleStateChangeEvent.cc index 2bc300bac..e6fe5f576 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleStateChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableCellInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableCellInterface.cc index e34e9104e..75d38f815 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableCellInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableCellInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableInterface.cc index 003be0198..6f1fe353a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc index faa9b4dc7..8db99553e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextCursorEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextCursorEvent.cc index 94ea75e43..fa0dfc490 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextCursorEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextCursorEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInsertEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInsertEvent.cc index aa8a70059..033a520a2 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInsertEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInsertEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInterface.cc index ba1e09f9a..1abe8d29a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc index dfc4d4f49..c98b529a3 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc index b87839dcd..33076a392 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc index 903b76b5e..97febc317 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueChangeEvent.cc index 7420e6215..c60bd0d4a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueInterface.cc index 089043de1..8b4b5c477 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_ActivationObserver.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_ActivationObserver.cc index 5dc5b1e0e..f627f6b96 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_ActivationObserver.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_ActivationObserver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_State.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_State.cc index edc56963c..338c8b80b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_State.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAccessible_State.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQAction.cc b/src/gsiqt/qt6/QtGui/gsiDeclQAction.cc index cb41b7475..0395eeab4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQAction.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQActionEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQActionEvent.cc index ff3df9cd2..6aa3c32ee 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQActionEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQActionEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQActionGroup.cc b/src/gsiqt/qt6/QtGui/gsiDeclQActionGroup.cc index 404cada6e..fb81aa73e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQActionGroup.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQActionGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQApplicationStateChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQApplicationStateChangeEvent.cc index b6744d54e..185900f28 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQApplicationStateChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQApplicationStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQBackingStore.cc b/src/gsiqt/qt6/QtGui/gsiDeclQBackingStore.cc index 8b56bfe72..764db74d4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQBackingStore.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQBackingStore.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQBitmap.cc b/src/gsiqt/qt6/QtGui/gsiDeclQBitmap.cc index 8365f6bee..0a0f31561 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQBitmap.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQBitmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQBrush.cc b/src/gsiqt/qt6/QtGui/gsiDeclQBrush.cc index 745500aab..9744f3ded 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQBrush.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQBrush.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQClipboard.cc b/src/gsiqt/qt6/QtGui/gsiDeclQClipboard.cc index 50c958320..7c9d9f032 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQClipboard.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQClipboard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQCloseEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQCloseEvent.cc index db67fd3ad..fc9732f47 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQCloseEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQCloseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQColor.cc b/src/gsiqt/qt6/QtGui/gsiDeclQColor.cc index de8bc0e45..36e435101 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQColor.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQColor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQColorSpace.cc b/src/gsiqt/qt6/QtGui/gsiDeclQColorSpace.cc index 1605ebd7e..61503bfe4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQColorSpace.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQColorSpace.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQColorTransform.cc b/src/gsiqt/qt6/QtGui/gsiDeclQColorTransform.cc index 0215099f5..f0c22887e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQColorTransform.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQColorTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQConicalGradient.cc b/src/gsiqt/qt6/QtGui/gsiDeclQConicalGradient.cc index 74f1df076..a32b0f7ea 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQConicalGradient.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQConicalGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQContextMenuEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQContextMenuEvent.cc index e72fd0ef8..709d7f5bf 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQContextMenuEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQCursor.cc b/src/gsiqt/qt6/QtGui/gsiDeclQCursor.cc index f2551e3a2..3e57d1bd6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQCursor.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDesktopServices.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDesktopServices.cc index 5ed184fdd..577cb47ac 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDesktopServices.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDesktopServices.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDoubleValidator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDoubleValidator.cc index 3ac220cd0..cc3f66cc0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDoubleValidator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDoubleValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDrag.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDrag.cc index fb74050a2..1cd0c4f1a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDrag.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDrag.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDragEnterEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDragEnterEvent.cc index 893a57922..8d8563fc6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDragEnterEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDragEnterEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDragLeaveEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDragLeaveEvent.cc index d8ede6b33..ade42a5fa 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDragLeaveEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDragLeaveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDragMoveEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDragMoveEvent.cc index 5c65b64c2..c85721b40 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDragMoveEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDragMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQDropEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQDropEvent.cc index fc4423c56..6bbbd15e0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQDropEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQEnterEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQEnterEvent.cc index bec57f257..8e8748d40 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQEnterEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQEnterEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQEventPoint.cc b/src/gsiqt/qt6/QtGui/gsiDeclQEventPoint.cc index 32a704101..88ac2d059 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQEventPoint.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQEventPoint.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQExposeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQExposeEvent.cc index 2a7345336..c21447cbd 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQExposeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQExposeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFileOpenEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFileOpenEvent.cc index 05f1ffa21..d5f2135cc 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFileOpenEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFileOpenEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFileSystemModel.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFileSystemModel.cc index f357d755f..f16c388b6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFileSystemModel.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFileSystemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFocusEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFocusEvent.cc index de6d7022b..df1d8578b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFocusEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFocusEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFont.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFont.cc index 73e991d85..7c371d860 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFont.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFontDatabase.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFontDatabase.cc index a3935c33a..353830127 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFontDatabase.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFontDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFontInfo.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFontInfo.cc index 7f8944910..030dda4c0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFontInfo.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFontInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFontMetrics.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFontMetrics.cc index ff47cd8df..f5ed2cce3 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFontMetrics.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFontMetrics.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQFontMetricsF.cc b/src/gsiqt/qt6/QtGui/gsiDeclQFontMetricsF.cc index 612b6fca5..cf6f49bb4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQFontMetricsF.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQFontMetricsF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGenericPlugin.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGenericPlugin.cc index 5cd1ad397..b01fd07a2 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGenericPlugin.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGenericPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGenericPluginFactory.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGenericPluginFactory.cc index a95ef247b..4ffa39697 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGenericPluginFactory.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGenericPluginFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGlyphRun.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGlyphRun.cc index 82f2f9b4a..3a42d87f0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGlyphRun.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGlyphRun.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGradient.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGradient.cc index 483be465f..da257f6f4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGradient.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGradient_QGradientData.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGradient_QGradientData.cc index 171f1847c..7d86dfaf4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGradient_QGradientData.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGradient_QGradientData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQGuiApplication.cc b/src/gsiqt/qt6/QtGui/gsiDeclQGuiApplication.cc index 1403a052d..1649ab8df 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQGuiApplication.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQGuiApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQHelpEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQHelpEvent.cc index 999a51274..e85af692e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQHelpEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQHideEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQHideEvent.cc index 43ca22a43..927e262cf 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQHideEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQHideEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQHoverEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQHoverEvent.cc index 44d4f4c66..07eea7a26 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQHoverEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIcon.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIcon.cc index ef5370ffc..71f711fd0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIcon.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIconDragEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIconDragEvent.cc index 93c501e39..6e981c1a8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIconDragEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIconDragEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine.cc index f0dd6e416..fe5432ba0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIconEnginePlugin.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIconEnginePlugin.cc index 04de1c716..d5f32224e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIconEnginePlugin.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIconEnginePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine_ScaledPixmapArgument.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine_ScaledPixmapArgument.cc index a4a299e52..38029b2cb 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine_ScaledPixmapArgument.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIconEngine_ScaledPixmapArgument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQImage.cc b/src/gsiqt/qt6/QtGui/gsiDeclQImage.cc index 665002d77..f88c30b10 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQImage.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQImage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQImageIOHandler.cc b/src/gsiqt/qt6/QtGui/gsiDeclQImageIOHandler.cc index 7a8725288..bd411533d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQImageIOHandler.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQImageIOHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQImageIOPlugin.cc b/src/gsiqt/qt6/QtGui/gsiDeclQImageIOPlugin.cc index d0f176842..30663e729 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQImageIOPlugin.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQImageIOPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQImageReader.cc b/src/gsiqt/qt6/QtGui/gsiDeclQImageReader.cc index f5746a435..da08e0b58 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQImageReader.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQImageReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQImageWriter.cc b/src/gsiqt/qt6/QtGui/gsiDeclQImageWriter.cc index 080f5c61c..1ed4d4955 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQImageWriter.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQImageWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQInputDevice.cc b/src/gsiqt/qt6/QtGui/gsiDeclQInputDevice.cc index 49d5a5c36..d218abdf4 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQInputDevice.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQInputDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQInputEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQInputEvent.cc index af9c6b4e4..fc1086e98 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQInputEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQInputEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethod.cc b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethod.cc index 2af4c848d..0b4c4be22 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethod.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethod.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodEvent.cc index 1a2e3d15b..825985b26 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodQueryEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodQueryEvent.cc index e473f5126..7c4530d87 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodQueryEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQInputMethodQueryEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQIntValidator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQIntValidator.cc index 20e57b77f..abfce9359 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQIntValidator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQIntValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQKeyEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQKeyEvent.cc index 492943963..73999740d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQKeyEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQKeyEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQKeySequence.cc b/src/gsiqt/qt6/QtGui/gsiDeclQKeySequence.cc index 3bd4dacda..8d0306937 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQKeySequence.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQKeySequence.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQLinearGradient.cc b/src/gsiqt/qt6/QtGui/gsiDeclQLinearGradient.cc index 1dd8458cc..5650eeae7 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQLinearGradient.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQLinearGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQMatrix4x4.cc b/src/gsiqt/qt6/QtGui/gsiDeclQMatrix4x4.cc index 2a06a15e4..f1613957d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQMatrix4x4.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQMatrix4x4.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQMouseEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQMouseEvent.cc index 1d365ad07..0ffbca1ac 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQMouseEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQMoveEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQMoveEvent.cc index 6b3dbb633..1ffb0ccf6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQMoveEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQMovie.cc b/src/gsiqt/qt6/QtGui/gsiDeclQMovie.cc index 8918ce5e3..3a59b76e3 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQMovie.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQMovie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQNativeGestureEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQNativeGestureEvent.cc index 6b5a5ca6e..21f89230e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQNativeGestureEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQNativeGestureEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQOffscreenSurface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQOffscreenSurface.cc index 8a2743c79..af7db2483 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQOffscreenSurface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQOffscreenSurface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPageLayout.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPageLayout.cc index b1f53a988..7543592a5 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPageLayout.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPageLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges.cc index 5249d76d2..c7f6eeeec 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges_Range.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges_Range.cc index da3e7e8ea..d73de408a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges_Range.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPageRanges_Range.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPageSize.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPageSize.cc index ace001473..28949dfd7 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPageSize.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPageSize.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPagedPaintDevice.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPagedPaintDevice.cc index d4b813e49..e485b2fcd 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPagedPaintDevice.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPagedPaintDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPaintDevice.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPaintDevice.cc index 90b39aa3c..acdb4c302 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPaintDevice.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPaintDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPaintDeviceWindow.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPaintDeviceWindow.cc index 119ad5f89..744397a5c 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPaintDeviceWindow.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPaintDeviceWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngine.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngine.cc index cd46b0e3e..e56b16ca8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngine.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngineState.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngineState.cc index da47bb37e..15946ef15 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngineState.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEngineState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEvent.cc index 944a55b88..1d7245b06 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPaintEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPaintEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPainter.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPainter.cc index 82307c525..997f3925a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPainter.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath.cc index 7c6549ce2..5765b7044 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPathStroker.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPathStroker.cc index 8ea458cba..35edb84e8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPathStroker.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPathStroker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath_Element.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath_Element.cc index 1812f73dd..eac3fea4d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath_Element.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPainterPath_Element.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPainter_PixmapFragment.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPainter_PixmapFragment.cc index 55a01be94..8a52d93ce 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPainter_PixmapFragment.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPainter_PixmapFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPalette.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPalette.cc index 1dc3d3817..d0a0913dc 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPalette.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPdfWriter.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPdfWriter.cc index b8d88eef4..51f8d13e9 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPdfWriter.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPdfWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPen.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPen.cc index de6356d33..90cc086cf 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPen.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPicture.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPicture.cc index 3529b68f9..790428174 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPicture.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPicture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPixelFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPixelFormat.cc index 7adfed8f7..941dcf91f 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPixelFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPixelFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPixmap.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPixmap.cc index 5824c8894..93789d656 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPixmap.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPixmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPixmapCache.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPixmapCache.cc index 1d0d480d2..2db7df583 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPixmapCache.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPixmapCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPlatformSurfaceEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPlatformSurfaceEvent.cc index 381c7a57f..833d00a5d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPlatformSurfaceEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPlatformSurfaceEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPointerEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPointerEvent.cc index 8efcc578a..7d65ac66f 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPointerEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPointerEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPointingDevice.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPointingDevice.cc index ebc0b3334..d5d4ea014 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPointingDevice.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPointingDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPointingDeviceUniqueId.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPointingDeviceUniqueId.cc index a34358fd7..8b726af62 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPointingDeviceUniqueId.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPointingDeviceUniqueId.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPolygon.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPolygon.cc index 5217d7c0b..daab33a09 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPolygon.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQPolygonF.cc b/src/gsiqt/qt6/QtGui/gsiDeclQPolygonF.cc index 393c1b652..fb38fd53d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQPolygonF.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQPolygonF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQQuaternion.cc b/src/gsiqt/qt6/QtGui/gsiDeclQQuaternion.cc index e9046426e..16e0a66fa 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQQuaternion.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQQuaternion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRadialGradient.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRadialGradient.cc index 426810041..7f7fc5916 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRadialGradient.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRadialGradient.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRasterWindow.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRasterWindow.cc index 3378780eb..2a2475ee9 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRasterWindow.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRasterWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRawFont.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRawFont.cc index bf315a85d..fb3f033a6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRawFont.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRawFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRegion.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRegion.cc index d205b638b..e144d8574 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRegion.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRegion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRegularExpressionValidator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRegularExpressionValidator.cc index 3125ae535..5d43dd1bd 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRegularExpressionValidator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRegularExpressionValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQResizeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQResizeEvent.cc index d527577b9..d319f9f84 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQResizeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQRgba64.cc b/src/gsiqt/qt6/QtGui/gsiDeclQRgba64.cc index 77b80642a..3087212f5 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQRgba64.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQRgba64.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQScreen.cc b/src/gsiqt/qt6/QtGui/gsiDeclQScreen.cc index 211292e08..89a7a536d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQScreen.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQScreen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQScreenOrientationChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQScreenOrientationChangeEvent.cc index f8d360d73..5899b8bfe 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQScreenOrientationChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQScreenOrientationChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQScrollEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQScrollEvent.cc index 64d84d9de..56198b70a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQScrollEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQScrollEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQScrollPrepareEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQScrollPrepareEvent.cc index 76f3b9a38..5751de177 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQScrollPrepareEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQScrollPrepareEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQSessionManager.cc b/src/gsiqt/qt6/QtGui/gsiDeclQSessionManager.cc index de08b1230..a444de3de 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQSessionManager.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQSessionManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQShortcut.cc b/src/gsiqt/qt6/QtGui/gsiDeclQShortcut.cc index f12934512..2263d27a7 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQShortcut.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQShortcut.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQShortcutEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQShortcutEvent.cc index 1149f3365..16f21b9ef 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQShortcutEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQShortcutEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQShowEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQShowEvent.cc index 6d0aa5af8..154c3ca64 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQShowEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQShowEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQSinglePointEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQSinglePointEvent.cc index fd70fb451..15c8afc6d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQSinglePointEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQSinglePointEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQStandardItem.cc b/src/gsiqt/qt6/QtGui/gsiDeclQStandardItem.cc index d1e884cf2..07a81fb9b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQStandardItem.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQStandardItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQStandardItemModel.cc b/src/gsiqt/qt6/QtGui/gsiDeclQStandardItemModel.cc index 03d5bbe0b..4194f117b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQStandardItemModel.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQStandardItemModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQStaticText.cc b/src/gsiqt/qt6/QtGui/gsiDeclQStaticText.cc index 5b44ff20d..b64b58b6b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQStaticText.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQStaticText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQStatusTipEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQStatusTipEvent.cc index 3deb6d715..e9cd2b616 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQStatusTipEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQStatusTipEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQStyleHints.cc b/src/gsiqt/qt6/QtGui/gsiDeclQStyleHints.cc index 123e1cea3..385585262 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQStyleHints.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQStyleHints.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQSurface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQSurface.cc index 8d086d82f..83df926cc 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQSurface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQSurface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQSurfaceFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQSurfaceFormat.cc index 9d53f6dac..6f7ff6e3a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQSurfaceFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQSurfaceFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQSyntaxHighlighter.cc b/src/gsiqt/qt6/QtGui/gsiDeclQSyntaxHighlighter.cc index 7fc255fde..c807a70f7 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQSyntaxHighlighter.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQSyntaxHighlighter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTabletEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTabletEvent.cc index c33bda5b7..80d5cc53a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTabletEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTabletEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock.cc index 467cbf18c..47cffe1c8 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockFormat.cc index 421f5267d..04fa2d285 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockGroup.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockGroup.cc index d510b6ffb..ca11712dc 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockGroup.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockUserData.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockUserData.cc index 0feda7e98..8418e401a 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockUserData.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlockUserData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock_Iterator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock_Iterator.cc index 4c519e75a..a03f1ef1b 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock_Iterator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextBlock_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextCharFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextCharFormat.cc index 4ff809590..217b84937 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextCharFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextCharFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextCursor.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextCursor.cc index 48f35267f..a01fe0e38 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextCursor.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocument.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocument.cc index 931aac632..84dcaa89e 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocument.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentFragment.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentFragment.cc index 7de477262..5dfeb4c40 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentFragment.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentWriter.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentWriter.cc index 1d29c572d..13fa98bbf 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentWriter.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextFormat.cc index a4742fcd0..e8ea67533 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextFragment.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextFragment.cc index ddc7d50b4..7a2ae359f 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextFragment.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame.cc index 665051410..0aac2d124 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrameFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrameFormat.cc index a59b65157..c45f47593 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrameFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrameFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame_Iterator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame_Iterator.cc index 35c44fb70..6d43efa83 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame_Iterator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextFrame_Iterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextImageFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextImageFormat.cc index 89792579b..2856506a9 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextImageFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextImageFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextInlineObject.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextInlineObject.cc index 3b9a9373d..f069f5497 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextInlineObject.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextInlineObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextItem.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextItem.cc index 968242a09..e74d45446 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextItem.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout.cc index cce918d4a..e299f7faf 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout_FormatRange.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout_FormatRange.cc index 2d70f7533..5b8a2d82c 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout_FormatRange.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextLayout_FormatRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextLength.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextLength.cc index 7f80be6b6..cdcfd7d65 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextLength.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextLength.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextLine.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextLine.cc index 7e7ee6b5d..0374d3923 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextLine.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextLine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextList.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextList.cc index 710f4c4cf..d4de26b74 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextList.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextListFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextListFormat.cc index e6313345a..2493bdded 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextListFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextListFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextObject.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextObject.cc index 53f2cc8c5..4607362ed 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextObject.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextObjectInterface.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextObjectInterface.cc index 8ca27e537..605779557 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextObjectInterface.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextObjectInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextOption.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextOption.cc index 3929a0d48..699e8baf9 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextOption.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextOption_Tab.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextOption_Tab.cc index e9f55f7ff..bb64f5552 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextOption_Tab.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextOption_Tab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextTable.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextTable.cc index 10b228f0f..29eb5e59d 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextTable.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextTable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCell.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCell.cc index b736aabd9..09a55f687 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCell.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCell.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCellFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCellFormat.cc index 78c418bd4..0cc8fd0bb 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCellFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableCellFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableFormat.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableFormat.cc index f7caa271e..4b96adfae 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTextTableFormat.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTextTableFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQToolBarChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQToolBarChangeEvent.cc index 8ce453411..445afd49c 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQToolBarChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQToolBarChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTouchEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTouchEvent.cc index 6575431a0..8e447e4e6 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTouchEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTouchEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQTransform.cc b/src/gsiqt/qt6/QtGui/gsiDeclQTransform.cc index 759926479..c028d7062 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQTransform.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQUndoCommand.cc b/src/gsiqt/qt6/QtGui/gsiDeclQUndoCommand.cc index 3740d7949..8157937cc 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQUndoCommand.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQUndoCommand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQUndoGroup.cc b/src/gsiqt/qt6/QtGui/gsiDeclQUndoGroup.cc index 38de2af3b..14207f400 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQUndoGroup.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQUndoGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQUndoStack.cc b/src/gsiqt/qt6/QtGui/gsiDeclQUndoStack.cc index 98ebc1e0a..b978949e7 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQUndoStack.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQUndoStack.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQValidator.cc b/src/gsiqt/qt6/QtGui/gsiDeclQValidator.cc index b6e9ca391..d76f9f3c0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQValidator.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQValidator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQVector2D.cc b/src/gsiqt/qt6/QtGui/gsiDeclQVector2D.cc index a03318274..4d9459695 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQVector2D.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQVector2D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQVector3D.cc b/src/gsiqt/qt6/QtGui/gsiDeclQVector3D.cc index f569535e3..32bb71f28 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQVector3D.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQVector3D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQVector4D.cc b/src/gsiqt/qt6/QtGui/gsiDeclQVector4D.cc index 34fbedd6d..293946b79 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQVector4D.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQVector4D.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQWhatsThisClickedEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQWhatsThisClickedEvent.cc index 236067cbe..c54bcff19 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQWhatsThisClickedEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQWhatsThisClickedEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQWheelEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQWheelEvent.cc index f467f61ca..954139f10 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQWheelEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQWindow.cc b/src/gsiqt/qt6/QtGui/gsiDeclQWindow.cc index ad25080ed..2e3043fe9 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQWindow.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQWindowStateChangeEvent.cc b/src/gsiqt/qt6/QtGui/gsiDeclQWindowStateChangeEvent.cc index 19d66c84c..7fa878b53 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQWindowStateChangeEvent.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQWindowStateChangeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiDeclQtGuiAdd.cc b/src/gsiqt/qt6/QtGui/gsiDeclQtGuiAdd.cc index 2a4a715b0..2cb3e3dc0 100644 --- a/src/gsiqt/qt6/QtGui/gsiDeclQtGuiAdd.cc +++ b/src/gsiqt/qt6/QtGui/gsiDeclQtGuiAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtGui/gsiQtExternals.h b/src/gsiqt/qt6/QtGui/gsiQtExternals.h index 5c695dab8..035e59732 100644 --- a/src/gsiqt/qt6/QtGui/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtGui/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudio.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudio.cc index f9f21484e..b5986ea25 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudio.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudio.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioBuffer.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioBuffer.cc index 4a8f1ad27..a322f8463 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioBuffer.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioBuffer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDecoder.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDecoder.cc index bec72bda5..03cc3f71e 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDecoder.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDecoder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDevice.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDevice.cc index 5768a88b1..7ef4566a3 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDevice.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioFormat.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioFormat.cc index 57309afbc..14b9cf6c2 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioFormat.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioInput.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioInput.cc index 5a4ee97c3..9c66f5c2e 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioInput.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioInput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioOutput.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioOutput.cc index 832f33621..7c4747d8b 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioOutput.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioOutput.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSink.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSink.cc index fcc87ffd5..a96da86f8 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSink.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSource.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSource.cc index 4f75850b5..f71699f4b 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSource.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCamera.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCamera.cc index 9bda48207..09c14d34b 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCamera.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCamera.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraDevice.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraDevice.cc index cf760d5ab..387e46d5c 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraDevice.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraDevice.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraFormat.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraFormat.cc index 7fbf2aa5c..3b9339be7 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraFormat.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQImageCapture.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQImageCapture.cc index c27aea7a7..79aa034f8 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQImageCapture.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQImageCapture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaCaptureSession.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaCaptureSession.cc index 538a50a45..817f88b7f 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaCaptureSession.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaCaptureSession.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaDevices.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaDevices.cc index 574d7bcb2..b4b1cc9cd 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaDevices.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaDevices.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaFormat.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaFormat.cc index 947e73725..182cd923a 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaFormat.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaMetaData.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaMetaData.cc index 80d512610..0b819add3 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaMetaData.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaPlayer.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaPlayer.cc index 75259063e..f80e1cd2e 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaPlayer.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaPlayer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaRecorder.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaRecorder.cc index 8c9f635a3..c3dd4cb6c 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaRecorder.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaRecorder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange.cc index ec5a0857f..897a6e5f2 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange_Interval.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange_Interval.cc index fa8b73e90..e6f22d87d 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange_Interval.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange_Interval.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQSoundEffect.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQSoundEffect.cc index 824f28c6d..2e8ca9645 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQSoundEffect.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQSoundEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame.cc index 7708b7c37..19c8a1721 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrameFormat.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrameFormat.cc index 4de966255..50673f13a 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrameFormat.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrameFormat.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame_PaintOptions.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame_PaintOptions.cc index 19eff26a3..90383ad39 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame_PaintOptions.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame_PaintOptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoSink.cc b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoSink.cc index 655199a99..360e10cdd 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoSink.cc +++ b/src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoSink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtMultimedia/gsiQtExternals.h b/src/gsiqt/qt6/QtMultimedia/gsiQtExternals.h index e8c253d15..3c7fc840e 100644 --- a/src/gsiqt/qt6/QtMultimedia/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtMultimedia/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractNetworkCache.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractNetworkCache.cc index 437d88366..ea1cc2766 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractNetworkCache.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractNetworkCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractSocket.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractSocket.cc index b65ad924d..41ae9fdc7 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractSocket.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQAbstractSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQAuthenticator.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQAuthenticator.cc index 22c1e9bd3..905eeec8b 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQAuthenticator.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQAuthenticator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsDomainNameRecord.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsDomainNameRecord.cc index 564a70bc8..7dce7803a 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsDomainNameRecord.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsDomainNameRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsHostAddressRecord.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsHostAddressRecord.cc index d096f0d40..4e5aec710 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsHostAddressRecord.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsHostAddressRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsLookup.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsLookup.cc index aa68bd3b2..b5a133380 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsLookup.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsLookup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc index b5c9b81ae..1654a126e 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsServiceRecord.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsServiceRecord.cc index 8ebb37ef2..49521dc50 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsServiceRecord.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsServiceRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsTextRecord.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsTextRecord.cc index 2fdeb9d88..8a4c4b60d 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsTextRecord.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDnsTextRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtls.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtls.cc index 3decd1d7f..0dc57d3bb 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtls.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtls.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier.cc index e4072b084..5ce7904d0 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier_GeneratorParameters.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier_GeneratorParameters.cc index a4e07b2d0..fc67defe2 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier_GeneratorParameters.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier_GeneratorParameters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsError.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsError.cc index c627381b3..4ecd17500 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsError.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHostAddress.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHostAddress.cc index dcd071754..c1ef15828 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHostAddress.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHostAddress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHostInfo.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHostInfo.cc index 5c16d15ba..a6117b369 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHostInfo.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHostInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHstsPolicy.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHstsPolicy.cc index 0e235e37a..17c923d50 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHstsPolicy.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHstsPolicy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttp2Configuration.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttp2Configuration.cc index bbfb836ec..b7d2931b2 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttp2Configuration.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttp2Configuration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpMultiPart.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpMultiPart.cc index 8e81344fe..bb199d761 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpMultiPart.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpMultiPart.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpPart.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpPart.cc index 58d2f233e..817ec0cc3 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpPart.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQHttpPart.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQIPv6Address.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQIPv6Address.cc index cb415494c..0201f11ed 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQIPv6Address.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQIPv6Address.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalServer.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalServer.cc index 844ba88ae..07de3729f 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalServer.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalSocket.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalSocket.cc index 6d4125ba3..5c92c4c10 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalSocket.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQLocalSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAccessManager.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAccessManager.cc index bba8264e3..63e279f18 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAccessManager.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAccessManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAddressEntry.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAddressEntry.cc index 1134a696e..99caa9b18 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAddressEntry.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkAddressEntry.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCacheMetaData.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCacheMetaData.cc index c5ea7e53d..9fac80ffa 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCacheMetaData.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCacheMetaData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookie.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookie.cc index 7fa0457cc..344aac910 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookie.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookieJar.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookieJar.cc index 5ac240c0a..e929e9c66 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookieJar.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkCookieJar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDatagram.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDatagram.cc index c88a46385..7a04e6986 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDatagram.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDatagram.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDiskCache.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDiskCache.cc index eeb932d2b..dfbcefade 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDiskCache.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDiskCache.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc index 714ffb011..151c4f388 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInterface.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInterface.cc index df3b1c3be..4e5348d7d 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInterface.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInterface.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxy.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxy.cc index 3ff841495..b0e7b84b6 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxy.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyFactory.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyFactory.cc index fe62ccb11..8a99e2a86 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyFactory.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyQuery.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyQuery.cc index 8dd7d0324..f0b02fa85 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyQuery.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkProxyQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkReply.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkReply.cc index 384402564..fa29786d5 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkReply.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkReply.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkRequest.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkRequest.cc index 0c357b616..af6747e10 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkRequest.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkRequest.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspCertificateStatus.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspCertificateStatus.cc index 217d6db35..3c6821133 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspCertificateStatus.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspCertificateStatus.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspRevocationReason.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspRevocationReason.cc index 05ccb5b87..328df0e01 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspRevocationReason.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQOcspRevocationReason.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQPasswordDigestor.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQPasswordDigestor.cc index 8395d2a39..ae2d94090 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQPasswordDigestor.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQPasswordDigestor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSsl.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSsl.cc index b7809df23..1ea56b2c6 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSsl.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSsl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificate.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificate.cc index 1ade26b0a..6e4f0a73d 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificate.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificateExtension.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificateExtension.cc index 189af1d39..423cbef70 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificateExtension.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCertificateExtension.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCipher.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCipher.cc index cdc54205c..4b60f149a 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCipher.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslCipher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslConfiguration.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslConfiguration.cc index 3d87b9b28..0f40b9859 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslConfiguration.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslConfiguration.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslDiffieHellmanParameters.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslDiffieHellmanParameters.cc index cbacdcd74..137380e8e 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslDiffieHellmanParameters.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslDiffieHellmanParameters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslEllipticCurve.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslEllipticCurve.cc index f005582c8..ca7f3e229 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslEllipticCurve.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslEllipticCurve.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslError.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslError.cc index c770c7c5c..c5cb8babe 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslError.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslKey.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslKey.cc index 6d5e58d73..40b448bef 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslKey.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslKey.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc index 39b1090f4..5d9c392e2 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslSocket.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslSocket.cc index c00a9b4b6..c80d45412 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQSslSocket.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQSslSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpServer.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpServer.cc index 589fa4157..29cea9239 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpServer.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpServer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpSocket.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpSocket.cc index b64ad60b3..ea3740c9a 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpSocket.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQTcpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQUdpSocket.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQUdpSocket.cc index 11f69e497..abd43f880 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQUdpSocket.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQUdpSocket.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQtNetworkAdd.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQtNetworkAdd.cc index 2765b627c..a7ceeece6 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQtNetworkAdd.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQtNetworkAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtNetwork/gsiQtExternals.h b/src/gsiqt/qt6/QtNetwork/gsiQtExternals.h index 6bc189d14..53cedf0c4 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtNetwork/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc index b89fd35ec..cb08f1d3d 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPageSetupDialog.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPageSetupDialog.cc index d2b96afb4..e90aaa6bd 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPageSetupDialog.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPageSetupDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintDialog.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintDialog.cc index fdab08763..8824f37c2 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintDialog.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintEngine.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintEngine.cc index ab69dfeb1..9032e7147 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintEngine.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintEngine.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc index b9ba1bb79..1334f26c6 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc index 2e0406a3e..584d5d84b 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinter.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinter.cc index a68cdefa9..ff84a84f5 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinter.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinterInfo.cc b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinterInfo.cc index f26aeb66b..3cc6854e0 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinterInfo.cc +++ b/src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinterInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtPrintSupport/gsiQtExternals.h b/src/gsiqt/qt6/QtPrintSupport/gsiQtExternals.h index 20d764326..735b97854 100644 --- a/src/gsiqt/qt6/QtPrintSupport/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtPrintSupport/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSql.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSql.cc index f945e1f42..3893d70f8 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSql.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSql.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDatabase.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDatabase.cc index 7263e7136..8e7f29491 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDatabase.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDatabase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriver.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriver.cc index 86a59b7bb..45c2b6c11 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriver.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriverCreatorBase.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriverCreatorBase.cc index 8a1b4ca7a..638391046 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriverCreatorBase.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlDriverCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlError.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlError.cc index 21f1cfbb2..b6622afa3 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlError.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlField.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlField.cc index b1cc91102..fc29afa57 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlField.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlField.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlIndex.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlIndex.cc index 29c5cf2c8..8a67cfedd 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlIndex.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlIndex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlQuery.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlQuery.cc index af0e69f86..7f4cbab1b 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlQuery.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlQuery.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlQueryModel.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlQueryModel.cc index 3bc8b3d43..717d6dde5 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlQueryModel.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlQueryModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRecord.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRecord.cc index 5f7ce80ee..75cef11de 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRecord.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRecord.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelation.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelation.cc index ba9a6e616..92e153213 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelation.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelationalTableModel.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelationalTableModel.cc index 5eb25bf4a..e66052865 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelationalTableModel.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlRelationalTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlResult.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlResult.cc index 538412900..ce4f3a158 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlResult.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlResult.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiDeclQSqlTableModel.cc b/src/gsiqt/qt6/QtSql/gsiDeclQSqlTableModel.cc index ec436d3f9..12543bf61 100644 --- a/src/gsiqt/qt6/QtSql/gsiDeclQSqlTableModel.cc +++ b/src/gsiqt/qt6/QtSql/gsiDeclQSqlTableModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSql/gsiQtExternals.h b/src/gsiqt/qt6/QtSql/gsiQtExternals.h index 963509846..4623d3067 100644 --- a/src/gsiqt/qt6/QtSql/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtSql/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSvg/gsiDeclQSvgGenerator.cc b/src/gsiqt/qt6/QtSvg/gsiDeclQSvgGenerator.cc index 111db46ba..3567a062f 100644 --- a/src/gsiqt/qt6/QtSvg/gsiDeclQSvgGenerator.cc +++ b/src/gsiqt/qt6/QtSvg/gsiDeclQSvgGenerator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSvg/gsiDeclQSvgRenderer.cc b/src/gsiqt/qt6/QtSvg/gsiDeclQSvgRenderer.cc index bcfb32923..4fb9b0a98 100644 --- a/src/gsiqt/qt6/QtSvg/gsiDeclQSvgRenderer.cc +++ b/src/gsiqt/qt6/QtSvg/gsiDeclQSvgRenderer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtSvg/gsiQtExternals.h b/src/gsiqt/qt6/QtSvg/gsiQtExternals.h index 2daa966f8..e075e09cc 100644 --- a/src/gsiqt/qt6/QtSvg/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtSvg/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtUiTools/gsiDeclQUiLoader.cc b/src/gsiqt/qt6/QtUiTools/gsiDeclQUiLoader.cc index bd078b552..f3888ecf3 100644 --- a/src/gsiqt/qt6/QtUiTools/gsiDeclQUiLoader.cc +++ b/src/gsiqt/qt6/QtUiTools/gsiDeclQUiLoader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtUiTools/gsiQtExternals.h b/src/gsiqt/qt6/QtUiTools/gsiQtExternals.h index 9ea29b4ca..00f3d7ef5 100644 --- a/src/gsiqt/qt6/QtUiTools/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtUiTools/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractButton.cc index 10f918dbb..2315fc7b7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc index 5ab6f2b33..3e58e7e01 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemDelegate.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemDelegate.cc index e6caa6a44..982f770e1 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemDelegate.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemView.cc index fb9cd739d..c568a6149 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractScrollArea.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractScrollArea.cc index bb24bb399..33679fe4b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractScrollArea.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSlider.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSlider.cc index 3ebe30b84..f039b86ba 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSlider.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSpinBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSpinBox.cc index 2f649f4cf..9c9989562 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSpinBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQAccessibleWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQAccessibleWidget.cc index 73987340e..411307528 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQAccessibleWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQAccessibleWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQApplication.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQApplication.cc index b5dabaeaa..4128ea189 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQApplication.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQBoxLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQBoxLayout.cc index 29064382a..14f6fcca5 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQBoxLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQButtonGroup.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQButtonGroup.cc index f3e4b735c..764b3b302 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQButtonGroup.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQButtonGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQCalendarWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQCalendarWidget.cc index f28a97c35..727d4bcb7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQCalendarWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQCalendarWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQCheckBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQCheckBox.cc index e00b59301..b118c2bbb 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQCheckBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQCheckBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQColorDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQColorDialog.cc index 2dc43ffeb..ca8c3c4a0 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQColorDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQColorDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQColormap.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQColormap.cc index c6b5f5bde..53063a336 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQColormap.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQColormap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQColumnView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQColumnView.cc index 2edd4acfd..97c14bcbb 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQColumnView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQColumnView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQComboBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQComboBox.cc index 829432434..442a22466 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQComboBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQCommandLinkButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQCommandLinkButton.cc index e36e0146f..84c381a05 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQCommandLinkButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQCommandLinkButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQCommonStyle.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQCommonStyle.cc index 349cdb53a..90ed3c13f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQCommonStyle.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQCommonStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQCompleter.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQCompleter.cc index c3634cc8e..605c240d9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQCompleter.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQCompleter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDataWidgetMapper.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDataWidgetMapper.cc index 259db6e71..fbf3a1d04 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDataWidgetMapper.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDataWidgetMapper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDateEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDateEdit.cc index 496e9d9f0..0cc2653bf 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDateEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDateEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDateTimeEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDateTimeEdit.cc index a9df0e260..a26d63af0 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDateTimeEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDateTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDial.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDial.cc index 4e40f2daa..eeecd96a0 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDial.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDial.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDialog.cc index 4bbb31958..bdf875610 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDialogButtonBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDialogButtonBox.cc index be809d02f..67d4824ad 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDialogButtonBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDialogButtonBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDockWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDockWidget.cc index 46c25bc3b..8985be8ca 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDockWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQDoubleSpinBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQDoubleSpinBox.cc index 3c11cf001..66a59c6d4 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQDoubleSpinBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQDoubleSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQErrorMessage.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQErrorMessage.cc index afb392179..038d1e63b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQErrorMessage.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQErrorMessage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFileDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFileDialog.cc index e48826a09..95df9345d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFileDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFileDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFileIconProvider.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFileIconProvider.cc index 5b0ab45f6..ecd019d9c 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFileIconProvider.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFileIconProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFocusFrame.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFocusFrame.cc index 7cb4c282d..0bf48aaef 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFocusFrame.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFocusFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFontComboBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFontComboBox.cc index f7c32d59a..3b8f06c60 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFontComboBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFontComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFontDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFontDialog.cc index 9804485df..85409820a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFontDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFontDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout.cc index f215d59bb..04a333f77 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout_TakeRowResult.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout_TakeRowResult.cc index 82729d3cc..d3e3f7773 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout_TakeRowResult.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout_TakeRowResult.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQFrame.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQFrame.cc index 3db6f012b..2a33f357a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQFrame.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGesture.cc index 473fde660..7f1f6899b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureEvent.cc index f4e23e224..e93932025 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureRecognizer.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureRecognizer.cc index a2e4395b2..aaa2416f9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureRecognizer.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGestureRecognizer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchor.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchor.cc index 06959297e..a48777a8c 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchor.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc index 4992c5e1e..84b0f90b7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsBlurEffect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsBlurEffect.cc index 9d38af204..2025ff406 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsBlurEffect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsBlurEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc index bd09ddd2f..aa1ba8790 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc index 0557c8182..a034d9930 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEffect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEffect.cc index 0ac1aa985..0181b0394 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEffect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEllipseItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEllipseItem.cc index 67420bf27..9db0aa198 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEllipseItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEllipseItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsGridLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsGridLayout.cc index f75355fa2..a314f9df4 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsGridLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItem.cc index 1588809dd..23934ed84 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemAnimation.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemAnimation.cc index f7a3ab9e6..b46f524b6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemAnimation.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemAnimation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemGroup.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemGroup.cc index 3359dcb6b..a98889640 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemGroup.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemGroup.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayout.cc index 103d4a1b2..1b68ce930 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayoutItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayoutItem.cc index 2061c012b..a09b34e8f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayoutItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLineItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLineItem.cc index dce51fb30..674a5b6f9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLineItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLineItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLinearLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLinearLayout.cc index a4b93de6c..8179e20ba 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLinearLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLinearLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsObject.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsObject.cc index 099cec461..b6f9643f6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsObject.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc index eb5113dfe..4a177719a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPathItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPathItem.cc index a11097249..b9b325f9e 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPathItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPathItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPixmapItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPixmapItem.cc index 519f3b401..1314769da 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPixmapItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPixmapItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPolygonItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPolygonItem.cc index 57321aa31..1aed31c1f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPolygonItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPolygonItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsProxyWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsProxyWidget.cc index 78ba18a32..361b0151b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsProxyWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsProxyWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRectItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRectItem.cc index 3cb3ac21c..d3f1e6c84 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRectItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRectItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRotation.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRotation.cc index dfdb7c487..fba9aadbb 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRotation.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScale.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScale.cc index 0cbef514e..de8ab8d40 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScale.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScale.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScene.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScene.cc index f8f655963..3d98f5fcd 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScene.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScene.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc index 6beb5d60b..5895e6cc8 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc index 34b22a2b4..002d2eb39 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneEvent.cc index b55f887e0..0832194e7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc index cea517be1..3315dc87f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc index b90d31f7d..ea69adbb7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc index 8b70b2be1..da829b581 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc index d965dd514..905dfffa5 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc index e593a62e3..63341f820 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc index 509590860..2c36c323e 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc index e60124ece..db6c21d74 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTextItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTextItem.cc index 184fbfe0d..138743594 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTextItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTextItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTransform.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTransform.cc index 96e3aa8be..809a37aea 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTransform.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTransform.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsView.cc index d89f9317c..05c2e7899 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsWidget.cc index 2cbdee756..028fa11e6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGridLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGridLayout.cc index 98c589b90..8f46e0351 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGridLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGridLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQGroupBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQGroupBox.cc index 6710c5e6c..11a04fe3d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQGroupBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQHBoxLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQHBoxLayout.cc index 5a521879c..826b6011d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQHBoxLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQHBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQHeaderView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQHeaderView.cc index 7df7b96d6..551b0fdc4 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQHeaderView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQHeaderView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQInputDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQInputDialog.cc index 6894f8d21..4aee39407 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQInputDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQInputDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemDelegate.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemDelegate.cc index 18761c36c..8211853e7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemDelegate.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorCreatorBase.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorCreatorBase.cc index 27a0483f4..50757aa64 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorCreatorBase.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorCreatorBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorFactory.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorFactory.cc index 6cacf75dc..ea5b6b79c 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorFactory.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQKeySequenceEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQKeySequenceEdit.cc index d7b19e157..5460739df 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQKeySequenceEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQKeySequenceEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQLCDNumber.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQLCDNumber.cc index 0c1271c07..482cb6488 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQLCDNumber.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQLCDNumber.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQLabel.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQLabel.cc index b24cd530b..5f7b617cc 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQLabel.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQLabel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQLayout.cc index c8c777f38..3447c1143 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQLayoutItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQLayoutItem.cc index 7555b61f3..dc3ff7e62 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQLayoutItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQLayoutItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQLineEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQLineEdit.cc index 9ac8a7784..7b2d5881b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQLineEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQLineEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQListView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQListView.cc index a198519a4..85ce16efc 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQListView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQListView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidget.cc index 0c1c285ae..bc09268cf 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidgetItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidgetItem.cc index 64d3c0b7e..90be662f3 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidgetItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQListWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMainWindow.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMainWindow.cc index fc9057710..f6cdd82ff 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMainWindow.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMainWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiArea.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiArea.cc index 1440d6078..e192e0c9f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiArea.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiSubWindow.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiSubWindow.cc index 68f392879..2c8783c56 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiSubWindow.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMdiSubWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMenu.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMenu.cc index 529c373e4..aa23ed864 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMenu.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMenu.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMenuBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMenuBar.cc index 4430bcb86..33ec4133f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMenuBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMenuBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQMessageBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQMessageBox.cc index c8e13ccc6..e1d9d2f79 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQMessageBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQMessageBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQPanGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQPanGesture.cc index 2ece03bf9..55a3be21e 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQPanGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQPanGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQPinchGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQPinchGesture.cc index d6d2d8edc..e5ede901d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQPinchGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQPinchGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc index 99f93500b..e95222448 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextEdit.cc index df413d531..dd3be465f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressBar.cc index 16273f475..8b0f46112 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressDialog.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressDialog.cc index 2d4e59b75..2b3fb0149 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressDialog.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQProgressDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQPushButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQPushButton.cc index 926f396fc..cd50892aa 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQPushButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQPushButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQRadioButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQRadioButton.cc index f057d953c..d9660fb6d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQRadioButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQRadioButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQRubberBand.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQRubberBand.cc index 045284dec..50b91b814 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQRubberBand.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollArea.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollArea.cc index 099908526..b612bcb4f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollArea.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollArea.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollBar.cc index 951e0efed..56b71b695 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQScroller.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQScroller.cc index fbae65282..010f44d90 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQScroller.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQScroller.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollerProperties.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollerProperties.cc index 841a21b1b..f9103dec6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollerProperties.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQScrollerProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSizeGrip.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSizeGrip.cc index 9252efeb0..be9140579 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSizeGrip.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSizePolicy.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSizePolicy.cc index d3d1235af..24efd8b7f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSizePolicy.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSizePolicy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSlider.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSlider.cc index d22b3a25e..2119efe0a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSlider.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSpacerItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSpacerItem.cc index fde0b8c84..d7a7a7c34 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSpacerItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSpacerItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSpinBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSpinBox.cc index 4d254c6fc..189fa4e5a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSpinBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplashScreen.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplashScreen.cc index 4679f3460..638928c62 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplashScreen.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplashScreen.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitter.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitter.cc index d844f62e9..b220b2e52 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitter.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitterHandle.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitterHandle.cc index 837029f4b..5b8b555f7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitterHandle.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSplitterHandle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedLayout.cc index 723404517..aec47d752 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedWidget.cc index 9cade9a75..a57d85fa7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStackedWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStatusBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStatusBar.cc index ac32e46ab..f28c21b29 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStatusBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStatusBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyle.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyle.cc index 68e41aab7..47992f1f9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyle.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleFactory.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleFactory.cc index 226918d72..ff450af5d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleFactory.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleFactory.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturn.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturn.cc index 7affb966d..c89ba4924 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturn.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturn.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnMask.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnMask.cc index b198b9593..1cd181d13 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnMask.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnMask.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnVariant.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnVariant.cc index 718e01a8f..e4ad19f16 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnVariant.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnVariant.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOption.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOption.cc index 59232d35b..d8c061b2d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOption.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOption.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionButton.cc index 162cf6eff..d18dc099b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComboBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComboBox.cc index 97446a3e9..9e31bec72 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComboBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComboBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComplex.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComplex.cc index 65efdaeb4..b394bd781 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComplex.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComplex.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionDockWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionDockWidget.cc index 9f4f6eee0..04d4acc10 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionDockWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionDockWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFocusRect.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFocusRect.cc index dabab2bbf..7270eb2f5 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFocusRect.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFocusRect.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFrame.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFrame.cc index 4ef017b50..2068e31e9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFrame.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc index f576a9736..6b99ec56f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGroupBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGroupBox.cc index 6313cf8b5..7a56f7ce4 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGroupBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGroupBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeader.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeader.cc index b5588e367..7761752ee 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeader.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeaderV2.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeaderV2.cc index 0fd9fe10b..d4ddf9353 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeaderV2.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeaderV2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionMenuItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionMenuItem.cc index c0f272e45..943b8a345 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionMenuItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionMenuItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionProgressBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionProgressBar.cc index 4549a1b1e..63cc35afd 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionProgressBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionProgressBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionRubberBand.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionRubberBand.cc index ff4b1ea15..d972043d4 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionRubberBand.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionRubberBand.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc index 17c7b4c3c..139500f4d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSlider.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSlider.cc index 22b5fe670..7c991f6f6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSlider.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSlider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSpinBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSpinBox.cc index e79440107..6f220c1c2 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSpinBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSpinBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTab.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTab.cc index 31f6032a7..24e640b1e 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTab.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTab.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc index 2b52aae09..37fb0c58d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc index 081d7d967..3508d0b49 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTitleBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTitleBar.cc index 2a1371fef..0774f9e1f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTitleBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTitleBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBar.cc index a0f654168..68ebf5961 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBox.cc index 75633c861..e732535f7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolButton.cc index 1c38448c4..2350b66a1 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionViewItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionViewItem.cc index f6f73a44b..4b0261561 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionViewItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionViewItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePainter.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePainter.cc index decbf6dee..3ab9803d5 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePainter.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePainter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePlugin.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePlugin.cc index a720f58a8..4ce53e1d7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePlugin.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStylePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyledItemDelegate.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyledItemDelegate.cc index 4196cd77c..b2cc8463f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQStyledItemDelegate.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQStyledItemDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSwipeGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSwipeGesture.cc index 35e0dd281..623d447b3 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSwipeGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSwipeGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQSystemTrayIcon.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQSystemTrayIcon.cc index 40716a033..e11e1df5a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQSystemTrayIcon.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQSystemTrayIcon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTabBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTabBar.cc index 209cd843c..31f5f0513 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTabBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTabBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTabWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTabWidget.cc index ae8cec6ae..9896ff1a8 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTabWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTabWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableView.cc index 916523933..ae4f71c7f 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidget.cc index 43fdf8b12..4d1448912 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetItem.cc index 44ce41da6..9937bbe4a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc index 012d0d879..bcf042146 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTapAndHoldGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTapAndHoldGesture.cc index 7bfe0e1e1..f372ade7b 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTapAndHoldGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTapAndHoldGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTapGesture.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTapGesture.cc index 9cf2820e3..c68be9b93 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTapGesture.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTapGesture.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextBrowser.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextBrowser.cc index 25b7b2ea4..a8199df82 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextBrowser.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit.cc index f654624b3..3fe8366a1 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc index 25e764d77..8b7147be9 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTimeEdit.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTimeEdit.cc index f4fc2fd4a..af209f489 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTimeEdit.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTimeEdit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBar.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBar.cc index 7363ed994..d92a30ae6 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBar.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBar.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBox.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBox.cc index a9ba3d5ab..8e4d9ba7a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBox.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolButton.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolButton.cc index 072eb1eba..aea7480b3 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolButton.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolButton.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolTip.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolTip.cc index 7500ee9ed..20a00d8e0 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQToolTip.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQToolTip.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeView.cc index c811c41a6..b1ee90a90 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidget.cc index b8571c91a..deb425381 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItem.cc index 2af725968..a4665bd0e 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc index 0deae6c7a..e063922b5 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQUndoView.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQUndoView.cc index 7c81e6fd6..30c3f503c 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQUndoView.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQUndoView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQVBoxLayout.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQVBoxLayout.cc index 0ac85f02b..cd2023d27 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQVBoxLayout.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQVBoxLayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWhatsThis.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWhatsThis.cc index bfe452828..bff318b29 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWhatsThis.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWhatsThis.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidget.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidget.cc index 506bac75d..04ed480c7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidget.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetAction.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetAction.cc index b70d537e6..7d64da68d 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetAction.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetAction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetItem.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetItem.cc index 7a865001f..ef1f1424a 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetItem.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetItem.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWizard.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWizard.cc index fe2eb306f..3aadddac3 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWizard.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWizard.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQWizardPage.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQWizardPage.cc index 0591668ee..9907e1fd7 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQWizardPage.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQWizardPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiDeclQtWidgetsAdd.cc b/src/gsiqt/qt6/QtWidgets/gsiDeclQtWidgetsAdd.cc index 945b8ab20..6c03fdebc 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiDeclQtWidgetsAdd.cc +++ b/src/gsiqt/qt6/QtWidgets/gsiDeclQtWidgetsAdd.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtWidgets/gsiQtExternals.h b/src/gsiqt/qt6/QtWidgets/gsiQtExternals.h index 892702ca0..ecc537f41 100644 --- a/src/gsiqt/qt6/QtWidgets/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtWidgets/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomAttr.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomAttr.cc index e1b17b1bc..9fba606ad 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomAttr.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomAttr.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomCDATASection.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomCDATASection.cc index f33e326a9..fba4c70e6 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomCDATASection.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomCDATASection.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomCharacterData.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomCharacterData.cc index 4b54a5b93..38858cae3 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomCharacterData.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomCharacterData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomComment.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomComment.cc index 49cde5317..d0bcffcf7 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomComment.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomComment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocument.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocument.cc index 5c801eec6..53c357e3d 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocument.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocument.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentFragment.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentFragment.cc index 4ab94bb39..4d620ccbf 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentFragment.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentFragment.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentType.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentType.cc index 8ada43f63..8c3dcda8b 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentType.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentType.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomElement.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomElement.cc index 02c756412..6ef9b74fa 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomElement.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomElement.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomEntity.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomEntity.cc index 52c6265fa..856f4c55f 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomEntity.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomEntity.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomEntityReference.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomEntityReference.cc index cef7ffc22..c50a379e2 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomEntityReference.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomEntityReference.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomImplementation.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomImplementation.cc index 1ea476b73..6d27a77dc 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomImplementation.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomImplementation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomNamedNodeMap.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomNamedNodeMap.cc index ce271725e..c1fd41e51 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomNamedNodeMap.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomNamedNodeMap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomNode.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomNode.cc index 4f2b85340..f91ab6833 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomNode.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomNode.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomNodeList.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomNodeList.cc index b7be24acf..137f6fc0b 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomNodeList.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomNodeList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomNotation.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomNotation.cc index a8d72894e..4156846ef 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomNotation.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomNotation.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomProcessingInstruction.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomProcessingInstruction.cc index c5058affe..5536272dc 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomProcessingInstruction.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomProcessingInstruction.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiDeclQDomText.cc b/src/gsiqt/qt6/QtXml/gsiDeclQDomText.cc index 2e69d9845..d22f07993 100644 --- a/src/gsiqt/qt6/QtXml/gsiDeclQDomText.cc +++ b/src/gsiqt/qt6/QtXml/gsiDeclQDomText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qt6/QtXml/gsiQtExternals.h b/src/gsiqt/qt6/QtXml/gsiQtExternals.h index 141885d04..b6531bd79 100644 --- a/src/gsiqt/qt6/QtXml/gsiQtExternals.h +++ b/src/gsiqt/qt6/QtXml/gsiQtExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiDeclQtAllTypeTraits.h b/src/gsiqt/qtbasic/gsiDeclQtAllTypeTraits.h index 10c74150b..ae6d948f4 100644 --- a/src/gsiqt/qtbasic/gsiDeclQtAllTypeTraits.h +++ b/src/gsiqt/qtbasic/gsiDeclQtAllTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQt.cc b/src/gsiqt/qtbasic/gsiQt.cc index 631cb5150..2f0f2a5f5 100644 --- a/src/gsiqt/qtbasic/gsiQt.cc +++ b/src/gsiqt/qtbasic/gsiQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQt.h b/src/gsiqt/qtbasic/gsiQt.h index f3049e08a..ca9d9c785 100644 --- a/src/gsiqt/qtbasic/gsiQt.h +++ b/src/gsiqt/qtbasic/gsiQt.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtBasicCommon.h b/src/gsiqt/qtbasic/gsiQtBasicCommon.h index e2a3c9ef2..2d0d78170 100644 --- a/src/gsiqt/qtbasic/gsiQtBasicCommon.h +++ b/src/gsiqt/qtbasic/gsiQtBasicCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtCore5CompatExternals.h b/src/gsiqt/qtbasic/gsiQtCore5CompatExternals.h index e6842fa37..148fba458 100644 --- a/src/gsiqt/qtbasic/gsiQtCore5CompatExternals.h +++ b/src/gsiqt/qtbasic/gsiQtCore5CompatExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtCoreExternals.h b/src/gsiqt/qtbasic/gsiQtCoreExternals.h index c0ffc429d..9fa6a4069 100644 --- a/src/gsiqt/qtbasic/gsiQtCoreExternals.h +++ b/src/gsiqt/qtbasic/gsiQtCoreExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtDesignerExternals.h b/src/gsiqt/qtbasic/gsiQtDesignerExternals.h index 10d3d0222..16466bafc 100644 --- a/src/gsiqt/qtbasic/gsiQtDesignerExternals.h +++ b/src/gsiqt/qtbasic/gsiQtDesignerExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtGuiExternals.h b/src/gsiqt/qtbasic/gsiQtGuiExternals.h index d017f1b19..968aab628 100644 --- a/src/gsiqt/qtbasic/gsiQtGuiExternals.h +++ b/src/gsiqt/qtbasic/gsiQtGuiExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtHelper.cc b/src/gsiqt/qtbasic/gsiQtHelper.cc index 1caa69d83..76ab469f7 100644 --- a/src/gsiqt/qtbasic/gsiQtHelper.cc +++ b/src/gsiqt/qtbasic/gsiQtHelper.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtHelper.h b/src/gsiqt/qtbasic/gsiQtHelper.h index 745ddb480..54112c274 100644 --- a/src/gsiqt/qtbasic/gsiQtHelper.h +++ b/src/gsiqt/qtbasic/gsiQtHelper.h @@ -1,7 +1,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtMultimediaExternals.h b/src/gsiqt/qtbasic/gsiQtMultimediaExternals.h index 8a0bd5084..2b288cbe4 100644 --- a/src/gsiqt/qtbasic/gsiQtMultimediaExternals.h +++ b/src/gsiqt/qtbasic/gsiQtMultimediaExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtNetworkExternals.h b/src/gsiqt/qtbasic/gsiQtNetworkExternals.h index ae514cd31..7db7d7648 100644 --- a/src/gsiqt/qtbasic/gsiQtNetworkExternals.h +++ b/src/gsiqt/qtbasic/gsiQtNetworkExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtPrintSupportExternals.h b/src/gsiqt/qtbasic/gsiQtPrintSupportExternals.h index 6dbaa2dc2..f98746a79 100644 --- a/src/gsiqt/qtbasic/gsiQtPrintSupportExternals.h +++ b/src/gsiqt/qtbasic/gsiQtPrintSupportExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtSqlExternals.h b/src/gsiqt/qtbasic/gsiQtSqlExternals.h index 30e3f0743..cb04ee2ec 100644 --- a/src/gsiqt/qtbasic/gsiQtSqlExternals.h +++ b/src/gsiqt/qtbasic/gsiQtSqlExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtSvgExternals.h b/src/gsiqt/qtbasic/gsiQtSvgExternals.h index 5e5966cf5..917cf3325 100644 --- a/src/gsiqt/qtbasic/gsiQtSvgExternals.h +++ b/src/gsiqt/qtbasic/gsiQtSvgExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtUiToolsExternals.h b/src/gsiqt/qtbasic/gsiQtUiToolsExternals.h index d4412fbda..0743c94c7 100644 --- a/src/gsiqt/qtbasic/gsiQtUiToolsExternals.h +++ b/src/gsiqt/qtbasic/gsiQtUiToolsExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtWidgetsExternals.h b/src/gsiqt/qtbasic/gsiQtWidgetsExternals.h index 2012aabdf..579bc8b3b 100644 --- a/src/gsiqt/qtbasic/gsiQtWidgetsExternals.h +++ b/src/gsiqt/qtbasic/gsiQtWidgetsExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtXmlExternals.h b/src/gsiqt/qtbasic/gsiQtXmlExternals.h index b95f9f70c..a2728b8c9 100644 --- a/src/gsiqt/qtbasic/gsiQtXmlExternals.h +++ b/src/gsiqt/qtbasic/gsiQtXmlExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gsiqt/qtbasic/gsiQtXmlPatternsExternals.h b/src/gsiqt/qtbasic/gsiQtXmlPatternsExternals.h index 5928c1db3..c542e8d20 100644 --- a/src/gsiqt/qtbasic/gsiQtXmlPatternsExternals.h +++ b/src/gsiqt/qtbasic/gsiQtXmlPatternsExternals.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gtfui/gtfUiDialog.cc b/src/gtfui/gtfUiDialog.cc index 2b35d2f48..504760616 100644 --- a/src/gtfui/gtfUiDialog.cc +++ b/src/gtfui/gtfUiDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -264,7 +264,7 @@ static std::string log_event_to_text (const gtf::LogEventBase *e) { std::string t = e->name (); - /* @@@ too much: + /* too much: std::vector< std::pair > attrs; e->attributes (attrs); for (std::vector< std::pair >::const_iterator a = attrs.begin (); a != attrs.end (); ++a) { diff --git a/src/gtfui/gtfUiDialog.h b/src/gtfui/gtfUiDialog.h index b406680fe..52ef83287 100644 --- a/src/gtfui/gtfUiDialog.h +++ b/src/gtfui/gtfUiDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/gtfui/gtfui.cc b/src/gtfui/gtfui.cc index aee68b491..200b324fa 100644 --- a/src/gtfui/gtfui.cc +++ b/src/gtfui/gtfui.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/gsiDeclImg.cc b/src/img/img/gsiDeclImg.cc index 5d613d7ff..27e13f72c 100644 --- a/src/img/img/gsiDeclImg.cc +++ b/src/img/img/gsiDeclImg.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -553,7 +553,7 @@ static std::vector get_mask_data (ImageRef *obj) } // NOTE: img::Object is available as "BasicImage" to allow binding for other methods. -gsi::Class decl_BasicImage ("lay", "BasicImage", gsi::Methods (), "@hide"); +gsi::Class decl_BasicImage ("lay", "BasicImage", gsi::Methods (), "@hide\n@alias Image"); gsi::Class decl_Image (decl_BasicImage, "lay", "Image", gsi::constructor ("from_s", &gsi::img_from_s, gsi::arg ("s"), diff --git a/src/img/img/imgCommon.h b/src/img/img/imgCommon.h index 2099e5149..6e8301959 100644 --- a/src/img/img/imgCommon.h +++ b/src/img/img/imgCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgForceLink.cc b/src/img/img/imgForceLink.cc index 28e8ad651..2dbd66143 100644 --- a/src/img/img/imgForceLink.cc +++ b/src/img/img/imgForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgForceLink.h b/src/img/img/imgForceLink.h index 47f0395e1..1dfc4e901 100644 --- a/src/img/img/imgForceLink.h +++ b/src/img/img/imgForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgLandmarksDialog.cc b/src/img/img/imgLandmarksDialog.cc index 27289aee1..1a8d3d152 100644 --- a/src/img/img/imgLandmarksDialog.cc +++ b/src/img/img/imgLandmarksDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgLandmarksDialog.h b/src/img/img/imgLandmarksDialog.h index 0e544dced..cad11fbfe 100644 --- a/src/img/img/imgLandmarksDialog.h +++ b/src/img/img/imgLandmarksDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgNavigator.cc b/src/img/img/imgNavigator.cc index 9282ceed4..b6640e070 100644 --- a/src/img/img/imgNavigator.cc +++ b/src/img/img/imgNavigator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgNavigator.h b/src/img/img/imgNavigator.h index bc69352af..6e5922b3f 100644 --- a/src/img/img/imgNavigator.h +++ b/src/img/img/imgNavigator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgObject.cc b/src/img/img/imgObject.cc index f7b842263..f8758b9d3 100644 --- a/src/img/img/imgObject.cc +++ b/src/img/img/imgObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgObject.h b/src/img/img/imgObject.h index 4ebfd027e..c5dcdb467 100644 --- a/src/img/img/imgObject.h +++ b/src/img/img/imgObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgPlugin.cc b/src/img/img/imgPlugin.cc index 9fb1d16f6..74d710786 100644 --- a/src/img/img/imgPlugin.cc +++ b/src/img/img/imgPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgPlugin.h b/src/img/img/imgPlugin.h index f7b6d8937..4dc9fa0bd 100644 --- a/src/img/img/imgPlugin.h +++ b/src/img/img/imgPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgPropertiesPage.cc b/src/img/img/imgPropertiesPage.cc index 751ea4eff..fef5a1fa8 100644 --- a/src/img/img/imgPropertiesPage.cc +++ b/src/img/img/imgPropertiesPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -218,7 +218,7 @@ PropertiesPage::get_xmin_xmax (double &xmin, double &xmax, bool &has_error_out) bool has_error = false; try { - tl::from_string (tl::to_string (from_le->text ()), xmin); + tl::from_string_ext (tl::to_string (from_le->text ()), xmin); lay::indicate_error (from_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (from_le, &ex); @@ -226,7 +226,7 @@ PropertiesPage::get_xmin_xmax (double &xmin, double &xmax, bool &has_error_out) } try { - tl::from_string (tl::to_string (to_le->text ()), xmax); + tl::from_string_ext (tl::to_string (to_le->text ()), xmax); lay::indicate_error (to_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (to_le, &ex); @@ -335,7 +335,7 @@ PropertiesPage::value_changed () double x = 0.0; try { - tl::from_string (tl::to_string (value_le->text ()), x); + tl::from_string_ext (tl::to_string (value_le->text ()), x); lay::indicate_error (value_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (value_le, &ex); @@ -485,8 +485,8 @@ PropertiesPage::recompute_histogram () try { double xmin, xmax; - tl::from_string (tl::to_string (from_le->text ()), xmin); - tl::from_string (tl::to_string (to_le->text ()), xmax); + tl::from_string_ext (tl::to_string (from_le->text ()), xmin); + tl::from_string_ext (tl::to_string (to_le->text ()), xmax); if (xmin >= xmax) { throw tl::Exception (""); } @@ -801,7 +801,7 @@ PropertiesPage::apply () a = matrix.angle (), sa = matrix.shear_angle (), tx = matrix.perspective_tilt_x (z), ty = matrix.perspective_tilt_y (z); try { - tl::from_string (tl::to_string (width_le->text ()), w); + tl::from_string_ext (tl::to_string (width_le->text ()), w); if (w <= 0.0 || h <= 0.0) { throw tl::Exception (tl::to_string (QObject::tr ("Pixel width or height must be positive, non-null values"))); } @@ -812,7 +812,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (height_le->text ()), h); + tl::from_string_ext (tl::to_string (height_le->text ()), h); lay::indicate_error (height_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (height_le, &ex); @@ -820,7 +820,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (x_offset_le->text ()), x); + tl::from_string_ext (tl::to_string (x_offset_le->text ()), x); lay::indicate_error (x_offset_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (x_offset_le, &ex); @@ -828,7 +828,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (y_offset_le->text ()), y); + tl::from_string_ext (tl::to_string (y_offset_le->text ()), y); lay::indicate_error (y_offset_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (y_offset_le, &ex); @@ -836,7 +836,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (angle_le->text ()), a); + tl::from_string_ext (tl::to_string (angle_le->text ()), a); lay::indicate_error (angle_le, (tl::Exception *) 0); } catch (tl::Exception &ex) { lay::indicate_error (angle_le, &ex); @@ -844,7 +844,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (shear_le->text ()), sa); + tl::from_string_ext (tl::to_string (shear_le->text ()), sa); if (sa <= -45 || sa >= 45) { throw tl::Exception (tl::to_string (QObject::tr ("The shear angle must be larger than -45 and less than 45 degree"))); } @@ -855,7 +855,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (persp_tx_le->text ()), tx); + tl::from_string_ext (tl::to_string (persp_tx_le->text ()), tx); if (tx <= -90 || tx >= 90) { throw tl::Exception (tl::to_string (QObject::tr ("The perspective tilt angles must be larger than -90 and less than 90 degree"))); } @@ -866,7 +866,7 @@ PropertiesPage::apply () } try { - tl::from_string (tl::to_string (persp_ty_le->text ()), ty); + tl::from_string_ext (tl::to_string (persp_ty_le->text ()), ty); if (ty <= -90 || ty >= 90) { throw tl::Exception (tl::to_string (QObject::tr ("The perspective tilt angles must be larger than -90 and less than 90 degree"))); } diff --git a/src/img/img/imgPropertiesPage.h b/src/img/img/imgPropertiesPage.h index 421a2afa1..c3b139b85 100644 --- a/src/img/img/imgPropertiesPage.h +++ b/src/img/img/imgPropertiesPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgService.cc b/src/img/img/imgService.cc index f8fe7ae5e..627c03967 100644 --- a/src/img/img/imgService.cc +++ b/src/img/img/imgService.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgService.h b/src/img/img/imgService.h index d3739fcfe..65e7bfa70 100644 --- a/src/img/img/imgService.h +++ b/src/img/img/imgService.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgStream.cc b/src/img/img/imgStream.cc index c3ee7cd31..72dcb9c21 100644 --- a/src/img/img/imgStream.cc +++ b/src/img/img/imgStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgStream.h b/src/img/img/imgStream.h index fde22248e..37b3af3fa 100644 --- a/src/img/img/imgStream.h +++ b/src/img/img/imgStream.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgWidgets.cc b/src/img/img/imgWidgets.cc index 1d8f72c25..587e77322 100644 --- a/src/img/img/imgWidgets.cc +++ b/src/img/img/imgWidgets.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/img/imgWidgets.h b/src/img/img/imgWidgets.h index 76cdb506b..d0ce8ed63 100644 --- a/src/img/img/imgWidgets.h +++ b/src/img/img/imgWidgets.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/unit_tests/imgFile.cc b/src/img/unit_tests/imgFile.cc index 8616fc456..49719aa02 100644 --- a/src/img/unit_tests/imgFile.cc +++ b/src/img/unit_tests/imgFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/img/unit_tests/imgObject.cc b/src/img/unit_tests/imgObject.cc index de893888f..7eaa24198 100644 --- a/src/img/unit_tests/imgObject.cc +++ b/src/img/unit_tests/imgObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/klayout.pri b/src/klayout.pri index 6c8023b46..1c11043ad 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -191,10 +191,6 @@ equals(HAVE_QT, "0") { QT += widgets gui printsupport - lessThan(QT_MAJOR_VERSION, 6) { - QT += xmlpatterns - } - equals(HAVE_QTBINDINGS, "1") { !equals(HAVE_QT_DESIGNER, "0") { # designer isn't needed by the base application @@ -212,6 +208,12 @@ equals(HAVE_QT, "0") { # uitools isn't needed by the base application QT += uitools } + !equals(HAVE_QT_XML, "0") { + lessThan(QT_MAJOR_VERSION, 6) { + QT += xmlpatterns + } + } + } } else { diff --git a/src/klayout_main/klayout_main/klayout.cc b/src/klayout_main/klayout_main/klayout.cc index bfb5fe949..1e23482ce 100644 --- a/src/klayout_main/klayout_main/klayout.cc +++ b/src/klayout_main/klayout_main/klayout.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/klayout_main/tests/klayout_main_tests.cc b/src/klayout_main/tests/klayout_main_tests.cc index 142665de3..294360791 100644 --- a/src/klayout_main/tests/klayout_main_tests.cc +++ b/src/klayout_main/tests/klayout_main_tests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/MacroPropertiesDialog.ui b/src/lay/lay/MacroPropertiesDialog.ui index d7a2c29e8..1a281dac4 100644 --- a/src/lay/lay/MacroPropertiesDialog.ui +++ b/src/lay/lay/MacroPropertiesDialog.ui @@ -100,7 +100,6 @@ - 75 true @@ -224,25 +223,56 @@ 6 + + + Priority + + + + Prolog - - - - - - - + Epilog + + + + + 0 + 0 + + + + + + + + for autorun: 0 = first, 1 = second ... + + + + + + + + 1 + 0 + + + + + + + diff --git a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui index 104ed0ae7..87c932dd4 100644 --- a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui +++ b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui @@ -308,6 +308,13 @@ + + + + Abort + + + diff --git a/src/lay/lay/doc/about/25d_screenshot.png b/src/lay/lay/doc/about/25d_screenshot.png index 1796a0573..32c96174e 100644 Binary files a/src/lay/lay/doc/about/25d_screenshot.png and b/src/lay/lay/doc/about/25d_screenshot.png differ diff --git a/src/lay/lay/doc/about/25d_screenshot2.png b/src/lay/lay/doc/about/25d_screenshot2.png new file mode 100644 index 000000000..5c988166f Binary files /dev/null and b/src/lay/lay/doc/about/25d_screenshot2.png differ diff --git a/src/lay/lay/doc/about/25d_view.xml b/src/lay/lay/doc/about/25d_view.xml index a23667f30..22438889e 100644 --- a/src/lay/lay/doc/about/25d_view.xml +++ b/src/lay/lay/doc/about/25d_view.xml @@ -18,97 +18,187 @@

- To open the view, use "Tools/2.5d View". Currently, the performance is limited, a rough number for a + Currently, the performance is limited, a rough number for a practical limit is around 100k polygons. The 2.5d view is only available, if KLayout was compiled with OpenGL support.

+

+ In order to use the tool, you will need a script generating the material stack. + Such a script is a variant of a DRC script (see ). + The DRC language is used to import or generate polygon layers which are then + extruded and placed on a certain z level. +

+ +

+ To create a new script, use "Tools/2.5d View/New 2.5d Script". This will create a new script in the + macro editor. +

+ +

+ A simple script is this one. It takes two layers - 1/0 and 2/0 - and extrudes then in a + stacked fashion, the first with 200nm thickness and the second one with 300nm: +

+ +
+z(input(1, 0), zstart: 0.1.um, height: 200.nm)  # extrudes layer 1/0 to a height of 200nm starting at z=100nm
+z(input(2, 0), height: 300.nm)                  # adds layer 2/0 for the next 300nm
+
+ +

+ To run the script, use the "Run" button from the macro IDE or pick the script + from the script list in the "Tools/2.5d View" menu. If your script is not shown in that + menu, check if it is configured to be bound to a menu item. +

+ +

+ After the script was executed, the 2.5d window is displayed. If you closed that window, you can + re-open it with "Tools/2.5d View/Open Window". The window will show the layout section visible + in the layout view. To refresh the scene - also after changing the script - either run the script + again from the macro IDE or use the green "re-run" button in the upper left corner of the 2.5d view + window. +

+

-

Setup

+

2.5d Script Anatomy

- The 2.5d view needs a technology setup explaining the way the layers are transformed into planes. - The setup is provided within a technology. Open the technology manager (File/Manage Technologies) and - navigate to the "Z Stack (2.5d)" component. The setup is basically a list of entries listing the - layer from which to take the shapes and the depth information. -

- -

- Each entry is a single line. Empty lines are ignored. Everything after a '#' character is - considered a comment. -

- -

- Each specification line consists of a layer specification, a colon and arguments. - The arguments are named (like "x=...") or in serial. Parameters are separated by comma or blanks. - Named arguments are: + As mentioned, a 2.5d script is a variant of a DRC script. You can basically use all features + of DRC, specifically boolean operations. Some practical restrictions exist:

    -
  • zstart: The lower z position of the extruded layer in µm
  • -
  • zstop: The upper z position of the extruded layer in µm
  • -
  • height: The height of the extruded layer in µm
  • +
  • You should not use external sources ("source" statement) as the 2.5d view is related to the loaded layout
  • +
  • Report generation or "output" statements are permitted, but do not make much sense in the context + of 2.5d view scripts.

- 'height', 'zstart' and 'zstop' can be used in any combination. If no value is given for 'zstart', - the upper level of the previous layer will be used. + 2.5d scripts utilizes the DRC language with these two additional functions: +

+ +
    +
  • z(layer [, options])

    +

    Extrudes the given layer. "layer" is a DRC layer (polygon, edge or even edge pair). "options" declare the z extrusion and display parameters.

    +
  • +
  • zz( [options] ) { block }

    +

    Declares a material group which combines multiple "z" statements under a single display group. + This allows generating 3d material geometries which are more than a single extruded plane. + The display parameters then are specified within "zz" for all "z" calls inside the block.

    +
  • +
+ +

"z" Function (plane extrusion)

+ + +

+ The layer argument of the function is a DRC layer which is rendered as an extruded sheet. + Further arguments control the height, z location and colors. + When used inside the "zz" block, the color options of the "z" calls are ignored and + taken from "zz" instead.

- If a single unnamed parameter is given, it corresponds to 'height'. Two parameters correspond to - 'zstart' and 'zstop'. + Options for this function are:

+
    +
  • zstart: specifies the bottom coordinate of the extruded sheet. If this option is not given, the top coordinate of the previous "z" statement is used.
  • +
  • zstop: specifies the top coordinate of the extruded sheet. Alternatively you can use "height".
  • +
  • height: specifies the extrusion height. Alternatively you can use "zstop".
  • +
  • color: specifies the color to use as a 24 bit hex RGB triplet (use "0xrrggbb" to specify the color similar to the HTML notation "#rrggbb"). + A color specification gives a single color with not differentiation of frame and wall colors.
  • +
  • frame: specifies the frame color to use as a 24 bit hex RGB triplet. If only a frame color is specified, the geometry will be rendered as wire frame only.
  • +
  • fill: specifies the fill (wall) color to use as a 24 bit hex RGB triplet. This allows specifying a different color for wall and frame when used with "frame".
  • +
  • like: specifies to use the same colors than used for some layer in the layout view. + If the layer is an original layer (i.e. taken from "input"), "like" defaults to the + original layer's source. If given, "like" needs to be a string representation of the + layer source (e.g. "7/0" for layer 7, datatype 0).
  • +
  • name: gives the material a name for displaying in the material list.
  • +
+

- Here are some examples: + Examples for the extrusion options:

-
1: 0.5 1.5                    # extrude layer 1/0 from 0.5 to 1.5 vertically\n"
-1/0: 0.5 1.5                  # same with explicit datatype\n"
-1: zstop=1.5, zstart=0.5      # same with named parameters\n"
-1: height=1.0, zstop=1.5      # same with z stop minus height\n"
-1: 1.0 zstop=1.5              # same with height as unnamed parameter\n"
-  
- -

Variables

- -

- You can declare variables inside the setup files and use them in formulas for - computed values. Variables are defined and set with the "var" keyword on a single line. - The notation follows the "expression" syntax used in many other places inside KLayout - (). -

- -

- Here is an example: -

- -
var hmetal = 0.48\n"
-7/0: 0.5 0.5+hmetal*2        # 2x thick metal\n"
+  
+z(layer, 0.1 .. 0.2)                extrude layer to z = 0.1 to 0.2 um
+z(layer, zstart: 0.1, zstop: 0.2)   same as above
+z(layer, zstart: 0.1, height: 0.1)  same as above, but with height instead of zstop
+z(layer, height: 200.nm)            extrude layer from last z position with a height of 200nm
 
-

Conditionals

-

- For more flexibility, but of little practical use for now, conditionals are provided. - "if", "else", "elsif" and "end" for as in other languages, e.g. Ruby: + Examples for display options:

-
var thick_m1 = true
-if thickm1
-  1: 0.5 1.5
-else
-  1: 0.5 1.2
+  
+z(..., color: 0xff0000)             use bright red for the material color (RGB)
+z(..., frame: 0xff0000)             use bright red for the frame color (combine with "fill" for the fill color)
+z(..., fill: 0x00ff00)              use bright green for the fill color along (combine with "frame" for the frame color)
+z(..., like: "7/0")                 borrow style from layout view's style for layer "7/0"
+z(..., name: "M1")                  assigns a name to show for the material 
+
+ +

"zz" Function (material groups)

+ + +

+ The "zz" function forms a display group which clusters multiple "z" calls. The basic usage is with a block + containing the "z" calls. As DRC scripts are Ruby, the notation for the block is either "do .. end" or + curly brackets immediately after the "zz" call: +

+ +
+zz( display options ... ) do
+  z(layer1, extrusion options ... )
+  z(layer2, extrusion options ... )
+  ...
 end
 
+

+ The "z" calls do not need to have colors or other display options as they are + taken from "zz". +

+ +

+ Material groups allow forming more complex, stacked geometries. Here is an example + forming a simple FinFET geometry using boolean and a sizing operation: +

+ +
+poly = input(2, 0)
+active = input(1, 0)
+
+z(poly, zstart: 0, height: 20.nm, name: "POLY")
+
+zz(name: "ACTIVE", like: "1/0") do
+  
+  poly_sized = poly.sized(10.nm)
+  active_over_poly_sized = poly_sized & active
+  
+  z(active - poly, zstart: 0, height: 10.nm)       # bottom sheet
+  z(active_over_poly_sized - poly, height: 10.nm)  # center sheet
+  z(active_over_poly_sized, height: 10.nm)         # top sheet
+
+end
+
+ +

+ Which renders this result: +

+ +

+ +

+

Navigating the 2.5d View

- navigation - 2.5d navigation + +

The navigation is based on the movement of the camera while the scene is @@ -159,7 +249,7 @@ end made invisible in the 2.5d view.

-

Other controls

+

Other Controls

The left zoom slider changes the overall scale factor. The right slider only changes the z (height) axis zoom factor. @@ -176,5 +266,13 @@ end front view, top view etc.

+

Material Visibility

+ +

+ Using the check boxes from the material view right of the scene view you can disable + materials, so they are no longer rendered. From the material list's context menu, + you can hide or show all materials or just the selected ones. +

+ diff --git a/src/lay/lay/doc/about/custom_queries.xml b/src/lay/lay/doc/about/custom_queries.xml index 02c70381b..605c16457 100644 --- a/src/lay/lay/doc/about/custom_queries.xml +++ b/src/lay/lay/doc/about/custom_queries.xml @@ -388,7 +388,7 @@ shapes on layer METAL, POLY from cell TOP Any kind of cell query can be used inside the shape query. If a cell query renders multiple cells, the shape query will be applied to each of the cells returned. If instances are selected by the cell query, the shapes will be reported for each instance. Since the cumulated transformation - of a specific instance into the top cell is available through the "path_trans" variable, + of a specific instance into the top cell is available through the "path_trans" (database units) or "path_dtrans" (micrometer units) variable, it is possible to transform each shape into the top cell in the instance case. The following expression combines a "with .. do" action with a shape query to flatten all shapes below "TOP":

@@ -600,13 +600,23 @@ delete shapes on layer 6 of cell TOP bbox - + The cell's bounding box. + + dbbox + + The cell's bounding box in micrometer units. + cell_bbox - - Same as "bbox" (disambiguator for shape and instance bounding boxes). + + Same as "bbox" (disambiguator from shape and instance bounding boxes). + + + cell_dbbox + + Same as "dbbox" (disambiguator from shape and instance bounding boxes). @@ -631,16 +641,32 @@ delete shapes on layer 6 of cell TOP The transformation of that instance into the top cell. For a plain cell that is a unit transformation. + + path_dtrans + + The transformation of that instance into the top cell in micrometer units. + For a plain cell that is a unit transformation. + trans The transformation of that instance (first instance if an array). + + dtrans + + The transformation of that instance (first instance if an array) in micrometer units. + inst_bbox The instance bounding box in the initial cell. + + inst_dbbox + + The instance bounding box in the initial cell in micrometer units. + inst @@ -648,9 +674,14 @@ delete shapes on layer 6 of cell TOP array_a - + The a vector for an array instance or nil if the instance is not an array. + + array_da + + The a vector for an array instance in micrometer units or nil if the instance is not an array. + array_na Integer @@ -658,9 +689,14 @@ delete shapes on layer 6 of cell TOP array_b - + The b vector for an array instance or nil if the instance is not an array. + + array_db + + The b vector for an array instance in micrometer units or nil if the instance is not an array. + array_nb Integer @@ -689,14 +725,24 @@ delete shapes on layer 6 of cell TOP NameValue typeDescription bbox - + The shape's bounding box + + dbbox + + The shape's bounding box in micrometer units + shape_bbox Same as "bbox" (disambiguator for cell or instance bounding boxes) + + shape_dbbox + + Same as "dbbox" (disambiguator for cell or instance bounding boxes) + shape diff --git a/src/lay/lay/doc/about/drc_ref_drc.xml b/src/lay/lay/doc/about/drc_ref_drc.xml index 9b7471ea4..2e6814365 100644 --- a/src/lay/lay/doc/about/drc_ref_drc.xml +++ b/src/lay/lay/doc/about/drc_ref_drc.xml @@ -234,7 +234,7 @@ out = in.drc(area_ratio > 3) out = in.drc(primary.area_ratio > 3) # equivalent

-The "area_ratio" method is available as a plain function or as a method on DRC# expressions. +The "area_ratio" method is available as a plain function or as a method on DRC expressions. The plain function is equivalent to "primary.area_ratio".

"area_sum" - Selects the input polygons if the sum of all areas meets the condition

@@ -275,7 +275,7 @@ out = in.drc(bbox_aspect_ratio > 3) out = in.drc(primary.bbox_aspect_ratio > 3) # equivalent

-The "bbox_aspect_ratio" method is available as a plain function or as a method on DRC# expressions. +The "bbox_aspect_ratio" method is available as a plain function or as a method on DRC expressions. The plain function is equivalent to "primary.bbox_aspect_ratio".

"bbox_height" - Selects the input polygon if its bounding box height is meeting the condition

@@ -328,7 +328,7 @@ out = in.drc(bbox_min > 200.nm) out = in.drc(primary.bbox_min > 200.nm) # equivalent

-The "bbox_min" method is available as a plain function or as a method on DRC# expressions. +The "bbox_min" method is available as a plain function or as a method on DRC expressions. The plain function is equivalent to "primary.bbox_min".

"bbox_width" - Selects the input polygon if its bounding box width is meeting the condition

@@ -839,7 +839,7 @@ out = in.drc(relative_height > 3) out = in.drc(primary.relative_height > 3) # equivalent

-The "relative_height" method is available as a plain function or as a method on DRC# expressions. +The "relative_height" method is available as a plain function or as a method on DRC expressions. The plain function is equivalent to "primary.bbox_aspect_ratio".

"rounded_corners" - Applies corner rounding

diff --git a/src/lay/lay/doc/about/drc_ref_global.xml b/src/lay/lay/doc/about/drc_ref_global.xml index 34d3d7f07..31c87f7cf 100644 --- a/src/lay/lay/doc/about/drc_ref_global.xml +++ b/src/lay/lay/doc/about/drc_ref_global.xml @@ -974,7 +974,7 @@ See
enclosing for more details about the various ways t

-

"l2n_data" - Gets the internal LayoutToNetlist object for the default Netter

+

"l2n_data" - Gets the internal LayoutToNetlist object for the default Netter

Usage:

Note: "enclosed" is available as operators for the "universal DRC" function drc within -the DRC framework. These variants have more options and are more intuitive to use. +the DRC framework. These variants have more options and are more intuitive to use. See enclosed for more details.

This method checks whether layer is enclosed by (is inside of) other_layer by not less than the @@ -824,7 +824,7 @@ The following images show the effect of two enclosed checks (red: input1, blue:

Note: "enclosing" and "enc" are available as operators for the "universal DRC" function drc within -the DRC framework. These variants have more options and are more intuitive to use. +the DRC framework. These variants have more options and are more intuitive to use. See enclosing for more details.

This method checks whether layer encloses (is bigger than) other_layer by not less than the @@ -1330,7 +1330,7 @@ The following image shows the effect of the "in" method (input1: red, input2: bl

Objects that can be inserted are Edge objects (into edge layers) or DPolygon, DSimplePolygon, Path, DBox (into polygon layers). -Convenience methods exist to create such objects (edge, polygon, box and #global#path). +Convenience methods exist to create such objects (edge, polygon, box and path). However, RBA constructors can used as well.

The insert method is useful in combination with the polygon_layer or edge_layer functions: @@ -1516,7 +1516,7 @@ See isolated for a description of that method

Note: "isolated" and "iso" are available as operators for the "universal DRC" function Layer#drc within -the DRC framework. These variants have more options and are more intuitive to use. See isolated for more details. +the DRC framework. These variants have more options and are more intuitive to use. See isolated for more details.

See space for a description of this method. "isolated" is the space check variant which checks different polygons only. In contrast to space, the "isolated" @@ -1922,7 +1922,7 @@ is select_not_overlapping.

Note: "notch" is available as an operator for the "universal DRC" function Layer#drc within -the DRC framework. This variant has more options and is more intuitive to use. See notch for more details. +the DRC framework. This variant has more options and is more intuitive to use. See notch for more details.

See space for a description of this method. "notch" is the space check variant which finds space violations within a single polygon, but not against other polygons. @@ -2061,7 +2061,7 @@ This method is available for edge layers. The argument must be a polygon layer.

Note: "overlap" is available as an operator for the "universal DRC" function drc within -the DRC framework. This variant has more options and is more intuitive to use. +the DRC framework. This variant has more options and is more intuitive to use. See overlap for more details.

This method checks whether layer and other_layer overlap by at least the @@ -2591,7 +2591,7 @@ See separation for a description of that method

Note: "separation" and "sep" are available as operators for the "universal DRC" function drc within -the DRC framework. These variants have more options and are more intuitive to use. +the DRC framework. These variants have more options and are more intuitive to use. See separation for more details.

This method performs a two-layer spacing check. Like space, this method @@ -2810,7 +2810,7 @@ not modify the layer but returns a snapped copy.

Note: "space" is available as an operator for the "universal DRC" function Layer#drc within -the DRC framework. This variant has more options and is more intuitive to use. See space for more details. +the DRC framework. This variant has more options and is more intuitive to use. See space for more details.

This method performs a space check and returns a collection of edge pairs. A space check can be performed on polygon and edge layers. On edge layers, all @@ -3092,7 +3092,7 @@ The following image shows the effect of the "moved" method:

Note: "width" is available as an operator for the "universal DRC" function Layer#drc within -the DRC framework. This variant has more options and is more intuitive to use. See width for more details. +the DRC framework. This variant has more options and is more intuitive to use. See width for more details.

This method performs a width check and returns a collection of edge pairs. A width check can be performed on polygon and edge layers. On edge layers, all diff --git a/src/lay/lay/doc/about/drc_ref_netter.xml b/src/lay/lay/doc/about/drc_ref_netter.xml index 999473569..5d9c091da 100644 --- a/src/lay/lay/doc/about/drc_ref_netter.xml +++ b/src/lay/lay/doc/about/drc_ref_netter.xml @@ -388,7 +388,7 @@ extract_devices(mos4("NMOS4"), { :SD => nsd, :G => gate, :P => poly, :W

The return value of this method will be the device class of the devices -generated in the extraction step (see DeviceClass). +generated in the extraction step (see DeviceClass).

"l2n_data" - Gets the internal LayoutToNetlist object

diff --git a/src/lay/lay/doc/about/lef_def_import.xml b/src/lay/lay/doc/about/lef_def_import.xml index c25744ddd..5e63ddf24 100644 --- a/src/lay/lay/doc/about/lef_def_import.xml +++ b/src/lay/lay/doc/about/lef_def_import.xml @@ -63,7 +63,7 @@

LEF and DEF import can be configured in many ways. The configuration of the LEF/DEF import feature is attached to a technology, so there can be individual configurations per technology. - For a description of the technology feature, see . + For a description of the technology feature, see . The import feature uses the current technology. The current technology can be selected from the main toolbar's technology selector if specific technology settings exist. Otherwise, the default technology will be used. @@ -138,14 +138,14 @@

  • Produce net names: Check this option to assign user properties with the net name to the net shapes in DEF files. The user property name used for that purpose can be specified in the edit box below the check box. Use KLayout's - variant notation (see ) to specify + variant notation (see ) to specify value and type of the property name.
  • Produce inst names: Check this option to assign user properties with the instance name to the component instances created by DEF import. The user property name used for the instance name can be specified in the edit box below the check box. Use KLayout's - variant notation (see ) to specify + variant notation (see ) to specify value and type of the property name.
  • Produce cell outlines: If this option is checked, outline shapes are diff --git a/src/lay/lay/doc/about/lvs_ref_global.xml b/src/lay/lay/doc/about/lvs_ref_global.xml index 00e53ebbf..2b7666ddb 100644 --- a/src/lay/lay/doc/about/lvs_ref_global.xml +++ b/src/lay/lay/doc/about/lvs_ref_global.xml @@ -100,6 +100,15 @@ See Netter#ignore_parameter

    See Netter#join_symmetric_nets for a description of that function.

    +

    "lvs_data" - Gets the LayoutVsSchematic object after compare was used

    + +

    Usage:

    +
      +
    • lvs_data
    • +
    +

    +See Netter#lvs_data for a description of that function. +

    "max_branch_complexity" - Configures the maximum branch complexity for ambiguous net matching

    Usage:

    @@ -217,6 +226,16 @@ See
    Netter#same_nets! for a de

    See Netter#schematic for a description of that function.

    +

    "split_gates" - Implements the "split gates" feature for the given device and circuits

    + +

    Usage:

    +
      +
    • split_gates(device_name)
    • +
    • split_gates(device_name, circuit_filter)
    • +
    +

    +See Netter#split_gates for a description of that function. +

    "tolerance" - Specifies compare tolerances for certain device parameters

    Usage:

    diff --git a/src/lay/lay/doc/about/lvs_ref_netter.xml b/src/lay/lay/doc/about/lvs_ref_netter.xml index 1d8b68c17..f1164360b 100644 --- a/src/lay/lay/doc/about/lvs_ref_netter.xml +++ b/src/lay/lay/doc/about/lvs_ref_netter.xml @@ -427,6 +427,28 @@ If no reader is provided, Spice format will be assumed. The reader object is a Alternatively, a Netlist object can be given which is obtained from any other source.

    +

    "split_gates" - Implements the "split gates" feature

    + +

    Usage:

    +
      +
    • split_gates(device_name)
    • +
    • split_gates(device_name, circuit_filter)
    • +
    +

    +Multi-fingered, multi-gate MOS transistors can be built without connecting +the source/drain internal nets between the fingers. This will prevent +"combine_devices" from combining the single gate transistors of the +different fingers into single ones. +

    +"split_gates" now marks the devices of the given class so that they will +receive a special treatment which joins the internl source/drain nodes. +

    +By default, this method is applied to all circuits. You can specify +a circuit pattern to apply it to certain circuits only. +

    +"device_name" must be a valid device name and denote a MOS3, MOS4, DMOS3 +or DMOS4 device. +

    "tolerance" - Specifies compare tolerances for certain device parameters

    Usage:

    diff --git a/src/lay/lay/doc/about/macro_editor.xml b/src/lay/lay/doc/about/macro_editor.xml index b7235ba16..7adcc776a 100644 --- a/src/lay/lay/doc/about/macro_editor.xml +++ b/src/lay/lay/doc/about/macro_editor.xml @@ -100,7 +100,7 @@
  • Technology folders: each technology folder can carry a "macros" or "pymacros" subfolder where technology-specific - macros are kept. See for details about technologies. + macros are kept. See for details about technologies.
  • Macros can be kept in packages and installed from a remote repository. See for diff --git a/src/lay/lay/doc/about/macro_in_menu.xml b/src/lay/lay/doc/about/macro_in_menu.xml index ce78eda0b..e97ff27b8 100644 --- a/src/lay/lay/doc/about/macro_in_menu.xml +++ b/src/lay/lay/doc/about/macro_in_menu.xml @@ -22,10 +22,10 @@ sequence of symbolic names separated by a dot. For example:

    -
  • -
      edit_menu.end is the end of the "Edit" menu
    -
      edit_menu.undo is the "Undo" entry in the "Edit" menu
    -
  • +
      +
    • edit_menu.end is the end of the "Edit" menu
    • +
    • edit_menu.undo is the "Undo" entry in the "Edit" menu
    • +

    To obtain a list of the paths available, have a look at the "Key Bindings" page in the "Application" diff --git a/src/lay/lay/doc/manual/lvs_device_classes.xml b/src/lay/lay/doc/manual/lvs_device_classes.xml index b34e2d52c..6d464e508 100644 --- a/src/lay/lay/doc/manual/lvs_device_classes.xml +++ b/src/lay/lay/doc/manual/lvs_device_classes.xml @@ -164,7 +164,7 @@

    MOS transistor with bulk

    - The API class of the three-terminal MOS transistor is . + The API class of the three-terminal MOS transistor is .

    @@ -221,7 +221,7 @@

    In SPICE, BJT3 devices are represented by the "Q" element with the device class name as the model name. - The API class is . + The API class is .

    Bipolar transistor with substrate

    @@ -243,7 +243,7 @@

    In SPICE, BJT4 devices are represented by the "Q" element with four nodes and the device class name as the model name. - The API class is . + The API class is .

    diff --git a/src/lay/lay/doc/manual/lvs_intro.xml b/src/lay/lay/doc/manual/lvs_intro.xml index ebd4cd94e..513c6c729 100644 --- a/src/lay/lay/doc/manual/lvs_intro.xml +++ b/src/lay/lay/doc/manual/lvs_intro.xml @@ -425,7 +425,7 @@ M$2 2 1 4 6 NMOS L=0.25U W=0.9U AS=0.405P AD=0.405P PS=2.7U PD=2.7U

    - +

    @@ -433,7 +433,7 @@ M$2 2 1 4 6 NMOS L=0.25U W=0.9U AS=0.405P AD=0.405P PS=2.7U PD=2.7U

    - +

    diff --git a/src/lay/lay/doc/manual/lvs_tweaks.xml b/src/lay/lay/doc/manual/lvs_tweaks.xml index 6a8d505f9..f07092760 100644 --- a/src/lay/lay/doc/manual/lvs_tweaks.xml +++ b/src/lay/lay/doc/manual/lvs_tweaks.xml @@ -26,6 +26,7 @@ a model subcircuit called "NMOS", use this :

    +
    schematic.flatten_circuit("NMOS")

    Top level pin generation

    @@ -45,6 +46,7 @@ circuit a pin will be created ():

    +
    netlist.make_top_level_pins

    Device combination

    @@ -81,6 +83,7 @@ capacitors). To run device combination, use :

    +
    netlist.combine_devices

    @@ -138,6 +141,7 @@ layout cell:

    +
    align

    Black boxing (circuit abstraction)

    @@ -164,6 +168,7 @@ To wipe out the innards of a circuit, use the method:

    +
    netlist.blank_circuit("CIRCUIT_NAME")
     schematic.blank_circuit("CIRCUIT_NAME")
    @@ -195,6 +200,23 @@ schematic.blank_circuit("CIRCUIT_NAME") be omitted.

    +

    + This feature can be used to solve the "split_gates" problem (see "split_gates" + below). The internal source/drain nodes are symmetric in the configuration + shown there, so "join_symmetric_nets" can be used to solve make the + required connections, e.g.: +

    + + +
    join_symmetric_nets("NAND2")
    + +

    + However, there is a more specific feature available ("split_gates") which covers more cases, + but is specialized on MOS devices. +

    + +

    Split gates

    +

    The following picture describes such a situation known as "split gate configuration". In this case, the N1 and N2 are identical: swapping them will not change the circuit's @@ -204,32 +226,38 @@ schematic.blank_circuit("CIRCUIT_NAME")

    - +

    - KLayout provides a feature (join_symmetric_nets) + KLayout provides a feature (split_gates) which will add such connections after extraction of the netlist:

    -
    join_symmetric_nets("NAND2")
    + +
    split_gates("NMOS")

    - This function will analyze the circuit "NAND2" in the extracted netlist and connect all symmetric - nodes within it. If this function is called before "combine_devices" (e.g. through + This function will analyze all circuits in the extracted netlist with respect to "NMOS" devices and connect all + split gates relevant source/drain nodes inside. If this function is called before "combine_devices" (e.g. through "netlist.simplify"), this connection is already present then and parallel devices will be recognized and combined.

    - The argument to "join_symmetric_nets" is a glob-style pattern. "*" will analyze and - modify all circuits, but at the price of potentially introducing unwanted connections. - Hence the recommendation is to use this feature on circuits which are known to - need it. + The device name must denote a MOS3, MOS4, DMOS3 or DMOS4 device. + The gate lengths of all involved devices must be identical. + For MOS4 and DMOS4, all devices on one gate net must share the + same bulk net. +

    + +

    + In addition to the device name, a glob-style circuit pattern can be supplied. In this case, the analysis is restricted + to the circuits matching this pattern.

    - "join_symmetric_nets" can be used anywhere in the LVS script. + "split_gates" can be used anywhere in the LVS script.

    Purging (elimination of redundancy)

    @@ -249,6 +277,7 @@ schematic.blank_circuit("CIRCUIT_NAME") Floating nets are nets which don't connect to any device or subcircuit.

    +
    netlist.purge
     netlist.purge_nets
    @@ -259,6 +288,7 @@ netlist.purge_nets "purge", "combine_devices" and "purge_nets" in this recommended order:

    +
    netlist.simplify

    diff --git a/src/lay/lay/doc/manual/tiling.xml b/src/lay/lay/doc/manual/tiling.xml index 1c363eaba..4eb38a857 100644 --- a/src/lay/lay/doc/manual/tiling.xml +++ b/src/lay/lay/doc/manual/tiling.xml @@ -54,9 +54,9 @@

    - - - + + +

    Default:

    Enhanced:

    Enhanced plus
    second order:

    Default:
    Enhanced:
    Enhanced plus
    second order:
    diff --git a/src/lay/lay/doc/programming/application_api.xml b/src/lay/lay/doc/programming/application_api.xml index 5baee3f8d..836178481 100644 --- a/src/lay/lay/doc/programming/application_api.xml +++ b/src/lay/lay/doc/programming/application_api.xml @@ -116,8 +116,6 @@ This object provides access to the main menu, the toolbar and various context menus. With this object it is possible to manipulate the menu.
  • : show a message in the status bar.
  • -
  • : gets the current layout reader options and allows modification of the latter. - The reader options configure the reading of layouts.
  • and : save or restore a session. Sessions contain a window settings and information about the layouts loaded. Sessions allows storing and restoring of the state of the main window.
  • @@ -268,7 +266,7 @@ Application::instance.main_window.views
  • , and : manage custom stipples.
  • -
  • , and : +
  • , and : manage custom line styles.
  • and : moves the context cell up or down in the @@ -369,7 +367,7 @@ Application::instance.main_window.views
  • : reloads a given layout.
  • -
  • , , +
  • , , and : Create, delete and get report databases stored inside the LayoutView object.
  • : @@ -398,7 +396,7 @@ Application::instance.main_window.views

    - Transactions can be initiated with and committed with . + Transactions can be initiated with and committed with . To ensure, every initiation of a transaction is matched by a "commit", it is recommended to employ "ensure":

    diff --git a/src/lay/lay/doc/programming/database_api.xml b/src/lay/lay/doc/programming/database_api.xml index 07fe4b06a..e8ff18df3 100644 --- a/src/lay/lay/doc/programming/database_api.xml +++ b/src/lay/lay/doc/programming/database_api.xml @@ -108,7 +108,7 @@ layout.write("my_layout.gds") For doing so, the Layout object keeps layers as a table of objects. The LayerInfo object carries information about the description of a layer, for example layer and datatype number and/or the layer name. A layer is basically - just an index in that table. Layers can be created using the method. Each layer is present + just an index in that table. Layers can be created using the method. Each layer is present in every cell and inside a cell, a shape storage for each layer is provided.

    @@ -508,10 +508,10 @@ shape.set_property(1, "NewValue")

    - The attribute allows read and write access to the layer number. is the - attribute for the datatype number. gives access to the text name. returns + The attribute allows read and write access to the layer number. is the + attribute for the datatype number. gives access to the text name. returns true, if the LayerInfo object represents a named layer (no layer or datatype number are specified). - compares two LayerInfo objects and returns true, if both denote the same + compares two LayerInfo objects and returns true, if both denote the same layer. This is not exact equivalence but follows the logical precendence: two layers are equivalent if layer or datatype number match (in that case the text name is ignored) or, if no layer and datatype number are specified, the name matches exactly. @@ -786,7 +786,7 @@ end a PCell. returns the PCell declaration ID if the cell is a PCell variant. will return the PCell declaration object. There is also a overload of "pcell_declaration" that determines the PCell declaration object for an Instance if it is a PCell instance. delivers the PCell parameters for a cell (if it is - a PCell variant) or an instance (if it is a PCell instance). The PCell parameters are an array of object + a PCell variant) or an instance (if it is a PCell instance). The PCell parameters are an array of variable-type values and the interpretation is dependent on the PCell implementation. The object which can be obtained through "pcell_declaration" gives the necessary information about the interpretation of the parameters. @@ -879,9 +879,9 @@ end

    As stated earlier, the object represents a cell instance - in the database and basically acts as a reference or pointer to a CellInstArray object inside the database. + in the database. Technically it acts as a proxy to some CellInstArray inside the database. In addition, it provides access to properties attached to the instance. Instance objects play an important - role in the Cell class to identify a certain instance, for example to delete an instance. + role in the Cell class to identify a certain instance, for example to delete it.

    @@ -895,20 +895,25 @@ end

    - The cell the Instance object lives in can be obtained with . basically - renders the same information, but in form of a cell index. The layout the instance lives in can be - obtained with . + The cell the Instance object lives in can be obtained with . basically + renders the same information, but in form of a cell index. The cell can be assigned () which changes is to + refer to a different cell. +

    + +

    + The layout the instance lives in can be obtained with . The cell the instance lives in + is returned by . The parent cell can be assigned (), which effectively moves the instance to + a different cell.

    User properties can be accessed through the attribute or, more convenient, through the - , or methods. Please note that changing the + , or methods. Please note that changing the property ID or the property values may invalidate iterators as well.

    - An instance has an equality operator. That operator returns true, if the Instance objects point to - the same cell instance. + An instance has an equality operator. That operator returns true, if the Instances indentify the same object.

    The Shapes class

    @@ -1139,9 +1144,9 @@ end

    A Shape object represents a box if it returns true on . The only specific methods that are provided for box type shapes are the - getter and setter. , - , , , - and get or modify individual aspects of the + getter and setter. , + , , , + and get or modify individual aspects of the box.

    diff --git a/src/lay/lay/doc/programming/geometry_api.xml b/src/lay/lay/doc/programming/geometry_api.xml index 9b2e28531..7fed6441d 100644 --- a/src/lay/lay/doc/programming/geometry_api.xml +++ b/src/lay/lay/doc/programming/geometry_api.xml @@ -289,7 +289,7 @@ box = RBA::Box::new(dbox)

    The spine points of a path can be iterated with . returns the number of points. - returns a specific point and allows replacing of the spine with the given array of Point objects. + allows replacing of the spine with the given array of Point objects. sets the "round ended" flag. and deliver the bounding box and the area, where the area is only approximate and is computed from the spine's length including the extensions times the width for efficiency. For certain acute-angle configurations that value may not be the exact area. @@ -338,7 +338,10 @@ box = RBA::Box::new(dbox)

    , and basically work like for the other objects. - The class method creates a integer-coordinate type Text object from a floating-point coordinate type DText +

    + +

    + Passing a DText object to the Text constructor creates an integer-coordinate type Text object from a floating-point coordinate type DText object (see below). The floating-point coordinates are rounded to the nearest integer coordinates.

    @@ -740,8 +743,9 @@ ly.top_cell.shapes(ly.layer(100, 0)).insert(r11 & r21)

    - Edge pairs can be "normalized" using . Normalization - will bring the edge pairs in a form such that when connecting their start and end + Edge pairs can be "normalized" using . + This method returns the normalized version of the edge pair. + Normalization will bring the edge pairs in a form such that when connecting their start and end points a closed loop without intersections is formed. Normalized edge pairs will produce nicer polygons later on.

    diff --git a/src/lay/lay/gsiDeclLayApplication.cc b/src/lay/lay/gsiDeclLayApplication.cc index a24f61f6d..fbf23517b 100644 --- a/src/lay/lay/gsiDeclLayApplication.cc +++ b/src/lay/lay/gsiDeclLayApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -87,6 +87,12 @@ static std::string version (C *) return C::version (); } +template +static void add_macro_category (C *c, const std::string &name, const std::string &description, const std::vector &folders) +{ + c->add_macro_category (name, description, folders); +} + template static gsi::Methods application_methods () { @@ -226,6 +232,12 @@ static gsi::Methods application_methods () "@brief Returns the architecture string\n" "This method has been introduced in version 0.25." ) + + method_ext &> ("add_macro_category", &add_macro_category, gsi::arg ("name"), gsi::arg ("description"), gsi::arg ("folders"), + "@brief Creates a new macro category\n" + "Creating a new macro category is only possible during the autorun_early stage. " + "The new macro category must correspond to an interpreter registered at the same stage.\n" + "This method has been introduced in version 0.28." + ) + method ("instance", &C::instance, "@brief Return the singleton instance of the application\n" "\n" diff --git a/src/lay/lay/gsiDeclLayHelpDialog.cc b/src/lay/lay/gsiDeclLayHelpDialog.cc index 3d4d81dce..e4210ef99 100644 --- a/src/lay/lay/gsiDeclLayHelpDialog.cc +++ b/src/lay/lay/gsiDeclLayHelpDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -84,10 +84,19 @@ Class decl_HelpDialog (QT_EXTERNAL_BASE (QDialog) "lay", "HelpD LAYBASIC_PUBLIC Class &laybasicdecl_BrowserSource (); +static lay::HelpSource *plain_help_source () +{ + return new lay::HelpSource (false); +} + Class decl_HelpSource (laybasicdecl_BrowserSource (), "lay", "HelpSource", + gsi::constructor ("plain", &plain_help_source, "@brief Reserved for internal use") + + gsi::method ("scan", static_cast (&lay::HelpSource::scan), "@brief Reserved internal use") + #if defined(HAVE_QTBINDINGS) && defined(HAVE_QT_XML) - gsi::method ("get_dom", &lay::HelpSource::get_dom, "@brief For internal use") + + gsi::method ("get_dom", &lay::HelpSource::get_dom, gsi::arg ("path"), "@brief Reserved for internal use") + #endif + gsi::method ("set_option", &lay::HelpSource::set_option, gsi::arg ("key"), gsi::arg ("value"), "@brief Reserved for internal use") + + gsi::method ("get_option", &lay::HelpSource::get_option, gsi::arg ("key"), "@brief Reserved for internal use") + gsi::method ("urls", &lay::HelpSource::urls, "@brief Reserved for internal use") + gsi::method ("title_for", &lay::HelpSource::title_for, gsi::arg ("path"), "@brief Reserved internal use") + gsi::method ("parent_of", &lay::HelpSource::parent_of, gsi::arg ("path"), "@brief Reserved internal use") + diff --git a/src/lay/lay/gsiDeclLayMainWindow.cc b/src/lay/lay/gsiDeclLayMainWindow.cc index 53e2e8dce..17fa2f064 100644 --- a/src/lay/lay/gsiDeclLayMainWindow.cc +++ b/src/lay/lay/gsiDeclLayMainWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -376,7 +376,7 @@ Class decl_MainWindow (QT_EXTERNAL_BASE (QMainWindow) "lay", "M method_ext ("commit_config", &config_end, "@brief Commits the configuration settings\n" "This method is provided for using MainWindow without an Application object. " - "It's a convience method which is equivalent to 'dispatcher().config_end(...)'. See \\Dispatcher#config_end for details.\n" + "It's a convience method which is equivalent to 'dispatcher().commit_config(...)'. See \\Dispatcher#commit_config for details.\n" "\n" "This method has been introduced in version 0.27.\n" ) + diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index b34801be4..1ed3c8285 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -686,6 +686,22 @@ ApplicationBase::init_app () if (mc) { + // create the basic macro categories + + if (ruby_interpreter ().available ()) { + std::vector folders; + folders.push_back ("macros"); + folders.push_back ("ruby"); + mc->add_macro_category ("macros", "Ruby", folders); + } + + if (python_interpreter ().available ()) { + std::vector folders; + folders.push_back ("pymacros"); + folders.push_back ("python"); + mc->add_macro_category ("pymacros", "Python", folders); + } + mc->enable_implicit_macros (! m_no_macros); // Add the global ruby modules as the first ones. @@ -741,13 +757,33 @@ ApplicationBase::init_app () } } + std::set already_executed; + // run all early autorun macros - lym::MacroCollection::root ().autorun_early (); + lym::MacroCollection::root ().autorun_early (&already_executed); + + // redo gsi::initialize as the macros may have registered new external classes + // through the "doc to external class" mechanism. + gsi::initialize (); + + // autorun_early may have added macro categories, so we need to call finish() again + if (mc) { + + mc->finish (); + + // as this regenerates the macro collection, autorun_early is required again + // note: this does no re-execute macros that have been executed already + lym::MacroCollection::root ().autorun_early (&already_executed); + + } // rescan the folders because early autorun macros might have added // suffixes through the MacroInterpreter interface. lym::MacroCollection::root ().rescan (); + // and yet another autorun_early pass .. + lym::MacroCollection::root ().autorun_early (&already_executed); + // creates the main window or plugin root as required setup (); @@ -785,6 +821,15 @@ ApplicationBase::init_app () } } +void +ApplicationBase::add_macro_category (const std::string &name, const std::string &description, const std::vector &folders) +{ + lay::MacroController *mc = lay::MacroController::instance (); + if (mc) { + mc->add_macro_category (name, description, folders); + } +} + ApplicationBase::~ApplicationBase () { tl::set_ui_exception_handlers (0, 0, 0); @@ -1317,6 +1362,20 @@ GuiApplication::notify (QObject *receiver, QEvent *e) return ret; } +void +GuiApplication::enter_busy_mode (bool bm) +{ + if (mp_mw) { + mp_mw->enter_busy_mode (bm); + } +} + +bool +GuiApplication::is_busy () const +{ + return mp_mw && mp_mw->is_busy (); +} + void GuiApplication::force_update_app_menu () { @@ -1484,18 +1543,19 @@ GuiApplication::setup () void GuiApplication::process_events_impl (QEventLoop::ProcessEventsFlags flags, bool silent) { + // prevent recursive process_events + if (is_busy ()) { + return; + } + if (mp_mw) { - // prevent recursive process_events - if (mp_mw->is_busy ()) { - return; - } + lay::BusySection busy; if (silent) { tl::DeferredMethodScheduler::enable (false); } - mp_mw->enter_busy_mode (true); try { #if QT_VERSION < 0x050000 QApplication::syncX (); @@ -1507,7 +1567,6 @@ GuiApplication::process_events_impl (QEventLoop::ProcessEventsFlags flags, bool } catch (...) { // ignore exceptions } - mp_mw->enter_busy_mode (false); if (silent) { tl::DeferredMethodScheduler::enable (true); diff --git a/src/lay/lay/layApplication.h b/src/lay/lay/layApplication.h index d370c10ab..887fc42c5 100644 --- a/src/lay/lay/layApplication.h +++ b/src/lay/lay/layApplication.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #define HDR_layApplication #include "layCommon.h" +#include "layBusy.h" #include #include @@ -213,6 +214,13 @@ public: return *mp_python_interpreter; } + /** + * @brief Adds a new macro category + * + * This method is only effective when called during the autorun_early stage + */ + void add_macro_category (const std::string &name, const std::string &description, const std::vector &folders); + /** * @brief Return true, if undo buffering is enabled */ @@ -366,7 +374,7 @@ private: * @brief The GUI-enabled application class */ class LAY_PUBLIC GuiApplication - : public QApplication, public ApplicationBase + : public QApplication, public ApplicationBase, public lay::BusyMode { public: GuiApplication (int &argc, char **argv); @@ -408,6 +416,19 @@ public: return mp_mw; } + /** + * @brief Enters busy mode (true) or leaves it (false) + * + * Use lay::BusySection to declare a section in "busy" mode. In busy mode, some features are disabled to + * prevent recursion in processing of events. + */ + virtual void enter_busy_mode (bool bm); + + /** + * @brief Gets a value indicating whether busy mode is enabled + */ + virtual bool is_busy () const; + /** * @brief Forces update of the application menu * This function is used for work around a MacOS issue. diff --git a/src/lay/lay/layClipDialog.cc b/src/lay/lay/layClipDialog.cc index ef574c46f..e28d5589d 100644 --- a/src/lay/lay/layClipDialog.cc +++ b/src/lay/lay/layClipDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -125,10 +125,10 @@ BEGIN_PROTECTED double x1 = 0.0, y1 = 0.0; double x2 = 0.0, y2 = 0.0; - tl::from_string (tl::to_string (le_x1->text ()), x1); - tl::from_string (tl::to_string (le_x2->text ()), x2); - tl::from_string (tl::to_string (le_y1->text ()), y1); - tl::from_string (tl::to_string (le_y2->text ()), y2); + tl::from_string_ext (tl::to_string (le_x1->text ()), x1); + tl::from_string_ext (tl::to_string (le_x2->text ()), x2); + tl::from_string_ext (tl::to_string (le_y1->text ()), y1); + tl::from_string_ext (tl::to_string (le_y2->text ()), y2); clip_boxes.push_back (db::Box (db::DBox (db::DPoint (x1, y1), db::DPoint (x2, y2)) * (1.0 / cv->layout ().dbu ()))); @@ -141,10 +141,10 @@ BEGIN_PROTECTED double x = 0.0, y = 0.0; double w = 0.0, h = 0.0; - tl::from_string (tl::to_string (le_x->text ()), x); - tl::from_string (tl::to_string (le_y->text ()), y); - tl::from_string (tl::to_string (le_w->text ()), w); - tl::from_string (tl::to_string (le_h->text ()), h); + tl::from_string_ext (tl::to_string (le_x->text ()), x); + tl::from_string_ext (tl::to_string (le_y->text ()), y); + tl::from_string_ext (tl::to_string (le_w->text ()), w); + tl::from_string_ext (tl::to_string (le_h->text ()), h); clip_boxes.push_back (db::Box (db::DBox (db::DPoint (x - 0.5 * w, y - 0.5 * h), db::DPoint (x + 0.5 * w, y + 0.5 * h)) * (1.0 / cv->layout ().dbu ()))); diff --git a/src/lay/lay/layClipDialog.h b/src/lay/lay/layClipDialog.h index 540e87fdf..bab730bf9 100644 --- a/src/lay/lay/layClipDialog.h +++ b/src/lay/lay/layClipDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layCommon.h b/src/lay/lay/layCommon.h index b86f5c11a..25023dc7c 100644 --- a/src/lay/lay/layCommon.h +++ b/src/lay/lay/layCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layConfig.h b/src/lay/lay/layConfig.h index a7babaf77..f9f3b44fe 100644 --- a/src/lay/lay/layConfig.h +++ b/src/lay/lay/layConfig.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layControlWidgetStack.cc b/src/lay/lay/layControlWidgetStack.cc index 74ec34e5e..94e0680c9 100644 --- a/src/lay/lay/layControlWidgetStack.cc +++ b/src/lay/lay/layControlWidgetStack.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layControlWidgetStack.h b/src/lay/lay/layControlWidgetStack.h index 5fd6a51f0..b68f42154 100644 --- a/src/lay/lay/layControlWidgetStack.h +++ b/src/lay/lay/layControlWidgetStack.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layCrashMessage.cc b/src/lay/lay/layCrashMessage.cc index 4dfb70682..2069c0133 100644 --- a/src/lay/lay/layCrashMessage.cc +++ b/src/lay/lay/layCrashMessage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layCrashMessage.h b/src/lay/lay/layCrashMessage.h index 6cfd98863..d272cce2d 100644 --- a/src/lay/lay/layCrashMessage.h +++ b/src/lay/lay/layCrashMessage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layFillDialog.cc b/src/lay/lay/layFillDialog.cc index b9b6458e1..2cc2d500b 100644 --- a/src/lay/lay/layFillDialog.cc +++ b/src/lay/lay/layFillDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -354,10 +354,10 @@ FillDialog::get_fill_parameters () double x1 = 0.0, y1 = 0.0; double x2 = 0.0, y2 = 0.0; - tl::from_string (tl::to_string (le_x1->text ()), x1); - tl::from_string (tl::to_string (le_x2->text ()), x2); - tl::from_string (tl::to_string (le_y1->text ()), y1); - tl::from_string (tl::to_string (le_y2->text ()), y2); + tl::from_string_ext (tl::to_string (le_x1->text ()), x1); + tl::from_string_ext (tl::to_string (le_x2->text ()), x2); + tl::from_string_ext (tl::to_string (le_y1->text ()), y1); + tl::from_string_ext (tl::to_string (le_y2->text ()), y2); fp.fill_region.insert (db::Box (db::DBox (db::DPoint (x1, y1), db::DPoint (x2, y2)) * (1.0 / cv->layout ().dbu ()))); diff --git a/src/lay/lay/layFillDialog.h b/src/lay/lay/layFillDialog.h index 620aeb9e9..52deb5826 100644 --- a/src/lay/lay/layFillDialog.h +++ b/src/lay/lay/layFillDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layFontController.cc b/src/lay/lay/layFontController.cc index 416cf21c6..df62a3da2 100644 --- a/src/lay/lay/layFontController.cc +++ b/src/lay/lay/layFontController.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layFontController.h b/src/lay/lay/layFontController.h index 6879952c2..60262ebfa 100644 --- a/src/lay/lay/layFontController.h +++ b/src/lay/lay/layFontController.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layForceLink.cc b/src/lay/lay/layForceLink.cc index 95b198dbd..16f32b3b2 100644 --- a/src/lay/lay/layForceLink.cc +++ b/src/lay/lay/layForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layForceLink.h b/src/lay/lay/layForceLink.h index 7876fe2a5..81f149208 100644 --- a/src/lay/lay/layForceLink.h +++ b/src/lay/lay/layForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layGSIHelpProvider.cc b/src/lay/lay/layGSIHelpProvider.cc index d8fc7f45d..280220dc8 100644 --- a/src/lay/lay/layGSIHelpProvider.cc +++ b/src/lay/lay/layGSIHelpProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -460,14 +460,19 @@ replace_references (const std::string &t, const gsi::ClassBase *cls_base) // -------------------------------------------------------------------------------------- // Implementation +GSIHelpProvider::GSIHelpProvider () +{ + // .. nothing yet .. +} + std::string -GSIHelpProvider::folder () const +GSIHelpProvider::folder (lay::HelpSource * /*src*/) const { return "code"; } std::string -GSIHelpProvider::title () const +GSIHelpProvider::title (lay::HelpSource * /*src*/) const { return tl::to_string (QObject::tr ("API Reference")); } @@ -485,7 +490,7 @@ void produce_toc (const gsi::ClassBase *cls, std::vector &toc) } void -GSIHelpProvider::toc (std::vector &t) +GSIHelpProvider::toc (lay::HelpSource * /*src*/, std::vector &t) { std::set mod_names; for (gsi::ClassBase::class_iterator c = gsi::ClassBase::begin_classes (); c != gsi::ClassBase::end_classes (); ++c) { @@ -499,7 +504,7 @@ GSIHelpProvider::toc (std::vector &t) } QDomDocument -GSIHelpProvider::get (const std::string &path) const +GSIHelpProvider::get (lay::HelpSource *src, const std::string &path) const { QUrl url = QUrl::fromEncoded (path.c_str ()); QString url_path = url.path (); @@ -508,9 +513,9 @@ GSIHelpProvider::get (const std::string &path) const std::string text; if (url_path == QString::fromUtf8 ("/code/index.xml")) { - text = produce_class_index (0); + text = produce_class_index (src, 0); } else if (module_index_url.indexIn (url_path) == 0) { - text = produce_class_index (from_encoded_class_name (tl::to_string (module_index_url.cap (1))).c_str ()); + text = produce_class_index (src, from_encoded_class_name (tl::to_string (module_index_url.cap (1))).c_str ()); } else if (class_doc_url.indexIn (url_path) == 0) { text = produce_class_doc (from_encoded_class_name (tl::to_string (class_doc_url.cap (1)))); } else { @@ -539,23 +544,6 @@ GSIHelpProvider::get (const std::string &path) const return doc; } -static -void produce_doc_index (const gsi::ClassBase *cls, std::ostringstream &os) -{ - DocumentationParser &doc = cls_documentation (cls); - std::string qname = make_qualified_name (cls); - - // Only list the name if the class is not hidden, it's a top-level class or the path is an expanded one - // (the last criterion avoids generating classes such as A::B_C) - if (! doc.hidden) { - os << "" << std::endl; - } - - for (tl::weak_collection::const_iterator cc = cls->begin_child_classes (); cc != cls->end_child_classes (); ++cc) { - produce_doc_index (cc.operator-> (), os); - } -} - static void collect_class_info (const gsi::ClassBase *cls, const std::string &module, std::vector > > &class_names, std::vector > > &qt_class_names) { @@ -578,8 +566,9 @@ void collect_class_info (const gsi::ClassBase *cls, const std::string &module, s } std::string -GSIHelpProvider::produce_class_index (const char *module_name) const +GSIHelpProvider::produce_class_index (lay::HelpSource *src, const char *module_name) const { + bool skip_qt_classes = src->get_option ("skip-qt-classes").to_bool (); std::ostringstream os; os << "" << std::endl @@ -605,10 +594,17 @@ GSIHelpProvider::produce_class_index (const char *module_name) const } } + if (skip_qt_classes) { + qt_class_names.clear (); + } + if (! module_name) { - for (gsi::ClassBase::class_iterator c = gsi::ClassBase::begin_classes (); c != gsi::ClassBase::end_classes (); ++c) { - produce_doc_index (c.operator-> (), os); + for (class_index_t::const_iterator i = class_names.begin (); i != class_names.end (); ++i) { + os << "first)) << "\"/>" << std::endl; + } + for (class_index_t::const_iterator i = qt_class_names.begin (); i != qt_class_names.end (); ++i) { + os << "first)) << "\"/>" << std::endl; } std::set mod_names; @@ -643,7 +639,7 @@ GSIHelpProvider::produce_class_index (const char *module_name) const } if (! qt_class_names.empty ()) { - os << tl::to_string (QObject::tr ("Find Qt class documentation")) << " " << tl::to_string (QObject::tr ("here")) << "" << std::endl; + os << "

    " << tl::to_string (QObject::tr ("Find Qt class documentation")) << " " << tl::to_string (QObject::tr ("here")) << "

    " << std::endl; } if (! class_names.empty ()) { @@ -657,9 +653,9 @@ GSIHelpProvider::produce_class_index (const char *module_name) const os << "" << std::endl; os << "first)) << "\">" << escape_xml (cc->first) << ""; if (! module_name) { - os << "   second.first) << "\">" << escape_xml (cc->second.first) << ""; + os << "second.first) << "\">" << escape_xml (cc->second.first) << ""; } - os << "   " << escape_xml (cc->second.second) << "" << std::endl; + os << "" << escape_xml (cc->second.second) << "" << std::endl; } os << "" << std::endl; @@ -676,9 +672,9 @@ GSIHelpProvider::produce_class_index (const char *module_name) const os << "" << std::endl; os << "first)) << "\">" << escape_xml (cc->first) << ""; if (! module_name) { - os << "   second.first) << "\">" << escape_xml (cc->second.first) << ""; + os << "second.first) << "\">" << escape_xml (cc->second.first) << ""; } - os << "   " << escape_xml (cc->second.second) << "" << std::endl; + os << "" << escape_xml (cc->second.second) << "" << std::endl; } os << "" << std::endl; @@ -992,6 +988,7 @@ GSIHelpProvider::produce_class_doc (const std::string &cls) const << std::endl; os << "" << tl::to_string (QObject::tr ("API reference - Class")) << " " << escape_xml (cls) << "" << std::endl; + os << "module ()) << "\"/>" << std::endl; os << "" << std::endl; @@ -1328,6 +1325,9 @@ GSIHelpProvider::produce_class_doc (const std::string &cls) const os << ""; + int rowindex = -1; + int sigindex = -1; + for (std::multimap >::const_iterator i = mm.begin (); i != mm.end (); ++i, ++n) { const gsi::MethodBase::MethodSynonym &syn = i->second.first->begin_synonyms () [i->second.second]; @@ -1335,13 +1335,23 @@ GSIHelpProvider::produce_class_doc (const std::string &cls) const DocumentationParser method_doc (i->second.first); std::string pydoc = pya::PythonInterpreter::python_doc (i->second.first); - os << ""; + if (i->first != prev_title) { + rowindex += 1; + } + os << ""; + if (i->first != prev_title) { int rows = 0; for (std::multimap >::const_iterator j = i; j != mm.end () && j->first == i->first; ++j) { ++rows; } - os << ""; @@ -1352,7 +1362,12 @@ GSIHelpProvider::produce_class_doc (const std::string &cls) const << "first) << "\"/>" << "first) << "\" name=\"" << escape_xml (cls) << "#" << escape_xml (i->first) << "\"/>" << std::endl; - os << "

    " << tl::to_string (QObject::tr ("Signature")) << ": "; + os << "

    "; + if (sigindex >= 0) { + ++sigindex; + os << "(" << sigindex << ") "; + } + os << tl::to_string (QObject::tr ("Signature")) << ": "; std::string attr = method_attributes (i->second.first, method_doc); if (! attr.empty ()) { os << "[" << escape_xml (attr) << "] "; @@ -1395,7 +1410,7 @@ GSIHelpProvider::produce_class_doc (const std::string &cls) const if (! pydoc.empty ()) { os << "

    "; - os << tl::to_string (QObject::tr ("Python specific notes:")); + os << tl::to_string (QObject::tr ("Python specific notes: ")); os << "
    " << escape_xml (pydoc) << "

    " << std::endl; } diff --git a/src/lay/lay/layGSIHelpProvider.h b/src/lay/lay/layGSIHelpProvider.h index 2dcb6c0ef..bfe399df9 100644 --- a/src/lay/lay/layGSIHelpProvider.h +++ b/src/lay/lay/layGSIHelpProvider.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -38,14 +38,16 @@ class GSIHelpProvider : public HelpProvider { public: - virtual std::string folder () const; - virtual std::string title () const; - virtual void toc (std::vector &t); - virtual QDomDocument get (const std::string &u) const; + GSIHelpProvider (); + + virtual std::string folder (lay::HelpSource *src) const; + virtual std::string title (lay::HelpSource *src) const; + virtual void toc (lay::HelpSource *src, std::vector &t); + virtual QDomDocument get (lay::HelpSource *src, const std::string &u) const; private: std::string produce_class_doc (const std::string &cls) const; - std::string produce_class_index (const char *module_name) const; + std::string produce_class_index (HelpSource *src, const char *module_name) const; }; } diff --git a/src/lay/lay/layHelpAboutDialog.cc b/src/lay/lay/layHelpAboutDialog.cc index c2177f2f3..d79d24618 100644 --- a/src/lay/lay/layHelpAboutDialog.cc +++ b/src/lay/lay/layHelpAboutDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layHelpAboutDialog.h b/src/lay/lay/layHelpAboutDialog.h index 8c9f0e69b..28b640b92 100644 --- a/src/lay/lay/layHelpAboutDialog.h +++ b/src/lay/lay/layHelpAboutDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layHelpDialog.cc b/src/lay/lay/layHelpDialog.cc index 76fc044be..59db901e7 100644 --- a/src/lay/lay/layHelpDialog.cc +++ b/src/lay/lay/layHelpDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layHelpDialog.h b/src/lay/lay/layHelpDialog.h index 8d233dc94..11acc0645 100644 --- a/src/lay/lay/layHelpDialog.h +++ b/src/lay/lay/layHelpDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layHelpProvider.cc b/src/lay/lay/layHelpProvider.cc index cb69571bc..c8caafb58 100644 --- a/src/lay/lay/layHelpProvider.cc +++ b/src/lay/lay/layHelpProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layHelpProvider.h b/src/lay/lay/layHelpProvider.h index 53b5c8d24..d7f241b81 100644 --- a/src/lay/lay/layHelpProvider.h +++ b/src/lay/lay/layHelpProvider.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +30,8 @@ namespace lay { +class HelpSource; + /** * @brief A provider for documentation in the help system * @@ -58,9 +60,9 @@ public: * * @return The documentation path for the main entry point for this provider. */ - virtual std::string index () const + virtual std::string index (lay::HelpSource *src) const { - return "/" + folder () + "/index.xml"; + return "/" + folder (src) + "/index.xml"; } /** @@ -69,7 +71,7 @@ public: * The DOM is the document in XML form which can be converted to HTML form for example * or scanned for keywords. */ - virtual QDomDocument get (const std::string & /*path*/) const + virtual QDomDocument get (lay::HelpSource * /*src*/, const std::string & /*path*/) const { return QDomDocument (); } @@ -80,12 +82,12 @@ public: * If this string is "doc" for example, all help documents will be looked up under * "doc/...". */ - virtual std::string folder () const = 0; + virtual std::string folder (lay::HelpSource * /*src*/) const = 0; /** * @brief Gets the title for this category */ - virtual std::string title () const = 0; + virtual std::string title (lay::HelpSource * /*src*/) const = 0; }; } diff --git a/src/lay/lay/layHelpResources.qrc b/src/lay/lay/layHelpResources.qrc index 06524e1f5..a853c8b3d 100644 --- a/src/lay/lay/layHelpResources.qrc +++ b/src/lay/lay/layHelpResources.qrc @@ -49,6 +49,7 @@ doc/about/packages.xml doc/about/25d_view.xml doc/about/25d_screenshot.png + doc/about/25d_screenshot2.png doc/manual/adjust_origin.xml diff --git a/src/lay/lay/layHelpSource.cc b/src/lay/lay/layHelpSource.cc index 66086505c..beb1aa7c0 100644 --- a/src/lay/lay/layHelpSource.cc +++ b/src/lay/lay/layHelpSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,6 +54,9 @@ namespace lay { +static const std::string index_url ("/index.xml"); +static const std::string search_url ("/search.xml"); + // -------------------------------------------------------------------------------------- // Some utilities @@ -285,7 +288,14 @@ HelpSource::initialize_index () tl::XMLFileSource in (*c); help_index_structure.parse (in, *this); if (m_klayout_version == lay::ApplicationBase::version ()) { + if (tl::verbosity () >= 10) { + tl::info << tl::to_string (tr ("Help index initialized from ")) << *c; + } ok = true; + } else { + if (tl::verbosity () >= 10) { + tl::warn << tl::to_string (tr ("Help index ignored (wrong version) from ")) << *c; + } } } catch (tl::Exception &ex) { tl::warn << ex.msg (); @@ -322,13 +332,8 @@ HelpSource::~HelpSource() void HelpSource::produce_index_file (const std::string &path) { - m_index.clear (); - m_titles.clear (); - m_title_map.clear (); - m_parent_of.clear (); + scan (); - tl::AbsoluteProgress progress (tl::to_string (QObject::tr ("Initializing help index")), 1, false /*can't cancel*/); - scan ("/index.xml", progress); try { tl::OutputStream os (path, tl::OutputStream::OM_Plain); @@ -350,6 +355,18 @@ HelpSource::create_index_file (const std::string &path) source.produce_index_file (path); } +void +HelpSource::scan () +{ + m_index.clear (); + m_titles.clear (); + m_title_map.clear (); + m_parent_of.clear (); + + tl::AbsoluteProgress progress (tl::to_string (QObject::tr ("Initializing help index")), 1); + scan (index_url, progress); +} + std::string HelpSource::klayout_version () const { @@ -461,21 +478,21 @@ HelpSource::get_dom (const std::string &u) QString path = url.path (); for (tl::Registrar::iterator cls = tl::Registrar::begin (); cls != tl::Registrar::end (); ++cls) { - if (path.startsWith (tl::to_qstring ("/" + cls->folder () + "/"))) { + if (path.startsWith (tl::to_qstring ("/" + cls->folder (this) + "/"))) { if (tl::verbosity () >= 20) { tl::info << "Help provider: create content for " << u; } - return cls->get (u); + return cls->get (this, u); } } - if (path == QString::fromUtf8 ("/search.xml")) { + if (path == tl::to_qstring (search_url)) { #if QT_VERSION >= 0x050000 return produce_search (tl::to_string (QUrlQuery (url.query ()).queryItemValue (QString::fromUtf8 ("string")).toLower ())); #else return produce_search (tl::to_string (url.queryItemValue (QString::fromUtf8 ("string")).toLower ())); #endif - } else if (path == QString::fromUtf8 ("/index.xml")) { + } else if (path == tl::to_qstring (index_url)) { if (tl::verbosity () >= 20) { tl::info << "Help provider: create content for " << u; } @@ -581,9 +598,14 @@ std::string HelpSource::next_topic (const std::string &url) { std::string u = tl::to_string (QUrl::fromEncoded (url.c_str ()).path ()); - for (size_t t = 0; t + 1 < m_titles.size (); ++t) { + for (size_t t = m_titles.size (); t > 0; ) { + --t; if (m_titles [t].first == u) { - return "int:" + m_titles [t + 1].first; + if (t + 1 >= m_titles.size ()) { + return std::string (); + } else { + return "int:" + m_titles [t + 1].first; + } } } return std::string (); @@ -618,7 +640,7 @@ HelpSource::produce_main_index () os << "" << std::endl; for (tl::Registrar::iterator cls = tl::Registrar::begin (); cls != tl::Registrar::end (); ++cls) { - os << "index () << "\"/>" << std::endl; + os << "index (this) << "\"/>" << std::endl; } os << "" << std::endl; @@ -1056,12 +1078,30 @@ std::vector HelpSource::urls () { std::vector u; - u.push_back ("/index.xml"); + u.push_back (index_url); for (std::map::const_iterator p = m_parent_of.begin (); p != m_parent_of.end (); ++p) { u.push_back (p->first); } return u; } +void +HelpSource::set_option (const std::string &key, const tl::Variant &value) +{ + s_global_options[key] = value; +} + +const tl::Variant & +HelpSource::get_option (const std::string &key) const +{ + auto i = s_global_options.find (key); + if (i != s_global_options.end ()) { + return i->second; + } else { + static tl::Variant nil; + return nil; + } +} + } diff --git a/src/lay/lay/layHelpSource.h b/src/lay/lay/layHelpSource.h index fa053a0bd..222a85cd5 100644 --- a/src/lay/lay/layHelpSource.h +++ b/src/lay/lay/layHelpSource.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -75,6 +75,8 @@ class HelpSource { public: HelpSource (); + HelpSource (bool make_index); + ~HelpSource(); virtual std::string get (const std::string &url); @@ -152,6 +154,22 @@ public: */ static void create_index_file (const std::string &path); + /** + * @brief Scans the help providers and produce the index + */ + void scan (); + + /** + * @brief Sets a global options for tailoring the help output + */ + void set_option (const std::string &key, const tl::Variant &value); + + /** + * @brief Sets a global options for tailoring the help output + * A null variant is returned if the option is not present. + */ + const tl::Variant &get_option (const std::string &key) const; + private: std::vector m_index; std::map m_parent_of; @@ -159,8 +177,8 @@ private: std::map m_title_map; std::string m_klayout_version; int m_kindex; + std::map s_global_options; - HelpSource (bool make_index); QDomDocument produce_search (const std::string &index); QDomDocument produce_main_index (); void produce_index_file (const std::string &path); diff --git a/src/lay/lay/layInit.cc b/src/lay/lay/layInit.cc index 6365da8b9..b233634e4 100644 --- a/src/lay/lay/layInit.cc +++ b/src/lay/lay/layInit.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layInit.h b/src/lay/lay/layInit.h index 8527b8bbb..d0d351fe6 100644 --- a/src/lay/lay/layInit.h +++ b/src/lay/lay/layInit.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layLibraryController.cc b/src/lay/lay/layLibraryController.cc index 57e1a99c3..3b8a516d8 100644 --- a/src/lay/lay/layLibraryController.cc +++ b/src/lay/lay/layLibraryController.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layLibraryController.h b/src/lay/lay/layLibraryController.h index b25f7b867..27cd227cc 100644 --- a/src/lay/lay/layLibraryController.h +++ b/src/lay/lay/layLibraryController.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layLogViewerDialog.cc b/src/lay/lay/layLogViewerDialog.cc index 2ae7fc61b..ef8d95319 100644 --- a/src/lay/lay/layLogViewerDialog.cc +++ b/src/lay/lay/layLogViewerDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layLogViewerDialog.h b/src/lay/lay/layLogViewerDialog.h index 55c9737a6..821a73ecf 100644 --- a/src/lay/lay/layLogViewerDialog.h +++ b/src/lay/lay/layLogViewerDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroController.cc b/src/lay/lay/layMacroController.cc index e337e7e49..51b1111ef 100644 --- a/src/lay/lay/layMacroController.cc +++ b/src/lay/lay/layMacroController.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,62 +49,27 @@ MacroController::MacroController () // .. nothing yet .. } -static lay::MacroController::MacroCategory ruby_cat () +void +MacroController::add_macro_category (const std::string &name, const std::string &description, const std::vector &folders) { lay::MacroController::MacroCategory cat; - cat.name = "macros"; - cat.description = tl::to_string (QObject::tr ("Ruby")); - cat.folders.push_back ("macros"); - cat.folders.push_back ("ruby"); - return cat; -} - -static lay::MacroController::MacroCategory python_cat () -{ - lay::MacroController::MacroCategory cat; - cat.name = "pymacros"; - cat.description = tl::to_string (QObject::tr ("Python")); - cat.folders.push_back ("pymacros"); - cat.folders.push_back ("python"); - return cat; -} - -static lay::MacroController::MacroCategory drc_cat () -{ - lay::MacroController::MacroCategory cat; - cat.name = "drc"; - cat.description = tl::to_string (QObject::tr ("DRC")); - cat.folders.push_back ("drc"); - return cat; -} - -static lay::MacroController::MacroCategory lvs_cat () -{ - lay::MacroController::MacroCategory cat; - cat.name = "lvs"; - cat.description = tl::to_string (QObject::tr ("LVS")); - cat.folders.push_back ("lvs"); - return cat; + cat.name = name; + cat.description = description; + cat.folders = folders; + m_macro_categories.push_back (cat); } void MacroController::finish () { + lym::MacroCollection::root ().clear (); + // Scan built-in macros // These macros are always taken, even if there are no macros requested (they are required to // fully form the API). lym::MacroCollection::root ().add_folder (tl::to_string (QObject::tr ("Built-In")), ":/built-in-macros", "macros", true); lym::MacroCollection::root ().add_folder (tl::to_string (QObject::tr ("Built-In")), ":/built-in-pymacros", "pymacros", true); - // TODO: consider adding "drc" and "lvs" dynamically and allow more dynamic categories - // We can do so if we first load the macros with the initial interpreters, then do autorun (which creates DSL interpreters) and then - // register the remaining categories. - - m_macro_categories.push_back (ruby_cat ()); - m_macro_categories.push_back (python_cat ()); - m_macro_categories.push_back (drc_cat ()); - m_macro_categories.push_back (lvs_cat ()); - // scans the macros from techs and packages (this will allow autorun-early on them) // and updates m_external_paths sync_macro_sources (); diff --git a/src/lay/lay/layMacroController.h b/src/lay/lay/layMacroController.h index 978f626e0..cae8e979b 100644 --- a/src/lay/lay/layMacroController.h +++ b/src/lay/lay/layMacroController.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -147,10 +147,16 @@ public: /** * @brief Loads the macros from the predefined paths and establishes the search paths - * This method will also establish the macro categories. + * This method can be called multiple times. */ void finish (); + /** + * @brief Adds a new macro category + * finish() needs to be called after adding a new category. + */ + void add_macro_category (const std::string &name, const std::string &description, const std::vector &folders); + /** * @brief Adds a temporary macro * diff --git a/src/lay/lay/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index 6b9a53483..90a0b1f27 100644 --- a/src/lay/lay/layMacroEditorDialog.cc +++ b/src/lay/lay/layMacroEditorDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -234,7 +234,7 @@ MacroEditorDialog::MacroEditorDialog (lay::Dispatcher *pr, lym::MacroCollection lay::Plugin (pr, true), mp_plugin_root (pr), mp_root (root), - m_first_show (true), m_in_processing (false), m_debugging_on (true), + m_first_show (true), m_debugging_on (true), mp_run_macro (0), md_update_console_text (this, &MacroEditorDialog::update_console_text), md_search_edited (this, &MacroEditorDialog::do_search_edited), @@ -1075,12 +1075,10 @@ void MacroEditorDialog::process_events (QEventLoop::ProcessEventsFlags flags) { if (lay::ApplicationBase::instance ()) { - // disable execution of deferred methods to avoid undesired execution of + // NOTE: we disable execution of deferred methods to avoid undesired execution of // code while we are inside a Ruby callback through the silent mode - bool last_processing = m_in_processing; - m_in_processing = true; + // NOTE: process_events will set BusySection::is_busy lay::ApplicationBase::instance ()->process_events (flags, true /*silent*/); - m_in_processing = last_processing; } } @@ -1430,7 +1428,7 @@ MacroEditorDialog::eventFilter (QObject *obj, QEvent *event) return false; } - if (m_in_processing && (m_in_breakpoint || m_in_exec) && (dynamic_cast (event) != 0 || dynamic_cast (event) != 0)) { + if (lay::BusySection::is_busy () && (m_in_breakpoint || m_in_exec) && (dynamic_cast (event) != 0 || dynamic_cast (event) != 0)) { // In breakpoint or execution mode and while processing the events from the debugger, // ignore all input or paint events targeted to widgets which are not children of this or the assistant dialog. @@ -1447,7 +1445,7 @@ MacroEditorDialog::eventFilter (QObject *obj, QEvent *event) return true; } - } else if (! m_in_processing && m_in_exec) { + } else if (! lay::BusySection::is_busy () && m_in_exec) { // While no explicit event processing is in progress and we are executing, this is an indication that // "real" events are processed. In that case, we can postpone excplit processing. This avoids interference @@ -1980,7 +1978,11 @@ MacroEditorDialog::replace_all_button_clicked () void MacroEditorDialog::search_requested (const QString &s) { - searchEditBox->setText (s); + if (! s.isNull ()) { + searchEditBox->setText (s); + } else { + searchEditBox->selectAll (); + } searchEditBox->setFocus (); search_editing (); } @@ -3032,7 +3034,7 @@ MacroEditorDialog::exception_thrown (gsi::Interpreter *interpreter, size_t file_ } // avoid recursive breakpoints and exception catches from the console while in a breakpoint or exception stop - if (m_in_processing) { + if (lay::BusySection::is_busy ()) { return; } @@ -3126,7 +3128,7 @@ MacroEditorDialog::trace (gsi::Interpreter *interpreter, size_t file_id, int lin } // avoid recursive breakpoints and exception catches from the console while in a breakpoint or exception stop - if (m_in_processing) { + if (lay::BusySection::is_busy ()) { return; } diff --git a/src/lay/lay/layMacroEditorDialog.h b/src/lay/lay/layMacroEditorDialog.h index 750715f79..7e6e363e0 100644 --- a/src/lay/lay/layMacroEditorDialog.h +++ b/src/lay/lay/layMacroEditorDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -301,7 +301,6 @@ private: lay::Dispatcher *mp_plugin_root; lym::MacroCollection *mp_root; bool m_first_show; - bool m_in_processing; bool m_debugging_on; lym::Macro *mp_run_macro; std::vector m_macro_templates; diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index 47fc45774..d5929a4bb 100644 --- a/src/lay/lay/layMacroEditorPage.cc +++ b/src/lay/lay/layMacroEditorPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1788,7 +1788,11 @@ MacroEditorPage::eventFilter (QObject *watched, QEvent *event) QTextBlock e = mp_text->document ()->findBlock (c.selectionEnd ()); if (e == s) { emit search_requested (c.selectedText ()); + } else { + emit search_requested (QString ()); } + } else { + emit search_requested (QString ()); } return true; diff --git a/src/lay/lay/layMacroEditorPage.h b/src/lay/lay/layMacroEditorPage.h index 7339c382c..1bee00830 100644 --- a/src/lay/lay/layMacroEditorPage.h +++ b/src/lay/lay/layMacroEditorPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroEditorSetupPage.cc b/src/lay/lay/layMacroEditorSetupPage.cc index ded889fe1..890717eda 100644 --- a/src/lay/lay/layMacroEditorSetupPage.cc +++ b/src/lay/lay/layMacroEditorSetupPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroEditorSetupPage.h b/src/lay/lay/layMacroEditorSetupPage.h index da763ef19..b8a693d7b 100644 --- a/src/lay/lay/layMacroEditorSetupPage.h +++ b/src/lay/lay/layMacroEditorSetupPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroEditorTree.cc b/src/lay/lay/layMacroEditorTree.cc index 935c5e9ef..544930dd0 100644 --- a/src/lay/lay/layMacroEditorTree.cc +++ b/src/lay/lay/layMacroEditorTree.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroEditorTree.h b/src/lay/lay/layMacroEditorTree.h index 15da04d2f..a9c894c49 100644 --- a/src/lay/lay/layMacroEditorTree.h +++ b/src/lay/lay/layMacroEditorTree.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroPropertiesDialog.cc b/src/lay/lay/layMacroPropertiesDialog.cc index 4bccf8ec6..2c04a77c8 100644 --- a/src/lay/lay/layMacroPropertiesDialog.cc +++ b/src/lay/lay/layMacroPropertiesDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -75,6 +75,7 @@ MacroPropertiesDialog::update (const lym::Macro *macro) propertiesFrame->setEnabled (! macro->is_readonly ()); description->setText (tl::to_qstring (macro->description ())); version->setText (tl::to_qstring (macro->version ())); + priority->setText (tl::to_qstring (tl::to_string (macro->priority ()))); prolog->setText (tl::to_qstring (macro->prolog ())); epilog->setText (tl::to_qstring (macro->epilog ())); autorun->setChecked (macro->is_autorun ()); @@ -98,6 +99,10 @@ MacroPropertiesDialog::commit (lym::Macro *macro) macro->set_show_in_menu (showmenu->isChecked ()); macro->set_group_name (tl::to_string (groupName->text ())); macro->set_menu_path (tl::to_string (menuPath->text ())); + + int p = 0; + tl::from_string (tl::to_string (priority->text ()), p); + macro->set_priority (p); } } diff --git a/src/lay/lay/layMacroPropertiesDialog.h b/src/lay/lay/layMacroPropertiesDialog.h index 7c58a1867..c1194c09d 100644 --- a/src/lay/lay/layMacroPropertiesDialog.h +++ b/src/lay/lay/layMacroPropertiesDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroVariableView.cc b/src/lay/lay/layMacroVariableView.cc index 8eb6a813d..50aa9c465 100644 --- a/src/lay/lay/layMacroVariableView.cc +++ b/src/lay/lay/layMacroVariableView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMacroVariableView.h b/src/lay/lay/layMacroVariableView.h index 6cc79c22d..a60847592 100644 --- a/src/lay/lay/layMacroVariableView.h +++ b/src/lay/lay/layMacroVariableView.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMainConfigPages.cc b/src/lay/lay/layMainConfigPages.cc index 6e7dd4d78..99a56f20e 100644 --- a/src/lay/lay/layMainConfigPages.cc +++ b/src/lay/lay/layMainConfigPages.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMainConfigPages.h b/src/lay/lay/layMainConfigPages.h index 133fbd4fc..7b15fc78f 100644 --- a/src/lay/lay/layMainConfigPages.h +++ b/src/lay/lay/layMainConfigPages.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index 1ace00570..e1690b121 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layMainWindow.h b/src/lay/lay/layMainWindow.h index c7f76b5f3..8c40b7250 100644 --- a/src/lay/lay/layMainWindow.h +++ b/src/lay/lay/layMainWindow.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layNativePlugin.cc b/src/lay/lay/layNativePlugin.cc index 0ecc7235b..2233bf821 100644 --- a/src/lay/lay/layNativePlugin.cc +++ b/src/lay/lay/layNativePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layNativePlugin.h b/src/lay/lay/layNativePlugin.h index b93a32d10..c3922bc70 100644 --- a/src/lay/lay/layNativePlugin.h +++ b/src/lay/lay/layNativePlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layNavigator.cc b/src/lay/lay/layNavigator.cc index b4c85f8ef..20f828626 100644 --- a/src/lay/lay/layNavigator.cc +++ b/src/lay/lay/layNavigator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layNavigator.h b/src/lay/lay/layNavigator.h index 359b27183..774289f95 100644 --- a/src/lay/lay/layNavigator.h +++ b/src/lay/lay/layNavigator.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layPasswordDialog.cc b/src/lay/lay/layPasswordDialog.cc index 0dfbd00c0..3d07b914e 100644 --- a/src/lay/lay/layPasswordDialog.cc +++ b/src/lay/lay/layPasswordDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layPasswordDialog.h b/src/lay/lay/layPasswordDialog.h index 5daab6e4d..cfb722bf7 100644 --- a/src/lay/lay/layPasswordDialog.h +++ b/src/lay/lay/layPasswordDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgress.cc b/src/lay/lay/layProgress.cc index 46da70895..6450cb541 100644 --- a/src/lay/lay/layProgress.cc +++ b/src/lay/lay/layProgress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgress.h b/src/lay/lay/layProgress.h index de0634fe4..657e2396c 100644 --- a/src/lay/lay/layProgress.h +++ b/src/lay/lay/layProgress.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgressDialog.cc b/src/lay/lay/layProgressDialog.cc index 937581b6d..592a2b436 100644 --- a/src/lay/lay/layProgressDialog.cc +++ b/src/lay/lay/layProgressDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgressDialog.h b/src/lay/lay/layProgressDialog.h index ef0688a1c..627a01a09 100644 --- a/src/lay/lay/layProgressDialog.h +++ b/src/lay/lay/layProgressDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgressWidget.cc b/src/lay/lay/layProgressWidget.cc index e4fef2b81..9dd1b75d8 100644 --- a/src/lay/lay/layProgressWidget.cc +++ b/src/lay/lay/layProgressWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layProgressWidget.h b/src/lay/lay/layProgressWidget.h index ff9702956..f3cece872 100644 --- a/src/lay/lay/layProgressWidget.h +++ b/src/lay/lay/layProgressWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layResourceHelpProvider.cc b/src/lay/lay/layResourceHelpProvider.cc index 52478d0a7..18da8067e 100644 --- a/src/lay/lay/layResourceHelpProvider.cc +++ b/src/lay/lay/layResourceHelpProvider.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ ResourceHelpProvider::ResourceHelpProvider (const char *folder, const std::strin } QDomDocument -ResourceHelpProvider::get (const std::string &path) const +ResourceHelpProvider::get (lay::HelpSource * /*src*/, const std::string &path) const { QString qpath = tl::to_qstring (path); QResource res (resource_url (qpath)); diff --git a/src/lay/lay/layResourceHelpProvider.h b/src/lay/lay/layResourceHelpProvider.h index d84bad084..427591fae 100644 --- a/src/lay/lay/layResourceHelpProvider.h +++ b/src/lay/lay/layResourceHelpProvider.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,17 +40,17 @@ class ResourceHelpProvider public: ResourceHelpProvider (const char *folder, const std::string &title); - std::string folder () const + std::string folder (lay::HelpSource * /*src*/) const { return m_folder; } - std::string title () const + std::string title (lay::HelpSource * /*src*/) const { return m_title; } - virtual QDomDocument get (const std::string &path) const; + virtual QDomDocument get (lay::HelpSource *src, const std::string &path) const; private: std::string m_folder, m_title; diff --git a/src/lay/lay/layRuntimeErrorForm.cc b/src/lay/lay/layRuntimeErrorForm.cc index c6ef0af5f..e737ad33c 100644 --- a/src/lay/lay/layRuntimeErrorForm.cc +++ b/src/lay/lay/layRuntimeErrorForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layRuntimeErrorForm.h b/src/lay/lay/layRuntimeErrorForm.h index aa133b5aa..5a998d096 100644 --- a/src/lay/lay/layRuntimeErrorForm.h +++ b/src/lay/lay/layRuntimeErrorForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySalt.cc b/src/lay/lay/laySalt.cc index be8810d5c..6c47c949b 100644 --- a/src/lay/lay/laySalt.cc +++ b/src/lay/lay/laySalt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -380,7 +380,7 @@ public: } bool -Salt::create_grain (const SaltGrain &templ, SaltGrain &target) +Salt::create_grain (const SaltGrain &templ, SaltGrain &target, double timeout, tl::InputHttpStreamCallback *callback) { tl_assert (m_root.begin_collections () != m_root.end_collections ()); @@ -471,7 +471,7 @@ Salt::create_grain (const SaltGrain &templ, SaltGrain &target) // otherwise download from the URL tl::info << QObject::tr ("Downloading package from '%1' to '%2' ..").arg (tl::to_qstring (templ.url ())).arg (tl::to_qstring (target.path ())); - res = tl::WebDAVObject::download (templ.url (), target.path ()); + res = tl::WebDAVObject::download (templ.url (), target.path (), timeout, callback); } else { diff --git a/src/lay/lay/laySalt.h b/src/lay/lay/laySalt.h index 758c5ce86..59e8424be 100644 --- a/src/lay/lay/laySalt.h +++ b/src/lay/lay/laySalt.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -183,7 +183,7 @@ public: * * Returns true, if the package could be created successfully. */ - bool create_grain (const SaltGrain &templ, SaltGrain &target); + bool create_grain (const SaltGrain &templ, SaltGrain &target, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); /** * @brief Removes redundant entries with same names diff --git a/src/lay/lay/laySaltController.cc b/src/lay/lay/laySaltController.cc index a78eef7a9..bfc5af1b2 100644 --- a/src/lay/lay/laySaltController.cc +++ b/src/lay/lay/laySaltController.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltController.h b/src/lay/lay/laySaltController.h index e32481a07..f660039a6 100644 --- a/src/lay/lay/laySaltController.h +++ b/src/lay/lay/laySaltController.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltDownloadManager.cc b/src/lay/lay/laySaltDownloadManager.cc index 408c3b226..8d9491926 100644 --- a/src/lay/lay/laySaltDownloadManager.cc +++ b/src/lay/lay/laySaltDownloadManager.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ #include "tlProgress.h" #include "tlFileUtils.h" #include "tlWebDAV.h" +#include "tlLog.h" #include #include @@ -38,16 +39,18 @@ namespace lay // ---------------------------------------------------------------------------------- ConfirmationDialog::ConfirmationDialog (QWidget *parent) - : QDialog (parent), m_confirmed (false), m_cancelled (false), m_file (50000, true) + : QDialog (parent), m_confirmed (false), m_cancelled (false), m_aborted (false), m_file (50000, true) { Ui::SaltManagerInstallConfirmationDialog::setupUi (this); connect (ok_button, SIGNAL (clicked ()), this, SLOT (confirm_pressed ())); connect (cancel_button, SIGNAL (clicked ()), this, SLOT (cancel_pressed ())); connect (close_button, SIGNAL (clicked ()), this, SLOT (close_pressed ())); + connect (abort_button, SIGNAL (clicked ()), this, SLOT (abort_pressed ())); log_panel->hide (); attn_frame->hide (); + abort_button->hide (); log_view->setModel (&m_file); connect (&m_file, SIGNAL (layoutChanged ()), log_view, SLOT (scrollToBottom ())); @@ -147,13 +150,15 @@ ConfirmationDialog::start () { confirm_panel->hide (); log_panel->show (); - close_button->setEnabled (false); + close_button->hide (); + abort_button->show (); } void ConfirmationDialog::finish () { - close_button->setEnabled (true); + close_button->show (); + abort_button->hide (); } // ---------------------------------------------------------------------------------- @@ -400,16 +405,28 @@ SaltDownloadManager::make_confirmation_dialog (QWidget *parent, const lay::Salt namespace { class DownloadProgressAdaptor - : public tl::ProgressAdaptor + : public tl::ProgressAdaptor, public tl::InputHttpStreamCallback { public: DownloadProgressAdaptor (lay::ConfirmationDialog *dialog, const std::string &name) - : mp_dialog (dialog), m_name (name) + : mp_dialog (dialog), m_name (name), m_is_aborted (false) { mp_dialog->mark_fetching (m_name); } - virtual void yield (tl::Progress * /*progress*/) { } + virtual void yield (tl::Progress * /*progress*/) + { + QCoreApplication::processEvents (QEventLoop::AllEvents | QEventLoop::WaitForMoreEvents, 100); + if (mp_dialog->is_aborted ()) { + m_is_aborted = true; + throw tl::CancelException (); + } + } + + virtual void wait_for_input () + { + yield (0); + } virtual void trigger (tl::Progress *progress) { @@ -426,9 +443,15 @@ namespace mp_dialog->mark_success (m_name); } + bool is_aborted () const + { + return m_is_aborted; + } + private: lay::ConfirmationDialog *mp_dialog; std::string m_name; + bool m_is_aborted; }; } @@ -473,15 +496,17 @@ SaltDownloadManager::execute (lay::SaltManagerDialog *parent, lay::Salt &salt) int status = 1; - { - DownloadProgressAdaptor pa (dialog.get (), p->name); - if (! salt.create_grain (p->grain, target)) { - pa.error (); - result = false; - status = 0; - } else { - pa.success (); - } + DownloadProgressAdaptor pa (dialog.get (), p->name); + if (! salt.create_grain (p->grain, target, 0.0 /*infinite timeout*/, &pa)) { + pa.error (); + result = false; + status = 0; + } else { + pa.success (); + } + + if (pa.is_aborted ()) { + break; } try { @@ -517,7 +542,7 @@ SaltDownloadManager::execute (lay::SaltManagerDialog *parent, lay::Salt &salt) target.set_path (g->path ()); } - if (! salt.create_grain (p->grain, target)) { + if (! salt.create_grain (p->grain, target, 60.0 /*timeout for offline installation*/)) { tl::error << tl::to_string (QObject::tr ("Installation failed for package %1").arg (tl::to_qstring (target.name ()))); result = false; } else { diff --git a/src/lay/lay/laySaltDownloadManager.h b/src/lay/lay/laySaltDownloadManager.h index 0bffd45d6..ce5219dff 100644 --- a/src/lay/lay/laySaltDownloadManager.h +++ b/src/lay/lay/laySaltDownloadManager.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,11 @@ #include #include +namespace tl +{ + class InputHttpStreamCallback; +} + namespace lay { @@ -52,6 +57,7 @@ public: bool is_confirmed () const { return m_confirmed; } bool is_cancelled () const { return m_cancelled; } + bool is_aborted () const { return m_aborted; } void start (); void separator (); @@ -65,10 +71,11 @@ public: private slots: void confirm_pressed () { m_confirmed = true; } void cancel_pressed () { m_cancelled = true; } + void abort_pressed () { m_aborted = true; } void close_pressed () { hide (); } private: - bool m_confirmed, m_cancelled; + bool m_confirmed, m_cancelled, m_aborted; lay::LogFile m_file; std::map m_items_by_name; diff --git a/src/lay/lay/laySaltGrain.cc b/src/lay/lay/laySaltGrain.cc index 6714361ed..bd90dad59 100644 --- a/src/lay/lay/laySaltGrain.cc +++ b/src/lay/lay/laySaltGrain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -512,7 +512,7 @@ SaltGrain::from_path (const std::string &path) } tl::InputStream * -SaltGrain::stream_from_url (std::string &url) +SaltGrain::stream_from_url (std::string &url, double timeout, tl::InputHttpStreamCallback *callback) { if (url.empty ()) { throw tl::Exception (tl::to_string (QObject::tr ("No download link available"))); @@ -535,17 +535,17 @@ SaltGrain::stream_from_url (std::string &url) std::string spec_url = SaltGrain::spec_url (url); if (spec_url.find ("http:") == 0 || spec_url.find ("https:") == 0) { - return tl::WebDAVObject::download_item (spec_url); + return tl::WebDAVObject::download_item (spec_url, timeout, callback); } else { return new tl::InputStream (spec_url); } } SaltGrain -SaltGrain::from_url (const std::string &url_in) +SaltGrain::from_url (const std::string &url_in, double timeout, tl::InputHttpStreamCallback *callback) { std::string url = url_in; - std::unique_ptr stream (stream_from_url (url)); + std::unique_ptr stream (stream_from_url (url, timeout, callback)); SaltGrain g; g.load (*stream); diff --git a/src/lay/lay/laySaltGrain.h b/src/lay/lay/laySaltGrain.h index 1094b670f..263994d26 100644 --- a/src/lay/lay/laySaltGrain.h +++ b/src/lay/lay/laySaltGrain.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,11 @@ #include #include +namespace tl +{ + class InputHttpStreamCallback; +} + namespace lay { @@ -462,7 +467,7 @@ public: * The data is read from "URL/grain.xml". This method will throw an * exception if an error occurs during reading. */ - static SaltGrain from_url (const std::string &url); + static SaltGrain from_url (const std::string &url, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); /** * @brief Returns a stream prepared for downloading the grain @@ -470,7 +475,7 @@ public: * "url" is the download URL on input and gets modified to match the * actual URL if it is a relative one. */ - static tl::InputStream *stream_from_url (std::string &url); + static tl::InputStream *stream_from_url (std::string &url, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); /** * @brief Forms the spec file download URL from a given download URL diff --git a/src/lay/lay/laySaltGrainDetailsTextWidget.cc b/src/lay/lay/laySaltGrainDetailsTextWidget.cc index e32c35429..4d91af745 100644 --- a/src/lay/lay/laySaltGrainDetailsTextWidget.cc +++ b/src/lay/lay/laySaltGrainDetailsTextWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltGrainDetailsTextWidget.h b/src/lay/lay/laySaltGrainDetailsTextWidget.h index 26f8d4336..1e0221235 100644 --- a/src/lay/lay/laySaltGrainDetailsTextWidget.h +++ b/src/lay/lay/laySaltGrainDetailsTextWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltGrainPropertiesDialog.cc b/src/lay/lay/laySaltGrainPropertiesDialog.cc index 2d1891670..ee31b2dae 100644 --- a/src/lay/lay/laySaltGrainPropertiesDialog.cc +++ b/src/lay/lay/laySaltGrainPropertiesDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltGrainPropertiesDialog.h b/src/lay/lay/laySaltGrainPropertiesDialog.h index c3b73a4a5..e01a7c670 100644 --- a/src/lay/lay/laySaltGrainPropertiesDialog.h +++ b/src/lay/lay/laySaltGrainPropertiesDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltGrains.cc b/src/lay/lay/laySaltGrains.cc index 08513e717..0c7035cbc 100644 --- a/src/lay/lay/laySaltGrains.cc +++ b/src/lay/lay/laySaltGrains.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltGrains.h b/src/lay/lay/laySaltGrains.h index 8cf4d2194..253d7e77d 100644 --- a/src/lay/lay/laySaltGrains.h +++ b/src/lay/lay/laySaltGrains.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltManagerDialog.cc b/src/lay/lay/laySaltManagerDialog.cc index 5c57023ae..e53ec4cef 100644 --- a/src/lay/lay/laySaltManagerDialog.cc +++ b/src/lay/lay/laySaltManagerDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltManagerDialog.h b/src/lay/lay/laySaltManagerDialog.h index e86cc3256..90b1a7a72 100644 --- a/src/lay/lay/laySaltManagerDialog.h +++ b/src/lay/lay/laySaltManagerDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltModel.cc b/src/lay/lay/laySaltModel.cc index 4d597c747..3f2209158 100644 --- a/src/lay/lay/laySaltModel.cc +++ b/src/lay/lay/laySaltModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySaltModel.h b/src/lay/lay/laySaltModel.h index aac15b02b..ab31306de 100644 --- a/src/lay/lay/laySaltModel.h +++ b/src/lay/lay/laySaltModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySearchReplaceConfigPage.cc b/src/lay/lay/laySearchReplaceConfigPage.cc index a48f8b6b4..da87ade55 100644 --- a/src/lay/lay/laySearchReplaceConfigPage.cc +++ b/src/lay/lay/laySearchReplaceConfigPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -110,10 +110,10 @@ void SearchReplaceConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_item_count = 1000; - tl::from_string (tl::to_string (le_max_items->text ()), max_item_count); + tl::from_string_ext (tl::to_string (le_max_items->text ()), max_item_count); root->config_set (cfg_sr_window_mode, SearchReplaceDialog::window_type (cbx_window->currentIndex ()), SearchReplaceWindowModeConverter ()); root->config_set (cfg_sr_window_dim, dim); diff --git a/src/lay/lay/laySearchReplaceConfigPage.h b/src/lay/lay/laySearchReplaceConfigPage.h index a6ec4c9e3..acf2e3d67 100644 --- a/src/lay/lay/laySearchReplaceConfigPage.h +++ b/src/lay/lay/laySearchReplaceConfigPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySearchReplaceDialog.cc b/src/lay/lay/laySearchReplaceDialog.cc index b8a6e50c6..f2f46bdb2 100644 --- a/src/lay/lay/laySearchReplaceDialog.cc +++ b/src/lay/lay/laySearchReplaceDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1699,6 +1699,55 @@ SearchReplaceDialog::result_selection_changed () } + } else if (index < int (m_model.data ().size ())) { + + db::DCplxTrans as_dbu = db::DCplxTrans (layout.dbu ()).inverted (); + + const tl::Variant &dr = m_model.data () [index]; + for (tl::Variant::const_iterator v = dr.begin (); v != dr.end (); ++v) { + + lay::Marker *marker = new lay::Marker (view (), cv_index); + + if (v->is_user ()) { + marker->set (v->to_user (), as_dbu, global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), db::ICplxTrans (), global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), as_dbu, global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), db::ICplxTrans (), global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), as_dbu, global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), db::ICplxTrans (), global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), as_dbu, global_trans); + } else if (v->is_user ()) { + marker->set (v->to_user (), db::ICplxTrans (), global_trans); + } else if (v->is_user ()) { + db::DPoint p = v->to_user (); + marker->set (db::DBox (p, p), as_dbu, global_trans); + } else if (v->is_user ()) { + db::Point p = v->to_user (); + marker->set (db::Box (p, p), db::ICplxTrans (), global_trans); + } else if (v->is_user ()) { + db::DPoint p = db::DPoint () + v->to_user (); + marker->set (db::DBox (p, p), as_dbu, global_trans); + } else if (v->is_user ()) { + db::Point p = db::Point () + v->to_user (); + marker->set (db::Box (p, p), db::ICplxTrans (), global_trans); + } else { + delete marker; + marker = 0; + } + + if (marker) { + mp_markers.push_back (marker); + dbox += marker->bbox (); + } + + } + } } diff --git a/src/lay/lay/laySearchReplaceDialog.h b/src/lay/lay/laySearchReplaceDialog.h index c432889a4..ae0223f85 100644 --- a/src/lay/lay/laySearchReplaceDialog.h +++ b/src/lay/lay/laySearchReplaceDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySearchReplacePlugin.cc b/src/lay/lay/laySearchReplacePlugin.cc index 9b6933503..bc603736d 100644 --- a/src/lay/lay/laySearchReplacePlugin.cc +++ b/src/lay/lay/laySearchReplacePlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySearchReplacePropertiesWidgets.cc b/src/lay/lay/laySearchReplacePropertiesWidgets.cc index 4dfff2166..26263b288 100644 --- a/src/lay/lay/laySearchReplacePropertiesWidgets.cc +++ b/src/lay/lay/laySearchReplacePropertiesWidgets.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySearchReplacePropertiesWidgets.h b/src/lay/lay/laySearchReplacePropertiesWidgets.h index 4068b40eb..0d4b0d235 100644 --- a/src/lay/lay/laySearchReplacePropertiesWidgets.h +++ b/src/lay/lay/laySearchReplacePropertiesWidgets.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySession.cc b/src/lay/lay/laySession.cc index 0cdaae8ff..02cbeb302 100644 --- a/src/lay/lay/laySession.cc +++ b/src/lay/lay/laySession.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySession.h b/src/lay/lay/laySession.h index c084d5cb7..158203e89 100644 --- a/src/lay/lay/laySession.h +++ b/src/lay/lay/laySession.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySettingsForm.cc b/src/lay/lay/laySettingsForm.cc index 3badeb72b..0b8f64e02 100644 --- a/src/lay/lay/laySettingsForm.cc +++ b/src/lay/lay/laySettingsForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySettingsForm.h b/src/lay/lay/laySettingsForm.h index 33761e0b8..31f759ba2 100644 --- a/src/lay/lay/laySettingsForm.h +++ b/src/lay/lay/laySettingsForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySignalHandler.cc b/src/lay/lay/laySignalHandler.cc index e99dc4e99..4fe5c64de 100644 --- a/src/lay/lay/laySignalHandler.cc +++ b/src/lay/lay/laySignalHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySignalHandler.h b/src/lay/lay/laySignalHandler.h index 4fbb362fb..106e4e83a 100644 --- a/src/lay/lay/laySignalHandler.h +++ b/src/lay/lay/laySignalHandler.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySystemPaths.cc b/src/lay/lay/laySystemPaths.cc index cadd53474..d43f8578f 100644 --- a/src/lay/lay/laySystemPaths.cc +++ b/src/lay/lay/laySystemPaths.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/laySystemPaths.h b/src/lay/lay/laySystemPaths.h index 8ffb7b443..735087220 100644 --- a/src/lay/lay/laySystemPaths.h +++ b/src/lay/lay/laySystemPaths.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTechSetupDialog.cc b/src/lay/lay/layTechSetupDialog.cc index cea2d76e6..2b96ed282 100644 --- a/src/lay/lay/layTechSetupDialog.cc +++ b/src/lay/lay/layTechSetupDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -166,7 +166,7 @@ TechBaseEditorPage::commit () tech ()->set_explicit_base_path (tl::to_string (mp_ui->base_path_le->text ())); double d = 0.001; - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), d); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), d); tech ()->set_dbu (d); if (! mp_ui->lyp_grp->isChecked ()) { diff --git a/src/lay/lay/layTechSetupDialog.h b/src/lay/lay/layTechSetupDialog.h index 27bf8b3fb..15450ca8c 100644 --- a/src/lay/lay/layTechSetupDialog.h +++ b/src/lay/lay/layTechSetupDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTechnologyController.cc b/src/lay/lay/layTechnologyController.cc index 883869709..51b2bceca 100644 --- a/src/lay/lay/layTechnologyController.cc +++ b/src/lay/lay/layTechnologyController.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTechnologyController.h b/src/lay/lay/layTechnologyController.h index c43fbbc28..e4f626f34 100644 --- a/src/lay/lay/layTechnologyController.h +++ b/src/lay/lay/layTechnologyController.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTextProgress.cc b/src/lay/lay/layTextProgress.cc index 6d67fc2b8..2c850824b 100644 --- a/src/lay/lay/layTextProgress.cc +++ b/src/lay/lay/layTextProgress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTextProgress.h b/src/lay/lay/layTextProgress.h index b7d7459f0..df4538a42 100644 --- a/src/lay/lay/layTextProgress.h +++ b/src/lay/lay/layTextProgress.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTextProgressDelegate.cc b/src/lay/lay/layTextProgressDelegate.cc index ad2fbcc34..749294f9d 100644 --- a/src/lay/lay/layTextProgressDelegate.cc +++ b/src/lay/lay/layTextProgressDelegate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layTextProgressDelegate.h b/src/lay/lay/layTextProgressDelegate.h index 91d8f0292..b360d0f24 100644 --- a/src/lay/lay/layTextProgressDelegate.h +++ b/src/lay/lay/layTextProgressDelegate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layVersion.cc b/src/lay/lay/layVersion.cc index 19279e4d8..fd67f4e3d 100644 --- a/src/lay/lay/layVersion.cc +++ b/src/lay/lay/layVersion.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layVersion.h b/src/lay/lay/layVersion.h index cfde915ab..dbef56f69 100644 --- a/src/lay/lay/layVersion.h +++ b/src/lay/lay/layVersion.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layViewWidgetStack.cc b/src/lay/lay/layViewWidgetStack.cc index fb5c68701..430acef9f 100644 --- a/src/lay/lay/layViewWidgetStack.cc +++ b/src/lay/lay/layViewWidgetStack.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/layViewWidgetStack.h b/src/lay/lay/layViewWidgetStack.h index 4b619bca3..7d7f66894 100644 --- a/src/lay/lay/layViewWidgetStack.h +++ b/src/lay/lay/layViewWidgetStack.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/lay/macro_templates/pcell.lym b/src/lay/lay/macro_templates/pcell.lym index e3665c365..31ed9240f 100644 --- a/src/lay/lay/macro_templates/pcell.lym +++ b/src/lay/lay/macro_templates/pcell.lym @@ -71,6 +71,13 @@ module PCellLibModule # TODO: return a RBA::Trans object for the initial transformation of # the instance # end + # + # optional: + # def wants_lazy_evaluation + # TODO: return "true" here if the PCell takes a long time to compute. + # In lazy mode, the user has to acknowledge parameter changes before + # they are executed. + # end end diff --git a/src/lay/lay/macro_templates/pcell_python.lym b/src/lay/lay/macro_templates/pcell_python.lym index d3f0b9f17..2d7e3c334 100644 --- a/src/lay/lay/macro_templates/pcell_python.lym +++ b/src/lay/lay/macro_templates/pcell_python.lym @@ -54,6 +54,12 @@ class PCell(pya.PCellDeclarationHelper): # def transformation_from_shape_impl(self): # TODO: return a RBA::Trans object for the initial transformation of # the instance + # + # optional: + # def wants_lazy_evaluation(self): + # TODO: return "True" here if the PCell takes a long time to compute. + # In lazy mode, the user has to acknowledge parameter changes before + # they are executed. # TODO: add more PCell classes .. diff --git a/src/lay/unit_tests/laySalt.cc b/src/lay/unit_tests/laySalt.cc index 008dd8f5b..3f350357f 100644 --- a/src/lay/unit_tests/laySalt.cc +++ b/src/lay/unit_tests/laySalt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lay/unit_tests/laySessionTests.cc b/src/lay/unit_tests/laySessionTests.cc index 5ff99d846..0f726d83b 100644 --- a/src/lay/unit_tests/laySessionTests.cc +++ b/src/lay/unit_tests/laySessionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/D25TechnologyComponentEditor.ui b/src/laybasic/laybasic/D25TechnologyComponentEditor.ui deleted file mode 100644 index 19c8bfc39..000000000 --- a/src/laybasic/laybasic/D25TechnologyComponentEditor.ui +++ /dev/null @@ -1,55 +0,0 @@ - - - D25TechnologyComponentEditor - - - - 0 - 0 - 549 - 434 - - - - Settings - - - - - - <html>2.5d Vertical stack information (see <a href="int:/about/25d_view.xml">here</a> for details)</html> - - - - - - - - 0 - 0 - - - - Line - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - QTextEdit::NoWrap - - - false - - - - - - - - - diff --git a/src/laybasic/laybasic/LayoutViewConfigPage2a.ui b/src/laybasic/laybasic/LayoutViewConfigPage2a.ui index 0864a2e01..2f4e6911a 100644 --- a/src/laybasic/laybasic/LayoutViewConfigPage2a.ui +++ b/src/laybasic/laybasic/LayoutViewConfigPage2a.ui @@ -17,7 +17,7 @@ 6 - + 9 @@ -29,7 +29,7 @@ true - + 9 @@ -47,7 +47,7 @@ 6 - + 0 @@ -84,7 +84,7 @@ 6 - + 0 @@ -122,7 +122,7 @@ 6 - + 0 @@ -220,13 +220,13 @@ - Show PCell guiding shapes + Show PCell guiding and error shapes true - + 9 diff --git a/src/laybasic/laybasic/gsiDeclLayDialogs.cc b/src/laybasic/laybasic/gsiDeclLayDialogs.cc index 4df8a4ebf..9cf0bc960 100644 --- a/src/laybasic/laybasic/gsiDeclLayDialogs.cc +++ b/src/laybasic/laybasic/gsiDeclLayDialogs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -379,6 +379,11 @@ static BrowserSource_Stub *new_html (const std::string &html) } Class decl_BrowserSource ("lay", "BrowserSource_Native", +#if defined(HAVE_QTBINDINGS) + gsi::method ("get_image", &lay::BrowserSource::get_image, gsi::arg ("url")) + +#endif + gsi::method ("next_topic", &lay::BrowserSource::next_topic, gsi::arg ("url")) + + gsi::method ("prev_topic", &lay::BrowserSource::prev_topic, gsi::arg ("url")) + gsi::method ("get", &lay::BrowserSource::get), "@hide\n@alias BrowserSource" ); @@ -391,12 +396,31 @@ Class &laybasicdecl_BrowserSource () Class decl_BrowserSourceStub ("lay", "BrowserSource", gsi::constructor ("new|#new_html", &new_html, - "@brief construct a BrowserSource object with a default HTML string\n" + "@brief Constructs a BrowserSource object with a default HTML string\n" "\n" "The default HTML string is sent when no specific implementation is provided.\n" ) + +#if defined(HAVE_QTBINDINGS) + gsi::method ("get_image", &lay::BrowserSource::get_image, gsi::arg ("url"), + "@brief Gets the image object for a specific URL\n" + "\n" + "This method has been introduced in version 0.28." + ) + +#endif + gsi::method ("next_topic", &lay::BrowserSource::next_topic, gsi::arg ("url"), + "@brief Gets the next topic URL from a given URL\n" + "An empty string will be returned if no next topic is available.\n" + "\n" + "This method has been introduced in version 0.28." + ) + + gsi::method ("prev_topic", &lay::BrowserSource::prev_topic, gsi::arg ("url"), + "@brief Gets the previous topic URL from a given URL\n" + "An empty string will be returned if no previous topic is available.\n" + "\n" + "This method has been introduced in version 0.28." + ) + gsi::callback ("get", &BrowserSource_Stub::get, &BrowserSource_Stub::get_cb, gsi::arg ("url"), - "@brief Get the HTML code for a given \"int\" URL.\n" + "@brief Gets the HTML code for a given \"int\" URL.\n" "\n" "If this method returns an empty string, the browser will not be set to \n" "a new location. This allows implementing any functionality behind such links.\n" @@ -781,7 +805,6 @@ Class decl_InputDialog ("lay", "InputDialog", "@param title The title to display for the dialog\n" "@param label The label text to display for the dialog\n" "@param value The initial value for the input field\n" - "@return A \\IntValue object with has_value? set to true, if \"Ok\" was pressed and the value given in it's value attribute\n" "@return The value entered if \"Ok\" was pressed or nil if \"Cancel\" was pressed\n" "This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent." ) + diff --git a/src/laybasic/laybasic/gsiDeclLayLayers.cc b/src/laybasic/laybasic/gsiDeclLayLayers.cc index 1b8062f30..8fc610bee 100644 --- a/src/laybasic/laybasic/gsiDeclLayLayers.cc +++ b/src/laybasic/laybasic/gsiDeclLayLayers.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gsiDeclLayLayoutView.cc b/src/laybasic/laybasic/gsiDeclLayLayoutView.cc index 938ca9d36..e5bf11472 100644 --- a/src/laybasic/laybasic/gsiDeclLayLayoutView.cc +++ b/src/laybasic/laybasic/gsiDeclLayLayoutView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1984,6 +1984,9 @@ static std::string get_technology (const lay::CellViewRef *cv) static tl::Event &get_technology_changed_event (lay::CellViewRef *cv) { + if (! cv->is_valid ()) { + throw tl::Exception (tl::to_string (QObject::tr ("Not a valid cellview"))); + } return (*cv)->technology_changed_event; } diff --git a/src/laybasic/laybasic/gsiDeclLayMarker.cc b/src/laybasic/laybasic/gsiDeclLayMarker.cc index f71956f68..ff048605e 100644 --- a/src/laybasic/laybasic/gsiDeclLayMarker.cc +++ b/src/laybasic/laybasic/gsiDeclLayMarker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gsiDeclLayMenu.cc b/src/laybasic/laybasic/gsiDeclLayMenu.cc index 1d08f690b..80f7c58b9 100644 --- a/src/laybasic/laybasic/gsiDeclLayMenu.cc +++ b/src/laybasic/laybasic/gsiDeclLayMenu.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gsiDeclLayNetlistBrowserDialog.cc b/src/laybasic/laybasic/gsiDeclLayNetlistBrowserDialog.cc index ef261e1fb..b19e2ddf9 100644 --- a/src/laybasic/laybasic/gsiDeclLayNetlistBrowserDialog.cc +++ b/src/laybasic/laybasic/gsiDeclLayNetlistBrowserDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gsiDeclLayPlugin.cc b/src/laybasic/laybasic/gsiDeclLayPlugin.cc index 28fde26ec..9d8cf8e1c 100644 --- a/src/laybasic/laybasic/gsiDeclLayPlugin.cc +++ b/src/laybasic/laybasic/gsiDeclLayPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -253,6 +253,24 @@ public: } } + virtual bool has_tracking_position () const + { + if (f_has_tracking_position.can_issue ()) { + return f_has_tracking_position.issue (&lay::ViewService::has_tracking_position); + } else { + return lay::ViewService::has_tracking_position (); + } + } + + virtual db::DPoint tracking_position () const + { + if (f_tracking_position.can_issue ()) { + return f_tracking_position.issue (&lay::ViewService::tracking_position); + } else { + return lay::ViewService::tracking_position (); + } + } + gsi::Callback f_menu_activated; gsi::Callback f_configure; gsi::Callback f_config_finalize; @@ -269,6 +287,8 @@ public: gsi::Callback f_deactivated; gsi::Callback f_drag_cancel; gsi::Callback f_update; + gsi::Callback f_has_tracking_position; + gsi::Callback f_tracking_position; }; class PluginFactoryBase @@ -778,7 +798,7 @@ Class decl_Plugin ("lay", "Plugin", "If the plugin implements some press-and-drag or a click-and-drag operation, this callback should " "cancel this operation and return in some state waiting for a new mouse event." ) + - callback ("update", &gsi::PluginBase::update, &gsi::PluginBase::f_update, + callback ("update", &gsi::PluginBase::update, &gsi::PluginBase::f_update, "@brief Gets called when the view has changed\n" "This method is called in particular if the view has changed the visible rectangle, i.e. after zooming in or out or panning. " "This callback can be used to update any internal states that depend on the view's state." @@ -795,6 +815,20 @@ Class decl_Plugin ("lay", "Plugin", "in the mouse move handler unless a button is pressed or the cursor is explicitly set again in the mouse_move_event.\n" "\n" "The cursor type is one of the cursor constants in the \\Cursor class, i.e. 'CursorArrow' for the normal cursor." + ) + + callback ("has_tracking_position", &gsi::PluginBase::has_tracking_position, &gsi::PluginBase::f_has_tracking_position, + "@brief Gets a value indicating whether the plugin provides a tracking position\n" + "The tracking position is shown in the lower-left corner of the layout window to indicate the current position.\n" + "If this method returns true for the active service, the application will fetch the position by calling \\tracking_position " + "rather than displaying the original mouse position.\n" + "\n" + "This method has been added in version 0.27.6." + ) + + callback ("tracking_position", &gsi::PluginBase::tracking_position, &gsi::PluginBase::f_tracking_position, + "@brief Gets the tracking position\n" + "See \\has_tracking_position for details.\n" + "\n" + "This method has been added in version 0.27.6." ), "@brief The plugin object\n" "\n" diff --git a/src/laybasic/laybasic/gsiDeclLayStream.cc b/src/laybasic/laybasic/gsiDeclLayStream.cc index 8a348bcf8..403cef728 100644 --- a/src/laybasic/laybasic/gsiDeclLayStream.cc +++ b/src/laybasic/laybasic/gsiDeclLayStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gtf.cc b/src/laybasic/laybasic/gtf.cc index 60c647b07..a5b2534ae 100644 --- a/src/laybasic/laybasic/gtf.cc +++ b/src/laybasic/laybasic/gtf.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gtf.h b/src/laybasic/laybasic/gtf.h index d410ac3a4..c0fd84c7a 100644 --- a/src/laybasic/laybasic/gtf.h +++ b/src/laybasic/laybasic/gtf.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/gtfdummy.cc b/src/laybasic/laybasic/gtfdummy.cc index bc69aaf7a..ce531c855 100644 --- a/src/laybasic/laybasic/gtfdummy.cc +++ b/src/laybasic/laybasic/gtfdummy.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layAbstractMenu.cc b/src/laybasic/laybasic/layAbstractMenu.cc index ac2a0f1e8..248e43bb5 100644 --- a/src/laybasic/laybasic/layAbstractMenu.cc +++ b/src/laybasic/laybasic/layAbstractMenu.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layAbstractMenu.h b/src/laybasic/laybasic/layAbstractMenu.h index 7e1612d97..57b29adf7 100644 --- a/src/laybasic/laybasic/layAbstractMenu.h +++ b/src/laybasic/laybasic/layAbstractMenu.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layAnnotationShapes.cc b/src/laybasic/laybasic/layAnnotationShapes.cc index 10a1865a6..f6511e145 100644 --- a/src/laybasic/laybasic/layAnnotationShapes.cc +++ b/src/laybasic/laybasic/layAnnotationShapes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layAnnotationShapes.h b/src/laybasic/laybasic/layAnnotationShapes.h index c60abb5e5..dc50ebb7c 100644 --- a/src/laybasic/laybasic/layAnnotationShapes.h +++ b/src/laybasic/laybasic/layAnnotationShapes.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBackgroundAwareTreeStyle.cc b/src/laybasic/laybasic/layBackgroundAwareTreeStyle.cc index 4fb04a5ec..ccb8fbac1 100644 --- a/src/laybasic/laybasic/layBackgroundAwareTreeStyle.cc +++ b/src/laybasic/laybasic/layBackgroundAwareTreeStyle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBackgroundAwareTreeStyle.h b/src/laybasic/laybasic/layBackgroundAwareTreeStyle.h index a9890a971..18b8bd642 100644 --- a/src/laybasic/laybasic/layBackgroundAwareTreeStyle.h +++ b/src/laybasic/laybasic/layBackgroundAwareTreeStyle.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmap.cc b/src/laybasic/laybasic/layBitmap.cc index 27c9f8d20..6cf8e869d 100644 --- a/src/laybasic/laybasic/layBitmap.cc +++ b/src/laybasic/laybasic/layBitmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmap.h b/src/laybasic/laybasic/layBitmap.h index 4a52cee1f..dc9303899 100644 --- a/src/laybasic/laybasic/layBitmap.h +++ b/src/laybasic/laybasic/layBitmap.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmapRenderer.cc b/src/laybasic/laybasic/layBitmapRenderer.cc index bfce2e610..4ae629102 100644 --- a/src/laybasic/laybasic/layBitmapRenderer.cc +++ b/src/laybasic/laybasic/layBitmapRenderer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmapRenderer.h b/src/laybasic/laybasic/layBitmapRenderer.h index 4951a40d6..8cee53f8b 100644 --- a/src/laybasic/laybasic/layBitmapRenderer.h +++ b/src/laybasic/laybasic/layBitmapRenderer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmapsToImage.cc b/src/laybasic/laybasic/layBitmapsToImage.cc index d38e1ac26..f3587e08e 100644 --- a/src/laybasic/laybasic/layBitmapsToImage.cc +++ b/src/laybasic/laybasic/layBitmapsToImage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBitmapsToImage.h b/src/laybasic/laybasic/layBitmapsToImage.h index 252af92fd..88930dca3 100644 --- a/src/laybasic/laybasic/layBitmapsToImage.h +++ b/src/laybasic/laybasic/layBitmapsToImage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarkList.cc b/src/laybasic/laybasic/layBookmarkList.cc index 51771df76..595ac8b7a 100644 --- a/src/laybasic/laybasic/layBookmarkList.cc +++ b/src/laybasic/laybasic/layBookmarkList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarkList.h b/src/laybasic/laybasic/layBookmarkList.h index 890472514..839530a93 100644 --- a/src/laybasic/laybasic/layBookmarkList.h +++ b/src/laybasic/laybasic/layBookmarkList.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarkManagementForm.cc b/src/laybasic/laybasic/layBookmarkManagementForm.cc index c0edc6f38..e582bbc4d 100644 --- a/src/laybasic/laybasic/layBookmarkManagementForm.cc +++ b/src/laybasic/laybasic/layBookmarkManagementForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarkManagementForm.h b/src/laybasic/laybasic/layBookmarkManagementForm.h index df0452d08..0d80e0941 100644 --- a/src/laybasic/laybasic/layBookmarkManagementForm.h +++ b/src/laybasic/laybasic/layBookmarkManagementForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarksView.cc b/src/laybasic/laybasic/layBookmarksView.cc index 34e4af81e..39df8be5e 100644 --- a/src/laybasic/laybasic/layBookmarksView.cc +++ b/src/laybasic/laybasic/layBookmarksView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBookmarksView.h b/src/laybasic/laybasic/layBookmarksView.h index 71d344af9..54bc6214d 100644 --- a/src/laybasic/laybasic/layBookmarksView.h +++ b/src/laybasic/laybasic/layBookmarksView.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowseInstancesForm.cc b/src/laybasic/laybasic/layBrowseInstancesForm.cc index 3169f551e..fb28e6b65 100644 --- a/src/laybasic/laybasic/layBrowseInstancesForm.cc +++ b/src/laybasic/laybasic/layBrowseInstancesForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -224,10 +224,10 @@ void BrowseInstancesConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_inst_count = 1000; - tl::from_string (tl::to_string (le_max_count->text ()), max_inst_count); + tl::from_string_ext (tl::to_string (le_max_count->text ()), max_inst_count); root->config_set (cfg_cib_context_cell, tl::to_string (le_cell_name->text ())); root->config_set (cfg_cib_context_mode, BrowseInstancesForm::mode_type (cbx_context->currentIndex ()), BrowseInstancesContextModeConverter ()); diff --git a/src/laybasic/laybasic/layBrowseInstancesForm.h b/src/laybasic/laybasic/layBrowseInstancesForm.h index 254797b56..7e7937dfc 100644 --- a/src/laybasic/laybasic/layBrowseInstancesForm.h +++ b/src/laybasic/laybasic/layBrowseInstancesForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowseShapesForm.cc b/src/laybasic/laybasic/layBrowseShapesForm.cc index a5706c275..08304872a 100644 --- a/src/laybasic/laybasic/layBrowseShapesForm.cc +++ b/src/laybasic/laybasic/layBrowseShapesForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -231,13 +231,13 @@ void BrowseShapesConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_inst_count = 1000; - tl::from_string (tl::to_string (le_max_inst->text ()), max_inst_count); + tl::from_string_ext (tl::to_string (le_max_inst->text ()), max_inst_count); unsigned int max_shape_count = 1000; - tl::from_string (tl::to_string (le_max_shapes->text ()), max_shape_count); + tl::from_string_ext (tl::to_string (le_max_shapes->text ()), max_shape_count); root->config_set (cfg_shb_context_cell, tl::to_string (le_cell_name->text ())); root->config_set (cfg_shb_context_mode, BrowseShapesForm::mode_type (cbx_context->currentIndex ()), BrowseShapesContextModeConverter ()); diff --git a/src/laybasic/laybasic/layBrowseShapesForm.h b/src/laybasic/laybasic/layBrowseShapesForm.h index 8d2fdadaa..d933f0520 100644 --- a/src/laybasic/laybasic/layBrowseShapesForm.h +++ b/src/laybasic/laybasic/layBrowseShapesForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowser.cc b/src/laybasic/laybasic/layBrowser.cc index cac9440a3..8a9fcc241 100644 --- a/src/laybasic/laybasic/layBrowser.cc +++ b/src/laybasic/laybasic/layBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowser.h b/src/laybasic/laybasic/layBrowser.h index ed1bfdbe6..31510fd5f 100644 --- a/src/laybasic/laybasic/layBrowser.h +++ b/src/laybasic/laybasic/layBrowser.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowserDialog.cc b/src/laybasic/laybasic/layBrowserDialog.cc index 3fe1599c2..2e4862562 100644 --- a/src/laybasic/laybasic/layBrowserDialog.cc +++ b/src/laybasic/laybasic/layBrowserDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowserDialog.h b/src/laybasic/laybasic/layBrowserDialog.h index f8ea03044..6329d2c95 100644 --- a/src/laybasic/laybasic/layBrowserDialog.h +++ b/src/laybasic/laybasic/layBrowserDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowserPanel.cc b/src/laybasic/laybasic/layBrowserPanel.cc index b1421b426..7a05aba0d 100644 --- a/src/laybasic/laybasic/layBrowserPanel.cc +++ b/src/laybasic/laybasic/layBrowserPanel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBrowserPanel.h b/src/laybasic/laybasic/layBrowserPanel.h index 1cc97de93..3dd593327 100644 --- a/src/laybasic/laybasic/layBrowserPanel.h +++ b/src/laybasic/laybasic/layBrowserPanel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layBusy.cc b/src/laybasic/laybasic/layBusy.cc new file mode 100644 index 000000000..bfd7cda31 --- /dev/null +++ b/src/laybasic/laybasic/layBusy.cc @@ -0,0 +1,82 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include "layBusy.h" +#include "tlThreads.h" + +namespace lay +{ + +tl::Mutex s_lock; + +BusyMode *sp_busy_mode = 0; + +// ---------------------------------------------------------------------------------------------------------- + +BusyMode::BusyMode () +{ + tl::MutexLocker locker (&s_lock); + if (sp_busy_mode == 0) { + sp_busy_mode = this; + } +} + +BusyMode::~BusyMode () +{ + tl::MutexLocker locker (&s_lock); + if (sp_busy_mode == this) { + sp_busy_mode = 0; + } +} + +// ---------------------------------------------------------------------------------------------------------- + +BusySection::BusySection () +{ + tl::MutexLocker locker (&s_lock); + mp_busy_mode = sp_busy_mode; + m_previous_mode = false; + if (mp_busy_mode) { + m_previous_mode = mp_busy_mode->is_busy (); + mp_busy_mode->enter_busy_mode (true); + } +} + +BusySection::~BusySection () +{ + tl::MutexLocker locker (&s_lock); + if (sp_busy_mode == mp_busy_mode && mp_busy_mode) { + mp_busy_mode->enter_busy_mode (m_previous_mode); + } + mp_busy_mode = 0; +} + +bool +BusySection::is_busy () +{ + tl::MutexLocker locker (&s_lock); + return sp_busy_mode && sp_busy_mode->is_busy (); +} + +// ---------------------------------------------------------------------------------------------------------- + +} diff --git a/src/laybasic/laybasic/layD25TechnologyComponent.h b/src/laybasic/laybasic/layBusy.h similarity index 54% rename from src/laybasic/laybasic/layD25TechnologyComponent.h rename to src/laybasic/laybasic/layBusy.h index 842006ccc..ed9597c33 100644 --- a/src/laybasic/laybasic/layD25TechnologyComponent.h +++ b/src/laybasic/laybasic/layBusy.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,37 +21,45 @@ */ -#ifndef HDR_layD25TechnologyComponent -#define HDR_layD25TechnologyComponent +#ifndef HDR_layBusy +#define HDR_layBusy -#include "ui_D25TechnologyComponentEditor.h" -#include "layTechnology.h" -#include "layGenericSyntaxHighlighter.h" +#include "laybasicCommon.h" -#include - -namespace lay { - -class D25TechnologyComponentEditor - : public lay::TechnologyComponentEditor, - public Ui::D25TechnologyComponentEditor +namespace lay { -Q_OBJECT +/** + * @brief An interface providing the "busy" methods + * + * There must be one provider implementing this interface. + */ +class LAYBASIC_PUBLIC BusyMode +{ public: - D25TechnologyComponentEditor (QWidget *parent); + BusyMode (); + virtual ~BusyMode (); - void commit (); - void setup (); + virtual bool is_busy () const = 0; + virtual void enter_busy_mode (bool bm) = 0; +}; -private slots: - void cursor_position_changed (); +/** + * @brief A RAII implementation of the busy mode setter + */ +class LAYBASIC_PUBLIC BusySection +{ +public: + BusySection (); + ~BusySection (); + + static bool is_busy (); private: - std::unique_ptr mp_hl_attributes, mp_hl_basic_attributes; + bool m_previous_mode; + BusyMode *mp_busy_mode; }; } #endif - diff --git a/src/laybasic/laybasic/layCanvasPlane.cc b/src/laybasic/laybasic/layCanvasPlane.cc index 171aa1d79..f3cdebfd4 100644 --- a/src/laybasic/laybasic/layCanvasPlane.cc +++ b/src/laybasic/laybasic/layCanvasPlane.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layCanvasPlane.h b/src/laybasic/laybasic/layCanvasPlane.h index 8b80986cd..91bfd2dba 100644 --- a/src/laybasic/laybasic/layCanvasPlane.h +++ b/src/laybasic/laybasic/layCanvasPlane.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layCellSelectionForm.cc b/src/laybasic/laybasic/layCellSelectionForm.cc index aeb068919..fd84934c0 100644 --- a/src/laybasic/laybasic/layCellSelectionForm.cc +++ b/src/laybasic/laybasic/layCellSelectionForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -537,7 +537,7 @@ CellSelectionForm::hide_cell () // ------------------------------------------------------------ -LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, db::Layout *layout, const char *name, bool all_cells) +LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, db::Layout *layout, const char *name, bool all_cells, bool top_cells_only) : QDialog (parent), Ui::LibraryCellSelectionForm (), mp_lib (0), mp_layout (layout), m_name_cb_enabled (true), @@ -545,7 +545,8 @@ LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, db::Layout m_cell_index (-1), m_pcell_id (-1), m_is_pcell (false), - m_all_cells (all_cells) + m_all_cells (all_cells), + m_top_cells_only (top_cells_only) { setObjectName (QString::fromUtf8 (name)); @@ -571,7 +572,7 @@ LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, db::Layout update_cell_list (); } -LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, const char *name, bool all_cells) +LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, const char *name, bool all_cells, bool top_cells_only) : QDialog (parent), Ui::LibraryCellSelectionForm (), mp_lib (0), mp_layout (0), m_name_cb_enabled (true), @@ -579,7 +580,8 @@ LibraryCellSelectionForm::LibraryCellSelectionForm (QWidget *parent, const char m_cell_index (-1), m_pcell_id (-1), m_is_pcell (false), - m_all_cells (all_cells) + m_all_cells (all_cells), + m_top_cells_only (top_cells_only) { mp_lib = db::LibraryManager::instance ().lib_ptr_by_name ("Basic"); mp_layout = &mp_lib->layout (); @@ -680,8 +682,16 @@ LibraryCellSelectionForm::update_cell_list () if (mp_layout) { + unsigned int flags = lay::CellTreeModel::Flat; + if (! m_all_cells) { + flags |= lay::CellTreeModel::BasicCells; + if (m_top_cells_only) { + flags |= lay::CellTreeModel::TopCells; + } + } + // TODO: get rid of that const_cast - lay::CellTreeModel *model = new lay::CellTreeModel (lv_cells, const_cast (mp_layout), lay::CellTreeModel::Flat | (m_all_cells ? 0 : (lay::CellTreeModel::TopCells | lay::CellTreeModel::BasicCells))); + lay::CellTreeModel *model = new lay::CellTreeModel (lv_cells, const_cast (mp_layout), flags); lv_cells->setModel (model); // connect can only happen after setModel() diff --git a/src/laybasic/laybasic/layCellSelectionForm.h b/src/laybasic/laybasic/layCellSelectionForm.h index d22508a5f..3d6f8c42b 100644 --- a/src/laybasic/laybasic/layCellSelectionForm.h +++ b/src/laybasic/laybasic/layCellSelectionForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -113,16 +113,18 @@ public: * * This version does not provide library selection. \get_current_library will * always return 0. - * If all_cells is true, all cells (not only top cells and basic cells) are shown. + * If all_cells is true, all cells (not just top cells and basic cells) are shown. + * If top_cells_only is false, child cells are shown as well. */ - LibraryCellSelectionForm (QWidget *parent, db::Layout *layout, const char *name, bool all_cells = false); + LibraryCellSelectionForm (QWidget *parent, db::Layout *layout, const char *name, bool all_cells = false, bool top_cells_only = true); /** * @brief Create a selection form for cells plus the library * * If all_cells is true, all cells (not only top cells and basic cells) are shown. + * If top_cells_only is false, child cells are shown as well. */ - LibraryCellSelectionForm (QWidget *parent, const char *name, bool all_cells = false); + LibraryCellSelectionForm (QWidget *parent, const char *name, bool all_cells = false, bool top_cells_only = true); /** * @brief Set the selected library @@ -187,6 +189,7 @@ private: db::pcell_id_type m_pcell_id; bool m_is_pcell; bool m_all_cells; + bool m_top_cells_only; void select_entry (db::cell_index_type n); void select_pcell_entry (db::pcell_id_type n); diff --git a/src/laybasic/laybasic/layCellTreeModel.cc b/src/laybasic/laybasic/layCellTreeModel.cc index 80b48ba09..d8e4ca573 100644 --- a/src/laybasic/laybasic/layCellTreeModel.cc +++ b/src/laybasic/laybasic/layCellTreeModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -594,8 +594,10 @@ CellTreeModel::build_top_level () while (top != mp_layout->end_top_down ()) { if (m_flat) { - CellTreeItem *item = new CellTreeItem (mp_layout, false, *top, true, m_sorting); - m_toplevel.push_back (item); + if ((m_flags & BasicCells) == 0 || ! mp_layout->cell (*top).is_proxy ()) { + CellTreeItem *item = new CellTreeItem (mp_layout, false, *top, true, m_sorting); + m_toplevel.push_back (item); + } } else if (mp_layout->cell (*top).is_top ()) { if ((m_flags & BasicCells) == 0 || ! mp_layout->cell (*top).is_proxy ()) { CellTreeItem *item = new CellTreeItem (mp_layout, false, *top, (m_flags & TopCells) != 0, m_sorting); diff --git a/src/laybasic/laybasic/layCellTreeModel.h b/src/laybasic/laybasic/layCellTreeModel.h index a94995d9f..2e8569e55 100644 --- a/src/laybasic/laybasic/layCellTreeModel.h +++ b/src/laybasic/laybasic/layCellTreeModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layCellView.cc b/src/laybasic/laybasic/layCellView.cc index dafded284..476b6867e 100644 --- a/src/laybasic/laybasic/layCellView.cc +++ b/src/laybasic/laybasic/layCellView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -501,13 +501,13 @@ CellView::is_valid () const } // check, if the path references valid cell indices. - for (specific_cell_path_type::const_iterator pp = m_specific_path.begin (); pp != m_specific_path.end (); ++pp) { - if (! m_layout_href.get ()->layout ().is_valid_cell_index (pp->inst_ptr.cell_index ())) { + for (unspecific_cell_path_type::const_iterator pp = m_unspecific_path.begin (); pp != m_unspecific_path.end (); ++pp) { + if (! m_layout_href.get ()->layout ().is_valid_cell_index (*pp)) { return false; } } - for (unspecific_cell_path_type::const_iterator pp = m_unspecific_path.begin (); pp != m_unspecific_path.end (); ++pp) { - if (! m_layout_href.get ()->layout ().is_valid_cell_index (*pp)) { + for (specific_cell_path_type::const_iterator pp = m_specific_path.begin (); pp != m_specific_path.end (); ++pp) { + if (! pp->inst_ptr.instances () || ! pp->inst_ptr.instances ()->is_valid (pp->inst_ptr) || ! m_layout_href.get ()->layout ().is_valid_cell_index (pp->inst_ptr.cell_index ())) { return false; } } diff --git a/src/laybasic/laybasic/layCellView.h b/src/laybasic/laybasic/layCellView.h index e2239e999..758decfaf 100644 --- a/src/laybasic/laybasic/layCellView.h +++ b/src/laybasic/laybasic/layCellView.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layColorPalette.cc b/src/laybasic/laybasic/layColorPalette.cc index 99477cb54..7c5ad2bcd 100644 --- a/src/laybasic/laybasic/layColorPalette.cc +++ b/src/laybasic/laybasic/layColorPalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layColorPalette.h b/src/laybasic/laybasic/layColorPalette.h index 9b98752dc..6be08cf3b 100644 --- a/src/laybasic/laybasic/layColorPalette.h +++ b/src/laybasic/laybasic/layColorPalette.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layConfigurationDialog.cc b/src/laybasic/laybasic/layConfigurationDialog.cc index e38a42547..63d9edeb5 100644 --- a/src/laybasic/laybasic/layConfigurationDialog.cc +++ b/src/laybasic/laybasic/layConfigurationDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layConfigurationDialog.h b/src/laybasic/laybasic/layConfigurationDialog.h index d57c9dc46..2e800ca47 100644 --- a/src/laybasic/laybasic/layConfigurationDialog.h +++ b/src/laybasic/laybasic/layConfigurationDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layConverters.cc b/src/laybasic/laybasic/layConverters.cc index 8d8756cbf..98c56cbe3 100644 --- a/src/laybasic/laybasic/layConverters.cc +++ b/src/laybasic/laybasic/layConverters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layConverters.h b/src/laybasic/laybasic/layConverters.h index 02c2d4692..ed3c2b6aa 100644 --- a/src/laybasic/laybasic/layConverters.h +++ b/src/laybasic/laybasic/layConverters.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layCursor.cc b/src/laybasic/laybasic/layCursor.cc index 94c526c0e..b718e62fc 100644 --- a/src/laybasic/laybasic/layCursor.cc +++ b/src/laybasic/laybasic/layCursor.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layCursor.h b/src/laybasic/laybasic/layCursor.h index e86e933f0..a3bc01ca5 100644 --- a/src/laybasic/laybasic/layCursor.h +++ b/src/laybasic/laybasic/layCursor.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layD25TechnologyComponent.cc b/src/laybasic/laybasic/layD25TechnologyComponent.cc deleted file mode 100644 index 167a4c188..000000000 --- a/src/laybasic/laybasic/layD25TechnologyComponent.cc +++ /dev/null @@ -1,115 +0,0 @@ - -/* - - KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - - -#include "laybasicConfig.h" -#include "dbD25TechnologyComponent.h" -#include "layD25TechnologyComponent.h" -#include "layQtTools.h" - -#include -#include - -namespace lay -{ - -D25TechnologyComponentEditor::D25TechnologyComponentEditor (QWidget *parent) - : TechnologyComponentEditor (parent) -{ - setupUi (this); - - src_te->setFont (monospace_font ()); - - activate_help_links (label); - - QResource res (tl::to_qstring (":/syntax/d25_text.xml")); - QByteArray data ((const char *) res.data (), int (res.size ())); -#if QT_VERSION >= 0x60000 - if (res.compressionAlgorithm () == QResource::ZlibCompression) { -#else - if (res.isCompressed ()) { -#endif - data = qUncompress (data); - } - - QBuffer input (&data); - input.open (QIODevice::ReadOnly); - mp_hl_basic_attributes.reset (new GenericSyntaxHighlighterAttributes ()); - mp_hl_attributes.reset (new GenericSyntaxHighlighterAttributes (mp_hl_basic_attributes.get ())); - lay::GenericSyntaxHighlighter *hl = new GenericSyntaxHighlighter (src_te, input, mp_hl_attributes.get ()); - input.close (); - - hl->setDocument (src_te->document ()); - - connect (src_te, SIGNAL (cursorPositionChanged ()), this, SLOT (cursor_position_changed ())); -} - -void -D25TechnologyComponentEditor::cursor_position_changed () -{ - int line = src_te->textCursor ().block ().firstLineNumber () + 1; - lnum_label->setText (tl::to_qstring (tl::sprintf (tl::to_string (tr ("Line %d")), line))); -} - -void -D25TechnologyComponentEditor::commit () -{ - db::D25TechnologyComponent *data = dynamic_cast (tech_component ()); - if (! data) { - return; - } - - std::string src = tl::to_string (src_te->toPlainText ()); - - // test-compile before setting it - db::D25TechnologyComponent tc; - tc.set_src (src); - tc.compile_from_source (); - - data->set_src (src); -} - -void -D25TechnologyComponentEditor::setup () -{ - db::D25TechnologyComponent *data = dynamic_cast (tech_component ()); - if (! data) { - return; - } - - src_te->setPlainText (tl::to_qstring (data->src ())); -} - -class D25TechnologyComponentEditorProvider - : public lay::TechnologyEditorProvider -{ -public: - virtual lay::TechnologyComponentEditor *create_editor (QWidget *parent) const - { - return new D25TechnologyComponentEditor (parent); - } -}; - -static tl::RegisteredClass editor_decl (new D25TechnologyComponentEditorProvider (), 3100, "d25"); - -} // namespace lay - diff --git a/src/laybasic/laybasic/layDialogs.cc b/src/laybasic/laybasic/layDialogs.cc index 68d5cb466..0c89906fc 100644 --- a/src/laybasic/laybasic/layDialogs.cc +++ b/src/laybasic/laybasic/layDialogs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -170,9 +170,9 @@ NewLayoutPropertiesDialog::exec_dialog (std::string &technology, std::string &ce technology = std::string (); } - tl::from_string (tl::to_string (mp_ui->window_le->text ()), size); + tl::from_string_ext (tl::to_string (mp_ui->window_le->text ()), size); if (! mp_ui->dbu_le->text ().isEmpty ()) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), dbu); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), dbu); } else { dbu = 0.0; } @@ -207,9 +207,9 @@ NewLayoutPropertiesDialog::accept () BEGIN_PROTECTED; double x = 0.0; - tl::from_string (tl::to_string (mp_ui->window_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->window_le->text ()), x); if (!mp_ui->dbu_le->text ().isEmpty ()) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), x); } if (mp_ui->topcell_le->text ().isEmpty ()) { @@ -250,7 +250,7 @@ NewCellPropertiesDialog::exec_dialog (const db::Layout *layout, std::string &cel if (QDialog::exec ()) { - tl::from_string (tl::to_string (mp_ui->window_le->text ()), size); + tl::from_string_ext (tl::to_string (mp_ui->window_le->text ()), size); cell_name = tl::to_string (mp_ui->name_le->text ()); return true; @@ -265,7 +265,7 @@ NewCellPropertiesDialog::accept () BEGIN_PROTECTED; double x = 0.0; - tl::from_string (tl::to_string (mp_ui->window_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->window_le->text ()), x); if (mp_layout->cell_by_name (tl::to_string (mp_ui->name_le->text ()).c_str ()).first) { throw tl::Exception (tl::to_string (QObject::tr ("A cell with that name already exists: %s")), tl::to_string (mp_ui->name_le->text ())); @@ -335,14 +335,14 @@ NewLayerPropertiesDialog::get (db::LayerProperties &src) { if (! mp_ui->layer_le->text ().isEmpty ()) { int l = -1; - tl::from_string (tl::to_string (mp_ui->layer_le->text ()), l); + tl::from_string_ext (tl::to_string (mp_ui->layer_le->text ()), l); src.layer = l; } else { src.layer = -1; } if (! mp_ui->datatype_le->text ().isEmpty ()) { int d = -1; - tl::from_string (tl::to_string (mp_ui->datatype_le->text ()), d); + tl::from_string_ext (tl::to_string (mp_ui->datatype_le->text ()), d); src.datatype = d; } else { src.datatype = -1; @@ -395,8 +395,8 @@ MoveOptionsDialog::exec_dialog (db::DVector &disp) if (QDialog::exec ()) { double x = 0.0, y = 0.0; - tl::from_string (tl::to_string (mp_ui->disp_x_le->text ()), x); - tl::from_string (tl::to_string (mp_ui->disp_y_le->text ()), y); + tl::from_string_ext (tl::to_string (mp_ui->disp_x_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->disp_y_le->text ()), y); disp = db::DVector (x, y); @@ -412,8 +412,8 @@ MoveOptionsDialog::accept () { BEGIN_PROTECTED; double x = 0.0; - tl::from_string (tl::to_string (mp_ui->disp_x_le->text ()), x); - tl::from_string (tl::to_string (mp_ui->disp_y_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->disp_x_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->disp_y_le->text ()), x); QDialog::accept (); END_PROTECTED; } @@ -470,8 +470,8 @@ MoveToOptionsDialog::exec_dialog (int &mode_x, int &mode_y, db::DPoint &target) } double x = 0.0, y = 0.0; - tl::from_string (tl::to_string (mp_ui->x_le->text ()), x); - tl::from_string (tl::to_string (mp_ui->y_le->text ()), y); + tl::from_string_ext (tl::to_string (mp_ui->x_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->y_le->text ()), y); target = db::DPoint (x, y); @@ -487,8 +487,8 @@ MoveToOptionsDialog::accept () { BEGIN_PROTECTED; double x = 0.0; - tl::from_string (tl::to_string (mp_ui->x_le->text ()), x); - tl::from_string (tl::to_string (mp_ui->y_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->x_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->y_le->text ()), x); QDialog::accept (); END_PROTECTED; } @@ -955,8 +955,8 @@ AlignCellOptionsDialog::exec_dialog (AlignCellOptions &data) } } - tl::from_string (tl::to_string (mp_ui->x_le->text ()), data.xpos); - tl::from_string (tl::to_string (mp_ui->y_le->text ()), data.ypos); + tl::from_string_ext (tl::to_string (mp_ui->x_le->text ()), data.xpos); + tl::from_string_ext (tl::to_string (mp_ui->y_le->text ()), data.ypos); return true; @@ -971,8 +971,8 @@ AlignCellOptionsDialog::accept () BEGIN_PROTECTED; double x = 0.0; - tl::from_string (tl::to_string (mp_ui->x_le->text ()), x); - tl::from_string (tl::to_string (mp_ui->y_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->x_le->text ()), x); + tl::from_string_ext (tl::to_string (mp_ui->y_le->text ()), x); QDialog::accept (); diff --git a/src/laybasic/laybasic/layDialogs.h b/src/laybasic/laybasic/layDialogs.h index cb926c3c8..c338e6a48 100644 --- a/src/laybasic/laybasic/layDialogs.h +++ b/src/laybasic/laybasic/layDialogs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDispatcher.cc b/src/laybasic/laybasic/layDispatcher.cc index f856140e4..8f1280b08 100644 --- a/src/laybasic/laybasic/layDispatcher.cc +++ b/src/laybasic/laybasic/layDispatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDispatcher.h b/src/laybasic/laybasic/layDispatcher.h index b192ac950..777092aad 100644 --- a/src/laybasic/laybasic/layDispatcher.h +++ b/src/laybasic/laybasic/layDispatcher.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDisplayState.cc b/src/laybasic/laybasic/layDisplayState.cc index d46cf2f16..2a06334cd 100644 --- a/src/laybasic/laybasic/layDisplayState.cc +++ b/src/laybasic/laybasic/layDisplayState.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDisplayState.h b/src/laybasic/laybasic/layDisplayState.h index f9a388620..5af6cdd2b 100644 --- a/src/laybasic/laybasic/layDisplayState.h +++ b/src/laybasic/laybasic/layDisplayState.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDitherPattern.cc b/src/laybasic/laybasic/layDitherPattern.cc index 786896f3e..0e24576bc 100644 --- a/src/laybasic/laybasic/layDitherPattern.cc +++ b/src/laybasic/laybasic/layDitherPattern.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index 899934f39..5373c72d0 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDrawing.cc b/src/laybasic/laybasic/layDrawing.cc index fb3f83895..a01e5cb40 100644 --- a/src/laybasic/laybasic/layDrawing.cc +++ b/src/laybasic/laybasic/layDrawing.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layDrawing.h b/src/laybasic/laybasic/layDrawing.h index 7a24a71ad..a52c71da1 100644 --- a/src/laybasic/laybasic/layDrawing.h +++ b/src/laybasic/laybasic/layDrawing.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditLineStyleWidget.cc b/src/laybasic/laybasic/layEditLineStyleWidget.cc index 3e8271e6f..ea6fdf748 100644 --- a/src/laybasic/laybasic/layEditLineStyleWidget.cc +++ b/src/laybasic/laybasic/layEditLineStyleWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditLineStyleWidget.h b/src/laybasic/laybasic/layEditLineStyleWidget.h index 0717e600e..1deaef97f 100644 --- a/src/laybasic/laybasic/layEditLineStyleWidget.h +++ b/src/laybasic/laybasic/layEditLineStyleWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditLineStylesForm.cc b/src/laybasic/laybasic/layEditLineStylesForm.cc index 9d5481b61..f8e804b83 100644 --- a/src/laybasic/laybasic/layEditLineStylesForm.cc +++ b/src/laybasic/laybasic/layEditLineStylesForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditLineStylesForm.h b/src/laybasic/laybasic/layEditLineStylesForm.h index 485ad021d..25cc35d9c 100644 --- a/src/laybasic/laybasic/layEditLineStylesForm.h +++ b/src/laybasic/laybasic/layEditLineStylesForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditStippleWidget.cc b/src/laybasic/laybasic/layEditStippleWidget.cc index aaa949b2f..1bb613e2e 100644 --- a/src/laybasic/laybasic/layEditStippleWidget.cc +++ b/src/laybasic/laybasic/layEditStippleWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditStippleWidget.h b/src/laybasic/laybasic/layEditStippleWidget.h index 559e0413f..e94d4228a 100644 --- a/src/laybasic/laybasic/layEditStippleWidget.h +++ b/src/laybasic/laybasic/layEditStippleWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditStipplesForm.cc b/src/laybasic/laybasic/layEditStipplesForm.cc index 8377390ed..19cc4616d 100644 --- a/src/laybasic/laybasic/layEditStipplesForm.cc +++ b/src/laybasic/laybasic/layEditStipplesForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditStipplesForm.h b/src/laybasic/laybasic/layEditStipplesForm.h index 59470e86f..5fe4fc0f0 100644 --- a/src/laybasic/laybasic/layEditStipplesForm.h +++ b/src/laybasic/laybasic/layEditStipplesForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditable.cc b/src/laybasic/laybasic/layEditable.cc index b3684fbb2..a391c6845 100644 --- a/src/laybasic/laybasic/layEditable.cc +++ b/src/laybasic/laybasic/layEditable.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -159,7 +159,10 @@ Editables::selection_catch_bbox () { db::DBox sel_bbox; for (iterator e = begin (); e != end (); ++e) { - double l = e->catch_distance (); + // we use a larger distance for the bbox because once there is a box it's + // more likely we want to capture it and it's tedious to capture a single + // text otherwise (issue-994). + double l = e->catch_distance () * 3.0; sel_bbox += e->selection_bbox ().enlarged (db::DVector (l, l)); } return sel_bbox; diff --git a/src/laybasic/laybasic/layEditable.h b/src/laybasic/laybasic/layEditable.h index 3aa739f6a..f1f54f164 100644 --- a/src/laybasic/laybasic/layEditable.h +++ b/src/laybasic/laybasic/layEditable.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorOptionsFrame.cc b/src/laybasic/laybasic/layEditorOptionsFrame.cc index a247c4c6f..dd593f9e4 100644 --- a/src/laybasic/laybasic/layEditorOptionsFrame.cc +++ b/src/laybasic/laybasic/layEditorOptionsFrame.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorOptionsFrame.h b/src/laybasic/laybasic/layEditorOptionsFrame.h index af7dc7280..6ccadf986 100644 --- a/src/laybasic/laybasic/layEditorOptionsFrame.h +++ b/src/laybasic/laybasic/layEditorOptionsFrame.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorOptionsPage.cc b/src/laybasic/laybasic/layEditorOptionsPage.cc index b5935fe5c..f2f893da0 100644 --- a/src/laybasic/laybasic/layEditorOptionsPage.cc +++ b/src/laybasic/laybasic/layEditorOptionsPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorOptionsPage.h b/src/laybasic/laybasic/layEditorOptionsPage.h index b154b0cf4..fb752ffaa 100644 --- a/src/laybasic/laybasic/layEditorOptionsPage.h +++ b/src/laybasic/laybasic/layEditorOptionsPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorOptionsPages.cc b/src/laybasic/laybasic/layEditorOptionsPages.cc index a5741468c..a17d518b8 100644 --- a/src/laybasic/laybasic/layEditorOptionsPages.cc +++ b/src/laybasic/laybasic/layEditorOptionsPages.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -204,7 +204,7 @@ static void configure_from_line_edit (lay::Dispatcher *dispatcher, QLineEdit *le { try { Value value = Value (0); - tl::from_string (tl::to_string (le->text ()), value); + tl::from_string_ext (tl::to_string (le->text ()), value); dispatcher->config_set (cfg_name, tl::to_string (value)); lay::indicate_error (le, (tl::Exception *) 0); } catch (tl::Exception &ex) { diff --git a/src/laybasic/laybasic/layEditorOptionsPages.h b/src/laybasic/laybasic/layEditorOptionsPages.h index 663774cd0..a65e3c100 100644 --- a/src/laybasic/laybasic/layEditorOptionsPages.h +++ b/src/laybasic/laybasic/layEditorOptionsPages.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layEditorServiceBase.cc b/src/laybasic/laybasic/layEditorServiceBase.cc index f89883c20..388bd4487 100644 --- a/src/laybasic/laybasic/layEditorServiceBase.cc +++ b/src/laybasic/laybasic/layEditorServiceBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -206,7 +206,8 @@ EditorServiceBase::EditorServiceBase (lay::LayoutView *view) : lay::ViewService (view->view_object_widget ()), lay::Editable (view), lay::Plugin (view), - m_cursor_enabled (true) + m_cursor_enabled (true), + m_has_tracking_position (false) { // .. nothing yet .. } @@ -219,6 +220,8 @@ EditorServiceBase::~EditorServiceBase () void EditorServiceBase::add_mouse_cursor (const db::DPoint &pt, bool emphasize) { + m_has_tracking_position = true; + m_tracking_position = pt; m_mouse_cursor_markers.push_back (new MouseCursorViewObject (this, widget (), pt, emphasize)); } @@ -231,6 +234,7 @@ EditorServiceBase::add_edge_marker (const db::DEdge &e, bool emphasize) void EditorServiceBase::clear_mouse_cursors () { + m_has_tracking_position = false; for (std::vector::iterator r = m_mouse_cursor_markers.begin (); r != m_mouse_cursor_markers.end (); ++r) { delete *r; } diff --git a/src/laybasic/laybasic/layEditorServiceBase.h b/src/laybasic/laybasic/layEditorServiceBase.h index 9f1a35c5b..d088c22fe 100644 --- a/src/laybasic/laybasic/layEditorServiceBase.h +++ b/src/laybasic/laybasic/layEditorServiceBase.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -105,6 +105,22 @@ public: return m_cursor_enabled; } + /** + * @brief Gets a value indicating whether a cursor position it set + */ + virtual bool has_tracking_position () const + { + return m_has_tracking_position; + } + + /** + * @brief Gets the cursor position if one is set + */ + virtual db::DPoint tracking_position () const + { + return m_tracking_position; + } + protected: virtual bool configure (const std::string &name, const std::string &value); virtual void deactivated (); @@ -114,6 +130,8 @@ private: std::vector m_mouse_cursor_markers; QColor m_cursor_color; bool m_cursor_enabled; + bool m_has_tracking_position; + db::DPoint m_tracking_position; }; } diff --git a/src/laybasic/laybasic/layFileDialog.cc b/src/laybasic/laybasic/layFileDialog.cc index c606c6d24..79c04addd 100644 --- a/src/laybasic/laybasic/layFileDialog.cc +++ b/src/laybasic/laybasic/layFileDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layFileDialog.h b/src/laybasic/laybasic/layFileDialog.h index 14a66a26e..54f320265 100644 --- a/src/laybasic/laybasic/layFileDialog.h +++ b/src/laybasic/laybasic/layFileDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layFinder.cc b/src/laybasic/laybasic/layFinder.cc index 511ef8466..7fa2d4589 100644 --- a/src/laybasic/laybasic/layFinder.cc +++ b/src/laybasic/laybasic/layFinder.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layFinder.h b/src/laybasic/laybasic/layFinder.h index 939513f27..166842421 100644 --- a/src/laybasic/laybasic/layFinder.h +++ b/src/laybasic/laybasic/layFinder.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layFixedFont.cc b/src/laybasic/laybasic/layFixedFont.cc index e76ab06db..77c297275 100644 --- a/src/laybasic/laybasic/layFixedFont.cc +++ b/src/laybasic/laybasic/layFixedFont.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layGenericSyntaxHighlighter.cc b/src/laybasic/laybasic/layGenericSyntaxHighlighter.cc index 709d3b72f..4aaa01596 100644 --- a/src/laybasic/laybasic/layGenericSyntaxHighlighter.cc +++ b/src/laybasic/laybasic/layGenericSyntaxHighlighter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layGenericSyntaxHighlighter.h b/src/laybasic/laybasic/layGenericSyntaxHighlighter.h index 1f0ffda19..c73d0c22d 100644 --- a/src/laybasic/laybasic/layGenericSyntaxHighlighter.h +++ b/src/laybasic/laybasic/layGenericSyntaxHighlighter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layGridNet.cc b/src/laybasic/laybasic/layGridNet.cc index cd284f998..31f0dca4f 100644 --- a/src/laybasic/laybasic/layGridNet.cc +++ b/src/laybasic/laybasic/layGridNet.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -473,7 +473,7 @@ GridNet::render_bg (const lay::Viewport &vp, ViewObjectCanvas &canvas) // compute major grid and switch to secondary style if necessary int s = 0; - while (dgrid < fw * 4 / bmp_canvas->resolution ()) { + while (dgrid < fw * 4) { if (s == 0) { dgrid *= 2.0; } else if (s == 1) { @@ -502,9 +502,9 @@ GridNet::render_bg (const lay::Viewport &vp, ViewObjectCanvas &canvas) if (m_show_ruler && dgrid < vp.width () * 0.2) { - int rh = int (floor (0.5 + fw * 0.8 / bmp_canvas->resolution ())); - int xoffset = int (floor (0.5 + fw * 2.5 / bmp_canvas->resolution ())); - int yoffset = int (floor (0.5 + fw * 2.5 / bmp_canvas->resolution ())); + int rh = int (floor (0.5 + fw * 0.8)); + int xoffset = int (floor (0.5 + fw * 2.5)); + int yoffset = int (floor (0.5 + fw * 2.5)); painter.fill_rect (QPoint (xoffset, vp.height () - yoffset - rh / 2), QPoint (xoffset + int (floor (0.5 + dgrid)), vp.height () - yoffset + rh / 2), diff --git a/src/laybasic/laybasic/layGridNet.h b/src/laybasic/laybasic/layGridNet.h index c2e178e99..728eadf65 100644 --- a/src/laybasic/laybasic/layGridNet.h +++ b/src/laybasic/laybasic/layGridNet.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layHierarchyControlPanel.cc b/src/laybasic/laybasic/layHierarchyControlPanel.cc index a66327242..1f21ae24c 100644 --- a/src/laybasic/laybasic/layHierarchyControlPanel.cc +++ b/src/laybasic/laybasic/layHierarchyControlPanel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,6 +42,7 @@ #include "dbClipboard.h" #include "dbClipboardData.h" +#include "layBusy.h" #include "layHierarchyControlPanel.h" #include "layCellTreeModel.h" #include "layLayoutView.h" @@ -146,6 +147,8 @@ HCPCellTreeWidget::startDrag (Qt::DropActions supportedActions) return; } + lay::BusySection busy_section; // issue 984 + QDrag *drag = new QDrag (this); drag->setMimeData(data); QPixmap px (1, 1); @@ -835,6 +838,8 @@ HierarchyControlPanel::do_update_content (int cv_index) if (&m_cellviews [i]->layout () != &mp_view->cellview (i)->layout ()) { m_needs_update [i] = true; m_force_close [i] = true; + } else if (! m_cellviews [i].is_valid ()) { + m_needs_update [i] = true; } else if (m_cellviews [i].combined_unspecific_path () != mp_view->cellview (i).combined_unspecific_path ()) { m_needs_update [i] = true; } @@ -1014,6 +1019,9 @@ HierarchyControlPanel::cut () bool needs_to_ask = false; db::Layout &layout = m_cellviews [m_active_index]->layout (); + if (! layout.is_editable ()) { + return; + } // collect the called cells of the cells to copy, so we don't copy a cell twice @@ -1151,6 +1159,9 @@ HierarchyControlPanel::paste () } db::Layout &layout = m_cellviews [m_active_index]->layout (); + if (! layout.is_editable ()) { + return; + } std::vector new_layers; diff --git a/src/laybasic/laybasic/layHierarchyControlPanel.h b/src/laybasic/laybasic/layHierarchyControlPanel.h index 1c539a40f..516ec1d46 100644 --- a/src/laybasic/laybasic/layHierarchyControlPanel.h +++ b/src/laybasic/laybasic/layHierarchyControlPanel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layIndexedNetlistModel.cc b/src/laybasic/laybasic/layIndexedNetlistModel.cc index 66a2c85f3..8c9fd6788 100644 --- a/src/laybasic/laybasic/layIndexedNetlistModel.cc +++ b/src/laybasic/laybasic/layIndexedNetlistModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layIndexedNetlistModel.h b/src/laybasic/laybasic/layIndexedNetlistModel.h index e73aac63a..6e6c35610 100644 --- a/src/laybasic/laybasic/layIndexedNetlistModel.h +++ b/src/laybasic/laybasic/layIndexedNetlistModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layItemDelegates.cc b/src/laybasic/laybasic/layItemDelegates.cc index 5574cee65..6d3e230c6 100644 --- a/src/laybasic/laybasic/layItemDelegates.cc +++ b/src/laybasic/laybasic/layItemDelegates.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,7 +40,7 @@ HTMLItemDelegate::HTMLItemDelegate (QObject *parent) m_icon_spacing = 6; m_text_margin = 4; m_text_height = -1; - m_text_width = 500; + m_text_width = -1; m_plain_text = false; m_anchors_clickable = false; } diff --git a/src/laybasic/laybasic/layItemDelegates.h b/src/laybasic/laybasic/layItemDelegates.h index 409eeb02e..6c860b2c2 100644 --- a/src/laybasic/laybasic/layItemDelegates.h +++ b/src/laybasic/laybasic/layItemDelegates.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerControlPanel.cc b/src/laybasic/laybasic/layLayerControlPanel.cc index 49432c18f..bdb0a3004 100644 --- a/src/laybasic/laybasic/layLayerControlPanel.cc +++ b/src/laybasic/laybasic/layLayerControlPanel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerControlPanel.h b/src/laybasic/laybasic/layLayerControlPanel.h index f8124f8df..1db2ee13c 100644 --- a/src/laybasic/laybasic/layLayerControlPanel.h +++ b/src/laybasic/laybasic/layLayerControlPanel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerMappingWidget.cc b/src/laybasic/laybasic/layLayerMappingWidget.cc index f9f39f26d..e1f75ef47 100644 --- a/src/laybasic/laybasic/layLayerMappingWidget.cc +++ b/src/laybasic/laybasic/layLayerMappingWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerMappingWidget.h b/src/laybasic/laybasic/layLayerMappingWidget.h index 3e6ec0b72..2690b7a8a 100644 --- a/src/laybasic/laybasic/layLayerMappingWidget.h +++ b/src/laybasic/laybasic/layLayerMappingWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerProperties.cc b/src/laybasic/laybasic/layLayerProperties.cc index d2a48227a..d24c08a62 100644 --- a/src/laybasic/laybasic/layLayerProperties.cc +++ b/src/laybasic/laybasic/layLayerProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerProperties.h b/src/laybasic/laybasic/layLayerProperties.h index d21d47b14..6f9c6d760 100644 --- a/src/laybasic/laybasic/layLayerProperties.h +++ b/src/laybasic/laybasic/layLayerProperties.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerToolbox.cc b/src/laybasic/laybasic/layLayerToolbox.cc index b3f995cb0..4ceb5cf89 100644 --- a/src/laybasic/laybasic/layLayerToolbox.cc +++ b/src/laybasic/laybasic/layLayerToolbox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerToolbox.h b/src/laybasic/laybasic/layLayerToolbox.h index c13942997..fa65510a5 100644 --- a/src/laybasic/laybasic/layLayerToolbox.h +++ b/src/laybasic/laybasic/layLayerToolbox.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerTreeModel.cc b/src/laybasic/laybasic/layLayerTreeModel.cc index 5c460abfe..5a3c09eea 100644 --- a/src/laybasic/laybasic/layLayerTreeModel.cc +++ b/src/laybasic/laybasic/layLayerTreeModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayerTreeModel.h b/src/laybasic/laybasic/layLayerTreeModel.h index 12bba517e..8273526f7 100644 --- a/src/laybasic/laybasic/layLayerTreeModel.h +++ b/src/laybasic/laybasic/layLayerTreeModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index 605504a1b..152644176 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutCanvas.h b/src/laybasic/laybasic/layLayoutCanvas.h index 96cea74c6..34660f835 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.h +++ b/src/laybasic/laybasic/layLayoutCanvas.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutPropertiesForm.cc b/src/laybasic/laybasic/layLayoutPropertiesForm.cc index b02913317..ad5eaf135 100644 --- a/src/laybasic/laybasic/layLayoutPropertiesForm.cc +++ b/src/laybasic/laybasic/layLayoutPropertiesForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -96,7 +96,7 @@ LayoutPropertiesForm::commit () // get the database unit double dbu = 0.001; - tl::from_string (tl::to_string (dbu_le->text ()), dbu); + tl::from_string_ext (tl::to_string (dbu_le->text ()), dbu); if (dbu < 1e-6 || dbu > 1e3) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid database unit"))); } diff --git a/src/laybasic/laybasic/layLayoutPropertiesForm.h b/src/laybasic/laybasic/layLayoutPropertiesForm.h index cf2b90e7c..992ac207c 100644 --- a/src/laybasic/laybasic/layLayoutPropertiesForm.h +++ b/src/laybasic/laybasic/layLayoutPropertiesForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutStatisticsForm.cc b/src/laybasic/laybasic/layLayoutStatisticsForm.cc index 34d70d782..e671fa0e5 100644 --- a/src/laybasic/laybasic/layLayoutStatisticsForm.cc +++ b/src/laybasic/laybasic/layLayoutStatisticsForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutStatisticsForm.h b/src/laybasic/laybasic/layLayoutStatisticsForm.h index 6516b1f46..f85afb598 100644 --- a/src/laybasic/laybasic/layLayoutStatisticsForm.h +++ b/src/laybasic/laybasic/layLayoutStatisticsForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutView.cc b/src/laybasic/laybasic/layLayoutView.cc index f4ee5e352..d780fd482 100644 --- a/src/laybasic/laybasic/layLayoutView.cc +++ b/src/laybasic/laybasic/layLayoutView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -4895,6 +4895,7 @@ LayoutView::select_cell_fit (const cell_path_type &path, int index) set_min_hier_levels (0); cancel (); + cellview_iter (index)->set_specific_path (lay::CellView::specific_cell_path_type ()); cellview_iter (index)->set_unspecific_path (path); set_active_cellview_index (index); redraw (); @@ -4984,6 +4985,7 @@ LayoutView::select_cell (const cell_path_type &path, int index) set_min_hier_levels (0); cancel (); + cellview_iter (index)->set_specific_path (lay::CellView::specific_cell_path_type ()); cellview_iter (index)->set_unspecific_path (path); set_active_cellview_index (index); redraw (); diff --git a/src/laybasic/laybasic/layLayoutView.h b/src/laybasic/laybasic/layLayoutView.h index 2438f0b14..0ad398392 100644 --- a/src/laybasic/laybasic/layLayoutView.h +++ b/src/laybasic/laybasic/layLayoutView.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutViewConfigPages.cc b/src/laybasic/laybasic/layLayoutViewConfigPages.cc index 9f5bc1ec0..8463a6a5e 100644 --- a/src/laybasic/laybasic/layLayoutViewConfigPages.cc +++ b/src/laybasic/laybasic/layLayoutViewConfigPages.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -170,7 +170,7 @@ LayoutViewConfigPage1::commit (lay::Dispatcher *root) root->config_set (cfg_abstract_mode_enabled, mp_ui->abstract_mode_grp->isChecked ()); double w = 10.0; - tl::from_string (tl::to_string (mp_ui->abstract_mode_width_le->text ()), w); + tl::from_string_ext (tl::to_string (mp_ui->abstract_mode_width_le->text ()), w); root->config_set (cfg_abstract_mode_width, w); if (w <= 0.0) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid abstract mode border with - must be larger than 0"))); @@ -254,7 +254,7 @@ LayoutViewConfigPage2a::commit (lay::Dispatcher *root) try { int n; - tl::from_string (tl::to_string (mp_ui->cell_min_size_for_label_edit->text ()), n); + tl::from_string_ext (tl::to_string (mp_ui->cell_min_size_for_label_edit->text ()), n); root->config_set (cfg_min_inst_label_size, n); } catch (...) { } } @@ -319,7 +319,7 @@ LayoutViewConfigPage2b::commit (lay::Dispatcher *root) try { double s; - tl::from_string (tl::to_string (mp_ui->text_def_size_edit->text ()), s); + tl::from_string_ext (tl::to_string (mp_ui->text_def_size_edit->text ()), s); root->config_set (cfg_default_text_size, s); } catch (...) { } } @@ -511,7 +511,7 @@ LayoutViewConfigPage3b::commit (lay::Dispatcher *root) double pd = 0.0; try { - tl::from_string (tl::to_string (mp_ui->pan_distance_le->text ()), pd); + tl::from_string_ext (tl::to_string (mp_ui->pan_distance_le->text ()), pd); } catch (...) { } if (pd <= 0.0) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid pan distance: must be larger than 0.0"))); @@ -619,7 +619,7 @@ LayoutViewConfigPage3f::commit (lay::Dispatcher *root) try { unsigned int s; - tl::from_string (tl::to_string (mp_ui->drop_small_cells_value_le->text ()), s); + tl::from_string_ext (tl::to_string (mp_ui->drop_small_cells_value_le->text ()), s); root->config_set (cfg_drop_small_cells_value, s); } catch (...) { } diff --git a/src/laybasic/laybasic/layLayoutViewConfigPages.h b/src/laybasic/laybasic/layLayoutViewConfigPages.h index ff6e3a1cb..176e0e633 100644 --- a/src/laybasic/laybasic/layLayoutViewConfigPages.h +++ b/src/laybasic/laybasic/layLayoutViewConfigPages.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLayoutViewFunctions.cc b/src/laybasic/laybasic/layLayoutViewFunctions.cc index 28ed82c32..ba769f0d6 100644 --- a/src/laybasic/laybasic/layLayoutViewFunctions.cc +++ b/src/laybasic/laybasic/layLayoutViewFunctions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,6 +42,41 @@ namespace lay { +static void +collect_cells_to_delete (const db::Layout &layout, const db::Cell &cell, std::set &called) +{ + // don't delete proxies - they are deleted later when the layout is cleaned + for (db::Cell::child_cell_iterator cc = cell.begin_child_cells (); ! cc.at_end (); ++cc) { + if (called.find (*cc) == called.end () && !layout.cell (*cc).is_proxy ()) { + called.insert (*cc); + collect_cells_to_delete (layout, layout.cell (*cc), called); + } + } +} + +static bool +validate_cell_path (const db::Layout &layout, lay::LayoutView::cell_path_type &path) +{ + for (size_t i = 0; i < path.size (); ++i) { + + if (! layout.is_valid_cell_index (path [i])) { + + if (layout.is_valid_cell_index (path.back ())) { + // use a stub path + path.erase (path.begin (), --path.end ()); + } else { + // strip everything that is not valid + path.erase (path.begin () + i, path.end ()); + } + + return true; + + } + } + + return false; +} + LayoutViewFunctions::LayoutViewFunctions (db::Manager *manager, LayoutView *view) : lay::Plugin (view), mp_view (view), mp_manager (manager) { @@ -493,18 +528,7 @@ LayoutViewFunctions::cm_cell_replace () view ()->commit (); - // If one of the cells in the path was deleted, establish a valid path - - bool needs_update = false; - for (size_t i = cell_path.size (); i > 0; ) { - --i; - if (! layout.is_valid_cell_index (cell_path [i])) { - cell_path.erase (cell_path.begin () + i, cell_path.end ()); - needs_update = true; - } - } - - if (needs_update) { + if (validate_cell_path (layout, cell_path)) { view ()->select_cell (cell_path, cv_index); } @@ -613,36 +637,13 @@ LayoutViewFunctions::cm_cell_convert_to_static () view ()->commit (); - // If one of the cells in the path was deleted, establish a valid path - - bool needs_update = false; - for (size_t i = cell_path.size (); i > 0; ) { - --i; - if (! layout.is_valid_cell_index (cell_path [i])) { - cell_path.erase (cell_path.begin () + i, cell_path.end ()); - needs_update = true; - } - } - - if (needs_update) { + if (validate_cell_path (layout, cell_path)) { view ()->select_cell (cell_path, cv_index); } } } -static void -collect_cells_to_delete (const db::Layout &layout, const db::Cell &cell, std::set &called) -{ - // don't delete proxies - they are deleted later when the layout is cleaned - for (db::Cell::child_cell_iterator cc = cell.begin_child_cells (); ! cc.at_end (); ++cc) { - if (called.find (*cc) == called.end () && !layout.cell (*cc).is_proxy ()) { - called.insert (*cc); - collect_cells_to_delete (layout, layout.cell (*cc), called); - } - } -} - void LayoutViewFunctions::cm_cell_delete () { @@ -704,18 +705,7 @@ LayoutViewFunctions::cm_cell_delete () view ()->commit (); - // If one of the cells in the path was deleted, establish a valid path - - bool needs_update = false; - for (size_t i = cell_path.size (); i > 0; ) { - --i; - if (! layout.is_valid_cell_index (cell_path [i])) { - cell_path.erase (cell_path.begin () + i, cell_path.end ()); - needs_update = true; - } - } - - if (needs_update) { + if (validate_cell_path (layout, cell_path)) { view ()->select_cell (cell_path, cv_index); } @@ -1423,7 +1413,7 @@ LayoutViewFunctions::cm_lay_free_rot () if (ok) { double angle = 0.0; - tl::from_string (tl::to_string (s), angle); + tl::from_string_ext (tl::to_string (s), angle); transform_layout (db::DCplxTrans (1.0, angle, false, db::DVector ())); @@ -1443,7 +1433,7 @@ LayoutViewFunctions::cm_lay_scale () if (ok) { double scale = 0.0; - tl::from_string (tl::to_string (s), scale); + tl::from_string_ext (tl::to_string (s), scale); transform_layout (db::DCplxTrans (scale)); @@ -1516,7 +1506,7 @@ LayoutViewFunctions::cm_sel_free_rot () if (ok) { double angle = 0.0; - tl::from_string (tl::to_string (s), angle); + tl::from_string_ext (tl::to_string (s), angle); db::DCplxTrans tr = db::DCplxTrans (1.0, angle, false, db::DVector ()); db::DBox sel_bbox (view ()->lay::Editables::selection_bbox ()); @@ -1541,7 +1531,7 @@ LayoutViewFunctions::cm_sel_scale () if (ok) { double scale = 0.0; - tl::from_string (tl::to_string (s), scale); + tl::from_string_ext (tl::to_string (s), scale); db::DCplxTrans tr = db::DCplxTrans (scale); db::DBox sel_bbox (view ()->lay::Editables::selection_bbox ()); diff --git a/src/laybasic/laybasic/layLayoutViewFunctions.h b/src/laybasic/laybasic/layLayoutViewFunctions.h index 862c6fde7..37fdeb676 100644 --- a/src/laybasic/laybasic/layLayoutViewFunctions.h +++ b/src/laybasic/laybasic/layLayoutViewFunctions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLibrariesView.cc b/src/laybasic/laybasic/layLibrariesView.cc index 65b472924..4b1246666 100644 --- a/src/laybasic/laybasic/layLibrariesView.cc +++ b/src/laybasic/laybasic/layLibrariesView.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,6 +44,7 @@ #include "dbClipboardData.h" #include "dbLibraryManager.h" #include "dbLibrary.h" +#include "layBusy.h" #include "layLibrariesView.h" #include "layCellTreeModel.h" #include "layLayoutView.h" @@ -136,6 +137,8 @@ LibraryTreeWidget::startDrag (Qt::DropActions supportedActions) return; } + lay::BusySection busy_section; // issue 984 + QDrag *drag = new QDrag (this); drag->setMimeData(data); QPixmap px (1, 1); diff --git a/src/laybasic/laybasic/layLibrariesView.h b/src/laybasic/laybasic/layLibrariesView.h index 17c140dd2..3b12f3a20 100644 --- a/src/laybasic/laybasic/layLibrariesView.h +++ b/src/laybasic/laybasic/layLibrariesView.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLineStylePalette.cc b/src/laybasic/laybasic/layLineStylePalette.cc index 09a5a46f2..a6b56f6a8 100644 --- a/src/laybasic/laybasic/layLineStylePalette.cc +++ b/src/laybasic/laybasic/layLineStylePalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLineStylePalette.h b/src/laybasic/laybasic/layLineStylePalette.h index cf31d8af7..02935e228 100644 --- a/src/laybasic/laybasic/layLineStylePalette.h +++ b/src/laybasic/laybasic/layLineStylePalette.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLineStyles.cc b/src/laybasic/laybasic/layLineStyles.cc index aa701eb74..f31fcc1ab 100644 --- a/src/laybasic/laybasic/layLineStyles.cc +++ b/src/laybasic/laybasic/layLineStyles.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLineStyles.h b/src/laybasic/laybasic/layLineStyles.h index 8c0d67a42..5e506dfa5 100644 --- a/src/laybasic/laybasic/layLineStyles.h +++ b/src/laybasic/laybasic/layLineStyles.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLoadLayoutOptionsDialog.cc b/src/laybasic/laybasic/layLoadLayoutOptionsDialog.cc index 99eb109b4..6d3835299 100644 --- a/src/laybasic/laybasic/layLoadLayoutOptionsDialog.cc +++ b/src/laybasic/laybasic/layLoadLayoutOptionsDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layLoadLayoutOptionsDialog.h b/src/laybasic/laybasic/layLoadLayoutOptionsDialog.h index a2fffc509..2ea91d1a5 100644 --- a/src/laybasic/laybasic/layLoadLayoutOptionsDialog.h +++ b/src/laybasic/laybasic/layLoadLayoutOptionsDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layMarker.cc b/src/laybasic/laybasic/layMarker.cc index 3a41c01bd..ac08e6d95 100644 --- a/src/laybasic/laybasic/layMarker.cc +++ b/src/laybasic/laybasic/layMarker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -160,6 +160,21 @@ void render_cell_inst (const db::Layout &layout, const db::CellInstArray &inst, } + { + // render error layer + + db::RecursiveShapeIterator shapes (layout, cell, layout.error_layer ()); + while (! shapes.at_end ()) { + + for (db::CellInstArray::iterator arr = inst.begin (); ! arr.at_end (); ++arr) { + r.draw (*shapes, tr * inst.complex_trans (*arr) * shapes.trans (), fill, contour, 0 /*use vertex for origin*/, text); + } + + ++shapes; + + } + } + // render the origins if (render_origins && vertex) { diff --git a/src/laybasic/laybasic/layMarker.h b/src/laybasic/laybasic/layMarker.h index 052746f28..c3a140a87 100644 --- a/src/laybasic/laybasic/layMarker.h +++ b/src/laybasic/laybasic/layMarker.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layMouseTracker.cc b/src/laybasic/laybasic/layMouseTracker.cc index 85e652ad9..73caa324b 100644 --- a/src/laybasic/laybasic/layMouseTracker.cc +++ b/src/laybasic/laybasic/layMouseTracker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -38,8 +38,20 @@ bool MouseTracker::mouse_move_event (const db::DPoint &p, unsigned int /*buttons*/, bool prio) { if (prio) { - mp_view->current_pos (p.x (), p.y ()); + + // NOTE: because the tracker grabs first and grabbers are registered first gets served last, the + // tracker will receive the event after all other mouse grabbers have been served and had their + // chance to set the tracking position. + lay::ViewService *vs = mp_view->view_object_widget ()->active_service (); + db::DPoint tp = p; + if (vs && vs->enabled () && vs->has_tracking_position ()) { + tp = vs->tracking_position (); + } + + mp_view->current_pos (tp.x (), tp.y ()); + } + return false; } diff --git a/src/laybasic/laybasic/layMouseTracker.h b/src/laybasic/laybasic/layMouseTracker.h index b1f637cba..3e826606b 100644 --- a/src/laybasic/laybasic/layMouseTracker.h +++ b/src/laybasic/laybasic/layMouseTracker.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layMove.cc b/src/laybasic/laybasic/layMove.cc index bbcc94f66..5347b8999 100644 --- a/src/laybasic/laybasic/layMove.cc +++ b/src/laybasic/laybasic/layMove.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layMove.h b/src/laybasic/laybasic/layMove.h index f9eb95f4b..0bea3f5a9 100644 --- a/src/laybasic/laybasic/layMove.h +++ b/src/laybasic/laybasic/layMove.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetExportDialog.cc b/src/laybasic/laybasic/layNetExportDialog.cc index 4e5471347..6838810c5 100644 --- a/src/laybasic/laybasic/layNetExportDialog.cc +++ b/src/laybasic/laybasic/layNetExportDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -151,7 +151,7 @@ int NetExportDialog::start_layer_number () { int ln = 0; - tl::from_string (tl::to_string (ui->layernum->text ()), ln); + tl::from_string_ext (tl::to_string (ui->layernum->text ()), ln); return ln; } diff --git a/src/laybasic/laybasic/layNetExportDialog.h b/src/laybasic/laybasic/layNetExportDialog.h index 5e2ce2b91..ee46befd4 100644 --- a/src/laybasic/laybasic/layNetExportDialog.h +++ b/src/laybasic/laybasic/layNetExportDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetInfoDialog.cc b/src/laybasic/laybasic/layNetInfoDialog.cc index 368512dc6..bd326b193 100644 --- a/src/laybasic/laybasic/layNetInfoDialog.cc +++ b/src/laybasic/laybasic/layNetInfoDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetInfoDialog.h b/src/laybasic/laybasic/layNetInfoDialog.h index 90056a5ff..3c3353125 100644 --- a/src/laybasic/laybasic/layNetInfoDialog.h +++ b/src/laybasic/laybasic/layNetInfoDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowser.cc b/src/laybasic/laybasic/layNetlistBrowser.cc index e6b8a7407..d43501a38 100644 --- a/src/laybasic/laybasic/layNetlistBrowser.cc +++ b/src/laybasic/laybasic/layNetlistBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -136,10 +136,10 @@ void NetlistBrowserConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_shapes_highlighted = 10000; - tl::from_string (tl::to_string (le_max_markers->text ()), max_shapes_highlighted); + tl::from_string_ext (tl::to_string (le_max_markers->text ()), max_shapes_highlighted); root->config_set (cfg_l2ndb_window_mode, lay::NetlistBrowserConfig::net_window_type (cbx_window->currentIndex ()), NetlistBrowserWindowModeConverter ()); root->config_set (cfg_l2ndb_window_dim, dim); @@ -300,7 +300,7 @@ NetlistBrowserConfigPage2::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (lw_le->text ()), s); + tl::from_string_ext (tl::to_string (lw_le->text ()), s); root->config_set (cfg_l2ndb_marker_line_width, s); } catch (...) { } } @@ -310,7 +310,7 @@ NetlistBrowserConfigPage2::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (vs_le->text ()), s); + tl::from_string_ext (tl::to_string (vs_le->text ()), s); root->config_set (cfg_l2ndb_marker_vertex_size, s); } catch (...) { } } diff --git a/src/laybasic/laybasic/layNetlistBrowser.h b/src/laybasic/laybasic/layNetlistBrowser.h index 0ad7b83c0..96b55874d 100644 --- a/src/laybasic/laybasic/layNetlistBrowser.h +++ b/src/laybasic/laybasic/layNetlistBrowser.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserDialog.cc b/src/laybasic/laybasic/layNetlistBrowserDialog.cc index 111c16d63..4ecf301b4 100644 --- a/src/laybasic/laybasic/layNetlistBrowserDialog.cc +++ b/src/laybasic/laybasic/layNetlistBrowserDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserDialog.h b/src/laybasic/laybasic/layNetlistBrowserDialog.h index eeda3f3c3..b8e929cfa 100644 --- a/src/laybasic/laybasic/layNetlistBrowserDialog.h +++ b/src/laybasic/laybasic/layNetlistBrowserDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.cc b/src/laybasic/laybasic/layNetlistBrowserModel.cc index c9f1d7630..61126be03 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -326,7 +326,7 @@ std::string device_parameter_string (const db::Device *device) const std::vector &pd = device->device_class ()->parameter_definitions (); for (std::vector::const_iterator p = pd.begin (); p != pd.end (); ++p) { double v = device->parameter_value (p->id ()); - if (! tl::equal (v, p->default_value ())) { + if (v > 0.0) { if (first) { s += " ["; first = false; @@ -2566,8 +2566,12 @@ NetlistBrowserModel::data (const QModelIndex &index, int role) const return QVariant (icon_for_status (status (index))); } else if (role == Qt::DisplayRole) { return QVariant (text (index)); - } else if (role == Qt::ToolTipRole && index.column () == m_status_column) { - return tooltip (index); + } else if (role == Qt::ToolTipRole) { + if (index.column () == m_status_column) { + return tooltip (index); + } else { + return QVariant (text (index)); + } } else if (role == Qt::UserRole) { return QVariant (search_text (index)); } else if (role == Qt::FontRole) { diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.h b/src/laybasic/laybasic/layNetlistBrowserModel.h index 0d1d7766d..005664a6f 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.h +++ b/src/laybasic/laybasic/layNetlistBrowserModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserPage.cc b/src/laybasic/laybasic/layNetlistBrowserPage.cc index be42ee672..f69b537d7 100644 --- a/src/laybasic/laybasic/layNetlistBrowserPage.cc +++ b/src/laybasic/laybasic/layNetlistBrowserPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserPage.h b/src/laybasic/laybasic/layNetlistBrowserPage.h index 59475d788..77cf489e7 100644 --- a/src/laybasic/laybasic/layNetlistBrowserPage.h +++ b/src/laybasic/laybasic/layNetlistBrowserPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc b/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc index b8f4332f1..c88954df6 100644 --- a/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -164,8 +164,12 @@ NetlistBrowserTreeModel::data (const QModelIndex &index, int role) const return QVariant (icon_for_status (status (index))); } else if (role == Qt::DisplayRole) { return QVariant (text (index)); - } else if (role == Qt::ToolTipRole && index.column () == m_status_column) { - return tooltip (index); + } else if (role == Qt::ToolTipRole) { + if (index.column () == m_status_column) { + return tooltip (index); + } else { + return QVariant (text (index)); + } } else if (role == Qt::UserRole) { return QVariant (search_text (index)); } else if (role == Qt::FontRole) { diff --git a/src/laybasic/laybasic/layNetlistBrowserTreeModel.h b/src/laybasic/laybasic/layNetlistBrowserTreeModel.h index 6bac31e60..d17c0bff2 100644 --- a/src/laybasic/laybasic/layNetlistBrowserTreeModel.h +++ b/src/laybasic/laybasic/layNetlistBrowserTreeModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistCrossReferenceModel.cc b/src/laybasic/laybasic/layNetlistCrossReferenceModel.cc index e458388c7..17ced1c64 100644 --- a/src/laybasic/laybasic/layNetlistCrossReferenceModel.cc +++ b/src/laybasic/laybasic/layNetlistCrossReferenceModel.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layNetlistCrossReferenceModel.h b/src/laybasic/laybasic/layNetlistCrossReferenceModel.h index cc1115f4e..8ad542411 100644 --- a/src/laybasic/laybasic/layNetlistCrossReferenceModel.h +++ b/src/laybasic/laybasic/layNetlistCrossReferenceModel.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layObjectInstPath.cc b/src/laybasic/laybasic/layObjectInstPath.cc index 5f7747021..48ec1167e 100644 --- a/src/laybasic/laybasic/layObjectInstPath.cc +++ b/src/laybasic/laybasic/layObjectInstPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layObjectInstPath.h b/src/laybasic/laybasic/layObjectInstPath.h index f8fcedd7d..91d3ef681 100644 --- a/src/laybasic/laybasic/layObjectInstPath.h +++ b/src/laybasic/laybasic/layObjectInstPath.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layParsedLayerSource.cc b/src/laybasic/laybasic/layParsedLayerSource.cc index c818532b0..da2c51a16 100644 --- a/src/laybasic/laybasic/layParsedLayerSource.cc +++ b/src/laybasic/laybasic/layParsedLayerSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layParsedLayerSource.h b/src/laybasic/laybasic/layParsedLayerSource.h index 9af1d8167..e3bbfa511 100644 --- a/src/laybasic/laybasic/layParsedLayerSource.h +++ b/src/laybasic/laybasic/layParsedLayerSource.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -35,8 +35,8 @@ namespace db { - struct LayerProperties; class Layout; + struct LayerProperties; } namespace lay diff --git a/src/laybasic/laybasic/layPlugin.cc b/src/laybasic/laybasic/layPlugin.cc index 725c42c7b..15685bf13 100644 --- a/src/laybasic/laybasic/layPlugin.cc +++ b/src/laybasic/laybasic/layPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layPlugin.h b/src/laybasic/laybasic/layPlugin.h index a592fb9d9..59b356d2f 100644 --- a/src/laybasic/laybasic/layPlugin.h +++ b/src/laybasic/laybasic/layPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layProperties.cc b/src/laybasic/laybasic/layProperties.cc index a409d7a63..8f9696e13 100644 --- a/src/laybasic/laybasic/layProperties.cc +++ b/src/laybasic/laybasic/layProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layProperties.h b/src/laybasic/laybasic/layProperties.h index 58f1df9d7..36124cc7d 100644 --- a/src/laybasic/laybasic/layProperties.h +++ b/src/laybasic/laybasic/layProperties.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layPropertiesDialog.cc b/src/laybasic/laybasic/layPropertiesDialog.cc index 6aa420e11..b42d3c367 100644 --- a/src/laybasic/laybasic/layPropertiesDialog.cc +++ b/src/laybasic/laybasic/layPropertiesDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -139,7 +139,9 @@ BEGIN_PROTECTED if (! mp_properties_pages [m_index]->readonly ()) { db::Transaction t (mp_manager, tl::to_string (QObject::tr ("Apply changes")), m_transaction_id); mp_properties_pages [m_index]->apply (); - m_transaction_id = t.id (); + if (! t.is_empty ()) { + m_transaction_id = t.id (); + } } // advance the current entry @@ -181,7 +183,9 @@ BEGIN_PROTECTED if (! mp_properties_pages [m_index]->readonly ()) { db::Transaction t (mp_manager, tl::to_string (QObject::tr ("Apply changes")), m_transaction_id); mp_properties_pages [m_index]->apply (); - m_transaction_id = t.id (); + if (! t.is_empty ()) { + m_transaction_id = t.id (); + } } if (mp_properties_pages [m_index]->at_begin ()) { @@ -280,7 +284,10 @@ BEGIN_PROTECTED // we assume the page somehow indicates the error and does not apply the values } - m_transaction_id = t.id (); + // remember transaction ID for undo on "Cancel" unless nothing happened + if (! t.is_empty ()) { + m_transaction_id = t.id (); + } END_PROTECTED } @@ -294,7 +301,9 @@ PropertiesDialog::cancel_pressed () // because undo does not maintain a valid selection we clear it mp_editables->clear_selection (); - mp_manager->undo (); + if (mp_manager->transaction_id_for_undo () == m_transaction_id) { + mp_manager->undo (); + } m_transaction_id = 0; } @@ -317,7 +326,9 @@ BEGIN_PROTECTED mp_properties_pages [m_index]->apply (); mp_properties_pages [m_index]->update (); - m_transaction_id = t.id (); + if (! t.is_empty ()) { + m_transaction_id = t.id (); + } } diff --git a/src/laybasic/laybasic/layPropertiesDialog.h b/src/laybasic/laybasic/layPropertiesDialog.h index 4f68f5ac2..4aad302c6 100644 --- a/src/laybasic/laybasic/layPropertiesDialog.h +++ b/src/laybasic/laybasic/layPropertiesDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layQtTools.cc b/src/laybasic/laybasic/layQtTools.cc index 249d28158..70a0f6b22 100644 --- a/src/laybasic/laybasic/layQtTools.cc +++ b/src/laybasic/laybasic/layQtTools.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layQtTools.h b/src/laybasic/laybasic/layQtTools.h index 6f3189b7a..fe0a65557 100644 --- a/src/laybasic/laybasic/layQtTools.h +++ b/src/laybasic/laybasic/layQtTools.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawLayerInfo.cc b/src/laybasic/laybasic/layRedrawLayerInfo.cc index 4c068dba4..86e732fe8 100644 --- a/src/laybasic/laybasic/layRedrawLayerInfo.cc +++ b/src/laybasic/laybasic/layRedrawLayerInfo.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawLayerInfo.h b/src/laybasic/laybasic/layRedrawLayerInfo.h index 4e5b52d04..e0dee0d56 100644 --- a/src/laybasic/laybasic/layRedrawLayerInfo.h +++ b/src/laybasic/laybasic/layRedrawLayerInfo.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawThread.cc b/src/laybasic/laybasic/layRedrawThread.cc index 1869c7223..b0902a379 100644 --- a/src/laybasic/laybasic/layRedrawThread.cc +++ b/src/laybasic/laybasic/layRedrawThread.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawThread.h b/src/laybasic/laybasic/layRedrawThread.h index 1bfa9c181..4658b8c85 100644 --- a/src/laybasic/laybasic/layRedrawThread.h +++ b/src/laybasic/laybasic/layRedrawThread.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawThreadCanvas.cc b/src/laybasic/laybasic/layRedrawThreadCanvas.cc index d1b422098..94125b20a 100644 --- a/src/laybasic/laybasic/layRedrawThreadCanvas.cc +++ b/src/laybasic/laybasic/layRedrawThreadCanvas.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawThreadCanvas.h b/src/laybasic/laybasic/layRedrawThreadCanvas.h index 6673ede28..b765b3fcd 100644 --- a/src/laybasic/laybasic/layRedrawThreadCanvas.h +++ b/src/laybasic/laybasic/layRedrawThreadCanvas.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRedrawThreadWorker.cc b/src/laybasic/laybasic/layRedrawThreadWorker.cc index 74d05d1ab..b63e15b2a 100644 --- a/src/laybasic/laybasic/layRedrawThreadWorker.cc +++ b/src/laybasic/laybasic/layRedrawThreadWorker.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -359,7 +359,7 @@ RedrawThreadWorker::perform_task (tl::Task *task) } } - // draw the guiding shapes + // draw the guiding and error shapes for (std::set< std::pair >::const_iterator b = m_box_variants.begin (); b != m_box_variants.end (); ++b) { const lay::CellView &cv = m_cellviews [b->second]; @@ -374,8 +374,6 @@ RedrawThreadWorker::perform_task (tl::Task *task) // draw one level more to show the guiding shapes as part of the instance m_to_level += 1; // TODO: modifying this basic setting is a hack! - m_layer = mp_layout->guiding_shape_layer (); - // configure renderer .. mp_renderer->draw_texts (m_text_visible); mp_renderer->draw_properties (false); @@ -384,13 +382,30 @@ RedrawThreadWorker::perform_task (tl::Task *task) mp_renderer->set_font (db::Font (m_text_font)); mp_renderer->apply_text_trans (m_apply_text_trans); + bool f = m_text_lazy_rendering; + try { + + m_text_lazy_rendering = false; + + m_layer = mp_layout->guiding_shape_layer (); iterate_variants (m_redraw_region, cv.cell_index (), trans, &RedrawThreadWorker::draw_layer); iterate_variants (text_redraw_regions, cv.cell_index (), trans, &RedrawThreadWorker::draw_text_layer); + + m_layer = mp_layout->error_layer (); + iterate_variants (m_redraw_region, cv.cell_index (), trans, &RedrawThreadWorker::draw_layer); + iterate_variants (text_redraw_regions, cv.cell_index (), trans, &RedrawThreadWorker::draw_text_layer); + + m_text_lazy_rendering = f; m_to_level -= 1; + } catch (...) { + + m_text_lazy_rendering = f; m_to_level -= 1; + throw; + } } diff --git a/src/laybasic/laybasic/layRedrawThreadWorker.h b/src/laybasic/laybasic/layRedrawThreadWorker.h index 27cd674b0..545772118 100644 --- a/src/laybasic/laybasic/layRedrawThreadWorker.h +++ b/src/laybasic/laybasic/layRedrawThreadWorker.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRenderer.cc b/src/laybasic/laybasic/layRenderer.cc index c01ccbf35..c607b5b17 100644 --- a/src/laybasic/laybasic/layRenderer.cc +++ b/src/laybasic/laybasic/layRenderer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRenderer.h b/src/laybasic/laybasic/layRenderer.h index bd7121ee5..373aea937 100644 --- a/src/laybasic/laybasic/layRenderer.h +++ b/src/laybasic/laybasic/layRenderer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRubberBox.cc b/src/laybasic/laybasic/layRubberBox.cc index 1309f1fae..6f0cb8c07 100644 --- a/src/laybasic/laybasic/layRubberBox.cc +++ b/src/laybasic/laybasic/layRubberBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layRubberBox.h b/src/laybasic/laybasic/layRubberBox.h index 99a7b308c..020084f59 100644 --- a/src/laybasic/laybasic/layRubberBox.h +++ b/src/laybasic/laybasic/layRubberBox.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc index 174832042..c1fc62cb4 100644 --- a/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc +++ b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -396,8 +396,8 @@ SaveLayoutAsOptionsDialog::ok_button_pressed () } double x = 0.0; - tl::from_string (tl::to_string (dbu_le->text ()), x); - tl::from_string (tl::to_string (sf_le->text ()), x); + tl::from_string_ext (tl::to_string (dbu_le->text ()), x); + tl::from_string_ext (tl::to_string (sf_le->text ()), x); accept (); @@ -475,10 +475,10 @@ SaveLayoutAsOptionsDialog::get_options (lay::LayoutView *view, unsigned int cv_i } double dbu = 0.0; - tl::from_string (tl::to_string (dbu_le->text ()), dbu); + tl::from_string_ext (tl::to_string (dbu_le->text ()), dbu); double sf = 1.0; - tl::from_string (tl::to_string (sf_le->text ()), sf); + tl::from_string_ext (tl::to_string (sf_le->text ()), sf); options.set_dbu (dbu); options.set_scale_factor (sf); diff --git a/src/laybasic/laybasic/laySaveLayoutOptionsDialog.h b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.h index c83be641a..a482e90f5 100644 --- a/src/laybasic/laybasic/laySaveLayoutOptionsDialog.h +++ b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectCellViewForm.cc b/src/laybasic/laybasic/laySelectCellViewForm.cc index fe2c0eaa0..7ef98e984 100644 --- a/src/laybasic/laybasic/laySelectCellViewForm.cc +++ b/src/laybasic/laybasic/laySelectCellViewForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectCellViewForm.h b/src/laybasic/laybasic/laySelectCellViewForm.h index 2125fb2ad..9dd053bc4 100644 --- a/src/laybasic/laybasic/laySelectCellViewForm.h +++ b/src/laybasic/laybasic/laySelectCellViewForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectLineStyleForm.cc b/src/laybasic/laybasic/laySelectLineStyleForm.cc index a089bc47c..df64c51b9 100644 --- a/src/laybasic/laybasic/laySelectLineStyleForm.cc +++ b/src/laybasic/laybasic/laySelectLineStyleForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectLineStyleForm.h b/src/laybasic/laybasic/laySelectLineStyleForm.h index be70d46f0..971e244aa 100644 --- a/src/laybasic/laybasic/laySelectLineStyleForm.h +++ b/src/laybasic/laybasic/laySelectLineStyleForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectStippleForm.cc b/src/laybasic/laybasic/laySelectStippleForm.cc index d6fbe3def..97e954faf 100644 --- a/src/laybasic/laybasic/laySelectStippleForm.cc +++ b/src/laybasic/laybasic/laySelectStippleForm.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelectStippleForm.h b/src/laybasic/laybasic/laySelectStippleForm.h index f2fe6ae23..a6432e460 100644 --- a/src/laybasic/laybasic/laySelectStippleForm.h +++ b/src/laybasic/laybasic/laySelectStippleForm.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelector.cc b/src/laybasic/laybasic/laySelector.cc index d17180605..1c85416c1 100644 --- a/src/laybasic/laybasic/laySelector.cc +++ b/src/laybasic/laybasic/laySelector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySelector.h b/src/laybasic/laybasic/laySelector.h index 54e88dbd5..85ba64d76 100644 --- a/src/laybasic/laybasic/laySelector.h +++ b/src/laybasic/laybasic/laySelector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySnap.cc b/src/laybasic/laybasic/laySnap.cc index a6fd51a6b..f7a92dca6 100644 --- a/src/laybasic/laybasic/laySnap.cc +++ b/src/laybasic/laybasic/laySnap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laySnap.h b/src/laybasic/laybasic/laySnap.h index 5e98a1cc7..506f19e60 100644 --- a/src/laybasic/laybasic/laySnap.h +++ b/src/laybasic/laybasic/laySnap.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layStipplePalette.cc b/src/laybasic/laybasic/layStipplePalette.cc index 7344b3531..72e0898e2 100644 --- a/src/laybasic/laybasic/layStipplePalette.cc +++ b/src/laybasic/laybasic/layStipplePalette.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layStipplePalette.h b/src/laybasic/laybasic/layStipplePalette.h index 9d145d741..2a9abca8b 100644 --- a/src/laybasic/laybasic/layStipplePalette.h +++ b/src/laybasic/laybasic/layStipplePalette.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layStream.cc b/src/laybasic/laybasic/layStream.cc index 8b2dc6223..64a59d6c6 100644 --- a/src/laybasic/laybasic/layStream.cc +++ b/src/laybasic/laybasic/layStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layStream.h b/src/laybasic/laybasic/layStream.h index bc0363d29..333e86331 100644 --- a/src/laybasic/laybasic/layStream.h +++ b/src/laybasic/laybasic/layStream.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layTechnology.cc b/src/laybasic/laybasic/layTechnology.cc index ae4508ab3..5f03acdce 100644 --- a/src/laybasic/laybasic/layTechnology.cc +++ b/src/laybasic/laybasic/layTechnology.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layTechnology.h b/src/laybasic/laybasic/layTechnology.h index cd632e7a9..a4d25fccc 100644 --- a/src/laybasic/laybasic/layTechnology.h +++ b/src/laybasic/laybasic/layTechnology.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layTipDialog.cc b/src/laybasic/laybasic/layTipDialog.cc index 8ff1d62b1..fd9c27493 100644 --- a/src/laybasic/laybasic/layTipDialog.cc +++ b/src/laybasic/laybasic/layTipDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layTipDialog.h b/src/laybasic/laybasic/layTipDialog.h index 391cf4380..dabc68318 100644 --- a/src/laybasic/laybasic/layTipDialog.h +++ b/src/laybasic/laybasic/layTipDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layViewObject.cc b/src/laybasic/laybasic/layViewObject.cc index db61cfc3b..7a3ecb3a0 100644 --- a/src/laybasic/laybasic/layViewObject.cc +++ b/src/laybasic/laybasic/layViewObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layViewObject.h b/src/laybasic/laybasic/layViewObject.h index 04a2cccfc..3e10c0b0d 100644 --- a/src/laybasic/laybasic/layViewObject.h +++ b/src/laybasic/laybasic/layViewObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -380,6 +380,16 @@ public: */ virtual void drag_cancel () { } + /** + * @brief Gets a value indicating whether a cursor position it set + */ + virtual bool has_tracking_position () const { return false; } + + /** + * @brief Gets the cursor position if one is set + */ + virtual db::DPoint tracking_position () const { return db::DPoint (); } + /** * @brief Enable or disable a service * diff --git a/src/laybasic/laybasic/layViewOp.cc b/src/laybasic/laybasic/layViewOp.cc index d3cb3ce7c..392ff828d 100644 --- a/src/laybasic/laybasic/layViewOp.cc +++ b/src/laybasic/laybasic/layViewOp.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layViewOp.h b/src/laybasic/laybasic/layViewOp.h index f8aadbfbd..f9cf704c6 100644 --- a/src/laybasic/laybasic/layViewOp.h +++ b/src/laybasic/laybasic/layViewOp.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layViewport.cc b/src/laybasic/laybasic/layViewport.cc index 873de5047..1cb1dbe73 100644 --- a/src/laybasic/laybasic/layViewport.cc +++ b/src/laybasic/laybasic/layViewport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layViewport.h b/src/laybasic/laybasic/layViewport.h index e00de36eb..5c68d8444 100644 --- a/src/laybasic/laybasic/layViewport.h +++ b/src/laybasic/laybasic/layViewport.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layWidgets.cc b/src/laybasic/laybasic/layWidgets.cc index 2dc5fe385..3335861a2 100644 --- a/src/laybasic/laybasic/layWidgets.cc +++ b/src/laybasic/laybasic/layWidgets.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layWidgets.h b/src/laybasic/laybasic/layWidgets.h index 942e7c904..6020c78a9 100644 --- a/src/laybasic/laybasic/layWidgets.h +++ b/src/laybasic/laybasic/layWidgets.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layZoomBox.cc b/src/laybasic/laybasic/layZoomBox.cc index 612e1e2fa..50af13b8a 100644 --- a/src/laybasic/laybasic/layZoomBox.cc +++ b/src/laybasic/laybasic/layZoomBox.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/layZoomBox.h b/src/laybasic/laybasic/layZoomBox.h index 6ef28af91..27fb82ff8 100644 --- a/src/laybasic/laybasic/layZoomBox.h +++ b/src/laybasic/laybasic/layZoomBox.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laybasic.pro b/src/laybasic/laybasic/laybasic.pro index 309e33a20..ed2625d9d 100644 --- a/src/laybasic/laybasic/laybasic.pro +++ b/src/laybasic/laybasic/laybasic.pro @@ -74,8 +74,7 @@ FORMS = \ NetInfoDialog.ui \ NetExportDialog.ui \ SelectCellViewForm.ui \ - LayoutStatistics.ui \ - D25TechnologyComponentEditor.ui + LayoutStatistics.ui RESOURCES = \ laybasicResources.qrc \ @@ -102,6 +101,7 @@ SOURCES = \ layBrowserDialog.cc \ layBrowserPanel.cc \ layBrowseShapesForm.cc \ + layBusy.cc \ layCanvasPlane.cc \ layCellSelectionForm.cc \ layCellTreeModel.cc \ @@ -191,7 +191,6 @@ SOURCES = \ laySelectCellViewForm.cc \ layLayoutStatisticsForm.cc \ gsiDeclLayNetlistBrowserDialog.cc \ - layD25TechnologyComponent.cc \ layLayoutViewFunctions.cc HEADERS = \ @@ -208,6 +207,7 @@ HEADERS = \ layBrowser.h \ layBrowserPanel.h \ layBrowseShapesForm.h \ + layBusy.h \ layCanvasPlane.h \ layCellSelectionForm.h \ layCellTreeModel.h \ @@ -298,7 +298,6 @@ HEADERS = \ layDispatcher.h \ laySelectCellViewForm.h \ layLayoutStatisticsForm.h \ - layD25TechnologyComponent.h \ layLayoutViewFunctions.h INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LYM_INC diff --git a/src/laybasic/laybasic/laybasicCommon.h b/src/laybasic/laybasic/laybasicCommon.h index 260568e9e..108fb7c13 100644 --- a/src/laybasic/laybasic/laybasicCommon.h +++ b/src/laybasic/laybasic/laybasicCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/laybasicConfig.h b/src/laybasic/laybasic/laybasicConfig.h index 3cdd575f0..d9e7bd5ad 100644 --- a/src/laybasic/laybasic/laybasicConfig.h +++ b/src/laybasic/laybasic/laybasicConfig.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbInfoWidget.cc b/src/laybasic/laybasic/rdbInfoWidget.cc index d5c009a14..f692ab093 100644 --- a/src/laybasic/laybasic/rdbInfoWidget.cc +++ b/src/laybasic/laybasic/rdbInfoWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbInfoWidget.h b/src/laybasic/laybasic/rdbInfoWidget.h index 102db6b5a..b9198970b 100644 --- a/src/laybasic/laybasic/rdbInfoWidget.h +++ b/src/laybasic/laybasic/rdbInfoWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbMarkerBrowser.cc b/src/laybasic/laybasic/rdbMarkerBrowser.cc index d787c2e59..2a7e9928a 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowser.cc +++ b/src/laybasic/laybasic/rdbMarkerBrowser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -170,10 +170,10 @@ void MarkerBrowserConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_markers_count = 1000; - tl::from_string (tl::to_string (le_max_markers->text ()), max_markers_count); + tl::from_string_ext (tl::to_string (le_max_markers->text ()), max_markers_count); root->config_set (cfg_rdb_context_mode, rdb::context_mode_type (cbx_context->currentIndex ()), MarkerBrowserContextModeConverter ()); root->config_set (cfg_rdb_window_mode, rdb::window_type (cbx_window->currentIndex ()), MarkerBrowserWindowModeConverter ()); @@ -238,7 +238,7 @@ MarkerBrowserConfigPage2::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (lw_le->text ()), s); + tl::from_string_ext (tl::to_string (lw_le->text ()), s); root->config_set (cfg_rdb_marker_line_width, s); } catch (...) { } } @@ -248,7 +248,7 @@ MarkerBrowserConfigPage2::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (vs_le->text ()), s); + tl::from_string_ext (tl::to_string (vs_le->text ()), s); root->config_set (cfg_rdb_marker_vertex_size, s); } catch (...) { } } diff --git a/src/laybasic/laybasic/rdbMarkerBrowser.h b/src/laybasic/laybasic/rdbMarkerBrowser.h index f43c1f4fb..8c9feb344 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowser.h +++ b/src/laybasic/laybasic/rdbMarkerBrowser.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbMarkerBrowserDialog.cc b/src/laybasic/laybasic/rdbMarkerBrowserDialog.cc index 777582d85..76baf7e1d 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowserDialog.cc +++ b/src/laybasic/laybasic/rdbMarkerBrowserDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbMarkerBrowserDialog.h b/src/laybasic/laybasic/rdbMarkerBrowserDialog.h index 342efb6ea..b15dd5369 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowserDialog.h +++ b/src/laybasic/laybasic/rdbMarkerBrowserDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbMarkerBrowserPage.cc b/src/laybasic/laybasic/rdbMarkerBrowserPage.cc index c38484b5d..1342fa14b 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowserPage.cc +++ b/src/laybasic/laybasic/rdbMarkerBrowserPage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/laybasic/rdbMarkerBrowserPage.h b/src/laybasic/laybasic/rdbMarkerBrowserPage.h index befcd8dd3..a4d82da0c 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowserPage.h +++ b/src/laybasic/laybasic/rdbMarkerBrowserPage.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layAbstractMenuTests.cc b/src/laybasic/unit_tests/layAbstractMenuTests.cc index 8b1c6721a..16b1ab1ff 100644 --- a/src/laybasic/unit_tests/layAbstractMenuTests.cc +++ b/src/laybasic/unit_tests/layAbstractMenuTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layAnnotationShapes.cc b/src/laybasic/unit_tests/layAnnotationShapes.cc index 845b3b66a..449c685ad 100644 --- a/src/laybasic/unit_tests/layAnnotationShapes.cc +++ b/src/laybasic/unit_tests/layAnnotationShapes.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layBitmap.cc b/src/laybasic/unit_tests/layBitmap.cc index 5bf8779a6..4599cfc05 100644 --- a/src/laybasic/unit_tests/layBitmap.cc +++ b/src/laybasic/unit_tests/layBitmap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layBitmapsToImage.cc b/src/laybasic/unit_tests/layBitmapsToImage.cc index 8187c443e..e38c1c0d0 100644 --- a/src/laybasic/unit_tests/layBitmapsToImage.cc +++ b/src/laybasic/unit_tests/layBitmapsToImage.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layLayerProperties.cc b/src/laybasic/unit_tests/layLayerProperties.cc index a01627039..3ef24eeea 100644 --- a/src/laybasic/unit_tests/layLayerProperties.cc +++ b/src/laybasic/unit_tests/layLayerProperties.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layNetlistBrowserModelTests.cc b/src/laybasic/unit_tests/layNetlistBrowserModelTests.cc index 395557e68..4ac19bf6f 100644 --- a/src/laybasic/unit_tests/layNetlistBrowserModelTests.cc +++ b/src/laybasic/unit_tests/layNetlistBrowserModelTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layNetlistBrowserTreeModelTests.cc b/src/laybasic/unit_tests/layNetlistBrowserTreeModelTests.cc index 92a4bf1ab..b6dff3fbd 100644 --- a/src/laybasic/unit_tests/layNetlistBrowserTreeModelTests.cc +++ b/src/laybasic/unit_tests/layNetlistBrowserTreeModelTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layParsedLayerSource.cc b/src/laybasic/unit_tests/layParsedLayerSource.cc index b65b7c1a3..2224b0ca7 100644 --- a/src/laybasic/unit_tests/layParsedLayerSource.cc +++ b/src/laybasic/unit_tests/layParsedLayerSource.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/layRenderer.cc b/src/laybasic/unit_tests/layRenderer.cc index 59ba6f64f..378117e11 100644 --- a/src/laybasic/unit_tests/layRenderer.cc +++ b/src/laybasic/unit_tests/layRenderer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/laybasic/unit_tests/laySnapTests.cc b/src/laybasic/unit_tests/laySnapTests.cc index a90f755d0..f51e28c11 100644 --- a/src/laybasic/unit_tests/laySnapTests.cc +++ b/src/laybasic/unit_tests/laySnapTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasic.cc b/src/lib/lib/libBasic.cc index 3bb1bfe5f..588e690fc 100644 --- a/src/lib/lib/libBasic.cc +++ b/src/lib/lib/libBasic.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicArc.cc b/src/lib/lib/libBasicArc.cc index cb49f663f..732a71c70 100644 --- a/src/lib/lib/libBasicArc.cc +++ b/src/lib/lib/libBasicArc.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicArc.h b/src/lib/lib/libBasicArc.h index 4a0b9ab05..6ab7349bd 100644 --- a/src/lib/lib/libBasicArc.h +++ b/src/lib/lib/libBasicArc.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicCircle.cc b/src/lib/lib/libBasicCircle.cc index 3bc7cfbfa..9de697b71 100644 --- a/src/lib/lib/libBasicCircle.cc +++ b/src/lib/lib/libBasicCircle.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicCircle.h b/src/lib/lib/libBasicCircle.h index eef4b783a..6e4433181 100644 --- a/src/lib/lib/libBasicCircle.h +++ b/src/lib/lib/libBasicCircle.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicDonut.cc b/src/lib/lib/libBasicDonut.cc index 8937ca76c..385425b85 100644 --- a/src/lib/lib/libBasicDonut.cc +++ b/src/lib/lib/libBasicDonut.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicDonut.h b/src/lib/lib/libBasicDonut.h index 15de18e25..58269d728 100644 --- a/src/lib/lib/libBasicDonut.h +++ b/src/lib/lib/libBasicDonut.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicEllipse.cc b/src/lib/lib/libBasicEllipse.cc index 64511d32d..e6faa3004 100644 --- a/src/lib/lib/libBasicEllipse.cc +++ b/src/lib/lib/libBasicEllipse.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicEllipse.h b/src/lib/lib/libBasicEllipse.h index 228aec331..2ce5fb88b 100644 --- a/src/lib/lib/libBasicEllipse.h +++ b/src/lib/lib/libBasicEllipse.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicPie.cc b/src/lib/lib/libBasicPie.cc index 6b3a2c236..14b51bb91 100644 --- a/src/lib/lib/libBasicPie.cc +++ b/src/lib/lib/libBasicPie.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicPie.h b/src/lib/lib/libBasicPie.h index 0e5d4ef00..abc987082 100644 --- a/src/lib/lib/libBasicPie.h +++ b/src/lib/lib/libBasicPie.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicRoundPath.cc b/src/lib/lib/libBasicRoundPath.cc index c305e28f7..b09bb5bd6 100644 --- a/src/lib/lib/libBasicRoundPath.cc +++ b/src/lib/lib/libBasicRoundPath.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicRoundPath.h b/src/lib/lib/libBasicRoundPath.h index d091874c2..924891786 100644 --- a/src/lib/lib/libBasicRoundPath.h +++ b/src/lib/lib/libBasicRoundPath.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicRoundPolygon.cc b/src/lib/lib/libBasicRoundPolygon.cc index 4a41b0bcc..baeb5bc57 100644 --- a/src/lib/lib/libBasicRoundPolygon.cc +++ b/src/lib/lib/libBasicRoundPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicRoundPolygon.h b/src/lib/lib/libBasicRoundPolygon.h index adc985b17..ce19c2d01 100644 --- a/src/lib/lib/libBasicRoundPolygon.h +++ b/src/lib/lib/libBasicRoundPolygon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicStrokedPolygon.cc b/src/lib/lib/libBasicStrokedPolygon.cc index 39a54e575..999bec49a 100644 --- a/src/lib/lib/libBasicStrokedPolygon.cc +++ b/src/lib/lib/libBasicStrokedPolygon.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicStrokedPolygon.h b/src/lib/lib/libBasicStrokedPolygon.h index 09b8e9762..d58c82561 100644 --- a/src/lib/lib/libBasicStrokedPolygon.h +++ b/src/lib/lib/libBasicStrokedPolygon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicText.cc b/src/lib/lib/libBasicText.cc index eaa24207b..2fcf5db98 100644 --- a/src/lib/lib/libBasicText.cc +++ b/src/lib/lib/libBasicText.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libBasicText.h b/src/lib/lib/libBasicText.h index 6c87f7412..800d161a2 100644 --- a/src/lib/lib/libBasicText.h +++ b/src/lib/lib/libBasicText.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libCommon.h b/src/lib/lib/libCommon.h index f612bf17b..43324dd65 100644 --- a/src/lib/lib/libCommon.h +++ b/src/lib/lib/libCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libForceLink.cc b/src/lib/lib/libForceLink.cc index a4d2e08f2..9c29a3786 100644 --- a/src/lib/lib/libForceLink.cc +++ b/src/lib/lib/libForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/lib/libForceLink.h b/src/lib/lib/libForceLink.h index b9dbfb9b2..eb80c1b87 100644 --- a/src/lib/lib/libForceLink.h +++ b/src/lib/lib/libForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lib/unit_tests/libBasicTests.cc b/src/lib/unit_tests/libBasicTests.cc index 6e5e9576e..6e3348849 100644 --- a/src/lib/unit_tests/libBasicTests.cc +++ b/src/lib/unit_tests/libBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb index 704c8d4d3..687f4868a 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_engine.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_engine.rb @@ -100,6 +100,13 @@ module LVS # @synopsis join_symmetric_nets(circuit_filter) # See \Netter#join_symmetric_nets for a description of that function. + # %LVS% + # @name split_gates + # @brief Implements the "split gates" feature for the given device and circuits + # @synopsis split_gates(device_name) + # @synopsis split_gates(device_name, circuit_filter) + # See \Netter#split_gates for a description of that function. + # %LVS% # @name blank_circuit # @brief Removes the content from the given circuits (blackboxing) @@ -201,9 +208,15 @@ module LVS # @synopsis disable_parameter(device_class_name, parameter_name) # See \Netter#disable_parameter for a description of that function. - %w(schematic compare join_symmetric_nets tolerance ignore_parameter enable_parameter disable_parameter + # %LVS% + # @name lvs_data + # @brief Gets the RBA::LayoutVsSchematic object after compare was used + # @synopsis lvs_data + # See \Netter#lvs_data for a description of that function. + + %w(schematic compare split_gates join_symmetric_nets tolerance ignore_parameter enable_parameter disable_parameter blank_circuit align same_nets same_nets! same_circuits same_device_classes equivalent_pins - min_caps max_res max_depth max_branch_complexity consider_net_names).each do |f| + min_caps max_res max_depth max_branch_complexity consider_net_names lvs_data).each do |f| eval <<"CODE" def #{f}(*args) _netter.#{f}(*args) diff --git a/src/lvs/lvs/built-in-macros/_lvs_netter.rb b/src/lvs/lvs/built-in-macros/_lvs_netter.rb index c5fc9b3f3..8cc6ece00 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_netter.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_netter.rb @@ -385,6 +385,55 @@ CODE end + # %LVS% + # @name split_gates + # @brief Implements the "split gates" feature + # @synopsis split_gates(device_name) + # @synopsis split_gates(device_name, circuit_filter) + # Multi-fingered, multi-gate MOS transistors can be built without connecting + # the source/drain internal nets between the fingers. This will prevent + # "combine_devices" from combining the single gate transistors of the + # different fingers into single ones. + # + # "split_gates" now marks the devices of the given class so that they will + # receive a special treatment which joins the internl source/drain nodes. + # + # By default, this method is applied to all circuits. You can specify + # a circuit pattern to apply it to certain circuits only. + # + # "device_name" must be a valid device name and denote a MOS3, MOS4, DMOS3 + # or DMOS4 device. + + def split_gates(device_name, circuit_pattern = "*") + + device_name.is_a?(String) || raise("Device name argument of 'split_gates' must be a string") + circuit_pattern.is_a?(String) || raise("Circuit pattern argument of 'split_gates' must be a string") + + if self._l2n_data + # already extracted + self._split_gates(self._l2n_data, device_name, circuit_pattern) + else + @post_extract_config << lambda { |l2n| self._split_gates(l2n, device_name, circuit_pattern) } + end + + end + + def _split_gates(l2n, device_name, circuit_pattern) + + dc = l2n.netlist.device_class_by_name(device_name) + if ! dc + raise("'#{device_name}' is not a valid device name") + end + if ! dc.respond_to?(:join_split_gates) + raise("Device '#{device_name}' is not a kind supporting 'split_gates'") + end + + l2n.netlist.circuits_by_name(circuit_pattern).each do |c| + dc.join_split_gates(c) + end + + end + # %LVS% # @name blank_circuit # @brief Removes the content from the given circuits (blackboxing) diff --git a/src/lvs/lvs/built-in-macros/lvs_interpreters.lym b/src/lvs/lvs/built-in-macros/lvs_interpreters.lym index f9f9863f8..24cd20021 100644 --- a/src/lvs/lvs/built-in-macros/lvs_interpreters.lym +++ b/src/lvs/lvs/built-in-macros/lvs_interpreters.lym @@ -159,6 +159,11 @@ module LVS LVSInterpreter::new(lvs_recipe) LVSPlainTextInterpreter::new(lvs_recipe) + # Creates a new macro category + if RBA::Application::instance + RBA::Application::instance.add_macro_category("lvs", "LVS", [ "lvs" ]) + end + end diff --git a/src/lvs/lvs/lvsCommon.h b/src/lvs/lvs/lvsCommon.h index 470788af7..41ba95f60 100644 --- a/src/lvs/lvs/lvsCommon.h +++ b/src/lvs/lvs/lvsCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lvs/lvs/lvsForceLink.cc b/src/lvs/lvs/lvsForceLink.cc index 38364b72a..7c83da5d4 100644 --- a/src/lvs/lvs/lvsForceLink.cc +++ b/src/lvs/lvs/lvsForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lvs/lvs/lvsForceLink.h b/src/lvs/lvs/lvsForceLink.h index 992a2d3df..9e7fa2631 100644 --- a/src/lvs/lvs/lvsForceLink.h +++ b/src/lvs/lvs/lvsForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lvs/unit_tests/lvsBasicTests.cc b/src/lvs/unit_tests/lvsBasicTests.cc index e99562457..1b8492d94 100644 --- a/src/lvs/unit_tests/lvsBasicTests.cc +++ b/src/lvs/unit_tests/lvsBasicTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lvs/unit_tests/lvsSimpleTests.cc b/src/lvs/unit_tests/lvsSimpleTests.cc index 880a5d50b..df95beedc 100644 --- a/src/lvs/unit_tests/lvsSimpleTests.cc +++ b/src/lvs/unit_tests/lvsSimpleTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -81,6 +81,11 @@ TEST(1_simple) run_test (_this, "ringo_simple", "ringo.gds"); } +TEST(1a_simple_double_compare) +{ + run_test (_this, "ringo_simple_compare2", "ringo.gds"); +} + TEST(1b_simple_with_tolerance) { run_test (_this, "ringo_simple_with_tol", "ringo.gds"); diff --git a/src/lvs/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index 70a865243..5475484bd 100644 --- a/src/lvs/unit_tests/lvsTests.cc +++ b/src/lvs/unit_tests/lvsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,7 +30,7 @@ #include "lymMacro.h" #include "tlFileUtils.h" -void run_test (tl::TestBase *_this, const std::string &lvs_rs, const std::string &au_netlist, const std::string &layout, bool priv = false, const std::string &au_lvsdb_name = std::string ()) +void run_test (tl::TestBase *_this, const std::string &lvs_rs, const std::string &au_netlist, const std::string &layout, bool priv = false, const std::string &au_lvsdb_name = std::string (), const std::string &added = std::string ()) { std::string testsrc = priv ? tl::testdata_private () : tl::testdata (); testsrc = tl::combine_path (testsrc, "lvs"); @@ -51,7 +51,8 @@ void run_test (tl::TestBase *_this, const std::string &lvs_rs, const std::string "$lvs_test_target_lvsdb = '%s'\n" "$lvs_test_target_cir = '%s'\n" "$lvs_test_target_l2n = '%s'\n" - , ly, output_lvsdb, output_cir, output_l2n) + "%s" + , ly, output_lvsdb, output_cir, output_l2n, added) ); config.set_interpreter (lym::Macro::Ruby); EXPECT_EQ (config.run (), 0); @@ -75,19 +76,7 @@ void run_test (tl::TestBase *_this, const std::string &lvs_rs, const std::string reader.read (stream, nl2); } - // NOTE: it's kind of redundant to use the comparer for checking the LVS - // output, but this will essentially verify the output netlist's consistency. - db::NetlistCrossReference xref; - db::NetlistComparer comparer (&xref); - comparer.set_max_branch_complexity (500); - comparer.set_max_depth (20); - bool res = comparer.compare (&nl1, &nl2); - if (! res) { - tl::info << "Netlist mismatch:"; - tl::info << " current: " << output_cir; - tl::info << " golden: " << au_cir; - } - EXPECT_EQ (res, true); + db::compare_netlist (_this, nl1, nl2); if (! au_lvsdb_name.empty ()) { std::string au_lvsdb = tl::combine_path (testsrc, au_lvsdb_name); @@ -152,7 +141,7 @@ TEST(16_private) TEST(17_private) { test_is_long_runner (); - run_test (_this, "test_17.lylvs", "test_17b.cir.gz", "test_17.gds.gz", true, "test_17b.lvsdb"); + run_test (_this, "test_17.lylvs", "test_17b.cir.gz", "test_17.gds.gz", true, "test_17b_2.lvsdb"); } TEST(18_private) @@ -170,6 +159,28 @@ TEST(19_private) TEST(20_private) { // test_is_long_runner (); - run_test (_this, "test_20.lylvs", "test_20.cir.gz", "test_20.gds.gz", true, "test_20b.lvsdb"); + run_test (_this, "test_20.lylvs", "test_20.cir.gz", "test_20.gds.gz", true, "test_20b_2.lvsdb"); } +TEST(21_private) +{ + run_test (_this, "test_21.lylvs", "test_21.cir.gz", "test_21.gds.gz", true, "test_21.lvsdb"); +} + +// issue #1021 +TEST(22a_SP6TArray2X4) +{ + run_test (_this, "SP6TArray_2X4.lvs", "test_22a.cir", "SP6TArray_2X4.gds", false, "test_22a.lvsdb", "$test22_texts = false\n$test22_deep = false"); +} +TEST(22b_SP6TArray2X4) +{ + run_test (_this, "SP6TArray_2X4.lvs", "test_22b.cir", "SP6TArray_2X4.gds", false, "test_22b.lvsdb", "$test22_texts = true\n$test22_deep = false"); +} +TEST(22c_SP6TArray2X4) +{ + run_test (_this, "SP6TArray_2X4.lvs", "test_22c.cir", "SP6TArray_2X4.gds", false, "test_22c.lvsdb", "$test22_texts = false\n$test22_deep = true"); +} +TEST(22d_SP6TArray2X4) +{ + run_test (_this, "SP6TArray_2X4.lvs", "test_22d.cir", "SP6TArray_2X4.gds", false, "test_22d.lvsdb", "$test22_texts = true\n$test22_deep = true"); +} diff --git a/src/lym/lym/gsiDeclLymMacro.cc b/src/lym/lym/gsiDeclLymMacro.cc index 596a97756..7d22afa72 100644 --- a/src/lym/lym/gsiDeclLymMacro.cc +++ b/src/lym/lym/gsiDeclLymMacro.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lym/lym/lymCommon.h b/src/lym/lym/lymCommon.h index 0c402ac99..b01de5363 100644 --- a/src/lym/lym/lymCommon.h +++ b/src/lym/lym/lymCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lym/lym/lymMacro.cc b/src/lym/lym/lymMacro.cc index fa70b77d5..429a4fbf2 100644 --- a/src/lym/lym/lymMacro.cc +++ b/src/lym/lym/lymMacro.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,6 +46,8 @@ #include #include +#include +#include namespace lym { @@ -53,7 +55,7 @@ namespace lym // ---------------------------------------------------------------------- Macro::Macro () - : m_modified (true), m_readonly (false), m_autorun (false), m_autorun_default (false), m_autorun_early (false), m_show_in_menu (false), m_is_file (false), mp_parent (0), m_interpreter (None), m_format (Macro::NoFormat) + : m_modified (true), m_readonly (false), m_autorun (false), m_autorun_default (false), m_autorun_early (false), m_priority (0), m_show_in_menu (false), m_is_file (false), mp_parent (0), m_interpreter (None), m_format (Macro::NoFormat) { // .. nothing yet .. } @@ -87,6 +89,7 @@ void Macro::assign (const lym::Macro &other) m_autorun = other.m_autorun; m_autorun_default = other.m_autorun_default; m_autorun_early = other.m_autorun_early; + m_priority = other.m_priority; m_show_in_menu = other.m_show_in_menu; m_shortcut = other.m_shortcut; m_format = other.m_format; @@ -111,6 +114,7 @@ bool Macro::operator== (const Macro &other) const m_text == other.m_text && m_autorun == other.m_autorun && m_autorun_early == other.m_autorun_early && + m_priority == other.m_priority && m_show_in_menu == other.m_show_in_menu && m_shortcut == other.m_shortcut && m_interpreter == other.m_interpreter && @@ -182,6 +186,7 @@ static tl::XMLStruct xml_struct ("klayout-macro", tl::make_member (&Macro::doc, &Macro::set_doc, "doc") + tl::make_member (&Macro::is_autorun, &Macro::set_autorun, "autorun") + tl::make_member (&Macro::is_autorun_early, &Macro::set_autorun_early, "autorun-early") + + tl::make_member (&Macro::priority, &Macro::set_priority, "priority") + tl::make_member (&Macro::shortcut, &Macro::set_shortcut, "shortcut") + tl::make_member (&Macro::show_in_menu, &Macro::set_show_in_menu, "show-in-menu") + tl::make_member (&Macro::group_name, &Macro::set_group_name, "group-name") + @@ -550,19 +555,22 @@ struct PropertyField void (lym::Macro::*string_setter) (const std::string &); bool (lym::Macro::*bool_getter) () const; void (lym::Macro::*bool_setter) (bool); + int (lym::Macro::*int_getter) () const; + void (lym::Macro::*int_setter) (int); }; static PropertyField property_fields[] = { - { "description", &lym::Macro::description, &lym::Macro::set_description, 0, 0 }, - { "prolog", &lym::Macro::prolog, &lym::Macro::set_prolog, 0, 0 }, - { "epilog", &lym::Macro::epilog, &lym::Macro::set_epilog, 0, 0 }, - { "version", &lym::Macro::version, &lym::Macro::set_version, 0, 0 }, - { "autorun", 0, 0, &lym::Macro::is_autorun, &lym::Macro::set_autorun }, - { "autorun-early", 0, 0, &lym::Macro::is_autorun_early, &lym::Macro::set_autorun_early}, - { "show-in-menu", 0, 0, &lym::Macro::show_in_menu, &lym::Macro::set_show_in_menu }, - { "group-name", &lym::Macro::group_name, &lym::Macro::set_group_name, 0, 0 }, - { "menu-path", &lym::Macro::menu_path, &lym::Macro::set_menu_path, 0, 0 }, - { "shortcut", &lym::Macro::shortcut, &lym::Macro::set_shortcut, 0, 0 } + { "description", &lym::Macro::description, &lym::Macro::set_description, 0, 0, 0, 0 }, + { "prolog", &lym::Macro::prolog, &lym::Macro::set_prolog, 0, 0, 0, 0 }, + { "epilog", &lym::Macro::epilog, &lym::Macro::set_epilog, 0, 0, 0, 0 }, + { "version", &lym::Macro::version, &lym::Macro::set_version, 0, 0, 0, 0 }, + { "autorun", 0, 0, &lym::Macro::is_autorun, &lym::Macro::set_autorun, 0, 0 }, + { "autorun-early", 0, 0, &lym::Macro::is_autorun_early, &lym::Macro::set_autorun_early, 0, 0 }, + { "show-in-menu", 0, 0, &lym::Macro::show_in_menu, &lym::Macro::set_show_in_menu, 0, 0 }, + { "group-name", &lym::Macro::group_name, &lym::Macro::set_group_name, 0, 0, 0, 0 }, + { "menu-path", &lym::Macro::menu_path, &lym::Macro::set_menu_path, 0, 0, 0, 0 }, + { "shortcut", &lym::Macro::shortcut, &lym::Macro::set_shortcut, 0, 0, 0, 0 }, + { "priority", 0, 0, 0, 0, &lym::Macro::priority, &lym::Macro::set_priority } }; static std::string escape_pta_string (const char *cp) @@ -623,6 +631,11 @@ void Macro::sync_text_with_properties () if (v) { new_lines.push_back (std::string ("# $") + pf->name); } + } else if (pf->int_getter) { + int v = (this->*(pf->int_getter)) (); + if (v) { + new_lines.push_back (std::string ("# $") + pf->name + ": " + tl::to_string (v)); + } } } @@ -670,6 +683,8 @@ void Macro::sync_properties_with_text () (this->*(pf->string_setter)) (std::string ()); } else if (pf->bool_setter) { (this->*(pf->bool_setter)) (false); + } else if (pf->int_setter) { + (this->*(pf->int_setter)) (0); } } @@ -694,6 +709,10 @@ void Macro::sync_properties_with_text () (this->*(pf->string_setter)) (unescape_pta_string (pex.skip ())); } else if (pf->bool_setter) { (this->*(pf->bool_setter)) (true); + } else if (pf->int_setter) { + int v = 0; + tl::from_string (pex.skip (), v); + (this->*(pf->int_setter)) (v); } break; @@ -765,6 +784,15 @@ void Macro::set_autorun (bool f) } } +void Macro::set_priority (int p) +{ + if (p != m_priority) { + m_modified = true; + m_priority = p; + on_changed (); + } +} + void Macro::set_show_in_menu (bool f) { if (f != m_show_in_menu) { @@ -1065,6 +1093,11 @@ MacroCollection::MacroCollection () } MacroCollection::~MacroCollection () +{ + do_clear (); +} + +void MacroCollection::do_clear () { for (iterator m = begin (); m != end (); ++m) { delete m->second; @@ -1513,6 +1546,13 @@ void MacroCollection::scan (const std::string &path) } } +void MacroCollection::clear () +{ + begin_changes (); + do_clear (); + on_changed (); +} + void MacroCollection::erase (lym::Macro *mp) { for (iterator m = m_macros.begin (); m != m_macros.end (); ++m) { @@ -1861,30 +1901,78 @@ bool MacroCollection::has_autorun_early () const return has_autorun_for (*this, true); } -static void autorun_for (lym::MacroCollection &collection, bool early) +static int collect_priority (lym::MacroCollection &collection, bool early, int from_prio) { + int p = -1; + for (lym::MacroCollection::child_iterator c = collection.begin_children (); c != collection.end_children (); ++c) { - autorun_for (*c->second, early); + int pp = collect_priority (*c->second, early, from_prio); + if (pp >= from_prio && (p < 0 || pp < p)) { + p = pp; + } } for (lym::MacroCollection::iterator c = collection.begin (); c != collection.end (); ++c) { if (c->second->can_run () && ((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ()))) { - BEGIN_PROTECTED_SILENT - c->second->run (); - c->second->install_doc (); - END_PROTECTED_SILENT + int pp = c->second->priority (); + if (pp >= from_prio && (p < 0 || pp < p)) { + p = pp; + } } } + + return p; +} + +static void autorun_for_prio (lym::MacroCollection &collection, bool early, std::set *executed_already, int prio) +{ + for (lym::MacroCollection::child_iterator c = collection.begin_children (); c != collection.end_children (); ++c) { + autorun_for_prio (*c->second, early, executed_already, prio); + } + + for (lym::MacroCollection::iterator c = collection.begin (); c != collection.end (); ++c) { + + if (c->second->priority () == prio && c->second->can_run () && ((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ()))) { + + if (!executed_already || executed_already->find (c->second->path ()) == executed_already->end ()) { + + BEGIN_PROTECTED_SILENT + c->second->run (); + c->second->install_doc (); + END_PROTECTED_SILENT + + if (executed_already) { + executed_already->insert (c->second->path ()); + } + + } + + } + + } } -void MacroCollection::autorun () +static void autorun_for (lym::MacroCollection &collection, bool early, std::set *executed_already) { - autorun_for (*this, false); + int prio = 0; + while (true) { + int p = collect_priority (collection, early, prio); + if (p < prio) { + break; + } + autorun_for_prio (collection, early, executed_already, p); + prio = p + 1; + } } -void MacroCollection::autorun_early () +void MacroCollection::autorun (std::set *already_executed) { - autorun_for (*this, true); + autorun_for (*this, false, already_executed); +} + +void MacroCollection::autorun_early (std::set *already_executed) +{ + autorun_for (*this, true, already_executed); } void MacroCollection::dump (int l) diff --git a/src/lym/lym/lymMacro.h b/src/lym/lym/lymMacro.h index 85c8266e9..619be68a6 100644 --- a/src/lym/lym/lymMacro.h +++ b/src/lym/lym/lymMacro.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -430,6 +430,20 @@ public: */ void set_autorun_early (bool f); + /** + * @brief Gets the priority of the macro in autorun and autorun-early mode + * 0 is the first priority, -1 means "never execute". + */ + int priority () const + { + return m_priority; + } + + /** + * @brief Sets the priority + */ + void set_priority (int p); + /** * @brief Gets a value indicating whether the macro shall be shown in the menu */ @@ -596,6 +610,7 @@ private: bool m_autorun; bool m_autorun_default; bool m_autorun_early; + int m_priority; bool m_show_in_menu; std::string m_group_name; std::string m_menu_path; @@ -845,6 +860,12 @@ public: */ void add_unspecific (lym::Macro *m); + /** + * @brief Empties the collection + * Note: only the unspecific on_changed event is generated. + */ + void clear (); + /** * @brief Erases the given macro from the list * @@ -995,7 +1016,7 @@ public: /** * @brief Runs all macros marked with auto-run */ - void autorun (); + void autorun (std::set *already_executed = 0); /** * @brief Returns true, if the collection has an early autorun macro @@ -1005,7 +1026,7 @@ public: /** * @brief Runs all macros marked with early auto-run */ - void autorun_early (); + void autorun_early (std::set *already_executed = 0); /** * @brief Redo the scan (will add new files or folders) @@ -1129,6 +1150,8 @@ private: m_readonly = f; } + void do_clear (); + // no copying MacroCollection (const MacroCollection &d); MacroCollection &operator= (const MacroCollection &d); diff --git a/src/lym/lym/lymMacroInterpreter.cc b/src/lym/lym/lymMacroInterpreter.cc index 01819d6c4..77f437345 100644 --- a/src/lym/lym/lymMacroInterpreter.cc +++ b/src/lym/lym/lymMacroInterpreter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/lym/lym/lymMacroInterpreter.h b/src/lym/lym/lymMacroInterpreter.h index 17435e9a8..5c7f436b5 100644 --- a/src/lym/lym/lymMacroInterpreter.h +++ b/src/lym/lym/lymMacroInterpreter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/common/dbPluginCommon.h b/src/plugins/common/dbPluginCommon.h index 1bd742c10..0786156b2 100644 --- a/src/plugins/common/dbPluginCommon.h +++ b/src/plugins/common/dbPluginCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/common/layPluginCommon.h b/src/plugins/common/layPluginCommon.h index c8b6b92e8..2875923ab 100644 --- a/src/plugins/common/layPluginCommon.h +++ b/src/plugins/common/layPluginCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIF.cc b/src/plugins/streamers/cif/db_plugin/dbCIF.cc index e8bd991c2..e449de5ef 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIF.cc +++ b/src/plugins/streamers/cif/db_plugin/dbCIF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIF.h b/src/plugins/streamers/cif/db_plugin/dbCIF.h index 5838e1c9f..acf233e34 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIF.h +++ b/src/plugins/streamers/cif/db_plugin/dbCIF.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFFormat.h b/src/plugins/streamers/cif/db_plugin/dbCIFFormat.h index 3e4d8ff63..f012c5122 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFFormat.h +++ b/src/plugins/streamers/cif/db_plugin/dbCIFFormat.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc b/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc index c08ebb6b4..1d935a0fe 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc +++ b/src/plugins/streamers/cif/db_plugin/dbCIFReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFReader.h b/src/plugins/streamers/cif/db_plugin/dbCIFReader.h index 826f7b5d0..1b5240854 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFReader.h +++ b/src/plugins/streamers/cif/db_plugin/dbCIFReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc index b8bd17139..74b844ac4 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc +++ b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,13 +25,159 @@ #include "dbPolygonGenerators.h" #include "tlStream.h" #include "tlUtils.h" +#include "tlUniqueName.h" #include #include +#include namespace db { +// --------------------------------------------------------------------------------- +// CIFWriter utilities + +namespace +{ + +struct CellNameValidator +{ + CellNameValidator () { } + + bool is_valid (const std::string &name) + { + for (const char *c = name.c_str (); *c; ++c) { + if (! (isdigit (*c) || isupper (*c) || islower (*c) || *c == '$' || *c == '_' || *c == ':')) { + return false; + } + } + return true; + } + + std::string create_valid (const std::string &name) + { + std::string res; + res.reserve (name.size ()); + for (const char *c = name.c_str (); *c; ++c) { + if (isdigit (*c) || isupper (*c) || islower (*c) || *c == '$' || *c == '_' || *c == ':') { + res += *c; + } + } + if (res.empty ()) { + res = "C"; + } + return res; + } + + const char *separator () + { + return "$"; + } +}; + +struct LayerNameValidator +{ + LayerNameValidator () { } + + bool is_valid (const std::string &name) + { + for (const char *c = name.c_str (); *c; ++c) { + if (! (isdigit (*c) || isupper (*c) || *c == '_')) { + return false; + } + } + return true; + } + + std::string create_valid (const std::string &name) + { + std::string res; + res.reserve (name.size ()); + for (const char *c = name.c_str (); *c; ++c) { + char cu = toupper (*c); + if (isdigit (cu) || isalpha (cu) || *c == '_') { + res += cu; + } + } + if (res.empty ()) { + res = "C"; + } + return res; + } + + const char *separator () + { + return "N"; + } +}; + +} + +/** + * @brief Gets the CIF name for a given layer + */ +std::string cif_layer_name (const db::LayerProperties &lp) +{ + if (lp.is_named ()) { + return lp.name; + } else if (lp.is_null ()) { + return std::string (); + } else if (lp.datatype <= 0) { + return std::string ("L") + tl::to_string (lp.layer); + } else { + return std::string ("L") + tl::to_string (lp.layer) + "D" + tl::to_string (lp.datatype); + } +} + +// --------------------------------------------------------------------------------- +// CIFValidNameGenerator implementation + +template +CIFValidNameGenerator::CIFValidNameGenerator () { } + +template +template +void +CIFValidNameGenerator::insert (ID id, const std::string &name, Validator validator) +{ + if (m_existing_names.find (name) == m_existing_names.end () && validator.is_valid (name)) { + m_valid_names.insert (std::make_pair (id, name)); + m_existing_names.insert (name); + } else { + m_pending_names.insert (std::make_pair (id, name)); + } +} + +template +template +const std::string & +CIFValidNameGenerator::valid_name_for_id (ID id, Validator validator) +{ + typename std::map::const_iterator i = m_valid_names.find (id); + if (i != m_valid_names.end ()) { + return i->second; + } + + typename std::map::iterator j = m_pending_names.find (id); + if (j != m_pending_names.end ()) { + std::string valid_name = tl::unique_name (validator.create_valid (j->second), m_existing_names, validator.separator ()); + m_pending_names.erase (j); + m_valid_names.insert (std::make_pair (id, valid_name)); + return *m_existing_names.insert (valid_name).first; + } + + tl_assert (false); +} + +template +void +CIFValidNameGenerator::clear () +{ + m_existing_names.clear (); + m_valid_names.clear (); + m_pending_names.clear (); +} + // --------------------------------------------------------------------------------- // CIFWriter implementation @@ -79,6 +225,9 @@ CIFWriter::write (db::Layout &layout, tl::OutputStream &stream, const db::SaveLa m_options = options.get_options (); mp_stream = &stream; + m_layer_names.clear (); + m_cell_names.clear (); + // compute the scale factor to get to the 10 nm basic database unit of CIF double tl_scale = options.scale_factor () * layout.dbu () / 0.01; @@ -121,6 +270,16 @@ CIFWriter::write (db::Layout &layout, tl::OutputStream &stream, const db::SaveLa std::map db_to_cif_index_map; std::set called_cells; + // register layers for generating valid names + for (std::vector >::const_iterator layer = layers.begin (); layer != layers.end (); ++layer) { + m_layer_names.insert (layer->first, cif_layer_name (layer->second), LayerNameValidator ()); + } + + // register cells for generating valid cell names + for (std::vector::const_iterator cell = cells.begin (); cell != cells.end (); ++cell) { + m_cell_names.insert (*cell, layout.cell_name (*cell), CellNameValidator ()); + } + // body for (std::vector::const_iterator cell = cells.begin (); cell != cells.end (); ++cell) { @@ -135,7 +294,7 @@ CIFWriter::write (db::Layout &layout, tl::OutputStream &stream, const db::SaveLa double sf = 1.0; *this << "DS " << cell_index << " " << tl_scale_denom << " " << tl_scale_divider << ";" << m_endl; - *this << "9 " << tl::to_word_or_quoted_string (layout.cell_name (*cell)) << ";" << m_endl; + *this << "9 " << m_cell_names.valid_name_for_id (*cell, CellNameValidator ()) << ";" << m_endl; // instances for (db::Cell::const_iterator inst = cref.begin (); ! inst.at_end (); ++inst) { @@ -200,7 +359,7 @@ CIFWriter::write (db::Layout &layout, tl::OutputStream &stream, const db::SaveLa for (std::vector >::const_iterator l = layers.begin (); l != layers.end (); ++l) { m_needs_emit = true; - m_layer = l->second; + m_layer = l->first; write_texts (layout, cref, l->first, sf); write_polygons (layout, cref, l->first, sf); @@ -245,7 +404,7 @@ CIFWriter::emit_layer() { if (m_needs_emit) { m_needs_emit = false; - *this << "L " << tl::to_word_or_quoted_string (tl::to_upper_case (m_layer.name), "0123456789_.$") << ";" << m_endl; + *this << "L " << m_layer_names.valid_name_for_id (m_layer, LayerNameValidator ()) << ";" << m_endl; } } diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h index 6ddf52404..b59f59b63 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h +++ b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,6 +32,9 @@ #include "dbSaveLayoutOptions.h" #include "tlProgress.h" +#include +#include + namespace tl { class OutputStream; @@ -43,6 +46,25 @@ namespace db class Layout; class SaveLayoutOptions; +/** + * @brief A class generating valid names + */ +template +class DB_PLUGIN_PUBLIC_TEMPLATE CIFValidNameGenerator +{ +public: + CIFValidNameGenerator (); + + template void insert (ID id, const std::string &name, Validator validator); + template const std::string &valid_name_for_id (ID id, Validator validator); + void clear (); + +public: + std::map m_valid_names; + std::map m_pending_names; + std::set m_existing_names; +}; + /** * @brief A CIF writer abstraction */ @@ -67,9 +89,11 @@ private: CIFWriterOptions m_options; tl::AbsoluteProgress m_progress; endl_tag m_endl; - db::LayerProperties m_layer; + unsigned int m_layer; bool m_needs_emit; - + CIFValidNameGenerator m_layer_names; + CIFValidNameGenerator m_cell_names; + CIFWriter &operator<<(const char *s); CIFWriter &operator<<(const std::string &s); CIFWriter &operator<<(endl_tag); diff --git a/src/plugins/streamers/cif/db_plugin/gsiDeclDbCIF.cc b/src/plugins/streamers/cif/db_plugin/gsiDeclDbCIF.cc index 95ed4a1de..e75259781 100644 --- a/src/plugins/streamers/cif/db_plugin/gsiDeclDbCIF.cc +++ b/src/plugins/streamers/cif/db_plugin/gsiDeclDbCIF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc index 9113b3bec..087e4d0eb 100644 --- a/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc +++ b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -69,7 +69,7 @@ CIFReaderOptionPage::commit (db::FormatSpecificReaderOptions *o, const db::Techn { db::CIFReaderOptions *options = dynamic_cast (o); if (options) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); if (options->dbu > 1000.0 || options->dbu < 1e-9) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for database unit"))); } diff --git a/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h index 9f742c53c..d5fa5c6bf 100644 --- a/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h +++ b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc index 723a9f46e..0b1292c5e 100644 --- a/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc +++ b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h index 8d115e7f3..0fbd42813 100644 --- a/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h +++ b/src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc b/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc index bc0488b50..ed10d9190 100644 --- a/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc +++ b/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -87,7 +87,6 @@ static void run_test (tl::TestBase *_this, const std::string &base, const char * } // normalize the layout by writing to CIF and reading from .. - { tl::OutputStream stream (tmp_cif_file); @@ -133,6 +132,110 @@ static void run_test (tl::TestBase *_this, const std::string &base, const char * } } +static void run_test2 (tl::TestBase *_this, const std::string &base, db::Layout &layout, const char *file_au, const char *file_au_cif, const char *map = 0, double dbu = 0.001, bool dummy_calls = false, bool blank_sep = false) +{ + db::CIFReaderOptions *opt = new db::CIFReaderOptions(); + opt->dbu = dbu; + + db::LayerMap lm; + if (map) { + unsigned int ln = 0; + tl::Extractor ex (map); + while (! ex.at_end ()) { + lm.add_expr (ex, ln++); + ex.test (","); + } + opt->layer_map = lm; + opt->create_other_layers = true; + } + + db::LoadLayoutOptions options; + options.set_options (opt); + + db::Manager m (false); + db::Layout layout2 (&m), layout2_cif (&m), layout_au (&m), layout_au_cif (&m); + + // generate a "unique" name ... + unsigned int hash = 0; + for (const char *cp = file_au; *cp; ++cp) { + hash = (hash << 4) ^ (hash >> 4) ^ ((unsigned int) *cp); + } + + // normalize the layout by writing to GDS and reading from .. + + std::string tmp_gds_file = _this->tmp_file (tl::sprintf ("tmp_%x.gds", hash)); + std::string tmp_cif_file = _this->tmp_file (tl::sprintf ("tmp_%x.cif", hash)); + + { + tl::OutputStream stream (tmp_gds_file); + db::SaveLayoutOptions options; + options.set_format ("GDS2"); + db::Writer writer (options); + writer.write (layout, stream); + } + + { + tl::InputStream stream (tmp_gds_file); + db::Reader reader (stream); + reader.read (layout2); + } + + // normalize the layout by writing to CIF and reading from .. + + { + tl::OutputStream stream (tmp_cif_file); + + db::CIFWriterOptions *opt = new db::CIFWriterOptions(); + opt->dummy_calls = dummy_calls; + opt->blank_separator = blank_sep; + + db::CIFWriter writer; + db::SaveLayoutOptions options; + options.set_options (opt); + writer.write (layout, stream, options); + } + + { + tl::InputStream stream (tmp_cif_file); + + db::CIFReaderOptions *opt = new db::CIFReaderOptions(); + opt->dbu = dbu; + db::LoadLayoutOptions reread_options; + reread_options.set_options (opt); + + db::Reader reader (stream); + reader.read (layout2_cif, reread_options); + } + + { + std::string fn (base); + fn += "/cif/"; + fn += file_au; + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (layout_au); + } + + { + std::string fn (base); + fn += "/cif/"; + fn += file_au_cif; + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (layout_au_cif); + } + + bool equal = db::compare_layouts (layout2, layout_au, db::layout_diff::f_boxes_as_polygons | db::layout_diff::f_verbose | db::layout_diff::f_flatten_array_insts, 1); + if (! equal) { + _this->raise (tl::sprintf ("Compare failed after reading - see %s vs %s\n", tmp_gds_file, file_au)); + } + + equal = db::compare_layouts (layout2_cif, layout_au_cif, db::layout_diff::f_boxes_as_polygons | db::layout_diff::f_verbose | db::layout_diff::f_flatten_array_insts, 1); + if (! equal) { + _this->raise (tl::sprintf ("Compare failed after writing - see %s vs %s\n", tmp_cif_file, file_au_cif)); + } +} + TEST(1a) { run_test (_this, tl::testdata_private (), "t1.cif.gz", "t1a_au.gds.gz"); @@ -206,3 +309,26 @@ TEST(rot_instances2) { run_test (_this, tl::testdata (), "issue_578.cif", "issue_578_au.gds"); } + +// issue #972 +TEST(bad_names) +{ + db::Layout ly; + + db::cell_index_type ci = ly.add_cell ("(bad_cell,a b/c)"); + db::Cell &cell = ly.cell (ci); + + unsigned int l1 = ly.insert_layer (db::LayerProperties (1, 0)); + unsigned int l2 = ly.insert_layer (db::LayerProperties (1, 5)); + unsigned int l3 = ly.insert_layer (db::LayerProperties ("a b c")); + unsigned int l4 = ly.insert_layer (db::LayerProperties ("(a b c)")); + unsigned int l5 = ly.insert_layer (db::LayerProperties ("a,b/c")); + + cell.shapes (l1).insert (db::Box (0, 0, 10, 10)); + cell.shapes (l2).insert (db::Box (0, 0, 20, 20)); + cell.shapes (l3).insert (db::Box (0, 0, 30, 30)); + cell.shapes (l4).insert (db::Box (0, 0, 40, 40)); + cell.shapes (l5).insert (db::Box (0, 0, 50, 50)); + + run_test2 (_this, tl::testdata (), ly, "issue_972_au.gds", "issue_972_au.cif"); +} diff --git a/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.cc b/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.cc index 0c4833d57..5d14cfcfd 100644 --- a/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.cc +++ b/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.h b/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.h index 5eaf2e3ab..1e40cad73 100644 --- a/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.h +++ b/src/plugins/streamers/common/lay_plugin/layCommonReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXF.cc b/src/plugins/streamers/dxf/db_plugin/dbDXF.cc index 012ffac5d..3189b7edd 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXF.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXF.h b/src/plugins/streamers/dxf/db_plugin/dbDXF.h index ad26ad523..13ad9c55f 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXF.h +++ b/src/plugins/streamers/dxf/db_plugin/dbDXF.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFFormat.h b/src/plugins/streamers/dxf/db_plugin/dbDXFFormat.h index 525e2b6f5..a96377289 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFFormat.h +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFFormat.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc index 9258f3ac3..d63a8b03f 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.h b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.h index 5268e18e2..1bc2ffe24 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.h +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc index c20a5cd06..0280a5c99 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -387,65 +387,56 @@ DXFWriter::write_polygons (const db::Layout & /*layout*/, const db::Cell &cell, void DXFWriter::write_polygon (const db::Polygon &polygon, double sf) { - if (m_options.polygon_mode == 0) { + if (polygon.holes () > 0 && (m_options.polygon_mode == 0 || m_options.polygon_mode == 1 || m_options.polygon_mode == 2)) { - for (unsigned int c = 0; c < polygon.holes () + 1; ++c) { + // resolve holes or merge polygon as a preparation step + std::vector polygons; - *this << 0 << endl << "POLYLINE" << endl; - *this << 8 << endl; emit_layer (m_layer); - *this << 70 << endl << 1 << endl; - *this << 40 << endl << 0.0 << endl; - *this << 41 << endl << 0.0 << endl; - *this << 66 << endl << 1 << endl; // required by TrueView - - for (db::Polygon::polygon_contour_iterator p = polygon.contour (c).begin (); p != polygon.contour (c).end (); ++p) { - *this << 0 << endl << "VERTEX" << endl; - *this << 8 << endl; emit_layer (m_layer); // required by TrueView - *this << 10 << endl << (*p).x () * sf << endl; - *this << 20 << endl << (*p).y () * sf << endl; - } - - *this << 0 << endl << "SEQEND" << endl; + db::EdgeProcessor ep; + ep.insert_sequence (polygon.begin_edge ()); + db::PolygonContainer pc (polygons); + db::PolygonGenerator out (pc, true /*resolve holes*/, false /*min coherence for splitting*/); + db::SimpleMerge op; + ep.process (out, op); + for (std::vector::const_iterator p = polygons.begin (); p != polygons.end (); ++p) { + write_polygon (*p, sf); } + } else if (m_options.polygon_mode == 0) { + + *this << 0 << endl << "POLYLINE" << endl; + *this << 8 << endl; emit_layer (m_layer); + *this << 70 << endl << 1 << endl; + *this << 40 << endl << 0.0 << endl; + *this << 41 << endl << 0.0 << endl; + *this << 66 << endl << 1 << endl; // required by TrueView + + for (db::Polygon::polygon_contour_iterator p = polygon.begin_hull (); p != polygon.end_hull (); ++p) { + *this << 0 << endl << "VERTEX" << endl; + *this << 8 << endl; emit_layer (m_layer); // required by TrueView + *this << 10 << endl << (*p).x () * sf << endl; + *this << 20 << endl << (*p).y () * sf << endl; + } + + *this << 0 << endl << "SEQEND" << endl; + } else if (m_options.polygon_mode == 1) { - for (unsigned int c = 0; c < polygon.holes () + 1; ++c) { - - *this << 0 << endl << "LWPOLYLINE" << endl; - *this << 8 << endl; emit_layer (m_layer); - *this << 90 << endl << polygon.contour (0).size () << endl; - *this << 70 << endl << 1 << endl; - *this << 43 << endl << 0.0 << endl; - - for (db::Polygon::polygon_contour_iterator p = polygon.contour (c).begin (); p != polygon.contour (c).end (); ++p) { - *this << 10 << endl << (*p).x () * sf << endl; - *this << 20 << endl << (*p).y () * sf << endl; - } + *this << 0 << endl << "LWPOLYLINE" << endl; + *this << 8 << endl; emit_layer (m_layer); + *this << 90 << endl << polygon.contour (0).size () << endl; + *this << 70 << endl << 1 << endl; + *this << 43 << endl << 0.0 << endl; + for (db::Polygon::polygon_contour_iterator p = polygon.begin_hull (); p != polygon.end_hull (); ++p) { + *this << 10 << endl << (*p).x () * sf << endl; + *this << 20 << endl << (*p).y () * sf << endl; } } else if (m_options.polygon_mode == 2) { - if (polygon.holes () > 0) { - - // resolve holes or merge polygon as a preparation step for split_polygon which only works properly - // on merged polygons ... - std::vector polygons; - - db::EdgeProcessor ep; - ep.insert_sequence (polygon.begin_edge ()); - db::PolygonContainer pc (polygons); - db::PolygonGenerator out (pc, true /*resolve holes*/, false /*min coherence for splitting*/); - db::SimpleMerge op; - ep.process (out, op); - - for (std::vector::const_iterator p = polygons.begin (); p != polygons.end (); ++p) { - write_polygon (*p, sf); - } - - } else if (polygon.vertices () > 4) { + if (polygon.vertices () > 4) { std::vector polygons; db::split_polygon (polygon, polygons); diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h index 7beb06f49..1fbf4da0a 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/db_plugin/gsiDeclDbDXF.cc b/src/plugins/streamers/dxf/db_plugin/gsiDeclDbDXF.cc index 0e267603d..e057f53c7 100755 --- a/src/plugins/streamers/dxf/db_plugin/gsiDeclDbDXF.cc +++ b/src/plugins/streamers/dxf/db_plugin/gsiDeclDbDXF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc index 9e5da3281..8a7619ff9 100644 --- a/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc +++ b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -75,24 +75,24 @@ DXFReaderOptionPage::commit (db::FormatSpecificReaderOptions *o, const db::Techn { db::DXFReaderOptions *options = dynamic_cast (o); if (options) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); if (options->dbu > 1000.0 || options->dbu < 1e-9) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for database unit"))); } - tl::from_string (tl::to_string (mp_ui->unit_le->text ()), options->unit); + tl::from_string_ext (tl::to_string (mp_ui->unit_le->text ()), options->unit); if (options->unit > 1e9 || options->unit < 1e-9) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for the unit"))); } - tl::from_string (tl::to_string (mp_ui->text_scaling_le->text ()), options->text_scaling); + tl::from_string_ext (tl::to_string (mp_ui->text_scaling_le->text ()), options->text_scaling); if (options->text_scaling > 10000 || options->text_scaling < 1) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for the text scaling"))); } - tl::from_string (tl::to_string(mp_ui->circle_points_le->text ()), options->circle_points); + tl::from_string_ext (tl::to_string(mp_ui->circle_points_le->text ()), options->circle_points); if (options->circle_points < 4 || options->circle_points > 1000000) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for the number of points for arc interpolation"))); } - tl::from_string (tl::to_string(mp_ui->circle_accuracy_le->text ()), options->circle_accuracy); - tl::from_string (tl::to_string(mp_ui->contour_accuracy_le->text ()), options->contour_accuracy); + tl::from_string_ext (tl::to_string(mp_ui->circle_accuracy_le->text ()), options->circle_accuracy); + tl::from_string_ext (tl::to_string(mp_ui->contour_accuracy_le->text ()), options->contour_accuracy); options->polyline_mode = mp_ui->polyline2poly_cbx->currentIndex (); options->render_texts_as_polygons = mp_ui->render_texts_as_polygons_cbx->isChecked (); options->keep_other_cells = mp_ui->keep_other_cells_cbx->isChecked (); diff --git a/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h index abf02c100..3142087f9 100644 --- a/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h +++ b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc index e7d6a7b61..3e1c89f55 100644 --- a/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc +++ b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h index 7af3e6d71..2f1423396 100644 --- a/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h +++ b/src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/unit_tests/dbDXFReaderTests.cc b/src/plugins/streamers/dxf/unit_tests/dbDXFReaderTests.cc index f281e9673..c663c4e75 100644 --- a/src/plugins/streamers/dxf/unit_tests/dbDXFReaderTests.cc +++ b/src/plugins/streamers/dxf/unit_tests/dbDXFReaderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/dxf/unit_tests/dbDXFWriterTests.cc b/src/plugins/streamers/dxf/unit_tests/dbDXFWriterTests.cc new file mode 100644 index 000000000..c5e432737 --- /dev/null +++ b/src/plugins/streamers/dxf/unit_tests/dbDXFWriterTests.cc @@ -0,0 +1,247 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include "dbReader.h" +#include "dbRegion.h" +#include "dbDXFWriter.h" +#include "dbDXFFormat.h" +#include "dbTestSupport.h" +#include "dbRecursiveShapeIterator.h" +#include "tlUnitTest.h" +#include "tlStream.h" + +#include + +static void do_run_test (tl::TestBase *_this, db::Layout &layout, const std::string &fn_au, const db::DXFWriterOptions &opt) +{ + std::string tmp = _this->tmp_file ("tmp.dxf"); + + db::SaveLayoutOptions options; + options.set_options (new db::DXFWriterOptions (opt)); + options.set_format ("DXF"); + + { + tl::OutputStream stream (tmp); + db::Writer writer (options); + writer.write (layout, stream); + } + + _this->compare_text_files (tmp, fn_au); +} + +static void run_test (tl::TestBase *_this, const char *file, const char *file_au, const db::DXFWriterOptions &opt = db::DXFWriterOptions ()) +{ + std::string fn = tl::testdata_private () + "/dxf/" + file; + + db::Layout layout; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (layout); + } + + std::string fn_au = tl::testdata_private () + std::string ("/dxf/") + file_au; + + do_run_test (_this, layout, fn_au, opt); +} + +static void run_test_public (tl::TestBase *_this, const char *file, const char *file_au, const db::DXFWriterOptions &opt = db::DXFWriterOptions ()) +{ + std::string fn = tl::testdata () + "/dxf/" + file; + std::string fn_au = tl::testdata () + std::string ("/dxf/") + file_au; + + db::Layout layout; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (layout); + } + + do_run_test (_this, layout, fn_au, opt); +} + +TEST(Polygons1a) +{ + db::DXFWriterOptions opt; + run_test_public (_this, "dxf1.gds", "dxf1a_au.dxf", opt); +} + +TEST(Polygons1b) +{ + db::DXFWriterOptions opt; + opt.polygon_mode = 1; + run_test_public (_this, "dxf1.gds", "dxf1b_au.dxf", opt); +} + +TEST(Polygons1c) +{ + db::DXFWriterOptions opt; + opt.polygon_mode = 2; + run_test_public (_this, "dxf1.gds", "dxf1c_au.dxf", opt); +} + +TEST(Polygons1d) +{ + db::DXFWriterOptions opt; + opt.polygon_mode = 3; + run_test_public (_this, "dxf1.gds", "dxf1d_au.dxf", opt); +} + +TEST(Polygons1e) +{ + db::DXFWriterOptions opt; + opt.polygon_mode = 4; + run_test_public (_this, "dxf1.gds", "dxf1e_au.dxf", opt); +} + +TEST(Polygons2) +{ + db::DXFWriterOptions opt; + run_test_public (_this, "dxf2.gds", "dxf2_au.dxf", opt); +} + +TEST(Polygons3) +{ + db::DXFWriterOptions opt; + run_test_public (_this, "dxf3.gds", "dxf3_au.dxf", opt); +} + +TEST(Polygons4a) +{ + db::Layout l; + std::string fn = tl::testdata () + "/dxf/dxf4.gds"; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l); + } + + unsigned int l1 = l.get_layer (db::LayerProperties (1, 0)); + unsigned int l2 = l.get_layer (db::LayerProperties (2, 0)); + unsigned int l100 = l.get_layer (db::LayerProperties (100, 0)); + + db::Region r1 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l1)); + db::Region r2 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l2)); + (r1 ^ r2).insert_into (&l, *l.begin_top_down (), l100); + + db::DXFWriterOptions opt; + do_run_test (_this, l, tl::testdata () + std::string ("/dxf/") + "dxf4a_au.dxf", opt); +} + +TEST(Polygons4b) +{ + db::Layout l; + std::string fn = tl::testdata () + "/dxf/dxf4.gds"; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l); + } + + unsigned int l1 = l.get_layer (db::LayerProperties (1, 0)); + unsigned int l2 = l.get_layer (db::LayerProperties (2, 0)); + unsigned int l100 = l.get_layer (db::LayerProperties (100, 0)); + + db::Region r1 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l1)); + db::Region r2 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l2)); + (r1 ^ r2).insert_into (&l, *l.begin_top_down (), l100); + + db::DXFWriterOptions opt; + opt.polygon_mode = 1; + do_run_test (_this, l, tl::testdata () + std::string ("/dxf/") + "dxf4b_au.dxf", opt); +} + +TEST(Polygons4c) +{ + db::Layout l; + std::string fn = tl::testdata () + "/dxf/dxf4.gds"; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l); + } + + unsigned int l1 = l.get_layer (db::LayerProperties (1, 0)); + unsigned int l2 = l.get_layer (db::LayerProperties (2, 0)); + unsigned int l100 = l.get_layer (db::LayerProperties (100, 0)); + + db::Region r1 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l1)); + db::Region r2 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l2)); + (r1 ^ r2).insert_into (&l, *l.begin_top_down (), l100); + + db::DXFWriterOptions opt; + opt.polygon_mode = 2; + do_run_test (_this, l, tl::testdata () + std::string ("/dxf/") + "dxf4c_au.dxf", opt); +} + +TEST(Polygons4d) +{ + db::Layout l; + std::string fn = tl::testdata () + "/dxf/dxf4.gds"; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l); + } + + unsigned int l1 = l.get_layer (db::LayerProperties (1, 0)); + unsigned int l2 = l.get_layer (db::LayerProperties (2, 0)); + unsigned int l100 = l.get_layer (db::LayerProperties (100, 0)); + + db::Region r1 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l1)); + db::Region r2 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l2)); + (r1 ^ r2).insert_into (&l, *l.begin_top_down (), l100); + + db::DXFWriterOptions opt; + opt.polygon_mode = 3; + do_run_test (_this, l, tl::testdata () + std::string ("/dxf/") + "dxf4d_au.dxf", opt); +} + +TEST(Polygons4e) +{ + db::Layout l; + std::string fn = tl::testdata () + "/dxf/dxf4.gds"; + + { + tl::InputStream stream (fn); + db::Reader reader (stream); + reader.read (l); + } + + unsigned int l1 = l.get_layer (db::LayerProperties (1, 0)); + unsigned int l2 = l.get_layer (db::LayerProperties (2, 0)); + unsigned int l100 = l.get_layer (db::LayerProperties (100, 0)); + + db::Region r1 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l1)); + db::Region r2 = db::Region (db::RecursiveShapeIterator (l, l.cell (*l.begin_top_down ()), l2)); + (r1 ^ r2).insert_into (&l, *l.begin_top_down (), l100); + + db::DXFWriterOptions opt; + opt.polygon_mode = 4; + do_run_test (_this, l, tl::testdata () + std::string ("/dxf/") + "dxf4e_au.dxf", opt); +} diff --git a/src/plugins/streamers/dxf/unit_tests/unit_tests.pro b/src/plugins/streamers/dxf/unit_tests/unit_tests.pro index 98d781faa..6ffe9f557 100644 --- a/src/plugins/streamers/dxf/unit_tests/unit_tests.pro +++ b/src/plugins/streamers/dxf/unit_tests/unit_tests.pro @@ -6,7 +6,8 @@ TARGET = dxf_tests include($$PWD/../../../../lib_ut.pri) SOURCES = \ - dbDXFReaderTests.cc + dbDXFReaderTests.cc \ + dbDXFWriterTests.cc INCLUDEPATH += $$LAY_INC $$TL_INC $$DB_INC $$GSI_INC $$PWD/../db_plugin $$PWD/../../../common DEPENDPATH += $$LAY_INC $$TL_INC $$DB_INC $$GSI_INC $$PWD/../db_plugin $$PWD/../../../common diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.cc b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.cc index aa914b5e4..6d8ec5caf 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.cc +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.h b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.h index 41cc74889..edc691463 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.h +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Converter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Text.cc b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Text.cc index f5c6363a3..317705c99 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Text.cc +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2Text.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.cc b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.cc index 11e16ba0a..82aa1ec7f 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.cc +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.h b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.h index 15fd0dbca..8463ba5fc 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.h +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.cc b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.cc index 0d447b8a3..f583c8fd0 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.cc +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.h b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.h index 3de73b45b..f5cb03a29 100644 --- a/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.h +++ b/src/plugins/streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2.cc index 21f25c7e1..5c7f7c178 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2.h index dd5dadacb..887ac2724 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2Format.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2Format.h index 30941c142..42490df6e 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2Format.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2Format.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.cc index da4f02384..c64725513 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.h index 0cf7d0c0f..8f965f222 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc index c27374354..f758176eb 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.h index 0f8523afd..7f07a382b 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.cc index 8e6e17eb6..ac6216051 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.h index 311d8b6a4..10b9d95c0 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.cc b/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.cc index 0ed5d14ae..3d2778b81 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.cc +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.h b/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.h index 3dada7332..ea735ecc5 100644 --- a/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.h +++ b/src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc b/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc index c571b20e8..d37a59373 100644 --- a/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc +++ b/src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.cc b/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.cc index 17fde89f0..d95bb27c9 100644 --- a/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.cc +++ b/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.h b/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.h index f06ff23e7..c07490cb9 100644 --- a/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.h +++ b/src/plugins/streamers/gds2/lay_plugin/layGDS2ReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc index 948b211a7..9a3c03b31 100644 --- a/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc +++ b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -83,7 +83,7 @@ GDS2WriterOptionPage::commit (db::FormatSpecificWriterOptions *o, const db::Tech options->write_file_properties = mp_ui->write_file_properties->isChecked (); options->no_zero_length_paths = mp_ui->no_zero_length_paths->isChecked (); - tl::from_string (tl::to_string (mp_ui->max_vertex_le->text ()), n); + tl::from_string_ext (tl::to_string (mp_ui->max_vertex_le->text ()), n); if (! options->multi_xy_records) { if (n > 8191) { throw tl::Exception (tl::to_string (QObject::tr ("Maximum number of vertices must not exceed 8191"))); @@ -95,7 +95,7 @@ GDS2WriterOptionPage::commit (db::FormatSpecificWriterOptions *o, const db::Tech options->max_vertex_count = n; n = 32000; - tl::from_string (tl::to_string (mp_ui->cell_name_length_le->text ()), n); + tl::from_string_ext (tl::to_string (mp_ui->cell_name_length_le->text ()), n); if (n > 32000) { throw tl::Exception (tl::to_string (QObject::tr ("Maximum cell name length must not exceed 32000"))); } diff --git a/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.h b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.h index 1809a3ddb..8553adae5 100644 --- a/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.h +++ b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/unit_tests/dbGDS2Reader.cc b/src/plugins/streamers/gds2/unit_tests/dbGDS2Reader.cc index 07557cdeb..4f075bb46 100644 --- a/src/plugins/streamers/gds2/unit_tests/dbGDS2Reader.cc +++ b/src/plugins/streamers/gds2/unit_tests/dbGDS2Reader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/gds2/unit_tests/dbGDS2Writer.cc b/src/plugins/streamers/gds2/unit_tests/dbGDS2Writer.cc index 35e25883c..297a82086 100644 --- a/src/plugins/streamers/gds2/unit_tests/dbGDS2Writer.cc +++ b/src/plugins/streamers/gds2/unit_tests/dbGDS2Writer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.cc index 70b93117a..588f45ff2 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.h b/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.h index 5fee51f1c..05e9ed06e 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.h +++ b/src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc index 6e9931faf..530260821 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -510,8 +510,9 @@ LEFDEFReaderOptions::LEFDEFReaderOptions () m_special_routing_datatype (0), m_separate_groups (false), m_map_file (), - m_macro_resolution_mode (false), - m_read_lef_with_def (true) + m_macro_resolution_mode (0), + m_read_lef_with_def (true), + m_paths_relative_to_cwd (false) { // .. nothing yet .. } @@ -590,6 +591,7 @@ LEFDEFReaderOptions &LEFDEFReaderOptions::operator= (const LEFDEFReaderOptions & m_lef_files = d.m_lef_files; m_macro_layout_files = d.m_macro_layout_files; m_read_lef_with_def = d.m_read_lef_with_def; + m_paths_relative_to_cwd = d.m_paths_relative_to_cwd; set_macro_layouts (d.macro_layouts ()); } return *this; @@ -611,6 +613,7 @@ LEFDEFReaderOptions::format_name () const static void set_datatypes (db::LEFDEFReaderOptions *data, void (db::LEFDEFReaderOptions::*clear) (), void (db::LEFDEFReaderOptions::*set_datatype) (int datatype), void (db::LEFDEFReaderOptions::*set_datatype_per_mask) (unsigned int mask, int datatype), const std::string &s) { (data->*clear) (); + (data->*set_datatype) (-1); tl::Extractor ex (s.c_str ()); @@ -642,6 +645,7 @@ static void set_datatypes (db::LEFDEFReaderOptions *data, void (db::LEFDEFReader static void set_suffixes (db::LEFDEFReaderOptions *data, void (db::LEFDEFReaderOptions::*clear) (), void (db::LEFDEFReaderOptions::*set_suffix) (const std::string &suffix), void (db::LEFDEFReaderOptions::*set_suffix_per_mask) (unsigned int mask, const std::string &suffix), const std::string &s) { (data->*clear) (); + (data->*set_suffix) (std::string ()); tl::Extractor ex (s.c_str ()); @@ -1202,6 +1206,18 @@ LEFDEFReaderState::open_layer (db::Layout &layout, const std::string &n, LayerPu } m_layers.insert (std::make_pair (std::make_pair (n, LayerDetailsKey (purpose, mask)), ll)); + + if (ll.empty ()) { + tl::warn << tl::to_string (tr ("No mapping for layer")) << " '" << n << "', purpose '" << purpose_to_name (purpose) << "'" << tl::noendl; + if (mask > 0) { + tl::warn << tl::to_string (tr (" Mask ")) << mask << tl::noendl; + } + if (via_size != db::DVector ()) { + tl::warn << tl::to_string (tr (" Via size ")) << via_size.to_string () << tl::noendl; + } + tl::warn << tl::to_string (tr (" - layer is ignored")); + } + return ll; } else { diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h index b37c951e0..a76c11be5 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -113,6 +113,16 @@ public: db::FormatSpecificReaderOptions *clone () const; virtual const std::string &format_name () const; + bool paths_relative_to_cwd () const + { + return m_paths_relative_to_cwd; + } + + void set_paths_relative_to_cwd (bool f) + { + m_paths_relative_to_cwd = f; + } + bool read_all_layers () const { return m_read_all_layers; @@ -1003,6 +1013,7 @@ private: std::vector m_lef_files; tl::weak_collection m_macro_layouts; std::vector m_macro_layout_files; + bool m_paths_relative_to_cwd; }; /** diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc index 35489ff1e..1cce6e831 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -116,7 +116,12 @@ LEFDEFReader::read_lefdef (db::Layout &layout, const db::LoadLayoutOptions &opti effective_options = *lefdef_options; } - db::LEFDEFReaderState state (&effective_options, layout, tl::dirname (m_stream.absolute_path ())); + std::string base_path; + if (! effective_options.paths_relative_to_cwd ()) { + base_path = tl::dirname (m_stream.absolute_path ()); + } + + db::LEFDEFReaderState state (&effective_options, layout, base_path); layout.dbu (effective_options.dbu ()); @@ -131,7 +136,7 @@ LEFDEFReader::read_lefdef (db::Layout &layout, const db::LoadLayoutOptions &opti for (std::vector::const_iterator l = effective_options.begin_lef_files (); l != effective_options.end_lef_files (); ++l) { - std::string lp = correct_path (*l, layout, tl::dirname (m_stream.absolute_path ())); + std::string lp = correct_path (*l, layout, base_path); tl::InputStream lef_stream (lp); tl::log << tl::to_string (tr ("Reading")) << " " << lp; @@ -152,7 +157,7 @@ LEFDEFReader::read_lefdef (db::Layout &layout, const db::LoadLayoutOptions &opti for (std::vector::const_iterator l = effective_options.begin_lef_files (); l != effective_options.end_lef_files (); ++l) { - std::string lp = correct_path (*l, layout, tl::dirname (m_stream.absolute_path ())); + std::string lp = correct_path (*l, layout, base_path); tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading LEF file: ")) + lp); @@ -205,7 +210,7 @@ LEFDEFReader::read_lefdef (db::Layout &layout, const db::LoadLayoutOptions &opti tl::shared_collection macro_layout_object_holder; for (std::vector::const_iterator l = effective_options.begin_macro_layout_files (); l != effective_options.end_macro_layout_files (); ++l) { - std::string lp = correct_path (*l, layout, tl::dirname (m_stream.absolute_path ())); + std::string lp = correct_path (*l, layout, base_path); tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Reading LEF macro layout file: ")) + lp); @@ -331,59 +336,75 @@ class LEFDEFFormatDeclaration tl::make_member (&LEFDEFReaderOptions::inst_property_name, &LEFDEFReaderOptions::set_inst_property_name, "inst-property-name") + tl::make_member (&LEFDEFReaderOptions::produce_pin_names, &LEFDEFReaderOptions::set_produce_pin_names, "produce-pin-names") + tl::make_member (&LEFDEFReaderOptions::pin_property_name, &LEFDEFReaderOptions::set_pin_property_name, "pin-property-name") + + tl::make_member (&LEFDEFReaderOptions::produce_cell_outlines, &LEFDEFReaderOptions::set_produce_cell_outlines, "produce-cell-outlines") + tl::make_member (&LEFDEFReaderOptions::cell_outline_layer, &LEFDEFReaderOptions::set_cell_outline_layer, "cell-outline-layer") + + tl::make_member (&LEFDEFReaderOptions::produce_placement_blockages, &LEFDEFReaderOptions::set_produce_placement_blockages, "produce-placement-blockages") + tl::make_member (&LEFDEFReaderOptions::placement_blockage_layer, &LEFDEFReaderOptions::set_placement_blockage_layer, "placement-blockage-layer") + + tl::make_member (&LEFDEFReaderOptions::produce_regions, &LEFDEFReaderOptions::set_produce_regions, "produce-regions") + tl::make_member (&LEFDEFReaderOptions::region_layer, &LEFDEFReaderOptions::set_region_layer, "region-layer") + + tl::make_member (&LEFDEFReaderOptions::produce_via_geometry, &LEFDEFReaderOptions::set_produce_via_geometry, "produce-via-geometry") + // for backward compatibility tl::make_member (&LEFDEFReaderOptions::set_via_geometry_suffix, "special-via_geometry-suffix") + tl::make_member (&LEFDEFReaderOptions::set_via_geometry_datatype, "special-via_geometry-datatype") + + tl::make_member (&LEFDEFReaderOptions::set_via_geometry_suffix_str, "special-via_geometry-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::set_via_geometry_datatype_str, "special-via_geometry-datatype-string") + // new: - tl::make_member (&LEFDEFReaderOptions::via_geometry_suffix_str, &LEFDEFReaderOptions::set_via_geometry_suffix_str, "special-via_geometry-suffix-string") + - tl::make_member (&LEFDEFReaderOptions::via_geometry_datatype_str, &LEFDEFReaderOptions::set_via_geometry_datatype_str, "special-via_geometry-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::via_geometry_suffix_str, &LEFDEFReaderOptions::set_via_geometry_suffix_str, "via_geometry-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::via_geometry_datatype_str, &LEFDEFReaderOptions::set_via_geometry_datatype_str, "via_geometry-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::produce_pins, &LEFDEFReaderOptions::set_produce_pins, "produce-pins") + // for backward compatibility tl::make_member (&LEFDEFReaderOptions::set_pins_suffix, "special-pins-suffix") + tl::make_member (&LEFDEFReaderOptions::set_pins_datatype, "special-pins-datatype") + + tl::make_member (&LEFDEFReaderOptions::set_pins_suffix_str, "special-pins-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::set_pins_datatype_str, "special-pins-datatype-string") + // new: - tl::make_member (&LEFDEFReaderOptions::pins_suffix_str, &LEFDEFReaderOptions::set_pins_suffix_str, "special-pins-suffix-string") + - tl::make_member (&LEFDEFReaderOptions::pins_datatype_str, &LEFDEFReaderOptions::set_pins_datatype_str, "special-pins-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::pins_suffix_str, &LEFDEFReaderOptions::set_pins_suffix_str, "pins-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::pins_datatype_str, &LEFDEFReaderOptions::set_pins_datatype_str, "pins-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::produce_lef_pins, &LEFDEFReaderOptions::set_produce_lef_pins, "produce-lef-pins") + // for backward compatibility tl::make_member (&LEFDEFReaderOptions::set_lef_pins_suffix, "special-lef_pins-suffix") + tl::make_member (&LEFDEFReaderOptions::set_lef_pins_datatype, "special-lef_pins-datatype") + + tl::make_member (&LEFDEFReaderOptions::set_lef_pins_suffix_str, "special-lef_pins-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::set_lef_pins_datatype_str, "special-lef_pins-datatype-string") + // new: - tl::make_member (&LEFDEFReaderOptions::lef_pins_suffix_str, &LEFDEFReaderOptions::set_lef_pins_suffix_str, "special-lef_pins-suffix-string") + - tl::make_member (&LEFDEFReaderOptions::lef_pins_datatype_str, &LEFDEFReaderOptions::set_lef_pins_datatype_str, "special-lef_pins-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::lef_pins_suffix_str, &LEFDEFReaderOptions::set_lef_pins_suffix_str, "lef_pins-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::lef_pins_datatype_str, &LEFDEFReaderOptions::set_lef_pins_datatype_str, "lef_pins-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::produce_fills, &LEFDEFReaderOptions::set_produce_fills, "produce-fills") + // for backward compatibility tl::make_member (&LEFDEFReaderOptions::set_fills_suffix, "special-fills-suffix") + tl::make_member (&LEFDEFReaderOptions::set_fills_datatype, "special-fills-datatype") + + tl::make_member (&LEFDEFReaderOptions::set_fills_suffix_str, "special-fills-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::set_fills_datatype_str, "special-fills-datatype-string") + // new: - tl::make_member (&LEFDEFReaderOptions::fills_suffix_str, &LEFDEFReaderOptions::set_fills_suffix_str, "special-fills-suffix-string") + - tl::make_member (&LEFDEFReaderOptions::fills_datatype_str, &LEFDEFReaderOptions::set_fills_datatype_str, "special-fills-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::fills_suffix_str, &LEFDEFReaderOptions::set_fills_suffix_str, "fills-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::fills_datatype_str, &LEFDEFReaderOptions::set_fills_datatype_str, "fills-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::produce_obstructions, &LEFDEFReaderOptions::set_produce_obstructions, "produce-obstructions") + tl::make_member (&LEFDEFReaderOptions::obstructions_suffix, &LEFDEFReaderOptions::set_obstructions_suffix, "obstructions-suffix") + tl::make_member (&LEFDEFReaderOptions::obstructions_datatype, &LEFDEFReaderOptions::set_obstructions_datatype, "obstructions-datatype") + + tl::make_member (&LEFDEFReaderOptions::produce_blockages, &LEFDEFReaderOptions::set_produce_blockages, "produce-blockages") + tl::make_member (&LEFDEFReaderOptions::blockages_suffix, &LEFDEFReaderOptions::set_blockages_suffix, "blockages-suffix") + tl::make_member (&LEFDEFReaderOptions::blockages_datatype, &LEFDEFReaderOptions::set_blockages_datatype, "blockages-datatype") + + tl::make_member (&LEFDEFReaderOptions::produce_labels, &LEFDEFReaderOptions::set_produce_labels, "produce-labels") + tl::make_member (&LEFDEFReaderOptions::labels_suffix, &LEFDEFReaderOptions::set_labels_suffix, "labels-suffix") + tl::make_member (&LEFDEFReaderOptions::labels_datatype, &LEFDEFReaderOptions::set_labels_datatype, "labels-datatype") + tl::make_member (&LEFDEFReaderOptions::produce_lef_labels, &LEFDEFReaderOptions::set_produce_lef_labels, "produce-lef-labels") + tl::make_member (&LEFDEFReaderOptions::lef_labels_suffix, &LEFDEFReaderOptions::set_lef_labels_suffix, "lef-labels-suffix") + tl::make_member (&LEFDEFReaderOptions::lef_labels_datatype, &LEFDEFReaderOptions::set_lef_labels_datatype, "lef-labels-datatype") + + tl::make_member (&LEFDEFReaderOptions::produce_routing, &LEFDEFReaderOptions::set_produce_routing, "produce-routing") + - // for backward compatibility - tl::make_member (&LEFDEFReaderOptions::set_routing_suffix, "special-routing-suffix") + - tl::make_member (&LEFDEFReaderOptions::set_routing_datatype, "special-routing-datatype") + - // new: - tl::make_member (&LEFDEFReaderOptions::routing_suffix_str, &LEFDEFReaderOptions::set_routing_suffix_str, "special-routing-suffix-string") + - tl::make_member (&LEFDEFReaderOptions::routing_datatype_str, &LEFDEFReaderOptions::set_routing_datatype_str, "special-routing-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::routing_suffix_str, &LEFDEFReaderOptions::set_routing_suffix_str, "routing-suffix-string") + + tl::make_member (&LEFDEFReaderOptions::routing_datatype_str, &LEFDEFReaderOptions::set_routing_datatype_str, "routing-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::produce_special_routing, &LEFDEFReaderOptions::set_produce_special_routing, "produce-special-routing") + // for backward compatibility tl::make_member (&LEFDEFReaderOptions::set_special_routing_suffix, "special-routing-suffix") + @@ -391,6 +412,7 @@ class LEFDEFFormatDeclaration // new: tl::make_member (&LEFDEFReaderOptions::special_routing_suffix_str, &LEFDEFReaderOptions::set_special_routing_suffix_str, "special-routing-suffix-string") + tl::make_member (&LEFDEFReaderOptions::special_routing_datatype_str, &LEFDEFReaderOptions::set_special_routing_datatype_str, "special-routing-datatype-string") + + tl::make_member (&LEFDEFReaderOptions::via_cellname_prefix, &LEFDEFReaderOptions::set_via_cellname_prefix, "via-cellname-prefix") + tl::make_member (&LEFDEFReaderOptions::begin_lef_files, &LEFDEFReaderOptions::end_lef_files, &LEFDEFReaderOptions::push_lef_file, "lef-files") + tl::make_member (&LEFDEFReaderOptions::begin_macro_layout_files, &LEFDEFReaderOptions::end_macro_layout_files, &LEFDEFReaderOptions::push_macro_layout_file, "macro_layout-files") + diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc index b98adb222..8de6300b8 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.h b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.h index c50bda7bb..0ed26e12a 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.h +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc index 6b8ecd6bb..c39b26753 100644 --- a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc +++ b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -108,6 +108,10 @@ static void set_pin_property_name (db::LEFDEFReaderOptions *config, const tl::Va static gsi::Class decl_lefdef_config ("db", "LEFDEFReaderConfiguration", + gsi::method ("paths_relative_to_cwd=", &db::LEFDEFReaderOptions::set_paths_relative_to_cwd, gsi::arg ("f"), + "@brief Sets a value indicating whether to use paths relative to cwd (true) or DEF file (false) for map or LEF files\n" + "This write-only attribute has been introduced in version 0.27.9." + ) + gsi::method ("layer_map", (db::LayerMap &(db::LEFDEFReaderOptions::*) ()) &db::LEFDEFReaderOptions::layer_map, "@brief Gets the layer map to be used for the LEF/DEF reader\n" "@return A reference to the layer map\n" @@ -258,13 +262,13 @@ gsi::Class decl_lefdef_config ("db", "LEFDEFReaderConfi "\n" "For example: the via layer is 'V1', \\via_geometry_suffix is 'GEO' and \\via_geometry_datatype is 1. Then:\n" "\n" - "@li\n" - "@ul If there is a mapping for 'V1.GEO', the layer and datatype will be taken from there. @/ul\n" - "@ul If there is a mapping for 'V1', the layer will be taken from there and the datatype will be taken from \\via_geometry_datatype. " - " The name of the produced layer will be 'V1.GEO'. @/ul\n" - "@ul If there is no mapping for both, the layer number will be a unique value, the datatype will be taken from \\via_geometry_datatype " - " and the layer name will be 'V1.GEO'. @/ul" - "@/li\n" + "@ul\n" + "@li If there is a mapping for 'V1.GEO', the layer and datatype will be taken from there. @/li\n" + "@li If there is a mapping for 'V1', the layer will be taken from there and the datatype will be taken from \\via_geometry_datatype. " + " The name of the produced layer will be 'V1.GEO'. @/li\n" + "@li If there is no mapping for both, the layer number will be a unique value, the datatype will be taken from \\via_geometry_datatype " + " and the layer name will be 'V1.GEO'. @/li" + "@/ul\n" ) + gsi::method ("produce_via_geometry=", &db::LEFDEFReaderOptions::set_produce_via_geometry, gsi::arg ("produce"), "@brief Sets a value indicating whether via geometries shall be produced.\n" diff --git a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImport.cc b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImport.cc index 80668f1cb..b8b92a68e 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImport.cc +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc index 744dab2f0..ecc324377 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -360,6 +360,7 @@ LEFDEFReaderOptionsEditor::LEFDEFReaderOptionsEditor (QWidget *parent) connect (produce_routing, SIGNAL (stateChanged (int)), this, SLOT (checkbox_changed ())); connect (produce_special_routing, SIGNAL (stateChanged (int)), this, SLOT (checkbox_changed ())); connect (produce_labels, SIGNAL (stateChanged (int)), this, SLOT (checkbox_changed ())); + connect (produce_lef_labels, SIGNAL (stateChanged (int)), this, SLOT (checkbox_changed ())); connect (add_lef_file, SIGNAL (clicked ()), this, SLOT (add_lef_file_clicked ())); connect (del_lef_files, SIGNAL (clicked ()), this, SLOT (del_lef_files_clicked ())); connect (move_lef_files_up, SIGNAL (clicked ()), this, SLOT (move_lef_files_up_clicked ())); @@ -391,7 +392,7 @@ LEFDEFReaderOptionsEditor::commit (db::FormatSpecificReaderOptions *options, con data->set_produce_pin_names (produce_pin_names->isChecked ()); double dbu_value = 0.0; - tl::from_string (tl::to_string (dbu->text ()), dbu_value); + tl::from_string_ext (tl::to_string (dbu->text ()), dbu_value); if (dbu_value < 1e-7) { throw tl::Exception (tl::to_string (tr ("Invalid database unit value (must be non-null and positive)"))); } @@ -644,6 +645,7 @@ LEFDEFReaderOptionsEditor::checkbox_changed () suffix_routing->setEnabled (produce_routing->isChecked ()); suffix_special_routing->setEnabled (produce_special_routing->isChecked ()); suffix_labels->setEnabled (produce_labels->isChecked ()); + suffix_lef_labels->setEnabled (produce_lef_labels->isChecked ()); datatype_via_geometry->setEnabled (produce_via_geometry->isChecked ()); datatype_pins->setEnabled (produce_pins->isChecked ()); datatype_lef_pins->setEnabled (produce_lef_pins->isChecked ()); @@ -653,6 +655,7 @@ LEFDEFReaderOptionsEditor::checkbox_changed () datatype_routing->setEnabled (produce_routing->isChecked ()); datatype_special_routing->setEnabled (produce_special_routing->isChecked ()); datatype_labels->setEnabled (produce_labels->isChecked ()); + datatype_lef_labels->setEnabled (produce_lef_labels->isChecked ()); } void diff --git a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.h b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.h index 8edfa9baf..0c92a634e 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.h +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFPlugin.cc index aa5459bb3..ba2ab791f 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc index a378ef84d..ad415cdc4 100644 --- a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc +++ b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFReaderOptionsTests.cc b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFReaderOptionsTests.cc index 8e298a0cc..d7866f681 100644 --- a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFReaderOptionsTests.cc +++ b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFReaderOptionsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAG.cc b/src/plugins/streamers/magic/db_plugin/dbMAG.cc index d4048586d..59f27e020 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAG.cc +++ b/src/plugins/streamers/magic/db_plugin/dbMAG.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAG.h b/src/plugins/streamers/magic/db_plugin/dbMAG.h index 06598882c..1ed40cedf 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAG.h +++ b/src/plugins/streamers/magic/db_plugin/dbMAG.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGFormat.h b/src/plugins/streamers/magic/db_plugin/dbMAGFormat.h index edebce832..c7b947aa1 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGFormat.h +++ b/src/plugins/streamers/magic/db_plugin/dbMAGFormat.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc b/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc index f8869a9b3..ff5ccbe27 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc +++ b/src/plugins/streamers/magic/db_plugin/dbMAGReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGReader.h b/src/plugins/streamers/magic/db_plugin/dbMAGReader.h index 71257a4eb..1d9901732 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGReader.h +++ b/src/plugins/streamers/magic/db_plugin/dbMAGReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGWriter.cc b/src/plugins/streamers/magic/db_plugin/dbMAGWriter.cc index 93ab2878d..36581ee64 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGWriter.cc +++ b/src/plugins/streamers/magic/db_plugin/dbMAGWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/dbMAGWriter.h b/src/plugins/streamers/magic/db_plugin/dbMAGWriter.h index f76629945..098c489ac 100644 --- a/src/plugins/streamers/magic/db_plugin/dbMAGWriter.h +++ b/src/plugins/streamers/magic/db_plugin/dbMAGWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/db_plugin/gsiDeclDbMAG.cc b/src/plugins/streamers/magic/db_plugin/gsiDeclDbMAG.cc index 9d63389d8..c1b0270fb 100644 --- a/src/plugins/streamers/magic/db_plugin/gsiDeclDbMAG.cc +++ b/src/plugins/streamers/magic/db_plugin/gsiDeclDbMAG.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc index bb6f40cab..f4742ab8c 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc +++ b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -80,12 +80,12 @@ MAGReaderOptionPage::commit (db::FormatSpecificReaderOptions *o, const db::Techn db::MAGReaderOptions *options = dynamic_cast (o); if (options) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), options->dbu); if (options->dbu > 1000.0 || options->dbu < 1e-9) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for database unit"))); } - tl::from_string (tl::to_string (mp_ui->lambda_le->text ()), options->lambda); + tl::from_string_ext (tl::to_string (mp_ui->lambda_le->text ()), options->lambda); if (options->lambda > 10000000.0 || options->lambda < 1e-9) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid value for lambda"))); } diff --git a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.h b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.h index 56f41e6d9..85e9068d3 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.h +++ b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc index 4cd261947..08e296566 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc +++ b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -73,7 +73,7 @@ MAGWriterOptionPage::commit (db::FormatSpecificWriterOptions *o, const db::Techn QString l = mp_ui->lambda_le->text ().trimmed (); options->lambda = 0.0; if (! l.isEmpty ()) { - tl::from_string (tl::to_string (l), options->lambda); + tl::from_string_ext (tl::to_string (l), options->lambda); } options->tech = tl::to_string (mp_ui->tech_le->text ().trimmed ()); options->write_timestamp = ! mp_ui->zero_ts_cbx->isChecked (); diff --git a/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.h b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.h index eabd8249f..d540325cb 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.h +++ b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/magic/unit_tests/dbMAGReader.cc b/src/plugins/streamers/magic/unit_tests/dbMAGReader.cc index d8fa23788..9c58e25eb 100644 --- a/src/plugins/streamers/magic/unit_tests/dbMAGReader.cc +++ b/src/plugins/streamers/magic/unit_tests/dbMAGReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASIS.cc b/src/plugins/streamers/oasis/db_plugin/dbOASIS.cc index 77c2858f9..713b1bce8 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASIS.cc +++ b/src/plugins/streamers/oasis/db_plugin/dbOASIS.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASIS.h b/src/plugins/streamers/oasis/db_plugin/dbOASIS.h index b3d6168ef..ec21e4937 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASIS.h +++ b/src/plugins/streamers/oasis/db_plugin/dbOASIS.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISFormat.h b/src/plugins/streamers/oasis/db_plugin/dbOASISFormat.h index f2fc45831..5b4198287 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISFormat.h +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISFormat.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc index 3fd429a9e..0ce2ac13f 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.h b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.h index 6d04a33b3..3ebab974e 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISReader.h +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc index d423f17b8..8d486117e 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1998,10 +1998,10 @@ OASISWriter::write (const db::CellInstArray &inst, db::properties_id_type prop_i if (rep != db::Repetition ()) { for (db::RepetitionIterator r = rep.begin (); ! r.at_end (); ++r) { - write_inst_with_rep (inst, prop_id, *r, array_rep); + write_inst_with_rep (inst, prop_id, *r + po, array_rep); } } else { - write_inst_with_rep (inst, prop_id, db::Vector (), array_rep); + write_inst_with_rep (inst, prop_id, po, array_rep); } } else if (inst.is_regular_array (a, b, amax, bmax) && (amax > 1 || bmax > 1)) { diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h index d5bcb8391..f70eee93f 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/db_plugin/gsiDeclDbOASIS.cc b/src/plugins/streamers/oasis/db_plugin/gsiDeclDbOASIS.cc index 8fc11d4d8..9261cc312 100644 --- a/src/plugins/streamers/oasis/db_plugin/gsiDeclDbOASIS.cc +++ b/src/plugins/streamers/oasis/db_plugin/gsiDeclDbOASIS.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc index 98b64efe6..79436c206 100644 --- a/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc +++ b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h index caa6d138d..da464eac3 100644 --- a/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h +++ b/src/plugins/streamers/oasis/lay_plugin/layOASISReaderPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc index ecc128854..259371da4 100644 --- a/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc +++ b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h index 751f4952f..30f781f8d 100644 --- a/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h +++ b/src/plugins/streamers/oasis/lay_plugin/layOASISWriterPlugin.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/unit_tests/dbOASISReaderTests.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISReaderTests.cc index 3aae2ca53..a44caa60a 100644 --- a/src/plugins/streamers/oasis/unit_tests/dbOASISReaderTests.cc +++ b/src/plugins/streamers/oasis/unit_tests/dbOASISReaderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/unit_tests/dbOASISWriter2Tests.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISWriter2Tests.cc index b51356266..d41743d43 100644 --- a/src/plugins/streamers/oasis/unit_tests/dbOASISWriter2Tests.cc +++ b/src/plugins/streamers/oasis/unit_tests/dbOASISWriter2Tests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc index 4c98d7cf6..c632840b3 100644 --- a/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc +++ b/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1805,3 +1805,45 @@ TEST(119_WithAndWithoutContext) } } + +TEST(120_IrregularInstRepetitions) +{ + db::Manager m (false); + db::Layout g (&m); + + db::cell_index_type top = g.add_cell ("TOP"); + db::cell_index_type c1 = g.add_cell ("C1"); + + db::Vector pts[3] = { db::Vector (0, 10), db::Vector (0, 20), db::Vector (0, 30) }; + + unsigned int l1 = g.insert_layer (db::LayerProperties (1, 0)); + g.cell (c1).shapes (l1).insert (db::Box (-5, -5, 5, 5)); + db::iterated_array *reps = new db::iterated_array (pts + 0, pts + 3); + g.cell (top).shapes (l1).insert (db::array (db::Box (-5, -5, 5, 5), db::UnitTrans (), reps)); + + db::iterated_array *rep = new db::iterated_array (pts + 0, pts + 3); + db::CellInstArray ci1 (db::CellInst (c1), db::Trans (db::Vector (10, 0)), rep); + g.cell (top).insert (ci1); + + std::string tmp_file = tl::TestBase::tmp_file (tl::sprintf ("tmp_dbOASISWriter120.oas")); + + { + tl::OutputStream out (tmp_file); + db::SaveLayoutOptions options; + options.set_format ("OASIS"); + db::Writer writer (options); + writer.write (g, out); + } + + { + tl::InputStream in (tmp_file); + db::Reader reader (in); + db::Layout gg; + reader.set_warnings_as_errors (true); + reader.read (gg); + + CHECKPOINT (); + db::compare_layouts (_this, gg, tl::testdata () + "/oasis/dbOASISWriter120_au.gds", db::NoNormalization); + } + +} diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.cc b/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.cc index 1f1d8bfa1..3067a94ff 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.h b/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.h index da10badc1..749997ba1 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.h +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberDrillFileReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.cc b/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.cc index ebd718730..ec7c138ca 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.h b/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.h index a846feb46..d7750ba16 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.h +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImportData.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc index d7d55b4dd..7f1a64142 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -415,7 +415,7 @@ GerberFileReader::collect (db::Region ®ion) } void -GerberFileReader::flush () +GerberFileReader::flush (const std::string &net_name) { process_clear_polygons (); @@ -425,14 +425,35 @@ GerberFileReader::flush () m_polygons.swap (merged_polygons); } + std::string nn = net_name; for (std::vector ::const_iterator t = m_target_layers.begin (); t != m_target_layers.end (); ++t) { + db::Shapes &shapes = mp_top_cell->shapes (*t); + for (std::vector::const_iterator p = m_polygons.begin (); p != m_polygons.end (); ++p) { + shapes.insert (*p); + + if (! nn.empty () && p->hull ().begin () != p->hull ().end ()) { + db::Point pt = *p->hull ().begin (); + shapes.insert (db::Text (nn, db::Trans (pt - db::Point ()))); + nn.clear (); + } + } + for (std::vector::const_iterator p = m_lines.begin (); p != m_lines.end (); ++p) { + shapes.insert (*p); + + if (! nn.empty () && p->begin () != p->end ()) { + db::Point pt = *p->begin (); + shapes.insert (db::Text (nn, db::Trans (pt - db::Point ()))); + nn.clear (); + } + } + } m_polygons.clear (); diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h index 39bc11e8e..0fcf5ebc4 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -445,7 +445,7 @@ protected: * @brief Flush the stored data to the output * This method is similar to collect(), but writes the data to the layout. */ - void flush (); + void flush (const std::string &net_name = std::string ()); /** * @brief Collects the data taken so far into the given region diff --git a/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.cc b/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.cc index cdc01109e..c07178418 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.h b/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.h index 4ce403dac..02adf1921 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.h +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc index bf333635a..ee8e4eec8 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,6 +66,7 @@ RS274XReader::init () { // Initialize reader: m_clear = false; + m_net_name.clear (); m_guess_polarity = true; m_neg_polarity = false; m_relative = false; @@ -263,6 +264,16 @@ RS274XReader::do_read () read_pf_parameter (get_block ()); } else if (param == "AD") { read_ad_parameter (get_block ()); + } else if (param == "TO") { + + std::string net_name; + if (read_net_name (get_block (), net_name)) { + if (! m_net_name.empty ()) { + flush (m_net_name); + } + m_net_name = net_name; + } + } else if (param == "TA" || param == "TD" || param == "TF") { // TA, TD and TF paramters are skipped for layout @@ -677,6 +688,10 @@ RS274XReader::do_read () } + if (! m_net_name.empty ()) { + flush (m_net_name); + } + if (! graphics_stack_empty ()) { throw tl::Exception (tl::to_string (tr ("AB block not closed"))); } @@ -963,6 +978,28 @@ RS274XReader::read_pf_parameter (const std::string & /*block*/) warn (tl::to_string (tr ("PF parameters are ignored"))); } +bool +RS274XReader::read_net_name (const std::string &block, std::string &net_name) const +{ + tl::Extractor ex (block.c_str ()); + + ex.test ("."); + + if (ex.test ("N")) { + + // only parse net names + ex.test (","); + + std::string n = ex.get (); + if (! n.empty () && n != "N/C") { + net_name = n; + return true; + } + } + + return false; +} + void RS274XReader::read_ad_parameter (const std::string &block) { diff --git a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h index f451de2dd..77db31ee0 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -80,6 +80,7 @@ private: std::map m_aperture_macros; enum { ab_xy, ab_yx } m_axis_mapping; RS274XApertureBase *m_current_aperture; + std::string m_net_name; void read_as_parameter (const std::string &block); void read_fs_parameter (const std::string &block); @@ -103,6 +104,7 @@ private: void read_lp_parameter (const std::string &block); void read_sr_parameter (const std::string &block); void read_if_parameter (const std::string &block); + bool read_net_name (const std::string &block, std::string &net_name) const; void install_block_aperture (const std::string &dcode, const db::Region ®ion); void process_mcode (int mcode); const std::string &get_block (); diff --git a/src/plugins/streamers/pcb/lay_plugin/layGerberImport.cc b/src/plugins/streamers/pcb/lay_plugin/layGerberImport.cc index 1b6eaf7d1..0968cf3be 100644 --- a/src/plugins/streamers/pcb/lay_plugin/layGerberImport.cc +++ b/src/plugins/streamers/pcb/lay_plugin/layGerberImport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc index fa7b5bb83..fe39ac8c7 100644 --- a/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc +++ b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1024,8 +1024,8 @@ GerberImportDialog::commit_page () mp_data->num_metal_layers = -1; mp_data->num_via_types = -1; - tl::from_string (tl::to_string (mp_ui->num_metal_le->text ()), mp_data->num_metal_layers); - tl::from_string (tl::to_string (mp_ui->num_via_le->text ()), mp_data->num_via_types); + tl::from_string_ext (tl::to_string (mp_ui->num_metal_le->text ()), mp_data->num_metal_layers); + tl::from_string_ext (tl::to_string (mp_ui->num_via_le->text ()), mp_data->num_via_types); if (mp_data->num_metal_layers < 0) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid number of metal layers"))); @@ -1297,12 +1297,12 @@ GerberImportDialog::commit_page () mp_data->merge_flag = mp_ui->merge_cb->isChecked (); mp_data->invert_negative_layers = mp_ui->invert_cb->isChecked (); - tl::from_string (tl::to_string (mp_ui->border_le->text ()), mp_data->border); + tl::from_string_ext (tl::to_string (mp_ui->border_le->text ()), mp_data->border); bool import_into = (mp_data->mode == db::GerberImportData::ModeIntoLayout); if (! import_into) { - tl::from_string (tl::to_string (mp_ui->dbu_le->text ()), mp_data->dbu); + tl::from_string_ext (tl::to_string (mp_ui->dbu_le->text ()), mp_data->dbu); if (mp_data->dbu < 1e-6) { throw tl::Exception (tl::to_string (QObject::tr ("Database unit must not be negative or zero"))); } diff --git a/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.h b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.h index 3403e3d48..1b928511c 100644 --- a/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.h +++ b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/streamers/pcb/unit_tests/dbGerberImport.cc b/src/plugins/streamers/pcb/unit_tests/dbGerberImport.cc index 3caad8042..914e1b06d 100644 --- a/src/plugins/streamers/pcb/unit_tests/dbGerberImport.cc +++ b/src/plugins/streamers/pcb/unit_tests/dbGerberImport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.cc b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.cc index 987a4b689..e5f0c966f 100644 --- a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.cc +++ b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.h b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.h index 6ee9c347f..ae53f9849 100644 --- a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.h +++ b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsDialogs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsPlugin.cc b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsPlugin.cc index 3165296ab..668f159e6 100644 --- a/src/plugins/tools/bool/lay_plugin/layBooleanOperationsPlugin.cc +++ b/src/plugins/tools/bool/lay_plugin/layBooleanOperationsPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/diff/lay_plugin/layDiffPlugin.cc b/src/plugins/tools/diff/lay_plugin/layDiffPlugin.cc index 0834780f0..7cc1a6f52 100644 --- a/src/plugins/tools/diff/lay_plugin/layDiffPlugin.cc +++ b/src/plugins/tools/diff/lay_plugin/layDiffPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.cc b/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.cc index 019309918..e85ae117b 100644 --- a/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.cc +++ b/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.h b/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.h index 98d8814d6..b91744c50 100644 --- a/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.h +++ b/src/plugins/tools/diff/lay_plugin/layDiffToolDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/import/lay_plugin/layStreamImport.cc b/src/plugins/tools/import/lay_plugin/layStreamImport.cc index da0215536..579ca682d 100644 --- a/src/plugins/tools/import/lay_plugin/layStreamImport.cc +++ b/src/plugins/tools/import/lay_plugin/layStreamImport.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/import/lay_plugin/layStreamImportDialog.cc b/src/plugins/tools/import/lay_plugin/layStreamImportDialog.cc index 46c502490..993bf8d70 100644 --- a/src/plugins/tools/import/lay_plugin/layStreamImportDialog.cc +++ b/src/plugins/tools/import/lay_plugin/layStreamImportDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/import/lay_plugin/layStreamImportDialog.h b/src/plugins/tools/import/lay_plugin/layStreamImportDialog.h index 8e64729cd..2105e757c 100644 --- a/src/plugins/tools/import/lay_plugin/layStreamImportDialog.h +++ b/src/plugins/tools/import/lay_plugin/layStreamImportDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/import/lay_plugin/layStreamImporter.cc b/src/plugins/tools/import/lay_plugin/layStreamImporter.cc index ae38b4d20..6572ba094 100644 --- a/src/plugins/tools/import/lay_plugin/layStreamImporter.cc +++ b/src/plugins/tools/import/lay_plugin/layStreamImporter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/import/lay_plugin/layStreamImporter.h b/src/plugins/tools/import/lay_plugin/layStreamImporter.h index 21a2ce8ff..62ead9733 100644 --- a/src/plugins/tools/import/lay_plugin/layStreamImporter.h +++ b/src/plugins/tools/import/lay_plugin/layStreamImporter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.cc b/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.cc index 0b5907082..d83adb993 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.cc +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.h b/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.h index b34a93d00..21414c168 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.h +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc index 59b373f3b..f175b1c82 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h index 1b1e514f2..2262bcf7e 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerPlugin.cc b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerPlugin.cc index c6cfe4a39..d0793d4be 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerPlugin.cc +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/db_plugin/gsiDeclDbNetTracer.cc b/src/plugins/tools/net_tracer/db_plugin/gsiDeclDbNetTracer.cc index a74416f1e..ff1f6b5a0 100644 --- a/src/plugins/tools/net_tracer/db_plugin/gsiDeclDbNetTracer.cc +++ b/src/plugins/tools/net_tracer/db_plugin/gsiDeclDbNetTracer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc index 7f38298ff..d5c19b79d 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -242,10 +242,10 @@ void NetTracerConfigPage::commit (lay::Dispatcher *root) { double dim = 1.0; - tl::from_string (tl::to_string (le_window->text ()), dim); + tl::from_string_ext (tl::to_string (le_window->text ()), dim); unsigned int max_shapes_highlighted = 10000; - tl::from_string (tl::to_string (le_max_markers->text ()), max_shapes_highlighted); + tl::from_string_ext (tl::to_string (le_max_markers->text ()), max_shapes_highlighted); root->config_set (cfg_nt_window_mode, lay::nt_window_type (cbx_window->currentIndex ()), NetTracerWindowModeConverter ()); root->config_set (cfg_nt_window_dim, dim); @@ -262,7 +262,7 @@ NetTracerConfigPage::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (lw_le->text ()), s); + tl::from_string_ext (tl::to_string (lw_le->text ()), s); root->config_set (cfg_nt_marker_line_width, s); } catch (...) { } } @@ -272,7 +272,7 @@ NetTracerConfigPage::commit (lay::Dispatcher *root) } else { try { int s; - tl::from_string (tl::to_string (vs_le->text ()), s); + tl::from_string_ext (tl::to_string (vs_le->text ()), s); root->config_set (cfg_nt_marker_vertex_size, s); } catch (...) { } } diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.h b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.h index 214c6db9b..91c02f9ce 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.h +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc index 7f4006ee4..cf543dfa2 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1427,7 +1427,7 @@ NetTracerDialog::get_trace_depth() try { QString depth = depth_le->text ().trimmed (); if (! depth.isEmpty ()) { - tl::from_string (tl::to_string (depth), n); + tl::from_string_ext (tl::to_string (depth), n); if (n < 0 || n > double (std::numeric_limits::max ())) { n = 0.0; } diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.h b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.h index f1cae5e9d..6acf2cf93 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.h +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.cc index 33ad0264a..752e9dabb 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.h b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.h index 099412543..fcb48e989 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.h +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerPlugin.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerPlugin.cc index 034367a56..9d7eb3d27 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerPlugin.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/unit_tests/dbNetTracerTests.cc b/src/plugins/tools/net_tracer/unit_tests/dbNetTracerTests.cc index 926b53dd1..52375e61f 100644 --- a/src/plugins/tools/net_tracer/unit_tests/dbNetTracerTests.cc +++ b/src/plugins/tools/net_tracer/unit_tests/dbNetTracerTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/net_tracer/unit_tests/dbTraceAllNets.cc b/src/plugins/tools/net_tracer/unit_tests/dbTraceAllNets.cc index db2b8eca1..53b674871 100644 --- a/src/plugins/tools/net_tracer/unit_tests/dbTraceAllNets.cc +++ b/src/plugins/tools/net_tracer/unit_tests/dbTraceAllNets.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index 75301397d..a38817f62 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -59,6 +59,42 @@ 0 + + + + false + + + Execute script again + + + ... + + + + :/run.png:/run.png + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + @@ -343,6 +379,9 @@ + + 2 + @@ -358,7 +397,60 @@ 0 - + + + QFrame::NoFrame + + + QFrame::Plain + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + + 1 + 0 + + + + + + + 0 + 0 + + + + QAbstractItemView::ExtendedSelection + + + 0 + + + true + + + + + + @@ -419,6 +511,21 @@ + + + + + + In order to use the 2.5d view you will need a script which generates the view.<br/> +See here for more information: <a href="int:/about/25d_view.xml">The 2.5d View</a>. + + + Qt::AlignCenter + + + + + @@ -482,6 +589,36 @@ + + + Select All + + + + + Unselect All + + + + + Show All + + + + + Hide All + + + + + Show Selected + + + + + Hide Selected + + @@ -510,5 +647,37 @@ + + select_all_action + triggered() + material_list + selectAll() + + + -1 + -1 + + + 716 + 336 + + + + + unselect_all_action + triggered() + material_list + clearSelection() + + + -1 + -1 + + + 716 + 336 + + + diff --git a/src/plugins/tools/view_25d/lay_plugin/built-in-macros/_d25_engine.rb b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/_d25_engine.rb new file mode 100644 index 000000000..f1114cc0b --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/_d25_engine.rb @@ -0,0 +1,288 @@ +# $autorun-early +# $priority: 1 + +require 'pathname' + +module D25 + + class D25ZInfo + + attr_accessor :layer, :zstart, :zstop, :display + + def initialize(_layer, _zstart, _zstop, _display) + self.layer = _layer + self.zstart = _zstart + self.zstop = _zstop + self.display = _display + end + + end + + class D25Display + + attr_accessor :fill, :frame, :like, :name + + def initialize + self.fill = nil + self.frame = nil + self.like = nil + self.name = nil + end + + def set_fill(arg) + if !arg.is_a?(0xffffff.class) + raise("'fill' must be a color value (an integer)") + end + self.fill = arg + end + + def set_frame(arg) + if !arg.is_a?(0xffffff.class) + raise("'frame' must be a color value (an integer)") + end + self.frame = arg + end + + def set_color(arg) + if !arg.is_a?(0xffffff.class) + raise("'color' must be a color value (an integer)") + end + self.fill = arg + self.frame = nil + end + + def set_like(arg) + li = nil + if arg.is_a?(String) + li = RBA::LayerInfo::from_string(arg) + elsif arg.is_a?(RBA::LayerInfo) + li = arg + else + raise("'like' must be a string or LayerInfo object") + end + self.like = li + end + + end + + # The D25 engine + + class D25Engine < DRC::DRCEngine + + def initialize + + super + + @current_z = 0.0 + @zstack = [] + + # clip to layout view + if ! RBA::LayoutView::current + raise "No layout loaded for running 2.5d view on" + end + + self.region_overlap(RBA::LayoutView::current.box) + + end + + def z(*args) + + self._context("z") do + + layer = nil + zstart = nil + zstop = nil + height = nil + display = D25Display::new + + args.each do |a| + + if a.is_a?(Range) + + zstart = a.min + zstop = a.max + + elsif a.is_a?(DRC::DRCLayer) + + if layer + raise("Duplicate layer argument") + end + layer = a + if ! layer.data.is_a?(RBA::Region) && ! layer.data.is_a?(RBA::Edges) && ! layer.data.is_a?(RBA::EdgePairs) + raise("Expected a polygon, edge or edge pair layer") + end + + elsif a.is_a?(1.class) || a.is_a?(1.0.class) + + if height + raise("Duplicate height specification") + end + height = a + + elsif a.is_a?(Hash) + + if a[:height] + if height + raise("Duplicate height specification") + end + height = a[:height] + end + + if a[:zstart] + if zstart + raise("Duplicate zstart specification") + end + zstart = a[:zstart] + end + + if a[:zstop] + if zstop + raise("Duplicate zstop specification") + end + zstop = a[:zstop] + end + + a[:color] && display.set_color(a[:color]) + a[:frame] && display.set_frame(a[:frame]) + a[:fill] && display.set_fill(a[:fill]) + a[:like] && display.set_like(a[:like]) + + if a[:name] + display.name = a[:name].to_s + end + + invalid_keys = a.keys.select { |k| ![ :height, :zstart, :zstop, :color, :frame, :fill, :like, :name ].member?(k) } + if invalid_keys.size > 0 + raise("Keyword argument(s) not understood: #{invalid_keys.collect(&:to_s).join(',')}") + end + + else + raise("Argument not understood: #{a.inspect}") + end + + end + + if ! zstart + zstart = @current_z + end + if ! zstop && ! height + raise("Either height or zstop must be specified") + elsif zstop && height + raise("Either height or zstop must be specified, not both") + end + if height + zstop = zstart + height + end + @current_z = zstop + + if ! layer + raise("No layer specified") + end + + info = D25ZInfo::new(layer, zstart, zstop, @display || display) + @zstack << info + + return info + + end + + end + + def zz(*args, &block) + + begin + + display = D25Display::new + @display = display + + args.each do |a| + + if a.is_a?(D25ZInfo) + + @zstack.each do |z| + if z == a + z.display = display + end + end + + elsif a.is_a?(Hash) + + a[:color] && display.set_color(a[:color]) + a[:frame] && display.set_frame(a[:frame]) + a[:fill] && display.set_fill(a[:fill]) + a[:like] && display.set_like(a[:like]) + + if a[:name] + display.name = a[:name].to_s + end + + invalid_keys = a.keys.select { |k| ![ :fill, :frame, :color, :hollow, :like, :name ].member?(k) } + if invalid_keys.size > 0 + raise("Keyword argument(s) not understood: #{invalid_keys.collect(&:to_s).join(',')}") + end + + else + raise("Argument not understood: #{a.inspect}") + end + + end + + block && yield + + ensure + @display = nil + end + + end + + def _check + + if @zstack.empty? + raise("No z calls made in 2.5d script") + end + + end + + def _finish(final = true) + + super(final) + + if final + + view = RBA::LayoutView::current.open_d25_view + + begin + + view.begin(self._generator) + + displays = {} + + @zstack.each do |z| + (displays[z.display.object_id] ||= []) << z + end + + displays.each do |k,zz| + display = zz[0].display + view.open_display(display.frame, display.fill, display.like, display.name) + zz.each do |z| + view.entry(z.layer.data, self.dbu, z.zstart, z.zstop) + end + view.close_display + end + + view.finish + + rescue => ex + view.clear + view.close + raise ex + end + + end + + end + + end + +end + diff --git a/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_install.lym b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_install.lym new file mode 100644 index 000000000..ead33cc20 --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_install.lym @@ -0,0 +1,63 @@ + + + + + + + + + true + false + + false + + + ruby + + +module D25 + + # Installs the home menu entries (needs to be done on autorun, not autorun-early) + + if RBA::Application::instance && RBA::Application::instance.main_window + + cat = "d25" + name = "2.5d" + + mw = RBA::Application::instance.main_window + mw.menu.insert_menu("tools_menu.verification_group+", "d25", "2.5d View") + + @new_action = RBA::Action::new + @new_action.title = "New #{name} Script" + @new_action.on_triggered do + mw.show_macro_editor(cat, true) + end + + mw.menu.insert_item("tools_menu.#{cat}.end", "new_script", @new_action) + + @edit_action = RBA::Action::new + @edit_action.title = "Edit #{name} Script" + @edit_action.on_triggered do + mw.show_macro_editor(cat, false) + end + + mw.menu.insert_item("tools_menu.#{cat}.end", "edit_script", @edit_action) + + @open_action = RBA::Action::new + @open_action.title = "Open Window" + @open_action.on_triggered do + if ! RBA::LayoutView::current + RBA::MessageBox::critical("Error", "No layout loaded for running 2.5d view on", RBA::MessageBox::Ok) + else + RBA::LayoutView::current.open_d25_view + end + end + + mw.menu.insert_item("tools_menu.#{cat}.end", "open_window", @open_action) + + end + +end + + + diff --git a/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_interpreters.lym b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_interpreters.lym new file mode 100644 index 000000000..86d7d954d --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_interpreters.lym @@ -0,0 +1,171 @@ + + + + + + + + + false + true + + false + + + ruby + + +module D25 + + class D25Executable < RBA::Executable + + def initialize(macro, generator) + + @d25 = D25Engine::new + @d25._generator = generator + + @macro = macro + + end + + def execute + + @d25._start("D25: " + @macro.path) + + # Set a debugger scope so that our errors end up with the debugger set to the D25's line + RBA::MacroExecutionContext::set_debugger_scope(@macro.path) + + begin + + # No verbosity set in d25 engine - we cannot use the engine's logger + RBA::Logger::verbosity >= 10 && RBA::Logger::info("Running #{@macro.path}") + @d25.instance_eval(@macro.text, @macro.path) + + rescue => ex + + @d25.error("In #{@macro.path}: #{ex.to_s}") + RBA::MacroExecutionContext::ignore_next_exception + raise ex + + end + + @d25._check + + nil + + end + + def cleanup + + # Remove the debugger scope + RBA::MacroExecutionContext::remove_debugger_scope + + # cleans up and creates layout and report views + @d25._finish + + end + + end + + # A DSL implementation for a D25 language (XML format) + class D25Interpreter < RBA::MacroInterpreter + + # Constructor + def initialize(recipe) + + @recipe = recipe + + # Make the DSL use ruby syntax highlighting + self.syntax_scheme = "ruby" + self.suffix = "lyd25" + self.debugger_scheme = RBA::MacroInterpreter::RubyDebugger + self.storage_scheme = RBA::MacroInterpreter::MacroFormat + self.description = "D25" + + # Registers the new interpreter + register("d25-dsl-xml") + + # create a template for the macro editor: + create_template(":/d25-templates/d25.lym") + + # if available, create a menu branch + if RBA::Application::instance && RBA::Application::instance.main_window + mw = RBA::Application::instance.main_window + mw.menu.insert_menu("tools_menu.verification_group+", "d25", "2.5d View") + end + + end + + # Implements the execute method + def executable(macro) + D25Executable::new(macro, @recipe.generator("script" => macro.path)) + end + + end + + # A DSL implementation for a D25 language (Plain text format) + class D25PlainTextInterpreter < RBA::MacroInterpreter + + # Constructor + def initialize(recipe) + + @recipe = recipe + + # Make the DSL use ruby syntax highlighting + self.syntax_scheme = "ruby" + self.suffix = "d25" + self.debugger_scheme = RBA::MacroInterpreter::RubyDebugger + self.storage_scheme = RBA::MacroInterpreter::PlainTextWithHashAnnotationsFormat + self.description = "D25 (Text)" + + # Registers the new interpreter + register("d25-dsl") + + end + + # Implements the execute method + def executable(macro) + D25Executable::new(macro, @recipe.generator("script" => macro.path)) + end + + end + + # A recipe implementation allowing the D25 run to be redone + class D25Recipe < RBA::Recipe + + def initialize + super("d25", "D25 recipe") + end + + def executable(params) + + script = params["script"] + if ! script + return + end + + macro = RBA::Macro::macro_by_path(script) + macro || raise("Can't find D25 script #{script} - unable to re-run") + + D25Executable::new(macro, self.generator("script" => script)) + + end + + end + + # Register the recipe + d25_recipe = D25Recipe::new + + # Register the new interpreters + D25Interpreter::new(d25_recipe) + D25PlainTextInterpreter::new(d25_recipe) + + # Creates a new macro category + if RBA::Application::instance + RBA::Application::instance.add_macro_category("d25", "2.5d View", [ "d25" ]) + end + +end + + + diff --git a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc new file mode 100644 index 000000000..ea7bc880e --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc @@ -0,0 +1,96 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include "gsiDecl.h" +#include "gsiDeclBasic.h" + +#include "layD25View.h" +#include "layLayoutView.h" + +#include "dbLayerProperties.h" +#include "dbRegion.h" + +#include + +#if defined(HAVE_QTBINDINGS) + +# include "gsiQtGuiExternals.h" +# include "gsiQtWidgetsExternals.h" + +FORCE_LINK_GSI_QTGUI +FORCE_LINK_GSI_QTWIDGETS // for Qt5 + +#else +# define QT_EXTERNAL_BASE(x) +#endif + +namespace gsi +{ + +static lay::D25View *open_d25_view (lay::LayoutView *view) +{ + return lay::D25View::open (view); +} + +ClassExt decl_LayoutViewExt ( + gsi::method_ext ("open_d25_view", &open_d25_view, + "@brief Opens the 2.5d view window and returns a reference to the D25View object.\n" + "This method has been introduced in version 0.28.\n" + ) +); + +Class decl_D25View (QT_EXTERNAL_BASE (QDialog) "lay", "D25View", + gsi::method ("clear", &lay::D25View::clear, + "@brief Clears all display entries in the view" + ) + + gsi::method ("begin", &lay::D25View::begin, gsi::arg ("generator"), + "@brief Initiates delivery of display groups" + ) + + gsi::method ("open_display", &lay::D25View::open_display, gsi::arg ("frame_color"), gsi::arg ("fill_color"), gsi::arg ("like"), gsi::arg ("name"), + "@brief Creates a new display group" + ) + + gsi::method ("entry", &lay::D25View::entry, gsi::arg ("data"), gsi::arg ("dbu"), gsi::arg ("zstart"), gsi::arg ("zstop"), + "@brief Creates a new display entry in the group opened with \\open_display" + ) + + gsi::method ("entry", &lay::D25View::entry_edge, gsi::arg ("data"), gsi::arg ("dbu"), gsi::arg ("zstart"), gsi::arg ("zstop"), + "@brief Creates a new display entry in the group opened with \\open_display" + ) + + gsi::method ("entry", &lay::D25View::entry_edge_pair, gsi::arg ("data"), gsi::arg ("dbu"), gsi::arg ("zstart"), gsi::arg ("zstop"), + "@brief Creates a new display entry in the group opened with \\open_display" + ) + + gsi::method ("close_display", &lay::D25View::close_display, + "@brief Finishes the display group" + ) + + gsi::method ("finish", &lay::D25View::finish, + "@brief Finishes the view - call this after the display groups have been created" + ) + + gsi::method ("close", &lay::D25View::close, + "@brief Closes the view" + ), + "@brief The 2.5d View Dialog\n" + "\n" + "This class is used internally to implement the 2.5d feature.\n" + "\n" + "This class has been introduced in version 0.28." +); + +} diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25Camera.cc b/src/plugins/tools/view_25d/lay_plugin/layD25Camera.cc index 28185e735..88505cc79 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25Camera.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25Camera.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25Camera.h b/src/plugins/tools/view_25d/lay_plugin/layD25Camera.h index aed410432..335ba4d16 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25Camera.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25Camera.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.cc b/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.cc index e1dfb84fd..6b83dfaae 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.h b/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.h index b26e8bc82..efcc8965b 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc b/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc index 8dea893fe..c6830127c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,10 +52,9 @@ public: return 0; } - virtual void get_menu_entries (std::vector &menu_entries) const + virtual void get_menu_entries (std::vector & /*menu_entries*/) const { - lay::PluginDeclaration::get_menu_entries (menu_entries); - menu_entries.push_back (lay::menu_item ("lay::d25_view", "d25_view:edit", "tools_menu.post_verification_group", tl::to_string (QObject::tr ("2.5d View - experimental")))); + // .. nothing yet .. } virtual bool configure (const std::string & /*name*/, const std::string & /*value*/) diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25Resources.qrc b/src/plugins/tools/view_25d/lay_plugin/layD25Resources.qrc new file mode 100644 index 000000000..be37f46fe --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/layD25Resources.qrc @@ -0,0 +1,10 @@ + + + built-in-macros/_d25_engine.rb + built-in-macros/d25_interpreters.lym + built-in-macros/d25_install.lym + + + templates/d25.lym + + diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 3578f6036..019dedecd 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,8 @@ */ +#include "tlExceptions.h" +#include "tlRecipe.h" #include "layD25View.h" #include "layLayoutView.h" @@ -29,13 +31,17 @@ #include +#include + namespace lay { const double initial_elevation = 15.0; D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) - : lay::Browser (root, view, "d25_view") + : lay::Browser (root, view, "d25_view"), + dm_rerun_macro (this, &D25View::rerun_macro), + dm_fit (this, &D25View::fit) { mp_ui = new Ui::D25View (); mp_ui->setupUi (this); @@ -43,26 +49,52 @@ D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) mp_ui->d25_view->setFocusPolicy (Qt::StrongFocus); mp_ui->d25_view->setFocus (); - connect (mp_ui->fit_back, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->fit_front, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->fit_left, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->fit_right, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->fit_top, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->fit_bottom, SIGNAL (clicked ()), this, SLOT (fit_button_clicked ())); - connect (mp_ui->zoom_slider, SIGNAL (valueChanged (int)), this, SLOT (scale_slider_changed (int))); - connect (mp_ui->vzoom_slider, SIGNAL (valueChanged (int)), this, SLOT (vscale_slider_changed (int))); - connect (mp_ui->zoom_factor, SIGNAL (editingFinished ()), this, SLOT (scale_value_edited ())); - connect (mp_ui->vzoom_factor, SIGNAL (editingFinished ()), this, SLOT (vscale_value_edited ())); - connect (mp_ui->d25_view, SIGNAL (scale_factor_changed (double)), this, SLOT (scale_factor_changed (double))); - connect (mp_ui->d25_view, SIGNAL (vscale_factor_changed (double)), this, SLOT (vscale_factor_changed (double))); - connect (mp_ui->d25_view, SIGNAL (init_failed ()), this, SLOT (init_failed ())); + connect (mp_ui->fit_back, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->fit_front, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->fit_left, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->fit_right, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->fit_top, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->fit_bottom, SIGNAL (clicked()), this, SLOT (fit_button_clicked())); + connect (mp_ui->zoom_slider, SIGNAL (valueChanged(int)), this, SLOT (scale_slider_changed(int))); + connect (mp_ui->vzoom_slider, SIGNAL (valueChanged(int)), this, SLOT (vscale_slider_changed(int))); + connect (mp_ui->zoom_factor, SIGNAL (editingFinished()), this, SLOT (scale_value_edited())); + connect (mp_ui->vzoom_factor, SIGNAL (editingFinished()), this, SLOT (vscale_value_edited())); + connect (mp_ui->d25_view, SIGNAL (scale_factor_changed(double)), this, SLOT (scale_factor_changed(double))); + connect (mp_ui->d25_view, SIGNAL (vscale_factor_changed(double)), this, SLOT (vscale_factor_changed(double))); + connect (mp_ui->d25_view, SIGNAL (init_failed()), this, SLOT (init_failed())); + connect (mp_ui->rerun_button, SIGNAL (clicked()), this, SLOT (rerun_button_pressed())); + connect (mp_ui->hide_all_action, SIGNAL (triggered()), this, SLOT (hide_all_triggered())); + connect (mp_ui->hide_selected_action, SIGNAL (triggered()), this, SLOT (hide_selected_triggered())); + connect (mp_ui->show_all_action, SIGNAL (triggered()), this, SLOT (show_all_triggered())); + connect (mp_ui->show_selected_action, SIGNAL (triggered()), this, SLOT (show_selected_triggered())); - mp_ui->gl_stack->setCurrentIndex (0); + mp_ui->gl_stack->setCurrentIndex (2); + mp_ui->rerun_button->setEnabled (false); lay::activate_help_links (mp_ui->doc_label); + lay::activate_help_links (mp_ui->empty_label); view->cellviews_changed_event.add (this, &D25View::cellviews_changed); view->layer_list_changed_event.add (this, &D25View::layer_properties_changed); + + QPalette palette = mp_ui->material_list->palette (); + palette.setColor (QPalette::Base, Qt::black); + palette.setColor (QPalette::Text, Qt::white); + mp_ui->material_list->setPalette (palette); + + QFont font = mp_ui->material_list->font (); + font.setWeight (QFont::Bold); + mp_ui->material_list->setFont (font); + + mp_ui->material_list->addAction (mp_ui->select_all_action); + mp_ui->material_list->addAction (mp_ui->unselect_all_action); + mp_ui->material_list->addAction (mp_ui->show_all_action); + mp_ui->material_list->addAction (mp_ui->show_selected_action); + mp_ui->material_list->addAction (mp_ui->hide_all_action); + mp_ui->material_list->addAction (mp_ui->hide_selected_action); + mp_ui->material_list->setContextMenuPolicy (Qt::ActionsContextMenu); + + connect (mp_ui->material_list, SIGNAL (itemChanged (QListWidgetItem *)), this, SLOT (material_item_changed (QListWidgetItem *))); } D25View::~D25View () @@ -84,7 +116,7 @@ D25View::cellviews_changed () void D25View::layer_properties_changed (int) { - mp_ui->d25_view->refresh_view (); + // .. nothing yet .. } void @@ -113,6 +145,164 @@ D25View::menu_activated (const std::string &symbol) } } +D25View * +D25View::open (lay::LayoutView *view) +{ + D25View *d25_view = view->get_plugin (); + if (d25_view) { + + d25_view->show (); + d25_view->activateWindow (); + d25_view->raise (); + + try { + d25_view->activate (); + } catch (...) { + d25_view->deactivate (); + throw; + } + + } + + return d25_view; +} + +void +D25View::close () +{ + hide (); +} + +void +D25View::clear () +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->gl_stack->setCurrentIndex (2); + mp_ui->d25_view->clear (); + } + + mp_ui->rerun_button->setEnabled (false); + m_generator.clear (); +} + +void +D25View::begin (const std::string &generator) +{ + clear (); + + if (! mp_ui->d25_view->has_error ()) { + m_generator = generator; + } +} + +void +D25View::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like, const std::string *name) +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->open_display (frame_color, fill_color, like, name); + } +} + +void +D25View::close_display () +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->close_display (); + } +} + +void +D25View::entry (const db::Region &data, double dbu, double zstart, double zstop) +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->entry (data, dbu, zstart, zstop); + } +} + +void +D25View::entry_edge (const db::Edges &data, double dbu, double zstart, double zstop) +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->entry (data, dbu, zstart, zstop); + } +} + +void +D25View::entry_edge_pair (const db::EdgePairs &data, double dbu, double zstart, double zstop) +{ + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->entry (data, dbu, zstart, zstop); + } +} + +static void layer_info_to_item (const lay::D25ViewWidget::LayerInfo &info, QListWidgetItem *item, size_t index, QSize icon_size) +{ + if (info.has_name) { + item->setText (tl::to_qstring (info.name)); + } else { + item->setText (tl::to_qstring ("#" + tl::to_string (index + 1))); + } + + QImage img (icon_size, QImage::Format_ARGB32); + img.fill (QColor (floor (info.fill_color [0] * 255 + 0.5), floor (info.fill_color [1] * 255 + 0.5), floor (info.fill_color [2] * 255 + 0.5), floor (info.fill_color [3] * 255 + 0.5))); + + QColor fc (floor (info.frame_color [0] * 255 + 0.5), floor (info.frame_color [1] * 255 + 0.5), floor (info.frame_color [2] * 255 + 0.5), floor (info.frame_color [3] * 255 + 0.5)); + if (fc.alpha () > 0) { + QRgb fc_rgb = fc.rgba (); + for (int x = 0; x < icon_size.width (); ++x) { + img.setPixel (x, 0, fc_rgb); + img.setPixel (x, icon_size.height () - 1, fc_rgb); + } + for (int y = 0; y < icon_size.height (); ++y) { + img.setPixel (0, y, fc_rgb); + img.setPixel (icon_size.width () - 1, y, fc_rgb); + } + } + + QIcon icon; + icon.addPixmap (QPixmap::fromImage (img)); + item->setIcon (icon); +} + +void +D25View::finish () +{ + if (! mp_ui->d25_view->has_error ()) { + + mp_ui->d25_view->finish (); + + QFontMetrics fm (mp_ui->material_list->font ()); + QSize icon_size = fm.size (Qt::TextSingleLine, "WW"); + icon_size.setHeight (icon_size.height () - 2); + mp_ui->material_list->setIconSize (icon_size); + + mp_ui->material_list->clear (); + const std::vector &layers = mp_ui->d25_view->layers (); + for (auto l = layers.begin (); l != layers.end (); ++l) { + QListWidgetItem *item = new QListWidgetItem (mp_ui->material_list); + item->setFlags (item->flags () | Qt::ItemIsUserCheckable); + item->setCheckState (Qt::Checked); + layer_info_to_item (*l, item, l - layers.begin (), icon_size); + } + + mp_ui->d25_view->reset (); + mp_ui->d25_view->set_cam_azimuth (0.0); + mp_ui->d25_view->set_cam_elevation (-initial_elevation); + // NOTE: needs to be delayed to allow the geometry to be updated before (initial call) + dm_fit (); + + mp_ui->rerun_button->setEnabled (true); + mp_ui->gl_stack->setCurrentIndex (0); + + } +} + +void +D25View::fit () +{ + mp_ui->d25_view->fit (); +} + static QString scale_factor_to_string (double f) { return QString (QString::fromUtf8 ("%1")).arg (f, 0, 'g', 3); @@ -123,6 +313,7 @@ D25View::init_failed () { mp_ui->error_text->setPlainText (tl::to_qstring (mp_ui->d25_view->error ())); mp_ui->gl_stack->setCurrentIndex (1); + mp_ui->rerun_button->setEnabled (false); } void @@ -130,7 +321,7 @@ D25View::scale_value_edited () { double f = mp_ui->d25_view->scale_factor (); try { - tl::from_string (tl::to_string (mp_ui->zoom_factor->text ()), f); + tl::from_string_ext (tl::to_string (mp_ui->zoom_factor->text ()), f); f = std::min (1e6, std::max (1e-6, f)); } catch (...) { // ignore exceptions @@ -144,7 +335,7 @@ D25View::vscale_value_edited () { double f = mp_ui->d25_view->vscale_factor (); try { - tl::from_string (tl::to_string (mp_ui->vzoom_factor->text ()), f); + tl::from_string_ext (tl::to_string (mp_ui->vzoom_factor->text ()), f); f = std::min (1e6, std::max (1e-6, f)); } catch (...) { // ignore exceptions @@ -189,6 +380,15 @@ D25View::vscale_factor_changed (double f) mp_ui->vzoom_slider->blockSignals (false); } +void +D25View::material_item_changed (QListWidgetItem *item) +{ + int index = mp_ui->material_list->row (item); + if (index >= 0) { + mp_ui->d25_view->set_material_visible (size_t (index), item->checkState () == Qt::Checked); + } +} + void D25View::deactivated () { @@ -198,18 +398,33 @@ D25View::deactivated () void D25View::activated () { - bool any = mp_ui->d25_view->attach_view (view ()); - if (! any) { - mp_ui->d25_view->attach_view (0); - throw tl::Exception (tl::to_string (tr ("No z data configured for the layers in this view.\nUse \"Tools/Manage Technologies\" to set up a z stack or check if it applies to the layers here."))); - } - + mp_ui->d25_view->attach_view (view ()); mp_ui->d25_view->reset (); mp_ui->d25_view->set_cam_azimuth (0.0); mp_ui->d25_view->set_cam_elevation (-initial_elevation); mp_ui->d25_view->fit (); } +void +D25View::rerun_button_pressed () +{ + // NOTE: we use deferred execution, because otherwise the button won't get repainted properly + dm_rerun_macro (); +} + +void +D25View::rerun_macro () +{ +BEGIN_PROTECTED + + if (! m_generator.empty ()) { + std::map add_pars; + tl::Recipe::make (m_generator, add_pars); + } + +END_PROTECTED +} + void D25View::fit_button_clicked () { @@ -242,6 +457,42 @@ D25View::fit_button_clicked () mp_ui->d25_view->fit (); } +void +D25View::hide_all_triggered () +{ + for (int i = 0; i < mp_ui->material_list->count (); ++i) { + mp_ui->material_list->item (i)->setCheckState (Qt::Unchecked); + } +} + +void +D25View::hide_selected_triggered () +{ + for (int i = 0; i < mp_ui->material_list->count (); ++i) { + if (mp_ui->material_list->item (i)->isSelected ()) { + mp_ui->material_list->item (i)->setCheckState (Qt::Unchecked); + } + } +} + +void +D25View::show_all_triggered () +{ + for (int i = 0; i < mp_ui->material_list->count (); ++i) { + mp_ui->material_list->item (i)->setCheckState (Qt::Checked); + } +} + +void +D25View::show_selected_triggered () +{ + for (int i = 0; i < mp_ui->material_list->count (); ++i) { + if (mp_ui->material_list->item (i)->isSelected ()) { + mp_ui->material_list->item (i)->setCheckState (Qt::Checked); + } + } +} + void D25View::accept () { diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index 8cbedbbfc..724c14e25 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,9 +24,11 @@ #define HDR_layD25View #include +#include #include "tlObject.h" #include "layBrowser.h" +#include "layViewOp.h" namespace Ui { @@ -38,6 +40,14 @@ namespace lay class LayoutView; } +namespace db +{ + class Region; + class Edges; + class EdgePairs; + struct LayerProperties; +} + namespace lay { @@ -54,6 +64,17 @@ public: virtual void deactivated (); virtual void activated (); + static D25View *open (lay::LayoutView *view); + void close (); + void clear (); + void begin (const std::string &generator); + void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like, const std::string *name); + void close_display (); + void entry (const db::Region &data, double dbu, double zstart, double zstop); + void entry_edge (const db::Edges &data, double dbu, double zstart, double zstop); + void entry_edge_pair (const db::EdgePairs &data, double dbu, double zstart, double zstop); + void finish (); + protected: void accept (); void reject (); @@ -67,12 +88,23 @@ private slots: void vscale_slider_changed (int value); void vscale_value_edited (); void init_failed (); + void rerun_button_pressed (); + void material_item_changed (QListWidgetItem *); + void hide_all_triggered (); + void hide_selected_triggered (); + void show_all_triggered (); + void show_selected_triggered (); private: Ui::D25View *mp_ui; + tl::DeferredMethod dm_rerun_macro; + tl::DeferredMethod dm_fit; + std::string m_generator; void cellviews_changed (); void layer_properties_changed (int); + void rerun_macro (); + void fit (); }; } diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.cc index a64c78fce..48933342c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.h index ae942683b..67689e067 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index f7fc735ad..94e7f2705 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,11 +26,16 @@ #include "layLayoutView.h" #include "dbRecursiveShapeIterator.h" -#include "dbD25TechnologyComponent.h" #include "dbEdgeProcessor.h" #include "dbPolygonGenerators.h" #include "dbPolygonTools.h" #include "dbClip.h" +#include "dbRegion.h" +#include "dbEdges.h" +#include "dbEdgePairs.h" +#include "dbOriginalLayerRegion.h" +#include "dbOriginalLayerEdges.h" +#include "dbOriginalLayerEdgePairs.h" #include "tlException.h" #include "tlProgress.h" @@ -200,7 +205,10 @@ D25ViewWidget::D25ViewWidget (QWidget *parent) setFormat (format); m_zmin = m_zmax = 0.0; + m_zset = false; + m_display_open = false; mp_view = 0; + m_has_error = false; reset_viewport (); } @@ -477,6 +485,15 @@ D25ViewWidget::refresh () update (); } +void +D25ViewWidget::set_material_visible (size_t index, bool visible) +{ + if (index < m_layers.size () && m_layers [index].visible != visible) { + m_layers [index].visible = visible; + update (); + } +} + void D25ViewWidget::showEvent (QShowEvent *) { @@ -496,86 +513,22 @@ D25ViewWidget::aspect_ratio () const return double (width ()) / double (height ()); } -bool -D25ViewWidget::attach_view (LayoutView *view) +void +D25ViewWidget::clear () { - mp_view = view; + m_layers.clear (); + m_vertex_chunks.clear (); + m_line_chunks.clear (); - bool any = prepare_view (); - reset (); - - return any; -} - -namespace { - - class ZDataCache - { - public: - ZDataCache () { } - - std::vector operator() (lay::LayoutView *view, int cv_index, int layer_index) - { - std::map > >::const_iterator c = m_cache.find (cv_index); - if (c != m_cache.end ()) { - std::map >::const_iterator l = c->second.find (layer_index); - if (l != c->second.end ()) { - return l->second; - } else { - return std::vector (); - } - } - - std::map > &lcache = m_cache [cv_index]; - - const db::D25TechnologyComponent *comp = 0; - - const lay::CellView &cv = view->cellview (cv_index); - if (cv.is_valid () && cv->technology ()) { - const db::Technology *tech = cv->technology (); - comp = dynamic_cast (tech->component_by_name ("d25")); - } - - if (comp) { - - std::multimap zi_by_lp; - - db::D25TechnologyComponent::layers_type layers = comp->compile_from_source (); - for (db::D25TechnologyComponent::layers_type::const_iterator i = layers.begin (); i != layers.end (); ++i) { - zi_by_lp.insert (std::make_pair (i->layer (), *i)); - } - - const db::Layout &ly = cv->layout (); - for (int l = 0; l < int (ly.layers ()); ++l) { - if (ly.is_valid_layer (l)) { - db::LayerProperties lp = ly.get_properties (l); - std::multimap::const_iterator z = zi_by_lp.find (lp); - if ((z == zi_by_lp.end () || ! z->first.log_equal (lp)) && ! lp.name.empty ()) { - // If possible, try by name only - lp = db::LayerProperties (lp.name); - z = zi_by_lp.find (lp); - } - while (z != zi_by_lp.end () && z->first.log_equal (lp)) { - lcache[l].push_back (z->second); - ++z; - } - } - } - - } - - std::map >::const_iterator l = lcache.find (layer_index); - if (l != lcache.end ()) { - return l->second; - } else { - return std::vector (); - } - } - - private: - std::map > > m_cache; - }; + m_zset = false; + m_zmin = m_zmax = 0.0; + m_display_open = false; + if (! mp_view) { + m_bbox = db::DBox (-1.0, -1.0, 1.0, 1.0); + } else { + m_bbox = mp_view->viewport ().box (); + } } static void color_to_gl (color_t color, GLfloat (&gl_color) [4]) @@ -586,130 +539,181 @@ static void color_to_gl (color_t color, GLfloat (&gl_color) [4]) gl_color[3] = 1.0f; } -void -D25ViewWidget::lp_to_info (const lay::LayerPropertiesNode &lp, LayerInfo &info) +static void color_to_gl (const color_t *color, GLfloat (&gl_color) [4]) { - color_to_gl (lp.fill_color (true), info.color); + if (! color) { + for (unsigned int i = 0; i < 4; ++i) { + gl_color [i] = 0.0; + } + } else { + color_to_gl (*color, gl_color); + } +} + +static void lp_to_info (const lay::LayerPropertiesNode &lp, D25ViewWidget::LayerInfo &info) +{ + color_to_gl (lp.fill_color (true), info.fill_color); if (lp.dither_pattern (true) == 1 /*hollow*/) { - info.color [3] = 0.0f; + info.fill_color [3] = 0.0f; } color_to_gl (lp.frame_color (true), info.frame_color); - if (lp.frame_color (true) == lp.fill_color (true) && info.color [3] > 0.5) { + if (lp.frame_color (true) == lp.fill_color (true) && info.fill_color [3] > 0.5) { // optimize: don't draw wire frame unless required info.frame_color [3] = 0.0f; } - info.visible = lp.visible (true); -} - -bool -D25ViewWidget::prepare_view () -{ - m_layers.clear (); - m_layer_to_info.clear (); - m_vertex_chunks.clear (); - m_line_chunks.clear (); - - bool zset = false; - m_zmin = m_zmax = 0.0; - - if (! mp_view) { - m_bbox = db::DBox (-1.0, -1.0, 1.0, 1.0); - return false; - } - - m_bbox = mp_view->viewport ().box (); - - ZDataCache zdata; - - // collect and confine to cell bbox - db::DBox cell_bbox; - for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { - - std::vector zinfo; - if (! lp->has_children ()) { - zinfo = zdata (mp_view, lp->cellview_index (), lp->layer_index ()); - } - - for (std::vector::const_iterator zi = zinfo.begin (); zi != zinfo.end (); ++zi) { - const lay::CellView &cv = mp_view->cellview ((unsigned int) lp->cellview_index ()); - cell_bbox += db::CplxTrans (cv->layout ().dbu ()) * cv.cell ()->bbox ((unsigned int) lp->layer_index ()); - } - - } - - bool any = false; - - tl::AbsoluteProgress progress (tl::to_string (tr ("Rendering ..."))); - - for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { - - std::vector zinfo; - if (! lp->has_children ()) { - zinfo = zdata (mp_view, lp->cellview_index (), lp->layer_index ()); - } - - for (std::vector::const_iterator zi = zinfo.begin (); zi != zinfo.end (); ++zi) { - - any = true; - - double z0 = zi->zstart (); - double z1 = zi->zstop (); - - m_vertex_chunks.push_back (triangle_chunks_type ()); - m_line_chunks.push_back (line_chunks_type ()); - - LayerInfo info; - lp_to_info (*lp, info); - info.vertex_chunk = &m_vertex_chunks.back (); - info.line_chunk = &m_line_chunks.back (); - - m_layer_to_info.insert (std::make_pair (std::make_pair (lp->cellview_index (), lp->layer_index ()), m_layers.size ())); - m_layers.push_back (info); - - const lay::CellView &cv = mp_view->cellview ((unsigned int) lp->cellview_index ()); - - render_layout (progress, m_vertex_chunks.back (), m_line_chunks.back (), cv->layout (), *cv.cell (), db::CplxTrans (cv->layout ().dbu ()).inverted () * m_bbox, (unsigned int) lp->layer_index (), z0, z1); - - if (! zset) { - m_zmin = z0; - m_zmax = z1; - zset = true; - } else { - m_zmin = std::min (z0, m_zmin); - m_zmax = std::max (z1, m_zmax); - } - - } - - } - - return any; + info.visible = true; } void -D25ViewWidget::refresh_view () +D25ViewWidget::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like, const std::string *name) { - if (! mp_view) { - return; + m_vertex_chunks.push_back (triangle_chunks_type ()); + m_line_chunks.push_back (line_chunks_type ()); + + LayerInfo info; + + info.visible = true; + color_to_gl (frame_color, info.frame_color); + color_to_gl (fill_color, info.fill_color); + + info.has_name = (name != 0 || like != 0); + if (name) { + info.name = *name; + } else if (like) { + info.name = like->to_string (); } - for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { + info.vertex_chunk = &m_vertex_chunks.back (); + info.line_chunk = &m_line_chunks.back (); - std::pair key = std::make_pair (lp->cellview_index (), lp->layer_index ()); - - std::multimap, size_t>::const_iterator l = m_layer_to_info.find (key); - while (l != m_layer_to_info.end () && l->first == key) { - if (l->second < m_layers.size ()) { - lp_to_info (*lp, m_layers [l->second]); + if (like && mp_view) { + for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { + if (! lp->has_children () && lp->source (true).layer_props ().log_equal (*like)) { + lp_to_info (*lp, info); + break; } - ++l; + } + } + + m_layers.push_back (info); + m_display_open = true; +} + +void +D25ViewWidget::close_display () +{ + m_display_open = false; +} + +void +D25ViewWidget::enter (const db::RecursiveShapeIterator *iter, double zstart, double zstop) +{ + tl_assert (m_display_open); + + if (! m_zset) { + m_zmin = std::min (zstart, zstop); + m_zmax = std::max (zstart, zstop); + m_zset = true; + } else { + m_zmin = std::min (m_zmin, std::min (zstart, zstop)); + m_zmax = std::min (m_zmax, std::max (zstart, zstop)); + } + + LayerInfo &info = m_layers.back (); + + // try to establish a default color from the region's origin if required + if (mp_view && info.fill_color [3] == 0.0 && info.frame_color [3] == 0.0) { + + if (iter) { + + if (iter && iter->layout () && iter->layout ()->is_valid_layer (iter->layer ())) { + + db::LayerProperties like = iter->layout ()->get_properties (iter->layer ()); + + for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { + if (! lp->has_children () && lp->source (true).layer_props ().log_equal (like)) { + lp_to_info (*lp, info); + if (! info.has_name) { + info.name = like.to_string (); + info.has_name = true; + } + break; + } + } + + } + + } else { + + // sequential assignment + lay::color_t color = mp_view->get_palette ().luminous_color_by_index (m_layers.size ()); + color_to_gl (color, info.fill_color); + } } +} - refresh (); +void +D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double zstop) +{ + // try to establish a default color from the region's origin if required + const db::RecursiveShapeIterator *iter = 0; + const db::OriginalLayerRegion *original = dynamic_cast (data.delegate ()); + if (original) { + iter = original->iter (); + } + + enter (iter, zstart, zstop); + + tl::AbsoluteProgress progress (tl::to_string (tr ("Rendering ..."))); + render_region (progress, *m_layers.back ().vertex_chunk, *m_layers.back ().line_chunk, data, dbu, db::CplxTrans (dbu).inverted () * m_bbox, zstart, zstop); +} + +void +D25ViewWidget::entry (const db::Edges &data, double dbu, double zstart, double zstop) +{ + // try to establish a default color from the region's origin if required + const db::RecursiveShapeIterator *iter = 0; + const db::OriginalLayerEdges *original = dynamic_cast (data.delegate ()); + if (original) { + iter = original->iter (); + } + + enter (iter, zstart, zstop); + + tl::AbsoluteProgress progress (tl::to_string (tr ("Rendering ..."))); + render_edges (progress, *m_layers.back ().vertex_chunk, *m_layers.back ().line_chunk, data, dbu, db::CplxTrans (dbu).inverted () * m_bbox, zstart, zstop); +} + +void +D25ViewWidget::entry (const db::EdgePairs &data, double dbu, double zstart, double zstop) +{ + // try to establish a default color from the region's origin if required + const db::RecursiveShapeIterator *iter = 0; + const db::OriginalLayerEdgePairs *original = dynamic_cast (data.delegate ()); + if (original) { + iter = original->iter (); + } + + enter (iter, zstart, zstop); + + tl::AbsoluteProgress progress (tl::to_string (tr ("Rendering ..."))); + render_edge_pairs (progress, *m_layers.back ().vertex_chunk, *m_layers.back ().line_chunk, data, dbu, db::CplxTrans (dbu).inverted () * m_bbox, zstart, zstop); +} + +void +D25ViewWidget::finish () +{ + // .. nothing yet .. +} + +void +D25ViewWidget::attach_view (LayoutView *view) +{ + mp_view = view; } void @@ -793,31 +797,23 @@ D25ViewWidget::render_wall (D25ViewWidget::triangle_chunks_type &chunks, D25View } void -D25ViewWidget::render_layout (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Layout &layout, const db::Cell &cell, const db::Box &clip_box, unsigned int layer, double zstart, double zstop) +D25ViewWidget::render_region (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Region ®ion, double dbu, const db::Box &clip_box, double zstart, double zstop) { std::vector poly_heap; - // TODO: hidden cells, hierarchy depth ... - - db::RecursiveShapeIterator s (layout, cell, layer, clip_box); - s.shape_flags (db::ShapeIterator::Polygons | db::ShapeIterator::Paths | db::ShapeIterator::Boxes); - for ( ; ! s.at_end (); ++s) { - - db::Polygon polygon; - s->polygon (polygon); - polygon.transform (s.trans ()); + for (db::Region::const_iterator p = region.begin (); !p.at_end (); ++p) { poly_heap.clear (); - db::clip_poly (polygon, clip_box, poly_heap, false /*keep holes*/); + db::clip_poly (*p, clip_box, poly_heap, false /*keep holes*/); for (std::vector::const_iterator p = poly_heap.begin (); p != poly_heap.end (); ++p) { ++progress; - render_polygon (chunks, line_chunks, *p, layout.dbu (), zstart, zstop); + render_polygon (chunks, line_chunks, *p, dbu, zstart, zstop); for (db::Polygon::polygon_edge_iterator e = p->begin_edge (); ! e.at_end (); ++e) { - render_wall (chunks, line_chunks, *e, layout.dbu (), zstart, zstop); + render_wall (chunks, line_chunks, *e, dbu, zstart, zstop); } } @@ -825,6 +821,43 @@ D25ViewWidget::render_layout (tl::AbsoluteProgress &progress, D25ViewWidget::tri } } +void +D25ViewWidget::render_edges (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Edges &edges, double dbu, const db::Box &clip_box, double zstart, double zstop) +{ + for (db::Edges::const_iterator e = edges.begin (); !e.at_end (); ++e) { + + ++progress; + + std::pair ec = e->clipped (clip_box); + if (ec.first) { + render_wall (chunks, line_chunks, ec.second, dbu, zstart, zstop); + } + + } +} + +void +D25ViewWidget::render_edge_pairs (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::EdgePairs &edge_pairs, double dbu, const db::Box &clip_box, double zstart, double zstop) +{ + for (db::EdgePairs::const_iterator e = edge_pairs.begin (); !e.at_end (); ++e) { + + ++progress; + + std::pair ec; + + ec = e->first ().clipped (clip_box); + if (ec.first) { + render_wall (chunks, line_chunks, ec.second, dbu, zstart, zstop); + } + + ec = e->second ().clipped (clip_box); + if (ec.first) { + render_wall (chunks, line_chunks, ec.second, dbu, zstart, zstop); + } + + } +} + static std::pair find_grid (double v) { for (int p = -12; p < 12; ++p) { @@ -852,22 +885,22 @@ D25ViewWidget::initializeGL () tl_assert (m_gridplane_program == 0); tl_assert (m_lines_program == 0); - bool error = false; + m_has_error = false; try { do_initialize_gl (); } catch (tl::Exception &ex) { m_error = ex.msg (); - error = true; + m_has_error = true; } catch (std::exception &ex) { m_error = ex.what (); - error = true; + m_has_error = true; } catch (...) { m_error = "(unspecific error)"; - error = true; + m_has_error = true; } - if (error) { + if (m_has_error) { delete m_shapes_program; m_shapes_program = 0; @@ -1098,8 +1131,8 @@ D25ViewWidget::paintGL () glEnableVertexAttribArray (positions); for (std::vector::const_iterator l = m_layers.begin (); l != m_layers.end (); ++l) { - if (l->visible && l->color [3] > 0.5) { - m_shapes_program->setUniformValue ("color", l->color [0], l->color [1], l->color [2], l->color [3]); + if (l->visible && l->fill_color [3] > 0.5) { + m_shapes_program->setUniformValue ("color", l->fill_color [0], l->fill_color [1], l->fill_color [2], l->fill_color [3]); l->vertex_chunk->draw_to (this, positions, GL_TRIANGLES); } } diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index bf98f147f..af5dd0a54 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ #include "layD25MemChunks.h" #include "layD25Camera.h" +#include "layViewOp.h" #include #include @@ -41,8 +42,11 @@ namespace db { - class Layout; - class Cell; + class Region; + class Edges; + class EdgePairs; + class RecursiveShapeIterator; + struct LayerProperties; } namespace tl @@ -78,6 +82,20 @@ class D25ViewWidget Q_OBJECT public: + typedef lay::mem_chunks triangle_chunks_type; + typedef lay::mem_chunks line_chunks_type; + + struct LayerInfo + { + triangle_chunks_type *vertex_chunk; + line_chunks_type *line_chunk; + GLfloat fill_color [4]; + GLfloat frame_color [4]; + bool visible; + std::string name; + bool has_name; + }; + D25ViewWidget (QWidget *parent); ~D25ViewWidget (); @@ -88,8 +106,7 @@ public: void mouseReleaseEvent (QMouseEvent *event); void mouseMoveEvent (QMouseEvent *event); - bool attach_view(lay::LayoutView *view); - void refresh_view (); + void attach_view(lay::LayoutView *view); QVector3D hit_point_with_scene(const QVector3D &line_dir); void refresh (); @@ -129,6 +146,26 @@ public: return m_error; } + bool has_error () const + { + return m_has_error; + } + + const std::vector &layers () const + { + return m_layers; + } + + void set_material_visible (size_t index, bool visible); + + void clear (); + void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like, const std::string *name); + void close_display (); + void entry (const db::Region &data, double dbu, double zstart, double zstop); + void entry (const db::Edges &data, double dbu, double zstart, double zstop); + void entry (const db::EdgePairs &data, double dbu, double zstart, double zstop); + void finish (); + signals: void scale_factor_changed (double f); void vscale_factor_changed (double f); @@ -143,44 +180,36 @@ public slots: void fit (); private: - typedef lay::mem_chunks triangle_chunks_type; - typedef lay::mem_chunks line_chunks_type; - std::unique_ptr mp_mode; QOpenGLShaderProgram *m_shapes_program, *m_lines_program, *m_gridplane_program; std::string m_error; + bool m_has_error; double m_scale_factor; double m_vscale_factor; QVector3D m_displacement; lay::LayoutView *mp_view; db::DBox m_bbox; double m_zmin, m_zmax; + bool m_zset; + bool m_display_open; std::list m_vertex_chunks; std::list m_line_chunks; - struct LayerInfo { - const triangle_chunks_type *vertex_chunk; - const line_chunks_type *line_chunk; - GLfloat color [4]; - GLfloat frame_color [4]; - bool visible; - }; - std::vector m_layers; - std::multimap, size_t> m_layer_to_info; void initializeGL (); void paintGL (); void resizeGL (int w, int h); void do_initialize_gl (); - bool prepare_view(); - void render_layout (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Layout &layout, const db::Cell &cell, const db::Box &clip_box, unsigned int layer, double zstart, double zstop); + void render_region (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Region ®ion, double dbu, const db::Box &clip_box, double zstart, double zstop); + void render_edges (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Edges ®ion, double dbu, const db::Box &clip_box, double zstart, double zstop); + void render_edge_pairs (tl::AbsoluteProgress &progress, D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::EdgePairs ®ion, double dbu, const db::Box &clip_box, double zstart, double zstop); void render_polygon (D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Polygon &poly, double dbu, double zstart, double zstop); void render_wall (D25ViewWidget::triangle_chunks_type &vertex_chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Edge &poly, double dbu, double zstart, double zstop); void reset_viewport (); - static void lp_to_info (const lay::LayerPropertiesNode &lp, D25ViewWidget::LayerInfo &info); + void enter (const db::RecursiveShapeIterator *iter, double zstart, double zstop); }; } diff --git a/src/plugins/tools/view_25d/lay_plugin/layXORPlugin.cc b/src/plugins/tools/view_25d/lay_plugin/layXORPlugin.cc index 28ff449fb..f6f9f79e1 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layXORPlugin.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layXORPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro index b05f93e94..b42f2a01d 100644 --- a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro +++ b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro @@ -4,9 +4,16 @@ DESTDIR = $$OUT_PWD/../../../../lay_plugins include($$PWD/../../../lay_plugin.pri) -INCLUDEPATH += $$RDB_INC $$ANT_INC -DEPENDPATH += $$RDB_INC $$ANT_INC +INCLUDEPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC +DEPENDPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC + LIBS += -L$$DESTDIR/.. -lklayout_rdb -lklayout_ant +equals(HAVE_QTBINDINGS, "1") { + LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtCore + greaterThan(QT_MAJOR_VERSION, 4) { + LIBS += -lklayout_QtWidgets + } +} HEADERS = \ layD25View.h \ @@ -16,6 +23,7 @@ HEADERS = \ layD25Camera.h SOURCES = \ + gsiDeclLayD25View.cc \ layD25View.cc \ layD25ViewWidget.cc \ layD25Plugin.cc \ @@ -26,6 +34,9 @@ SOURCES = \ FORMS = \ D25View.ui \ +RESOURCES = \ + layD25Resources.qrc \ + greaterThan(QT_MAJOR_VERSION, 5) { QT += openglwidgets } diff --git a/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym new file mode 100644 index 000000000..7580c81c6 --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym @@ -0,0 +1,63 @@ + + + General;;2.5d view generator script (*.lyd25)\nA script generating a 2.5d view + + d25 + + + + false + false + + true + d25_scripts + tools_menu.d25.end + ruby + + +# Read about 2.5d generator scripts in the User Manual in "Various Topics/The 2.5d View" + +# The script utilizes the DRC language with these two extensions +# +# z(layer, options ...): +# +# This function generates a extruded view from the given layer. +# +# Some options control the z extrusion: +# +# z(layer, 0.1 .. 0.2) extrude layer to z = 0.1 to 0.2 um +# z(layer, zstart: 0.1, zstop: 0.2) same as above +# z(layer, zstart: 0.1, height: 0.1) same as above, but with height instead of zstop +# z(layer, height: 200.nm) extrude layer from last z position with a height of 200nm +# +# You can specify display options: +# +# z(..., color: 0xff0000) use bright red for the material color (RGB) +# z(..., frame: 0xff0000) use bright red for the frame color (combine with "fill" for the fill color) +# z(..., fill: 0x00ff00) use bright green for the fill color along (combine with "frame" for the frame color) +# z(..., like: "7/0") borrow style from layout view's style for layer "7/0" +# z(..., name: "M1") assigns a name to show for the material +# +# If no display options are given and layer is an original layer, the colors are taken +# from the original layer's display style. Otherwise KLayout decides about the +# colors itself using the application's palette. +# +# zz(options) { block } +# zz(z(...), z(...), ..., options): +# +# Creates a display group. The display options are the same for all +# extrusion specs within the group. +# +# The options of "zz" are "name", "color", "frame", "fill" and "like". + +z(input(1, 0), 0.1 .. 0.2) +z(input(2, 0), height: 250.nm, color: 0xffbc80) + +zz(like: 7/0, name: "Metal") do + z(input(7, 0), height: 100.nm) + z(input(8, 0), height: 150.nm) +end + + + + diff --git a/src/plugins/tools/view_25d/unit_tests/layD25CameraTests.cc b/src/plugins/tools/view_25d/unit_tests/layD25CameraTests.cc index e4ea76cc8..a774de5c6 100644 --- a/src/plugins/tools/view_25d/unit_tests/layD25CameraTests.cc +++ b/src/plugins/tools/view_25d/unit_tests/layD25CameraTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/unit_tests/layD25MemChunksTests.cc b/src/plugins/tools/view_25d/unit_tests/layD25MemChunksTests.cc index 72d89d98d..dc84541d4 100644 --- a/src/plugins/tools/view_25d/unit_tests/layD25MemChunksTests.cc +++ b/src/plugins/tools/view_25d/unit_tests/layD25MemChunksTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/view_25d/unit_tests/layD25ViewUtilsTests.cc b/src/plugins/tools/view_25d/unit_tests/layD25ViewUtilsTests.cc index 4948bbf1d..e5eb77f53 100644 --- a/src/plugins/tools/view_25d/unit_tests/layD25ViewUtilsTests.cc +++ b/src/plugins/tools/view_25d/unit_tests/layD25ViewUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/xor/lay_plugin/layXORPlugin.cc b/src/plugins/tools/xor/lay_plugin/layXORPlugin.cc index 28ff449fb..f6f9f79e1 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORPlugin.cc +++ b/src/plugins/tools/xor/lay_plugin/layXORPlugin.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/xor/lay_plugin/layXORProgress.cc b/src/plugins/tools/xor/lay_plugin/layXORProgress.cc index fb13a7ffd..c5f87c6f0 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORProgress.cc +++ b/src/plugins/tools/xor/lay_plugin/layXORProgress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/xor/lay_plugin/layXORProgress.h b/src/plugins/tools/xor/lay_plugin/layXORProgress.h index 9a4bdb11a..ef055d806 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORProgress.h +++ b/src/plugins/tools/xor/lay_plugin/layXORProgress.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc index a828584ad..ff8c7888b 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc +++ b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.h b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.h index bb4bb8691..adeb9fb1b 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.h +++ b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pya.cc b/src/pya/pya/pya.cc index 6266282f1..45864b955 100644 --- a/src/pya/pya/pya.cc +++ b/src/pya/pya/pya.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pya.h b/src/pya/pya/pya.h index ff69ab37c..6ca3c4ca7 100644 --- a/src/pya/pya/pya.h +++ b/src/pya/pya/pya.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaCommon.h b/src/pya/pya/pyaCommon.h index faa1cefb4..84c755ca3 100644 --- a/src/pya/pya/pyaCommon.h +++ b/src/pya/pya/pyaCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaConvert.cc b/src/pya/pya/pyaConvert.cc index 7babd2a62..e7f536bcd 100644 --- a/src/pya/pya/pyaConvert.cc +++ b/src/pya/pya/pyaConvert.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -203,7 +203,7 @@ std::vector python2c_func >::operator() (PyObject *rval) #else if (PyBytes_Check (rval)) { char *cp = 0; - ssize_t sz = 0; + Py_ssize_t sz = 0; PyBytes_AsStringAndSize (rval, &cp, &sz); tl_assert (cp != 0); return std::vector (cp, cp + sz); @@ -215,13 +215,13 @@ std::vector python2c_func >::operator() (PyObject *rval) check_error (); } char *cp = 0; - ssize_t sz = 0; + Py_ssize_t sz = 0; PyBytes_AsStringAndSize (ba.get (), &cp, &sz); tl_assert (cp != 0); return std::vector (cp, cp + sz); } else if (PyByteArray_Check (rval)) { char *cp = PyByteArray_AsString (rval); - ssize_t sz = PyByteArray_Size (rval); + Py_ssize_t sz = PyByteArray_Size (rval); return std::vector (cp, cp + sz); } else { throw tl::Exception (tl::to_string (tr ("Argument cannot be converted to a byte array"))); diff --git a/src/pya/pya/pyaConvert.h b/src/pya/pya/pyaConvert.h index 7b45dbc68..8f68847a9 100644 --- a/src/pya/pya/pyaConvert.h +++ b/src/pya/pya/pyaConvert.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaHelpers.cc b/src/pya/pya/pyaHelpers.cc index d26887a76..d1d8ce443 100644 --- a/src/pya/pya/pyaHelpers.cc +++ b/src/pya/pya/pyaHelpers.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaHelpers.h b/src/pya/pya/pyaHelpers.h index 793f55c39..5d59baa36 100644 --- a/src/pya/pya/pyaHelpers.h +++ b/src/pya/pya/pyaHelpers.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaInspector.cc b/src/pya/pya/pyaInspector.cc index 4cd1198e2..ff352d056 100644 --- a/src/pya/pya/pyaInspector.cc +++ b/src/pya/pya/pyaInspector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaInspector.h b/src/pya/pya/pyaInspector.h index be898269b..fe6b8b037 100644 --- a/src/pya/pya/pyaInspector.h +++ b/src/pya/pya/pyaInspector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaMarshal.cc b/src/pya/pya/pyaMarshal.cc index 4de1e837d..2913c1ace 100644 --- a/src/pya/pya/pyaMarshal.cc +++ b/src/pya/pya/pyaMarshal.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -114,6 +114,7 @@ public: virtual tl::Variant var () const; virtual void set (const tl::Variant &v, tl::Heap & /*heap*/); + const PythonPtr &ptr () const { return m_var; } private: PythonPtr m_var; @@ -641,7 +642,7 @@ struct reader }; static -PyObject *object_from_variant (tl::Variant &var, PYAObjectBase *self, const gsi::ArgType &atype) +PyObject *object_from_variant (tl::Variant &var, PYAObjectBase *self, const gsi::ArgType &atype, bool transfer = false) { if (var.is_user()) { @@ -657,7 +658,7 @@ PyObject *object_from_variant (tl::Variant &var, PYAObjectBase *self, const gsi: void *obj = var.to_user (); const gsi::ClassBase *cls = var.user_cls ()->gsi_cls (); - if (pass_obj) { + if (pass_obj || transfer) { if (holder) { @@ -711,12 +712,17 @@ struct reader *ret = PythonRef (Py_None, false /*borrowed*/); } else { gsi::VariantAdaptorImpl *aa = dynamic_cast *> (a.get ()); + PythonBasedVariantAdaptor *pa = dynamic_cast (a.get ()); if (aa) { // A small optimization that saves one variant copy *ret = object_from_variant (aa->var_ref_nc (), self, atype); + } else if (pa) { + // Optimization for Python to Python transfer + *ret = pa->ptr (); } else { tl::Variant v = a->var (); - *ret = object_from_variant (v, self, atype); + // NOTE: as v may hold the object, we need to transfer ownership + *ret = object_from_variant (v, self, atype, true); } } } diff --git a/src/pya/pya/pyaMarshal.h b/src/pya/pya/pyaMarshal.h index 872205709..6556d10df 100644 --- a/src/pya/pya/pyaMarshal.h +++ b/src/pya/pya/pyaMarshal.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaModule.cc b/src/pya/pya/pyaModule.cc index 19318550b..0f962fa7e 100644 --- a/src/pya/pya/pyaModule.cc +++ b/src/pya/pya/pyaModule.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -632,6 +632,14 @@ static std::string extract_python_name (const std::string &name) static void pya_object_deallocate (PyObject *self) { + // This avoids an assertion in debug builds (Python, gcmodule.c - update_refs). + // In short, the GC expects not to see objects with refcount 0 and asserts. + // However, due to triggering of signals or similar, the destructor call below + // may trigger a GC (https://github.com/KLayout/klayout/issues/1054). + // According to the comments this may be turned into a release mode assertion, so + // we better work around it. + ++self->ob_refcnt; + PYAObjectBase *p = PYAObjectBase::from_pyobject (self); p->~PYAObjectBase (); Py_TYPE (self)->tp_free (self); diff --git a/src/pya/pya/pyaModule.h b/src/pya/pya/pyaModule.h index af21dbe48..e5478a7e6 100644 --- a/src/pya/pya/pyaModule.h +++ b/src/pya/pya/pyaModule.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaObject.cc b/src/pya/pya/pyaObject.cc index 74618fef1..7a6cdbf29 100644 --- a/src/pya/pya/pyaObject.cc +++ b/src/pya/pya/pyaObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaObject.h b/src/pya/pya/pyaObject.h index fbf183848..a7510b8dc 100644 --- a/src/pya/pya/pyaObject.h +++ b/src/pya/pya/pyaObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaRefs.cc b/src/pya/pya/pyaRefs.cc index 9b9d9931f..3142a2558 100644 --- a/src/pya/pya/pyaRefs.cc +++ b/src/pya/pya/pyaRefs.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaRefs.h b/src/pya/pya/pyaRefs.h index 60b8c0feb..d03a6597d 100644 --- a/src/pya/pya/pyaRefs.h +++ b/src/pya/pya/pyaRefs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaSignalHandler.cc b/src/pya/pya/pyaSignalHandler.cc index 96f6bd32c..ad97e061f 100644 --- a/src/pya/pya/pyaSignalHandler.cc +++ b/src/pya/pya/pyaSignalHandler.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaSignalHandler.h b/src/pya/pya/pyaSignalHandler.h index 9bb618734..5be89e58e 100644 --- a/src/pya/pya/pyaSignalHandler.h +++ b/src/pya/pya/pyaSignalHandler.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaStatusChangedListener.cc b/src/pya/pya/pyaStatusChangedListener.cc index 32a07224e..8a4a8758e 100644 --- a/src/pya/pya/pyaStatusChangedListener.cc +++ b/src/pya/pya/pyaStatusChangedListener.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaStatusChangedListener.h b/src/pya/pya/pyaStatusChangedListener.h index 8398cb3fc..9fc9bd8b2 100644 --- a/src/pya/pya/pyaStatusChangedListener.h +++ b/src/pya/pya/pyaStatusChangedListener.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaUtils.cc b/src/pya/pya/pyaUtils.cc index 96878c6dd..bfb14ac4e 100644 --- a/src/pya/pya/pyaUtils.cc +++ b/src/pya/pya/pyaUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/pya/pyaUtils.h b/src/pya/pya/pyaUtils.h index da52d7a74..b37de3518 100644 --- a/src/pya/pya/pyaUtils.h +++ b/src/pya/pya/pyaUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pya/unit_tests/pyaTests.cc b/src/pya/unit_tests/pyaTests.cc index eae5f3b78..2cda1631f 100644 --- a/src/pya/unit_tests/pyaTests.cc +++ b/src/pya/unit_tests/pyaTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pyastub/pya.cc b/src/pyastub/pya.cc index d8b6643e9..44f12e264 100644 --- a/src/pyastub/pya.cc +++ b/src/pyastub/pya.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pyastub/pya.h b/src/pyastub/pya.h index e9ee98cc5..c225a5c53 100644 --- a/src/pyastub/pya.h +++ b/src/pyastub/pya.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pyastub/pyaCommon.h b/src/pyastub/pyaCommon.h index d9fecea8b..c6283d84d 100644 --- a/src/pyastub/pyaCommon.h +++ b/src/pyastub/pyaCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtCore/QtCoreMain.cc b/src/pymod/QtCore/QtCoreMain.cc index 494255582..d125aac05 100644 --- a/src/pymod/QtCore/QtCoreMain.cc +++ b/src/pymod/QtCore/QtCoreMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtCore5Compat/QtCore5CompatMain.cc b/src/pymod/QtCore5Compat/QtCore5CompatMain.cc index ddc5f79f1..be6846f75 100644 --- a/src/pymod/QtCore5Compat/QtCore5CompatMain.cc +++ b/src/pymod/QtCore5Compat/QtCore5CompatMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtDesigner/QtDesignerMain.cc b/src/pymod/QtDesigner/QtDesignerMain.cc index d2c6fe392..aadbdf8ae 100644 --- a/src/pymod/QtDesigner/QtDesignerMain.cc +++ b/src/pymod/QtDesigner/QtDesignerMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtGui/QtGuiMain.cc b/src/pymod/QtGui/QtGuiMain.cc index 8ccf49dbf..7dcd9894d 100644 --- a/src/pymod/QtGui/QtGuiMain.cc +++ b/src/pymod/QtGui/QtGuiMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtMultimedia/QtMultimediaMain.cc b/src/pymod/QtMultimedia/QtMultimediaMain.cc index 501fee24a..e82f8e061 100644 --- a/src/pymod/QtMultimedia/QtMultimediaMain.cc +++ b/src/pymod/QtMultimedia/QtMultimediaMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtNetwork/QtNetworkMain.cc b/src/pymod/QtNetwork/QtNetworkMain.cc index 24f9a75bb..56f7f05be 100644 --- a/src/pymod/QtNetwork/QtNetworkMain.cc +++ b/src/pymod/QtNetwork/QtNetworkMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtPrintSupport/QtPrintSupportMain.cc b/src/pymod/QtPrintSupport/QtPrintSupportMain.cc index 73aea3d23..6a5b5d1f9 100644 --- a/src/pymod/QtPrintSupport/QtPrintSupportMain.cc +++ b/src/pymod/QtPrintSupport/QtPrintSupportMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtSql/QtSqlMain.cc b/src/pymod/QtSql/QtSqlMain.cc index ab3eb502c..f1d12e3a5 100644 --- a/src/pymod/QtSql/QtSqlMain.cc +++ b/src/pymod/QtSql/QtSqlMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtSvg/QtSvgMain.cc b/src/pymod/QtSvg/QtSvgMain.cc index 547d7bd06..c1c6daa0f 100644 --- a/src/pymod/QtSvg/QtSvgMain.cc +++ b/src/pymod/QtSvg/QtSvgMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtUiTools/QtUiToolsMain.cc b/src/pymod/QtUiTools/QtUiToolsMain.cc index 7038f2bfa..6a5b3e39d 100644 --- a/src/pymod/QtUiTools/QtUiToolsMain.cc +++ b/src/pymod/QtUiTools/QtUiToolsMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtWidgets/QtWidgetsMain.cc b/src/pymod/QtWidgets/QtWidgetsMain.cc index 55616b37f..36a7e8139 100644 --- a/src/pymod/QtWidgets/QtWidgetsMain.cc +++ b/src/pymod/QtWidgets/QtWidgetsMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtXml/QtXmlMain.cc b/src/pymod/QtXml/QtXmlMain.cc index 3659a3447..00b665867 100644 --- a/src/pymod/QtXml/QtXmlMain.cc +++ b/src/pymod/QtXml/QtXmlMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/QtXmlPatterns/QtXmlPatternsMain.cc b/src/pymod/QtXmlPatterns/QtXmlPatternsMain.cc index a93ef1de0..382ebfb92 100644 --- a/src/pymod/QtXmlPatterns/QtXmlPatternsMain.cc +++ b/src/pymod/QtXmlPatterns/QtXmlPatternsMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/bridge_sample/bridge_sample.cc b/src/pymod/bridge_sample/bridge_sample.cc index 47e28ce55..d03e106cd 100644 --- a/src/pymod/bridge_sample/bridge_sample.cc +++ b/src/pymod/bridge_sample/bridge_sample.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/db/dbMain.cc b/src/pymod/db/dbMain.cc index 5c1dd2b97..50e8a17d9 100644 --- a/src/pymod/db/dbMain.cc +++ b/src/pymod/db/dbMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/lay/layMain.cc b/src/pymod/lay/layMain.cc index 2c795893e..6d13a6ab0 100644 --- a/src/pymod/lay/layMain.cc +++ b/src/pymod/lay/layMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/lib/libMain.cc b/src/pymod/lib/libMain.cc index c2fa781ff..f47c6e24b 100644 --- a/src/pymod/lib/libMain.cc +++ b/src/pymod/lib/libMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/pymodHelper.h b/src/pymod/pymodHelper.h index f6af978ac..814eca2cf 100644 --- a/src/pymod/pymodHelper.h +++ b/src/pymod/pymodHelper.h @@ -3,7 +3,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/rdb/rdbMain.cc b/src/pymod/rdb/rdbMain.cc index da48fd71a..e5ef1ab3f 100644 --- a/src/pymod/rdb/rdbMain.cc +++ b/src/pymod/rdb/rdbMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/tl/tlMain.cc b/src/pymod/tl/tlMain.cc index fedc1f167..d1f69e21d 100644 --- a/src/pymod/tl/tlMain.cc +++ b/src/pymod/tl/tlMain.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/pymod/unit_tests/pymod_tests.cc b/src/pymod/unit_tests/pymod_tests.cc index ec2fe4de2..441bcae6d 100644 --- a/src/pymod/unit_tests/pymod_tests.cc +++ b/src/pymod/unit_tests/pymod_tests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rba.cc b/src/rba/rba/rba.cc index ab7d56a09..2a0c1b8f5 100644 --- a/src/rba/rba/rba.cc +++ b/src/rba/rba/rba.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1558,7 +1558,7 @@ public: if (as_static) { if (tl::verbosity () >= 20) { - tl::log << tl::to_string (tr ("Registering class as Ruby module:) ")) << cls->name (); + tl::log << tl::to_string (tr ("Registering class as Ruby module: ")) << cls->name (); } std::string mixin_name = cls->name () + "_Mixin"; diff --git a/src/rba/rba/rba.h b/src/rba/rba/rba.h index 094e031d3..1b204e186 100644 --- a/src/rba/rba/rba.h +++ b/src/rba/rba/rba.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaCommon.h b/src/rba/rba/rbaCommon.h index a5825c7f5..41e8d18cf 100644 --- a/src/rba/rba/rbaCommon.h +++ b/src/rba/rba/rbaCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaConvert.cc b/src/rba/rba/rbaConvert.cc index 919a52e9e..676ad9679 100644 --- a/src/rba/rba/rbaConvert.cc +++ b/src/rba/rba/rbaConvert.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaConvert.h b/src/rba/rba/rbaConvert.h index cbdcbab73..ea739568b 100644 --- a/src/rba/rba/rbaConvert.h +++ b/src/rba/rba/rbaConvert.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaInspector.cc b/src/rba/rba/rbaInspector.cc index 25979b66d..5a19346e6 100644 --- a/src/rba/rba/rbaInspector.cc +++ b/src/rba/rba/rbaInspector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaInspector.h b/src/rba/rba/rbaInspector.h index f94ccd467..41fffc5da 100644 --- a/src/rba/rba/rbaInspector.h +++ b/src/rba/rba/rbaInspector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaInternal.cc b/src/rba/rba/rbaInternal.cc index d752a2493..bcec542b7 100644 --- a/src/rba/rba/rbaInternal.cc +++ b/src/rba/rba/rbaInternal.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaInternal.h b/src/rba/rba/rbaInternal.h index b5b36948c..ccad2275e 100644 --- a/src/rba/rba/rbaInternal.h +++ b/src/rba/rba/rbaInternal.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaMarshal.cc b/src/rba/rba/rbaMarshal.cc index 6d264e343..c3df5cb18 100644 --- a/src/rba/rba/rbaMarshal.cc +++ b/src/rba/rba/rbaMarshal.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -125,6 +125,7 @@ public: virtual tl::Variant var () const; virtual void set (const tl::Variant &v, tl::Heap &heap); + VALUE value () const { return m_var; } private: VALUE m_var; @@ -662,7 +663,7 @@ struct reader } }; -static VALUE object_from_variant (tl::Variant &var, Proxy *self, const gsi::ArgType &atype) +static VALUE object_from_variant (tl::Variant &var, Proxy *self, const gsi::ArgType &atype, bool transfer = false) { if (var.is_user()) { @@ -678,7 +679,7 @@ static VALUE object_from_variant (tl::Variant &var, Proxy *self, const gsi::ArgT void *obj = var.to_user (); const gsi::ClassBase *cls = var.user_cls ()->gsi_cls (); - if (pass_obj) { + if (pass_obj || transfer) { if (holder) { @@ -732,12 +733,17 @@ struct reader *ret = Qnil; } else { gsi::VariantAdaptorImpl *aa = dynamic_cast *> (a.get ()); + RubyBasedVariantAdaptor *pa = dynamic_cast (a.get ()); if (aa) { // A small optimization that saves one variant copy *ret = object_from_variant (aa->var_ref_nc (), self, atype); + } else if (pa) { + // Optimization for Ruby to Ruby transfer + *ret = pa->value (); } else { tl::Variant v = a->var (); - *ret = object_from_variant (v, self, atype); + // NOTE: as v may hold the object, we need to transfer ownership + *ret = object_from_variant (v, self, atype, true); } } } diff --git a/src/rba/rba/rbaMarshal.h b/src/rba/rba/rbaMarshal.h index b3fae6cb7..b52bb3863 100644 --- a/src/rba/rba/rbaMarshal.h +++ b/src/rba/rba/rbaMarshal.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaUtils.cc b/src/rba/rba/rbaUtils.cc index 88705a08c..ccc071d2a 100644 --- a/src/rba/rba/rbaUtils.cc +++ b/src/rba/rba/rbaUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/rba/rbaUtils.h b/src/rba/rba/rbaUtils.h index cc9841a45..bcb514351 100644 --- a/src/rba/rba/rbaUtils.h +++ b/src/rba/rba/rbaUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rba/unit_tests/rbaTests.cc b/src/rba/unit_tests/rbaTests.cc index 3d9a9f2c8..d222d57f0 100644 --- a/src/rba/unit_tests/rbaTests.cc +++ b/src/rba/unit_tests/rbaTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rbastub/rba.cc b/src/rbastub/rba.cc index 2c1c821d7..3c01cfcd7 100644 --- a/src/rbastub/rba.cc +++ b/src/rbastub/rba.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rbastub/rba.h b/src/rbastub/rba.h index a17799994..dc7559d80 100644 --- a/src/rbastub/rba.h +++ b/src/rbastub/rba.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rbastub/rbaCommon.h b/src/rbastub/rbaCommon.h index a5825c7f5..41e8d18cf 100644 --- a/src/rbastub/rbaCommon.h +++ b/src/rbastub/rbaCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/gsiDeclRdb.cc b/src/rdb/rdb/gsiDeclRdb.cc index 6a67db600..1a410e670 100644 --- a/src/rdb/rdb/gsiDeclRdb.cc +++ b/src/rdb/rdb/gsiDeclRdb.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1244,7 +1244,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase", "object's dimensions to micron units by scaling by the database unit.\n" "\n" "This method will also produce a flat version of the shapes inside the region. " - "\\RdbCategory#scan_region is a similar method which also supports construction of " + "\\RdbCategory#scan_collection is a similar method which also supports construction of " "hierarchical databases from deep regions.\n" "\n" "This method has been introduced in version 0.23.\n" @@ -1262,7 +1262,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase", "object's dimensions to micron units by scaling by the database unit.\n" "\n" "This method will also produce a flat version of the edges inside the edge collection. " - "\\RdbCategory#scan_edges is a similar method which also supports construction of " + "\\RdbCategory#scan_collection is a similar method which also supports construction of " "hierarchical databases from deep edge collections.\n" "\n" "This method has been introduced in version 0.23.\n" @@ -1280,7 +1280,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase", "object's dimensions to micron units by scaling by the database unit.\n" "\n" "This method will also produce a flat version of the edge pairs inside the edge pair collection. " - "\\RdbCategory#scan_edge_pairs is a similar method which also supports construction of " + "\\RdbCategory#scan_collection is a similar method which also supports construction of " "hierarchical databases from deep edge pair collections.\n" "\n" "This method has been introduced in version 0.23.\n" diff --git a/src/rdb/rdb/rdb.cc b/src/rdb/rdb/rdb.cc index 602aa90ac..1187bbb27 100644 --- a/src/rdb/rdb/rdb.cc +++ b/src/rdb/rdb/rdb.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdb.h b/src/rdb/rdb/rdb.h index 0028447a2..f62637142 100644 --- a/src/rdb/rdb/rdb.h +++ b/src/rdb/rdb/rdb.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbCommon.h b/src/rdb/rdb/rdbCommon.h index 4509fb3e5..fb5d88ee6 100644 --- a/src/rdb/rdb/rdbCommon.h +++ b/src/rdb/rdb/rdbCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbFile.cc b/src/rdb/rdb/rdbFile.cc index 552a26304..82ad16dc8 100644 --- a/src/rdb/rdb/rdbFile.cc +++ b/src/rdb/rdb/rdbFile.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbForceLink.cc b/src/rdb/rdb/rdbForceLink.cc index be7840124..07724ed77 100644 --- a/src/rdb/rdb/rdbForceLink.cc +++ b/src/rdb/rdb/rdbForceLink.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbForceLink.h b/src/rdb/rdb/rdbForceLink.h index fa9740c34..8b8b46010 100644 --- a/src/rdb/rdb/rdbForceLink.h +++ b/src/rdb/rdb/rdbForceLink.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbRVEReader.cc b/src/rdb/rdb/rdbRVEReader.cc index 533ddde7a..9b2e44af8 100644 --- a/src/rdb/rdb/rdbRVEReader.cc +++ b/src/rdb/rdb/rdbRVEReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbReader.cc b/src/rdb/rdb/rdbReader.cc index 71c7fde13..8c944af3f 100644 --- a/src/rdb/rdb/rdbReader.cc +++ b/src/rdb/rdb/rdbReader.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbReader.h b/src/rdb/rdb/rdbReader.h index b652b7e3e..f2f5d7daa 100644 --- a/src/rdb/rdb/rdbReader.h +++ b/src/rdb/rdb/rdbReader.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbTiledRdbOutputReceiver.cc b/src/rdb/rdb/rdbTiledRdbOutputReceiver.cc index 3dab6e4a9..701042990 100644 --- a/src/rdb/rdb/rdbTiledRdbOutputReceiver.cc +++ b/src/rdb/rdb/rdbTiledRdbOutputReceiver.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbTiledRdbOutputReceiver.h b/src/rdb/rdb/rdbTiledRdbOutputReceiver.h index c431cbb91..65446d75c 100644 --- a/src/rdb/rdb/rdbTiledRdbOutputReceiver.h +++ b/src/rdb/rdb/rdbTiledRdbOutputReceiver.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbUtils.cc b/src/rdb/rdb/rdbUtils.cc index c6940a56a..15c1e1bc8 100644 --- a/src/rdb/rdb/rdbUtils.cc +++ b/src/rdb/rdb/rdbUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/rdb/rdbUtils.h b/src/rdb/rdb/rdbUtils.h index f6b579008..32530e2f4 100644 --- a/src/rdb/rdb/rdbUtils.h +++ b/src/rdb/rdb/rdbUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/unit_tests/rdb.cc b/src/rdb/unit_tests/rdb.cc index 05b84d4cd..ed8adf652 100644 --- a/src/rdb/unit_tests/rdb.cc +++ b/src/rdb/unit_tests/rdb.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/rdb/unit_tests/rdbRVEReaderTests.cc b/src/rdb/unit_tests/rdbRVEReaderTests.cc index 5b78e4d62..fcad92d85 100644 --- a/src/rdb/unit_tests/rdbRVEReaderTests.cc +++ b/src/rdb/unit_tests/rdbRVEReaderTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlAlgorithm.h b/src/tl/tl/tlAlgorithm.h index a99c64c5b..93b9375f3 100644 --- a/src/tl/tl/tlAlgorithm.h +++ b/src/tl/tl/tlAlgorithm.h @@ -3,6 +3,7 @@ #define HDR_tlAlgorithm #include +#include /* * This header is a copy of the gcc STL "stl_algo" and "stl_algobase" diff --git a/src/tl/tl/tlArch.cc b/src/tl/tl/tlArch.cc index 95fc62c5f..30babe080 100644 --- a/src/tl/tl/tlArch.cc +++ b/src/tl/tl/tlArch.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlArch.h b/src/tl/tl/tlArch.h index 1f5f5c002..c0195370d 100644 --- a/src/tl/tl/tlArch.h +++ b/src/tl/tl/tlArch.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlAssert.cc b/src/tl/tl/tlAssert.cc index e1d653904..117c8bfa9 100644 --- a/src/tl/tl/tlAssert.cc +++ b/src/tl/tl/tlAssert.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlAssert.h b/src/tl/tl/tlAssert.h index 494565c75..4aebf8a7d 100644 --- a/src/tl/tl/tlAssert.h +++ b/src/tl/tl/tlAssert.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlClassRegistry.cc b/src/tl/tl/tlClassRegistry.cc index f5907f915..b208dc5b2 100644 --- a/src/tl/tl/tlClassRegistry.cc +++ b/src/tl/tl/tlClassRegistry.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlClassRegistry.h b/src/tl/tl/tlClassRegistry.h index 25c80def9..fd3e8b1ba 100644 --- a/src/tl/tl/tlClassRegistry.h +++ b/src/tl/tl/tlClassRegistry.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCommandLineParser.cc b/src/tl/tl/tlCommandLineParser.cc index 8e008e240..8481007a9 100644 --- a/src/tl/tl/tlCommandLineParser.cc +++ b/src/tl/tl/tlCommandLineParser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCommandLineParser.h b/src/tl/tl/tlCommandLineParser.h index 09d4c7ea5..c2d5ca884 100644 --- a/src/tl/tl/tlCommandLineParser.h +++ b/src/tl/tl/tlCommandLineParser.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCommon.h b/src/tl/tl/tlCommon.h index ee4526629..be980f5ee 100644 --- a/src/tl/tl/tlCommon.h +++ b/src/tl/tl/tlCommon.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCopyOnWrite.cc b/src/tl/tl/tlCopyOnWrite.cc index 4763cf6ed..2b73541ad 100644 --- a/src/tl/tl/tlCopyOnWrite.cc +++ b/src/tl/tl/tlCopyOnWrite.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCopyOnWrite.h b/src/tl/tl/tlCopyOnWrite.h index c31536869..717688592 100644 --- a/src/tl/tl/tlCopyOnWrite.h +++ b/src/tl/tl/tlCopyOnWrite.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlCpp.h b/src/tl/tl/tlCpp.h index 0ea160bec..fc4274ada 100644 --- a/src/tl/tl/tlCpp.h +++ b/src/tl/tl/tlCpp.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDataMapping.cc b/src/tl/tl/tlDataMapping.cc index a17566b3b..f08440c4f 100644 --- a/src/tl/tl/tlDataMapping.cc +++ b/src/tl/tl/tlDataMapping.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDataMapping.h b/src/tl/tl/tlDataMapping.h index cf6b58f44..cff9140e2 100644 --- a/src/tl/tl/tlDataMapping.h +++ b/src/tl/tl/tlDataMapping.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeferredExecution.cc b/src/tl/tl/tlDeferredExecution.cc index 8dfd8628b..4577784de 100644 --- a/src/tl/tl/tlDeferredExecution.cc +++ b/src/tl/tl/tlDeferredExecution.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeferredExecution.h b/src/tl/tl/tlDeferredExecution.h index 1c30c49fd..380859e92 100644 --- a/src/tl/tl/tlDeferredExecution.h +++ b/src/tl/tl/tlDeferredExecution.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeferredExecutionQt.cc b/src/tl/tl/tlDeferredExecutionQt.cc index 83fc65185..eee8be855 100644 --- a/src/tl/tl/tlDeferredExecutionQt.cc +++ b/src/tl/tl/tlDeferredExecutionQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeferredExecutionQt.h b/src/tl/tl/tlDeferredExecutionQt.h index f7fb8624f..ec69afc90 100644 --- a/src/tl/tl/tlDeferredExecutionQt.h +++ b/src/tl/tl/tlDeferredExecutionQt.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeflate.cc b/src/tl/tl/tlDeflate.cc index 29059709c..dcd24d440 100644 --- a/src/tl/tl/tlDeflate.cc +++ b/src/tl/tl/tlDeflate.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDeflate.h b/src/tl/tl/tlDeflate.h index a2e9a8a3a..03da2b9e0 100644 --- a/src/tl/tl/tlDeflate.h +++ b/src/tl/tl/tlDeflate.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlDefs.h b/src/tl/tl/tlDefs.h index 94c47da7c..1a084cce7 100644 --- a/src/tl/tl/tlDefs.h +++ b/src/tl/tl/tlDefs.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEnv.cc b/src/tl/tl/tlEnv.cc index 27db9bfac..dc0151cc7 100644 --- a/src/tl/tl/tlEnv.cc +++ b/src/tl/tl/tlEnv.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEnv.h b/src/tl/tl/tlEnv.h index 27199764d..6e0ed16e0 100644 --- a/src/tl/tl/tlEnv.h +++ b/src/tl/tl/tlEnv.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEquivalenceClusters.cc b/src/tl/tl/tlEquivalenceClusters.cc index 7a7f55cc8..fe9ca8112 100644 --- a/src/tl/tl/tlEquivalenceClusters.cc +++ b/src/tl/tl/tlEquivalenceClusters.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEquivalenceClusters.h b/src/tl/tl/tlEquivalenceClusters.h index 514ddfe83..7cada98d8 100644 --- a/src/tl/tl/tlEquivalenceClusters.h +++ b/src/tl/tl/tlEquivalenceClusters.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEvents.cc b/src/tl/tl/tlEvents.cc index 2fd5838db..89c8442c1 100644 --- a/src/tl/tl/tlEvents.cc +++ b/src/tl/tl/tlEvents.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEvents.h b/src/tl/tl/tlEvents.h index 522d0ffa0..6f34c1e08 100644 --- a/src/tl/tl/tlEvents.h +++ b/src/tl/tl/tlEvents.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlEventsVar.h b/src/tl/tl/tlEventsVar.h index a05db1dfa..7bc0e147e 100644 --- a/src/tl/tl/tlEventsVar.h +++ b/src/tl/tl/tlEventsVar.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlException.cc b/src/tl/tl/tlException.cc index 381e2e735..4c66acd1e 100644 --- a/src/tl/tl/tlException.cc +++ b/src/tl/tl/tlException.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlException.h b/src/tl/tl/tlException.h index 245dd468b..4c5181aef 100644 --- a/src/tl/tl/tlException.h +++ b/src/tl/tl/tlException.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlExceptions.cc b/src/tl/tl/tlExceptions.cc index e52861d5f..a8e94eea0 100644 --- a/src/tl/tl/tlExceptions.cc +++ b/src/tl/tl/tlExceptions.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlExceptions.h b/src/tl/tl/tlExceptions.h index 5226974d4..bb481933c 100644 --- a/src/tl/tl/tlExceptions.h +++ b/src/tl/tl/tlExceptions.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlExpression.cc b/src/tl/tl/tlExpression.cc index a00dbefd1..f616c251e 100644 --- a/src/tl/tl/tlExpression.cc +++ b/src/tl/tl/tlExpression.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2916,6 +2916,7 @@ printf_f (const ExpressionParserContext &context, tl::Variant &, const std::vect } std::cout << tl::sprintf (vv[0].to_string (), vv, 1); + std::cout.flush (); } // ---------------------------------------------------------------------------- @@ -3125,10 +3126,16 @@ Expression::execute (EvalTarget &v) const // ---------------------------------------------------------------------------- // Implementation of Eval -Eval Eval::m_global; +Eval Eval::m_global (0, 0, false); Eval::Eval (Eval *parent, bool sloppy) - : mp_parent (parent), m_sloppy (sloppy), mp_ctx_handler (0) + : mp_parent (parent), mp_global (&Eval::m_global), m_sloppy (sloppy), mp_ctx_handler (0) +{ + // .. nothing yet .. +} + +Eval::Eval (Eval *global, Eval *parent, bool sloppy) + : mp_parent (parent), mp_global (global), m_sloppy (sloppy), mp_ctx_handler (0) { // .. nothing yet .. } @@ -3958,8 +3965,8 @@ Eval::resolve_name (const std::string &t, const EvalFunction *&function, const t if (! function && ! value && ! var) { if (mp_parent) { mp_parent->resolve_name (t, function, value, var); - } else if (this != &m_global) { - m_global.resolve_name (t, function, value, var); + } else if (mp_global) { + mp_global->resolve_name (t, function, value, var); } } } diff --git a/src/tl/tl/tlExpression.h b/src/tl/tl/tlExpression.h index 325f11914..bb46a8e95 100644 --- a/src/tl/tl/tlExpression.h +++ b/src/tl/tl/tlExpression.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -367,7 +367,16 @@ public: * @param parent The parent evaluation context * @param sloppy True to enable sloppy evaluation for pure parsing */ - Eval (Eval *parent = 0, bool sloppy = false); + explicit Eval (Eval *parent = 0, bool sloppy = false); + + /** + * @brief Create a new object for expression evaluation + * + * @param global The global evaluation context + * @param parent The parent evaluation context + * @param sloppy True to enable sloppy evaluation for pure parsing + */ + explicit Eval (Eval *global, Eval *parent, bool sloppy = false); /** * @brief virtual dtor to enable dynamic_cast on derived classes. @@ -513,7 +522,7 @@ public: private: friend class Expression; - Eval *mp_parent; + Eval *mp_parent, *mp_global; std::map m_local_vars; std::map m_local_functions; bool m_sloppy; diff --git a/src/tl/tl/tlFileSystemWatcher.cc b/src/tl/tl/tlFileSystemWatcher.cc index 6c63ec73e..41df02cbd 100644 --- a/src/tl/tl/tlFileSystemWatcher.cc +++ b/src/tl/tl/tlFileSystemWatcher.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlFileSystemWatcher.h b/src/tl/tl/tlFileSystemWatcher.h index a677011c9..263ebc80c 100644 --- a/src/tl/tl/tlFileSystemWatcher.h +++ b/src/tl/tl/tlFileSystemWatcher.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlFileUtils.cc b/src/tl/tl/tlFileUtils.cc index 93fa77860..163df8aaf 100644 --- a/src/tl/tl/tlFileUtils.cc +++ b/src/tl/tl/tlFileUtils.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -594,6 +594,14 @@ std::string current_dir () #endif } +bool chdir (const std::string &path) +{ +#if defined(_WIN32) + return _wchdir (tl::to_wstring (path).c_str ()) == 0; +#else + return ::chdir (tl::to_local (path).c_str ()) == 0; +#endif +} static std::pair absolute_path_of_existing (const std::string &s) { diff --git a/src/tl/tl/tlFileUtils.h b/src/tl/tl/tlFileUtils.h index 70d204302..4b628006c 100644 --- a/src/tl/tl/tlFileUtils.h +++ b/src/tl/tl/tlFileUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -170,6 +170,11 @@ std::string TL_PUBLIC combine_path (const std::string &p1, const std::string &p2 */ std::string TL_PUBLIC current_dir (); +/** + * @brief Change the current directory and returns true if the change was successful + */ +bool TL_PUBLIC chdir (const std::string &path); + /** * @brief This function splits the path into it's components * On Windows, the first component may be the drive prefix ("C:") or diff --git a/src/tl/tl/tlFixedVector.h b/src/tl/tl/tlFixedVector.h index e775dd18a..a55ac5c62 100644 --- a/src/tl/tl/tlFixedVector.h +++ b/src/tl/tl/tlFixedVector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlGlobPattern.cc b/src/tl/tl/tlGlobPattern.cc index 2dc37c38e..d3acb5ff0 100644 --- a/src/tl/tl/tlGlobPattern.cc +++ b/src/tl/tl/tlGlobPattern.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlGlobPattern.h b/src/tl/tl/tlGlobPattern.h index 308390c2b..c30bbfba1 100644 --- a/src/tl/tl/tlGlobPattern.h +++ b/src/tl/tl/tlGlobPattern.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlHeap.cc b/src/tl/tl/tlHeap.cc index d06273658..b4d0de032 100644 --- a/src/tl/tl/tlHeap.cc +++ b/src/tl/tl/tlHeap.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlHeap.h b/src/tl/tl/tlHeap.h index 61bd23d87..f88ff6d10 100644 --- a/src/tl/tl/tlHeap.h +++ b/src/tl/tl/tlHeap.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlHttpStream.cc b/src/tl/tl/tlHttpStream.cc index 04e18f74d..2a51c9cf3 100644 --- a/src/tl/tl/tlHttpStream.cc +++ b/src/tl/tl/tlHttpStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlHttpStream.h b/src/tl/tl/tlHttpStream.h index 5d5a8c61a..acdfdd956 100644 --- a/src/tl/tl/tlHttpStream.h +++ b/src/tl/tl/tlHttpStream.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,6 +63,18 @@ public: static std::string format_error (const std::string &em, int ec, const std::string &url, const std::string &body); }; +/** + * @brief A callback function during waiting for a response + */ +class TL_PUBLIC InputHttpStreamCallback +{ +public: + InputHttpStreamCallback () { } + virtual ~InputHttpStreamCallback () { } + + virtual void wait_for_input () { } +}; + class InputHttpStreamPrivateData; /** @@ -99,9 +111,32 @@ public: /** * @brief Polling: call this function regularly to explicitly establish polling * (in the Qt framework, this is done automatically within the event loop) + * May throw a tl::CancelException to stop. + * Returns true if a message has arrived. */ void tick (); + /** + * @brief Sets a timeout callback + * The callback's wait_for_input method is called regularily while the stream + * waits for HTTP responses. + * The implementation may throw a tl::CancelException to stop the polling. + */ + void set_callback (tl::InputHttpStreamCallback *callback) + { + mp_callback = callback; + } + + /** + * @brief Sets the timeout in seconds + */ + void set_timeout (double to); + + /** + * @brief Gets the timeout in seconds or zero if no timeout is set. + */ + double timeout () const; + /** * @brief Sends the request for data * To ensure prompt delivery of data, this method can be used prior to @@ -171,6 +206,7 @@ public: private: InputHttpStreamPrivateData *mp_data; + InputHttpStreamCallback *mp_callback; }; } diff --git a/src/tl/tl/tlHttpStreamCurl.cc b/src/tl/tl/tlHttpStreamCurl.cc index 254c70e1a..452a45ef9 100644 --- a/src/tl/tl/tlHttpStreamCurl.cc +++ b/src/tl/tl/tlHttpStreamCurl.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -524,7 +524,12 @@ public: * @brief Must be called in regular intervals to update the status * Returns the number of open connections. */ - int tick (); + void tick (); + + /** + * @brief Returns true if a reply has arrived + */ + bool has_reply () const; /** * @brief The singleton instance @@ -555,7 +560,8 @@ private: InputHttpStream::InputHttpStream (const std::string &url) { - mp_data = new InputHttpStreamPrivateData (url); + mp_data = new InputHttpStreamPrivateData (this, url); + mp_callback = 0; } InputHttpStream::~InputHttpStream () @@ -658,9 +664,25 @@ InputHttpStream::is_available () void InputHttpStream::tick () { + if (mp_callback) { + mp_callback->wait_for_input (); + } CurlNetworkManager::instance ()->tick (); } +void +InputHttpStream::set_timeout (double to) +{ + mp_data->set_timeout (to); +} + +double +InputHttpStream::timeout () const +{ + return mp_data->timeout (); +} + + // ---------------------------------------------------------------------- // CurlConnection implementation @@ -1081,7 +1103,8 @@ void CurlNetworkManager::release_connection (CurlConnection *connection) void CurlNetworkManager::on_tick () { - if (tick ()) { + tick (); + if (! has_reply ()) { // NOTE: don't reschedule if there is no DM scheduler. This will cause deep // recursion. if (tl::DeferredMethodScheduler::instance ()) { @@ -1090,13 +1113,18 @@ void CurlNetworkManager::on_tick () } } -int CurlNetworkManager::tick () +bool CurlNetworkManager::has_reply () const +{ + return m_still_running <= 0; +} + +void CurlNetworkManager::tick () { #if defined(DEBUG_CURL) std::cerr << "CurlNetworkManager::tick()" << std::endl; #endif if (m_still_running <= 0) { - return 0; + return; } struct timeval timeout; @@ -1189,14 +1217,13 @@ int CurlNetworkManager::tick () } } - - return m_still_running; } // --------------------------------------------------------------- // InputHttpStreamPrivateData implementation -InputHttpStreamPrivateData::InputHttpStreamPrivateData (const std::string &url) +InputHttpStreamPrivateData::InputHttpStreamPrivateData (InputHttpStream *stream, const std::string &url) + : m_timeout (10.0), mp_stream (stream) { m_sent = false; m_ready = false; @@ -1212,6 +1239,18 @@ InputHttpStreamPrivateData::~InputHttpStreamPrivateData () // .. nothing yet .. } +void +InputHttpStreamPrivateData::set_timeout (double to) +{ + m_timeout = to; +} + +double +InputHttpStreamPrivateData::timeout () const +{ + return m_timeout; +} + bool InputHttpStreamPrivateData::data_available () { @@ -1292,8 +1331,12 @@ InputHttpStreamPrivateData::read (char *b, size_t n) m_progress.reset (new tl::AbsoluteProgress (tl::to_string (tr ("Downloading")) + " " + m_connection->url (), 1)); } - while (n > m_connection->read_available () && ! m_connection->finished () && CurlNetworkManager::instance ()->tick ()) { - ++*m_progress; + tl::Clock start_time = tl::Clock::current (); + while (n > m_connection->read_available () && ! m_connection->finished () && (m_timeout <= 0.0 || (tl::Clock::current() - start_time).seconds () < m_timeout) && ! tl::CurlNetworkManager::instance ()->has_reply ()) { + mp_stream->tick (); + if (m_progress.get ()) { // might have been reset by tick() + ++*m_progress; + } } } diff --git a/src/tl/tl/tlHttpStreamCurl.h b/src/tl/tl/tlHttpStreamCurl.h index 1ebebac96..ce2363777 100644 --- a/src/tl/tl/tlHttpStreamCurl.h +++ b/src/tl/tl/tlHttpStreamCurl.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,7 +48,7 @@ public: /** * @brief Open a stream with the given URL */ - InputHttpStreamPrivateData (const std::string &url); + InputHttpStreamPrivateData (InputHttpStream *stream, const std::string &url); /** * @brief Close the file @@ -135,6 +135,16 @@ public: */ bool data_available (); + /** + * @brief Sets the timeout in seconds + */ + void set_timeout (double to); + + /** + * @brief Gets the timeout in seconds + */ + double timeout () const; + // Basic interface virtual void reset (); virtual void close (); @@ -143,12 +153,14 @@ public: virtual std::string filename () const; private: - std::auto_ptr m_connection; + std::unique_ptr m_connection; tl::Event m_ready_event; tl::Event m_data_ready_event; bool m_sent; bool m_ready; - std::auto_ptr m_progress; + std::unique_ptr m_progress; + double m_timeout; + InputHttpStream *mp_stream; void on_data_available (); void on_finished (); diff --git a/src/tl/tl/tlHttpStreamNoQt.cc b/src/tl/tl/tlHttpStreamNoQt.cc index bb444a6b6..88c3741b3 100644 --- a/src/tl/tl/tlHttpStreamNoQt.cc +++ b/src/tl/tl/tlHttpStreamNoQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -142,4 +142,17 @@ InputHttpStream::tick () // .. nothing yet .. } +void +InputHttpStream::set_timeout (double) +{ + // .. nothing yet .. +} + +double +InputHttpStream::timeout () const +{ + return 0.0; +} + + } diff --git a/src/tl/tl/tlHttpStreamQt.cc b/src/tl/tl/tlHttpStreamQt.cc index 613efbd3c..c3e198102 100644 --- a/src/tl/tl/tlHttpStreamQt.cc +++ b/src/tl/tl/tlHttpStreamQt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -127,7 +127,8 @@ AuthenticationHandler::proxyAuthenticationRequired (const QNetworkProxy &proxy, InputHttpStream::InputHttpStream (const std::string &url) { - mp_data = new InputHttpStreamPrivateData (url); + mp_data = new InputHttpStreamPrivateData (this, url); + mp_callback = 0; } InputHttpStream::~InputHttpStream () @@ -229,17 +230,32 @@ InputHttpStream::is_available () void InputHttpStream::tick () { + if (mp_callback) { + mp_callback->wait_for_input (); + } QCoreApplication::processEvents (QEventLoop::ExcludeUserInputEvents); } +void +InputHttpStream::set_timeout (double to) +{ + mp_data->set_timeout (to); +} + +double +InputHttpStream::timeout () const +{ + return mp_data->timeout (); +} + // --------------------------------------------------------------- // InputHttpStreamPrivateData implementation static QNetworkAccessManager *s_network_manager (0); static AuthenticationHandler *s_auth_handler (0); -InputHttpStreamPrivateData::InputHttpStreamPrivateData (const std::string &url) - : m_url (url), mp_reply (0), m_request ("GET"), mp_buffer (0), mp_resend_timer (new QTimer (this)) +InputHttpStreamPrivateData::InputHttpStreamPrivateData (InputHttpStream *stream, const std::string &url) + : m_url (url), mp_reply (0), m_request ("GET"), mp_buffer (0), mp_resend_timer (new QTimer (this)), m_timeout (10.0), mp_stream (stream) { if (! s_network_manager) { @@ -263,6 +279,18 @@ InputHttpStreamPrivateData::~InputHttpStreamPrivateData () close (); } +void +InputHttpStreamPrivateData::set_timeout (double to) +{ + m_timeout = to; +} + +double +InputHttpStreamPrivateData::timeout () const +{ + return m_timeout; +} + void InputHttpStreamPrivateData::close () { @@ -417,11 +445,9 @@ InputHttpStreamPrivateData::read (char *b, size_t n) issue_request (QUrl (tl::to_qstring (m_url))); } - // TODO: progress tl::Clock start_time = tl::Clock::current (); - double timeout = 10; // TODO: make variable - while (mp_reply == 0 && (tl::Clock::current() - start_time).seconds () < timeout) { - QCoreApplication::processEvents (QEventLoop::ExcludeUserInputEvents); + while (mp_reply == 0 && (m_timeout <= 0.0 || (tl::Clock::current() - start_time).seconds () < m_timeout)) { + mp_stream->tick (); } if (! mp_reply) { diff --git a/src/tl/tl/tlHttpStreamQt.h b/src/tl/tl/tlHttpStreamQt.h index a43609158..b3f5d7885 100644 --- a/src/tl/tl/tlHttpStreamQt.h +++ b/src/tl/tl/tlHttpStreamQt.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,6 +42,7 @@ namespace tl { class HttpCredentialProvider; +class InputHttpStream; class AuthenticationHandler : public QObject @@ -66,7 +67,7 @@ class InputHttpStreamPrivateData Q_OBJECT public: - InputHttpStreamPrivateData (const std::string &url); + InputHttpStreamPrivateData (InputHttpStream *stream, const std::string &url); virtual ~InputHttpStreamPrivateData (); @@ -76,6 +77,8 @@ public: void set_data (const char *data); void set_data (const char *data, size_t n); void add_header (const std::string &name, const std::string &value); + void set_timeout (double to); + double timeout () const; tl::Event &ready () { @@ -118,6 +121,8 @@ private: tl::Event m_ready; QTimer *mp_resend_timer; std::string m_ssl_errors; + double m_timeout; + InputHttpStream *mp_stream; void issue_request (const QUrl &url); }; diff --git a/src/tl/tl/tlInclude.cc b/src/tl/tl/tlInclude.cc index 53a5a6dc1..d1c6966f3 100644 --- a/src/tl/tl/tlInclude.cc +++ b/src/tl/tl/tlInclude.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -134,7 +134,11 @@ IncludeExpander::to_string () const tl_assert (m_sections.begin ()->second.second == 0); std::string fn = m_sections.begin ()->second.first; - return tl::to_word_or_quoted_string (fn, valid_fn_chars); + if (! fn.empty () && fn.front () == '@') { + return tl::to_quoted_string (fn); + } else { + return fn; + } } else { @@ -166,7 +170,9 @@ IncludeExpander::from_string (const std::string &s) ex.read_quoted (ie.m_sections [1].first); - } else if (ex.test ("@")) { + } else if (*ex == '@') { + + ++ex; while (! ex.at_end ()) { diff --git a/src/tl/tl/tlInclude.h b/src/tl/tl/tlInclude.h index 2db2134da..6d263340a 100644 --- a/src/tl/tl/tlInclude.h +++ b/src/tl/tl/tlInclude.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlInt128Support.cc b/src/tl/tl/tlInt128Support.cc index 1e83e4ada..3d2fc1042 100644 --- a/src/tl/tl/tlInt128Support.cc +++ b/src/tl/tl/tlInt128Support.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlInt128Support.h b/src/tl/tl/tlInt128Support.h index 47561c141..7ab6a6867 100644 --- a/src/tl/tl/tlInt128Support.h +++ b/src/tl/tl/tlInt128Support.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlInternational.cc b/src/tl/tl/tlInternational.cc index 6675cbb51..dd8c47aab 100644 --- a/src/tl/tl/tlInternational.cc +++ b/src/tl/tl/tlInternational.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlInternational.h b/src/tl/tl/tlInternational.h index b2106cc3c..946143396 100644 --- a/src/tl/tl/tlInternational.h +++ b/src/tl/tl/tlInternational.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlIntervalMap.h b/src/tl/tl/tlIntervalMap.h index d8f767c5f..5c8569f5e 100644 --- a/src/tl/tl/tlIntervalMap.h +++ b/src/tl/tl/tlIntervalMap.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlIntervalSet.h b/src/tl/tl/tlIntervalSet.h index d6a47367f..fffd643f8 100644 --- a/src/tl/tl/tlIntervalSet.h +++ b/src/tl/tl/tlIntervalSet.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlKDTree.h b/src/tl/tl/tlKDTree.h index d64ec78ce..1d2e9fe6e 100644 --- a/src/tl/tl/tlKDTree.h +++ b/src/tl/tl/tlKDTree.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlList.cc b/src/tl/tl/tlList.cc index b14d142f5..3cc80614f 100644 --- a/src/tl/tl/tlList.cc +++ b/src/tl/tl/tlList.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlList.h b/src/tl/tl/tlList.h index 1cc4b235f..576e57ffc 100644 --- a/src/tl/tl/tlList.h +++ b/src/tl/tl/tlList.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlLog.cc b/src/tl/tl/tlLog.cc index 1cebcb011..1325358eb 100644 --- a/src/tl/tl/tlLog.cc +++ b/src/tl/tl/tlLog.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -371,11 +371,13 @@ protected: private: bool m_colorized; + bool m_new_line; }; WarningChannel::WarningChannel () { m_colorized = can_colorize (stdout); + m_new_line = true; } WarningChannel::~WarningChannel () @@ -393,6 +395,7 @@ void WarningChannel::endl () { fputs ("\n", stdout); + m_new_line = true; } void @@ -410,7 +413,10 @@ WarningChannel::begin () if (m_colorized) { fputs (ANSI_BLUE, stdout); } - fputs ("Warning: ", stdout); + if (m_new_line) { + fputs ("Warning: ", stdout); + m_new_line = false; + } } @@ -436,11 +442,13 @@ protected: private: bool m_colorized; + bool m_new_line; }; ErrorChannel::ErrorChannel () { m_colorized = can_colorize (stderr); + m_new_line = true; } ErrorChannel::~ErrorChannel () @@ -458,6 +466,7 @@ void ErrorChannel::endl () { fputs ("\n", stderr); + m_new_line = true; } void @@ -475,7 +484,10 @@ ErrorChannel::begin () if (m_colorized) { fputs (ANSI_RED, stderr); } - fputs ("ERROR: ", stderr); + if (m_new_line) { + fputs ("ERROR: ", stderr); + m_new_line = false; + } } // ------------------------------------------------ diff --git a/src/tl/tl/tlLog.h b/src/tl/tl/tlLog.h index 775222c29..12dcfea79 100644 --- a/src/tl/tl/tlLog.h +++ b/src/tl/tl/tlLog.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlLongInt.cc b/src/tl/tl/tlLongInt.cc index b61f0e048..538860112 100644 --- a/src/tl/tl/tlLongInt.cc +++ b/src/tl/tl/tlLongInt.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlLongInt.h b/src/tl/tl/tlLongInt.h index 8a81b7f46..024d41edb 100644 --- a/src/tl/tl/tlLongInt.h +++ b/src/tl/tl/tlLongInt.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlMath.h b/src/tl/tl/tlMath.h index 7a93726ba..00ddfd65a 100644 --- a/src/tl/tl/tlMath.h +++ b/src/tl/tl/tlMath.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlObject.cc b/src/tl/tl/tlObject.cc index acbb19bb0..54e2077a2 100644 --- a/src/tl/tl/tlObject.cc +++ b/src/tl/tl/tlObject.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -244,6 +244,10 @@ void WeakOrSharedPtr::reset_object () void WeakOrSharedPtr::reset (Object *t, bool is_shared, bool is_event) { + if (t == mp_t) { + return; + } + Object *to_delete = 0; { diff --git a/src/tl/tl/tlObject.h b/src/tl/tl/tlObject.h index 844f2fd2f..3e2048b2b 100644 --- a/src/tl/tl/tlObject.h +++ b/src/tl/tl/tlObject.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlObjectCollection.h b/src/tl/tl/tlObjectCollection.h index bdf80077f..191d2f819 100644 --- a/src/tl/tl/tlObjectCollection.h +++ b/src/tl/tl/tlObjectCollection.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlProgress.cc b/src/tl/tl/tlProgress.cc index 331f42461..d037a9603 100644 --- a/src/tl/tl/tlProgress.cc +++ b/src/tl/tl/tlProgress.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlProgress.h b/src/tl/tl/tlProgress.h index ca271f1e3..2558c4ab7 100644 --- a/src/tl/tl/tlProgress.h +++ b/src/tl/tl/tlProgress.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlRecipe.cc b/src/tl/tl/tlRecipe.cc index f3bda5fcd..886234aa2 100644 --- a/src/tl/tl/tlRecipe.cc +++ b/src/tl/tl/tlRecipe.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlRecipe.h b/src/tl/tl/tlRecipe.h index e5aef6c90..4f6f4ae41 100644 --- a/src/tl/tl/tlRecipe.h +++ b/src/tl/tl/tlRecipe.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlReuseVector.h b/src/tl/tl/tlReuseVector.h index 34ef9cdab..1cdb86e04 100644 --- a/src/tl/tl/tlReuseVector.h +++ b/src/tl/tl/tlReuseVector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlScriptError.cc b/src/tl/tl/tlScriptError.cc index 0578454b0..39a985833 100644 --- a/src/tl/tl/tlScriptError.cc +++ b/src/tl/tl/tlScriptError.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlScriptError.h b/src/tl/tl/tlScriptError.h index eb5fc70ed..937ce9d23 100644 --- a/src/tl/tl/tlScriptError.h +++ b/src/tl/tl/tlScriptError.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlSelect.h b/src/tl/tl/tlSelect.h index bc7341e4c..8e2b6dd54 100644 --- a/src/tl/tl/tlSelect.h +++ b/src/tl/tl/tlSelect.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlSleep.cc b/src/tl/tl/tlSleep.cc index 265c5c9a4..bcad9d2df 100644 --- a/src/tl/tl/tlSleep.cc +++ b/src/tl/tl/tlSleep.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlSleep.h b/src/tl/tl/tlSleep.h index 052a548d8..f685a7c88 100644 --- a/src/tl/tl/tlSleep.h +++ b/src/tl/tl/tlSleep.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlStableVector.h b/src/tl/tl/tlStableVector.h index 536cbd98b..76c065a2b 100644 --- a/src/tl/tl/tlStableVector.h +++ b/src/tl/tl/tlStableVector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlStaticObjects.cc b/src/tl/tl/tlStaticObjects.cc index dc6453a5c..47b467609 100644 --- a/src/tl/tl/tlStaticObjects.cc +++ b/src/tl/tl/tlStaticObjects.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlStaticObjects.h b/src/tl/tl/tlStaticObjects.h index f21257b71..becb08181 100644 --- a/src/tl/tl/tlStaticObjects.h +++ b/src/tl/tl/tlStaticObjects.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlStream.cc b/src/tl/tl/tlStream.cc index b04df6fba..06b45849f 100644 --- a/src/tl/tl/tlStream.cc +++ b/src/tl/tl/tlStream.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -938,7 +938,7 @@ OutputFileBase::OutputFileBase (const std::string &path, int keep_backups) } } if (! m_backup_path.empty ()) { - if (! tl::rename_file (path, m_backup_path)) { + if (! tl::rename_file (path, tl::filename (m_backup_path))) { tl::warn << tl::sprintf (tl::to_string (tr ("Could not create backup file: unable to rename original file '%s' to backup file")), path, m_backup_path); m_backup_path = std::string (); } diff --git a/src/tl/tl/tlStream.h b/src/tl/tl/tlStream.h index 8a3b96579..35539589e 100644 --- a/src/tl/tl/tlStream.h +++ b/src/tl/tl/tlStream.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlString.cc b/src/tl/tl/tlString.cc index 25ceef153..01fdf3ec2 100644 --- a/src/tl/tl/tlString.cc +++ b/src/tl/tl/tlString.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -790,8 +790,8 @@ from_string (const std::string &s, const unsigned char * &result) result = (unsigned char *) s.c_str (); } -void -from_string (const std::string &s, double &v) +static void +from_string_numeric (const std::string &s, double &v, bool eval) { const char *cp = s.c_str (); while (safe_isspace (*cp)) { @@ -806,18 +806,23 @@ from_string (const std::string &s, double &v) ++cp_end; } if (*cp_end) { - // try using an expression - v = tl::Eval ().parse (s).execute ().to_double (); + if (eval) { + // try using an expression (using a clean environment disables all global features and leaves + // only some static functions) + v = tl::Eval (0, 0, false).parse (s).execute ().to_double (); + } else { + throw tl::Exception (tl::to_string (tr ("Unexpected text after numeric value: '...")) + cp_end + "'"); + } } } template -void -convert_string_to_int (const std::string &s, T &v) +static void +convert_string_to_int (const std::string &s, T &v, bool eval) { double x; // HACK: this should be some real string-to-int conversion - tl::from_string (s, x); + tl::from_string_numeric (s, x, eval); if (x < std::numeric_limits ::min ()) { throw tl::Exception (tl::to_string (tr ("Range underflow: ")) + s); } @@ -830,40 +835,88 @@ convert_string_to_int (const std::string &s, T &v) } } +void +from_string (const std::string &s, double &v) +{ + return from_string_numeric (s, v, false); +} + void from_string (const std::string &s, int &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); } void from_string (const std::string &s, long &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); } void from_string (const std::string &s, long long &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); } void from_string (const std::string &s, unsigned int &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); } void from_string (const std::string &s, unsigned long &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); } void from_string (const std::string &s, unsigned long long &v) { - convert_string_to_int (s, v); + convert_string_to_int (s, v, false); +} + +void +from_string_ext (const std::string &s, double &v) +{ + return from_string_numeric (s, v, true); +} + +void +from_string_ext (const std::string &s, int &v) +{ + convert_string_to_int (s, v, true); +} + +void +from_string_ext (const std::string &s, long &v) +{ + convert_string_to_int (s, v, true); +} + +void +from_string_ext (const std::string &s, long long &v) +{ + convert_string_to_int (s, v, true); +} + +void +from_string_ext (const std::string &s, unsigned int &v) +{ + convert_string_to_int (s, v, true); +} + +void +from_string_ext (const std::string &s, unsigned long &v) +{ + convert_string_to_int (s, v, true); +} + +void +from_string_ext (const std::string &s, unsigned long long &v) +{ + convert_string_to_int (s, v, true); } void diff --git a/src/tl/tl/tlString.h b/src/tl/tl/tlString.h index 02becf0d5..1c8ea8fb7 100644 --- a/src/tl/tl/tlString.h +++ b/src/tl/tl/tlString.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -833,6 +833,14 @@ TL_PUBLIC void from_string (const std::string &s, unsigned long &v); TL_PUBLIC void from_string (const std::string &s, unsigned long long &v); TL_PUBLIC void from_string (const std::string &s, bool &b); +TL_PUBLIC void from_string_ext (const std::string &s, double &v); +TL_PUBLIC void from_string_ext (const std::string &s, int &v); +TL_PUBLIC void from_string_ext (const std::string &s, long &v); +TL_PUBLIC void from_string_ext (const std::string &s, long long &v); +TL_PUBLIC void from_string_ext (const std::string &s, unsigned int &v); +TL_PUBLIC void from_string_ext (const std::string &s, unsigned long &v); +TL_PUBLIC void from_string_ext (const std::string &s, unsigned long long &v); + inline void from_string (const std::string &s, std::string &v) { v = s; } template inline void from_string (const std::string &s, T &t) diff --git a/src/tl/tl/tlStringEx.h b/src/tl/tl/tlStringEx.h index 8c325ddfb..8a59bdc06 100644 --- a/src/tl/tl/tlStringEx.h +++ b/src/tl/tl/tlStringEx.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlThreadedWorkers.cc b/src/tl/tl/tlThreadedWorkers.cc index 01f31ce7d..daa16aaf3 100644 --- a/src/tl/tl/tlThreadedWorkers.cc +++ b/src/tl/tl/tlThreadedWorkers.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlThreadedWorkers.h b/src/tl/tl/tlThreadedWorkers.h index 14c180b72..f79b46c9c 100644 --- a/src/tl/tl/tlThreadedWorkers.h +++ b/src/tl/tl/tlThreadedWorkers.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlThreads.cc b/src/tl/tl/tlThreads.cc index 34e627b50..8e783c0ef 100644 --- a/src/tl/tl/tlThreads.cc +++ b/src/tl/tl/tlThreads.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlThreads.h b/src/tl/tl/tlThreads.h index c07823ce6..1f4a7a870 100644 --- a/src/tl/tl/tlThreads.h +++ b/src/tl/tl/tlThreads.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlTimer.cc b/src/tl/tl/tlTimer.cc index 3827989fc..fe75aa136 100644 --- a/src/tl/tl/tlTimer.cc +++ b/src/tl/tl/tlTimer.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlTimer.h b/src/tl/tl/tlTimer.h index f2884c0bb..6adc607ae 100644 --- a/src/tl/tl/tlTimer.h +++ b/src/tl/tl/tlTimer.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlTypeTraits.h b/src/tl/tl/tlTypeTraits.h index a454f2061..491907dc5 100644 --- a/src/tl/tl/tlTypeTraits.h +++ b/src/tl/tl/tlTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -71,6 +71,18 @@ inline bool value_of (false_tag) { return false; } typedef char __yes_type [1]; typedef char __no_type [2]; +/** + * @brief Detects whether a class has a "to_variant" method with a matching signature + */ +template static __yes_type &__test_to_variant_func (decltype (&T::to_variant)); +template static __no_type &__test_to_variant_func (...); + +template +struct has_to_variant +{ + static constexpr bool value = sizeof (__test_to_variant_func (nullptr)) == sizeof (__yes_type); +}; + /** * @brief Detects whether a class has a "to_string" method with a matching signature */ @@ -83,6 +95,30 @@ struct has_to_string static constexpr bool value = sizeof (__test_to_string_func (nullptr)) == sizeof (__yes_type); }; +/** + * @brief Detects whether a class has a "to_int" method with a matching signature + */ +template static __yes_type &__test_to_int_func (decltype (&T::to_int)); +template static __no_type &__test_to_int_func (...); + +template +struct has_to_int +{ + static constexpr bool value = sizeof (__test_to_int_func (nullptr)) == sizeof (__yes_type); +}; + +/** + * @brief Detects whether a class has a "to_double" method with a matching signature + */ +template static __yes_type &__test_to_double_func (decltype (&T::to_double)); +template static __no_type &__test_to_double_func (...); + +template +struct has_to_double +{ + static constexpr bool value = sizeof (__test_to_double_func (nullptr)) == sizeof (__yes_type); +}; + /** * @brief Detects whether a class has an equal operator */ diff --git a/src/tl/tl/tlUniqueId.cc b/src/tl/tl/tlUniqueId.cc index 831eecaa9..a8f018c26 100644 --- a/src/tl/tl/tlUniqueId.cc +++ b/src/tl/tl/tlUniqueId.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUniqueId.h b/src/tl/tl/tlUniqueId.h index c4a185603..ba388508c 100644 --- a/src/tl/tl/tlUniqueId.h +++ b/src/tl/tl/tlUniqueId.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUniqueName.cc b/src/tl/tl/tlUniqueName.cc index 8f47885d7..969c65d8a 100644 --- a/src/tl/tl/tlUniqueName.cc +++ b/src/tl/tl/tlUniqueName.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUniqueName.h b/src/tl/tl/tlUniqueName.h index 9d3d52005..4ff93ac8f 100644 --- a/src/tl/tl/tlUniqueName.h +++ b/src/tl/tl/tlUniqueName.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUnitTest.cc b/src/tl/tl/tlUnitTest.cc index fb6f4ca8a..77815b4cb 100644 --- a/src/tl/tl/tlUnitTest.cc +++ b/src/tl/tl/tlUnitTest.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUnitTest.h b/src/tl/tl/tlUnitTest.h index bf1844032..615cc3a43 100644 --- a/src/tl/tl/tlUnitTest.h +++ b/src/tl/tl/tlUnitTest.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUri.cc b/src/tl/tl/tlUri.cc index 0c9fdf6d2..7017c10be 100644 --- a/src/tl/tl/tlUri.cc +++ b/src/tl/tl/tlUri.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUri.h b/src/tl/tl/tlUri.h index 88e534894..5abbca0cb 100644 --- a/src/tl/tl/tlUri.h +++ b/src/tl/tl/tlUri.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlUtils.h b/src/tl/tl/tlUtils.h index 965546e24..c078800f3 100644 --- a/src/tl/tl/tlUtils.h +++ b/src/tl/tl/tlUtils.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlVariant.cc b/src/tl/tl/tlVariant.cc index 9fb5b1353..7e46e0add 100644 --- a/src/tl/tl/tlVariant.cc +++ b/src/tl/tl/tlVariant.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1820,6 +1820,10 @@ Variant::to_int128 () const __int128 l = 0; ex.read (l); return l; + } else if (m_type == t_user) { + return m_var.mp_user.cls->to_int (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return m_var.mp_user_ref.cls->to_int (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -1875,6 +1879,10 @@ Variant::to_ulonglong () const unsigned long long l = 0; tl::from_string (to_string (), l); return l; + } else if (m_type == t_user) { + return (unsigned long long) m_var.mp_user.cls->to_int (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return (unsigned long long) m_var.mp_user_ref.cls->to_int (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -1929,6 +1937,10 @@ Variant::to_longlong () const long long l = 0; tl::from_string (to_string (), l); return l; + } else if (m_type == t_user) { + return (long long) m_var.mp_user.cls->to_int (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return (long long) m_var.mp_user_ref.cls->to_int (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -1983,6 +1995,10 @@ Variant::to_ulong () const unsigned long l = 0; tl::from_string (to_string (), l); return l; + } else if (m_type == t_user) { + return (unsigned long) m_var.mp_user.cls->to_int (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return (unsigned long) m_var.mp_user_ref.cls->to_int (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -2037,6 +2053,10 @@ Variant::to_long () const long l = 0; tl::from_string (to_string (), l); return l; + } else if (m_type == t_user) { + return (long) m_var.mp_user.cls->to_int (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return (long) m_var.mp_user_ref.cls->to_int (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -2143,6 +2163,10 @@ Variant::to_double () const double d = 0; tl::from_string (to_string (), d); return d; + } else if (m_type == t_user) { + return m_var.mp_user.cls->to_double (m_var.mp_user.object); + } else if (m_type == t_user_ref) { + return m_var.mp_user_ref.cls->to_double (m_var.mp_user_ref.cls->deref_proxy_const (reinterpret_cast (m_var.mp_user_ref.ptr)->get ())); } else { return 0; } @@ -2513,7 +2537,9 @@ QVariant Variant::to_qvariant () const } else if (dynamic_cast *> (cls)) { return QVariant (to_user ()); } else { - return QVariant (); + tl::Variant var; + cls->to_variant (to_user (), var); + return var.to_qvariant (); } } default: diff --git a/src/tl/tl/tlVariant.h b/src/tl/tl/tlVariant.h index f621d4f73..14a388dea 100644 --- a/src/tl/tl/tlVariant.h +++ b/src/tl/tl/tlVariant.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,6 +53,7 @@ namespace gsi namespace tl { +class Variant; class Extractor; class EvalClass; template void extractor_impl (tl::Extractor &, T &); @@ -76,6 +77,9 @@ public: virtual bool less (const void *, const void *) const = 0; virtual void *clone (const void *) const = 0; virtual std::string to_string (const void *) const = 0; + virtual int to_int (const void *) const = 0; + virtual double to_double (const void *) const = 0; + virtual void to_variant (const void *, tl::Variant &var) const = 0; virtual void read (void *, tl::Extractor &ex) const = 0; virtual const char *name () const = 0; virtual bool is_const () const = 0; diff --git a/src/tl/tl/tlVariantUserClasses.h b/src/tl/tl/tlVariantUserClasses.h index 64df20b71..db27a852c 100644 --- a/src/tl/tl/tlVariantUserClasses.h +++ b/src/tl/tl/tlVariantUserClasses.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,6 +119,57 @@ struct _var_user_to_string_impl static std::string call (const T *) { tl_assert (false); } }; +/** + * @brief A helper function to implement equal as efficiently as possible + */ +template struct _var_user_to_int_impl; + +template +struct _var_user_to_int_impl +{ + static int call (const T *a) { return a->to_int (); } +}; + +template +struct _var_user_to_int_impl +{ + static int call (const T *) { tl_assert (false); } +}; + +/** + * @brief A helper function to implement equal as efficiently as possible + */ +template struct _var_user_to_double_impl; + +template +struct _var_user_to_double_impl +{ + static double call (const T *a) { return a->to_double (); } +}; + +template +struct _var_user_to_double_impl +{ + static double call (const T *) { tl_assert (false); } +}; + +/** + * @brief A helper function to implement equal as efficiently as possible + */ +template struct _var_user_to_variant_impl; + +template +struct _var_user_to_variant_impl +{ + static tl::Variant call (const T *a) { return a->to_variant (); } +}; + +template +struct _var_user_to_variant_impl +{ + static tl::Variant call (const T *) { tl_assert (false); } +}; + /** * @brief A utility implementation of tl::VariantUserClass using type traits for the implementation */ @@ -162,7 +213,22 @@ public: return _var_user_to_string_impl::value>::call ((const T *) a); } - virtual void read (void *a, tl::Extractor &ex) const + virtual int to_int (const void *a) const + { + return _var_user_to_int_impl::value>::call ((const T *) a); + } + + virtual double to_double (const void *a) const + { + return _var_user_to_double_impl::value>::call ((const T *) a); + } + + virtual void to_variant (const void *a, tl::Variant &v) const + { + v = _var_user_to_variant_impl::value>::call ((const T *) a); + } + + virtual void read (void *a, tl::Extractor &ex) const { ex.read (*(T *)a); } diff --git a/src/tl/tl/tlVector.cc b/src/tl/tl/tlVector.cc index aa0c4631d..a78a81bc2 100644 --- a/src/tl/tl/tlVector.cc +++ b/src/tl/tl/tlVector.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlVector.h b/src/tl/tl/tlVector.h index c8e71be23..f176d5534 100644 --- a/src/tl/tl/tlVector.h +++ b/src/tl/tl/tlVector.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlWebDAV.cc b/src/tl/tl/tlWebDAV.cc index 31c222a98..be768f14c 100644 --- a/src/tl/tl/tlWebDAV.cc +++ b/src/tl/tl/tlWebDAV.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -148,11 +148,13 @@ static std::string item_name (const std::string &path1, const std::string &path2 } void -WebDAVObject::read (const std::string &url, int depth) +WebDAVObject::read (const std::string &url, int depth, double timeout, tl::InputHttpStreamCallback *callback) { tl::URI base_uri (url); tl::InputHttpStream http (url); + http.set_timeout (timeout); + http.set_callback (callback); http.add_header ("User-Agent", "SVN"); http.add_header ("Depth", tl::to_string (depth)); http.set_request ("PROPFIND"); @@ -202,12 +204,12 @@ struct DownloadItem } static -void fetch_download_items (const std::string &url, const std::string &target, std::list &items, tl::AbsoluteProgress &progress) +void fetch_download_items (const std::string &url, const std::string &target, std::list &items, tl::AbsoluteProgress &progress, double timeout, tl::InputHttpStreamCallback *callback) { ++progress; WebDAVObject object; - object.read (url, 1); + object.read (url, 1, timeout, callback); if (object.is_collection ()) { @@ -231,7 +233,7 @@ void fetch_download_items (const std::string &url, const std::string &target, st throw tl::Exception (tl::to_string (tr ("Download failed: unable to create subdirectory '%s' in '%s' - no write permissions")), i->name (), target); } - fetch_download_items (i->url (), item_path, items, progress); + fetch_download_items (i->url (), item_path, items, progress, timeout, callback); } else { @@ -250,16 +252,18 @@ void fetch_download_items (const std::string &url, const std::string &target, st } tl::InputStream * -WebDAVObject::download_item (const std::string &url) +WebDAVObject::download_item (const std::string &url, double timeout, tl::InputHttpStreamCallback *callback) { tl::InputHttpStream *http = new tl::InputHttpStream (url); + http->set_timeout (timeout); + http->set_callback (callback); // This trick allows accessing GitHub repos through their SVN API http->add_header ("User-Agent", "SVN"); return new tl::InputStream (http); } bool -WebDAVObject::download (const std::string &url, const std::string &target) +WebDAVObject::download (const std::string &url, const std::string &target, double timeout, tl::InputHttpStreamCallback *callback) { std::list items; @@ -267,7 +271,7 @@ WebDAVObject::download (const std::string &url, const std::string &target) tl::info << tr ("Fetching file structure from ") << url; tl::AbsoluteProgress progress (tl::sprintf (tl::to_string (tr ("Fetching directory structure from %s")), url)); - fetch_download_items (url, target, items, progress); + fetch_download_items (url, target, items, progress, timeout, callback); } catch (tl::Exception &ex) { tl::error << tr ("Error downloading file structure from '") << url << "':" << tl::endl << ex.msg (); @@ -288,16 +292,24 @@ WebDAVObject::download (const std::string &url, const std::string &target) try { tl::OutputStream os (i->path); - std::unique_ptr is (download_item (i->url)); + std::unique_ptr is (download_item (i->url, timeout, callback)); is->copy_to (os); + ++progress; + + } catch (tl::BreakException &ex) { + tl::info << tr ("Download was cancelled") << tl::endl << ex.msg (); + has_errors = true; + break; + } catch (tl::CancelException &ex) { + tl::info << tr ("Download was cancelled") << tl::endl << ex.msg (); + has_errors = true; + break; } catch (tl::Exception &ex) { tl::error << tr ("Error downloading file from '") << i->url << "':" << tl::endl << ex.msg (); has_errors = true; } - ++progress; - } } diff --git a/src/tl/tl/tlWebDAV.h b/src/tl/tl/tlWebDAV.h index e845ce6c9..380a6e325 100644 --- a/src/tl/tl/tlWebDAV.h +++ b/src/tl/tl/tlWebDAV.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,6 +33,8 @@ namespace tl { +class InputHttpStreamCallback; + /** * @brief Represents an item in a WebDAV collection */ @@ -109,7 +111,7 @@ public: * @brief Populates the collection from the given URL * The depth value can be 0 (self only) or 1 (self + collection members). */ - void read (const std::string &url, int depth); + void read (const std::string &url, int depth, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); /** * @brief Gets the items of this collection (begin iterator) @@ -142,14 +144,14 @@ public: * This method throws an exception if the directory structure could * not be obtained or downloading of one file failed. */ - static bool download (const std::string &url, const std::string &target); + static bool download (const std::string &url, const std::string &target, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); /** * @brief Gets a stream object for downloading the single item of the given URL * * The stream object returned needs to be deleted by the caller. */ - static tl::InputStream *download_item (const std::string &url); + static tl::InputStream *download_item (const std::string &url, double timeout = 60.0, tl::InputHttpStreamCallback *callback = 0); private: container m_items; diff --git a/src/tl/tl/tlXMLParser.cc b/src/tl/tl/tlXMLParser.cc index 43c29dcd6..5ec355b76 100644 --- a/src/tl/tl/tlXMLParser.cc +++ b/src/tl/tl/tlXMLParser.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlXMLParser.h b/src/tl/tl/tlXMLParser.h index 9a3c5bea5..803ad1d09 100644 --- a/src/tl/tl/tlXMLParser.h +++ b/src/tl/tl/tlXMLParser.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlXMLWriter.cc b/src/tl/tl/tlXMLWriter.cc index 525d3cf6a..c26bcb82d 100644 --- a/src/tl/tl/tlXMLWriter.cc +++ b/src/tl/tl/tlXMLWriter.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/tl/tlXMLWriter.h b/src/tl/tl/tlXMLWriter.h index 8a2189c30..4821c80b1 100644 --- a/src/tl/tl/tlXMLWriter.h +++ b/src/tl/tl/tlXMLWriter.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlAlgorithmTests.cc b/src/tl/unit_tests/tlAlgorithmTests.cc index 28665d6f3..498fad0b2 100644 --- a/src/tl/unit_tests/tlAlgorithmTests.cc +++ b/src/tl/unit_tests/tlAlgorithmTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlClassRegistryTests.cc b/src/tl/unit_tests/tlClassRegistryTests.cc index 8c0dabee6..5560cfd06 100644 --- a/src/tl/unit_tests/tlClassRegistryTests.cc +++ b/src/tl/unit_tests/tlClassRegistryTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlCommandLineParserTests.cc b/src/tl/unit_tests/tlCommandLineParserTests.cc index 00d031372..b8ee08c64 100644 --- a/src/tl/unit_tests/tlCommandLineParserTests.cc +++ b/src/tl/unit_tests/tlCommandLineParserTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlCopyOnWriteTests.cc b/src/tl/unit_tests/tlCopyOnWriteTests.cc index 1a975a435..4c642d2c3 100644 --- a/src/tl/unit_tests/tlCopyOnWriteTests.cc +++ b/src/tl/unit_tests/tlCopyOnWriteTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlDataMappingTests.cc b/src/tl/unit_tests/tlDataMappingTests.cc index 934af8b81..dace058a2 100644 --- a/src/tl/unit_tests/tlDataMappingTests.cc +++ b/src/tl/unit_tests/tlDataMappingTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlDeferredExecutionTests.cc b/src/tl/unit_tests/tlDeferredExecutionTests.cc index e690e7470..d71505159 100644 --- a/src/tl/unit_tests/tlDeferredExecutionTests.cc +++ b/src/tl/unit_tests/tlDeferredExecutionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlDeflateTests.cc b/src/tl/unit_tests/tlDeflateTests.cc index f65e911d0..f7be73257 100644 --- a/src/tl/unit_tests/tlDeflateTests.cc +++ b/src/tl/unit_tests/tlDeflateTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlEquivalenceClustersTests.cc b/src/tl/unit_tests/tlEquivalenceClustersTests.cc index 5574402d2..84bd2430d 100644 --- a/src/tl/unit_tests/tlEquivalenceClustersTests.cc +++ b/src/tl/unit_tests/tlEquivalenceClustersTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlEventsTests.cc b/src/tl/unit_tests/tlEventsTests.cc index 1aa48ff21..b71806898 100644 --- a/src/tl/unit_tests/tlEventsTests.cc +++ b/src/tl/unit_tests/tlEventsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlExpressionTests.cc b/src/tl/unit_tests/tlExpressionTests.cc index 4c05fa444..b25c54c44 100644 --- a/src/tl/unit_tests/tlExpressionTests.cc +++ b/src/tl/unit_tests/tlExpressionTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -454,6 +454,9 @@ public: virtual void *clone (const void *) const { tl_assert (false); } virtual void assign (void *, const void *) const { tl_assert (false); } virtual std::string to_string (const void *) const { tl_assert (false); } + virtual int to_int (const void *) const { tl_assert (false); } + virtual double to_double (const void *) const { tl_assert (false); } + virtual void to_variant (const void *, tl::Variant &) const { tl_assert (false); } virtual void read (void *, tl::Extractor &) const { } virtual const char *name () const { return "Box"; } virtual unsigned int type_code () const { return 0; } @@ -519,6 +522,9 @@ public: virtual void *clone (const void *) const { tl_assert (false); } virtual void assign (void *, const void *) const { tl_assert (false); } virtual std::string to_string (const void *) const { tl_assert (false); } + virtual int to_int (const void *) const { tl_assert (false); } + virtual double to_double (const void *) const { tl_assert (false); } + virtual void to_variant (const void *, tl::Variant &) const { tl_assert (false); } virtual void read (void *, tl::Extractor &) const { } virtual const char *name () const { return "Edge"; } virtual unsigned int type_code () const { return 0; } diff --git a/src/tl/unit_tests/tlFileSystemWatcherTests.cc b/src/tl/unit_tests/tlFileSystemWatcherTests.cc index d7229bbc8..fda2a0157 100644 --- a/src/tl/unit_tests/tlFileSystemWatcherTests.cc +++ b/src/tl/unit_tests/tlFileSystemWatcherTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlFileUtilsTests.cc b/src/tl/unit_tests/tlFileUtilsTests.cc index b77b7968e..fbab08e48 100644 --- a/src/tl/unit_tests/tlFileUtilsTests.cc +++ b/src/tl/unit_tests/tlFileUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlGlobPatternTests.cc b/src/tl/unit_tests/tlGlobPatternTests.cc index 0fd5b1b97..259620ec2 100644 --- a/src/tl/unit_tests/tlGlobPatternTests.cc +++ b/src/tl/unit_tests/tlGlobPatternTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlHttpStreamTests.cc b/src/tl/unit_tests/tlHttpStreamTests.cc index 59888b161..42a8b180d 100644 --- a/src/tl/unit_tests/tlHttpStreamTests.cc +++ b/src/tl/unit_tests/tlHttpStreamTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlIncludeTests.cc b/src/tl/unit_tests/tlIncludeTests.cc index da681c43e..6aef53579 100644 --- a/src/tl/unit_tests/tlIncludeTests.cc +++ b/src/tl/unit_tests/tlIncludeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,7 +28,8 @@ static std::string np (const std::string &s) { - return tl::replaced (s, "\\", "/"); + std::string t = tl::replaced (s, "\\\\", "/"); + return tl::replaced (t, "\\", "/"); } TEST(1_simple) @@ -108,3 +109,31 @@ TEST(4_multi_include_interpolate) EXPECT_EQ (ie.translate_to_original (6).second, 3); } +TEST(5_issue946) +{ + std::string fn = tl::testdata () + "/tl/x_inc4.txt"; + + std::string et; + tl::IncludeExpander ie = tl::IncludeExpander::expand (fn, tl::InputStream (fn).read_all (), et); + EXPECT_EQ (et, "A line\nincluded.4\nAnother line\n"); + + EXPECT_EQ (np (ie.to_string ()), np ("@1*" + tl::testdata () + "/tl/x_inc4.txt*0;2*'" + tl::testdata () + "/tl/inc 4.txt'*-1;3*" + tl::testdata () + "/tl/x_inc4.txt*0;")); + EXPECT_EQ (tl::IncludeExpander::from_string (ie.to_string ()).to_string (), ie.to_string ()); + + EXPECT_EQ (ie.translate_to_original (1).first, fn); + EXPECT_EQ (ie.translate_to_original (1).second, 1); + EXPECT_EQ (np (ie.translate_to_original (2).first), np (tl::testdata () + "/tl/inc 4.txt")); + EXPECT_EQ (ie.translate_to_original (2).second, 1); + EXPECT_EQ (ie.translate_to_original (3).first, fn); + EXPECT_EQ (ie.translate_to_original (3).second, 3); + + fn = tl::testdata () + "/tl/inc 4.txt"; + + et.clear (); + ie = tl::IncludeExpander::expand (fn, tl::InputStream (fn).read_all (), et); + EXPECT_EQ (et, "included.4\n"); + + // no quotes here so this string can be used as the original file name if there is no include + EXPECT_EQ (np (ie.to_string ()), np (tl::testdata () + "/tl/inc 4.txt")); +} + diff --git a/src/tl/unit_tests/tlInt128SupportTests.cc b/src/tl/unit_tests/tlInt128SupportTests.cc index b11e7ffb2..fe69c99f0 100644 --- a/src/tl/unit_tests/tlInt128SupportTests.cc +++ b/src/tl/unit_tests/tlInt128SupportTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlIntervalMapTests.cc b/src/tl/unit_tests/tlIntervalMapTests.cc index d2694e5e1..7d675d251 100644 --- a/src/tl/unit_tests/tlIntervalMapTests.cc +++ b/src/tl/unit_tests/tlIntervalMapTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlIntervalSetTests.cc b/src/tl/unit_tests/tlIntervalSetTests.cc index 61ec90f64..a827c020b 100644 --- a/src/tl/unit_tests/tlIntervalSetTests.cc +++ b/src/tl/unit_tests/tlIntervalSetTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlKDTreeTests.cc b/src/tl/unit_tests/tlKDTreeTests.cc index 25edd0d3c..114ffa9d5 100644 --- a/src/tl/unit_tests/tlKDTreeTests.cc +++ b/src/tl/unit_tests/tlKDTreeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlListTests.cc b/src/tl/unit_tests/tlListTests.cc index 3e9ca3ba1..332a71c51 100644 --- a/src/tl/unit_tests/tlListTests.cc +++ b/src/tl/unit_tests/tlListTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlLongIntTests.cc b/src/tl/unit_tests/tlLongIntTests.cc index 23bb0c130..8f1f5433c 100644 --- a/src/tl/unit_tests/tlLongIntTests.cc +++ b/src/tl/unit_tests/tlLongIntTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlMathTests.cc b/src/tl/unit_tests/tlMathTests.cc index acf170114..3ba1249ed 100644 --- a/src/tl/unit_tests/tlMathTests.cc +++ b/src/tl/unit_tests/tlMathTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlObjectTests.cc b/src/tl/unit_tests/tlObjectTests.cc index c37e1825f..5aae67b30 100644 --- a/src/tl/unit_tests/tlObjectTests.cc +++ b/src/tl/unit_tests/tlObjectTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -74,12 +74,29 @@ TEST(1) EXPECT_EQ (sp0.get () == o, true); EXPECT_EQ (sp0 ? 1 : 0, 1); + // installing the same pointer does not change anything + sp0.reset (sp.get ()); + EXPECT_EQ (MyClass::instances (), 1); + EXPECT_EQ (sp0.get () == o, true); + EXPECT_EQ (sp.get () == o, true); + delete o; o = 0; EXPECT_EQ (sp.get () == 0, true); EXPECT_EQ (sp ? 1 : 0, 0); EXPECT_EQ (sp0.get () == 0, true); EXPECT_EQ (sp0 ? 1 : 0, 0); + EXPECT_EQ (MyClass::instances (), 0); + + MyClass *oo = new MyClass (); + sp.reset (oo); + EXPECT_EQ (MyClass::instances (), 1); + EXPECT_EQ (sp.get () == oo, true); + // resetting again does not change anything + sp.reset (oo); + EXPECT_EQ (MyClass::instances (), 1); + EXPECT_EQ (sp.get () == oo, true); + } EXPECT_EQ (MyClass::instances (), 0); diff --git a/src/tl/unit_tests/tlRecipeTests.cc b/src/tl/unit_tests/tlRecipeTests.cc index 8a555b9ee..010f5fad5 100644 --- a/src/tl/unit_tests/tlRecipeTests.cc +++ b/src/tl/unit_tests/tlRecipeTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlReuseVectorTests.cc b/src/tl/unit_tests/tlReuseVectorTests.cc index 88bc45062..c45fcabcc 100644 --- a/src/tl/unit_tests/tlReuseVectorTests.cc +++ b/src/tl/unit_tests/tlReuseVectorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlStableVectorTests.cc b/src/tl/unit_tests/tlStableVectorTests.cc index 8d078fcae..f27ed61d3 100644 --- a/src/tl/unit_tests/tlStableVectorTests.cc +++ b/src/tl/unit_tests/tlStableVectorTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlStreamTests.cc b/src/tl/unit_tests/tlStreamTests.cc index daad877f7..236f7a72f 100644 --- a/src/tl/unit_tests/tlStreamTests.cc +++ b/src/tl/unit_tests/tlStreamTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -260,6 +260,48 @@ TEST(SafeOutput) } } +TEST(SafeOutput2) +{ + std::string cd = tl::current_dir (); + tl_assert (tl::chdir (tmp_file ("."))); + + try { + + std::string tmp_path = "x"; + tl::rm_dir_recursive (tmp_path); + tl::mkpath (tmp_path); + std::string tp = tl::combine_path (tmp_path, "y"); + + { + tl::OutputStream os (tp); + os << "blabla\n"; + } + + EXPECT_EQ (tl::file_exists (tp + ".~backup"), false); + EXPECT_EQ (tl::file_exists (tp), true); + + { + tl::OutputStream os (tp); + EXPECT_EQ (tl::file_exists (tp + ".~backup"), true); + EXPECT_EQ (tl::file_exists (tp), true); + os << "Hello, world!\n"; + } + + EXPECT_EQ (tl::file_exists (tp + ".~backup"), false); + EXPECT_EQ (tl::file_exists (tp), true); + + { + tl::InputStream is (tp); + EXPECT_EQ (is.read_all (), "Hello, world!\n"); + } + + tl::chdir (cd); + + } catch (...) { + tl::chdir (cd); + throw; + } +} TEST(Backups) { diff --git a/src/tl/unit_tests/tlStringTests.cc b/src/tl/unit_tests/tlStringTests.cc index d1724a558..eeabd965c 100644 --- a/src/tl/unit_tests/tlStringTests.cc +++ b/src/tl/unit_tests/tlStringTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -84,13 +84,16 @@ TEST(1a) from_string("-15.000E+1", d); EXPECT_EQ (to_string(d), "-150"); - from_string("25400/25.4", d); + from_string_ext("-15.000E+1", d); + EXPECT_EQ (to_string(d), "-150"); + + from_string_ext("25400/25.4", d); EXPECT_EQ (to_string(d), "1000"); - from_string("25400/(25+0.4)", d); + from_string_ext("25400/(25+0.4)", d); EXPECT_EQ (to_string(d), "1000"); - from_string(" 25400 / (25 + 0.4 ) ", d); + from_string_ext(" 25400 / (25 + 0.4 ) ", d); EXPECT_EQ (to_string(d), "1000"); from_string("1E+03", d); @@ -136,6 +139,8 @@ TEST(2) from_string (" 12 ", ul); EXPECT_EQ (ul, (unsigned int) 12); + from_string_ext (" 12 ", ul); + EXPECT_EQ (ul, (unsigned int) 12); error = false; try { from_string ("a", ul); } catch (...) { error = true; } EXPECT_EQ (error, true); @@ -145,12 +150,16 @@ TEST(2) from_string (" 12 ", l); EXPECT_EQ (l, 12); + from_string_ext (" 12 ", l); + EXPECT_EQ (l, 12); error = false; try { from_string ("a", l); } catch (...) { error = true; } EXPECT_EQ (error, true); from_string (" 12 ", ui); EXPECT_EQ (ui, (unsigned int) 12); + from_string_ext (" 12 ", ui); + EXPECT_EQ (ui, (unsigned int) 12); error = false; try { from_string ("a", ui); } catch (...) { error = true; } EXPECT_EQ (error, true); @@ -160,6 +169,8 @@ TEST(2) from_string (" 12 ", i); EXPECT_EQ (i, 12); + from_string_ext (" 12 ", i); + EXPECT_EQ (i, 12); error = false; try { from_string ("a", i); } catch (...) { error = true; } EXPECT_EQ (error, true); diff --git a/src/tl/unit_tests/tlThreadedWorkersTests.cc b/src/tl/unit_tests/tlThreadedWorkersTests.cc index f1fa5d646..0adda8627 100644 --- a/src/tl/unit_tests/tlThreadedWorkersTests.cc +++ b/src/tl/unit_tests/tlThreadedWorkersTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlThreadsTests.cc b/src/tl/unit_tests/tlThreadsTests.cc index 50e0d0f00..c5a65d4a5 100644 --- a/src/tl/unit_tests/tlThreadsTests.cc +++ b/src/tl/unit_tests/tlThreadsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlUniqueIdTests.cc b/src/tl/unit_tests/tlUniqueIdTests.cc index 1744bf483..cbc7f59c2 100644 --- a/src/tl/unit_tests/tlUniqueIdTests.cc +++ b/src/tl/unit_tests/tlUniqueIdTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlUniqueNameTests.cc b/src/tl/unit_tests/tlUniqueNameTests.cc index 2cb4abd9d..b0178fd17 100644 --- a/src/tl/unit_tests/tlUniqueNameTests.cc +++ b/src/tl/unit_tests/tlUniqueNameTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlUriTests.cc b/src/tl/unit_tests/tlUriTests.cc index a5f7c9cbf..1adf812c5 100644 --- a/src/tl/unit_tests/tlUriTests.cc +++ b/src/tl/unit_tests/tlUriTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlUtilsTests.cc b/src/tl/unit_tests/tlUtilsTests.cc index 4122dfd28..4b09ec0c3 100644 --- a/src/tl/unit_tests/tlUtilsTests.cc +++ b/src/tl/unit_tests/tlUtilsTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlVariantTests.cc b/src/tl/unit_tests/tlVariantTests.cc index 9f2ca66ba..3ed6c2707 100644 --- a/src/tl/unit_tests/tlVariantTests.cc +++ b/src/tl/unit_tests/tlVariantTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlWebDAVTests.cc b/src/tl/unit_tests/tlWebDAVTests.cc index 1851b42b2..6e7346030 100644 --- a/src/tl/unit_tests/tlWebDAVTests.cc +++ b/src/tl/unit_tests/tlWebDAVTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/tl/unit_tests/tlXMLParserTests.cc b/src/tl/unit_tests/tlXMLParserTests.cc index 1f6a23a99..1dc08a1ea 100644 --- a/src/tl/unit_tests/tlXMLParserTests.cc +++ b/src/tl/unit_tests/tlXMLParserTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -220,10 +220,10 @@ TEST (6) } #if !defined (HAVE_EXPAT) - EXPECT_EQ (error, "XML parser error: Expected end of text at position 1 (..a) in line 2, column 27"); + EXPECT_EQ (error, "XML parser error: Unexpected text after numeric value: '...a' in line 2, column 27"); #else // expat delivers cdata at beginning of closing tag - EXPECT_EQ (error, "XML parser error: Expected end of text at position 1 (..a) in line 2, column 18"); + EXPECT_EQ (error, "XML parser error: Unexpected text after numeric value: '...a' in line 2, column 18"); #endif } diff --git a/src/unit_tests/unit_test_main.cc b/src/unit_tests/unit_test_main.cc index 51b675222..9000037d9 100644 --- a/src/unit_tests/unit_test_main.cc +++ b/src/unit_tests/unit_test_main.cc @@ -3,7 +3,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/unit_tests/utTestConsole.cc b/src/unit_tests/utTestConsole.cc index da19a5e60..8076b3752 100644 --- a/src/unit_tests/utTestConsole.cc +++ b/src/unit_tests/utTestConsole.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/unit_tests/utTestConsole.h b/src/unit_tests/utTestConsole.h index 9ccd40902..1b6c23bb0 100644 --- a/src/unit_tests/utTestConsole.h +++ b/src/unit_tests/utTestConsole.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/version/version.h b/src/version/version.h index df4f7eb24..1c5791a09 100644 --- a/src/version/version.h +++ b/src/version/version.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,7 +52,7 @@ const char *prg_about_text = "For feedback and bug reports mail to: contact@klayout.de\n" "\n" "\n" - "Copyright (C) 2006-2021 Matthias K\303\266fferlein\n" + "Copyright (C) 2006-2022 Matthias K\303\266fferlein\n" "\n" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" diff --git a/testdata/algo/device_extract_issue954.gds b/testdata/algo/device_extract_issue954.gds new file mode 100644 index 000000000..87bd79626 Binary files /dev/null and b/testdata/algo/device_extract_issue954.gds differ diff --git a/testdata/algo/device_extract_issue954_au.gds b/testdata/algo/device_extract_issue954_au.gds new file mode 100644 index 000000000..5a7bdc610 Binary files /dev/null and b/testdata/algo/device_extract_issue954_au.gds differ diff --git a/testdata/algo/l2n_writer_au_2b.txt b/testdata/algo/l2n_writer_au_2b.txt index ac5c60d66..d0986d5a1 100644 --- a/testdata/algo/l2n_writer_au_2b.txt +++ b/testdata/algo/l2n_writer_au_2b.txt @@ -123,8 +123,8 @@ circuit(INV2 rect(poly (-1425 -630) (1300 360)) rect(poly (-125 -2780) (250 1600)) rect(poly (-250 1200) (250 1600)) - rect(poly_lbl (-526 -1801) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -1800) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 rect(poly (275 -250) (250 2500)) @@ -151,8 +151,8 @@ circuit(INV2 polygon(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960)) rect(metal1 (-680 2400) (360 760)) rect(metal1 (-360 -3560) (360 760)) - rect(metal1_lbl (-181 1419) (2 2)) - rect(psd (-276 524) (525 950)) + rect(metal1_lbl (-180 1420) (0 0)) + rect(psd (-275 525) (525 950)) rect(nsd (-525 -3750) (525 950)) ) net(5 name(VSS) @@ -165,8 +165,8 @@ circuit(INV2 rect(via1 (-305 -705) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 900)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -386) (550 950)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -385) (550 950)) ) net(6 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -178,8 +178,8 @@ circuit(INV2 rect(via1 (-305 -705) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 900)) - rect(metal2_lbl (-151 -451) (2 2)) - rect(psd (-1526 -476) (550 950)) + rect(metal2_lbl (-150 -450) (0 0)) + rect(psd (-1525 -475) (550 950)) ) net(7 name(BULK) rect(diff_cont (-110 -1360) (220 220)) @@ -307,12 +307,12 @@ circuit(RINGO rect(via1 (-305 -305) (250 250)) rect(via1 (24230 -250) (250 250)) rect(metal2 (-24805 -325) (24880 400)) - rect(metal2_lbl (-23161 -201) (2 2)) + rect(metal2_lbl (-23160 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3100) (360 1120)) @@ -325,7 +325,7 @@ circuit(RINGO rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -1421) (2 2)) + rect(metal2_lbl (-23940 -1420) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -1420) (360 1120)) @@ -338,7 +338,7 @@ circuit(RINGO rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 299) (2 2)) + rect(metal2_lbl (-23940 300) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/l2n_writer_au_2s.txt b/testdata/algo/l2n_writer_au_2s.txt index fd1c17892..e221c3892 100644 --- a/testdata/algo/l2n_writer_au_2s.txt +++ b/testdata/algo/l2n_writer_au_2s.txt @@ -102,8 +102,8 @@ X(INV2 R(poly (-1425 -630) (1300 360)) R(poly (-125 -2780) (250 1600)) R(poly (-250 1200) (250 1600)) - R(poly_lbl (-526 -1801) (2 2)) - R(poly_cont (-831 -111) (220 220)) + R(poly_lbl (-525 -1800) (0 0)) + R(poly_cont (-830 -110) (220 220)) ) N(3 R(poly (275 -250) (250 2500)) @@ -130,8 +130,8 @@ X(INV2 Q(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960)) R(metal1 (-680 2400) (360 760)) R(metal1 (-360 -3560) (360 760)) - R(metal1_lbl (-181 1419) (2 2)) - R(psd (-276 524) (525 950)) + R(metal1_lbl (-180 1420) (0 0)) + R(psd (-275 525) (525 950)) R(nsd (-525 -3750) (525 950)) ) N(5 I(VSS) @@ -144,8 +144,8 @@ X(INV2 R(via1 (-305 -705) (250 250)) R(via1 (-250 150) (250 250)) R(metal2 (-1525 -775) (2800 900)) - R(metal2_lbl (-161 -541) (2 2)) - R(nsd (-1516 -386) (550 950)) + R(metal2_lbl (-160 -540) (0 0)) + R(nsd (-1515 -385) (550 950)) ) N(6 I(VDD) R(diff_cont (-110 2490) (220 220)) @@ -157,8 +157,8 @@ X(INV2 R(via1 (-305 -705) (250 250)) R(via1 (-250 150) (250 250)) R(metal2 (-1525 -775) (2800 900)) - R(metal2_lbl (-151 -451) (2 2)) - R(psd (-1526 -476) (550 950)) + R(metal2_lbl (-150 -450) (0 0)) + R(psd (-1525 -475) (550 950)) ) N(7 I(BULK) R(diff_cont (-110 -1360) (220 220)) @@ -268,12 +268,12 @@ X(RINGO R(via1 (-305 -305) (250 250)) R(via1 (24230 -250) (250 250)) R(metal2 (-24805 -325) (24880 400)) - R(metal2_lbl (-23161 -201) (2 2)) + R(metal2_lbl (-23160 -200) (0 0)) ) N(2 I(OSC) R(via1 (24435 1675) (250 250)) R(metal2 (-325 -325) (400 400)) - R(metal2_lbl (-201 -201) (2 2)) + R(metal2_lbl (-200 -200) (0 0)) ) N(3 I(VDD) R(metal1 (-180 3100) (360 1120)) @@ -286,7 +286,7 @@ X(RINGO R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) - R(metal2_lbl (-23941 -1421) (2 2)) + R(metal2_lbl (-23940 -1420) (0 0)) ) N(4 I(VSS) R(metal1 (-180 -1420) (360 1120)) @@ -299,7 +299,7 @@ X(RINGO R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) - R(metal2_lbl (-23941 299) (2 2)) + R(metal2_lbl (-23940 300) (0 0)) ) N(5) N(6) diff --git a/testdata/algo/layout_utils_au_sns4.oas b/testdata/algo/layout_utils_au_sns4.oas new file mode 100644 index 000000000..3213ccba4 Binary files /dev/null and b/testdata/algo/layout_utils_au_sns4.oas differ diff --git a/testdata/algo/lvs_test1_au.lvsdb.1 b/testdata/algo/lvs_test1_au.lvsdb.1 index a73ab07a0..5a39ce9f2 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.1 +++ b/testdata/algo/lvs_test1_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1_au.lvsdb.2 b/testdata/algo/lvs_test1_au.lvsdb.2 index 20133d556..20cf60f64 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.2 +++ b/testdata/algo/lvs_test1_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1b_au.lvsdb.1 b/testdata/algo/lvs_test1b_au.lvsdb.1 index 3b206b741..677076a96 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.1 +++ b/testdata/algo/lvs_test1b_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1b_au.lvsdb.2 b/testdata/algo/lvs_test1b_au.lvsdb.2 index 455337d3b..a842f1785 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.2 +++ b/testdata/algo/lvs_test1b_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2_au.lvsdb.1 b/testdata/algo/lvs_test2_au.lvsdb.1 index cecb9d910..eb088d4cf 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.1 +++ b/testdata/algo/lvs_test2_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2_au.lvsdb.2 b/testdata/algo/lvs_test2_au.lvsdb.2 index 0ce0bf4d9..0d7635d17 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.2 +++ b/testdata/algo/lvs_test2_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2b_au.lvsdb.1 b/testdata/algo/lvs_test2b_au.lvsdb.1 index 47263e0e2..fd107f1b9 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.1 +++ b/testdata/algo/lvs_test2b_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2b_au.lvsdb.2 b/testdata/algo/lvs_test2b_au.lvsdb.2 index cbe6175f5..29b9a4b7c 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.2 +++ b/testdata/algo/lvs_test2b_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvsdb_read_test.lvsdb b/testdata/algo/lvsdb_read_test.lvsdb index 58faa611b..dd2512b13 100644 --- a/testdata/algo/lvsdb_read_test.lvsdb +++ b/testdata/algo/lvsdb_read_test.lvsdb @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -405,7 +405,7 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(diff_cont (22850 90) (220 220)) @@ -426,7 +426,7 @@ layout( rect(diff_cont (-220 180) (220 220)) rect(via1 (1365 -2235) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(diff_cont (7810 2490) (220 220)) @@ -539,7 +539,7 @@ layout( rect(metal1 (-360 -1560) (360 1560)) rect(metal1 (-3000 -1560) (360 1560)) rect(metal1 (-360 -1560) (360 1560)) - rect(metal2_lbl (-21301 -1181) (2 2)) + rect(metal2_lbl (-21300 -1180) (0 0)) ) net(4 name(VSS) rect(diff_cont (7810 90) (220 220)) @@ -652,7 +652,7 @@ layout( rect(metal1 (-360 -1560) (360 1560)) rect(metal1 (-3000 -1560) (360 1560)) rect(metal1 (-360 -1560) (360 1560)) - rect(metal2_lbl (-21301 -381) (2 2)) + rect(metal2_lbl (-21300 -380) (0 0)) ) net(5 rect(diff_cont (1730 90) (220 220)) diff --git a/testdata/algo/lvsdb_read_test2.lvsdb b/testdata/algo/lvsdb_read_test2.lvsdb index e1a8825f8..5192ffaba 100644 --- a/testdata/algo/lvsdb_read_test2.lvsdb +++ b/testdata/algo/lvsdb_read_test2.lvsdb @@ -129,8 +129,8 @@ layout( rect(poly (550 1200) (250 2400)) rect(poly (-250 -6000) (250 2400)) rect(poly (-1050 1200) (250 2400)) - rect(poly_lbl (-526 -2601) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( rect(metal1 (1240 2040) (360 1560)) rect(metal1 (-360 -5160) (360 1560)) rect(metal1 (-1960 2040) (360 1560)) - rect(metal1_lbl (1419 -2181) (2 2)) - rect(psd (-276 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( rect(via1 (-250 -1450) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 1700)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -1186) (550 1750)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( rect(via1 (-250 150) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -1575) (2800 1700)) - rect(metal2_lbl (-151 -1251) (2 2)) - rect(psd (-1526 -476) (550 1750)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -405,7 +405,7 @@ layout( rect(via1 (-305 -305) (250 250)) rect(via1 (23190 -250) (250 250)) rect(metal2 (-23765 -325) (23840 400)) - rect(metal2_lbl (-22121 -201) (2 2)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(diff_cont (22850 90) (220 220)) @@ -426,7 +426,7 @@ layout( rect(diff_cont (-220 180) (220 220)) rect(via1 (1365 -2235) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(diff_cont (7810 2490) (220 220)) @@ -539,7 +539,7 @@ layout( rect(metal1 (-360 -1560) (360 1560)) rect(metal1 (-3000 -1560) (360 1560)) rect(metal1 (-360 -1560) (360 1560)) - rect(metal2_lbl (-21301 -1181) (2 2)) + rect(metal2_lbl (-21300 -1180) (0 0)) ) net(4 name(VSS) rect(diff_cont (7810 90) (220 220)) @@ -652,7 +652,7 @@ layout( rect(metal1 (-360 -1560) (360 1560)) rect(metal1 (-3000 -1560) (360 1560)) rect(metal1 (-360 -1560) (360 1560)) - rect(metal2_lbl (-21301 -381) (2 2)) + rect(metal2_lbl (-21300 -380) (0 0)) ) net(5 rect(diff_cont (1730 90) (220 220)) diff --git a/testdata/algo/scale_and_snap4.oas b/testdata/algo/scale_and_snap4.oas new file mode 100644 index 000000000..a92021ed5 Binary files /dev/null and b/testdata/algo/scale_and_snap4.oas differ diff --git a/testdata/bd/strmxor_au3_heal.oas b/testdata/bd/strmxor_au3_heal.oas new file mode 100644 index 000000000..0faf2da27 Binary files /dev/null and b/testdata/bd/strmxor_au3_heal.oas differ diff --git a/testdata/bd/strmxor_au4_heal.oas b/testdata/bd/strmxor_au4_heal.oas new file mode 100644 index 000000000..b6301286e Binary files /dev/null and b/testdata/bd/strmxor_au4_heal.oas differ diff --git a/testdata/buddies/buddies.rb b/testdata/buddies/buddies.rb index 5132ca8bf..7658e6007 100644 --- a/testdata/buddies/buddies.rb +++ b/testdata/buddies/buddies.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/cif/issue_972_au.cif b/testdata/cif/issue_972_au.cif new file mode 100644 index 000000000..9db788b65 --- /dev/null +++ b/testdata/cif/issue_972_au.cif @@ -0,0 +1,15 @@ +(CIF file written 2022-02-12 00:19:54 by KLayout); +DS 1 1 10; +9 bad_cellabc; +L L1D0; +B 10 10 5,5; +L L1D5; +B 20 20 10,10; +L ABC; +B 30 30 15,15; +L ABCN1; +B 40 40 20,20; +L ABCN2; +B 50 50 25,25; +DF; +E diff --git a/testdata/cif/issue_972_au.gds b/testdata/cif/issue_972_au.gds new file mode 100644 index 000000000..1aa839432 Binary files /dev/null and b/testdata/cif/issue_972_au.gds differ diff --git a/testdata/drc/drcGenericTests_1.gds b/testdata/drc/drcGenericTests_1.gds index 18c6261a1..263f094b5 100644 Binary files a/testdata/drc/drcGenericTests_1.gds and b/testdata/drc/drcGenericTests_1.gds differ diff --git a/testdata/drc/drcGenericTests_au1.gds b/testdata/drc/drcGenericTests_au1.gds index 8ffc55a48..ebddcae68 100644 Binary files a/testdata/drc/drcGenericTests_au1.gds and b/testdata/drc/drcGenericTests_au1.gds differ diff --git a/testdata/drc/drcGenericTests_au1d.gds b/testdata/drc/drcGenericTests_au1d.gds index d3eb185b1..b518971d0 100644 Binary files a/testdata/drc/drcGenericTests_au1d.gds and b/testdata/drc/drcGenericTests_au1d.gds differ diff --git a/testdata/drc/drcSimpleTests_54.drc b/testdata/drc/drcSimpleTests_54.drc new file mode 100644 index 000000000..ae26b63fa --- /dev/null +++ b/testdata/drc/drcSimpleTests_54.drc @@ -0,0 +1,18 @@ +source $drc_test_source +target $drc_test_target + +deep + +layer = input(1) +layer.output(1, 0) + +layer.width(0.5.micron).output(100,0) + +t = layer.texts("*", as_boxes) +t.output(101, 0) + +layer2 = labels(1) +layer2.output(102, 0) +t = layer2.texts("*", as_boxes) +t.output(103, 0) + diff --git a/testdata/drc/drcSimpleTests_54.gds b/testdata/drc/drcSimpleTests_54.gds new file mode 100644 index 000000000..5cd83d002 Binary files /dev/null and b/testdata/drc/drcSimpleTests_54.gds differ diff --git a/testdata/drc/drcSimpleTests_au54.gds b/testdata/drc/drcSimpleTests_au54.gds new file mode 100644 index 000000000..6a3116281 Binary files /dev/null and b/testdata/drc/drcSimpleTests_au54.gds differ diff --git a/testdata/dxf/dxf1.gds b/testdata/dxf/dxf1.gds new file mode 100644 index 000000000..116d49af4 Binary files /dev/null and b/testdata/dxf/dxf1.gds differ diff --git a/testdata/dxf/dxf1a_au.dxf b/testdata/dxf/dxf1a_au.dxf new file mode 100644 index 000000000..780a89a40 --- /dev/null +++ b/testdata/dxf/dxf1a_au.dxf @@ -0,0 +1,110 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +POLYLINE +8 +L1D0 +70 +1 +40 +0 +41 +0 +66 +1 +0 +VERTEX +8 +L1D0 +10 +0 +20 +0 +0 +VERTEX +8 +L1D0 +10 +0 +20 +0.4 +0 +VERTEX +8 +L1D0 +10 +0.6 +20 +0.4 +0 +VERTEX +8 +L1D0 +10 +0.6 +20 +1.2 +0 +VERTEX +8 +L1D0 +10 +1.01 +20 +1.2 +0 +VERTEX +8 +L1D0 +10 +1.01 +20 +0 +0 +SEQEND +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf1b_au.dxf b/testdata/dxf/dxf1b_au.dxf new file mode 100644 index 000000000..4a30cee2b --- /dev/null +++ b/testdata/dxf/dxf1b_au.dxf @@ -0,0 +1,82 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LWPOLYLINE +8 +L1D0 +90 +6 +70 +1 +43 +0 +10 +0 +20 +0 +10 +0 +20 +0.4 +10 +0.6 +20 +0.4 +10 +0.6 +20 +1.2 +10 +1.01 +20 +1.2 +10 +1.01 +20 +0 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf1c_au.dxf b/testdata/dxf/dxf1c_au.dxf new file mode 100644 index 000000000..f8c798346 --- /dev/null +++ b/testdata/dxf/dxf1c_au.dxf @@ -0,0 +1,88 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +SOLID +8 +L1D0 +10 +0 +20 +0 +11 +0 +21 +0.4 +12 +1.01 +22 +0 +13 +1.01 +23 +0.4 +0 +SOLID +8 +L1D0 +10 +0.6 +20 +0.4 +11 +0.6 +21 +1.2 +12 +1.01 +22 +0.4 +13 +1.01 +23 +1.2 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf1d_au.dxf b/testdata/dxf/dxf1d_au.dxf new file mode 100644 index 000000000..14a8b79a3 --- /dev/null +++ b/testdata/dxf/dxf1d_au.dxf @@ -0,0 +1,88 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +HATCH +8 +L1D0 +70 +1 +91 +1 +92 +3 +72 +0 +73 +1 +93 +6 +10 +0 +20 +0 +10 +0 +20 +0.4 +10 +0.6 +20 +0.4 +10 +0.6 +20 +1.2 +10 +1.01 +20 +1.2 +10 +1.01 +20 +0 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf1e_au.dxf b/testdata/dxf/dxf1e_au.dxf new file mode 100644 index 000000000..05853ba02 --- /dev/null +++ b/testdata/dxf/dxf1e_au.dxf @@ -0,0 +1,132 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LINE +8 +L1D0 +66 +1 +10 +0 +20 +0 +11 +0 +21 +0.4 +0 +LINE +8 +L1D0 +66 +1 +10 +0 +20 +0.4 +11 +0.6 +21 +0.4 +0 +LINE +8 +L1D0 +66 +1 +10 +0.6 +20 +0.4 +11 +0.6 +21 +1.2 +0 +LINE +8 +L1D0 +66 +1 +10 +0.6 +20 +1.2 +11 +1.01 +21 +1.2 +0 +LINE +8 +L1D0 +66 +1 +10 +1.01 +20 +1.2 +11 +1.01 +21 +0 +0 +LINE +8 +L1D0 +66 +1 +10 +1.01 +20 +0 +11 +0 +21 +0 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf2.gds b/testdata/dxf/dxf2.gds new file mode 100644 index 000000000..8930f2d65 Binary files /dev/null and b/testdata/dxf/dxf2.gds differ diff --git a/testdata/dxf/dxf2_au.dxf b/testdata/dxf/dxf2_au.dxf new file mode 100644 index 000000000..85b7f4198 --- /dev/null +++ b/testdata/dxf/dxf2_au.dxf @@ -0,0 +1,86 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +POLYLINE +8 +L1D0 +70 +0 +40 +0.1 +41 +0.1 +66 +1 +0 +VERTEX +8 +L1D0 +10 +0.2 +20 +0.2 +0 +VERTEX +8 +L1D0 +10 +1 +20 +0.2 +0 +VERTEX +8 +L1D0 +10 +1 +20 +1 +0 +SEQEND +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf3.gds b/testdata/dxf/dxf3.gds new file mode 100644 index 000000000..def6823df Binary files /dev/null and b/testdata/dxf/dxf3.gds differ diff --git a/testdata/dxf/dxf3_au.dxf b/testdata/dxf/dxf3_au.dxf new file mode 100644 index 000000000..ee921116f --- /dev/null +++ b/testdata/dxf/dxf3_au.dxf @@ -0,0 +1,218 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +1 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +BLOCK +2 +A +70 +0 +10 +0 +20 +0 +0 +POLYLINE +8 +L1D0 +70 +1 +40 +0 +41 +0 +66 +1 +0 +VERTEX +8 +L1D0 +10 +0 +20 +0 +0 +VERTEX +8 +L1D0 +10 +0 +20 +1 +0 +VERTEX +8 +L1D0 +10 +0.5 +20 +1 +0 +VERTEX +8 +L1D0 +10 +0.5 +20 +0 +0 +SEQEND +0 +ENDBLK +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +INSERT +8 +0 +2 +A +10 +0 +20 +0 +41 +1 +42 +1 +50 +0 +0 +INSERT +8 +0 +2 +A +10 +3 +20 +1.4 +41 +1 +42 +1 +50 +90 +0 +INSERT +8 +0 +2 +A +10 +2 +20 +1.4 +41 +1 +42 +1 +50 +90 +0 +INSERT +8 +0 +2 +A +10 +1 +20 +1.4 +41 +1 +42 +1 +50 +90 +0 +INSERT +8 +0 +2 +A +10 +3 +20 +2.4 +41 +1 +42 +1 +50 +90 +0 +INSERT +8 +0 +2 +A +10 +2 +20 +2.4 +41 +1 +42 +1 +50 +90 +0 +INSERT +8 +0 +2 +A +10 +1 +20 +2.4 +41 +1 +42 +1 +50 +90 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf4.gds b/testdata/dxf/dxf4.gds new file mode 100644 index 000000000..96aa5ce8b Binary files /dev/null and b/testdata/dxf/dxf4.gds differ diff --git a/testdata/dxf/dxf4a_au.dxf b/testdata/dxf/dxf4a_au.dxf new file mode 100644 index 000000000..e19614dd8 --- /dev/null +++ b/testdata/dxf/dxf4a_au.dxf @@ -0,0 +1,254 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +3 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +LAYER +70 +0 +62 +2 +6 +CONTINUOUS +2 +L2D0 +0 +LAYER +70 +0 +62 +3 +6 +CONTINUOUS +2 +L100D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +POLYLINE +8 +L1D0 +70 +1 +40 +0 +41 +0 +66 +1 +0 +VERTEX +8 +L1D0 +10 +0 +20 +0 +0 +VERTEX +8 +L1D0 +10 +0 +20 +1.6 +0 +VERTEX +8 +L1D0 +10 +1.6 +20 +1.6 +0 +VERTEX +8 +L1D0 +10 +1.6 +20 +0 +0 +SEQEND +0 +POLYLINE +8 +L2D0 +70 +1 +40 +0 +41 +0 +66 +1 +0 +VERTEX +8 +L2D0 +10 +0.4 +20 +0.39 +0 +VERTEX +8 +L2D0 +10 +0.4 +20 +1.2 +0 +VERTEX +8 +L2D0 +10 +1.21 +20 +1.2 +0 +VERTEX +8 +L2D0 +10 +1.21 +20 +0.39 +0 +SEQEND +0 +POLYLINE +8 +L100D0 +70 +1 +40 +0 +41 +0 +66 +1 +0 +VERTEX +8 +L100D0 +10 +0 +20 +0 +0 +VERTEX +8 +L100D0 +10 +0 +20 +1.2 +0 +VERTEX +8 +L100D0 +10 +0.4 +20 +1.2 +0 +VERTEX +8 +L100D0 +10 +0.4 +20 +0.39 +0 +VERTEX +8 +L100D0 +10 +1.21 +20 +0.39 +0 +VERTEX +8 +L100D0 +10 +1.21 +20 +1.2 +0 +VERTEX +8 +L100D0 +10 +0 +20 +1.2 +0 +VERTEX +8 +L100D0 +10 +0 +20 +1.6 +0 +VERTEX +8 +L100D0 +10 +1.6 +20 +1.6 +0 +VERTEX +8 +L100D0 +10 +1.6 +20 +0 +0 +SEQEND +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf4b_au.dxf b/testdata/dxf/dxf4b_au.dxf new file mode 100644 index 000000000..7864c2689 --- /dev/null +++ b/testdata/dxf/dxf4b_au.dxf @@ -0,0 +1,170 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +3 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +LAYER +70 +0 +62 +2 +6 +CONTINUOUS +2 +L2D0 +0 +LAYER +70 +0 +62 +3 +6 +CONTINUOUS +2 +L100D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LWPOLYLINE +8 +L1D0 +90 +4 +70 +1 +43 +0 +10 +0 +20 +0 +10 +0 +20 +1.6 +10 +1.6 +20 +1.6 +10 +1.6 +20 +0 +0 +LWPOLYLINE +8 +L2D0 +90 +4 +70 +1 +43 +0 +10 +0.4 +20 +0.39 +10 +0.4 +20 +1.2 +10 +1.21 +20 +1.2 +10 +1.21 +20 +0.39 +0 +LWPOLYLINE +8 +L100D0 +90 +10 +70 +1 +43 +0 +10 +0 +20 +0 +10 +0 +20 +1.2 +10 +0.4 +20 +1.2 +10 +0.4 +20 +0.39 +10 +1.21 +20 +0.39 +10 +1.21 +20 +1.2 +10 +0 +20 +1.2 +10 +0 +20 +1.6 +10 +1.6 +20 +1.6 +10 +1.6 +20 +0 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf4c_au.dxf b/testdata/dxf/dxf4c_au.dxf new file mode 100644 index 000000000..627128fbc --- /dev/null +++ b/testdata/dxf/dxf4c_au.dxf @@ -0,0 +1,188 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +3 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +LAYER +70 +0 +62 +2 +6 +CONTINUOUS +2 +L2D0 +0 +LAYER +70 +0 +62 +3 +6 +CONTINUOUS +2 +L100D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +SOLID +8 +L1D0 +10 +0 +20 +0 +11 +0 +21 +1.6 +12 +1.6 +22 +0 +13 +1.6 +23 +1.6 +0 +SOLID +8 +L2D0 +10 +0.4 +20 +0.39 +11 +0.4 +21 +1.2 +12 +1.21 +22 +0.39 +13 +1.21 +23 +1.2 +0 +SOLID +8 +L100D0 +10 +0.4 +20 +0 +11 +0.4 +21 +0.39 +12 +1.6 +22 +0 +13 +1.6 +23 +0.39 +0 +SOLID +8 +L100D0 +10 +1.21 +20 +0.39 +11 +1.21 +21 +1.2 +12 +1.6 +22 +0.39 +13 +1.6 +23 +1.2 +0 +SOLID +8 +L100D0 +10 +0 +20 +0 +11 +0 +21 +1.2 +12 +0.4 +22 +0 +13 +0.4 +23 +1.2 +0 +SOLID +8 +L100D0 +10 +0 +20 +1.2 +11 +0 +21 +1.6 +12 +1.6 +22 +1.2 +13 +1.6 +23 +1.6 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf4d_au.dxf b/testdata/dxf/dxf4d_au.dxf new file mode 100644 index 000000000..ae23a4edf --- /dev/null +++ b/testdata/dxf/dxf4d_au.dxf @@ -0,0 +1,188 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +3 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +LAYER +70 +0 +62 +2 +6 +CONTINUOUS +2 +L2D0 +0 +LAYER +70 +0 +62 +3 +6 +CONTINUOUS +2 +L100D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +HATCH +8 +L1D0 +70 +1 +91 +1 +92 +3 +72 +0 +73 +1 +93 +4 +10 +0 +20 +0 +10 +0 +20 +1.6 +10 +1.6 +20 +1.6 +10 +1.6 +20 +0 +0 +HATCH +8 +L2D0 +70 +1 +91 +1 +92 +3 +72 +0 +73 +1 +93 +4 +10 +0.4 +20 +0.39 +10 +0.4 +20 +1.2 +10 +1.21 +20 +1.2 +10 +1.21 +20 +0.39 +0 +HATCH +8 +L100D0 +70 +1 +91 +2 +92 +3 +72 +0 +73 +1 +93 +4 +10 +0 +20 +0 +10 +0 +20 +1.6 +10 +1.6 +20 +1.6 +10 +1.6 +20 +0 +92 +3 +72 +0 +73 +1 +93 +4 +10 +0.4 +20 +0.39 +10 +1.21 +20 +0.39 +10 +1.21 +20 +1.2 +10 +0.4 +20 +1.2 +0 +ENDSEC +0 +EOF diff --git a/testdata/dxf/dxf4e_au.dxf b/testdata/dxf/dxf4e_au.dxf new file mode 100644 index 000000000..a42fd183b --- /dev/null +++ b/testdata/dxf/dxf4e_au.dxf @@ -0,0 +1,292 @@ +0 +SECTION +2 +HEADER +9 +$ACADVER +1 +AC1006 +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +LAYER +70 +3 +0 +LAYER +70 +0 +62 +1 +6 +CONTINUOUS +2 +L1D0 +0 +LAYER +70 +0 +62 +2 +6 +CONTINUOUS +2 +L2D0 +0 +LAYER +70 +0 +62 +3 +6 +CONTINUOUS +2 +L100D0 +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LINE +8 +L1D0 +66 +1 +10 +0 +20 +0 +11 +0 +21 +1.6 +0 +LINE +8 +L1D0 +66 +1 +10 +0 +20 +1.6 +11 +1.6 +21 +1.6 +0 +LINE +8 +L1D0 +66 +1 +10 +1.6 +20 +1.6 +11 +1.6 +21 +0 +0 +LINE +8 +L1D0 +66 +1 +10 +1.6 +20 +0 +11 +0 +21 +0 +0 +LINE +8 +L2D0 +66 +1 +10 +0.4 +20 +0.39 +11 +0.4 +21 +1.2 +0 +LINE +8 +L2D0 +66 +1 +10 +0.4 +20 +1.2 +11 +1.21 +21 +1.2 +0 +LINE +8 +L2D0 +66 +1 +10 +1.21 +20 +1.2 +11 +1.21 +21 +0.39 +0 +LINE +8 +L2D0 +66 +1 +10 +1.21 +20 +0.39 +11 +0.4 +21 +0.39 +0 +LINE +8 +L100D0 +66 +1 +10 +0 +20 +0 +11 +0 +21 +1.6 +0 +LINE +8 +L100D0 +66 +1 +10 +0 +20 +1.6 +11 +1.6 +21 +1.6 +0 +LINE +8 +L100D0 +66 +1 +10 +1.6 +20 +1.6 +11 +1.6 +21 +0 +0 +LINE +8 +L100D0 +66 +1 +10 +1.6 +20 +0 +11 +0 +21 +0 +0 +LINE +8 +L100D0 +66 +1 +10 +0.4 +20 +0.39 +11 +1.21 +21 +0.39 +0 +LINE +8 +L100D0 +66 +1 +10 +1.21 +20 +0.39 +11 +1.21 +21 +1.2 +0 +LINE +8 +L100D0 +66 +1 +10 +1.21 +20 +1.2 +11 +0.4 +21 +1.2 +0 +LINE +8 +L100D0 +66 +1 +10 +0.4 +20 +1.2 +11 +0.4 +21 +0.39 +0 +ENDSEC +0 +EOF diff --git a/testdata/gds/lib_test2.gds b/testdata/gds/lib_test2.gds index 5620fbaaf..c246782ac 100644 Binary files a/testdata/gds/lib_test2.gds and b/testdata/gds/lib_test2.gds differ diff --git a/testdata/gds/lib_test4.gds b/testdata/gds/lib_test4.gds index f125a963a..46583bfdb 100644 Binary files a/testdata/gds/lib_test4.gds and b/testdata/gds/lib_test4.gds differ diff --git a/testdata/gds/lib_test6a.gds b/testdata/gds/lib_test6a.gds new file mode 100644 index 000000000..c4355a33e Binary files /dev/null and b/testdata/gds/lib_test6a.gds differ diff --git a/testdata/gds/lib_test6b.gds b/testdata/gds/lib_test6b.gds new file mode 100644 index 000000000..708b1c4d9 Binary files /dev/null and b/testdata/gds/lib_test6b.gds differ diff --git a/testdata/klayout_main/main.rb b/testdata/klayout_main/main.rb index cf7c30160..1fe083e0f 100644 --- a/testdata/klayout_main/main.rb +++ b/testdata/klayout_main/main.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/lvs/SP6TArray_2X4.gds b/testdata/lvs/SP6TArray_2X4.gds new file mode 100644 index 000000000..8b2143f71 Binary files /dev/null and b/testdata/lvs/SP6TArray_2X4.gds differ diff --git a/testdata/lvs/SP6TArray_2X4.lvs b/testdata/lvs/SP6TArray_2X4.lvs new file mode 100644 index 000000000..5a676a091 --- /dev/null +++ b/testdata/lvs/SP6TArray_2X4.lvs @@ -0,0 +1,206 @@ + +source($lvs_test_source) +report_lvs($lvs_test_target_lvsdb, true) +target_netlist($lvs_test_target_cir, write_spice, "Extracted by KLayout") + +schematic("SP6TArray_2X4.spi") + +consider_net_names($test22_texts) +if $test22_deep + deep +else + flat +end + +# Define layers +nwm = input(64, 20) +nsdm = input(93, 44) +psdm = input(94, 20) +hvi = input(75, 20) +difftap_pin = input(65, 16) +difftap_block = input(100, 10) +difftap = input(65, 20) +poly_pin = input(66, 16) +poly_block = input(100, 20) +poly = input(66, 20) +li_pin = input(67, 16) +li_block = input(100, 40) +li = input(67, 20) +m1_pin = input(68, 16) +m1_block = input(100, 60) +m1 = input(68, 20) +m2_pin = input(69, 16) +m2_block = input(100, 80) +m2 = input(69, 20) +m3_pin = input(70, 16) +m3_block = input(100, 100) +m3 = input(70, 20) +m4_pin = input(71, 16) +m4_block = input(100, 120) +m4 = input(71, 20) +m5_pin = input(72, 16) +m5_block = input(100, 140) +m5 = input(72, 20) +licon_block = input(100, 30) +mcon_block = input(100, 50) +via_block = input(100, 70) +via2_block = input(100, 90) +via3_block = input(100, 110) +via4_block = input(100, 130) +licon = input(66, 44) +mcon = input(67, 44) +via = input(68, 44) +via2 = input(69, 44) +via3 = input(70, 44) +via4 = input(71, 44) +hvtp = input(78, 44) +lvtn = input(125, 44) +pad = input(76, 20) +areaid_diode = input(81, 23) +polyres = input(66, 13) +diffres = input(65, 13) +prBoundary = input(235, 4) +substrate__Sky130 = polygon_layer + +difftap__conn = (difftap-(poly+diffres)) +difftap__conn__nsdm = (difftap__conn&nsdm&nwm) +difftap__conn__psdm = (difftap__conn&psdm-nwm) +poly__conn = (poly-polyres) +gate__hvmosgate = (difftap&poly__conn&hvi) +gate__mosgate = (difftap&poly__conn-hvi) +gate__mosfet__nfet_01v8 = (gate__mosgate&nsdm) +gate__mosfet__nfet_01v8_lvt = (gate__mosgate&nsdm&lvtn) +gate__mosfet__nfet_g5v0d10v5 = (gate__hvmosgate&nsdm) +gate__mosfet__pfet_01v8 = (gate__mosgate&nwm&psdm) +gate__mosfet__pfet_01v8_hvt = (gate__mosgate&nwm&psdm&hvtp) +gate__mosfet__pfet_01v8_lvt = (gate__mosgate&nwm&psdm&lvtn) +gate__mosfet__pfet_g5v0d10v5 = (gate__hvmosgate&nwm&psdm) +resistor__active_res = (difftap&diffres) +resistor__poly_res = (poly&polyres) +diode__ndiode = (difftap&areaid_diode&nsdm) +diode__pdiode = (difftap&areaid_diode&psdm) + +# Connectivity +connect_global(substrate__Sky130, "vss") +# connect(difftap,difftap.pin) +connect(difftap__conn, difftap_pin) +# connect(difftap__conn,difftap__conn:nsdm) +connect(difftap__conn, difftap__conn__nsdm) +# connect(difftap__conn:nsdm,nwm) +connect(difftap__conn__nsdm, nwm) +# connect(difftap__conn,difftap__conn:psdm) +connect(difftap__conn, difftap__conn__psdm) +# connect(difftap__conn:psdm,substrate:Sky130) +connect_global(difftap__conn__psdm, "vss") +# connect(poly,poly.pin) +connect(poly, poly_pin) +# connect(li,li.pin) +connect(li, li_pin) +# connect(m1,m1.pin) +connect(m1, m1_pin) +# connect(m2,m2.pin) +connect(m2, m2_pin) +# connect(m3,m3.pin) +connect(m3, m3_pin) +# connect(m4,m4.pin) +connect(m4, m4_pin) +# connect(m5,m5.pin) +connect(m5, m5_pin) +# connect((difftap__conn,poly__conn),licon) +connect(difftap__conn, licon) +connect(poly__conn, licon) +# connect(licon,li) +connect(licon, li) +# connect(li,mcon) +connect(li, mcon) +# connect(mcon,m1) +connect(mcon, m1) +# connect(m1,via) +connect(m1, via) +# connect(via,m2) +connect(via, m2) +# connect(m2,via2) +connect(m2, via2) +# connect(via2,m3) +connect(via2, m3) +# connect(m3,via3) +connect(m3, via3) +# connect(via3,m4) +connect(via3, m4) +# connect(m4,via4) +connect(m4, via4) +# connect(via4,m5) +connect(via4, m5) + +connect_implicit("vss*") +connect_implicit("vcc*") +connect_implicit("vdd*") +connect_implicit("SP6TArray_2X1", "vdd") + +# Resistors +# active_res +extract_devices(resistor("active_res", 200.0), { + "R" => resistor__active_res, "C" => difftap__conn, +}) +same_device_classes("active_res", "RES") +# poly_res +extract_devices(resistor("poly_res", 300.0), { + "R" => resistor__poly_res, "C" => poly__conn, +}) +same_device_classes("poly_res", "RES") + +# Diodes +# ndiode +extract_devices(diode("sky130_fd_pr__diode_pw2nd_05v5"), { + "P" => substrate__Sky130, "N" => diode__ndiode, "tC" => difftap__conn +}) +# pdiode +extract_devices(diode("sky130_fd_pr__diode_pd2nw_05v5"), { + "P" => diode__pdiode, "N" => nwm, "tA" => difftap__conn +}) + +# Transistors +# nfet_01v8 +cheat("SP6TCell") do +extract_devices(mos4("sky130_fd_pr__nfet_01v8__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__nfet_01v8, "tG" => poly__conn, "W" => substrate__Sky130, +}) +end + +# nfet_01v8_lvt +extract_devices(mos4("sky130_fd_pr__nfet_01v8_lvt__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__nfet_01v8_lvt, "tG" => poly__conn, "W" => substrate__Sky130, +}) +# nfet_g5v0d10v5 +extract_devices(mos4("sky130_fd_pr__nfet_g5v0d10v5__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__nfet_g5v0d10v5, "tG" => poly__conn, "W" => substrate__Sky130, +}) +# pfet_01v8 +cheat("SP6TCell") do +extract_devices(mos4("sky130_fd_pr__pfet_01v8__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8, "tG" => poly__conn, "W" => nwm, +}) +end + +# pfet_01v8_hvt +extract_devices(mos4("sky130_fd_pr__pfet_01v8_hvt__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8_hvt, "tG" => poly__conn, "W" => nwm, +}) +# pfet_01v8_lvt +extract_devices(mos4("sky130_fd_pr__pfet_01v8_lvt__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8_lvt, "tG" => poly__conn, "W" => nwm, +}) +# pfet_g5v0d10v5 +extract_devices(mos4("sky130_fd_pr__pfet_g5v0d10v5__model"), { + "SD" => difftap__conn, "G" => gate__mosfet__pfet_g5v0d10v5, "tG" => poly__conn, "W" => nwm, +}) + +netlist + +align +ok = compare +if ok then + print("LVS OK\n") +else + abort "LVS Failed!" +end diff --git a/testdata/lvs/SP6TArray_2X4.spi b/testdata/lvs/SP6TArray_2X4.spi new file mode 100644 index 000000000..15a572ca7 --- /dev/null +++ b/testdata/lvs/SP6TArray_2X4.spi @@ -0,0 +1,25 @@ +* SP6TArray_2X4 +* SP6TCell +.subckt SP6TCell vdd vss wl bl bl_n +Mpu1 vdd bit_n bit vdd sky130_fd_pr__pfet_01v8__model l=0.15um w=0.42um +Mpu2 bit_n bit vdd vdd sky130_fd_pr__pfet_01v8__model l=0.15um w=0.42um +Mpd1 vss bit_n bit vss sky130_fd_pr__nfet_01v8__model l=0.15um w=0.42um +Mpd2 bit_n bit vss vss sky130_fd_pr__nfet_01v8__model l=0.15um w=0.42um +Mpg1 bl wl bit vss sky130_fd_pr__nfet_01v8__model l=0.15um w=0.42um +Mpg2 bl_n wl bit_n vss sky130_fd_pr__nfet_01v8__model l=0.15um w=0.42um +.ends SP6TCell +* SP6TArray_2X1 +.subckt SP6TArray_2X1 vss vdd wl[0] wl[1] bl[0] bl_n[0] +Xinst0x0 vdd vss wl[0] bl[0] bl_n[0] SP6TCell +Xinst1x0 vdd vss wl[1] bl[0] bl_n[0] SP6TCell +.ends SP6TArray_2X1 +* SP6TArray_2X2 +.subckt SP6TArray_2X2 vss vdd wl[0] wl[1] bl[0] bl_n[0] bl[1] bl_n[1] +Xinst0x0 vss vdd wl[0] wl[1] bl[0] bl_n[0] SP6TArray_2X1 +Xinst0x1 vss vdd wl[0] wl[1] bl[1] bl_n[1] SP6TArray_2X1 +.ends SP6TArray_2X2 +* SP6TArray_2X4 +.subckt SP6TArray_2X4 vss vdd wl[0] wl[1] bl[0] bl_n[0] bl[1] bl_n[1] bl[2] bl_n[2] bl[3] bl_n[3] +Xinst0x0 vss vdd wl[0] wl[1] bl[0] bl_n[0] bl[1] bl_n[1] SP6TArray_2X2 +Xinst0x1 vss vdd wl[0] wl[1] bl[2] bl_n[2] bl[3] bl_n[3] SP6TArray_2X2 +.ends SP6TArray_2X4 diff --git a/testdata/lvs/bbdevices1.lvsdb b/testdata/lvs/bbdevices1.lvsdb index cb3ae8cc0..27cd08e35 100644 --- a/testdata/lvs/bbdevices1.lvsdb +++ b/testdata/lvs/bbdevices1.lvsdb @@ -49,19 +49,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (832000 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (576500 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (754499 -114001) (2 2)) + rect(l15 (754500 -114000) (0 0)) ) # Outgoing pins and their connections to nets @@ -71,19 +71,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -93,19 +93,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -115,19 +115,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -142,11 +142,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -162,11 +162,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -182,11 +182,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets diff --git a/testdata/lvs/bbdevices1b.lvsdb b/testdata/lvs/bbdevices1b.lvsdb index 30d688cef..0be76fb34 100644 --- a/testdata/lvs/bbdevices1b.lvsdb +++ b/testdata/lvs/bbdevices1b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -58,7 +58,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -67,7 +67,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -76,7 +76,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(A)) diff --git a/testdata/lvs/bbdevices2.lvsdb b/testdata/lvs/bbdevices2.lvsdb index 5a782379a..c9372a16f 100644 --- a/testdata/lvs/bbdevices2.lvsdb +++ b/testdata/lvs/bbdevices2.lvsdb @@ -49,19 +49,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (832000 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (576500 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (754499 -114001) (2 2)) + rect(l15 (754500 -114000) (0 0)) ) # Outgoing pins and their connections to nets @@ -72,19 +72,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -95,19 +95,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -118,19 +118,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -146,11 +146,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -166,11 +166,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -186,11 +186,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets diff --git a/testdata/lvs/bbdevices2b.lvsdb b/testdata/lvs/bbdevices2b.lvsdb index 5e44f84c1..2ff9faa34 100644 --- a/testdata/lvs/bbdevices2b.lvsdb +++ b/testdata/lvs/bbdevices2b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -59,7 +59,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -69,7 +69,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -79,7 +79,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(B)) diff --git a/testdata/lvs/bbdevices3.lvsdb b/testdata/lvs/bbdevices3.lvsdb index e870f11be..fb30c8ab9 100644 --- a/testdata/lvs/bbdevices3.lvsdb +++ b/testdata/lvs/bbdevices3.lvsdb @@ -49,19 +49,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (586500 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (830000 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (757499 -114001) (2 2)) + rect(l15 (757500 -114000) (0 0)) ) # Outgoing pins and their connections to nets @@ -71,19 +71,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -93,19 +93,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -115,19 +115,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -142,11 +142,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -162,11 +162,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -182,11 +182,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets diff --git a/testdata/lvs/bbdevices3b.lvsdb b/testdata/lvs/bbdevices3b.lvsdb index bae0d36a5..9aecb5013 100644 --- a/testdata/lvs/bbdevices3b.lvsdb +++ b/testdata/lvs/bbdevices3b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -58,7 +58,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -67,7 +67,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -76,7 +76,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(A)) diff --git a/testdata/lvs/bbdevices4.lvsdb b/testdata/lvs/bbdevices4.lvsdb index 47cbefd91..5a9aa2c04 100644 --- a/testdata/lvs/bbdevices4.lvsdb +++ b/testdata/lvs/bbdevices4.lvsdb @@ -49,19 +49,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -71,19 +71,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -93,19 +93,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -120,11 +120,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -140,11 +140,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -160,11 +160,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets @@ -175,19 +175,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (832000 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (576500 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (754499 -114001) (2 2)) + rect(l15 (754500 -114000) (0 0)) ) ) diff --git a/testdata/lvs/bbdevices4b.lvsdb b/testdata/lvs/bbdevices4b.lvsdb index e26fe15c3..7ee00acb8 100644 --- a/testdata/lvs/bbdevices4b.lvsdb +++ b/testdata/lvs/bbdevices4b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -58,7 +58,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -67,7 +67,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -106,7 +106,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) ) circuit(testall diff --git a/testdata/lvs/bbdevices5.lvsdb b/testdata/lvs/bbdevices5.lvsdb index cf5b49052..8acdab170 100644 --- a/testdata/lvs/bbdevices5.lvsdb +++ b/testdata/lvs/bbdevices5.lvsdb @@ -49,19 +49,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (832000 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (576500 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (754499 -114001) (2 2)) + rect(l15 (754500 -114000) (0 0)) ) # Outgoing pins and their connections to nets @@ -71,19 +71,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -93,19 +93,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -115,19 +115,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -142,11 +142,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -162,11 +162,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -182,11 +182,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets diff --git a/testdata/lvs/bbdevices5b.lvsdb b/testdata/lvs/bbdevices5b.lvsdb index 624a9a521..cb9e6fb77 100644 --- a/testdata/lvs/bbdevices5b.lvsdb +++ b/testdata/lvs/bbdevices5b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -58,7 +58,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -67,7 +67,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -76,7 +76,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(A)) diff --git a/testdata/lvs/bbdevices6.lvsdb b/testdata/lvs/bbdevices6.lvsdb index 09a133d7a..28492175b 100644 --- a/testdata/lvs/bbdevices6.lvsdb +++ b/testdata/lvs/bbdevices6.lvsdb @@ -49,19 +49,19 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Nets with their geometries net(1 name(B) rect(l15 (832000 -242000) (93500 75500)) - rect(l15 (-46751 -37751) (2 2)) + rect(l15 (-46750 -37750) (0 0)) ) net(2 name(A) rect(l15 (576500 -249000) (105500 81500)) - rect(l15 (-52751 -40751) (2 2)) + rect(l15 (-52750 -40750) (0 0)) ) net(3 name(BWBTEST) - rect(l15 (754499 -114001) (2 2)) + rect(l15 (754500 -114000) (0 0)) ) # Outgoing pins and their connections to nets @@ -71,19 +71,19 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Nets with their geometries net(1 name(B) rect(l3 (793500 427000) (120500 82000)) - rect(l3 (-60251 -41001) (2 2)) + rect(l3 (-60250 -41000) (0 0)) ) net(2 name(A) rect(l3 (572500 432500) (74500 73500)) - rect(l3 (-37251 -36751) (2 2)) + rect(l3 (-37250 -36750) (0 0)) ) net(3 name(FWBTEST) - rect(l3 (797999 565499) (2 2)) + rect(l3 (798000 565500) (0 0)) ) # Outgoing pins and their connections to nets @@ -93,19 +93,19 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Nets with their geometries net(1 name(B) rect(l3 (-221000 412500) (162000 152500)) - rect(l3 (-81001 -76251) (2 2)) + rect(l3 (-81000 -76250) (0 0)) ) net(2 name(A) rect(l3 (-449500 422500) (146000 144500)) - rect(l3 (-71001 -71251) (2 2)) + rect(l3 (-71000 -71250) (0 0)) ) net(3 name(FBGATEST) - rect(l3 (-417001 610499) (2 2)) + rect(l3 (-417000 610500) (0 0)) ) # Outgoing pins and their connections to nets @@ -115,19 +115,19 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Nets with their geometries net(1 name(B) rect(l15 (-468000 -280000) (177000 189000)) - rect(l15 (-88501 -94501) (2 2)) + rect(l15 (-88500 -94500) (0 0)) ) net(2 name(A) rect(l15 (-218500 -290000) (193000 203000)) - rect(l15 (-94001 -101501) (2 2)) + rect(l15 (-94000 -101500) (0 0)) ) net(3 name(BBGATEST) - rect(l15 (-422001 -313001) (2 2)) + rect(l15 (-422000 -313000) (0 0)) ) # Outgoing pins and their connections to nets @@ -142,11 +142,11 @@ layout( # Nets with their geometries net(1 name(A) rect(l16 (317000 -232000) (92000 92000)) - rect(l16 (-46001 -46001) (2 2)) + rect(l16 (-46000 -46000) (0 0)) ) net(2 name(B) rect(l16 (95500 -231000) (116000 97000)) - rect(l16 (-58001 -48501) (2 2)) + rect(l16 (-58000 -48500) (0 0)) ) # Outgoing pins and their connections to nets @@ -162,11 +162,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l11 (323000 151500) (76000 83000)) - rect(l11 (-38001 -41501) (2 2)) + rect(l11 (-38000 -41500) (0 0)) ) net(2 name(A) rect(l11 (96500 159500) (90000 73000)) - rect(l11 (-45001 -36501) (2 2)) + rect(l11 (-45000 -36500) (0 0)) ) # Outgoing pins and their connections to nets @@ -182,11 +182,11 @@ layout( # Nets with their geometries net(1 name(B) rect(l1 (327000 436500) (72000 93000)) - rect(l1 (-36001 -46501) (2 2)) + rect(l1 (-36000 -46500) (0 0)) ) net(2 name(A) rect(l1 (101500 443500) (82000 84000)) - rect(l1 (-41001 -42001) (2 2)) + rect(l1 (-41000 -42000) (0 0)) ) # Outgoing pins and their connections to nets diff --git a/testdata/lvs/bbdevices6b.lvsdb b/testdata/lvs/bbdevices6b.lvsdb index 71432c4f9..cf9afeb29 100644 --- a/testdata/lvs/bbdevices6b.lvsdb +++ b/testdata/lvs/bbdevices6b.lvsdb @@ -49,7 +49,7 @@ layout( circuit(BWBTEST # Circuit boundary - rect((554500 -276000) (403000 162001)) + rect((554500 -276000) (403000 162000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -58,7 +58,7 @@ layout( circuit(FWBTEST # Circuit boundary - rect((536500 386500) (404000 179001)) + rect((536500 386500) (404000 179000)) # Outgoing pins and their connections to nets pin(name(A)) @@ -67,7 +67,7 @@ layout( circuit(FBGATEST # Circuit boundary - rect((-449500 412500) (390500 198001)) + rect((-449500 412500) (390500 198000)) # Outgoing pins and their connections to nets pin(name(B)) @@ -76,7 +76,7 @@ layout( circuit(BBGATEST # Circuit boundary - rect((-468000 -313001) (442500 226001)) + rect((-468000 -313000) (442500 226000)) # Outgoing pins and their connections to nets pin(name(A)) diff --git a/testdata/lvs/blackbox1.lvsdb b/testdata/lvs/blackbox1.lvsdb index a9012c999..7005d4f01 100644 --- a/testdata/lvs/blackbox1.lvsdb +++ b/testdata/lvs/blackbox1.lvsdb @@ -49,57 +49,57 @@ layout( rect(l1 (-7500 0) (1000 4000)) rect(l1 (-6000 0) (6000 1000)) rect(l1 (-9000 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -5501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -5500) (1000 1000)) ) net(2 name('4') rect(l1 (1000 2000) (1000 10000)) rect(l1 (-17500 0) (17500 1000)) rect(l1 (-20500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (17499 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (17500 -10500) (1000 1000)) ) net(3 name('2') rect(l1 (-15500 -2000) (12500 1000)) rect(l1 (-15500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -500) (1000 1000)) ) net(4 name('1') rect(l1 (-15500 -13000) (6000 1000)) rect(l1 (-1000 0) (1000 6000)) rect(l1 (-9000 -8000) (3500 3000)) rect(l1 (4500 5000) (7500 1000)) - rect(l1 (-13501 -7501) (2 2)) - rect(l2 (12499 6499) (1000 1000)) + rect(l1 (-13500 -7500) (0 0)) + rect(l2 (12500 6500) (1000 1000)) ) net(5 name('8') rect(l1 (1000 -13000) (22000 1000)) rect(l1 (-22000 0) (1000 7000)) rect(l1 (20500 -9000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-23501 6499) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-23500 6500) (1000 1000)) ) net(6 name('7') rect(l1 (6000 -6000) (7000 1000)) rect(l1 (-1000 0) (1000 12000)) rect(l1 (-1000 0) (11000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-18501 -13501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-18500 -13500) (1000 1000)) ) net(7 name('5') rect(l1 (6000 2000) (1000 10000)) rect(l1 (-1000 0) (17000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-18501 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-18500 -10500) (1000 1000)) ) net(8 name('6') rect(l1 (16000 -2000) (7000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-18501 -501) (3500 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (-18500 -500) (3500 1000)) rect(l3 (6500 -1000) (1000 1000)) rect(l3 (-8500 -1000) (1000 1000)) rect(l4 (-1000 -1000) (8500 1000)) diff --git a/testdata/lvs/blackbox2.lvsdb b/testdata/lvs/blackbox2.lvsdb index 4fa169913..733ee3295 100644 --- a/testdata/lvs/blackbox2.lvsdb +++ b/testdata/lvs/blackbox2.lvsdb @@ -49,57 +49,57 @@ layout( rect(l1 (-7500 0) (1000 4000)) rect(l1 (-6000 0) (6000 1000)) rect(l1 (-9000 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -5501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -5500) (1000 1000)) ) net(2 name('3') rect(l1 (1000 2000) (1000 10000)) rect(l1 (-17500 0) (17500 1000)) rect(l1 (-20500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (17499 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (17500 -10500) (1000 1000)) ) net(3 name('2') rect(l1 (-15500 -2000) (12500 1000)) rect(l1 (-15500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -500) (1000 1000)) ) net(4 name('1') rect(l1 (-15500 -13000) (6000 1000)) rect(l1 (-1000 0) (1000 6000)) rect(l1 (-9000 -8000) (3500 3000)) rect(l1 (4500 5000) (7500 1000)) - rect(l1 (-13501 -7501) (2 2)) - rect(l2 (12499 6499) (1000 1000)) + rect(l1 (-13500 -7500) (0 0)) + rect(l2 (12500 6500) (1000 1000)) ) net(5 name('8') rect(l1 (1000 -13000) (22000 1000)) rect(l1 (-22000 0) (1000 7000)) rect(l1 (20500 -9000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-23501 6499) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-23500 6500) (1000 1000)) ) net(6 name('7') rect(l1 (6000 -6000) (7000 1000)) rect(l1 (-1000 0) (1000 12000)) rect(l1 (-1000 0) (11000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-18501 -13501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-18500 -13500) (1000 1000)) ) net(7 name('5') rect(l1 (6000 2000) (1000 10000)) rect(l1 (-1000 0) (17000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-18501 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-18500 -10500) (1000 1000)) ) net(8 name('6') rect(l1 (16000 -2000) (7000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-18501 -501) (3500 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (-18500 -500) (3500 1000)) rect(l3 (6500 -1000) (1000 1000)) rect(l3 (-8500 -1000) (1000 1000)) rect(l4 (-1000 -1000) (8500 1000)) diff --git a/testdata/lvs/blackbox3.lvsdb b/testdata/lvs/blackbox3.lvsdb index 1dd6f3942..953dea630 100644 --- a/testdata/lvs/blackbox3.lvsdb +++ b/testdata/lvs/blackbox3.lvsdb @@ -55,49 +55,49 @@ layout( rect(l1 (-7500 0) (1000 4000)) rect(l1 (-6000 0) (6000 1000)) rect(l1 (-9000 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -5501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -5500) (1000 1000)) ) net(3 name('4') rect(l1 (1000 2000) (1000 10000)) rect(l1 (-17500 0) (17500 1000)) rect(l1 (-20500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (17499 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (17500 -10500) (1000 1000)) ) net(4 name('2') rect(l1 (-15500 -2000) (12500 1000)) rect(l1 (-15500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -500) (1000 1000)) ) net(5 name('1') rect(l1 (-15500 -13000) (6000 1000)) rect(l1 (-1000 0) (1000 6000)) rect(l1 (-9000 -8000) (3500 3000)) rect(l1 (4500 5000) (7500 1000)) - rect(l1 (-13501 -7501) (2 2)) - rect(l2 (12499 6499) (1000 1000)) + rect(l1 (-13500 -7500) (0 0)) + rect(l2 (12500 6500) (1000 1000)) ) net(6 name('8') rect(l1 (1000 -13000) (22000 1000)) rect(l1 (-22000 0) (1000 7000)) rect(l1 (20500 -9000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-23501 6499) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-23500 6500) (1000 1000)) ) net(7 name('5') rect(l1 (6000 2000) (1000 10000)) rect(l1 (-1000 0) (17000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-18501 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-18500 -10500) (1000 1000)) ) net(8 name('6') rect(l1 (16000 -2000) (7000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-18501 -501) (3500 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (-18500 -500) (3500 1000)) rect(l3 (6500 -1000) (1000 1000)) rect(l3 (-8500 -1000) (1000 1000)) rect(l4 (-1000 -1000) (8500 1000)) @@ -106,7 +106,7 @@ layout( net(9 name('7') rect(l1 (18080 7000) (4920 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) + rect(l1 (-1500 -1500) (0 0)) ) # Subcircuits and their connections diff --git a/testdata/lvs/blackbox4.lvsdb b/testdata/lvs/blackbox4.lvsdb index fb865f98d..f36d797c6 100644 --- a/testdata/lvs/blackbox4.lvsdb +++ b/testdata/lvs/blackbox4.lvsdb @@ -49,36 +49,36 @@ layout( rect(l1 (-7500 0) (1000 4000)) rect(l1 (-6000 0) (6000 1000)) rect(l1 (-9000 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -5501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -5500) (1000 1000)) ) net(2 name('4') rect(l1 (1000 2000) (1000 10000)) rect(l1 (-17500 0) (17500 1000)) rect(l1 (-20500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (17499 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (17500 -10500) (1000 1000)) ) net(3 name('2') rect(l1 (-15500 -2000) (12500 1000)) rect(l1 (-15500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -500) (1000 1000)) ) net(4 name('1') rect(l1 (-15500 -13000) (6000 1000)) rect(l1 (-1000 0) (1000 6000)) rect(l1 (-9000 -8000) (3500 3000)) rect(l1 (4500 5000) (7500 1000)) - rect(l1 (-13501 -7501) (2 2)) - rect(l2 (12499 6499) (1000 1000)) + rect(l1 (-13500 -7500) (0 0)) + rect(l2 (12500 6500) (1000 1000)) ) net(5 name('8') rect(l1 (1000 -13000) (22000 1000)) rect(l1 (-22000 0) (1000 7000)) rect(l1 (20500 -9000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-23501 6499) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-23500 6500) (1000 1000)) ) net(6 name('5,7') rect(l1 (6000 -6000) (7000 1000)) @@ -89,16 +89,16 @@ layout( rect(l1 (-8590 -10000) (1000 10000)) rect(l1 (-1000 0) (17000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -6501) (2 2)) - rect(l1 (-2 4998) (2 2)) - rect(l2 (-18501 -18501) (1000 1000)) + rect(l1 (-1500 -6500) (0 0)) + rect(l1 (0 5000) (0 0)) + rect(l2 (-18500 -18500) (1000 1000)) rect(l2 (-1000 7000) (1000 1000)) ) net(7 name('6') rect(l1 (16000 -2000) (7000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-18501 -501) (3500 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (-18500 -500) (3500 1000)) rect(l3 (6500 -1000) (1000 1000)) rect(l3 (-8500 -1000) (1000 1000)) rect(l4 (-1000 -1000) (8500 1000)) diff --git a/testdata/lvs/blackbox5.lvsdb b/testdata/lvs/blackbox5.lvsdb index 3c2726f5a..0969f0954 100644 --- a/testdata/lvs/blackbox5.lvsdb +++ b/testdata/lvs/blackbox5.lvsdb @@ -55,36 +55,36 @@ layout( rect(l1 (-7500 0) (1000 4000)) rect(l1 (-6000 0) (6000 1000)) rect(l1 (-9000 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -5501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -5500) (1000 1000)) ) net(3 name('4') rect(l1 (1000 2000) (1000 10000)) rect(l1 (-17500 0) (17500 1000)) rect(l1 (-20500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (17499 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (17500 -10500) (1000 1000)) ) net(4 name('2') rect(l1 (-15500 -2000) (12500 1000)) rect(l1 (-15500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (12499 -501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (12500 -500) (1000 1000)) ) net(5 name('1') rect(l1 (-15500 -13000) (6000 1000)) rect(l1 (-1000 0) (1000 6000)) rect(l1 (-9000 -8000) (3500 3000)) rect(l1 (4500 5000) (7500 1000)) - rect(l1 (-13501 -7501) (2 2)) - rect(l2 (12499 6499) (1000 1000)) + rect(l1 (-13500 -7500) (0 0)) + rect(l2 (12500 6500) (1000 1000)) ) net(6 name('8') rect(l1 (1000 -13000) (22000 1000)) rect(l1 (-22000 0) (1000 7000)) rect(l1 (20500 -9000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l2 (-23501 6499) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l2 (-23500 6500) (1000 1000)) ) net(7 name('5,7') rect(l1 (6000 2000) (1000 10000)) @@ -93,15 +93,15 @@ layout( rect(l1 (-6960 -6450) (700 4950)) rect(l1 (-2270 -5500) (5530 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-2 4998) (2 2)) - rect(l2 (-18501 -10501) (1000 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (0 5000) (0 0)) + rect(l2 (-18500 -10500) (1000 1000)) ) net(8 name('6') rect(l1 (16000 -2000) (7000 1000)) rect(l1 (-500 -2000) (3500 3000)) - rect(l1 (-1501 -1501) (2 2)) - rect(l1 (-18501 -501) (3500 1000)) + rect(l1 (-1500 -1500) (0 0)) + rect(l1 (-18500 -500) (3500 1000)) rect(l3 (6500 -1000) (1000 1000)) rect(l3 (-8500 -1000) (1000 1000)) rect(l4 (-1000 -1000) (8500 1000)) diff --git a/testdata/lvs/double_height.lvsdb b/testdata/lvs/double_height.lvsdb index 7a1634dd0..2ad29707b 100644 --- a/testdata/lvs/double_height.lvsdb +++ b/testdata/lvs/double_height.lvsdb @@ -120,23 +120,23 @@ J( R((0 0) (3000 9200)) N(1 I(VDD) R(l10 (0 3150) (3000 2900)) - R(l13 (-1891 -1451) (2 2)) + R(l13 (-1890 -1450) (0 0)) ) N(2 I(A1) - R(l11 (1479 7109) (2 2)) + R(l11 (1480 7110) (0 0)) ) N(3 I(A2) - R(l11 (1519 1949) (2 2)) + R(l11 (1520 1950) (0 0)) ) N(4 I(Q1) - R(l12 (1919 7069) (2 2)) + R(l12 (1920 7070) (0 0)) ) N(5 I(Q2) - R(l12 (1939 1949) (2 2)) + R(l12 (1940 1950) (0 0)) ) N(6 I(VSS) - R(l13 (2679 8389) (2 2)) - R(l13 (-32 -7642) (2 2)) + R(l13 (2680 8390) (0 0)) + R(l13 (-30 -7640) (0 0)) ) P(1 I(VDD)) P(2 I(A1)) @@ -168,20 +168,20 @@ J( ) N(2 I(IN) R(l3 (-90 6850) (1590 650)) - R(l11 (-701 -351) (2 2)) + R(l11 (-700 -350) (0 0)) ) N(3 I(OUT) R(l8 (-90 1720) (1890 470)) - R(l12 (-1171 -231) (2 2)) + R(l12 (-1170 -230) (0 0)) ) N(4 I(VSS) R(l10 (3000 655) (1385 250)) R(l10 (-250 0) (250 7220)) R(l10 (-1385 0) (1385 250)) - R(l13 (-686 -126) (2 2)) + R(l13 (-685 -125) (0 0)) ) N(5 I(VDD) - R(l13 (2299 4599) (2 2)) + R(l13 (2300 4600) (0 0)) ) P(2 I(IN)) P(3 I(OUT)) diff --git a/testdata/lvs/double_height2.lvsdb b/testdata/lvs/double_height2.lvsdb index 6922163e3..3fa095fe8 100644 --- a/testdata/lvs/double_height2.lvsdb +++ b/testdata/lvs/double_height2.lvsdb @@ -119,24 +119,24 @@ J( X(INV2 R((0 0) (3000 9200)) N(1 I(A1) - R(l11 (1479 7109) (2 2)) + R(l11 (1480 7110) (0 0)) ) N(2 I(A2) - R(l11 (1519 1949) (2 2)) + R(l11 (1520 1950) (0 0)) ) N(3 I(Q1) - R(l12 (1919 7069) (2 2)) + R(l12 (1920 7070) (0 0)) ) N(4 I(Q2) - R(l12 (1939 1949) (2 2)) + R(l12 (1940 1950) (0 0)) ) N(5 I(R) - R(l13 (2719 5559) (2 2)) - R(l13 (-92 -1942) (2 2)) + R(l13 (2720 5560) (0 0)) + R(l13 (-90 -1940) (0 0)) ) N(6 I(VSS) - R(l13 (2679 8389) (2 2)) - R(l13 (-32 -7642) (2 2)) + R(l13 (2680 8390) (0 0)) + R(l13 (-30 -7640) (0 0)) ) P(1 I(A1)) P(2 I(A2)) @@ -161,24 +161,24 @@ J( R((-90 0) (3090 9200)) N(1 I(ANY) R(l3 (-90 6850) (1590 650)) - R(l11 (-701 -351) (2 2)) + R(l11 (-700 -350) (0 0)) ) N(2 I(R) - R(l11 (1479 2369) (2 2)) - R(l8 (439 4579) (690 510)) - R(l12 (-301 -291) (2 2)) + R(l11 (1480 2370) (0 0)) + R(l8 (440 4580) (690 510)) + R(l12 (-300 -290) (0 0)) ) N(3 I(ANY) R(l8 (-90 1720) (1890 470)) - R(l12 (-1171 -231) (2 2)) + R(l12 (-1170 -230) (0 0)) ) N(4 I(PWR) - R(l13 (299 5549) (2 2)) - R(l13 (-12 -1992) (2 2)) + R(l13 (300 5550) (0 0)) + R(l13 (-10 -1990) (0 0)) ) N(5 I(GND) - R(l13 (319 8399) (2 2)) - R(l13 (-52 -7602) (2 2)) + R(l13 (320 8400) (0 0)) + R(l13 (-50 -7600) (0 0)) ) P(1 I(ANY)) P(2 I(R)) diff --git a/testdata/lvs/floating.lvsdb b/testdata/lvs/floating.lvsdb index 29042b22a..ee3408fed 100644 --- a/testdata/lvs/floating.lvsdb +++ b/testdata/lvs/floating.lvsdb @@ -88,8 +88,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(2 name(VDD) @@ -101,8 +101,8 @@ layout( rect(l11 (-590 1460) (1800 800)) rect(l11 (-1050 -550) (300 300)) rect(l11 (-700 -850) (300 300)) - rect(l11 (299 499) (2 2)) - rect(l11 (-601 -2201) (300 1400)) + rect(l11 (300 500) (0 0)) + rect(l11 (-600 -2200) (300 1400)) rect(l2 (-350 -1450) (425 1500)) rect(l9 (-75 450) (500 500)) ) @@ -113,8 +113,8 @@ layout( rect(l4 (-250 1940) (250 2000)) rect(l4 (-250 -2000) (250 2000)) rect(l8 (-465 -3790) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(4 name(VSS) rect(l8 (810 710) (180 180)) @@ -122,8 +122,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-590 -2100) (1800 800)) rect(l11 (-1050 -550) (300 300)) - rect(l11 (-101 -151) (2 2)) - rect(l11 (-601 399) (300 1360)) + rect(l11 (-100 -150) (0 0)) + rect(l11 (-600 400) (300 1360)) rect(l6 (-350 -900) (425 950)) rect(l10 (-75 -2010) (500 400)) ) @@ -170,22 +170,22 @@ layout( # Nets with their geometries net(1 name('A<1>') - rect(l11 (599 3099) (2 2)) + rect(l11 (600 3100) (0 0)) ) net(2 name('A<2>') - rect(l11 (2399 3099) (2 2)) + rect(l11 (2400 3100) (0 0)) ) net(3 name('B<2>') - rect(l11 (2999 3999) (2 2)) + rect(l11 (3000 4000) (0 0)) ) net(4 name('B<1>') - rect(l11 (1199 3999) (2 2)) + rect(l11 (1200 4000) (0 0)) ) net(5 name(VDD) - rect(l11 (1799 7199) (2 2)) + rect(l11 (1800 7200) (0 0)) ) net(6 name(VSS) - rect(l11 (1799 799) (2 2)) + rect(l11 (1800 800) (0 0)) ) # Outgoing pins and their connections to nets @@ -220,10 +220,10 @@ layout( rect(l11 (3100 2950) (950 300)) ) net(2 name(A) - rect(l11 (599 3099) (2 2)) + rect(l11 (600 3100) (0 0)) ) net(3 name(C) - rect(l11 (2399 3099) (2 2)) + rect(l11 (2400 3100) (0 0)) ) net(4 name(SUBSTRATE)) net(5) diff --git a/testdata/lvs/invchain_cheat.lvsdb b/testdata/lvs/invchain_cheat.lvsdb index 67ff6bc68..f4ba78725 100644 --- a/testdata/lvs/invchain_cheat.lvsdb +++ b/testdata/lvs/invchain_cheat.lvsdb @@ -146,22 +146,22 @@ J( X(INV3 R((0 0) (6300 4600)) N(1 I('3') - R(l11 (1509 1929) (2 2)) + R(l11 (1510 1930) (0 0)) ) N(2 I('5') - R(l11 (2319 1909) (2 2)) + R(l11 (2320 1910) (0 0)) ) N(3 I('7') - R(l11 (4829 1889) (2 2)) + R(l11 (4830 1890) (0 0)) ) N(4 I('4') - R(l12 (1089 1969) (2 2)) + R(l12 (1090 1970) (0 0)) ) N(5 I('6') - R(l12 (2679 1939) (2 2)) + R(l12 (2680 1940) (0 0)) ) N(6 I('8') - R(l12 (4409 1919) (2 2)) + R(l12 (4410 1920) (0 0)) ) N(7) N(8) @@ -196,7 +196,7 @@ J( R((-1500 -800) (10400 4600)) N(1 I(IN) R(l3 (-1295 925) (1235 350)) - R(l11 (-911 -151) (2 2)) + R(l11 (-910 -150) (0 0)) ) N(2 R(l3 (445 805) (480 550)) @@ -224,17 +224,17 @@ J( R(l8 (-1065 -285) (1105 350)) ) N(7 I(OUT) - R(l12 (7789 1099) (2 2)) + R(l12 (7790 1100) (0 0)) ) N(8 I(VSS) - R(l13 (6599 -1) (2 2)) - R(l13 (-3302 -2) (2 2)) - R(l13 (-3302 -2) (2 2)) + R(l13 (6600 0) (0 0)) + R(l13 (-3300 0) (0 0)) + R(l13 (-3300 0) (0 0)) ) N(9 I(VDD) - R(l13 (3299 2799) (2 2)) - R(l13 (3298 -2) (2 2)) - R(l13 (-6602 -2) (2 2)) + R(l13 (3300 2800) (0 0)) + R(l13 (3300 0) (0 0)) + R(l13 (-6600 0) (0 0)) ) P(1 I(IN)) P(7 I(OUT)) diff --git a/testdata/lvs/ringo_device_subcircuits.lvsdb.1 b/testdata/lvs/ringo_device_subcircuits.lvsdb.1 index d9f58648a..06212f154 100644 --- a/testdata/lvs/ringo_device_subcircuits.lvsdb.1 +++ b/testdata/lvs/ringo_device_subcircuits.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_device_subcircuits.lvsdb.2 b/testdata/lvs/ringo_device_subcircuits.lvsdb.2 index 30f6382ed..4a2536ed7 100644 --- a/testdata/lvs/ringo_device_subcircuits.lvsdb.2 +++ b/testdata/lvs/ringo_device_subcircuits.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_layout_var.lvsdb.1 b/testdata/lvs/ringo_layout_var.lvsdb.1 index 167b0044a..7385ada3b 100644 --- a/testdata/lvs/ringo_layout_var.lvsdb.1 +++ b/testdata/lvs/ringo_layout_var.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -368,8 +368,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -378,8 +378,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -387,8 +387,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -400,8 +400,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -485,8 +485,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -500,29 +500,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -531,15 +531,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_layout_var.lvsdb.2 b/testdata/lvs/ringo_layout_var.lvsdb.2 index d82b5247a..3264fd8a0 100644 --- a/testdata/lvs/ringo_layout_var.lvsdb.2 +++ b/testdata/lvs/ringo_layout_var.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -368,8 +368,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -378,8 +378,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -387,8 +387,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -400,8 +400,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -485,8 +485,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -500,29 +500,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -531,15 +531,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_mixed_hierarchy.lvsdb b/testdata/lvs/ringo_mixed_hierarchy.lvsdb index 9a4c2d3ef..f97da3336 100644 --- a/testdata/lvs/ringo_mixed_hierarchy.lvsdb +++ b/testdata/lvs/ringo_mixed_hierarchy.lvsdb @@ -144,8 +144,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -154,8 +154,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -163,8 +163,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -176,8 +176,8 @@ layout( rect(l4 (-250 1940) (250 2000)) rect(l4 (-250 -2000) (250 2000)) rect(l8 (-465 -3790) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -232,15 +232,15 @@ layout( rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) rect(l11 (-240 -240) (300 300)) - rect(l11 (-131 -151) (2 2)) - rect(l11 (18449 -1051) (900 300)) + rect(l11 (-130 -150) (0 0)) + rect(l11 (18450 -1050) (900 300)) rect(l11 (-1390 590) (320 320)) rect(l11 (-18460 -320) (320 320)) rect(l12 (17880 -260) (200 200)) rect(l12 (-18340 -200) (200 200)) rect(l13 (100 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (17919 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (17920 -200) (400 400)) rect(l13 (-18540 -400) (400 400)) ) net(2 name('A,ENABLE') @@ -251,11 +251,11 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l8 (-265 -3790) (180 180)) rect(l11 (-240 -240) (300 300)) - rect(l11 (-151 -151) (2 2)) - rect(l11 (-161 -161) (320 320)) + rect(l11 (-150 -150) (0 0)) + rect(l11 (-160 -160) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(3 name(VDD) rect(l3 (1700 4500) (2600 3500)) @@ -274,16 +274,16 @@ layout( rect(l8 (-180 -1280) (180 180)) rect(l11 (-21840 -1290) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l11 (-102 48) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-1150 -400) (0 0)) + rect(l11 (-100 50) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l2 (-23025 -2550) (450 1500)) rect(l9 (-2275 -450) (500 1500)) rect(l9 (22900 -1500) (500 1500)) @@ -338,8 +338,8 @@ layout( net(14 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 rect(l6 (2775 1660) (450 950)) @@ -355,16 +355,16 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-22540 -40) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l11 (-102 48) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-1150 -400) (0 0)) + rect(l11 (-100 50) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l6 (-23700 460) (425 950)) rect(l10 (-1575 -2210) (500 1500)) rect(l10 (22900 -1500) (500 1500)) diff --git a/testdata/lvs/ringo_simple.lvsdb.1 b/testdata/lvs/ringo_simple.lvsdb.1 index b4494918c..aab318d16 100644 --- a/testdata/lvs/ringo_simple.lvsdb.1 +++ b/testdata/lvs/ringo_simple.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple.lvsdb.2 b/testdata/lvs/ringo_simple.lvsdb.2 index b585c4ca4..3a8a977fb 100644 --- a/testdata/lvs/ringo_simple.lvsdb.2 +++ b/testdata/lvs/ringo_simple.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_blackboxing.lvsdb b/testdata/lvs/ringo_simple_blackboxing.lvsdb index ac20fdda6..938c32edf 100644 --- a/testdata/lvs/ringo_simple_blackboxing.lvsdb +++ b/testdata/lvs/ringo_simple_blackboxing.lvsdb @@ -111,8 +111,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -126,29 +126,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -157,15 +157,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_blackboxing_netter.lvsdb b/testdata/lvs/ringo_simple_blackboxing_netter.lvsdb index ac20fdda6..938c32edf 100644 --- a/testdata/lvs/ringo_simple_blackboxing_netter.lvsdb +++ b/testdata/lvs/ringo_simple_blackboxing_netter.lvsdb @@ -111,8 +111,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -126,29 +126,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -157,15 +157,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_compare2.cir b/testdata/lvs/ringo_simple_compare2.cir new file mode 100644 index 000000000..761afb771 --- /dev/null +++ b/testdata/lvs/ringo_simple_compare2.cir @@ -0,0 +1,83 @@ +* Extracted by KLayout + +* cell RINGO +* pin FB +* pin VDD +* pin OUT +* pin ENABLE +* pin VSS +.SUBCKT RINGO 11 12 13 14 15 +* net 11 FB +* net 12 VDD +* net 13 OUT +* net 14 ENABLE +* net 15 VSS +* cell instance $1 r0 *1 1.8,0 +X$1 12 1 15 12 11 14 15 ND2X1 +* cell instance $2 r0 *1 4.2,0 +X$2 12 2 15 12 1 15 INVX1 +* cell instance $3 r0 *1 6,0 +X$3 12 3 15 12 2 15 INVX1 +* cell instance $4 r0 *1 7.8,0 +X$4 12 4 15 12 3 15 INVX1 +* cell instance $5 r0 *1 9.6,0 +X$5 12 5 15 12 4 15 INVX1 +* cell instance $6 r0 *1 11.4,0 +X$6 12 6 15 12 5 15 INVX1 +* cell instance $7 r0 *1 13.2,0 +X$7 12 7 15 12 6 15 INVX1 +* cell instance $8 r0 *1 15,0 +X$8 12 8 15 12 7 15 INVX1 +* cell instance $9 r0 *1 16.8,0 +X$9 12 9 15 12 8 15 INVX1 +* cell instance $10 r0 *1 18.6,0 +X$10 12 10 15 12 9 15 INVX1 +* cell instance $11 r0 *1 20.4,0 +X$11 12 11 15 12 10 15 INVX1 +* cell instance $12 r0 *1 22.2,0 +X$12 12 13 15 12 11 15 INVX1 +.ENDS RINGO + +* cell INVX1 +* pin VDD +* pin OUT +* pin VSS +* pin +* pin IN +* pin SUBSTRATE +.SUBCKT INVX1 1 2 3 4 5 6 +* net 1 VDD +* net 2 OUT +* net 3 VSS +* net 5 IN +* net 6 SUBSTRATE +* device instance $1 r0 *1 0.85,5.8 PMOS +M$1 1 5 2 4 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.6375P PS=3.85U PD=3.85U +* device instance $2 r0 *1 0.85,2.135 NMOS +M$2 3 5 2 6 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.40375P PS=2.75U PD=2.75U +.ENDS INVX1 + +* cell ND2X1 +* pin VDD +* pin OUT +* pin VSS +* pin +* pin B +* pin A +* pin SUBSTRATE +.SUBCKT ND2X1 1 2 3 4 5 6 7 +* net 1 VDD +* net 2 OUT +* net 3 VSS +* net 5 B +* net 6 A +* net 7 SUBSTRATE +* device instance $1 r0 *1 0.85,5.8 PMOS +M$1 2 6 1 4 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.3375P PS=3.85U PD=1.95U +* device instance $2 r0 *1 1.55,5.8 PMOS +M$2 1 5 2 4 PMOS L=0.25U W=1.5U AS=0.3375P AD=0.6375P PS=1.95U PD=3.85U +* device instance $3 r0 *1 0.85,2.135 NMOS +M$3 3 6 8 7 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.21375P PS=2.75U PD=1.4U +* device instance $4 r0 *1 1.55,2.135 NMOS +M$4 8 5 2 7 NMOS L=0.25U W=0.95U AS=0.21375P AD=0.40375P PS=1.4U PD=2.75U +.ENDS ND2X1 diff --git a/testdata/lvs/ringo_simple_compare2.lvs b/testdata/lvs/ringo_simple_compare2.lvs new file mode 100644 index 000000000..abaeaff92 --- /dev/null +++ b/testdata/lvs/ringo_simple_compare2.lvs @@ -0,0 +1,77 @@ + +source($lvs_test_source, "RINGO") + +report_lvs($lvs_test_target_lvsdb, true) + +target_netlist($lvs_test_target_cir, write_spice, "Extracted by KLayout") + +schematic("ringo.cir") + +deep + +# Drawing layers + +nwell = input(1, 0) +active = input(2, 0) +pplus = input(3, 0) +nplus = input(4, 0) +poly = input(5, 0) +contact = input(8, 0) +metal1 = input(9, 0) +via1 = input(10, 0) +metal2 = input(11, 0) + +# Bulk layer for terminal provisioning + +bulk = polygon_layer + +# Computed layers + +active_in_nwell = active & nwell +pactive = active_in_nwell & pplus +pgate = pactive & poly +psd = pactive - pgate +ntie = active_in_nwell & nplus + +active_outside_nwell = active - nwell +nactive = active_outside_nwell & nplus +ngate = nactive & poly +nsd = nactive - ngate +ptie = active_outside_nwell & pplus + +# Device extraction + +# PMOS transistor device extraction +extract_devices(mos4("PMOS"), { "SD" => psd, "G" => pgate, "W" => nwell, + "tS" => psd, "tD" => psd, "tG" => poly, "tW" => nwell }) + +# NMOS transistor device extraction +extract_devices(mos4("NMOS"), { "SD" => nsd, "G" => ngate, "W" => bulk, + "tS" => nsd, "tD" => nsd, "tG" => poly, "tW" => bulk }) + +# Define connectivity for netlist extraction + +# Inter-layer +connect(psd, contact) +connect(nsd, contact) +connect(poly, contact) +connect(ntie, contact) +connect(nwell, ntie) +connect(ptie, contact) +connect(contact, metal1) +connect(metal1, via1) +connect(via1, metal2) + +# Global +connect_global(bulk, "SUBSTRATE") +connect_global(ptie, "SUBSTRATE") + +# Compare section + +netlist.simplify + +compare + +# issue-971 +compare + diff --git a/testdata/lvs/ringo_simple_compare2.lvsdb.1 b/testdata/lvs/ringo_simple_compare2.lvsdb.1 new file mode 100644 index 000000000..aab318d16 --- /dev/null +++ b/testdata/lvs/ringo_simple_compare2.lvsdb.1 @@ -0,0 +1,908 @@ +#%lvsdb-klayout + +# Layout +layout( + top(RINGO) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l3 '1/0') + layer(l4 '5/0') + layer(l8 '8/0') + layer(l11 '9/0') + layer(l12 '10/0') + layer(l13 '11/0') + layer(l7) + layer(l2) + layer(l9) + layer(l6) + layer(l10) + + # Mask layer connectivity + connect(l3 l3 l9) + connect(l4 l4 l8) + connect(l8 l4 l8 l11 l2 l9 l6 l10) + connect(l11 l8 l11 l12) + connect(l12 l11 l12 l13) + connect(l13 l12 l13) + connect(l7 l7) + connect(l2 l8 l2) + connect(l9 l3 l8 l9) + connect(l6 l8 l6) + connect(l10 l8 l10) + + # Global nets and connectivity + global(l7 SUBSTRATE) + global(l10 SUBSTRATE) + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$PMOS PMOS + terminal(S + rect(l2 (-550 -750) (425 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (450 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$PMOS$1 PMOS + terminal(S + rect(l2 (-575 -750) (450 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (425 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$PMOS$2 PMOS + terminal(S + rect(l2 (-550 -750) (425 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (425 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$NMOS NMOS + terminal(S + rect(l6 (-550 -475) (425 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (450 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + device(D$NMOS$1 NMOS + terminal(S + rect(l6 (-575 -475) (450 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (425 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + device(D$NMOS$2 NMOS + terminal(S + rect(l6 (-550 -475) (425 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (425 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(ND2X1 + + # Circuit boundary + rect((-100 400) (2600 7600)) + + # Nets with their geometries + net(1 name(VDD) + rect(l8 (1110 5160) (180 180)) + rect(l8 (-180 920) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l11 (-240 -790) (300 1700)) + rect(l11 (-1350 0) (2400 800)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) + rect(l2 (-400 -1500) (425 1500)) + ) + net(2 name(OUT) + rect(l8 (1810 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-1580 3760) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (1220 920) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) + rect(l11 (-110 1390) (300 1400)) + polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) + rect(l11 (1100 -1700) (300 300)) + rect(l11 (-300 0) (300 1400)) + rect(l2 (-1750 -1450) (425 1500)) + rect(l2 (950 -1500) (425 1500)) + rect(l6 (-425 -4890) (425 950)) + ) + net(3 name(VSS) + rect(l8 (410 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -1300) (300 1360)) + rect(l11 (-650 -2160) (2400 800)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) + ) + net(4 + rect(l3 (-100 4500) (2600 3500)) + ) + net(5 name(B) + rect(l4 (1425 2860) (250 1940)) + rect(l4 (-345 -950) (300 300)) + rect(l4 (-205 650) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-285 1050) (180 180)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) + ) + net(6 name(A) + rect(l4 (725 2860) (250 1940)) + rect(l4 (-325 -1850) (300 300)) + rect(l4 (-225 1550) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-265 150) (180 180)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) + ) + net(7 name(SUBSTRATE)) + net(8 + rect(l6 (975 1660) (425 950)) + rect(l6 (-400 -950) (425 950)) + ) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4) + pin(5 name(B)) + pin(6 name(A)) + pin(7 name(SUBSTRATE)) + + # Devices and their connections + device(1 D$PMOS + location(850 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.6375) + param(AD 0.3375) + param(PS 3.85) + param(PD 1.95) + terminal(S 2) + terminal(G 6) + terminal(D 1) + terminal(B 4) + ) + device(2 D$PMOS$1 + location(1550 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.3375) + param(AD 0.6375) + param(PS 1.95) + param(PD 3.85) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(3 D$NMOS + location(850 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.40375) + param(AD 0.21375) + param(PS 2.75) + param(PD 1.4) + terminal(S 3) + terminal(G 6) + terminal(D 8) + terminal(B 7) + ) + device(4 D$NMOS$1 + location(1550 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.21375) + param(AD 0.40375) + param(PS 1.4) + param(PD 2.75) + terminal(S 8) + terminal(G 5) + terminal(D 2) + terminal(B 7) + ) + + ) + circuit(INVX1 + + # Circuit boundary + rect((-100 400) (2000 7600)) + + # Nets with their geometries + net(1 name(VDD) + rect(l8 (410 6260) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l11 (-240 -240) (300 1400)) + rect(l11 (-650 300) (1800 800)) + rect(l11 (-1450 -1100) (300 300)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) + ) + net(2 name(OUT) + rect(l8 (1110 5160) (180 180)) + rect(l8 (-180 920) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -4120) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -790) (300 4790)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) + rect(l6 (-425 -4890) (425 950)) + ) + net(3 name(VSS) + rect(l8 (410 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -1300) (300 1360)) + rect(l11 (-650 -2160) (1800 800)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) + ) + net(4 + rect(l3 (-100 4500) (2000 3500)) + ) + net(5 name(IN) + rect(l4 (725 2860) (250 1940)) + rect(l4 (-525 -1850) (300 300)) + rect(l4 (-25 1550) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-465 150) (180 180)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) + ) + net(6 name(SUBSTRATE)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4) + pin(5 name(IN)) + pin(6 name(SUBSTRATE)) + + # Devices and their connections + device(1 D$PMOS$2 + location(850 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.6375) + param(AD 0.6375) + param(PS 3.85) + param(PD 3.85) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(2 D$NMOS$2 + location(850 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.40375) + param(AD 0.40375) + param(PS 2.75) + param(PD 2.75) + terminal(S 3) + terminal(G 5) + terminal(D 2) + terminal(B 6) + ) + + ) + circuit(RINGO + + # Circuit boundary + rect((0 350) (25800 7650)) + + # Nets with their geometries + net(1 + rect(l11 (4040 2950) (610 300)) + ) + net(2 + rect(l11 (5550 2950) (900 300)) + ) + net(3 + rect(l11 (7350 2950) (900 300)) + ) + net(4 + rect(l11 (9150 2950) (900 300)) + ) + net(5 + rect(l11 (10950 2950) (900 300)) + ) + net(6 + rect(l11 (12750 2950) (900 300)) + ) + net(7 + rect(l11 (14550 2950) (900 300)) + ) + net(8 + rect(l11 (16350 2950) (900 300)) + ) + net(9 + rect(l11 (18150 2950) (900 300)) + ) + net(10 + rect(l11 (19950 2950) (900 300)) + ) + net(11 name(FB) + rect(l11 (21750 2950) (900 300)) + rect(l11 (-19530 590) (320 320)) + rect(l11 (17820 -320) (320 320)) + rect(l12 (-18400 -260) (200 200)) + rect(l12 (17940 -200) (200 200)) + rect(l13 (-18040 -300) (17740 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) + rect(l13 (17740 -400) (400 400)) + ) + net(12 name(VDD) + rect(l3 (500 4500) (1400 3500)) + rect(l3 (-1900 -3500) (600 3500)) + rect(l3 (23300 -3500) (1400 3500)) + rect(l3 (-100 -3500) (600 3500)) + rect(l8 (-24690 -1240) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (23220 370) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) + rect(l11 (23400 -800) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) + rect(l9 (-24850 -1500) (500 1500)) + rect(l9 (22900 -1500) (500 1500)) + ) + net(13 name(OUT) + rect(l11 (23440 3840) (320 320)) + rect(l12 (-260 -260) (200 200)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) + ) + net(14 name(ENABLE) + rect(l11 (2440 2940) (320 320)) + rect(l12 (-260 -260) (200 200)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) + ) + net(15 name(VSS) + rect(l8 (1110 1610) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (23220 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) + rect(l11 (23850 -750) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) + rect(l10 (-24850 -800) (500 1500)) + rect(l10 (22900 -1500) (500 1500)) + ) + + # Outgoing pins and their connections to nets + pin(11 name(FB)) + pin(12 name(VDD)) + pin(13 name(OUT)) + pin(14 name(ENABLE)) + pin(15 name(VSS)) + + # Subcircuits and their connections + circuit(1 ND2X1 location(1800 0) + pin(0 12) + pin(1 1) + pin(2 15) + pin(3 12) + pin(4 11) + pin(5 14) + pin(6 15) + ) + circuit(2 INVX1 location(4200 0) + pin(0 12) + pin(1 2) + pin(2 15) + pin(3 12) + pin(4 1) + pin(5 15) + ) + circuit(3 INVX1 location(6000 0) + pin(0 12) + pin(1 3) + pin(2 15) + pin(3 12) + pin(4 2) + pin(5 15) + ) + circuit(4 INVX1 location(7800 0) + pin(0 12) + pin(1 4) + pin(2 15) + pin(3 12) + pin(4 3) + pin(5 15) + ) + circuit(5 INVX1 location(9600 0) + pin(0 12) + pin(1 5) + pin(2 15) + pin(3 12) + pin(4 4) + pin(5 15) + ) + circuit(6 INVX1 location(11400 0) + pin(0 12) + pin(1 6) + pin(2 15) + pin(3 12) + pin(4 5) + pin(5 15) + ) + circuit(7 INVX1 location(13200 0) + pin(0 12) + pin(1 7) + pin(2 15) + pin(3 12) + pin(4 6) + pin(5 15) + ) + circuit(8 INVX1 location(15000 0) + pin(0 12) + pin(1 8) + pin(2 15) + pin(3 12) + pin(4 7) + pin(5 15) + ) + circuit(9 INVX1 location(16800 0) + pin(0 12) + pin(1 9) + pin(2 15) + pin(3 12) + pin(4 8) + pin(5 15) + ) + circuit(10 INVX1 location(18600 0) + pin(0 12) + pin(1 10) + pin(2 15) + pin(3 12) + pin(4 9) + pin(5 15) + ) + circuit(11 INVX1 location(20400 0) + pin(0 12) + pin(1 11) + pin(2 15) + pin(3 12) + pin(4 10) + pin(5 15) + ) + circuit(12 INVX1 location(22200 0) + pin(0 12) + pin(1 13) + pin(2 15) + pin(3 12) + pin(4 11) + pin(5 15) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(ND2X1 + + # Nets + net(1 name(VDD)) + net(2 name(OUT)) + net(3 name(VSS)) + net(4 name(NWELL)) + net(5 name(B)) + net(6 name(A)) + net(7 name(BULK)) + net(8 name('1')) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4 name(NWELL)) + pin(5 name(B)) + pin(6 name(A)) + pin(7 name(BULK)) + + # Devices and their connections + device(1 PMOS + name($1) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 1) + terminal(B 4) + ) + device(2 PMOS + name($2) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(3 NMOS + name($3) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 3) + terminal(G 6) + terminal(D 8) + terminal(B 7) + ) + device(4 NMOS + name($4) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 5) + terminal(D 2) + terminal(B 7) + ) + + ) + circuit(INVX1 + + # Nets + net(1 name(VDD)) + net(2 name(OUT)) + net(3 name(VSS)) + net(4 name(NWELL)) + net(5 name(IN)) + net(6 name(BULK)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4 name(NWELL)) + pin(5 name(IN)) + pin(6 name(BULK)) + + # Devices and their connections + device(1 PMOS + name($1) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(2 NMOS + name($2) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 3) + terminal(G 5) + terminal(D 2) + terminal(B 6) + ) + + ) + circuit(RINGO + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name(FB)) + net(4 name(ENABLE)) + net(5 name(OUT)) + net(6 name('1')) + net(7 name('2')) + net(8 name('3')) + net(9 name('4')) + net(10 name('5')) + net(11 name('6')) + net(12 name('7')) + net(13 name('8')) + net(14 name('9')) + net(15 name('10')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name(FB)) + pin(4 name(ENABLE)) + pin(5 name(OUT)) + + # Subcircuits and their connections + circuit(1 ND2X1 name($1) + pin(0 2) + pin(1 6) + pin(2 1) + pin(3 2) + pin(4 3) + pin(5 4) + pin(6 1) + ) + circuit(2 INVX1 name($2) + pin(0 2) + pin(1 7) + pin(2 1) + pin(3 2) + pin(4 6) + pin(5 1) + ) + circuit(3 INVX1 name($3) + pin(0 2) + pin(1 8) + pin(2 1) + pin(3 2) + pin(4 7) + pin(5 1) + ) + circuit(4 INVX1 name($4) + pin(0 2) + pin(1 9) + pin(2 1) + pin(3 2) + pin(4 8) + pin(5 1) + ) + circuit(5 INVX1 name($5) + pin(0 2) + pin(1 10) + pin(2 1) + pin(3 2) + pin(4 9) + pin(5 1) + ) + circuit(6 INVX1 name($6) + pin(0 2) + pin(1 11) + pin(2 1) + pin(3 2) + pin(4 10) + pin(5 1) + ) + circuit(7 INVX1 name($7) + pin(0 2) + pin(1 12) + pin(2 1) + pin(3 2) + pin(4 11) + pin(5 1) + ) + circuit(8 INVX1 name($8) + pin(0 2) + pin(1 13) + pin(2 1) + pin(3 2) + pin(4 12) + pin(5 1) + ) + circuit(9 INVX1 name($9) + pin(0 2) + pin(1 14) + pin(2 1) + pin(3 2) + pin(4 13) + pin(5 1) + ) + circuit(10 INVX1 name($10) + pin(0 2) + pin(1 15) + pin(2 1) + pin(3 2) + pin(4 14) + pin(5 1) + ) + circuit(11 INVX1 name($11) + pin(0 2) + pin(1 3) + pin(2 1) + pin(3 2) + pin(4 15) + pin(5 1) + ) + circuit(12 INVX1 name($12) + pin(0 2) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 3) + pin(5 1) + ) + + ) +) + +# Cross reference +xref( + circuit(INVX1 INVX1 match + xref( + net(4 4 match) + net(5 5 match) + net(2 2 match) + net(6 6 match) + net(1 1 match) + net(3 3 match) + pin(3 3 match) + pin(4 4 match) + pin(1 1 match) + pin(5 5 match) + pin(0 0 match) + pin(2 2 match) + device(2 2 match) + device(1 1 match) + ) + ) + circuit(ND2X1 ND2X1 match + xref( + net(8 8 match) + net(4 4 match) + net(6 6 match) + net(5 5 match) + net(2 2 match) + net(7 7 match) + net(1 1 match) + net(3 3 match) + pin(3 3 match) + pin(5 5 match) + pin(4 4 match) + pin(1 1 match) + pin(6 6 match) + pin(0 0 match) + pin(2 2 match) + device(3 3 match) + device(4 4 match) + device(1 1 match) + device(2 2 match) + ) + ) + circuit(RINGO RINGO match + xref( + net(1 6 match) + net(10 15 match) + net(2 7 match) + net(3 8 match) + net(4 9 match) + net(5 10 match) + net(6 11 match) + net(7 12 match) + net(8 13 match) + net(9 14 match) + net(14 4 match) + net(11 3 match) + net(13 5 match) + net(12 2 match) + net(15 1 match) + pin(3 3 match) + pin(0 2 match) + pin(2 4 match) + pin(1 1 match) + pin(4 0 match) + circuit(2 2 match) + circuit(3 3 match) + circuit(4 4 match) + circuit(5 5 match) + circuit(6 6 match) + circuit(7 7 match) + circuit(8 8 match) + circuit(9 9 match) + circuit(10 10 match) + circuit(11 11 match) + circuit(12 12 match) + circuit(1 1 match) + ) + ) +) diff --git a/testdata/lvs/ringo_simple_compare2.lvsdb.2 b/testdata/lvs/ringo_simple_compare2.lvsdb.2 new file mode 100644 index 000000000..3a8a977fb --- /dev/null +++ b/testdata/lvs/ringo_simple_compare2.lvsdb.2 @@ -0,0 +1,908 @@ +#%lvsdb-klayout + +# Layout +layout( + top(RINGO) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l3 '1/0') + layer(l4 '5/0') + layer(l8 '8/0') + layer(l11 '9/0') + layer(l12 '10/0') + layer(l13 '11/0') + layer(l7) + layer(l2) + layer(l9) + layer(l6) + layer(l10) + + # Mask layer connectivity + connect(l3 l3 l9) + connect(l4 l4 l8) + connect(l8 l4 l8 l11 l2 l9 l6 l10) + connect(l11 l8 l11 l12) + connect(l12 l11 l12 l13) + connect(l13 l12 l13) + connect(l7 l7) + connect(l2 l8 l2) + connect(l9 l3 l8 l9) + connect(l6 l8 l6) + connect(l10 l8 l10) + + # Global nets and connectivity + global(l7 SUBSTRATE) + global(l10 SUBSTRATE) + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$PMOS PMOS + terminal(S + rect(l2 (-550 -750) (425 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (450 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$PMOS$1 PMOS + terminal(S + rect(l2 (-575 -750) (450 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (425 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$PMOS$2 PMOS + terminal(S + rect(l2 (-550 -750) (425 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (425 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$NMOS NMOS + terminal(S + rect(l6 (-550 -475) (425 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (450 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + device(D$NMOS$1 NMOS + terminal(S + rect(l6 (-575 -475) (450 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (425 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + device(D$NMOS$2 NMOS + terminal(S + rect(l6 (-550 -475) (425 950)) + ) + terminal(G + rect(l4 (-125 -475) (250 950)) + ) + terminal(D + rect(l6 (125 -475) (425 950)) + ) + terminal(B + rect(l7 (-125 -475) (250 950)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(ND2X1 + + # Circuit boundary + rect((-100 400) (2600 7600)) + + # Nets with their geometries + net(1 name(VDD) + rect(l8 (1110 5160) (180 180)) + rect(l8 (-180 920) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l11 (-240 -790) (300 1700)) + rect(l11 (-1350 0) (2400 800)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) + rect(l2 (-400 -1500) (425 1500)) + ) + net(2 name(OUT) + rect(l8 (1810 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-1580 3760) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (1220 920) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) + rect(l11 (-110 1390) (300 1400)) + polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) + rect(l11 (1100 -1700) (300 300)) + rect(l11 (-300 0) (300 1400)) + rect(l2 (-375 -1450) (425 1500)) + rect(l2 (-1800 -1500) (425 1500)) + rect(l6 (950 -4890) (425 950)) + ) + net(3 name(VSS) + rect(l8 (410 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -1300) (300 1360)) + rect(l11 (-650 -2160) (2400 800)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) + ) + net(4 + rect(l3 (-100 4500) (2600 3500)) + ) + net(5 name(B) + rect(l4 (1425 2860) (250 1940)) + rect(l4 (-345 -950) (300 300)) + rect(l4 (-205 650) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-285 1050) (180 180)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) + ) + net(6 name(A) + rect(l4 (725 2860) (250 1940)) + rect(l4 (-325 -1850) (300 300)) + rect(l4 (-225 1550) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-265 150) (180 180)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) + ) + net(7 name(SUBSTRATE)) + net(8 + rect(l6 (975 1660) (425 950)) + rect(l6 (-400 -950) (425 950)) + ) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4) + pin(5 name(B)) + pin(6 name(A)) + pin(7 name(SUBSTRATE)) + + # Devices and their connections + device(1 D$PMOS + location(850 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.6375) + param(AD 0.3375) + param(PS 3.85) + param(PD 1.95) + terminal(S 2) + terminal(G 6) + terminal(D 1) + terminal(B 4) + ) + device(2 D$PMOS$1 + location(1550 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.3375) + param(AD 0.6375) + param(PS 1.95) + param(PD 3.85) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(3 D$NMOS + location(850 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.40375) + param(AD 0.21375) + param(PS 2.75) + param(PD 1.4) + terminal(S 3) + terminal(G 6) + terminal(D 8) + terminal(B 7) + ) + device(4 D$NMOS$1 + location(1550 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.21375) + param(AD 0.40375) + param(PS 1.4) + param(PD 2.75) + terminal(S 8) + terminal(G 5) + terminal(D 2) + terminal(B 7) + ) + + ) + circuit(INVX1 + + # Circuit boundary + rect((-100 400) (2000 7600)) + + # Nets with their geometries + net(1 name(VDD) + rect(l8 (410 6260) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l11 (-240 -240) (300 1400)) + rect(l11 (-650 300) (1800 800)) + rect(l11 (-1450 -1100) (300 300)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) + ) + net(2 name(OUT) + rect(l8 (1110 5160) (180 180)) + rect(l8 (-180 920) (180 180)) + rect(l8 (-180 -730) (180 180)) + rect(l8 (-180 -4120) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -790) (300 4790)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) + rect(l6 (-425 -4890) (425 950)) + ) + net(3 name(VSS) + rect(l8 (410 1770) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-240 -1300) (300 1360)) + rect(l11 (-650 -2160) (1800 800)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) + ) + net(4 + rect(l3 (-100 4500) (2000 3500)) + ) + net(5 name(IN) + rect(l4 (725 2860) (250 1940)) + rect(l4 (-525 -1850) (300 300)) + rect(l4 (-25 1550) (250 2000)) + rect(l4 (-250 -2000) (250 2000)) + rect(l4 (-250 -5390) (250 1450)) + rect(l8 (-465 150) (180 180)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) + ) + net(6 name(SUBSTRATE)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4) + pin(5 name(IN)) + pin(6 name(SUBSTRATE)) + + # Devices and their connections + device(1 D$PMOS$2 + location(850 5800) + param(L 0.25) + param(W 1.5) + param(AS 0.6375) + param(AD 0.6375) + param(PS 3.85) + param(PD 3.85) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(2 D$NMOS$2 + location(850 2135) + param(L 0.25) + param(W 0.95) + param(AS 0.40375) + param(AD 0.40375) + param(PS 2.75) + param(PD 2.75) + terminal(S 3) + terminal(G 5) + terminal(D 2) + terminal(B 6) + ) + + ) + circuit(RINGO + + # Circuit boundary + rect((0 350) (25800 7650)) + + # Nets with their geometries + net(1 + rect(l11 (4040 2950) (610 300)) + ) + net(2 + rect(l11 (5550 2950) (900 300)) + ) + net(3 + rect(l11 (7350 2950) (900 300)) + ) + net(4 + rect(l11 (9150 2950) (900 300)) + ) + net(5 + rect(l11 (10950 2950) (900 300)) + ) + net(6 + rect(l11 (12750 2950) (900 300)) + ) + net(7 + rect(l11 (14550 2950) (900 300)) + ) + net(8 + rect(l11 (16350 2950) (900 300)) + ) + net(9 + rect(l11 (18150 2950) (900 300)) + ) + net(10 + rect(l11 (19950 2950) (900 300)) + ) + net(11 name(FB) + rect(l11 (21750 2950) (900 300)) + rect(l11 (-19530 590) (320 320)) + rect(l11 (17820 -320) (320 320)) + rect(l12 (-18400 -260) (200 200)) + rect(l12 (17940 -200) (200 200)) + rect(l13 (-18040 -300) (17740 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) + rect(l13 (17740 -400) (400 400)) + ) + net(12 name(VDD) + rect(l3 (500 4500) (1400 3500)) + rect(l3 (-1900 -3500) (600 3500)) + rect(l3 (23300 -3500) (1400 3500)) + rect(l3 (-100 -3500) (600 3500)) + rect(l8 (-24690 -1240) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (23220 370) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) + rect(l11 (23400 -800) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) + rect(l9 (-24850 -1500) (500 1500)) + rect(l9 (22900 -1500) (500 1500)) + ) + net(13 name(OUT) + rect(l11 (23440 3840) (320 320)) + rect(l12 (-260 -260) (200 200)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) + ) + net(14 name(ENABLE) + rect(l11 (2440 2940) (320 320)) + rect(l12 (-260 -260) (200 200)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) + ) + net(15 name(VSS) + rect(l8 (1110 1610) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l8 (23220 370) (180 180)) + rect(l8 (-180 -1280) (180 180)) + rect(l8 (-180 370) (180 180)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) + rect(l11 (23850 -750) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) + rect(l10 (-24850 -800) (500 1500)) + rect(l10 (22900 -1500) (500 1500)) + ) + + # Outgoing pins and their connections to nets + pin(11 name(FB)) + pin(12 name(VDD)) + pin(13 name(OUT)) + pin(14 name(ENABLE)) + pin(15 name(VSS)) + + # Subcircuits and their connections + circuit(1 ND2X1 location(1800 0) + pin(0 12) + pin(1 1) + pin(2 15) + pin(3 12) + pin(4 11) + pin(5 14) + pin(6 15) + ) + circuit(2 INVX1 location(4200 0) + pin(0 12) + pin(1 2) + pin(2 15) + pin(3 12) + pin(4 1) + pin(5 15) + ) + circuit(3 INVX1 location(6000 0) + pin(0 12) + pin(1 3) + pin(2 15) + pin(3 12) + pin(4 2) + pin(5 15) + ) + circuit(4 INVX1 location(7800 0) + pin(0 12) + pin(1 4) + pin(2 15) + pin(3 12) + pin(4 3) + pin(5 15) + ) + circuit(5 INVX1 location(9600 0) + pin(0 12) + pin(1 5) + pin(2 15) + pin(3 12) + pin(4 4) + pin(5 15) + ) + circuit(6 INVX1 location(11400 0) + pin(0 12) + pin(1 6) + pin(2 15) + pin(3 12) + pin(4 5) + pin(5 15) + ) + circuit(7 INVX1 location(13200 0) + pin(0 12) + pin(1 7) + pin(2 15) + pin(3 12) + pin(4 6) + pin(5 15) + ) + circuit(8 INVX1 location(15000 0) + pin(0 12) + pin(1 8) + pin(2 15) + pin(3 12) + pin(4 7) + pin(5 15) + ) + circuit(9 INVX1 location(16800 0) + pin(0 12) + pin(1 9) + pin(2 15) + pin(3 12) + pin(4 8) + pin(5 15) + ) + circuit(10 INVX1 location(18600 0) + pin(0 12) + pin(1 10) + pin(2 15) + pin(3 12) + pin(4 9) + pin(5 15) + ) + circuit(11 INVX1 location(20400 0) + pin(0 12) + pin(1 11) + pin(2 15) + pin(3 12) + pin(4 10) + pin(5 15) + ) + circuit(12 INVX1 location(22200 0) + pin(0 12) + pin(1 13) + pin(2 15) + pin(3 12) + pin(4 11) + pin(5 15) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(ND2X1 + + # Nets + net(1 name(VDD)) + net(2 name(OUT)) + net(3 name(VSS)) + net(4 name(NWELL)) + net(5 name(B)) + net(6 name(A)) + net(7 name(BULK)) + net(8 name('1')) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4 name(NWELL)) + pin(5 name(B)) + pin(6 name(A)) + pin(7 name(BULK)) + + # Devices and their connections + device(1 PMOS + name($1) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 1) + terminal(B 4) + ) + device(2 PMOS + name($2) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(3 NMOS + name($3) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 3) + terminal(G 6) + terminal(D 8) + terminal(B 7) + ) + device(4 NMOS + name($4) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 5) + terminal(D 2) + terminal(B 7) + ) + + ) + circuit(INVX1 + + # Nets + net(1 name(VDD)) + net(2 name(OUT)) + net(3 name(VSS)) + net(4 name(NWELL)) + net(5 name(IN)) + net(6 name(BULK)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(OUT)) + pin(3 name(VSS)) + pin(4 name(NWELL)) + pin(5 name(IN)) + pin(6 name(BULK)) + + # Devices and their connections + device(1 PMOS + name($1) + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 5) + terminal(D 2) + terminal(B 4) + ) + device(2 NMOS + name($2) + param(L 0.25) + param(W 0.95) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 3) + terminal(G 5) + terminal(D 2) + terminal(B 6) + ) + + ) + circuit(RINGO + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name(FB)) + net(4 name(ENABLE)) + net(5 name(OUT)) + net(6 name('1')) + net(7 name('2')) + net(8 name('3')) + net(9 name('4')) + net(10 name('5')) + net(11 name('6')) + net(12 name('7')) + net(13 name('8')) + net(14 name('9')) + net(15 name('10')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name(FB)) + pin(4 name(ENABLE)) + pin(5 name(OUT)) + + # Subcircuits and their connections + circuit(1 ND2X1 name($1) + pin(0 2) + pin(1 6) + pin(2 1) + pin(3 2) + pin(4 3) + pin(5 4) + pin(6 1) + ) + circuit(2 INVX1 name($2) + pin(0 2) + pin(1 7) + pin(2 1) + pin(3 2) + pin(4 6) + pin(5 1) + ) + circuit(3 INVX1 name($3) + pin(0 2) + pin(1 8) + pin(2 1) + pin(3 2) + pin(4 7) + pin(5 1) + ) + circuit(4 INVX1 name($4) + pin(0 2) + pin(1 9) + pin(2 1) + pin(3 2) + pin(4 8) + pin(5 1) + ) + circuit(5 INVX1 name($5) + pin(0 2) + pin(1 10) + pin(2 1) + pin(3 2) + pin(4 9) + pin(5 1) + ) + circuit(6 INVX1 name($6) + pin(0 2) + pin(1 11) + pin(2 1) + pin(3 2) + pin(4 10) + pin(5 1) + ) + circuit(7 INVX1 name($7) + pin(0 2) + pin(1 12) + pin(2 1) + pin(3 2) + pin(4 11) + pin(5 1) + ) + circuit(8 INVX1 name($8) + pin(0 2) + pin(1 13) + pin(2 1) + pin(3 2) + pin(4 12) + pin(5 1) + ) + circuit(9 INVX1 name($9) + pin(0 2) + pin(1 14) + pin(2 1) + pin(3 2) + pin(4 13) + pin(5 1) + ) + circuit(10 INVX1 name($10) + pin(0 2) + pin(1 15) + pin(2 1) + pin(3 2) + pin(4 14) + pin(5 1) + ) + circuit(11 INVX1 name($11) + pin(0 2) + pin(1 3) + pin(2 1) + pin(3 2) + pin(4 15) + pin(5 1) + ) + circuit(12 INVX1 name($12) + pin(0 2) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 3) + pin(5 1) + ) + + ) +) + +# Cross reference +xref( + circuit(INVX1 INVX1 match + xref( + net(4 4 match) + net(5 5 match) + net(2 2 match) + net(6 6 match) + net(1 1 match) + net(3 3 match) + pin(3 3 match) + pin(4 4 match) + pin(1 1 match) + pin(5 5 match) + pin(0 0 match) + pin(2 2 match) + device(2 2 match) + device(1 1 match) + ) + ) + circuit(ND2X1 ND2X1 match + xref( + net(8 8 match) + net(4 4 match) + net(6 6 match) + net(5 5 match) + net(2 2 match) + net(7 7 match) + net(1 1 match) + net(3 3 match) + pin(3 3 match) + pin(5 5 match) + pin(4 4 match) + pin(1 1 match) + pin(6 6 match) + pin(0 0 match) + pin(2 2 match) + device(3 3 match) + device(4 4 match) + device(1 1 match) + device(2 2 match) + ) + ) + circuit(RINGO RINGO match + xref( + net(1 6 match) + net(10 15 match) + net(2 7 match) + net(3 8 match) + net(4 9 match) + net(5 10 match) + net(6 11 match) + net(7 12 match) + net(8 13 match) + net(9 14 match) + net(14 4 match) + net(11 3 match) + net(13 5 match) + net(12 2 match) + net(15 1 match) + pin(3 3 match) + pin(0 2 match) + pin(2 4 match) + pin(1 1 match) + pin(4 0 match) + circuit(2 2 match) + circuit(3 3 match) + circuit(4 4 match) + circuit(5 5 match) + circuit(6 6 match) + circuit(7 7 match) + circuit(8 8 match) + circuit(9 9 match) + circuit(10 10 match) + circuit(11 11 match) + circuit(12 12 match) + circuit(1 1 match) + ) + ) +) diff --git a/testdata/lvs/ringo_simple_device_scaling.lvsdb.1 b/testdata/lvs/ringo_simple_device_scaling.lvsdb.1 index fb98c1325..3a6b7972c 100644 --- a/testdata/lvs/ringo_simple_device_scaling.lvsdb.1 +++ b/testdata/lvs/ringo_simple_device_scaling.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_device_scaling.lvsdb.2 b/testdata/lvs/ringo_simple_device_scaling.lvsdb.2 index c9d7da964..36a0dc190 100644 --- a/testdata/lvs/ringo_simple_device_scaling.lvsdb.2 +++ b/testdata/lvs/ringo_simple_device_scaling.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_dmos.lvsdb.1 b/testdata/lvs/ringo_simple_dmos.lvsdb.1 index f68490049..1c92dfcf0 100644 --- a/testdata/lvs/ringo_simple_dmos.lvsdb.1 +++ b/testdata/lvs/ringo_simple_dmos.lvsdb.1 @@ -147,8 +147,8 @@ layout( rect(l10 (-180 -730) (180 180)) rect(l13 (-240 -790) (300 1700)) rect(l13 (-1350 0) (2400 800)) - rect(l13 (-1151 -401) (2 2)) - rect(l3 (-276 -2151) (425 1500)) + rect(l13 (-1150 -400) (0 0)) + rect(l3 (-275 -2150) (425 1500)) rect(l3 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -163,8 +163,8 @@ layout( polygon(l13 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l13 (-110 1390) (300 1400)) polygon(l13 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l13 (-141 -501) (2 2)) - rect(l13 (-1751 1099) (300 1400)) + rect(l13 (-140 -500) (0 0)) + rect(l13 (-1750 1100) (300 1400)) rect(l13 (1100 -1700) (300 300)) rect(l13 (-300 0) (300 1400)) rect(l1 (-1750 -1450) (425 1500)) @@ -176,8 +176,8 @@ layout( rect(l10 (-180 370) (180 180)) rect(l13 (-240 -1300) (300 1360)) rect(l13 (-650 -2160) (2400 800)) - rect(l13 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l13 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l8 (975 1660) (425 950)) @@ -193,8 +193,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-285 1050) (180 180)) - rect(l13 (-71 -91) (2 2)) - rect(l13 (-171 -151) (300 300)) + rect(l13 (-70 -90) (0 0)) + rect(l13 (-170 -150) (300 300)) ) net(7 name(A) rect(l5 (725 2860) (250 1940)) @@ -203,8 +203,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-265 150) (180 180)) - rect(l13 (-91 -91) (2 2)) - rect(l13 (-151 -151) (300 300)) + rect(l13 (-90 -90) (0 0)) + rect(l13 (-150 -150) (300 300)) ) net(8 name(SUBSTRATE)) @@ -285,8 +285,8 @@ layout( rect(l13 (-240 -240) (300 1400)) rect(l13 (-650 300) (1800 800)) rect(l13 (-1450 -1100) (300 300)) - rect(l13 (299 399) (2 2)) - rect(l3 (-651 -2151) (425 1500)) + rect(l13 (300 400) (0 0)) + rect(l3 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l10 (1110 5160) (180 180)) @@ -295,8 +295,8 @@ layout( rect(l10 (-180 -4120) (180 180)) rect(l10 (-180 370) (180 180)) rect(l13 (-240 -790) (300 4790)) - rect(l13 (-151 -2501) (2 2)) - rect(l1 (-226 1049) (425 1500)) + rect(l13 (-150 -2500) (0 0)) + rect(l1 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -304,8 +304,8 @@ layout( rect(l10 (-180 370) (180 180)) rect(l13 (-240 -1300) (300 1360)) rect(l13 (-650 -2160) (1800 800)) - rect(l13 (-851 -401) (2 2)) - rect(l8 (-651 859) (425 950)) + rect(l13 (-850 -400) (0 0)) + rect(l8 (-650 860) (425 950)) ) net(4 rect(l4 (-100 4500) (2000 3500)) @@ -317,8 +317,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-465 150) (180 180)) - rect(l13 (-91 -91) (2 2)) - rect(l13 (-151 -151) (300 300)) + rect(l13 (-90 -90) (0 0)) + rect(l13 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -402,8 +402,8 @@ layout( rect(l14 (-18400 -260) (200 200)) rect(l14 (17940 -200) (200 200)) rect(l15 (-18040 -300) (17740 400)) - rect(l15 (-17921 -201) (2 2)) - rect(l15 (-221 -201) (400 400)) + rect(l15 (-17920 -200) (0 0)) + rect(l15 (-220 -200) (400 400)) rect(l15 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -417,29 +417,29 @@ layout( rect(l10 (23220 370) (180 180)) rect(l10 (-180 370) (180 180)) rect(l10 (-180 -1280) (180 180)) - rect(l13 (-21741 859) (2 2)) - rect(l13 (-2351 -451) (1200 800)) + rect(l13 (-21740 860) (0 0)) + rect(l13 (-2350 -450) (1200 800)) rect(l13 (-750 -1450) (300 1400)) - rect(l13 (-101 -351) (2 2)) - rect(l13 (-1251 -401) (600 800)) + rect(l13 (-100 -350) (0 0)) + rect(l13 (-1250 -400) (600 800)) rect(l13 (23400 -800) (1200 800)) rect(l13 (-750 -1450) (300 1400)) - rect(l13 (-101 -351) (2 2)) - rect(l13 (549 -401) (600 800)) + rect(l13 (-100 -350) (0 0)) + rect(l13 (550 -400) (600 800)) rect(l11 (-24850 -1500) (500 1500)) rect(l11 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l13 (23440 3840) (320 320)) rect(l14 (-260 -260) (200 200)) - rect(l15 (-101 -101) (2 2)) - rect(l15 (-201 -201) (400 400)) + rect(l15 (-100 -100) (0 0)) + rect(l15 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l13 (2440 2940) (320 320)) rect(l14 (-260 -260) (200 200)) - rect(l15 (-101 -101) (2 2)) - rect(l15 (-201 -201) (400 400)) + rect(l15 (-100 -100) (0 0)) + rect(l15 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l10 (1110 1610) (180 180)) @@ -448,15 +448,15 @@ layout( rect(l10 (23220 370) (180 180)) rect(l10 (-180 -1280) (180 180)) rect(l10 (-180 370) (180 180)) - rect(l13 (-21741 -391) (2 2)) - rect(l13 (-1901 -401) (300 1400)) + rect(l13 (-21740 -390) (0 0)) + rect(l13 (-1900 -400) (300 1400)) rect(l13 (-750 -1450) (1200 800)) - rect(l13 (-551 -401) (2 2)) - rect(l13 (-1251 -401) (600 800)) + rect(l13 (-550 -400) (0 0)) + rect(l13 (-1250 -400) (600 800)) rect(l13 (23850 -750) (300 1400)) rect(l13 (-750 -1450) (1200 800)) - rect(l13 (-551 -401) (2 2)) - rect(l13 (549 -401) (600 800)) + rect(l13 (-550 -400) (0 0)) + rect(l13 (550 -400) (600 800)) rect(l12 (-24850 -800) (500 1500)) rect(l12 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_dmos.lvsdb.2 b/testdata/lvs/ringo_simple_dmos.lvsdb.2 index bd0320264..15b294dcf 100644 --- a/testdata/lvs/ringo_simple_dmos.lvsdb.2 +++ b/testdata/lvs/ringo_simple_dmos.lvsdb.2 @@ -147,8 +147,8 @@ layout( rect(l10 (-180 -730) (180 180)) rect(l13 (-240 -790) (300 1700)) rect(l13 (-1350 0) (2400 800)) - rect(l13 (-1151 -401) (2 2)) - rect(l3 (-251 -2151) (425 1500)) + rect(l13 (-1150 -400) (0 0)) + rect(l3 (-250 -2150) (425 1500)) rect(l3 (-450 -1500) (425 1500)) ) net(2 name(OUT) @@ -163,8 +163,8 @@ layout( polygon(l13 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l13 (-110 1390) (300 1400)) polygon(l13 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l13 (-141 -501) (2 2)) - rect(l13 (-1751 1099) (300 1400)) + rect(l13 (-140 -500) (0 0)) + rect(l13 (-1750 1100) (300 1400)) rect(l13 (1100 -1700) (300 300)) rect(l13 (-300 0) (300 1400)) rect(l1 (-1750 -1450) (425 1500)) @@ -176,8 +176,8 @@ layout( rect(l10 (-180 370) (180 180)) rect(l13 (-240 -1300) (300 1360)) rect(l13 (-650 -2160) (2400 800)) - rect(l13 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l13 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l8 (1000 1660) (425 950)) @@ -193,8 +193,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-285 1050) (180 180)) - rect(l13 (-71 -91) (2 2)) - rect(l13 (-171 -151) (300 300)) + rect(l13 (-70 -90) (0 0)) + rect(l13 (-170 -150) (300 300)) ) net(7 name(A) rect(l5 (725 2860) (250 1940)) @@ -203,8 +203,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-265 150) (180 180)) - rect(l13 (-91 -91) (2 2)) - rect(l13 (-151 -151) (300 300)) + rect(l13 (-90 -90) (0 0)) + rect(l13 (-150 -150) (300 300)) ) net(8 name(SUBSTRATE)) @@ -285,8 +285,8 @@ layout( rect(l13 (-240 -240) (300 1400)) rect(l13 (-650 300) (1800 800)) rect(l13 (-1450 -1100) (300 300)) - rect(l13 (299 399) (2 2)) - rect(l3 (-651 -2151) (425 1500)) + rect(l13 (300 400) (0 0)) + rect(l3 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l10 (1110 5160) (180 180)) @@ -295,8 +295,8 @@ layout( rect(l10 (-180 -4120) (180 180)) rect(l10 (-180 370) (180 180)) rect(l13 (-240 -790) (300 4790)) - rect(l13 (-151 -2501) (2 2)) - rect(l1 (-226 1049) (425 1500)) + rect(l13 (-150 -2500) (0 0)) + rect(l1 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -304,8 +304,8 @@ layout( rect(l10 (-180 370) (180 180)) rect(l13 (-240 -1300) (300 1360)) rect(l13 (-650 -2160) (1800 800)) - rect(l13 (-851 -401) (2 2)) - rect(l8 (-651 859) (425 950)) + rect(l13 (-850 -400) (0 0)) + rect(l8 (-650 860) (425 950)) ) net(4 rect(l4 (-100 4500) (2000 3500)) @@ -317,8 +317,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l10 (-465 150) (180 180)) - rect(l13 (-91 -91) (2 2)) - rect(l13 (-151 -151) (300 300)) + rect(l13 (-90 -90) (0 0)) + rect(l13 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -402,8 +402,8 @@ layout( rect(l14 (-18400 -260) (200 200)) rect(l14 (17940 -200) (200 200)) rect(l15 (-18040 -300) (17740 400)) - rect(l15 (-17921 -201) (2 2)) - rect(l15 (-221 -201) (400 400)) + rect(l15 (-17920 -200) (0 0)) + rect(l15 (-220 -200) (400 400)) rect(l15 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -417,29 +417,29 @@ layout( rect(l10 (23220 370) (180 180)) rect(l10 (-180 370) (180 180)) rect(l10 (-180 -1280) (180 180)) - rect(l13 (-21741 859) (2 2)) - rect(l13 (-2351 -451) (1200 800)) + rect(l13 (-21740 860) (0 0)) + rect(l13 (-2350 -450) (1200 800)) rect(l13 (-750 -1450) (300 1400)) - rect(l13 (-101 -351) (2 2)) - rect(l13 (-1251 -401) (600 800)) + rect(l13 (-100 -350) (0 0)) + rect(l13 (-1250 -400) (600 800)) rect(l13 (23400 -800) (1200 800)) rect(l13 (-750 -1450) (300 1400)) - rect(l13 (-101 -351) (2 2)) - rect(l13 (549 -401) (600 800)) + rect(l13 (-100 -350) (0 0)) + rect(l13 (550 -400) (600 800)) rect(l11 (-24850 -1500) (500 1500)) rect(l11 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l13 (23440 3840) (320 320)) rect(l14 (-260 -260) (200 200)) - rect(l15 (-101 -101) (2 2)) - rect(l15 (-201 -201) (400 400)) + rect(l15 (-100 -100) (0 0)) + rect(l15 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l13 (2440 2940) (320 320)) rect(l14 (-260 -260) (200 200)) - rect(l15 (-101 -101) (2 2)) - rect(l15 (-201 -201) (400 400)) + rect(l15 (-100 -100) (0 0)) + rect(l15 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l10 (1110 1610) (180 180)) @@ -448,15 +448,15 @@ layout( rect(l10 (23220 370) (180 180)) rect(l10 (-180 -1280) (180 180)) rect(l10 (-180 370) (180 180)) - rect(l13 (-21741 -391) (2 2)) - rect(l13 (-1901 -401) (300 1400)) + rect(l13 (-21740 -390) (0 0)) + rect(l13 (-1900 -400) (300 1400)) rect(l13 (-750 -1450) (1200 800)) - rect(l13 (-551 -401) (2 2)) - rect(l13 (-1251 -401) (600 800)) + rect(l13 (-550 -400) (0 0)) + rect(l13 (-1250 -400) (600 800)) rect(l13 (23850 -750) (300 1400)) rect(l13 (-750 -1450) (1200 800)) - rect(l13 (-551 -401) (2 2)) - rect(l13 (549 -401) (600 800)) + rect(l13 (-550 -400) (0 0)) + rect(l13 (550 -400) (600 800)) rect(l12 (-24850 -800) (500 1500)) rect(l12 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_dummy_device.lvsdb.1 b/testdata/lvs/ringo_simple_dummy_device.lvsdb.1 index f5c5cb5a0..7c990189a 100644 --- a/testdata/lvs/ringo_simple_dummy_device.lvsdb.1 +++ b/testdata/lvs/ringo_simple_dummy_device.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -405,8 +405,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(13 name(VDD) @@ -423,15 +423,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) @@ -441,14 +441,14 @@ layout( net(14 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(16 name(VSS) rect(l8 (26010 1770) (180 180)) @@ -463,15 +463,15 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (1260 -40) (300 1360)) rect(l11 (400 -1360) (300 1360)) - rect(l11 (-24001 -1711) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-24000 -1710) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) diff --git a/testdata/lvs/ringo_simple_dummy_device.lvsdb.2 b/testdata/lvs/ringo_simple_dummy_device.lvsdb.2 index 2833efc33..bc6aa1a53 100644 --- a/testdata/lvs/ringo_simple_dummy_device.lvsdb.2 +++ b/testdata/lvs/ringo_simple_dummy_device.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -405,8 +405,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(13 name(VDD) @@ -423,15 +423,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) @@ -441,14 +441,14 @@ layout( net(14 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(16 name(VSS) rect(l8 (26010 1770) (180 180)) @@ -463,15 +463,15 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (1260 -40) (300 1360)) rect(l11 (400 -1360) (300 1360)) - rect(l11 (-24001 -1711) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-24000 -1710) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) diff --git a/testdata/lvs/ringo_simple_dummy_device.lvsdb.3 b/testdata/lvs/ringo_simple_dummy_device.lvsdb.3 index 8fc3eac47..84267cce5 100644 --- a/testdata/lvs/ringo_simple_dummy_device.lvsdb.3 +++ b/testdata/lvs/ringo_simple_dummy_device.lvsdb.3 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -405,8 +405,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(13 name(VDD) @@ -423,15 +423,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) @@ -441,14 +441,14 @@ layout( net(14 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(16 name(VSS) rect(l8 (26010 1770) (180 180)) @@ -463,15 +463,15 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (1260 -40) (300 1360)) rect(l11 (400 -1360) (300 1360)) - rect(l11 (-24001 -1711) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-24000 -1710) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) rect(l11 (0 -800) (600 800)) diff --git a/testdata/lvs/ringo_simple_implicit_connections.lvsdb.1 b/testdata/lvs/ringo_simple_implicit_connections.lvsdb.1 index ff9b41108..d3d97f200 100644 --- a/testdata/lvs/ringo_simple_implicit_connections.lvsdb.1 +++ b/testdata/lvs/ringo_simple_implicit_connections.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-19150 -260) (200 200)) rect(l12 (18690 -200) (200 200)) rect(l13 (-18840 -300) (18890 400)) - rect(l13 (-19071 -201) (2 2)) - rect(l13 (-171 -201) (400 400)) + rect(l13 (-19070 -200) (0 0)) + rect(l13 (-170 -200) (400 400)) rect(l13 (18490 -400) (400 400)) ) net(12 name(VDD) @@ -417,20 +417,20 @@ layout( rect(l8 (25720 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-4891 1009) (2 2)) - rect(l11 (2798 -52) (2 2)) - rect(l11 (-22152 -102) (2 2)) - rect(l11 (19749 -451) (1200 800)) + rect(l11 (-4890 1010) (0 0)) + rect(l11 (2800 -50) (0 0)) + rect(l11 (-22150 -100) (0 0)) + rect(l11 (19750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-22751 -401) (1200 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-22750 -400) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (25900 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-5250 -1500) (500 1500)) rect(l9 (-22600 -1500) (500 1500)) rect(l9 (25400 -1500) (500 1500)) @@ -438,14 +438,14 @@ layout( net(13 name(OUT) rect(l11 (25990 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-151 -101) (2 2)) - rect(l13 (-151 -201) (400 400)) + rect(l13 (-150 -100) (0 0)) + rect(l13 (-150 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2490 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-151 -101) (2 2)) - rect(l13 (-151 -201) (400 400)) + rect(l13 (-150 -100) (0 0)) + rect(l13 (-150 -200) (400 400)) ) net(15 name(VSS) rect(l8 (27010 1610) (180 180)) @@ -457,20 +457,20 @@ layout( rect(l8 (-22280 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (24709 -291) (2 2)) - rect(l11 (-3852 -2) (2 2)) - rect(l11 (-19202 -102) (2 2)) - rect(l11 (23999 -401) (300 1400)) + rect(l11 (24710 -290) (0 0)) + rect(l11 (-3850 0) (0 0)) + rect(l11 (-19200 -100) (0 0)) + rect(l11 (24000 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (-5150 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-22301 -351) (300 1400)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-22300 -350) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l10 (26250 -800) (500 1500)) rect(l10 (-4300 -1500) (500 1500)) rect(l10 (-22600 -1500) (500 1500)) diff --git a/testdata/lvs/ringo_simple_implicit_connections.lvsdb.2 b/testdata/lvs/ringo_simple_implicit_connections.lvsdb.2 index 0363a34ef..959964f06 100644 --- a/testdata/lvs/ringo_simple_implicit_connections.lvsdb.2 +++ b/testdata/lvs/ringo_simple_implicit_connections.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-19150 -260) (200 200)) rect(l12 (18690 -200) (200 200)) rect(l13 (-18840 -300) (18890 400)) - rect(l13 (-19071 -201) (2 2)) - rect(l13 (-171 -201) (400 400)) + rect(l13 (-19070 -200) (0 0)) + rect(l13 (-170 -200) (400 400)) rect(l13 (18490 -400) (400 400)) ) net(12 name(VDD) @@ -417,20 +417,20 @@ layout( rect(l8 (25720 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-4891 1009) (2 2)) - rect(l11 (2798 -52) (2 2)) - rect(l11 (-22152 -102) (2 2)) - rect(l11 (19749 -451) (1200 800)) + rect(l11 (-4890 1010) (0 0)) + rect(l11 (2800 -50) (0 0)) + rect(l11 (-22150 -100) (0 0)) + rect(l11 (19750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-22751 -401) (1200 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-22750 -400) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (25900 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-5250 -1500) (500 1500)) rect(l9 (-22600 -1500) (500 1500)) rect(l9 (25400 -1500) (500 1500)) @@ -438,14 +438,14 @@ layout( net(13 name(OUT) rect(l11 (25990 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-151 -101) (2 2)) - rect(l13 (-151 -201) (400 400)) + rect(l13 (-150 -100) (0 0)) + rect(l13 (-150 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2490 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-151 -101) (2 2)) - rect(l13 (-151 -201) (400 400)) + rect(l13 (-150 -100) (0 0)) + rect(l13 (-150 -200) (400 400)) ) net(15 name(VSS) rect(l8 (27010 1610) (180 180)) @@ -457,20 +457,20 @@ layout( rect(l8 (-22280 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (24709 -291) (2 2)) - rect(l11 (-3852 -2) (2 2)) - rect(l11 (-19202 -102) (2 2)) - rect(l11 (23999 -401) (300 1400)) + rect(l11 (24710 -290) (0 0)) + rect(l11 (-3850 0) (0 0)) + rect(l11 (-19200 -100) (0 0)) + rect(l11 (24000 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l11 (-5150 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-22301 -351) (300 1400)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-22300 -350) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l10 (26250 -800) (500 1500)) rect(l10 (-4300 -1500) (500 1500)) rect(l10 (-22600 -1500) (500 1500)) diff --git a/testdata/lvs/ringo_simple_io.lvsdb.1 b/testdata/lvs/ringo_simple_io.lvsdb.1 index ed998ca98..cc99cf3db 100644 --- a/testdata/lvs/ringo_simple_io.lvsdb.1 +++ b/testdata/lvs/ringo_simple_io.lvsdb.1 @@ -120,8 +120,8 @@ J( R(l8 (-180 -730) (180 180)) R(l11 (-240 -790) (300 1700)) R(l11 (-1350 0) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l2 (-276 -2151) (425 1500)) + R(l11 (-1150 -400) (0 0)) + R(l2 (-275 -2150) (425 1500)) R(l2 (-400 -1500) (425 1500)) ) N(2 I(OUT) @@ -136,8 +136,8 @@ J( Q(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) R(l11 (-110 1390) (300 1400)) Q(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - R(l11 (-141 -501) (2 2)) - R(l11 (-1751 1099) (300 1400)) + R(l11 (-140 -500) (0 0)) + R(l11 (-1750 1100) (300 1400)) R(l11 (1100 -1700) (300 300)) R(l11 (-300 0) (300 1400)) R(l2 (-1750 -1450) (425 1500)) @@ -149,8 +149,8 @@ J( R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l6 (-951 859) (425 950)) + R(l11 (-1150 -400) (0 0)) + R(l6 (-950 860) (425 950)) ) N(4 R(l3 (-100 4500) (2600 3500)) @@ -162,8 +162,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-285 1050) (180 180)) - R(l11 (-71 -91) (2 2)) - R(l11 (-171 -151) (300 300)) + R(l11 (-70 -90) (0 0)) + R(l11 (-170 -150) (300 300)) ) N(6 I(A) R(l4 (725 2860) (250 1940)) @@ -172,8 +172,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-265 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(7 I(SUBSTRATE)) N(8 @@ -249,8 +249,8 @@ J( R(l11 (-240 -240) (300 1400)) R(l11 (-650 300) (1800 800)) R(l11 (-1450 -1100) (300 300)) - R(l11 (299 399) (2 2)) - R(l2 (-651 -2151) (425 1500)) + R(l11 (300 400) (0 0)) + R(l2 (-650 -2150) (425 1500)) ) N(2 I(OUT) R(l8 (1110 5160) (180 180)) @@ -259,8 +259,8 @@ J( R(l8 (-180 -4120) (180 180)) R(l8 (-180 370) (180 180)) R(l11 (-240 -790) (300 4790)) - R(l11 (-151 -2501) (2 2)) - R(l2 (-226 1049) (425 1500)) + R(l11 (-150 -2500) (0 0)) + R(l2 (-225 1050) (425 1500)) R(l6 (-425 -4890) (425 950)) ) N(3 I(VSS) @@ -268,8 +268,8 @@ J( R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (1800 800)) - R(l11 (-851 -401) (2 2)) - R(l6 (-651 859) (425 950)) + R(l11 (-850 -400) (0 0)) + R(l6 (-650 860) (425 950)) ) N(4 R(l3 (-100 4500) (2000 3500)) @@ -281,8 +281,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-465 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(6 I(SUBSTRATE)) P(1 I(VDD)) @@ -357,8 +357,8 @@ J( R(l12 (-18400 -260) (200 200)) R(l12 (17940 -200) (200 200)) R(l13 (-18040 -300) (17740 400)) - R(l13 (-17921 -201) (2 2)) - R(l13 (-221 -201) (400 400)) + R(l13 (-17920 -200) (0 0)) + R(l13 (-220 -200) (400 400)) R(l13 (17740 -400) (400 400)) ) N(12 I(VDD) @@ -372,29 +372,29 @@ J( R(l8 (23220 370) (180 180)) R(l8 (-180 370) (180 180)) R(l8 (-180 -1280) (180 180)) - R(l11 (-21741 859) (2 2)) - R(l11 (-2351 -451) (1200 800)) + R(l11 (-21740 860) (0 0)) + R(l11 (-2350 -450) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23400 -800) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (550 -400) (600 800)) R(l9 (-24850 -1500) (500 1500)) R(l9 (22900 -1500) (500 1500)) ) N(13 I(OUT) R(l11 (23440 3840) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(14 I(ENABLE) R(l11 (2440 2940) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(15 I(VSS) R(l8 (1110 1610) (180 180)) @@ -403,15 +403,15 @@ J( R(l8 (23220 370) (180 180)) R(l8 (-180 -1280) (180 180)) R(l8 (-180 370) (180 180)) - R(l11 (-21741 -391) (2 2)) - R(l11 (-1901 -401) (300 1400)) + R(l11 (-21740 -390) (0 0)) + R(l11 (-1900 -400) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23850 -750) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (550 -400) (600 800)) R(l10 (-24850 -800) (500 1500)) R(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_io.lvsdb.2 b/testdata/lvs/ringo_simple_io.lvsdb.2 index 8b7238826..5a8273d4f 100644 --- a/testdata/lvs/ringo_simple_io.lvsdb.2 +++ b/testdata/lvs/ringo_simple_io.lvsdb.2 @@ -120,8 +120,8 @@ J( R(l8 (-180 -730) (180 180)) R(l11 (-240 -790) (300 1700)) R(l11 (-1350 0) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l2 (-276 -2151) (425 1500)) + R(l11 (-1150 -400) (0 0)) + R(l2 (-275 -2150) (425 1500)) R(l2 (-400 -1500) (425 1500)) ) N(2 I(OUT) @@ -136,8 +136,8 @@ J( Q(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) R(l11 (-110 1390) (300 1400)) Q(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - R(l11 (-141 -501) (2 2)) - R(l11 (-1751 1099) (300 1400)) + R(l11 (-140 -500) (0 0)) + R(l11 (-1750 1100) (300 1400)) R(l11 (1100 -1700) (300 300)) R(l11 (-300 0) (300 1400)) R(l2 (-375 -1450) (425 1500)) @@ -149,8 +149,8 @@ J( R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l6 (-951 859) (425 950)) + R(l11 (-1150 -400) (0 0)) + R(l6 (-950 860) (425 950)) ) N(4 R(l3 (-100 4500) (2600 3500)) @@ -162,8 +162,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-285 1050) (180 180)) - R(l11 (-71 -91) (2 2)) - R(l11 (-171 -151) (300 300)) + R(l11 (-70 -90) (0 0)) + R(l11 (-170 -150) (300 300)) ) N(6 I(A) R(l4 (725 2860) (250 1940)) @@ -172,8 +172,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-265 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(7 I(SUBSTRATE)) N(8 @@ -249,8 +249,8 @@ J( R(l11 (-240 -240) (300 1400)) R(l11 (-650 300) (1800 800)) R(l11 (-1450 -1100) (300 300)) - R(l11 (299 399) (2 2)) - R(l2 (-651 -2151) (425 1500)) + R(l11 (300 400) (0 0)) + R(l2 (-650 -2150) (425 1500)) ) N(2 I(OUT) R(l8 (1110 5160) (180 180)) @@ -259,8 +259,8 @@ J( R(l8 (-180 -4120) (180 180)) R(l8 (-180 370) (180 180)) R(l11 (-240 -790) (300 4790)) - R(l11 (-151 -2501) (2 2)) - R(l2 (-226 1049) (425 1500)) + R(l11 (-150 -2500) (0 0)) + R(l2 (-225 1050) (425 1500)) R(l6 (-425 -4890) (425 950)) ) N(3 I(VSS) @@ -268,8 +268,8 @@ J( R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (1800 800)) - R(l11 (-851 -401) (2 2)) - R(l6 (-651 859) (425 950)) + R(l11 (-850 -400) (0 0)) + R(l6 (-650 860) (425 950)) ) N(4 R(l3 (-100 4500) (2000 3500)) @@ -281,8 +281,8 @@ J( R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-465 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(6 I(SUBSTRATE)) P(1 I(VDD)) @@ -357,8 +357,8 @@ J( R(l12 (-18400 -260) (200 200)) R(l12 (17940 -200) (200 200)) R(l13 (-18040 -300) (17740 400)) - R(l13 (-17921 -201) (2 2)) - R(l13 (-221 -201) (400 400)) + R(l13 (-17920 -200) (0 0)) + R(l13 (-220 -200) (400 400)) R(l13 (17740 -400) (400 400)) ) N(12 I(VDD) @@ -372,29 +372,29 @@ J( R(l8 (23220 370) (180 180)) R(l8 (-180 370) (180 180)) R(l8 (-180 -1280) (180 180)) - R(l11 (-21741 859) (2 2)) - R(l11 (-2351 -451) (1200 800)) + R(l11 (-21740 860) (0 0)) + R(l11 (-2350 -450) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23400 -800) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (550 -400) (600 800)) R(l9 (-24850 -1500) (500 1500)) R(l9 (22900 -1500) (500 1500)) ) N(13 I(OUT) R(l11 (23440 3840) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(14 I(ENABLE) R(l11 (2440 2940) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(15 I(VSS) R(l8 (1110 1610) (180 180)) @@ -403,15 +403,15 @@ J( R(l8 (23220 370) (180 180)) R(l8 (-180 -1280) (180 180)) R(l8 (-180 370) (180 180)) - R(l11 (-21741 -391) (2 2)) - R(l11 (-1901 -401) (300 1400)) + R(l11 (-21740 -390) (0 0)) + R(l11 (-1900 -400) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23850 -750) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (550 -400) (600 800)) R(l10 (-24850 -800) (500 1500)) R(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_io2.l2n.1 b/testdata/lvs/ringo_simple_io2.l2n.1 index 7e0cf804b..5dff4a81c 100644 --- a/testdata/lvs/ringo_simple_io2.l2n.1 +++ b/testdata/lvs/ringo_simple_io2.l2n.1 @@ -119,8 +119,8 @@ X(ND2X1 R(l8 (-180 -730) (180 180)) R(l11 (-240 -790) (300 1700)) R(l11 (-1350 0) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l2 (-276 -2151) (425 1500)) + R(l11 (-1150 -400) (0 0)) + R(l2 (-275 -2150) (425 1500)) R(l2 (-400 -1500) (425 1500)) ) N(2 I(OUT) @@ -135,8 +135,8 @@ X(ND2X1 Q(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) R(l11 (-110 1390) (300 1400)) Q(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - R(l11 (-141 -501) (2 2)) - R(l11 (-1751 1099) (300 1400)) + R(l11 (-140 -500) (0 0)) + R(l11 (-1750 1100) (300 1400)) R(l11 (1100 -1700) (300 300)) R(l11 (-300 0) (300 1400)) R(l2 (-1750 -1450) (425 1500)) @@ -148,8 +148,8 @@ X(ND2X1 R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l6 (-951 859) (425 950)) + R(l11 (-1150 -400) (0 0)) + R(l6 (-950 860) (425 950)) ) N(4 R(l3 (-100 4500) (2600 3500)) @@ -161,8 +161,8 @@ X(ND2X1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-285 1050) (180 180)) - R(l11 (-71 -91) (2 2)) - R(l11 (-171 -151) (300 300)) + R(l11 (-70 -90) (0 0)) + R(l11 (-170 -150) (300 300)) ) N(6 I(A) R(l4 (725 2860) (250 1940)) @@ -171,8 +171,8 @@ X(ND2X1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-265 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(7 I(SUBSTRATE)) N(8 @@ -248,8 +248,8 @@ X(INVX1 R(l11 (-240 -240) (300 1400)) R(l11 (-650 300) (1800 800)) R(l11 (-1450 -1100) (300 300)) - R(l11 (299 399) (2 2)) - R(l2 (-651 -2151) (425 1500)) + R(l11 (300 400) (0 0)) + R(l2 (-650 -2150) (425 1500)) ) N(2 I(OUT) R(l8 (1110 5160) (180 180)) @@ -258,8 +258,8 @@ X(INVX1 R(l8 (-180 -4120) (180 180)) R(l8 (-180 370) (180 180)) R(l11 (-240 -790) (300 4790)) - R(l11 (-151 -2501) (2 2)) - R(l2 (-226 1049) (425 1500)) + R(l11 (-150 -2500) (0 0)) + R(l2 (-225 1050) (425 1500)) R(l6 (-425 -4890) (425 950)) ) N(3 I(VSS) @@ -267,8 +267,8 @@ X(INVX1 R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (1800 800)) - R(l11 (-851 -401) (2 2)) - R(l6 (-651 859) (425 950)) + R(l11 (-850 -400) (0 0)) + R(l6 (-650 860) (425 950)) ) N(4 R(l3 (-100 4500) (2000 3500)) @@ -280,8 +280,8 @@ X(INVX1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-465 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(6 I(SUBSTRATE)) P(1 I(VDD)) @@ -356,8 +356,8 @@ X(RINGO R(l12 (-18400 -260) (200 200)) R(l12 (17940 -200) (200 200)) R(l13 (-18040 -300) (17740 400)) - R(l13 (-17921 -201) (2 2)) - R(l13 (-221 -201) (400 400)) + R(l13 (-17920 -200) (0 0)) + R(l13 (-220 -200) (400 400)) R(l13 (17740 -400) (400 400)) ) N(12 I(VDD) @@ -371,29 +371,29 @@ X(RINGO R(l8 (23220 370) (180 180)) R(l8 (-180 370) (180 180)) R(l8 (-180 -1280) (180 180)) - R(l11 (-21741 859) (2 2)) - R(l11 (-2351 -451) (1200 800)) + R(l11 (-21740 860) (0 0)) + R(l11 (-2350 -450) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23400 -800) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (550 -400) (600 800)) R(l9 (-24850 -1500) (500 1500)) R(l9 (22900 -1500) (500 1500)) ) N(13 I(OUT) R(l11 (23440 3840) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(14 I(ENABLE) R(l11 (2440 2940) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(15 I(VSS) R(l8 (1110 1610) (180 180)) @@ -402,15 +402,15 @@ X(RINGO R(l8 (23220 370) (180 180)) R(l8 (-180 -1280) (180 180)) R(l8 (-180 370) (180 180)) - R(l11 (-21741 -391) (2 2)) - R(l11 (-1901 -401) (300 1400)) + R(l11 (-21740 -390) (0 0)) + R(l11 (-1900 -400) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23850 -750) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (550 -400) (600 800)) R(l10 (-24850 -800) (500 1500)) R(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_io2.l2n.2 b/testdata/lvs/ringo_simple_io2.l2n.2 index 6b6d1f1d7..fdc09bcfd 100644 --- a/testdata/lvs/ringo_simple_io2.l2n.2 +++ b/testdata/lvs/ringo_simple_io2.l2n.2 @@ -119,8 +119,8 @@ X(ND2X1 R(l8 (-180 -730) (180 180)) R(l11 (-240 -790) (300 1700)) R(l11 (-1350 0) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l2 (-276 -2151) (425 1500)) + R(l11 (-1150 -400) (0 0)) + R(l2 (-275 -2150) (425 1500)) R(l2 (-400 -1500) (425 1500)) ) N(2 I(OUT) @@ -135,8 +135,8 @@ X(ND2X1 Q(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) R(l11 (-110 1390) (300 1400)) Q(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - R(l11 (-141 -501) (2 2)) - R(l11 (-1751 1099) (300 1400)) + R(l11 (-140 -500) (0 0)) + R(l11 (-1750 1100) (300 1400)) R(l11 (1100 -1700) (300 300)) R(l11 (-300 0) (300 1400)) R(l2 (-375 -1450) (425 1500)) @@ -148,8 +148,8 @@ X(ND2X1 R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (2400 800)) - R(l11 (-1151 -401) (2 2)) - R(l6 (-951 859) (425 950)) + R(l11 (-1150 -400) (0 0)) + R(l6 (-950 860) (425 950)) ) N(4 R(l3 (-100 4500) (2600 3500)) @@ -161,8 +161,8 @@ X(ND2X1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-285 1050) (180 180)) - R(l11 (-71 -91) (2 2)) - R(l11 (-171 -151) (300 300)) + R(l11 (-70 -90) (0 0)) + R(l11 (-170 -150) (300 300)) ) N(6 I(A) R(l4 (725 2860) (250 1940)) @@ -171,8 +171,8 @@ X(ND2X1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-265 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(7 I(SUBSTRATE)) N(8 @@ -248,8 +248,8 @@ X(INVX1 R(l11 (-240 -240) (300 1400)) R(l11 (-650 300) (1800 800)) R(l11 (-1450 -1100) (300 300)) - R(l11 (299 399) (2 2)) - R(l2 (-651 -2151) (425 1500)) + R(l11 (300 400) (0 0)) + R(l2 (-650 -2150) (425 1500)) ) N(2 I(OUT) R(l8 (1110 5160) (180 180)) @@ -258,8 +258,8 @@ X(INVX1 R(l8 (-180 -4120) (180 180)) R(l8 (-180 370) (180 180)) R(l11 (-240 -790) (300 4790)) - R(l11 (-151 -2501) (2 2)) - R(l2 (-226 1049) (425 1500)) + R(l11 (-150 -2500) (0 0)) + R(l2 (-225 1050) (425 1500)) R(l6 (-425 -4890) (425 950)) ) N(3 I(VSS) @@ -267,8 +267,8 @@ X(INVX1 R(l8 (-180 370) (180 180)) R(l11 (-240 -1300) (300 1360)) R(l11 (-650 -2160) (1800 800)) - R(l11 (-851 -401) (2 2)) - R(l6 (-651 859) (425 950)) + R(l11 (-850 -400) (0 0)) + R(l6 (-650 860) (425 950)) ) N(4 R(l3 (-100 4500) (2000 3500)) @@ -280,8 +280,8 @@ X(INVX1 R(l4 (-250 -2000) (250 2000)) R(l4 (-250 -5390) (250 1450)) R(l8 (-465 150) (180 180)) - R(l11 (-91 -91) (2 2)) - R(l11 (-151 -151) (300 300)) + R(l11 (-90 -90) (0 0)) + R(l11 (-150 -150) (300 300)) ) N(6 I(SUBSTRATE)) P(1 I(VDD)) @@ -356,8 +356,8 @@ X(RINGO R(l12 (-18400 -260) (200 200)) R(l12 (17940 -200) (200 200)) R(l13 (-18040 -300) (17740 400)) - R(l13 (-17921 -201) (2 2)) - R(l13 (-221 -201) (400 400)) + R(l13 (-17920 -200) (0 0)) + R(l13 (-220 -200) (400 400)) R(l13 (17740 -400) (400 400)) ) N(12 I(VDD) @@ -371,29 +371,29 @@ X(RINGO R(l8 (23220 370) (180 180)) R(l8 (-180 370) (180 180)) R(l8 (-180 -1280) (180 180)) - R(l11 (-21741 859) (2 2)) - R(l11 (-2351 -451) (1200 800)) + R(l11 (-21740 860) (0 0)) + R(l11 (-2350 -450) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23400 -800) (1200 800)) R(l11 (-750 -1450) (300 1400)) - R(l11 (-101 -351) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-100 -350) (0 0)) + R(l11 (550 -400) (600 800)) R(l9 (-24850 -1500) (500 1500)) R(l9 (22900 -1500) (500 1500)) ) N(13 I(OUT) R(l11 (23440 3840) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(14 I(ENABLE) R(l11 (2440 2940) (320 320)) R(l12 (-260 -260) (200 200)) - R(l13 (-101 -101) (2 2)) - R(l13 (-201 -201) (400 400)) + R(l13 (-100 -100) (0 0)) + R(l13 (-200 -200) (400 400)) ) N(15 I(VSS) R(l8 (1110 1610) (180 180)) @@ -402,15 +402,15 @@ X(RINGO R(l8 (23220 370) (180 180)) R(l8 (-180 -1280) (180 180)) R(l8 (-180 370) (180 180)) - R(l11 (-21741 -391) (2 2)) - R(l11 (-1901 -401) (300 1400)) + R(l11 (-21740 -390) (0 0)) + R(l11 (-1900 -400) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (-1251 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (-1250 -400) (600 800)) R(l11 (23850 -750) (300 1400)) R(l11 (-750 -1450) (1200 800)) - R(l11 (-551 -401) (2 2)) - R(l11 (549 -401) (600 800)) + R(l11 (-550 -400) (0 0)) + R(l11 (550 -400) (600 800)) R(l10 (-24850 -800) (500 1500)) R(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_io2.lvsdb.1 b/testdata/lvs/ringo_simple_io2.lvsdb.1 index b4494918c..aab318d16 100644 --- a/testdata/lvs/ringo_simple_io2.lvsdb.1 +++ b/testdata/lvs/ringo_simple_io2.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_io2.lvsdb.2 b/testdata/lvs/ringo_simple_io2.lvsdb.2 index b585c4ca4..3a8a977fb 100644 --- a/testdata/lvs/ringo_simple_io2.lvsdb.2 +++ b/testdata/lvs/ringo_simple_io2.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.1 b/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.1 index 638555d57..af99b469c 100644 --- a/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.1 +++ b/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.2 b/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.2 index a2b8e370d..f85823972 100644 --- a/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.2 +++ b/testdata/lvs/ringo_simple_net_and_circuit_equivalence.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_pin_swapping.lvsdb.1 b/testdata/lvs/ringo_simple_pin_swapping.lvsdb.1 index 42ac52dd1..8190cddd7 100644 --- a/testdata/lvs/ringo_simple_pin_swapping.lvsdb.1 +++ b/testdata/lvs/ringo_simple_pin_swapping.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_pin_swapping.lvsdb.2 b/testdata/lvs/ringo_simple_pin_swapping.lvsdb.2 index cb34ae9bf..04c3053f3 100644 --- a/testdata/lvs/ringo_simple_pin_swapping.lvsdb.2 +++ b/testdata/lvs/ringo_simple_pin_swapping.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_same_device_classes.lvsdb.1 b/testdata/lvs/ringo_simple_same_device_classes.lvsdb.1 index 1260655ac..5fe96aee2 100644 --- a/testdata/lvs/ringo_simple_same_device_classes.lvsdb.1 +++ b/testdata/lvs/ringo_simple_same_device_classes.lvsdb.1 @@ -145,8 +145,8 @@ layout( rect(l14 (-180 -730) (180 180)) rect(l17 (-240 -790) (300 1700)) rect(l17 (-1350 0) (2400 800)) - rect(l17 (-1151 -401) (2 2)) - rect(l4 (-276 -2151) (425 1500)) + rect(l17 (-1150 -400) (0 0)) + rect(l4 (-275 -2150) (425 1500)) rect(l4 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -161,8 +161,8 @@ layout( polygon(l17 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l17 (-110 1390) (300 1400)) polygon(l17 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l17 (-141 -501) (2 2)) - rect(l17 (-1751 1099) (300 1400)) + rect(l17 (-140 -500) (0 0)) + rect(l17 (-1750 1100) (300 1400)) rect(l17 (1100 -1700) (300 300)) rect(l17 (-300 0) (300 1400)) rect(l4 (-1750 -1450) (425 1500)) @@ -174,8 +174,8 @@ layout( rect(l14 (-180 370) (180 180)) rect(l17 (-240 -1300) (300 1360)) rect(l17 (-650 -2160) (2400 800)) - rect(l17 (-1151 -401) (2 2)) - rect(l9 (-951 859) (425 950)) + rect(l17 (-1150 -400) (0 0)) + rect(l9 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -187,8 +187,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-285 1050) (180 180)) - rect(l17 (-71 -91) (2 2)) - rect(l17 (-171 -151) (300 300)) + rect(l17 (-70 -90) (0 0)) + rect(l17 (-170 -150) (300 300)) ) net(6 name(A) rect(l5 (725 2860) (250 1940)) @@ -197,8 +197,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-265 150) (180 180)) - rect(l17 (-91 -91) (2 2)) - rect(l17 (-151 -151) (300 300)) + rect(l17 (-90 -90) (0 0)) + rect(l17 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -283,8 +283,8 @@ layout( rect(l17 (-240 -240) (300 1400)) rect(l17 (-650 300) (1800 800)) rect(l17 (-1450 -1100) (300 300)) - rect(l17 (299 399) (2 2)) - rect(l4 (-651 -2151) (425 1500)) + rect(l17 (300 400) (0 0)) + rect(l4 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l14 (1110 5160) (180 180)) @@ -293,8 +293,8 @@ layout( rect(l14 (-180 -4120) (180 180)) rect(l14 (-180 370) (180 180)) rect(l17 (-240 -790) (300 4790)) - rect(l17 (-151 -2501) (2 2)) - rect(l4 (-226 1049) (425 1500)) + rect(l17 (-150 -2500) (0 0)) + rect(l4 (-225 1050) (425 1500)) rect(l9 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -302,8 +302,8 @@ layout( rect(l14 (-180 370) (180 180)) rect(l17 (-240 -1300) (300 1360)) rect(l17 (-650 -2160) (1800 800)) - rect(l17 (-851 -401) (2 2)) - rect(l9 (-651 859) (425 950)) + rect(l17 (-850 -400) (0 0)) + rect(l9 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -315,8 +315,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-465 150) (180 180)) - rect(l17 (-91 -91) (2 2)) - rect(l17 (-151 -151) (300 300)) + rect(l17 (-90 -90) (0 0)) + rect(l17 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -400,8 +400,8 @@ layout( rect(l18 (-18400 -260) (200 200)) rect(l18 (17940 -200) (200 200)) rect(l19 (-18040 -300) (17740 400)) - rect(l19 (-17921 -201) (2 2)) - rect(l19 (-221 -201) (400 400)) + rect(l19 (-17920 -200) (0 0)) + rect(l19 (-220 -200) (400 400)) rect(l19 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -415,29 +415,29 @@ layout( rect(l14 (23220 370) (180 180)) rect(l14 (-180 370) (180 180)) rect(l14 (-180 -1280) (180 180)) - rect(l17 (-21741 859) (2 2)) - rect(l17 (-2351 -451) (1200 800)) + rect(l17 (-21740 860) (0 0)) + rect(l17 (-2350 -450) (1200 800)) rect(l17 (-750 -1450) (300 1400)) - rect(l17 (-101 -351) (2 2)) - rect(l17 (-1251 -401) (600 800)) + rect(l17 (-100 -350) (0 0)) + rect(l17 (-1250 -400) (600 800)) rect(l17 (23400 -800) (1200 800)) rect(l17 (-750 -1450) (300 1400)) - rect(l17 (-101 -351) (2 2)) - rect(l17 (549 -401) (600 800)) + rect(l17 (-100 -350) (0 0)) + rect(l17 (550 -400) (600 800)) rect(l15 (-24850 -1500) (500 1500)) rect(l15 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l17 (23440 3840) (320 320)) rect(l18 (-260 -260) (200 200)) - rect(l19 (-101 -101) (2 2)) - rect(l19 (-201 -201) (400 400)) + rect(l19 (-100 -100) (0 0)) + rect(l19 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l17 (2440 2940) (320 320)) rect(l18 (-260 -260) (200 200)) - rect(l19 (-101 -101) (2 2)) - rect(l19 (-201 -201) (400 400)) + rect(l19 (-100 -100) (0 0)) + rect(l19 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l14 (1110 1610) (180 180)) @@ -446,15 +446,15 @@ layout( rect(l14 (23220 370) (180 180)) rect(l14 (-180 -1280) (180 180)) rect(l14 (-180 370) (180 180)) - rect(l17 (-21741 -391) (2 2)) - rect(l17 (-1901 -401) (300 1400)) + rect(l17 (-21740 -390) (0 0)) + rect(l17 (-1900 -400) (300 1400)) rect(l17 (-750 -1450) (1200 800)) - rect(l17 (-551 -401) (2 2)) - rect(l17 (-1251 -401) (600 800)) + rect(l17 (-550 -400) (0 0)) + rect(l17 (-1250 -400) (600 800)) rect(l17 (23850 -750) (300 1400)) rect(l17 (-750 -1450) (1200 800)) - rect(l17 (-551 -401) (2 2)) - rect(l17 (549 -401) (600 800)) + rect(l17 (-550 -400) (0 0)) + rect(l17 (550 -400) (600 800)) rect(l16 (-24850 -800) (500 1500)) rect(l16 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_same_device_classes.lvsdb.2 b/testdata/lvs/ringo_simple_same_device_classes.lvsdb.2 index f244f5156..be3084317 100644 --- a/testdata/lvs/ringo_simple_same_device_classes.lvsdb.2 +++ b/testdata/lvs/ringo_simple_same_device_classes.lvsdb.2 @@ -145,8 +145,8 @@ layout( rect(l14 (-180 -730) (180 180)) rect(l17 (-240 -790) (300 1700)) rect(l17 (-1350 0) (2400 800)) - rect(l17 (-1151 -401) (2 2)) - rect(l4 (-276 -2151) (425 1500)) + rect(l17 (-1150 -400) (0 0)) + rect(l4 (-275 -2150) (425 1500)) rect(l4 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -161,8 +161,8 @@ layout( polygon(l17 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l17 (-110 1390) (300 1400)) polygon(l17 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l17 (-141 -501) (2 2)) - rect(l17 (-1751 1099) (300 1400)) + rect(l17 (-140 -500) (0 0)) + rect(l17 (-1750 1100) (300 1400)) rect(l17 (1100 -1700) (300 300)) rect(l17 (-300 0) (300 1400)) rect(l4 (-375 -1450) (425 1500)) @@ -174,8 +174,8 @@ layout( rect(l14 (-180 370) (180 180)) rect(l17 (-240 -1300) (300 1360)) rect(l17 (-650 -2160) (2400 800)) - rect(l17 (-1151 -401) (2 2)) - rect(l9 (-951 859) (425 950)) + rect(l17 (-1150 -400) (0 0)) + rect(l9 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -187,8 +187,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-285 1050) (180 180)) - rect(l17 (-71 -91) (2 2)) - rect(l17 (-171 -151) (300 300)) + rect(l17 (-70 -90) (0 0)) + rect(l17 (-170 -150) (300 300)) ) net(6 name(A) rect(l5 (725 2860) (250 1940)) @@ -197,8 +197,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-265 150) (180 180)) - rect(l17 (-91 -91) (2 2)) - rect(l17 (-151 -151) (300 300)) + rect(l17 (-90 -90) (0 0)) + rect(l17 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -283,8 +283,8 @@ layout( rect(l17 (-240 -240) (300 1400)) rect(l17 (-650 300) (1800 800)) rect(l17 (-1450 -1100) (300 300)) - rect(l17 (299 399) (2 2)) - rect(l4 (-651 -2151) (425 1500)) + rect(l17 (300 400) (0 0)) + rect(l4 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l14 (1110 5160) (180 180)) @@ -293,8 +293,8 @@ layout( rect(l14 (-180 -4120) (180 180)) rect(l14 (-180 370) (180 180)) rect(l17 (-240 -790) (300 4790)) - rect(l17 (-151 -2501) (2 2)) - rect(l4 (-226 1049) (425 1500)) + rect(l17 (-150 -2500) (0 0)) + rect(l4 (-225 1050) (425 1500)) rect(l9 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -302,8 +302,8 @@ layout( rect(l14 (-180 370) (180 180)) rect(l17 (-240 -1300) (300 1360)) rect(l17 (-650 -2160) (1800 800)) - rect(l17 (-851 -401) (2 2)) - rect(l9 (-651 859) (425 950)) + rect(l17 (-850 -400) (0 0)) + rect(l9 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -315,8 +315,8 @@ layout( rect(l5 (-250 -2000) (250 2000)) rect(l5 (-250 -5390) (250 1450)) rect(l14 (-465 150) (180 180)) - rect(l17 (-91 -91) (2 2)) - rect(l17 (-151 -151) (300 300)) + rect(l17 (-90 -90) (0 0)) + rect(l17 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -400,8 +400,8 @@ layout( rect(l18 (-18400 -260) (200 200)) rect(l18 (17940 -200) (200 200)) rect(l19 (-18040 -300) (17740 400)) - rect(l19 (-17921 -201) (2 2)) - rect(l19 (-221 -201) (400 400)) + rect(l19 (-17920 -200) (0 0)) + rect(l19 (-220 -200) (400 400)) rect(l19 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -415,29 +415,29 @@ layout( rect(l14 (23220 370) (180 180)) rect(l14 (-180 370) (180 180)) rect(l14 (-180 -1280) (180 180)) - rect(l17 (-21741 859) (2 2)) - rect(l17 (-2351 -451) (1200 800)) + rect(l17 (-21740 860) (0 0)) + rect(l17 (-2350 -450) (1200 800)) rect(l17 (-750 -1450) (300 1400)) - rect(l17 (-101 -351) (2 2)) - rect(l17 (-1251 -401) (600 800)) + rect(l17 (-100 -350) (0 0)) + rect(l17 (-1250 -400) (600 800)) rect(l17 (23400 -800) (1200 800)) rect(l17 (-750 -1450) (300 1400)) - rect(l17 (-101 -351) (2 2)) - rect(l17 (549 -401) (600 800)) + rect(l17 (-100 -350) (0 0)) + rect(l17 (550 -400) (600 800)) rect(l15 (-24850 -1500) (500 1500)) rect(l15 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l17 (23440 3840) (320 320)) rect(l18 (-260 -260) (200 200)) - rect(l19 (-101 -101) (2 2)) - rect(l19 (-201 -201) (400 400)) + rect(l19 (-100 -100) (0 0)) + rect(l19 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l17 (2440 2940) (320 320)) rect(l18 (-260 -260) (200 200)) - rect(l19 (-101 -101) (2 2)) - rect(l19 (-201 -201) (400 400)) + rect(l19 (-100 -100) (0 0)) + rect(l19 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l14 (1110 1610) (180 180)) @@ -446,15 +446,15 @@ layout( rect(l14 (23220 370) (180 180)) rect(l14 (-180 -1280) (180 180)) rect(l14 (-180 370) (180 180)) - rect(l17 (-21741 -391) (2 2)) - rect(l17 (-1901 -401) (300 1400)) + rect(l17 (-21740 -390) (0 0)) + rect(l17 (-1900 -400) (300 1400)) rect(l17 (-750 -1450) (1200 800)) - rect(l17 (-551 -401) (2 2)) - rect(l17 (-1251 -401) (600 800)) + rect(l17 (-550 -400) (0 0)) + rect(l17 (-1250 -400) (600 800)) rect(l17 (23850 -750) (300 1400)) rect(l17 (-750 -1450) (1200 800)) - rect(l17 (-551 -401) (2 2)) - rect(l17 (549 -401) (600 800)) + rect(l17 (-550 -400) (0 0)) + rect(l17 (550 -400) (600 800)) rect(l16 (-24850 -800) (500 1500)) rect(l16 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification.lvsdb.1 b/testdata/lvs/ringo_simple_simplification.lvsdb.1 index fb0393863..ddf531dcf 100644 --- a/testdata/lvs/ringo_simple_simplification.lvsdb.1 +++ b/testdata/lvs/ringo_simple_simplification.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) rect(l2 (950 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (-650 860) (425 950)) rect(l6 (950 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification.lvsdb.2 b/testdata/lvs/ringo_simple_simplification.lvsdb.2 index 8ef1094e4..ed9919a88 100644 --- a/testdata/lvs/ringo_simple_simplification.lvsdb.2 +++ b/testdata/lvs/ringo_simple_simplification.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-375 -1450) (425 1500)) rect(l2 (-1800 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (724 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (725 860) (425 950)) rect(l6 (-1800 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification.lvsdb.3 b/testdata/lvs/ringo_simple_simplification.lvsdb.3 index 53ac9099a..907d3ad3f 100644 --- a/testdata/lvs/ringo_simple_simplification.lvsdb.3 +++ b/testdata/lvs/ringo_simple_simplification.lvsdb.3 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) rect(l2 (950 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (724 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (725 860) (425 950)) rect(l6 (-1800 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.1 b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.1 index 337303dd0..50e5303d3 100644 --- a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.1 +++ b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) rect(l2 (950 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (-650 860) (425 950)) rect(l6 (950 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.2 b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.2 index 03d0da560..65093a30b 100644 --- a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.2 +++ b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-375 -1450) (425 1500)) rect(l2 (-1800 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (724 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (725 860) (425 950)) rect(l6 (-1800 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.3 b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.3 index be1456dd3..c6d878db4 100644 --- a/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.3 +++ b/testdata/lvs/ringo_simple_simplification_with_align.lvsdb.3 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -373,8 +373,8 @@ layout( rect(l4 (450 -5390) (250 1450)) rect(l4 (-950 -1450) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(2 name(VDD) rect(l8 (410 6260) (180 180)) @@ -387,8 +387,8 @@ layout( rect(l11 (-650 300) (2400 800)) rect(l11 (-2050 -1100) (300 300)) rect(l11 (1100 -300) (300 300)) - rect(l11 (-1101 399) (2 2)) - rect(l11 (799 -2101) (300 1400)) + rect(l11 (-1100 400) (0 0)) + rect(l11 (800 -2100) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) rect(l2 (950 -1500) (425 1500)) ) @@ -399,8 +399,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l2 (-400 -1500) (425 1500)) rect(l6 (-450 -4890) (425 950)) rect(l6 (-400 -950) (425 950)) @@ -413,8 +413,8 @@ layout( rect(l11 (-1640 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) rect(l11 (-650 0) (300 1360)) - rect(l11 (-1101 -1761) (2 2)) - rect(l6 (724 859) (425 950)) + rect(l11 (-1100 -1760) (0 0)) + rect(l6 (725 860) (425 950)) rect(l6 (-1800 -950) (425 950)) ) net(5 @@ -502,8 +502,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(6 name(VDD) @@ -517,29 +517,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-22341 859) (2 2)) - rect(l11 (-1751 -451) (1200 800)) + rect(l11 (-22340 860) (0 0)) + rect(l11 (-1750 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(7 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(8 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(9 name(VSS) rect(l8 (1710 1610) (180 180)) @@ -548,15 +548,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-22341 -391) (2 2)) - rect(l11 (-1301 -401) (300 1400)) + rect(l11 (-22340 -390) (0 0)) + rect(l11 (-1300 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_with_tol.lvsdb.1 b/testdata/lvs/ringo_simple_with_tol.lvsdb.1 index 51c6fe9e2..a1d3399c2 100644 --- a/testdata/lvs/ringo_simple_with_tol.lvsdb.1 +++ b/testdata/lvs/ringo_simple_with_tol.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_with_tol.lvsdb.2 b/testdata/lvs/ringo_simple_with_tol.lvsdb.2 index 372bf323d..ee9718b35 100644 --- a/testdata/lvs/ringo_simple_with_tol.lvsdb.2 +++ b/testdata/lvs/ringo_simple_with_tol.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_with_tol_early.lvsdb.1 b/testdata/lvs/ringo_simple_with_tol_early.lvsdb.1 index 51c6fe9e2..a1d3399c2 100644 --- a/testdata/lvs/ringo_simple_with_tol_early.lvsdb.1 +++ b/testdata/lvs/ringo_simple_with_tol_early.lvsdb.1 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-1750 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/ringo_simple_with_tol_early.lvsdb.2 b/testdata/lvs/ringo_simple_with_tol_early.lvsdb.2 index 372bf323d..ee9718b35 100644 --- a/testdata/lvs/ringo_simple_with_tol_early.lvsdb.2 +++ b/testdata/lvs/ringo_simple_with_tol_early.lvsdb.2 @@ -143,8 +143,8 @@ layout( rect(l8 (-180 -730) (180 180)) rect(l11 (-240 -790) (300 1700)) rect(l11 (-1350 0) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l2 (-276 -2151) (425 1500)) + rect(l11 (-1150 -400) (0 0)) + rect(l2 (-275 -2150) (425 1500)) rect(l2 (-400 -1500) (425 1500)) ) net(2 name(OUT) @@ -159,8 +159,8 @@ layout( polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090)) rect(l11 (-110 1390) (300 1400)) polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300)) - rect(l11 (-141 -501) (2 2)) - rect(l11 (-1751 1099) (300 1400)) + rect(l11 (-140 -500) (0 0)) + rect(l11 (-1750 1100) (300 1400)) rect(l11 (1100 -1700) (300 300)) rect(l11 (-300 0) (300 1400)) rect(l2 (-375 -1450) (425 1500)) @@ -172,8 +172,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (2400 800)) - rect(l11 (-1151 -401) (2 2)) - rect(l6 (-951 859) (425 950)) + rect(l11 (-1150 -400) (0 0)) + rect(l6 (-950 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2600 3500)) @@ -185,8 +185,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-285 1050) (180 180)) - rect(l11 (-71 -91) (2 2)) - rect(l11 (-171 -151) (300 300)) + rect(l11 (-70 -90) (0 0)) + rect(l11 (-170 -150) (300 300)) ) net(6 name(A) rect(l4 (725 2860) (250 1940)) @@ -195,8 +195,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-265 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(7 name(SUBSTRATE)) net(8 @@ -281,8 +281,8 @@ layout( rect(l11 (-240 -240) (300 1400)) rect(l11 (-650 300) (1800 800)) rect(l11 (-1450 -1100) (300 300)) - rect(l11 (299 399) (2 2)) - rect(l2 (-651 -2151) (425 1500)) + rect(l11 (300 400) (0 0)) + rect(l2 (-650 -2150) (425 1500)) ) net(2 name(OUT) rect(l8 (1110 5160) (180 180)) @@ -291,8 +291,8 @@ layout( rect(l8 (-180 -4120) (180 180)) rect(l8 (-180 370) (180 180)) rect(l11 (-240 -790) (300 4790)) - rect(l11 (-151 -2501) (2 2)) - rect(l2 (-226 1049) (425 1500)) + rect(l11 (-150 -2500) (0 0)) + rect(l2 (-225 1050) (425 1500)) rect(l6 (-425 -4890) (425 950)) ) net(3 name(VSS) @@ -300,8 +300,8 @@ layout( rect(l8 (-180 370) (180 180)) rect(l11 (-240 -1300) (300 1360)) rect(l11 (-650 -2160) (1800 800)) - rect(l11 (-851 -401) (2 2)) - rect(l6 (-651 859) (425 950)) + rect(l11 (-850 -400) (0 0)) + rect(l6 (-650 860) (425 950)) ) net(4 rect(l3 (-100 4500) (2000 3500)) @@ -313,8 +313,8 @@ layout( rect(l4 (-250 -2000) (250 2000)) rect(l4 (-250 -5390) (250 1450)) rect(l8 (-465 150) (180 180)) - rect(l11 (-91 -91) (2 2)) - rect(l11 (-151 -151) (300 300)) + rect(l11 (-90 -90) (0 0)) + rect(l11 (-150 -150) (300 300)) ) net(6 name(SUBSTRATE)) @@ -398,8 +398,8 @@ layout( rect(l12 (-18400 -260) (200 200)) rect(l12 (17940 -200) (200 200)) rect(l13 (-18040 -300) (17740 400)) - rect(l13 (-17921 -201) (2 2)) - rect(l13 (-221 -201) (400 400)) + rect(l13 (-17920 -200) (0 0)) + rect(l13 (-220 -200) (400 400)) rect(l13 (17740 -400) (400 400)) ) net(12 name(VDD) @@ -413,29 +413,29 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 370) (180 180)) rect(l8 (-180 -1280) (180 180)) - rect(l11 (-21741 859) (2 2)) - rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-21740 860) (0 0)) + rect(l11 (-2350 -450) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23400 -800) (1200 800)) rect(l11 (-750 -1450) (300 1400)) - rect(l11 (-101 -351) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-100 -350) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l9 (-24850 -1500) (500 1500)) rect(l9 (22900 -1500) (500 1500)) ) net(13 name(OUT) rect(l11 (23440 3840) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(14 name(ENABLE) rect(l11 (2440 2940) (320 320)) rect(l12 (-260 -260) (200 200)) - rect(l13 (-101 -101) (2 2)) - rect(l13 (-201 -201) (400 400)) + rect(l13 (-100 -100) (0 0)) + rect(l13 (-200 -200) (400 400)) ) net(15 name(VSS) rect(l8 (1110 1610) (180 180)) @@ -444,15 +444,15 @@ layout( rect(l8 (23220 370) (180 180)) rect(l8 (-180 -1280) (180 180)) rect(l8 (-180 370) (180 180)) - rect(l11 (-21741 -391) (2 2)) - rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-21740 -390) (0 0)) + rect(l11 (-1900 -400) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (-1251 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (-1250 -400) (600 800)) rect(l11 (23850 -750) (300 1400)) rect(l11 (-750 -1450) (1200 800)) - rect(l11 (-551 -401) (2 2)) - rect(l11 (549 -401) (600 800)) + rect(l11 (-550 -400) (0 0)) + rect(l11 (550 -400) (600 800)) rect(l10 (-24850 -800) (500 1500)) rect(l10 (22900 -1500) (500 1500)) ) diff --git a/testdata/lvs/test_22a.cir b/testdata/lvs/test_22a.cir new file mode 100644 index 000000000..7526343c0 --- /dev/null +++ b/testdata/lvs/test_22a.cir @@ -0,0 +1,161 @@ +* Extracted by KLayout + +* cell SP6TArray_2X4 +.SUBCKT SP6TArray_2X4 +* net 1 vdd +* net 2 bl[0] +* net 3 bl_n[0] +* net 4 bl[1] +* net 5 bl_n[1] +* net 6 bl[2] +* net 7 bl_n[2] +* net 8 bl[3] +* net 9 bl_n[3] +* net 26 wl[0] +* net 31 wl[1] +* net 52 vss +* device instance $1 r0 *1 0.215,1.935 sky130_fd_pr__nfet_01v8__model +M$1 52 10 12 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $2 r0 *1 0.605,2.56 sky130_fd_pr__nfet_01v8__model +M$2 12 26 2 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $3 r0 *1 0.605,2.99 sky130_fd_pr__nfet_01v8__model +M$3 2 31 32 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $4 r0 *1 0.215,3.615 sky130_fd_pr__nfet_01v8__model +M$4 32 34 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $5 r0 *1 1.965,1.935 sky130_fd_pr__nfet_01v8__model +M$5 10 12 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $6 r0 *1 2.395,1.935 sky130_fd_pr__nfet_01v8__model +M$6 52 15 16 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $7 r0 *1 1.575,2.56 sky130_fd_pr__nfet_01v8__model +M$7 10 26 3 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $8 r0 *1 2.785,2.56 sky130_fd_pr__nfet_01v8__model +M$8 16 26 4 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $9 r0 *1 1.575,2.99 sky130_fd_pr__nfet_01v8__model +M$9 3 31 34 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $10 r0 *1 2.785,2.99 sky130_fd_pr__nfet_01v8__model +M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $11 r0 *1 1.965,3.615 sky130_fd_pr__nfet_01v8__model +M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model +M$12 35 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model +M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $14 r0 *1 4.575,1.935 sky130_fd_pr__nfet_01v8__model +M$14 52 18 20 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $15 r0 *1 3.755,2.56 sky130_fd_pr__nfet_01v8__model +M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $16 r0 *1 4.965,2.56 sky130_fd_pr__nfet_01v8__model +M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model +M$17 5 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model +M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model +M$19 49 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model +M$20 37 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model +M$21 18 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $22 r0 *1 6.755,1.935 sky130_fd_pr__nfet_01v8__model +M$22 52 22 24 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $23 r0 *1 5.935,2.56 sky130_fd_pr__nfet_01v8__model +M$23 18 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $24 r0 *1 7.145,2.56 sky130_fd_pr__nfet_01v8__model +M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model +M$25 7 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model +M$26 8 31 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model +M$27 39 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model +M$28 40 42 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model +M$29 22 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $30 r0 *1 8.115,2.56 sky130_fd_pr__nfet_01v8__model +M$30 22 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $31 r0 *1 8.115,2.99 sky130_fd_pr__nfet_01v8__model +M$31 9 31 42 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model +M$32 42 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model +M$33 1 10 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +* device instance $34 r0 *1 1.965,0.605 sky130_fd_pr__pfet_01v8__model +M$34 10 12 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $35 r0 *1 2.395,0.605 sky130_fd_pr__pfet_01v8__model +M$35 1 15 16 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $36 r0 *1 4.145,0.605 sky130_fd_pr__pfet_01v8__model +M$36 15 16 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $37 r0 *1 4.575,0.605 sky130_fd_pr__pfet_01v8__model +M$37 1 18 20 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $38 r0 *1 6.325,0.605 sky130_fd_pr__pfet_01v8__model +M$38 18 20 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $39 r0 *1 6.755,0.605 sky130_fd_pr__pfet_01v8__model +M$39 1 22 24 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $40 r0 *1 8.505,0.605 sky130_fd_pr__pfet_01v8__model +M$40 22 24 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +* device instance $41 r0 *1 0.215,4.945 sky130_fd_pr__pfet_01v8__model +M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +* device instance $42 r0 *1 1.965,4.945 sky130_fd_pr__pfet_01v8__model +M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model +M$43 1 49 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model +M$44 49 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model +M$45 1 39 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model +M$46 39 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model +M$47 1 42 40 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model +M$48 42 40 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +.ENDS SP6TArray_2X4 diff --git a/testdata/lvs/test_22a.lvsdb.1 b/testdata/lvs/test_22a.lvsdb.1 new file mode 100644 index 000000000..1d74871c2 --- /dev/null +++ b/testdata/lvs/test_22a.lvsdb.1 @@ -0,0 +1,2590 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l1) + layer(l2) + layer(l3) + layer(l4) + layer(l5 '64/20') + layer(l6) + layer(l7 '66/20') + layer(l8) + layer(l9 '67/20') + layer(l10) + layer(l11 '68/20') + layer(l12 '68/16') + layer(l13 '69/20') + layer(l14 '69/16') + layer(l15) + layer(l16) + layer(l17) + layer(l18) + layer(l19) + layer(l20) + layer(l21 '66/44') + layer(l22 '66/20') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + + # Mask layer connectivity + connect(l1 l1) + connect(l2 l2 l3 l4 l6 l21) + connect(l3 l2 l3) + connect(l4 l2 l4 l5) + connect(l5 l4 l5) + connect(l6 l2 l6) + connect(l7 l7 l8) + connect(l8 l7 l8) + connect(l9 l9 l10 l21 l23) + connect(l10 l9 l10) + connect(l11 l11 l12 l23 l24) + connect(l12 l11 l12) + connect(l13 l13 l14 l24 l25) + connect(l14 l13 l14) + connect(l15 l15 l16 l25 l26) + connect(l16 l15 l16) + connect(l17 l17 l18 l26 l27) + connect(l18 l17 l18) + connect(l19 l19 l20 l27) + connect(l20 l19 l20) + connect(l21 l2 l9 l21 l22) + connect(l22 l21 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-315 -835) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$4 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$5 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$6 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-210 -835) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$7 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$8 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$9 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-355 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$10 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$11 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$2 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$3 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name(vdd) + rect(l2 (-205 -125) (9130 250)) + rect(l2 (-9050 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l2 (-8970 3920) (265 420)) + rect(l2 (-345 270) (9130 250)) + rect(l2 (-6885 -940) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-9050 -5280) (9130 250)) + rect(l4 (-9130 5300) (9130 250)) + rect(l5 (-7130 -5980) (2950 1300)) + rect(l5 (-5130 -1300) (2950 1300)) + rect(l5 (1410 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-9490 3560) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l9 (-9270 -5940) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-8970 0) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-8970 4695) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l11 (-8935 -5625) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-8980 5230) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l13 (-9010 -5840) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (9040 260)) + rect(l13 (-6860 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-9040 5290) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (9040 260)) + rect(l13 (-9040 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -5810) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l21 (-4445 -5635) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 4170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-8890 -5115) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-8890 5380) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-8880 -5710) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-8870 5400) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(2 name('bl[0]') + rect(l2 (395 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(3 name('bl_n[0]') + rect(l2 (1365 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(4 name('bl[1]') + rect(l2 (2575 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(5 name('bl_n[1]') + rect(l2 (3545 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(6 name('bl[2]') + rect(l2 (4755 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(7 name('bl_n[2]') + rect(l2 (5725 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(8 name('bl[3]') + rect(l2 (6935 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(9 name('bl_n[3]') + rect(l2 (7905 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(10 + rect(l7 (290 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(11 + polygon(l2 (1365 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(12 + rect(l2 (290 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(13 + rect(l7 (940 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(14 + rect(l7 (2470 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(15 + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(16 + rect(l2 (2470 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(17 + rect(l7 (3120 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(18 + rect(l7 (4650 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(19 + polygon(l2 (5725 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(20 + polygon(l2 (4650 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(21 + rect(l7 (5300 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(22 + rect(l7 (6830 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(23 + rect(l2 (7985 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(24 + rect(l2 (6830 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(25 + rect(l7 (7480 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(26 name('wl[0]') + rect(l9 (1005 2135) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6755 -880) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + rect(l13 (-7760 30) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-6540 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-8720 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 340) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-6760 -250) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + rect(l23 (-6760 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 -465) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(27 + polygon(l7 (955 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(28 + polygon(l7 (7495 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(29 + polygon(l7 (3135 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(30 + polygon(l7 (5315 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(31 name('wl[1]') + rect(l9 (1005 2915) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6740 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-8720 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-6540 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 -770) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-7450 -250) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + rect(l23 (-7450 330) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 145) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(32 + polygon(l2 (395 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(33 + rect(l7 (940 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(34 + polygon(l2 (1365 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(35 + polygon(l2 (2575 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(36 + rect(l7 (3120 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(37 + polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(38 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(39 + polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(40 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(41 + polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(42 + polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(43 + polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(44 + polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(45 + rect(l7 (290 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(46 + rect(l7 (2470 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(47 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(48 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(49 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(50 + polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(51 + rect(l7 (6830 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(52 name(vss) + rect(l2 (-125 1725) (265 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (265 420)) + rect(l2 (-250 270) (250 720)) + rect(l2 (-8970 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l6 (-8970 -1410) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l9 (-8930 -1365) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l11 (-8935 -1165) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l13 (-9010 -290) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-9040 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (2020 -130) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l21 (-8965 -1055) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-8890 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l23 (-8890 -1010) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l24 (-8880 -160) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + ) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(215 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 52) + terminal(G 11) + terminal(D 12) + terminal(B 52) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(605 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 12) + terminal(G 26) + terminal(D 2) + terminal(B 52) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 2) + terminal(G 31) + terminal(D 32) + terminal(B 52) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 32) + terminal(G 34) + terminal(D 52) + terminal(B 52) + ) + device(5 D$sky130_fd_pr__nfet_01v8__model$4 + location(1965 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 11) + terminal(G 12) + terminal(D 52) + terminal(B 52) + ) + device(6 D$sky130_fd_pr__nfet_01v8__model$5 + location(2395 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 15) + terminal(D 16) + terminal(B 52) + ) + device(7 D$sky130_fd_pr__nfet_01v8__model$6 + location(1575 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 11) + terminal(G 26) + terminal(D 3) + terminal(B 52) + ) + device(8 D$sky130_fd_pr__nfet_01v8__model$1 + location(2785 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 16) + terminal(G 26) + terminal(D 4) + terminal(B 52) + ) + device(9 D$sky130_fd_pr__nfet_01v8__model$7 + location(1575 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 3) + terminal(G 31) + terminal(D 34) + terminal(B 52) + ) + device(10 D$sky130_fd_pr__nfet_01v8__model$2 + location(2785 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 4) + terminal(G 31) + terminal(D 35) + terminal(B 52) + ) + device(11 D$sky130_fd_pr__nfet_01v8__model$8 + location(1965 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 52) + terminal(B 52) + ) + device(12 D$sky130_fd_pr__nfet_01v8__model$9 + location(2395 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 35) + terminal(G 47) + terminal(D 52) + terminal(B 52) + ) + device(13 D$sky130_fd_pr__nfet_01v8__model$4 + location(4145 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 52) + terminal(B 52) + ) + device(14 D$sky130_fd_pr__nfet_01v8__model$5 + location(4575 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 19) + terminal(D 20) + terminal(B 52) + ) + device(15 D$sky130_fd_pr__nfet_01v8__model$6 + location(3755 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 26) + terminal(D 5) + terminal(B 52) + ) + device(16 D$sky130_fd_pr__nfet_01v8__model$1 + location(4965 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 20) + terminal(G 26) + terminal(D 6) + terminal(B 52) + ) + device(17 D$sky130_fd_pr__nfet_01v8__model$7 + location(3755 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 5) + terminal(G 31) + terminal(D 47) + terminal(B 52) + ) + device(18 D$sky130_fd_pr__nfet_01v8__model$2 + location(4965 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 6) + terminal(G 31) + terminal(D 37) + terminal(B 52) + ) + device(19 D$sky130_fd_pr__nfet_01v8__model$8 + location(4145 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 47) + terminal(G 35) + terminal(D 52) + terminal(B 52) + ) + device(20 D$sky130_fd_pr__nfet_01v8__model$9 + location(4575 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 37) + terminal(G 49) + terminal(D 52) + terminal(B 52) + ) + device(21 D$sky130_fd_pr__nfet_01v8__model$4 + location(6325 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 19) + terminal(G 20) + terminal(D 52) + terminal(B 52) + ) + device(22 D$sky130_fd_pr__nfet_01v8__model$5 + location(6755 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 23) + terminal(D 24) + terminal(B 52) + ) + device(23 D$sky130_fd_pr__nfet_01v8__model$6 + location(5935 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 19) + terminal(G 26) + terminal(D 7) + terminal(B 52) + ) + device(24 D$sky130_fd_pr__nfet_01v8__model$1 + location(7145 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 24) + terminal(G 26) + terminal(D 8) + terminal(B 52) + ) + device(25 D$sky130_fd_pr__nfet_01v8__model$7 + location(5935 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 7) + terminal(G 31) + terminal(D 49) + terminal(B 52) + ) + device(26 D$sky130_fd_pr__nfet_01v8__model$2 + location(7145 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 8) + terminal(G 31) + terminal(D 39) + terminal(B 52) + ) + device(27 D$sky130_fd_pr__nfet_01v8__model$8 + location(6325 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 49) + terminal(G 37) + terminal(D 52) + terminal(B 52) + ) + device(28 D$sky130_fd_pr__nfet_01v8__model$9 + location(6755 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 39) + terminal(G 50) + terminal(D 52) + terminal(B 52) + ) + device(29 D$sky130_fd_pr__nfet_01v8__model$10 + location(8505 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 23) + terminal(G 24) + terminal(D 52) + terminal(B 52) + ) + device(30 D$sky130_fd_pr__nfet_01v8__model$6 + location(8115 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 23) + terminal(G 26) + terminal(D 9) + terminal(B 52) + ) + device(31 D$sky130_fd_pr__nfet_01v8__model$7 + location(8115 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 9) + terminal(G 31) + terminal(D 50) + terminal(B 52) + ) + device(32 D$sky130_fd_pr__nfet_01v8__model$11 + location(8505 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 50) + terminal(G 39) + terminal(D 52) + terminal(B 52) + ) + device(33 D$sky130_fd_pr__pfet_01v8__model + location(215 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 11) + terminal(D 12) + terminal(B 1) + ) + device(34 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 11) + terminal(G 12) + terminal(D 1) + terminal(B 1) + ) + device(35 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(36 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(37 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(38 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(39 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(40 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(41 D$sky130_fd_pr__pfet_01v8__model + location(215 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 34) + terminal(D 32) + terminal(B 1) + ) + device(42 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 1) + terminal(B 1) + ) + device(43 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 47) + terminal(D 35) + terminal(B 1) + ) + device(44 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 47) + terminal(G 35) + terminal(D 1) + terminal(B 1) + ) + device(45 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 49) + terminal(D 37) + terminal(B 1) + ) + device(46 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 49) + terminal(G 37) + terminal(D 1) + terminal(B 1) + ) + device(47 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 50) + terminal(D 39) + terminal(B 1) + ) + device(48 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 50) + terminal(G 39) + terminal(D 1) + terminal(B 1) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + net(13 name(INST0X0.INST0X0.INST0X0.BIT_N)) + net(14 name(INST0X0.INST0X0.INST0X0.BIT)) + net(15 name(INST0X0.INST0X0.INST1X0.BIT_N)) + net(16 name(INST0X0.INST0X0.INST1X0.BIT)) + net(17 name(INST0X0.INST0X1.INST0X0.BIT_N)) + net(18 name(INST0X0.INST0X1.INST0X0.BIT)) + net(19 name(INST0X0.INST0X1.INST1X0.BIT_N)) + net(20 name(INST0X0.INST0X1.INST1X0.BIT)) + net(21 name(INST0X1.INST0X0.INST0X0.BIT_N)) + net(22 name(INST0X1.INST0X0.INST0X0.BIT)) + net(23 name(INST0X1.INST0X0.INST1X0.BIT_N)) + net(24 name(INST0X1.INST0X0.INST1X0.BIT)) + net(25 name(INST0X1.INST0X1.INST0X0.BIT_N)) + net(26 name(INST0X1.INST0X1.INST0X0.BIT)) + net(27 name(INST0X1.INST0X1.INST1X0.BIT_N)) + net(28 name(INST0X1.INST0X1.INST1X0.BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 13) + terminal(D 14) + terminal(B 2) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 2) + terminal(B 2) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 13) + terminal(D 14) + terminal(B 1) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 1) + terminal(B 1) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 14) + terminal(B 1) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 3) + terminal(D 13) + terminal(B 1) + ) + device(7 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 15) + terminal(D 16) + terminal(B 2) + ) + device(8 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 2) + terminal(B 2) + ) + device(9 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(10 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(11 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 4) + terminal(D 16) + terminal(B 1) + ) + device(12 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 4) + terminal(D 15) + terminal(B 1) + ) + device(13 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 17) + terminal(D 18) + terminal(B 2) + ) + device(14 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 2) + terminal(B 2) + ) + device(15 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 17) + terminal(D 18) + terminal(B 1) + ) + device(16 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 1) + terminal(B 1) + ) + device(17 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 3) + terminal(D 18) + terminal(B 1) + ) + device(18 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 3) + terminal(D 17) + terminal(B 1) + ) + device(19 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 19) + terminal(D 20) + terminal(B 2) + ) + device(20 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 2) + terminal(B 2) + ) + device(21 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(22 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(23 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 4) + terminal(D 20) + terminal(B 1) + ) + device(24 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 4) + terminal(D 19) + terminal(B 1) + ) + device(25 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 21) + terminal(D 22) + terminal(B 2) + ) + device(26 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 2) + terminal(B 2) + ) + device(27 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 21) + terminal(D 22) + terminal(B 1) + ) + device(28 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 1) + terminal(B 1) + ) + device(29 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 3) + terminal(D 22) + terminal(B 1) + ) + device(30 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 3) + terminal(D 21) + terminal(B 1) + ) + device(31 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 23) + terminal(D 24) + terminal(B 2) + ) + device(32 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 2) + terminal(B 2) + ) + device(33 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(34 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(35 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 4) + terminal(D 24) + terminal(B 1) + ) + device(36 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 4) + terminal(D 23) + terminal(B 1) + ) + device(37 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 25) + terminal(D 26) + terminal(B 2) + ) + device(38 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 2) + terminal(B 2) + ) + device(39 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 25) + terminal(D 26) + terminal(B 1) + ) + device(40 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 1) + terminal(B 1) + ) + device(41 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 3) + terminal(D 26) + terminal(B 1) + ) + device(42 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 3) + terminal(D 25) + terminal(B 1) + ) + device(43 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 27) + terminal(D 28) + terminal(B 2) + ) + device(44 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 2) + terminal(B 2) + ) + device(45 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 27) + terminal(D 28) + terminal(B 1) + ) + device(46 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 1) + terminal(B 1) + ) + device(47 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 4) + terminal(D 28) + terminal(B 1) + ) + device(48 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 4) + terminal(D 27) + terminal(B 1) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(11 14 warning) + net(12 13 warning) + net(34 16 match) + net(32 15 match) + net(15 18 warning) + net(16 17 warning) + net(47 20 match) + net(35 19 match) + net(19 22 warning) + net(20 21 warning) + net(49 24 match) + net(37 23 match) + net(23 26 warning) + net(24 25 warning) + net(50 28 match) + net(39 27 match) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(3 5 match) + net(5 7 match) + net(7 9 match) + net(9 11 match) + net(1 2 match) + net(52 1 match) + net(26 3 match) + net(31 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + device(5 3 match) + device(1 4 match) + device(7 5 match) + device(2 6 match) + device(11 9 match) + device(4 10 match) + device(9 11 match) + device(3 12 match) + device(13 15 match) + device(6 16 match) + device(15 17 match) + device(8 18 match) + device(19 21 match) + device(12 22 match) + device(17 23 match) + device(10 24 match) + device(21 27 match) + device(14 28 match) + device(23 29 match) + device(16 30 match) + device(27 33 match) + device(20 34 match) + device(25 35 match) + device(18 36 match) + device(29 39 match) + device(22 40 match) + device(30 41 match) + device(24 42 match) + device(32 45 match) + device(28 46 match) + device(31 47 match) + device(26 48 match) + device(34 1 match) + device(33 2 match) + device(42 7 match) + device(41 8 match) + device(36 13 match) + device(35 14 match) + device(44 19 match) + device(43 20 match) + device(38 25 match) + device(37 26 match) + device(46 31 match) + device(45 32 match) + device(40 37 match) + device(39 38 match) + device(48 43 match) + device(47 44 match) + ) + ) +) diff --git a/testdata/lvs/test_22a.lvsdb.2 b/testdata/lvs/test_22a.lvsdb.2 new file mode 100644 index 000000000..ac145db1c --- /dev/null +++ b/testdata/lvs/test_22a.lvsdb.2 @@ -0,0 +1,2590 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l1) + layer(l2) + layer(l3) + layer(l4) + layer(l5 '64/20') + layer(l6) + layer(l7 '66/20') + layer(l8) + layer(l9 '67/20') + layer(l10) + layer(l11 '68/20') + layer(l12 '68/16') + layer(l13 '69/20') + layer(l14 '69/16') + layer(l15) + layer(l16) + layer(l17) + layer(l18) + layer(l19) + layer(l20) + layer(l21 '66/44') + layer(l22 '66/20') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + + # Mask layer connectivity + connect(l1 l1) + connect(l2 l2 l3 l4 l6 l21) + connect(l3 l2 l3) + connect(l4 l2 l4 l5) + connect(l5 l4 l5) + connect(l6 l2 l6) + connect(l7 l7 l8) + connect(l8 l7 l8) + connect(l9 l9 l10 l21 l23) + connect(l10 l9 l10) + connect(l11 l11 l12 l23 l24) + connect(l12 l11 l12) + connect(l13 l13 l14 l24 l25) + connect(l14 l13 l14) + connect(l15 l15 l16 l25 l26) + connect(l16 l15 l16) + connect(l17 l17 l18 l26 l27) + connect(l18 l17 l18) + connect(l19 l19 l20 l27) + connect(l20 l19 l20) + connect(l21 l2 l9 l21 l22) + connect(l22 l21 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-315 -835) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$4 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$5 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$6 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-210 -835) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$7 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$8 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$9 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-355 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$10 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$11 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$2 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$3 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name(vdd) + rect(l2 (-205 -125) (9130 250)) + rect(l2 (-9050 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l2 (-9050 4610) (9130 250)) + rect(l2 (-9050 -940) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-9050 -5280) (9130 250)) + rect(l4 (-9130 5300) (9130 250)) + rect(l5 (-7130 -5980) (2950 1300)) + rect(l5 (-5130 -1300) (2950 1300)) + rect(l5 (1410 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-9490 3560) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l9 (-9270 -5940) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-8970 0) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-8970 4695) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l11 (-8935 -5625) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-8980 5230) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l13 (-9010 -5840) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-6860 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-9040 5290) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-9040 -260) (4680 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -5810) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l21 (-4445 -5635) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 4775) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -775) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l23 (-8890 -5720) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-8890 5380) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-8880 -5710) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-8870 5400) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(2 name('bl[0]') + rect(l2 (395 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(3 name('bl_n[0]') + rect(l2 (1365 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(4 name('bl[1]') + rect(l2 (2575 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(5 name('bl_n[1]') + rect(l2 (3545 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(6 name('bl[2]') + rect(l2 (4755 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(7 name('bl_n[2]') + rect(l2 (5725 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(8 name('bl[3]') + rect(l2 (6935 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(9 name('bl_n[3]') + rect(l2 (7905 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(10 + rect(l2 (1445 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(11 + rect(l7 (290 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(12 + rect(l2 (290 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(13 + rect(l7 (940 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(14 + rect(l7 (2470 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(15 + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(16 + polygon(l2 (2470 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(17 + rect(l7 (3120 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(18 + rect(l2 (5805 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(19 + rect(l7 (4650 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(20 + rect(l2 (4650 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(21 + rect(l7 (5300 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(22 + rect(l2 (7985 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(23 + rect(l7 (6830 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(24 + polygon(l2 (6830 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(25 + rect(l7 (7480 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(26 name('wl[0]') + rect(l9 (1005 2135) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6755 -880) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + rect(l13 (-7760 30) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-8720 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (8720 260)) + rect(l14 (-8720 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (4360 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 340) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-6760 -250) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + rect(l23 (-6760 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 -465) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(27 + polygon(l7 (955 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(28 + polygon(l7 (7495 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(29 + polygon(l7 (3135 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(30 + polygon(l7 (5315 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(31 name('wl[1]') + rect(l9 (1005 2915) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6740 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (8720 260)) + rect(l13 (-8720 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (8720 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 -770) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-7450 -250) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + rect(l23 (-7450 330) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 145) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(32 + polygon(l2 (395 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(33 + rect(l7 (940 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(34 + polygon(l2 (1365 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(35 + polygon(l2 (2575 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(36 + rect(l7 (3120 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(37 + polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(38 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(39 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(40 + polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(41 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(42 + polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(43 + polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(44 + polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(45 + polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(46 + polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(47 + rect(l7 (290 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(48 + rect(l7 (2470 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(49 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(50 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(51 + rect(l7 (6830 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(52 name(vss) + rect(l2 (-125 1725) (265 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (265 420)) + rect(l2 (-250 270) (250 720)) + rect(l2 (-8970 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l6 (-8970 -1410) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l9 (-8930 -525) (170 1170)) + rect(l9 (-170 -2010) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l9 (-170 -2010) (170 1170)) + rect(l11 (-8935 -325) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l13 (-9010 -290) (9040 260)) + rect(l13 (-9040 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (2020 -130) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l21 (-8965 -1055) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-8890 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l23 (-8890 -1010) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l24 (-8880 -160) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + ) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(215 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 52) + terminal(G 10) + terminal(D 12) + terminal(B 52) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(605 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 12) + terminal(G 26) + terminal(D 2) + terminal(B 52) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 2) + terminal(G 31) + terminal(D 32) + terminal(B 52) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 32) + terminal(G 34) + terminal(D 52) + terminal(B 52) + ) + device(5 D$sky130_fd_pr__nfet_01v8__model$4 + location(1965 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 10) + terminal(G 12) + terminal(D 52) + terminal(B 52) + ) + device(6 D$sky130_fd_pr__nfet_01v8__model$5 + location(2395 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 15) + terminal(D 16) + terminal(B 52) + ) + device(7 D$sky130_fd_pr__nfet_01v8__model$6 + location(1575 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 10) + terminal(G 26) + terminal(D 3) + terminal(B 52) + ) + device(8 D$sky130_fd_pr__nfet_01v8__model$1 + location(2785 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 16) + terminal(G 26) + terminal(D 4) + terminal(B 52) + ) + device(9 D$sky130_fd_pr__nfet_01v8__model$7 + location(1575 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 3) + terminal(G 31) + terminal(D 34) + terminal(B 52) + ) + device(10 D$sky130_fd_pr__nfet_01v8__model$2 + location(2785 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 4) + terminal(G 31) + terminal(D 35) + terminal(B 52) + ) + device(11 D$sky130_fd_pr__nfet_01v8__model$8 + location(1965 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 52) + terminal(B 52) + ) + device(12 D$sky130_fd_pr__nfet_01v8__model$9 + location(2395 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 35) + terminal(G 49) + terminal(D 52) + terminal(B 52) + ) + device(13 D$sky130_fd_pr__nfet_01v8__model$4 + location(4145 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 52) + terminal(B 52) + ) + device(14 D$sky130_fd_pr__nfet_01v8__model$5 + location(4575 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 18) + terminal(D 20) + terminal(B 52) + ) + device(15 D$sky130_fd_pr__nfet_01v8__model$6 + location(3755 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 26) + terminal(D 5) + terminal(B 52) + ) + device(16 D$sky130_fd_pr__nfet_01v8__model$1 + location(4965 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 20) + terminal(G 26) + terminal(D 6) + terminal(B 52) + ) + device(17 D$sky130_fd_pr__nfet_01v8__model$7 + location(3755 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 5) + terminal(G 31) + terminal(D 49) + terminal(B 52) + ) + device(18 D$sky130_fd_pr__nfet_01v8__model$2 + location(4965 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 6) + terminal(G 31) + terminal(D 37) + terminal(B 52) + ) + device(19 D$sky130_fd_pr__nfet_01v8__model$8 + location(4145 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 49) + terminal(G 35) + terminal(D 52) + terminal(B 52) + ) + device(20 D$sky130_fd_pr__nfet_01v8__model$9 + location(4575 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 37) + terminal(G 39) + terminal(D 52) + terminal(B 52) + ) + device(21 D$sky130_fd_pr__nfet_01v8__model$4 + location(6325 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 18) + terminal(G 20) + terminal(D 52) + terminal(B 52) + ) + device(22 D$sky130_fd_pr__nfet_01v8__model$5 + location(6755 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 22) + terminal(D 24) + terminal(B 52) + ) + device(23 D$sky130_fd_pr__nfet_01v8__model$6 + location(5935 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 18) + terminal(G 26) + terminal(D 7) + terminal(B 52) + ) + device(24 D$sky130_fd_pr__nfet_01v8__model$1 + location(7145 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 24) + terminal(G 26) + terminal(D 8) + terminal(B 52) + ) + device(25 D$sky130_fd_pr__nfet_01v8__model$7 + location(5935 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 7) + terminal(G 31) + terminal(D 39) + terminal(B 52) + ) + device(26 D$sky130_fd_pr__nfet_01v8__model$2 + location(7145 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 8) + terminal(G 31) + terminal(D 40) + terminal(B 52) + ) + device(27 D$sky130_fd_pr__nfet_01v8__model$8 + location(6325 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 39) + terminal(G 37) + terminal(D 52) + terminal(B 52) + ) + device(28 D$sky130_fd_pr__nfet_01v8__model$9 + location(6755 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 40) + terminal(G 42) + terminal(D 52) + terminal(B 52) + ) + device(29 D$sky130_fd_pr__nfet_01v8__model$10 + location(8505 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 22) + terminal(G 24) + terminal(D 52) + terminal(B 52) + ) + device(30 D$sky130_fd_pr__nfet_01v8__model$6 + location(8115 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 22) + terminal(G 26) + terminal(D 9) + terminal(B 52) + ) + device(31 D$sky130_fd_pr__nfet_01v8__model$7 + location(8115 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 9) + terminal(G 31) + terminal(D 42) + terminal(B 52) + ) + device(32 D$sky130_fd_pr__nfet_01v8__model$11 + location(8505 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 42) + terminal(G 40) + terminal(D 52) + terminal(B 52) + ) + device(33 D$sky130_fd_pr__pfet_01v8__model + location(215 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 10) + terminal(D 12) + terminal(B 1) + ) + device(34 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 10) + terminal(G 12) + terminal(D 1) + terminal(B 1) + ) + device(35 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(36 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(37 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 18) + terminal(D 20) + terminal(B 1) + ) + device(38 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 18) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(39 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 22) + terminal(D 24) + terminal(B 1) + ) + device(40 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 22) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(41 D$sky130_fd_pr__pfet_01v8__model + location(215 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 34) + terminal(D 32) + terminal(B 1) + ) + device(42 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 1) + terminal(B 1) + ) + device(43 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 49) + terminal(D 35) + terminal(B 1) + ) + device(44 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 49) + terminal(G 35) + terminal(D 1) + terminal(B 1) + ) + device(45 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 39) + terminal(D 37) + terminal(B 1) + ) + device(46 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 39) + terminal(G 37) + terminal(D 1) + terminal(B 1) + ) + device(47 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 42) + terminal(D 40) + terminal(B 1) + ) + device(48 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 42) + terminal(G 40) + terminal(D 1) + terminal(B 1) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + net(13 name(INST0X0.INST0X0.INST0X0.BIT_N)) + net(14 name(INST0X0.INST0X0.INST0X0.BIT)) + net(15 name(INST0X0.INST0X0.INST1X0.BIT_N)) + net(16 name(INST0X0.INST0X0.INST1X0.BIT)) + net(17 name(INST0X0.INST0X1.INST0X0.BIT_N)) + net(18 name(INST0X0.INST0X1.INST0X0.BIT)) + net(19 name(INST0X0.INST0X1.INST1X0.BIT_N)) + net(20 name(INST0X0.INST0X1.INST1X0.BIT)) + net(21 name(INST0X1.INST0X0.INST0X0.BIT_N)) + net(22 name(INST0X1.INST0X0.INST0X0.BIT)) + net(23 name(INST0X1.INST0X0.INST1X0.BIT_N)) + net(24 name(INST0X1.INST0X0.INST1X0.BIT)) + net(25 name(INST0X1.INST0X1.INST0X0.BIT_N)) + net(26 name(INST0X1.INST0X1.INST0X0.BIT)) + net(27 name(INST0X1.INST0X1.INST1X0.BIT_N)) + net(28 name(INST0X1.INST0X1.INST1X0.BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 13) + terminal(D 14) + terminal(B 2) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 2) + terminal(B 2) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 13) + terminal(D 14) + terminal(B 1) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 1) + terminal(B 1) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 14) + terminal(B 1) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 3) + terminal(D 13) + terminal(B 1) + ) + device(7 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 15) + terminal(D 16) + terminal(B 2) + ) + device(8 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 2) + terminal(B 2) + ) + device(9 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(10 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(11 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 4) + terminal(D 16) + terminal(B 1) + ) + device(12 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 4) + terminal(D 15) + terminal(B 1) + ) + device(13 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 17) + terminal(D 18) + terminal(B 2) + ) + device(14 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 2) + terminal(B 2) + ) + device(15 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 17) + terminal(D 18) + terminal(B 1) + ) + device(16 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 1) + terminal(B 1) + ) + device(17 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 3) + terminal(D 18) + terminal(B 1) + ) + device(18 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 3) + terminal(D 17) + terminal(B 1) + ) + device(19 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 19) + terminal(D 20) + terminal(B 2) + ) + device(20 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 2) + terminal(B 2) + ) + device(21 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(22 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(23 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 4) + terminal(D 20) + terminal(B 1) + ) + device(24 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 4) + terminal(D 19) + terminal(B 1) + ) + device(25 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 21) + terminal(D 22) + terminal(B 2) + ) + device(26 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 2) + terminal(B 2) + ) + device(27 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 21) + terminal(D 22) + terminal(B 1) + ) + device(28 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 1) + terminal(B 1) + ) + device(29 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 3) + terminal(D 22) + terminal(B 1) + ) + device(30 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 3) + terminal(D 21) + terminal(B 1) + ) + device(31 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 23) + terminal(D 24) + terminal(B 2) + ) + device(32 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 2) + terminal(B 2) + ) + device(33 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(34 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(35 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 4) + terminal(D 24) + terminal(B 1) + ) + device(36 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 4) + terminal(D 23) + terminal(B 1) + ) + device(37 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 25) + terminal(D 26) + terminal(B 2) + ) + device(38 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 2) + terminal(B 2) + ) + device(39 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 25) + terminal(D 26) + terminal(B 1) + ) + device(40 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 1) + terminal(B 1) + ) + device(41 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 3) + terminal(D 26) + terminal(B 1) + ) + device(42 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 3) + terminal(D 25) + terminal(B 1) + ) + device(43 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 27) + terminal(D 28) + terminal(B 2) + ) + device(44 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 2) + terminal(B 2) + ) + device(45 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 27) + terminal(D 28) + terminal(B 1) + ) + device(46 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 1) + terminal(B 1) + ) + device(47 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 4) + terminal(D 28) + terminal(B 1) + ) + device(48 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 4) + terminal(D 27) + terminal(B 1) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(10 14 warning) + net(12 13 warning) + net(34 16 match) + net(32 15 match) + net(15 18 warning) + net(16 17 warning) + net(49 20 match) + net(35 19 match) + net(18 22 warning) + net(20 21 warning) + net(39 24 match) + net(37 23 match) + net(22 26 warning) + net(24 25 warning) + net(42 28 match) + net(40 27 match) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(3 5 match) + net(5 7 match) + net(7 9 match) + net(9 11 match) + net(1 2 match) + net(52 1 match) + net(26 3 match) + net(31 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + device(5 3 match) + device(1 4 match) + device(7 5 match) + device(2 6 match) + device(11 9 match) + device(4 10 match) + device(9 11 match) + device(3 12 match) + device(13 15 match) + device(6 16 match) + device(15 17 match) + device(8 18 match) + device(19 21 match) + device(12 22 match) + device(17 23 match) + device(10 24 match) + device(21 27 match) + device(14 28 match) + device(23 29 match) + device(16 30 match) + device(27 33 match) + device(20 34 match) + device(25 35 match) + device(18 36 match) + device(29 39 match) + device(22 40 match) + device(30 41 match) + device(24 42 match) + device(32 45 match) + device(28 46 match) + device(31 47 match) + device(26 48 match) + device(34 1 match) + device(33 2 match) + device(42 7 match) + device(41 8 match) + device(36 13 match) + device(35 14 match) + device(44 19 match) + device(43 20 match) + device(38 25 match) + device(37 26 match) + device(46 31 match) + device(45 32 match) + device(40 37 match) + device(39 38 match) + device(48 43 match) + device(47 44 match) + ) + ) +) diff --git a/testdata/lvs/test_22b.cir b/testdata/lvs/test_22b.cir new file mode 100644 index 000000000..7526343c0 --- /dev/null +++ b/testdata/lvs/test_22b.cir @@ -0,0 +1,161 @@ +* Extracted by KLayout + +* cell SP6TArray_2X4 +.SUBCKT SP6TArray_2X4 +* net 1 vdd +* net 2 bl[0] +* net 3 bl_n[0] +* net 4 bl[1] +* net 5 bl_n[1] +* net 6 bl[2] +* net 7 bl_n[2] +* net 8 bl[3] +* net 9 bl_n[3] +* net 26 wl[0] +* net 31 wl[1] +* net 52 vss +* device instance $1 r0 *1 0.215,1.935 sky130_fd_pr__nfet_01v8__model +M$1 52 10 12 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $2 r0 *1 0.605,2.56 sky130_fd_pr__nfet_01v8__model +M$2 12 26 2 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $3 r0 *1 0.605,2.99 sky130_fd_pr__nfet_01v8__model +M$3 2 31 32 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $4 r0 *1 0.215,3.615 sky130_fd_pr__nfet_01v8__model +M$4 32 34 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $5 r0 *1 1.965,1.935 sky130_fd_pr__nfet_01v8__model +M$5 10 12 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $6 r0 *1 2.395,1.935 sky130_fd_pr__nfet_01v8__model +M$6 52 15 16 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $7 r0 *1 1.575,2.56 sky130_fd_pr__nfet_01v8__model +M$7 10 26 3 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $8 r0 *1 2.785,2.56 sky130_fd_pr__nfet_01v8__model +M$8 16 26 4 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $9 r0 *1 1.575,2.99 sky130_fd_pr__nfet_01v8__model +M$9 3 31 34 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $10 r0 *1 2.785,2.99 sky130_fd_pr__nfet_01v8__model +M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $11 r0 *1 1.965,3.615 sky130_fd_pr__nfet_01v8__model +M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model +M$12 35 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model +M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $14 r0 *1 4.575,1.935 sky130_fd_pr__nfet_01v8__model +M$14 52 18 20 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $15 r0 *1 3.755,2.56 sky130_fd_pr__nfet_01v8__model +M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $16 r0 *1 4.965,2.56 sky130_fd_pr__nfet_01v8__model +M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model +M$17 5 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model +M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model +M$19 49 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model +M$20 37 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model +M$21 18 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $22 r0 *1 6.755,1.935 sky130_fd_pr__nfet_01v8__model +M$22 52 22 24 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $23 r0 *1 5.935,2.56 sky130_fd_pr__nfet_01v8__model +M$23 18 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $24 r0 *1 7.145,2.56 sky130_fd_pr__nfet_01v8__model +M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model +M$25 7 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model +M$26 8 31 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model +M$27 39 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model +M$28 40 42 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model +M$29 22 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $30 r0 *1 8.115,2.56 sky130_fd_pr__nfet_01v8__model +M$30 22 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.0588P PS=1.285U PD=0.7U +* device instance $31 r0 *1 8.115,2.99 sky130_fd_pr__nfet_01v8__model +M$31 9 31 42 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.18165P PS=0.7U PD=1.285U +* device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model +M$32 42 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model +M$33 1 10 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +* device instance $34 r0 *1 1.965,0.605 sky130_fd_pr__pfet_01v8__model +M$34 10 12 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $35 r0 *1 2.395,0.605 sky130_fd_pr__pfet_01v8__model +M$35 1 15 16 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $36 r0 *1 4.145,0.605 sky130_fd_pr__pfet_01v8__model +M$36 15 16 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $37 r0 *1 4.575,0.605 sky130_fd_pr__pfet_01v8__model +M$37 1 18 20 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $38 r0 *1 6.325,0.605 sky130_fd_pr__pfet_01v8__model +M$38 18 20 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $39 r0 *1 6.755,0.605 sky130_fd_pr__pfet_01v8__model +M$39 1 22 24 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $40 r0 *1 8.505,0.605 sky130_fd_pr__pfet_01v8__model +M$40 22 24 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +* device instance $41 r0 *1 0.215,4.945 sky130_fd_pr__pfet_01v8__model +M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +* device instance $42 r0 *1 1.965,4.945 sky130_fd_pr__pfet_01v8__model +M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model +M$43 1 49 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model +M$44 49 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model +M$45 1 39 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model +M$46 39 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.0588P PS=1.73U PD=0.7U +* device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model +M$47 1 42 40 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P ++ AD=0.1869P PS=0.7U PD=1.73U +* device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model +M$48 42 40 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +.ENDS SP6TArray_2X4 diff --git a/testdata/lvs/test_22b.lvsdb.1 b/testdata/lvs/test_22b.lvsdb.1 new file mode 100644 index 000000000..c3f876fc0 --- /dev/null +++ b/testdata/lvs/test_22b.lvsdb.1 @@ -0,0 +1,2590 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l1) + layer(l2) + layer(l3) + layer(l4) + layer(l5 '64/20') + layer(l6) + layer(l7 '66/20') + layer(l8) + layer(l9 '67/20') + layer(l10) + layer(l11 '68/20') + layer(l12 '68/16') + layer(l13 '69/20') + layer(l14 '69/16') + layer(l15) + layer(l16) + layer(l17) + layer(l18) + layer(l19) + layer(l20) + layer(l21 '66/44') + layer(l22 '66/20') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + + # Mask layer connectivity + connect(l1 l1) + connect(l2 l2 l3 l4 l6 l21) + connect(l3 l2 l3) + connect(l4 l2 l4 l5) + connect(l5 l4 l5) + connect(l6 l2 l6) + connect(l7 l7 l8) + connect(l8 l7 l8) + connect(l9 l9 l10 l21 l23) + connect(l10 l9 l10) + connect(l11 l11 l12 l23 l24) + connect(l12 l11 l12) + connect(l13 l13 l14 l24 l25) + connect(l14 l13 l14) + connect(l15 l15 l16 l25 l26) + connect(l16 l15 l16) + connect(l17 l17 l18 l26 l27) + connect(l18 l17 l18) + connect(l19 l19 l20 l27) + connect(l20 l19 l20) + connect(l21 l2 l9 l21 l22) + connect(l22 l21 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-315 -835) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$4 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$5 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$6 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-210 -835) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$7 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$8 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$9 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-355 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$10 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$11 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$2 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$3 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name(vdd) + rect(l2 (-205 -125) (9130 250)) + rect(l2 (-9050 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l2 (-8970 3920) (265 420)) + rect(l2 (-345 270) (9130 250)) + rect(l2 (-6885 -940) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-9050 -5280) (9130 250)) + rect(l4 (-9130 5300) (9130 250)) + rect(l5 (-7130 -5980) (2950 1300)) + rect(l5 (-5130 -1300) (2950 1300)) + rect(l5 (1410 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-9490 3560) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l9 (-9270 -5940) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-8970 0) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-8970 4695) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l11 (-8935 -5625) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-8980 5230) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l13 (-9010 -5840) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (9040 260)) + rect(l13 (-6860 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-9040 5290) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (9040 260)) + rect(l13 (-9040 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -5810) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l21 (-4445 -5635) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 4170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-8890 -5115) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-8890 5380) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-8880 -5710) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-8870 5400) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(2 name('bl[0]') + rect(l2 (395 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(3 name('bl_n[0]') + rect(l2 (1365 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(4 name('bl[1]') + rect(l2 (2575 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(5 name('bl_n[1]') + rect(l2 (3545 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(6 name('bl[2]') + rect(l2 (4755 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(7 name('bl_n[2]') + rect(l2 (5725 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(8 name('bl[3]') + rect(l2 (6935 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(9 name('bl_n[3]') + rect(l2 (7905 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(10 + rect(l7 (290 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(11 + polygon(l2 (1365 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(12 + rect(l2 (290 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(13 + rect(l7 (940 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(14 + rect(l7 (2470 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(15 + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(16 + rect(l2 (2470 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(17 + rect(l7 (3120 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(18 + rect(l7 (4650 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(19 + polygon(l2 (5725 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(20 + polygon(l2 (4650 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(21 + rect(l7 (5300 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(22 + rect(l7 (6830 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(23 + rect(l2 (7985 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(24 + rect(l2 (6830 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(25 + rect(l7 (7480 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(26 name('wl[0]') + rect(l9 (1005 2135) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6755 -880) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + rect(l13 (-7760 30) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-6540 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-8720 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 340) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-6760 -250) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + rect(l23 (-6760 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 -465) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(27 + polygon(l7 (955 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(28 + polygon(l7 (7495 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(29 + polygon(l7 (3135 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(30 + polygon(l7 (5315 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(31 name('wl[1]') + rect(l9 (1005 2915) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6740 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-8720 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-6540 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 -770) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-7450 -250) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + rect(l23 (-7450 330) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 145) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(32 + polygon(l2 (395 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(33 + rect(l7 (940 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(34 + polygon(l2 (1365 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(35 + polygon(l2 (2575 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(36 + rect(l7 (3120 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(37 + polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(38 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(39 + polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(40 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(41 + polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(42 + polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(43 + polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(44 + polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(45 + rect(l7 (290 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(46 + rect(l7 (2470 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(47 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(48 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(49 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(50 + polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(51 + rect(l7 (6830 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(52 name(vss) + rect(l2 (-125 1725) (265 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (265 420)) + rect(l2 (-250 270) (250 720)) + rect(l2 (-8970 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l6 (-8970 -1410) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l9 (-8930 -1365) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l11 (-8935 -1165) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l13 (-9010 -290) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-9040 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (2020 -130) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l21 (-8965 -1055) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-8890 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l23 (-8890 -1010) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l24 (-8880 -160) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + ) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(215 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 52) + terminal(G 11) + terminal(D 12) + terminal(B 52) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(605 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 12) + terminal(G 26) + terminal(D 2) + terminal(B 52) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 2) + terminal(G 31) + terminal(D 32) + terminal(B 52) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 32) + terminal(G 34) + terminal(D 52) + terminal(B 52) + ) + device(5 D$sky130_fd_pr__nfet_01v8__model$4 + location(1965 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 11) + terminal(G 12) + terminal(D 52) + terminal(B 52) + ) + device(6 D$sky130_fd_pr__nfet_01v8__model$5 + location(2395 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 15) + terminal(D 16) + terminal(B 52) + ) + device(7 D$sky130_fd_pr__nfet_01v8__model$6 + location(1575 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 11) + terminal(G 26) + terminal(D 3) + terminal(B 52) + ) + device(8 D$sky130_fd_pr__nfet_01v8__model$1 + location(2785 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 16) + terminal(G 26) + terminal(D 4) + terminal(B 52) + ) + device(9 D$sky130_fd_pr__nfet_01v8__model$7 + location(1575 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 3) + terminal(G 31) + terminal(D 34) + terminal(B 52) + ) + device(10 D$sky130_fd_pr__nfet_01v8__model$2 + location(2785 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 4) + terminal(G 31) + terminal(D 35) + terminal(B 52) + ) + device(11 D$sky130_fd_pr__nfet_01v8__model$8 + location(1965 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 52) + terminal(B 52) + ) + device(12 D$sky130_fd_pr__nfet_01v8__model$9 + location(2395 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 35) + terminal(G 47) + terminal(D 52) + terminal(B 52) + ) + device(13 D$sky130_fd_pr__nfet_01v8__model$4 + location(4145 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 52) + terminal(B 52) + ) + device(14 D$sky130_fd_pr__nfet_01v8__model$5 + location(4575 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 19) + terminal(D 20) + terminal(B 52) + ) + device(15 D$sky130_fd_pr__nfet_01v8__model$6 + location(3755 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 26) + terminal(D 5) + terminal(B 52) + ) + device(16 D$sky130_fd_pr__nfet_01v8__model$1 + location(4965 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 20) + terminal(G 26) + terminal(D 6) + terminal(B 52) + ) + device(17 D$sky130_fd_pr__nfet_01v8__model$7 + location(3755 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 5) + terminal(G 31) + terminal(D 47) + terminal(B 52) + ) + device(18 D$sky130_fd_pr__nfet_01v8__model$2 + location(4965 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 6) + terminal(G 31) + terminal(D 37) + terminal(B 52) + ) + device(19 D$sky130_fd_pr__nfet_01v8__model$8 + location(4145 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 47) + terminal(G 35) + terminal(D 52) + terminal(B 52) + ) + device(20 D$sky130_fd_pr__nfet_01v8__model$9 + location(4575 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 37) + terminal(G 49) + terminal(D 52) + terminal(B 52) + ) + device(21 D$sky130_fd_pr__nfet_01v8__model$4 + location(6325 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 19) + terminal(G 20) + terminal(D 52) + terminal(B 52) + ) + device(22 D$sky130_fd_pr__nfet_01v8__model$5 + location(6755 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 23) + terminal(D 24) + terminal(B 52) + ) + device(23 D$sky130_fd_pr__nfet_01v8__model$6 + location(5935 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 19) + terminal(G 26) + terminal(D 7) + terminal(B 52) + ) + device(24 D$sky130_fd_pr__nfet_01v8__model$1 + location(7145 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 24) + terminal(G 26) + terminal(D 8) + terminal(B 52) + ) + device(25 D$sky130_fd_pr__nfet_01v8__model$7 + location(5935 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 7) + terminal(G 31) + terminal(D 49) + terminal(B 52) + ) + device(26 D$sky130_fd_pr__nfet_01v8__model$2 + location(7145 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 8) + terminal(G 31) + terminal(D 39) + terminal(B 52) + ) + device(27 D$sky130_fd_pr__nfet_01v8__model$8 + location(6325 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 49) + terminal(G 37) + terminal(D 52) + terminal(B 52) + ) + device(28 D$sky130_fd_pr__nfet_01v8__model$9 + location(6755 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 39) + terminal(G 50) + terminal(D 52) + terminal(B 52) + ) + device(29 D$sky130_fd_pr__nfet_01v8__model$10 + location(8505 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 23) + terminal(G 24) + terminal(D 52) + terminal(B 52) + ) + device(30 D$sky130_fd_pr__nfet_01v8__model$6 + location(8115 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 23) + terminal(G 26) + terminal(D 9) + terminal(B 52) + ) + device(31 D$sky130_fd_pr__nfet_01v8__model$7 + location(8115 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 9) + terminal(G 31) + terminal(D 50) + terminal(B 52) + ) + device(32 D$sky130_fd_pr__nfet_01v8__model$11 + location(8505 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 50) + terminal(G 39) + terminal(D 52) + terminal(B 52) + ) + device(33 D$sky130_fd_pr__pfet_01v8__model + location(215 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 11) + terminal(D 12) + terminal(B 1) + ) + device(34 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 11) + terminal(G 12) + terminal(D 1) + terminal(B 1) + ) + device(35 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(36 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(37 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(38 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(39 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(40 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(41 D$sky130_fd_pr__pfet_01v8__model + location(215 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 34) + terminal(D 32) + terminal(B 1) + ) + device(42 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 1) + terminal(B 1) + ) + device(43 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 47) + terminal(D 35) + terminal(B 1) + ) + device(44 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 47) + terminal(G 35) + terminal(D 1) + terminal(B 1) + ) + device(45 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 49) + terminal(D 37) + terminal(B 1) + ) + device(46 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 49) + terminal(G 37) + terminal(D 1) + terminal(B 1) + ) + device(47 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 50) + terminal(D 39) + terminal(B 1) + ) + device(48 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 50) + terminal(G 39) + terminal(D 1) + terminal(B 1) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + net(13 name(INST0X0.INST0X0.INST0X0.BIT_N)) + net(14 name(INST0X0.INST0X0.INST0X0.BIT)) + net(15 name(INST0X0.INST0X0.INST1X0.BIT_N)) + net(16 name(INST0X0.INST0X0.INST1X0.BIT)) + net(17 name(INST0X0.INST0X1.INST0X0.BIT_N)) + net(18 name(INST0X0.INST0X1.INST0X0.BIT)) + net(19 name(INST0X0.INST0X1.INST1X0.BIT_N)) + net(20 name(INST0X0.INST0X1.INST1X0.BIT)) + net(21 name(INST0X1.INST0X0.INST0X0.BIT_N)) + net(22 name(INST0X1.INST0X0.INST0X0.BIT)) + net(23 name(INST0X1.INST0X0.INST1X0.BIT_N)) + net(24 name(INST0X1.INST0X0.INST1X0.BIT)) + net(25 name(INST0X1.INST0X1.INST0X0.BIT_N)) + net(26 name(INST0X1.INST0X1.INST0X0.BIT)) + net(27 name(INST0X1.INST0X1.INST1X0.BIT_N)) + net(28 name(INST0X1.INST0X1.INST1X0.BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 13) + terminal(D 14) + terminal(B 2) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 2) + terminal(B 2) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 13) + terminal(D 14) + terminal(B 1) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 1) + terminal(B 1) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 14) + terminal(B 1) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 3) + terminal(D 13) + terminal(B 1) + ) + device(7 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 15) + terminal(D 16) + terminal(B 2) + ) + device(8 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 2) + terminal(B 2) + ) + device(9 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(10 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(11 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 4) + terminal(D 16) + terminal(B 1) + ) + device(12 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 4) + terminal(D 15) + terminal(B 1) + ) + device(13 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 17) + terminal(D 18) + terminal(B 2) + ) + device(14 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 2) + terminal(B 2) + ) + device(15 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 17) + terminal(D 18) + terminal(B 1) + ) + device(16 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 1) + terminal(B 1) + ) + device(17 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 3) + terminal(D 18) + terminal(B 1) + ) + device(18 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 3) + terminal(D 17) + terminal(B 1) + ) + device(19 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 19) + terminal(D 20) + terminal(B 2) + ) + device(20 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 2) + terminal(B 2) + ) + device(21 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(22 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(23 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 4) + terminal(D 20) + terminal(B 1) + ) + device(24 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 4) + terminal(D 19) + terminal(B 1) + ) + device(25 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 21) + terminal(D 22) + terminal(B 2) + ) + device(26 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 2) + terminal(B 2) + ) + device(27 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 21) + terminal(D 22) + terminal(B 1) + ) + device(28 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 1) + terminal(B 1) + ) + device(29 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 3) + terminal(D 22) + terminal(B 1) + ) + device(30 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 3) + terminal(D 21) + terminal(B 1) + ) + device(31 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 23) + terminal(D 24) + terminal(B 2) + ) + device(32 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 2) + terminal(B 2) + ) + device(33 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(34 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(35 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 4) + terminal(D 24) + terminal(B 1) + ) + device(36 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 4) + terminal(D 23) + terminal(B 1) + ) + device(37 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 25) + terminal(D 26) + terminal(B 2) + ) + device(38 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 2) + terminal(B 2) + ) + device(39 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 25) + terminal(D 26) + terminal(B 1) + ) + device(40 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 1) + terminal(B 1) + ) + device(41 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 3) + terminal(D 26) + terminal(B 1) + ) + device(42 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 3) + terminal(D 25) + terminal(B 1) + ) + device(43 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 27) + terminal(D 28) + terminal(B 2) + ) + device(44 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 2) + terminal(B 2) + ) + device(45 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 27) + terminal(D 28) + terminal(B 1) + ) + device(46 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 1) + terminal(B 1) + ) + device(47 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 4) + terminal(D 28) + terminal(B 1) + ) + device(48 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 4) + terminal(D 27) + terminal(B 1) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(12 14 match) + net(11 13 match) + net(32 16 match) + net(34 15 match) + net(16 18 match) + net(15 17 match) + net(35 20 match) + net(47 19 match) + net(20 22 match) + net(19 21 match) + net(37 24 match) + net(49 23 match) + net(24 26 match) + net(23 25 match) + net(39 28 match) + net(50 27 match) + net(2 5 match) + net(4 7 match) + net(6 9 match) + net(8 11 match) + net(3 6 match) + net(5 8 match) + net(7 10 match) + net(9 12 match) + net(1 2 match) + net(52 1 match) + net(26 3 match) + net(31 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + device(1 3 match) + device(5 4 match) + device(2 5 match) + device(7 6 match) + device(4 9 match) + device(11 10 match) + device(3 11 match) + device(9 12 match) + device(6 15 match) + device(13 16 match) + device(8 17 match) + device(15 18 match) + device(12 21 match) + device(19 22 match) + device(10 23 match) + device(17 24 match) + device(14 27 match) + device(21 28 match) + device(16 29 match) + device(23 30 match) + device(20 33 match) + device(27 34 match) + device(18 35 match) + device(25 36 match) + device(22 39 match) + device(29 40 match) + device(24 41 match) + device(30 42 match) + device(28 45 match) + device(32 46 match) + device(26 47 match) + device(31 48 match) + device(33 1 match) + device(34 2 match) + device(41 7 match) + device(42 8 match) + device(35 13 match) + device(36 14 match) + device(43 19 match) + device(44 20 match) + device(37 25 match) + device(38 26 match) + device(45 31 match) + device(46 32 match) + device(39 37 match) + device(40 38 match) + device(47 43 match) + device(48 44 match) + ) + ) +) diff --git a/testdata/lvs/test_22b.lvsdb.2 b/testdata/lvs/test_22b.lvsdb.2 new file mode 100644 index 000000000..e30655ac0 --- /dev/null +++ b/testdata/lvs/test_22b.lvsdb.2 @@ -0,0 +1,2590 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l1) + layer(l2) + layer(l3) + layer(l4) + layer(l5 '64/20') + layer(l6) + layer(l7 '66/20') + layer(l8) + layer(l9 '67/20') + layer(l10) + layer(l11 '68/20') + layer(l12 '68/16') + layer(l13 '69/20') + layer(l14 '69/16') + layer(l15) + layer(l16) + layer(l17) + layer(l18) + layer(l19) + layer(l20) + layer(l21 '66/44') + layer(l22 '66/20') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + + # Mask layer connectivity + connect(l1 l1) + connect(l2 l2 l3 l4 l6 l21) + connect(l3 l2 l3) + connect(l4 l2 l4 l5) + connect(l5 l4 l5) + connect(l6 l2 l6) + connect(l7 l7 l8) + connect(l8 l7 l8) + connect(l9 l9 l10 l21 l23) + connect(l10 l9 l10) + connect(l11 l11 l12 l23 l24) + connect(l12 l11 l12) + connect(l13 l13 l14 l24 l25) + connect(l14 l13 l14) + connect(l15 l15 l16 l25 l26) + connect(l16 l15 l16) + connect(l17 l17 l18 l26 l27) + connect(l18 l17 l18) + connect(l19 l19 l20 l27) + connect(l20 l19 l20) + connect(l21 l2 l9 l21 l22) + connect(l22 l21 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-315 -835) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$4 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$5 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + polygon(l2 (75 -210) (0 420) (105 0) (0 340) (420 0) (0 -760)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$6 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-210 -835) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + rect(l2 (-210 75) (420 280)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$7 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -355) (420 280)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$8 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$9 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-355 -210) (280 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$10 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -210) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$11 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (280 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$2 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-355 -210) (280 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$3 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name(vdd) + rect(l2 (-205 -125) (9130 250)) + rect(l2 (-9050 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l2 (-9050 4610) (9130 250)) + rect(l2 (-9050 -940) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-9050 -5280) (9130 250)) + rect(l4 (-9130 5300) (9130 250)) + rect(l5 (-7130 -5980) (2950 1300)) + rect(l5 (-5130 -1300) (2950 1300)) + rect(l5 (1410 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-9490 3560) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l5 (-770 -1300) (2950 1300)) + rect(l9 (-9270 -5940) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-330 -170) (2510 170)) + rect(l9 (-8970 0) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l9 (-8970 4695) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (1930 0) (2510 170)) + rect(l9 (-2430 -855) (170 685)) + rect(l9 (-170 -685) (170 685)) + rect(l9 (2010 -685) (170 685)) + rect(l11 (-8935 -5625) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-8980 5230) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l13 (-9010 -5840) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-6860 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-9040 5290) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (9040 260)) + rect(l13 (-9040 -260) (4680 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -5810) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (9040 260)) + rect(l14 (-6860 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l21 (-4445 -5635) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 435) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-8890 4775) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -775) (170 170)) + rect(l21 (-170 435) (170 170)) + rect(l23 (-8890 -5720) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-8890 5380) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-8880 -5710) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-8870 5400) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(2 name('bl[0]') + rect(l2 (395 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(3 name('bl_n[0]') + rect(l2 (1365 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(4 name('bl[1]') + rect(l2 (2575 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(5 name('bl_n[1]') + rect(l2 (3545 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(6 name('bl[2]') + rect(l2 (4755 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(7 name('bl_n[2]') + rect(l2 (5725 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(8 name('bl[3]') + rect(l2 (6935 2635) (420 280)) + polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l11 (-260 -2610) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-25 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(9 name('bl_n[3]') + rect(l2 (7905 2635) (420 280)) + polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-115 -2775) (0 0)) + rect(l21 (-145 -85) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + ) + net(10 + rect(l2 (1445 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(11 + rect(l7 (290 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(12 + rect(l2 (290 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(13 + rect(l7 (940 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(14 + rect(l7 (2470 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(15 + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(16 + polygon(l2 (2470 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(17 + rect(l7 (3120 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(18 + rect(l2 (5805 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(19 + rect(l7 (4650 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(20 + rect(l2 (4650 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(21 + rect(l7 (5300 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(22 + rect(l2 (7985 395) (445 420)) + polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + rect(l21 (-335 560) (170 170)) + rect(l21 (-5 -650) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -980) (950 150)) + rect(l22 (-1100 -840) (150 2010)) + rect(l22 (950 -1320) (330 270)) + ) + net(23 + rect(l7 (6830 955) (950 150)) + rect(l7 (-1100 -840) (150 2010)) + rect(l7 (950 -1320) (330 270)) + ) + net(24 + polygon(l2 (6830 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) + rect(l2 (-525 -1330) (445 420)) + polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 1320) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l21 (-5 670) (170 170)) + rect(l22 (-250 -220) (330 270)) + rect(l22 (0 -150) (950 150)) + rect(l22 (0 -1320) (150 2010)) + ) + net(25 + rect(l7 (7480 1435) (950 150)) + rect(l7 (-1280 -270) (330 270)) + rect(l7 (950 -1320) (150 2010)) + ) + net(26 name('wl[0]') + rect(l9 (1005 2135) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6755 -880) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + polygon(l11 (1920 0) (0 320) (15 0) (0 290) (230 0) (0 -290) (15 0) (0 -320)) + rect(l13 (-7760 30) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) + rect(l13 (-8720 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (8720 260)) + rect(l14 (-8720 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (4360 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 340) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-6760 -250) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + polygon(l22 (1910 0) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + rect(l23 (-6760 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 -465) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(27 + polygon(l7 (955 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(28 + polygon(l7 (7495 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(29 + polygon(l7 (3135 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(30 + polygon(l7 (5315 2305) (0 180) (-690 0) (0 150) (1650 0) (0 -150) (-690 0) (0 -180)) + ) + net(31 name('wl[1]') + rect(l9 (1005 2915) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + rect(l9 (2010 -500) (170 500)) + polygon(l11 (-6740 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-4360 -260) (8720 260)) + rect(l13 (-8720 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (8720 260)) + rect(l14 (-8720 -260) (4360 260)) + rect(l14 (-4360 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l14 (0 -130) (2180 260)) + rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l21 (-7715 -770) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + polygon(l22 (-7450 -250) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + polygon(l22 (530 0) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + rect(l23 (-7450 330) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-6700 145) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + ) + net(32 + polygon(l2 (395 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(33 + rect(l7 (940 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(34 + polygon(l2 (1365 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(35 + polygon(l2 (2575 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(36 + rect(l7 (3120 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(37 + polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(38 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(39 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(40 + polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-5 230) (170 170)) + rect(l21 (-335 670) (170 170)) + rect(l22 (-85 -1060) (330 270)) + rect(l22 (0 -270) (950 150)) + rect(l22 (0 -840) (150 2010)) + ) + net(41 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(42 + polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-335 590) (170 170)) + rect(l21 (-5 310) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(43 + polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(44 + polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(45 + polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(46 + polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(47 + rect(l7 (290 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(48 + rect(l7 (2470 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(49 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(50 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(51 + rect(l7 (6830 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (950 -960) (330 270)) + ) + net(52 name(vss) + rect(l2 (-125 1725) (265 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (280 420)) + rect(l2 (-265 270) (250 720)) + rect(l2 (1915 -1410) (265 420)) + rect(l2 (-250 270) (250 720)) + rect(l2 (-8970 270) (265 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (280 420)) + rect(l2 (1900 -420) (265 420)) + rect(l6 (-8970 -1410) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + rect(l9 (-8930 -525) (170 1170)) + rect(l9 (-170 -2010) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -2010) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (-170 -330) (170 1170)) + rect(l9 (-170 -1170) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l9 (-170 -2010) (170 1170)) + rect(l11 (-8935 -325) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l11 (-260 -320) (260 320)) + rect(l13 (-9010 -290) (9040 260)) + rect(l13 (-9040 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (4680 260)) + rect(l13 (-4680 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-320 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l13 (-2500 -260) (2500 260)) + rect(l14 (-9040 -260) (9040 260)) + rect(l14 (-9040 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-320 -260) (2500 260)) + rect(l14 (-2500 -260) (4680 260)) + rect(l14 (-4680 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (2020 -130) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l14 (-2500 -260) (2500 260)) + rect(l21 (-8965 -1055) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -1010) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (-8890 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -170) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l23 (-8890 -1010) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l23 (-170 -170) (170 170)) + rect(l24 (-8880 -160) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l24 (-150 -150) (150 150)) + ) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(215 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 52) + terminal(G 10) + terminal(D 12) + terminal(B 52) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(605 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 12) + terminal(G 26) + terminal(D 2) + terminal(B 52) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 2) + terminal(G 31) + terminal(D 32) + terminal(B 52) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 32) + terminal(G 34) + terminal(D 52) + terminal(B 52) + ) + device(5 D$sky130_fd_pr__nfet_01v8__model$4 + location(1965 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 10) + terminal(G 12) + terminal(D 52) + terminal(B 52) + ) + device(6 D$sky130_fd_pr__nfet_01v8__model$5 + location(2395 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 15) + terminal(D 16) + terminal(B 52) + ) + device(7 D$sky130_fd_pr__nfet_01v8__model$6 + location(1575 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 10) + terminal(G 26) + terminal(D 3) + terminal(B 52) + ) + device(8 D$sky130_fd_pr__nfet_01v8__model$1 + location(2785 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 16) + terminal(G 26) + terminal(D 4) + terminal(B 52) + ) + device(9 D$sky130_fd_pr__nfet_01v8__model$7 + location(1575 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 3) + terminal(G 31) + terminal(D 34) + terminal(B 52) + ) + device(10 D$sky130_fd_pr__nfet_01v8__model$2 + location(2785 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 4) + terminal(G 31) + terminal(D 35) + terminal(B 52) + ) + device(11 D$sky130_fd_pr__nfet_01v8__model$8 + location(1965 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 52) + terminal(B 52) + ) + device(12 D$sky130_fd_pr__nfet_01v8__model$9 + location(2395 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 35) + terminal(G 49) + terminal(D 52) + terminal(B 52) + ) + device(13 D$sky130_fd_pr__nfet_01v8__model$4 + location(4145 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 52) + terminal(B 52) + ) + device(14 D$sky130_fd_pr__nfet_01v8__model$5 + location(4575 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 18) + terminal(D 20) + terminal(B 52) + ) + device(15 D$sky130_fd_pr__nfet_01v8__model$6 + location(3755 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 15) + terminal(G 26) + terminal(D 5) + terminal(B 52) + ) + device(16 D$sky130_fd_pr__nfet_01v8__model$1 + location(4965 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 20) + terminal(G 26) + terminal(D 6) + terminal(B 52) + ) + device(17 D$sky130_fd_pr__nfet_01v8__model$7 + location(3755 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 5) + terminal(G 31) + terminal(D 49) + terminal(B 52) + ) + device(18 D$sky130_fd_pr__nfet_01v8__model$2 + location(4965 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 6) + terminal(G 31) + terminal(D 37) + terminal(B 52) + ) + device(19 D$sky130_fd_pr__nfet_01v8__model$8 + location(4145 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 49) + terminal(G 35) + terminal(D 52) + terminal(B 52) + ) + device(20 D$sky130_fd_pr__nfet_01v8__model$9 + location(4575 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 37) + terminal(G 39) + terminal(D 52) + terminal(B 52) + ) + device(21 D$sky130_fd_pr__nfet_01v8__model$4 + location(6325 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 18) + terminal(G 20) + terminal(D 52) + terminal(B 52) + ) + device(22 D$sky130_fd_pr__nfet_01v8__model$5 + location(6755 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 52) + terminal(G 22) + terminal(D 24) + terminal(B 52) + ) + device(23 D$sky130_fd_pr__nfet_01v8__model$6 + location(5935 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 18) + terminal(G 26) + terminal(D 7) + terminal(B 52) + ) + device(24 D$sky130_fd_pr__nfet_01v8__model$1 + location(7145 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 24) + terminal(G 26) + terminal(D 8) + terminal(B 52) + ) + device(25 D$sky130_fd_pr__nfet_01v8__model$7 + location(5935 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 7) + terminal(G 31) + terminal(D 39) + terminal(B 52) + ) + device(26 D$sky130_fd_pr__nfet_01v8__model$2 + location(7145 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 8) + terminal(G 31) + terminal(D 40) + terminal(B 52) + ) + device(27 D$sky130_fd_pr__nfet_01v8__model$8 + location(6325 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 39) + terminal(G 37) + terminal(D 52) + terminal(B 52) + ) + device(28 D$sky130_fd_pr__nfet_01v8__model$9 + location(6755 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 40) + terminal(G 42) + terminal(D 52) + terminal(B 52) + ) + device(29 D$sky130_fd_pr__nfet_01v8__model$10 + location(8505 1935) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 22) + terminal(G 24) + terminal(D 52) + terminal(B 52) + ) + device(30 D$sky130_fd_pr__nfet_01v8__model$6 + location(8115 2560) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.0588) + param(PS 1.285) + param(PD 0.7) + terminal(S 22) + terminal(G 26) + terminal(D 9) + terminal(B 52) + ) + device(31 D$sky130_fd_pr__nfet_01v8__model$7 + location(8115 2990) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.18165) + param(PS 0.7) + param(PD 1.285) + terminal(S 9) + terminal(G 31) + terminal(D 42) + terminal(B 52) + ) + device(32 D$sky130_fd_pr__nfet_01v8__model$11 + location(8505 3615) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 42) + terminal(G 40) + terminal(D 52) + terminal(B 52) + ) + device(33 D$sky130_fd_pr__pfet_01v8__model + location(215 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 10) + terminal(D 12) + terminal(B 1) + ) + device(34 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 10) + terminal(G 12) + terminal(D 1) + terminal(B 1) + ) + device(35 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(36 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(37 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 18) + terminal(D 20) + terminal(B 1) + ) + device(38 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 18) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(39 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 605) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 22) + terminal(D 24) + terminal(B 1) + ) + device(40 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 605) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 22) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(41 D$sky130_fd_pr__pfet_01v8__model + location(215 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 1) + terminal(G 34) + terminal(D 32) + terminal(B 1) + ) + device(42 D$sky130_fd_pr__pfet_01v8__model$1 + location(1965 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 34) + terminal(G 32) + terminal(D 1) + terminal(B 1) + ) + device(43 D$sky130_fd_pr__pfet_01v8__model$2 + location(2395 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 49) + terminal(D 35) + terminal(B 1) + ) + device(44 D$sky130_fd_pr__pfet_01v8__model$1 + location(4145 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 49) + terminal(G 35) + terminal(D 1) + terminal(B 1) + ) + device(45 D$sky130_fd_pr__pfet_01v8__model$2 + location(4575 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 39) + terminal(D 37) + terminal(B 1) + ) + device(46 D$sky130_fd_pr__pfet_01v8__model$1 + location(6325 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.0588) + param(PS 1.73) + param(PD 0.7) + terminal(S 39) + terminal(G 37) + terminal(D 1) + terminal(B 1) + ) + device(47 D$sky130_fd_pr__pfet_01v8__model$2 + location(6755 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.0588) + param(AD 0.1869) + param(PS 0.7) + param(PD 1.73) + terminal(S 1) + terminal(G 42) + terminal(D 40) + terminal(B 1) + ) + device(48 D$sky130_fd_pr__pfet_01v8__model$3 + location(8505 4945) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 42) + terminal(G 40) + terminal(D 1) + terminal(B 1) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + net(13 name(INST0X0.INST0X0.INST0X0.BIT_N)) + net(14 name(INST0X0.INST0X0.INST0X0.BIT)) + net(15 name(INST0X0.INST0X0.INST1X0.BIT_N)) + net(16 name(INST0X0.INST0X0.INST1X0.BIT)) + net(17 name(INST0X0.INST0X1.INST0X0.BIT_N)) + net(18 name(INST0X0.INST0X1.INST0X0.BIT)) + net(19 name(INST0X0.INST0X1.INST1X0.BIT_N)) + net(20 name(INST0X0.INST0X1.INST1X0.BIT)) + net(21 name(INST0X1.INST0X0.INST0X0.BIT_N)) + net(22 name(INST0X1.INST0X0.INST0X0.BIT)) + net(23 name(INST0X1.INST0X0.INST1X0.BIT_N)) + net(24 name(INST0X1.INST0X0.INST1X0.BIT)) + net(25 name(INST0X1.INST0X1.INST0X0.BIT_N)) + net(26 name(INST0X1.INST0X1.INST0X0.BIT)) + net(27 name(INST0X1.INST0X1.INST1X0.BIT_N)) + net(28 name(INST0X1.INST0X1.INST1X0.BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 13) + terminal(D 14) + terminal(B 2) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 2) + terminal(B 2) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 13) + terminal(D 14) + terminal(B 1) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 13) + terminal(G 14) + terminal(D 1) + terminal(B 1) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 14) + terminal(B 1) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 3) + terminal(D 13) + terminal(B 1) + ) + device(7 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 15) + terminal(D 16) + terminal(B 2) + ) + device(8 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 2) + terminal(B 2) + ) + device(9 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 15) + terminal(D 16) + terminal(B 1) + ) + device(10 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 15) + terminal(G 16) + terminal(D 1) + terminal(B 1) + ) + device(11 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 4) + terminal(D 16) + terminal(B 1) + ) + device(12 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 4) + terminal(D 15) + terminal(B 1) + ) + device(13 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 17) + terminal(D 18) + terminal(B 2) + ) + device(14 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 2) + terminal(B 2) + ) + device(15 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 17) + terminal(D 18) + terminal(B 1) + ) + device(16 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 17) + terminal(G 18) + terminal(D 1) + terminal(B 1) + ) + device(17 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 3) + terminal(D 18) + terminal(B 1) + ) + device(18 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 3) + terminal(D 17) + terminal(B 1) + ) + device(19 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 19) + terminal(D 20) + terminal(B 2) + ) + device(20 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 2) + terminal(B 2) + ) + device(21 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 19) + terminal(D 20) + terminal(B 1) + ) + device(22 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 19) + terminal(G 20) + terminal(D 1) + terminal(B 1) + ) + device(23 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 7) + terminal(G 4) + terminal(D 20) + terminal(B 1) + ) + device(24 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X0.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 8) + terminal(G 4) + terminal(D 19) + terminal(B 1) + ) + device(25 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 21) + terminal(D 22) + terminal(B 2) + ) + device(26 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 2) + terminal(B 2) + ) + device(27 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 21) + terminal(D 22) + terminal(B 1) + ) + device(28 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 21) + terminal(G 22) + terminal(D 1) + terminal(B 1) + ) + device(29 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 3) + terminal(D 22) + terminal(B 1) + ) + device(30 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 3) + terminal(D 21) + terminal(B 1) + ) + device(31 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 23) + terminal(D 24) + terminal(B 2) + ) + device(32 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 2) + terminal(B 2) + ) + device(33 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 23) + terminal(D 24) + terminal(B 1) + ) + device(34 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 23) + terminal(G 24) + terminal(D 1) + terminal(B 1) + ) + device(35 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 9) + terminal(G 4) + terminal(D 24) + terminal(B 1) + ) + device(36 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X0.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 10) + terminal(G 4) + terminal(D 23) + terminal(B 1) + ) + device(37 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 25) + terminal(D 26) + terminal(B 2) + ) + device(38 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 2) + terminal(B 2) + ) + device(39 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 25) + terminal(D 26) + terminal(B 1) + ) + device(40 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 25) + terminal(G 26) + terminal(D 1) + terminal(B 1) + ) + device(41 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 3) + terminal(D 26) + terminal(B 1) + ) + device(42 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST0X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 3) + terminal(D 25) + terminal(B 1) + ) + device(43 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 27) + terminal(D 28) + terminal(B 2) + ) + device(44 SKY130_FD_PR__PFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 2) + terminal(B 2) + ) + device(45 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 27) + terminal(D 28) + terminal(B 1) + ) + device(46 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 27) + terminal(G 28) + terminal(D 1) + terminal(B 1) + ) + device(47 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 11) + terminal(G 4) + terminal(D 28) + terminal(B 1) + ) + device(48 SKY130_FD_PR__NFET_01V8__MODEL + name(INST0X1.INST0X1.INST1X0.PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 12) + terminal(G 4) + terminal(D 27) + terminal(B 1) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(12 14 match) + net(10 13 match) + net(32 16 match) + net(34 15 match) + net(16 18 match) + net(15 17 match) + net(35 20 match) + net(49 19 match) + net(20 22 match) + net(18 21 match) + net(37 24 match) + net(39 23 match) + net(24 26 match) + net(22 25 match) + net(40 28 match) + net(42 27 match) + net(2 5 match) + net(4 7 match) + net(6 9 match) + net(8 11 match) + net(3 6 match) + net(5 8 match) + net(7 10 match) + net(9 12 match) + net(1 2 match) + net(52 1 match) + net(26 3 match) + net(31 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + device(1 3 match) + device(5 4 match) + device(2 5 match) + device(7 6 match) + device(4 9 match) + device(11 10 match) + device(3 11 match) + device(9 12 match) + device(6 15 match) + device(13 16 match) + device(8 17 match) + device(15 18 match) + device(12 21 match) + device(19 22 match) + device(10 23 match) + device(17 24 match) + device(14 27 match) + device(21 28 match) + device(16 29 match) + device(23 30 match) + device(20 33 match) + device(27 34 match) + device(18 35 match) + device(25 36 match) + device(22 39 match) + device(29 40 match) + device(24 41 match) + device(30 42 match) + device(28 45 match) + device(32 46 match) + device(26 47 match) + device(31 48 match) + device(33 1 match) + device(34 2 match) + device(41 7 match) + device(42 8 match) + device(35 13 match) + device(36 14 match) + device(43 19 match) + device(44 20 match) + device(37 25 match) + device(38 26 match) + device(45 31 match) + device(46 32 match) + device(39 37 match) + device(40 38 match) + device(47 43 match) + device(48 44 match) + ) + ) +) diff --git a/testdata/lvs/test_22c.cir b/testdata/lvs/test_22c.cir new file mode 100644 index 000000000..77c13a280 --- /dev/null +++ b/testdata/lvs/test_22c.cir @@ -0,0 +1,97 @@ +* Extracted by KLayout + +* cell SP6TArray_2X4 +.SUBCKT SP6TArray_2X4 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 bl[1] +* net 4 bl_n[1] +* net 5 bl[2] +* net 6 bl_n[2] +* net 7 bl[3] +* net 8 bl_n[3] +* net 9 vdd +* net 10 wl[0] +* net 11 wl[1] +* net 12 vss +* cell instance $1 r0 *1 0,0 +X$1 1 2 3 4 9 10 11 12 SP6TArray_2X2 +* cell instance $2 r0 *1 4.36,0 +X$2 5 6 7 8 9 10 11 12 SP6TArray_2X2 +.ENDS SP6TArray_2X4 + +* cell SP6TArray_2X2 +* pin bl[0] +* pin bl_n[0] +* pin bl[1] +* pin bl_n[1] +* pin vdd +* pin wl[0] +* pin wl[1] +* pin vss +.SUBCKT SP6TArray_2X2 1 2 3 4 5 6 7 8 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 bl[1] +* net 4 bl_n[1] +* net 5 vdd +* net 6 wl[0] +* net 7 wl[1] +* net 8 vss +* cell instance $1 r0 *1 0,0 +X$1 1 2 5 6 7 8 SP6TArray_2X1 +* cell instance $2 r0 *1 2.18,0 +X$2 3 4 5 6 7 8 SP6TArray_2X1 +.ENDS SP6TArray_2X2 + +* cell SP6TArray_2X1 +* pin bl[0] +* pin bl_n[0] +* pin vdd +* pin wl[0] +* pin wl[1] +* pin vss +.SUBCKT SP6TArray_2X1 1 2 3 4 5 6 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 vdd +* net 4 wl[0] +* net 5 wl[1] +* net 6 vss +* cell instance $1 r0 *1 0,2.775 +X$1 3 5 1 2 6 SP6TCell +* cell instance $2 m0 *1 0,2.775 +X$2 3 4 1 2 6 SP6TCell +.ENDS SP6TArray_2X1 + +* cell SP6TCell +* pin vdd +* pin wl +* pin bl +* pin bl_n +* pin vss +.SUBCKT SP6TCell 5 6 7 8 10 +* net 5 vdd +* net 6 wl +* net 7 bl +* net 8 bl_n +* net 10 vss +* device instance $1 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model +M$1 7 6 3 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $2 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model +M$2 3 4 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $3 r0 *1 1.575,0.215 sky130_fd_pr__nfet_01v8__model +M$3 8 6 4 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $4 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model +M$4 4 3 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $5 r0 *1 1.965,2.17 sky130_fd_pr__pfet_01v8__model +M$5 4 3 5 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +* device instance $6 r0 *1 0.215,2.17 sky130_fd_pr__pfet_01v8__model +M$6 5 4 3 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +.ENDS SP6TCell diff --git a/testdata/lvs/test_22c.lvsdb.1 b/testdata/lvs/test_22c.lvsdb.1 new file mode 100644 index 000000000..6ee12b507 --- /dev/null +++ b/testdata/lvs/test_22c.lvsdb.1 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-2430 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 warning) + net(5 4 warning) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 warning) + net(4 8 warning) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 warning) + net(5 9 match) + net(7 11 warning) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 warning) + net(4 6 warning) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(4 3 match) + device(2 4 match) + device(3 5 match) + device(1 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/lvs/test_22c.lvsdb.2 b/testdata/lvs/test_22c.lvsdb.2 new file mode 100644 index 000000000..a3bacb5a7 --- /dev/null +++ b/testdata/lvs/test_22c.lvsdb.2 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-250 -720) (250 720)) + rect(l6 (-2430 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 warning) + net(5 4 warning) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 warning) + net(4 8 warning) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 warning) + net(5 9 match) + net(7 11 warning) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 warning) + net(4 6 warning) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(4 3 match) + device(2 4 match) + device(3 5 match) + device(1 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/lvs/test_22c.lvsdb.3 b/testdata/lvs/test_22c.lvsdb.3 new file mode 100644 index 000000000..a34c77d3d --- /dev/null +++ b/testdata/lvs/test_22c.lvsdb.3 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-2430 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 warning) + net(5 4 warning) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 warning) + net(4 8 warning) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 warning) + net(5 9 match) + net(7 11 warning) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 warning) + net(4 6 warning) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(2 3 match) + device(4 4 match) + device(1 5 match) + device(3 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/lvs/test_22d.cir b/testdata/lvs/test_22d.cir new file mode 100644 index 000000000..77c13a280 --- /dev/null +++ b/testdata/lvs/test_22d.cir @@ -0,0 +1,97 @@ +* Extracted by KLayout + +* cell SP6TArray_2X4 +.SUBCKT SP6TArray_2X4 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 bl[1] +* net 4 bl_n[1] +* net 5 bl[2] +* net 6 bl_n[2] +* net 7 bl[3] +* net 8 bl_n[3] +* net 9 vdd +* net 10 wl[0] +* net 11 wl[1] +* net 12 vss +* cell instance $1 r0 *1 0,0 +X$1 1 2 3 4 9 10 11 12 SP6TArray_2X2 +* cell instance $2 r0 *1 4.36,0 +X$2 5 6 7 8 9 10 11 12 SP6TArray_2X2 +.ENDS SP6TArray_2X4 + +* cell SP6TArray_2X2 +* pin bl[0] +* pin bl_n[0] +* pin bl[1] +* pin bl_n[1] +* pin vdd +* pin wl[0] +* pin wl[1] +* pin vss +.SUBCKT SP6TArray_2X2 1 2 3 4 5 6 7 8 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 bl[1] +* net 4 bl_n[1] +* net 5 vdd +* net 6 wl[0] +* net 7 wl[1] +* net 8 vss +* cell instance $1 r0 *1 0,0 +X$1 1 2 5 6 7 8 SP6TArray_2X1 +* cell instance $2 r0 *1 2.18,0 +X$2 3 4 5 6 7 8 SP6TArray_2X1 +.ENDS SP6TArray_2X2 + +* cell SP6TArray_2X1 +* pin bl[0] +* pin bl_n[0] +* pin vdd +* pin wl[0] +* pin wl[1] +* pin vss +.SUBCKT SP6TArray_2X1 1 2 3 4 5 6 +* net 1 bl[0] +* net 2 bl_n[0] +* net 3 vdd +* net 4 wl[0] +* net 5 wl[1] +* net 6 vss +* cell instance $1 r0 *1 0,2.775 +X$1 3 5 1 2 6 SP6TCell +* cell instance $2 m0 *1 0,2.775 +X$2 3 4 1 2 6 SP6TCell +.ENDS SP6TArray_2X1 + +* cell SP6TCell +* pin vdd +* pin wl +* pin bl +* pin bl_n +* pin vss +.SUBCKT SP6TCell 5 6 7 8 10 +* net 5 vdd +* net 6 wl +* net 7 bl +* net 8 bl_n +* net 10 vss +* device instance $1 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model +M$1 7 6 3 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $2 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model +M$2 3 4 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $3 r0 *1 1.575,0.215 sky130_fd_pr__nfet_01v8__model +M$3 8 6 4 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.18165P PS=1.37U PD=1.285U +* device instance $4 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model +M$4 4 3 10 10 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P ++ AD=0.1113P PS=1.285U PD=1.37U +* device instance $5 r0 *1 1.965,2.17 sky130_fd_pr__pfet_01v8__model +M$5 4 3 5 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P ++ AD=0.1113P PS=1.73U PD=1.37U +* device instance $6 r0 *1 0.215,2.17 sky130_fd_pr__pfet_01v8__model +M$6 5 4 3 5 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P ++ AD=0.1869P PS=1.37U PD=1.73U +.ENDS SP6TCell diff --git a/testdata/lvs/test_22d.lvsdb.1 b/testdata/lvs/test_22d.lvsdb.1 new file mode 100644 index 000000000..3c52f6e73 --- /dev/null +++ b/testdata/lvs/test_22d.lvsdb.1 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-2430 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 match) + net(5 4 match) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 match) + net(4 8 match) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 match) + net(5 9 match) + net(7 11 match) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 match) + net(4 6 match) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(4 3 match) + device(2 4 match) + device(3 5 match) + device(1 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/lvs/test_22d.lvsdb.2 b/testdata/lvs/test_22d.lvsdb.2 new file mode 100644 index 000000000..24c24136c --- /dev/null +++ b/testdata/lvs/test_22d.lvsdb.2 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-250 -720) (250 720)) + rect(l6 (-2430 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 match) + net(5 4 match) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 match) + net(4 8 match) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 match) + net(5 9 match) + net(7 11 match) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 match) + net(4 6 match) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(4 3 match) + device(2 4 match) + device(3 5 match) + device(1 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/lvs/test_22d.lvsdb.3 b/testdata/lvs/test_22d.lvsdb.3 new file mode 100644 index 000000000..a39da8625 --- /dev/null +++ b/testdata/lvs/test_22d.lvsdb.3 @@ -0,0 +1,952 @@ +#%lvsdb-klayout + +# Layout +layout( + top(SP6TArray_2X4) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l5 '64/20') + layer(l3) + layer(l8) + layer(l7 '66/20') + layer(l10) + layer(l9 '67/20') + layer(l12 '68/16') + layer(l11 '68/20') + layer(l14 '69/16') + layer(l13 '69/20') + layer(l16) + layer(l15) + layer(l18) + layer(l17) + layer(l20) + layer(l19) + layer(l21 '66/44') + layer(l23 '67/44') + layer(l24 '68/44') + layer(l25) + layer(l26) + layer(l27) + layer(l1) + layer(l2) + layer(l4) + layer(l6) + layer(l22) + + # Mask layer connectivity + connect(l5 l5 l4) + connect(l3 l3 l2) + connect(l8 l8 l7) + connect(l7 l8 l7) + connect(l10 l10 l9) + connect(l9 l10 l9 l21 l23) + connect(l12 l12 l11) + connect(l11 l12 l11 l23 l24) + connect(l14 l14 l13) + connect(l13 l14 l13 l24 l25) + connect(l16 l16 l15) + connect(l15 l16 l15 l25 l26) + connect(l18 l18 l17) + connect(l17 l18 l17 l26 l27) + connect(l20 l20 l19) + connect(l19 l20 l19 l27) + connect(l21 l9 l21 l2 l22) + connect(l23 l9 l11 l23) + connect(l24 l11 l13 l24) + connect(l25 l13 l15 l25) + connect(l26 l15 l17 l26) + connect(l27 l17 l19 l27) + connect(l1 l1) + connect(l2 l3 l21 l2 l4 l6) + connect(l4 l5 l2 l4) + connect(l6 l2 l6) + connect(l22 l21 l22) + + # Global nets and connectivity + global(l1 vss) + global(l6 vss) + + # Device class section + class(active_res RES) + class(poly_res RES) + class(sky130_fd_pr__diode_pw2nd_05v5 DIODE) + class(sky130_fd_pr__diode_pd2nw_05v5 DIODE) + class(sky130_fd_pr__nfet_01v8__model MOS4) + class(sky130_fd_pr__nfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__nfet_g5v0d10v5__model MOS4) + class(sky130_fd_pr__pfet_01v8__model MOS4) + class(sky130_fd_pr__pfet_01v8_hvt__model MOS4) + class(sky130_fd_pr__pfet_01v8_lvt__model MOS4) + class(sky130_fd_pr__pfet_g5v0d10v5__model MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$sky130_fd_pr__nfet_01v8__model sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$1 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (180 -550) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (-340 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$2 sky130_fd_pr__nfet_01v8__model + terminal(S + rect(l2 (-210 -340) (420 265)) + ) + terminal(G + rect(l22 (-210 -75) (420 150)) + ) + terminal(D + polygon(l2 (-210 75) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(B + rect(l1 (-210 -75) (420 150)) + ) + ) + device(D$sky130_fd_pr__nfet_01v8__model$3 sky130_fd_pr__nfet_01v8__model + terminal(S + polygon(l2 (-600 -550) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l1 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-520 -210) (445 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (265 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + device(D$sky130_fd_pr__pfet_01v8__model$1 sky130_fd_pr__pfet_01v8__model + terminal(S + rect(l2 (-340 -210) (265 420)) + ) + terminal(G + rect(l22 (-75 -210) (150 420)) + ) + terminal(D + rect(l2 (75 -210) (445 420)) + ) + terminal(B + rect(l5 (-75 -210) (150 420)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCell + + # Circuit boundary + rect((-385 -485) (2950 3565)) + + # Nets with their geometries + net(1 + rect(l7 (1890 500) (150 2010)) + rect(l7 (-1100 -1320) (950 150)) + rect(l7 (-1280 -150) (330 270)) + ) + net(2 + rect(l7 (1240 1550) (330 270)) + rect(l7 (-1280 -150) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + ) + net(3 + polygon(l9 (525 760) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -1010) (170 170)) + polygon(l2 (-465 -1120) (0 340) (-105 0) (0 420) (525 0) (0 -760)) + rect(l2 (-525 1670) (445 420)) + rect(l22 (-125 -1190) (330 270)) + rect(l22 (950 -960) (150 2010)) + rect(l22 (-1100 -1320) (950 150)) + ) + net(4 + polygon(l9 (1485 760) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-335 -650) (170 170)) + polygon(l2 (-125 -1480) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + rect(l22 (-650 -830) (330 270)) + rect(l22 (-1280 -150) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + ) + net(5 name(vdd) + rect(l5 (-385 1780) (2950 1300)) + rect(l9 (-2650 -1075) (170 685)) + rect(l9 (-250 0) (2510 170)) + rect(l9 (-250 -855) (170 685)) + rect(l11 (-2395 -75) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l21 (2010 435) (170 170)) + rect(l21 (-170 -775) (170 170)) + rect(l23 (-2350 435) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-2460 -200) (2590 250)) + rect(l2 (-2510 -940) (265 420)) + rect(l2 (1900 -420) (265 420)) + rect(l4 (-2510 270) (2590 250)) + ) + net(6 name(wl) + rect(l9 (1005 140) (170 500)) + polygon(l11 (-200 -230) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) + rect(l14 (-1205 320) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + rect(l21 (-1175 -770) (170 170)) + rect(l23 (-170 80) (170 170)) + rect(l24 (-160 145) (150 150)) + polygon(l22 (-900 -795) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(7 name(bl) + polygon(l9 (520 -165) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) + rect(l12 (-260 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-140 -2860) (170 170)) + rect(l23 (-230 -170) (170 170)) + rect(l2 (-235 -210) (420 265)) + ) + net(8 name(bl_n) + polygon(l9 (1490 -165) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) + rect(l12 (-140 20) (230 2920)) + rect(l12 (-115 -1460) (0 0)) + rect(l11 (-115 -1460) (230 2920)) + rect(l21 (-260 -2860) (170 170)) + rect(l23 (-110 -170) (170 170)) + rect(l2 (-355 -210) (420 265)) + ) + net(9 + polygon(l7 (265 140) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) + ) + net(10 name(vss) + rect(l9 (-85 -165) (170 1170)) + rect(l9 (2010 -1170) (170 1170)) + rect(l11 (-2395 -1165) (260 320)) + rect(l11 (1920 -320) (260 320)) + rect(l14 (-2470 -290) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + rect(l21 (-2425 -215) (170 170)) + rect(l21 (-170 670) (170 170)) + rect(l21 (2010 -170) (170 170)) + rect(l21 (-170 -1010) (170 170)) + rect(l23 (-2350 -170) (170 170)) + rect(l23 (2010 -170) (170 170)) + rect(l24 (-2340 -160) (150 150)) + rect(l24 (2030 -150) (150 150)) + rect(l2 (-215 555) (265 420)) + rect(l2 (-2430 -1410) (250 720)) + rect(l2 (-250 270) (265 420)) + rect(l2 (1915 -1410) (250 720)) + rect(l6 (-2430 -720) (250 720)) + rect(l6 (1930 -720) (250 720)) + ) + + # Outgoing pins and their connections to nets + pin(5 name(vdd)) + pin(6 name(wl)) + pin(7 name(bl)) + pin(8 name(bl_n)) + pin(10 name(vss)) + + # Devices and their connections + device(1 D$sky130_fd_pr__nfet_01v8__model + location(605 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 7) + terminal(G 6) + terminal(D 3) + terminal(B 10) + ) + device(2 D$sky130_fd_pr__nfet_01v8__model$1 + location(215 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 3) + terminal(G 4) + terminal(D 10) + terminal(B 10) + ) + device(3 D$sky130_fd_pr__nfet_01v8__model$2 + location(1575 215) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.18165) + param(PS 1.37) + param(PD 1.285) + terminal(S 8) + terminal(G 6) + terminal(D 4) + terminal(B 10) + ) + device(4 D$sky130_fd_pr__nfet_01v8__model$3 + location(1965 840) + param(L 0.15) + param(W 0.42) + param(AS 0.18165) + param(AD 0.1113) + param(PS 1.285) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 10) + terminal(B 10) + ) + device(5 D$sky130_fd_pr__pfet_01v8__model + location(1965 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1869) + param(AD 0.1113) + param(PS 1.73) + param(PD 1.37) + terminal(S 4) + terminal(G 3) + terminal(D 5) + terminal(B 5) + ) + device(6 D$sky130_fd_pr__pfet_01v8__model$1 + location(215 2170) + param(L 0.15) + param(W 0.42) + param(AS 0.1113) + param(AD 0.1869) + param(PS 1.37) + param(PD 1.73) + terminal(S 5) + terminal(G 4) + terminal(D 3) + terminal(B 5) + ) + + ) + circuit(SP6TArray_2X1 + + # Circuit boundary + rect((-385 -305) (2950 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l14 (-1250 5420) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -5680) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1090 -130) (0 0)) + rect(l13 (-1090 -130) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name(vdd)) + pin(4 name('wl[0]')) + pin(5 name('wl[1]')) + pin(6 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TCell location(0 2775) + pin(0 3) + pin(1 5) + pin(2 1) + pin(3 2) + pin(4 6) + ) + circuit(2 SP6TCell mirror location(0 2775) + pin(0 3) + pin(1 4) + pin(2 1) + pin(3 2) + pin(4 6) + ) + + ) + circuit(SP6TArray_2X2 + + # Circuit boundary + rect((-385 -305) (5130 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l14 (-2340 -5680) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 5420) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2180 -130) (0 0)) + rect(l13 (-2180 -130) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) + ) + + # Outgoing pins and their connections to nets + pin(1 name('bl[0]')) + pin(2 name('bl_n[0]')) + pin(3 name('bl[1]')) + pin(4 name('bl_n[1]')) + pin(5 name(vdd)) + pin(6 name('wl[0]')) + pin(7 name('wl[1]')) + pin(8 name(vss)) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X1 location(0 0) + pin(0 1) + pin(1 2) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + circuit(2 SP6TArray_2X1 location(2180 0) + pin(0 3) + pin(1 4) + pin(2 5) + pin(3 6) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TArray_2X4 + + # Circuit boundary + rect((-385 -305) (9490 6160)) + + # Nets with their geometries + net(1 name('bl[0]') + rect(l12 (430 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-115 -2775) (0 0)) + rect(l11 (-115 -2775) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l14 (-4520 5420) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -5680) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4360 -130) (0 0)) + rect(l13 (-4360 -130) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) + ) + + # Subcircuits and their connections + circuit(1 SP6TArray_2X2 location(0 0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + circuit(2 SP6TArray_2X2 location(4360 0) + pin(0 5) + pin(1 6) + pin(2 7) + pin(3 8) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(SKY130_FD_PR__PFET_01V8__MODEL MOS4) + class(SKY130_FD_PR__NFET_01V8__MODEL MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(SP6TCELL + + # Nets + net(1 name(VDD)) + net(2 name(VSS)) + net(3 name(WL)) + net(4 name(BL)) + net(5 name(BL_N)) + net(6 name(BIT_N)) + net(7 name(BIT)) + + # Outgoing pins and their connections to nets + pin(1 name(VDD)) + pin(2 name(VSS)) + pin(3 name(WL)) + pin(4 name(BL)) + pin(5 name(BL_N)) + + # Devices and their connections + device(1 SKY130_FD_PR__PFET_01V8__MODEL + name(PU1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 1) + terminal(G 6) + terminal(D 7) + terminal(B 1) + ) + device(2 SKY130_FD_PR__PFET_01V8__MODEL + name(PU2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 1) + terminal(B 1) + ) + device(3 SKY130_FD_PR__NFET_01V8__MODEL + name(PD1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 2) + terminal(G 6) + terminal(D 7) + terminal(B 2) + ) + device(4 SKY130_FD_PR__NFET_01V8__MODEL + name(PD2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 7) + terminal(D 2) + terminal(B 2) + ) + device(5 SKY130_FD_PR__NFET_01V8__MODEL + name(PG1) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 3) + terminal(D 7) + terminal(B 2) + ) + device(6 SKY130_FD_PR__NFET_01V8__MODEL + name(PG2) + param(L 0.15) + param(W 0.42) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 3) + terminal(D 6) + terminal(B 2) + ) + + ) + circuit(SP6TARRAY_2X1 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + + # Subcircuits and their connections + circuit(1 SP6TCELL name(INST0X0) + pin(0 2) + pin(1 1) + pin(2 3) + pin(3 5) + pin(4 6) + ) + circuit(2 SP6TCELL name(INST1X0) + pin(0 2) + pin(1 1) + pin(2 4) + pin(3 5) + pin(4 6) + ) + + ) + circuit(SP6TARRAY_2X2 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X1 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + ) + circuit(2 SP6TARRAY_2X1 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 7) + pin(5 8) + ) + + ) + circuit(SP6TARRAY_2X4 + + # Nets + net(1 name(VSS)) + net(2 name(VDD)) + net(3 name('WL[0]')) + net(4 name('WL[1]')) + net(5 name('BL[0]')) + net(6 name('BL_N[0]')) + net(7 name('BL[1]')) + net(8 name('BL_N[1]')) + net(9 name('BL[2]')) + net(10 name('BL_N[2]')) + net(11 name('BL[3]')) + net(12 name('BL_N[3]')) + + # Outgoing pins and their connections to nets + pin(1 name(VSS)) + pin(2 name(VDD)) + pin(3 name('WL[0]')) + pin(4 name('WL[1]')) + pin(5 name('BL[0]')) + pin(6 name('BL_N[0]')) + pin(7 name('BL[1]')) + pin(8 name('BL_N[1]')) + pin(9 name('BL[2]')) + pin(10 name('BL_N[2]')) + pin(11 name('BL[3]')) + pin(12 name('BL_N[3]')) + + # Subcircuits and their connections + circuit(1 SP6TARRAY_2X2 name(INST0X0) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 5) + pin(5 6) + pin(6 7) + pin(7 8) + ) + circuit(2 SP6TARRAY_2X2 name(INST0X1) + pin(0 1) + pin(1 2) + pin(2 3) + pin(3 4) + pin(4 9) + pin(5 10) + pin(6 11) + pin(7 12) + ) + + ) +) + +# Cross reference +xref( + circuit(SP6TArray_2X1 SP6TARRAY_2X1 match + xref( + net(1 5 match) + net(2 6 match) + net(3 2 match) + net(6 1 match) + net(4 3 match) + net(5 4 match) + pin(0 4 match) + pin(1 5 match) + pin(2 1 match) + pin(5 0 match) + pin(3 2 match) + pin(4 3 match) + circuit(2 1 match) + circuit(1 2 match) + ) + ) + circuit(SP6TArray_2X2 SP6TARRAY_2X2 match + xref( + net(1 5 match) + net(3 7 match) + net(2 6 match) + net(4 8 match) + net(5 2 match) + net(8 1 match) + net(6 3 match) + net(7 4 match) + pin(0 4 match) + pin(2 6 match) + pin(1 5 match) + pin(3 7 match) + pin(4 1 match) + pin(7 0 match) + pin(5 2 match) + pin(6 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TArray_2X4 SP6TARRAY_2X4 match + xref( + net(1 5 match) + net(3 7 match) + net(5 9 match) + net(7 11 match) + net(2 6 match) + net(4 8 match) + net(6 10 match) + net(8 12 match) + net(9 2 match) + net(12 1 match) + net(10 3 match) + net(11 4 match) + pin(() 4 match) + pin(() 6 match) + pin(() 8 match) + pin(() 10 match) + pin(() 5 match) + pin(() 7 match) + pin(() 9 match) + pin(() 11 match) + pin(() 1 match) + pin(() 0 match) + pin(() 2 match) + pin(() 3 match) + circuit(1 1 match) + circuit(2 2 match) + ) + ) + circuit(SP6TCell SP6TCELL match + xref( + net(3 7 match) + net(4 6 match) + net(7 4 match) + net(8 5 match) + net(5 1 match) + net(10 2 match) + net(6 3 match) + pin(2 3 match) + pin(3 4 match) + pin(0 0 match) + pin(4 1 match) + pin(1 2 match) + device(2 3 match) + device(4 4 match) + device(1 5 match) + device(3 6 match) + device(6 1 match) + device(5 2 match) + ) + ) +) diff --git a/testdata/net_tracer/t1_all_nets.oas.gz b/testdata/net_tracer/t1_all_nets.oas.gz index 728f52d8a..5a710240c 100644 Binary files a/testdata/net_tracer/t1_all_nets.oas.gz and b/testdata/net_tracer/t1_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t4_all_nets.oas.gz b/testdata/net_tracer/t4_all_nets.oas.gz index 09ff7f710..a9a2efba3 100644 Binary files a/testdata/net_tracer/t4_all_nets.oas.gz and b/testdata/net_tracer/t4_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t4b_all_nets.oas.gz b/testdata/net_tracer/t4b_all_nets.oas.gz index de67d58d9..8461fd262 100644 Binary files a/testdata/net_tracer/t4b_all_nets.oas.gz and b/testdata/net_tracer/t4b_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t5_all_nets.oas.gz b/testdata/net_tracer/t5_all_nets.oas.gz index 8e4340750..41d400513 100644 Binary files a/testdata/net_tracer/t5_all_nets.oas.gz and b/testdata/net_tracer/t5_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t5b_all_nets.oas.gz b/testdata/net_tracer/t5b_all_nets.oas.gz index dd7e2f56a..d7d70e9f6 100644 Binary files a/testdata/net_tracer/t5b_all_nets.oas.gz and b/testdata/net_tracer/t5b_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t5c_all_nets.oas.gz b/testdata/net_tracer/t5c_all_nets.oas.gz index a6cf16398..5abaac758 100644 Binary files a/testdata/net_tracer/t5c_all_nets.oas.gz and b/testdata/net_tracer/t5c_all_nets.oas.gz differ diff --git a/testdata/net_tracer/t5d_all_nets.oas.gz.1 b/testdata/net_tracer/t5d_all_nets.oas.gz.1 index 199d8d8ca..a0a91d691 100644 Binary files a/testdata/net_tracer/t5d_all_nets.oas.gz.1 and b/testdata/net_tracer/t5d_all_nets.oas.gz.1 differ diff --git a/testdata/net_tracer/t5d_all_nets.oas.gz.2 b/testdata/net_tracer/t5d_all_nets.oas.gz.2 index 9861ae9eb..c858288fa 100644 Binary files a/testdata/net_tracer/t5d_all_nets.oas.gz.2 and b/testdata/net_tracer/t5d_all_nets.oas.gz.2 differ diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.1 b/testdata/net_tracer/t6_all_nets.oas.gz.1 index 709ef1e17..01198a04c 100644 Binary files a/testdata/net_tracer/t6_all_nets.oas.gz.1 and b/testdata/net_tracer/t6_all_nets.oas.gz.1 differ diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.2 b/testdata/net_tracer/t6_all_nets.oas.gz.2 index e83c1656f..2c5855ced 100644 Binary files a/testdata/net_tracer/t6_all_nets.oas.gz.2 and b/testdata/net_tracer/t6_all_nets.oas.gz.2 differ diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.3 b/testdata/net_tracer/t6_all_nets.oas.gz.3 index daf4f793c..e80730674 100644 Binary files a/testdata/net_tracer/t6_all_nets.oas.gz.3 and b/testdata/net_tracer/t6_all_nets.oas.gz.3 differ diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.4 b/testdata/net_tracer/t6_all_nets.oas.gz.4 index f5aba5bda..c23c41c53 100644 Binary files a/testdata/net_tracer/t6_all_nets.oas.gz.4 and b/testdata/net_tracer/t6_all_nets.oas.gz.4 differ diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.5 b/testdata/net_tracer/t6_all_nets.oas.gz.5 index 6e1635c13..3aeeab5cd 100644 Binary files a/testdata/net_tracer/t6_all_nets.oas.gz.5 and b/testdata/net_tracer/t6_all_nets.oas.gz.5 differ diff --git a/testdata/oasis/dbOASISWriter120_au.gds b/testdata/oasis/dbOASISWriter120_au.gds new file mode 100644 index 000000000..39355df92 Binary files /dev/null and b/testdata/oasis/dbOASISWriter120_au.gds differ diff --git a/testdata/pymod/bridge.py b/testdata/pymod/bridge.py index 5c13a35a0..53bf7d121 100755 --- a/testdata/pymod/bridge.py +++ b/testdata/pymod/bridge.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtCore.py b/testdata/pymod/import_QtCore.py index a51be2317..b6d014818 100755 --- a/testdata/pymod/import_QtCore.py +++ b/testdata/pymod/import_QtCore.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtCore5Compat.py b/testdata/pymod/import_QtCore5Compat.py index de534eccd..5131bf4b2 100755 --- a/testdata/pymod/import_QtCore5Compat.py +++ b/testdata/pymod/import_QtCore5Compat.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtDesigner.py b/testdata/pymod/import_QtDesigner.py index 484fa235c..d3ec1c43a 100755 --- a/testdata/pymod/import_QtDesigner.py +++ b/testdata/pymod/import_QtDesigner.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtGui.py b/testdata/pymod/import_QtGui.py index a9a74866c..dc8c5413a 100755 --- a/testdata/pymod/import_QtGui.py +++ b/testdata/pymod/import_QtGui.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtGui_Qt6.py b/testdata/pymod/import_QtGui_Qt6.py index b8aee10bf..cbaed1325 100755 --- a/testdata/pymod/import_QtGui_Qt6.py +++ b/testdata/pymod/import_QtGui_Qt6.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtMultimedia.py b/testdata/pymod/import_QtMultimedia.py index 66a0a21bb..9dbb21470 100755 --- a/testdata/pymod/import_QtMultimedia.py +++ b/testdata/pymod/import_QtMultimedia.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtNetwork.py b/testdata/pymod/import_QtNetwork.py index 0e916b8b0..73fe6fbd0 100755 --- a/testdata/pymod/import_QtNetwork.py +++ b/testdata/pymod/import_QtNetwork.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtPrintSupport.py b/testdata/pymod/import_QtPrintSupport.py index e0b99e4f3..b1757263c 100755 --- a/testdata/pymod/import_QtPrintSupport.py +++ b/testdata/pymod/import_QtPrintSupport.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtSql.py b/testdata/pymod/import_QtSql.py index f4b9c4bf7..06a408d9a 100755 --- a/testdata/pymod/import_QtSql.py +++ b/testdata/pymod/import_QtSql.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtSvg.py b/testdata/pymod/import_QtSvg.py index c61bff31b..f0853a03a 100755 --- a/testdata/pymod/import_QtSvg.py +++ b/testdata/pymod/import_QtSvg.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtSvg_Qt6.py b/testdata/pymod/import_QtSvg_Qt6.py index 299ad1d89..5dfa631f6 100755 --- a/testdata/pymod/import_QtSvg_Qt6.py +++ b/testdata/pymod/import_QtSvg_Qt6.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtUiTools.py b/testdata/pymod/import_QtUiTools.py index e600d9c70..2c180d536 100755 --- a/testdata/pymod/import_QtUiTools.py +++ b/testdata/pymod/import_QtUiTools.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtWidgets.py b/testdata/pymod/import_QtWidgets.py index c0578c8ea..a6c206330 100755 --- a/testdata/pymod/import_QtWidgets.py +++ b/testdata/pymod/import_QtWidgets.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtWidgets_Qt6.py b/testdata/pymod/import_QtWidgets_Qt6.py index 9f53a9e7b..2705f08ad 100755 --- a/testdata/pymod/import_QtWidgets_Qt6.py +++ b/testdata/pymod/import_QtWidgets_Qt6.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtXml.py b/testdata/pymod/import_QtXml.py index 81f5ed257..38626ffa8 100755 --- a/testdata/pymod/import_QtXml.py +++ b/testdata/pymod/import_QtXml.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_QtXmlPatterns.py b/testdata/pymod/import_QtXmlPatterns.py index c6538ca34..877ca30d6 100755 --- a/testdata/pymod/import_QtXmlPatterns.py +++ b/testdata/pymod/import_QtXmlPatterns.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_db.py b/testdata/pymod/import_db.py index f4493e20a..1a5b0a9f1 100755 --- a/testdata/pymod/import_db.py +++ b/testdata/pymod/import_db.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_lay.py b/testdata/pymod/import_lay.py index 928255447..bb5127a93 100755 --- a/testdata/pymod/import_lay.py +++ b/testdata/pymod/import_lay.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_lay_noqt.py b/testdata/pymod/import_lay_noqt.py index 36d9c0e8f..f12c4b34c 100755 --- a/testdata/pymod/import_lay_noqt.py +++ b/testdata/pymod/import_lay_noqt.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_lib.py b/testdata/pymod/import_lib.py new file mode 100755 index 000000000..8d95bc516 --- /dev/null +++ b/testdata/pymod/import_lib.py @@ -0,0 +1,44 @@ +# KLayout Layout Viewer +# Copyright (C) 2006-2022 Matthias Koefferlein +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import testprep +import klayout.db as db +import klayout.lib as lib +import unittest +import sys + +# Tests the basic abilities of the module + +class BasicTest(unittest.TestCase): + + def test_1(self): + + lib = db.Library.library_by_name("Basic") + self.assertEqual(lib is None, False) + + pcell_decl = lib.layout().pcell_declaration("TEXT") + self.assertEqual(pcell_decl.name(), "TEXT") + +# run unit tests +if __name__ == '__main__': + suite = unittest.TestSuite() + suite = unittest.TestLoader().loadTestsFromTestCase(BasicTest) + + if not unittest.TextTestRunner(verbosity = 1).run(suite).wasSuccessful(): + sys.exit(1) + + diff --git a/testdata/pymod/import_rdb.py b/testdata/pymod/import_rdb.py index e0b7d9889..582fcacfd 100755 --- a/testdata/pymod/import_rdb.py +++ b/testdata/pymod/import_rdb.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/pymod/import_tl.py b/testdata/pymod/import_tl.py index da0c070cf..2c4a54c18 100755 --- a/testdata/pymod/import_tl.py +++ b/testdata/pymod/import_tl.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/basic.py b/testdata/python/basic.py index ea1e8c6c9..0acb8c009 100644 --- a/testdata/python/basic.py +++ b/testdata/python/basic.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbLayoutTest.py b/testdata/python/dbLayoutTest.py index e91e871d2..6c47dc483 100644 --- a/testdata/python/dbLayoutTest.py +++ b/testdata/python/dbLayoutTest.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbLayoutToNetlist.py b/testdata/python/dbLayoutToNetlist.py index 669398afe..a5e480387 100644 --- a/testdata/python/dbLayoutToNetlist.py +++ b/testdata/python/dbLayoutToNetlist.py @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbLayoutVsSchematic.py b/testdata/python/dbLayoutVsSchematic.py index 704508cf6..3b67b9fbf 100644 --- a/testdata/python/dbLayoutVsSchematic.py +++ b/testdata/python/dbLayoutVsSchematic.py @@ -2,7 +2,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbNetlistCrossReference.py b/testdata/python/dbNetlistCrossReference.py index 4434601af..bc9f26055 100644 --- a/testdata/python/dbNetlistCrossReference.py +++ b/testdata/python/dbNetlistCrossReference.py @@ -2,7 +2,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbPCells.py b/testdata/python/dbPCells.py index efa215145..8d16caa77 100644 --- a/testdata/python/dbPCells.py +++ b/testdata/python/dbPCells.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -99,6 +99,9 @@ if "PCellDeclarationHelper" in pya.__dict__: # provide a descriptive text for the cell return "Box2(L=" + str(self.layer) + ",W=" + ('%.3f' % self.width) + ",H=" + ('%.3f' % self.height) + ")" + def wants_lazy_evaluation(self): + return True + def produce_impl(self): dbu = self.layout.dbu @@ -197,6 +200,7 @@ class DBPCellTests(unittest.TestCase): self.assertEqual(pcell_var.is_pcell_variant(), True) self.assertEqual(pcell_var.display_title(), "PCellTestLib.Box(L=1/0,W=1.000,H=1.000)") self.assertEqual(pcell_var.basic_name(), "Box") + self.assertEqual(pcell_var.pcell_declaration().wants_lazy_evaluation(), False) self.assertEqual(c1.is_pcell_variant(), False) self.assertEqual(c1.is_pcell_variant(pcell_inst), True) self.assertEqual(pcell_var.pcell_id(), pcell_decl_id) @@ -343,6 +347,7 @@ class DBPCellTests(unittest.TestCase): self.assertEqual(pcell_var.pcell_declaration().__repr__(), pcell_decl.__repr__()) self.assertEqual(c1.pcell_declaration(pcell_inst).__repr__(), pcell_decl.__repr__()) self.assertEqual(pcell_inst.pcell_declaration().__repr__(), pcell_decl.__repr__()) + self.assertEqual(pcell_decl.wants_lazy_evaluation(), True) li1 = find_layer(ly, "1/0") self.assertEqual(li1 == None, False) @@ -490,7 +495,6 @@ class DBPCellTests(unittest.TestCase): self.assertEqual(cell.begin_shapes_rec(ly.layer(5, 0)).shape().__str__(), "box (-100,-300;100,300)") - # run unit tests if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(DBPCellTests) diff --git a/testdata/python/dbPolygonTest.py b/testdata/python/dbPolygonTest.py index ce679554f..353ef339f 100644 --- a/testdata/python/dbPolygonTest.py +++ b/testdata/python/dbPolygonTest.py @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbReaders.py b/testdata/python/dbReaders.py index d7f2d5c44..acd6135f6 100644 --- a/testdata/python/dbReaders.py +++ b/testdata/python/dbReaders.py @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbRegionTest.py b/testdata/python/dbRegionTest.py index 016b7f258..e87c5d2df 100644 --- a/testdata/python/dbRegionTest.py +++ b/testdata/python/dbRegionTest.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/dbTransTest.py b/testdata/python/dbTransTest.py index fab2d6f65..2a51925bd 100644 --- a/testdata/python/dbTransTest.py +++ b/testdata/python/dbTransTest.py @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/layLayers.py b/testdata/python/layLayers.py index 74a2bedd6..d636b772e 100644 --- a/testdata/python/layLayers.py +++ b/testdata/python/layLayers.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/python/qtbinding.py b/testdata/python/qtbinding.py index c25c4745c..373bdde86 100644 --- a/testdata/python/qtbinding.py +++ b/testdata/python/qtbinding.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -640,6 +640,15 @@ class QtBindingTest(unittest.TestCase): else: self.assertEqual(str(jsonData), 'b\'{"test":"test"}\'') + def test_54(self): + + # issue #1029 (Crash for QBrush passed to setData) + item = pya.QTreeWidgetItem() + item.setBackground(0, pya.QBrush(pya.QColor(0xFF, 0xFF, 0x00))) + self.assertEqual(item.background(0).color.red, 255) + self.assertEqual(item.background(0).color.green, 255) + self.assertEqual(item.background(0).color.blue, 0) + # run unit tests if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(QtBindingTest) diff --git a/testdata/python/tlTest.py b/testdata/python/tlTest.py index 9ab1c841a..d2b140c0e 100644 --- a/testdata/python/tlTest.py +++ b/testdata/python/tlTest.py @@ -1,5 +1,5 @@ # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/antTest.rb b/testdata/ruby/antTest.rb index 498331ddb..183ef5afc 100644 --- a/testdata/ruby/antTest.rb +++ b/testdata/ruby/antTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/basic.rb b/testdata/ruby/basic.rb index 9c644f9ad..2cbf06f38 100644 --- a/testdata/ruby/basic.rb +++ b/testdata/ruby/basic.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbBooleanTest.rb b/testdata/ruby/dbBooleanTest.rb index 98ac724b7..341f8a361 100644 --- a/testdata/ruby/dbBooleanTest.rb +++ b/testdata/ruby/dbBooleanTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbBoxTest.rb b/testdata/ruby/dbBoxTest.rb index 768650e55..4f6c1de10 100644 --- a/testdata/ruby/dbBoxTest.rb +++ b/testdata/ruby/dbBoxTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -106,6 +106,13 @@ class DBBox_TestClass < TestBase a = RBA::DBox.new assert_equal( a.empty?, true ) + a = RBA::DBox::world + b = RBA::DBox::new(1, 2, 3, 4) + assert_equal( a.empty?, false ) + assert_equal( a == RBA::DBox::world, true ) + assert_equal( (a + b) == RBA::DBox::world, true ) + assert_equal( (a & b) == b, true ) + end # DBox basics @@ -303,6 +310,13 @@ class DBBox_TestClass < TestBase a = RBA::Box.new assert_equal( a.empty?, true ) + a = RBA::Box::world + b = RBA::Box::new(1, 2, 3, 4) + assert_equal( a.empty?, false ) + assert_equal( a == RBA::Box::world, true ) + assert_equal( (a + b) == RBA::Box::world, true ) + assert_equal( (a & b) == b, true ) + end # Box basics diff --git a/testdata/ruby/dbCellInstArrayTest.rb b/testdata/ruby/dbCellInstArrayTest.rb index 7d167ac6e..c8beacd24 100644 --- a/testdata/ruby/dbCellInstArrayTest.rb +++ b/testdata/ruby/dbCellInstArrayTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -49,6 +49,11 @@ class DBCellInst_TestClass < TestBase assert_equal(a.trans.to_s, "r90 0,0") assert_equal(a.cplx_trans.to_s, "r90 *1 0,0") + a = RBA::CellInstArray::new(0, RBA::Vector::new(42, -17)) + assert_equal(a.is_complex?, false) + assert_equal(a.trans.to_s, "r0 42,-17") + assert_equal(a.cplx_trans.to_s, "r0 *1 42,-17") + a = RBA::CellInstArray::new(0, RBA::ICplxTrans::new(1.5)) assert_equal(a.is_complex?, true) assert_equal(a.trans.to_s, "r0 0,0") @@ -106,6 +111,12 @@ class DBCellInst_TestClass < TestBase assert_equal(a.cplx_trans.to_s, "r90 *1 0,0") assert_equal(a.to_s, "#0 r90 0,0 [10,20*3;30,40*5]") + a = RBA::CellInstArray::new(0, RBA::Vector::new(42, -17), RBA::Vector::new(10, 20), RBA::Vector::new(30, 40), 3, 5) + assert_equal(a.is_complex?, false) + assert_equal(a.trans.to_s, "r0 42,-17") + assert_equal(a.cplx_trans.to_s, "r0 *1 42,-17") + assert_equal(a.to_s, "#0 r0 42,-17 [10,20*3;30,40*5]") + a = RBA::CellInstArray::new(0, RBA::ICplxTrans::new(1.5), RBA::Vector::new(10, 20), RBA::Vector::new(30, 40), 3, 5) assert_equal(a.is_complex?, true) assert_equal(a.trans.to_s, "r0 0,0") @@ -178,6 +189,11 @@ class DBCellInst_TestClass < TestBase assert_equal(a.trans.to_s, "r90 0,0") assert_equal(a.cplx_trans.to_s, "r90 *1 0,0") + a = RBA::DCellInstArray::new(0, RBA::DVector::new(42, -17)) + assert_equal(a.is_complex?, false) + assert_equal(a.trans.to_s, "r0 42,-17") + assert_equal(a.cplx_trans.to_s, "r0 *1 42,-17") + a = RBA::DCellInstArray::new(0, RBA::DCplxTrans::new(1.5)) assert_equal(a.is_complex?, true) assert_equal(a.trans.to_s, "r0 0,0") @@ -235,6 +251,12 @@ class DBCellInst_TestClass < TestBase assert_equal(a.cplx_trans.to_s, "r90 *1 0,0") assert_equal(a.to_s, "#0 r90 0,0 [10,20*3;30,40*5]") + a = RBA::DCellInstArray::new(0, RBA::DVector::new(42, -17), RBA::DVector::new(10, 20), RBA::DVector::new(30, 40), 3, 5) + assert_equal(a.is_complex?, false) + assert_equal(a.trans.to_s, "r0 42,-17") + assert_equal(a.cplx_trans.to_s, "r0 *1 42,-17") + assert_equal(a.to_s, "#0 r0 42,-17 [10,20*3;30,40*5]") + a = RBA::DCellInstArray::new(0, RBA::DCplxTrans::new(1.5), RBA::DVector::new(10, 20), RBA::DVector::new(30, 40), 3, 5) assert_equal(a.is_complex?, true) assert_equal(a.trans.to_s, "r0 0,0") diff --git a/testdata/ruby/dbCellMapping.rb b/testdata/ruby/dbCellMapping.rb index 883a46622..97e8775a6 100644 --- a/testdata/ruby/dbCellMapping.rb +++ b/testdata/ruby/dbCellMapping.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbEdgePairTest.rb b/testdata/ruby/dbEdgePairTest.rb index e6f496281..ad6a4cea6 100644 --- a/testdata/ruby/dbEdgePairTest.rb +++ b/testdata/ruby/dbEdgePairTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbEdgePairsTest.rb b/testdata/ruby/dbEdgePairsTest.rb index e56de3be6..db5570d45 100644 --- a/testdata/ruby/dbEdgePairsTest.rb +++ b/testdata/ruby/dbEdgePairsTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbEdgeTest.rb b/testdata/ruby/dbEdgeTest.rb index c32b59f98..92b012be5 100644 --- a/testdata/ruby/dbEdgeTest.rb +++ b/testdata/ruby/dbEdgeTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbEdgesTest.rb b/testdata/ruby/dbEdgesTest.rb index e6a71a71e..96a1a9470 100644 --- a/testdata/ruby/dbEdgesTest.rb +++ b/testdata/ruby/dbEdgesTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbGlyphs.rb b/testdata/ruby/dbGlyphs.rb index cf01e32f6..c7b5792c8 100644 --- a/testdata/ruby/dbGlyphs.rb +++ b/testdata/ruby/dbGlyphs.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbInstElementTest.rb b/testdata/ruby/dbInstElementTest.rb index 06fe4ec85..3a322b347 100644 --- a/testdata/ruby/dbInstElementTest.rb +++ b/testdata/ruby/dbInstElementTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbInstanceTest.rb b/testdata/ruby/dbInstanceTest.rb index 2e1e6793c..f59c0bfd5 100644 --- a/testdata/ruby/dbInstanceTest.rb +++ b/testdata/ruby/dbInstanceTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbLayerMapping.rb b/testdata/ruby/dbLayerMapping.rb index 1568073e4..34e7bffa3 100644 --- a/testdata/ruby/dbLayerMapping.rb +++ b/testdata/ruby/dbLayerMapping.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbLayout.rb b/testdata/ruby/dbLayout.rb index 4b9f82480..92ca43de9 100644 --- a/testdata/ruby/dbLayout.rb +++ b/testdata/ruby/dbLayout.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1043,10 +1043,31 @@ class DBLayout_TestClass < TestBase ci = l.clip(c0.cell_index, RBA::Box.new(0, 0, 200, 200)) assert_equal(dump_layer_i(l, 0, ci), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + cic = l.clip(c0, RBA::Box.new(0, 0, 200, 200)) + assert_equal(dump_layer_i(l, 0, cic.cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + + cid = l.clip(c0.cell_index, RBA::DBox.new(0, 0, 0.2, 0.2)) + assert_equal(dump_layer_i(l, 0, cid), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + + cicd = l.clip(c0, RBA::DBox.new(0, 0, 0.2, 0.2)) + assert_equal(dump_layer_i(l, 0, cicd.cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + ci = l.multi_clip(c0.cell_index, [RBA::Box.new(0, 0, 200, 200),RBA::Box.new(1000, 0, 1300, 200)]) assert_equal(dump_layer_i(l, 0, ci[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") assert_equal(dump_layer_i(l, 0, ci[1]), "(1000,0;1100,200); (1200,0;1300,200)") + cic = l.multi_clip(c0, [RBA::Box.new(0, 0, 200, 200),RBA::Box.new(1000, 0, 1300, 200)]) + assert_equal(dump_layer_i(l, 0, cic[0].cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(l, 0, cic[1].cell_index), "(1000,0;1100,200); (1200,0;1300,200)") + + cid = l.multi_clip(c0.cell_index, [RBA::DBox.new(0, 0, 0.2, 0.2),RBA::DBox.new(1.0, 0, 1.3, 0.2)]) + assert_equal(dump_layer_i(l, 0, cid[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(l, 0, cid[1]), "(1000,0;1100,200); (1200,0;1300,200)") + + cidc = l.multi_clip(c0, [RBA::DBox.new(0, 0, 0.2, 0.2),RBA::DBox.new(1.0, 0, 1.3, 0.2)]) + assert_equal(dump_layer_i(l, 0, cidc[0].cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(l, 0, cidc[1].cell_index), "(1000,0;1100,200); (1200,0;1300,200)") + ll = RBA::Layout.new ll.dbu = l.dbu ll.insert_layer_at(0, RBA::LayerInfo.new(2, 0)) @@ -1054,10 +1075,31 @@ class DBLayout_TestClass < TestBase ci = l.clip_into(c0.cell_index, ll, RBA::Box.new(0, 0, 200, 200)) assert_equal(dump_layer_i(ll, 0, ci), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + cic = l.clip_into(c0, ll, RBA::Box.new(0, 0, 200, 200)) + assert_equal(dump_layer_i(ll, 0, cic.cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + + cid = l.clip_into(c0.cell_index, ll, RBA::DBox.new(0, 0, 0.2, 0.2)) + assert_equal(dump_layer_i(ll, 0, cid), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + + cicd = l.clip_into(c0, ll, RBA::DBox.new(0, 0, 0.2, 0.2)) + assert_equal(dump_layer_i(ll, 0, cicd.cell_index), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + ci = l.multi_clip_into(c0.cell_index, ll, [RBA::Box.new(0, 0, 200, 200),RBA::Box.new(1000, 0, 1300, 200)]) assert_equal(dump_layer_i(ll, 0, ci[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") assert_equal(dump_layer_i(ll, 0, ci[1]), "(1000,0;1100,200); (1200,0;1300,200)") + cic = l.multi_clip_into(c0, ll, [RBA::Box.new(0, 0, 200, 200),RBA::Box.new(1000, 0, 1300, 200)]) + assert_equal(dump_layer_i(ll, 0, cic[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(ll, 0, cic[1]), "(1000,0;1100,200); (1200,0;1300,200)") + + cid = l.multi_clip_into(c0.cell_index, ll, [RBA::DBox.new(0, 0, 0.2, 0.2),RBA::DBox.new(1.0, 0, 1.3, 0.2)]) + assert_equal(dump_layer_i(ll, 0, cid[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(ll, 0, cid[1]), "(1000,0;1100,200); (1200,0;1300,200)") + + cicd = l.multi_clip_into(c0, ll, [RBA::DBox.new(0, 0, 0.2, 0.2),RBA::DBox.new(1.0, 0, 1.3, 0.2)]) + assert_equal(dump_layer_i(ll, 0, cicd[0]), "(0,100;200,200); (0,100;200,200); (100,0;200,200)") + assert_equal(dump_layer_i(ll, 0, cicd[1]), "(1000,0;1100,200); (1200,0;1300,200)") + end def test_8 diff --git a/testdata/ruby/dbLayoutDiff.rb b/testdata/ruby/dbLayoutDiff.rb index 94baadb0c..aa5471dfc 100644 --- a/testdata/ruby/dbLayoutDiff.rb +++ b/testdata/ruby/dbLayoutDiff.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbLayoutQuery.rb b/testdata/ruby/dbLayoutQuery.rb index 313b55c8f..42d363aff 100644 --- a/testdata/ruby/dbLayoutQuery.rb +++ b/testdata/ruby/dbLayoutQuery.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -64,7 +64,7 @@ class DBLayoutQuery_TestClass < TestBase def test_3 q = RBA::LayoutQuery::new("delete TOP") - assert_equal(q.property_names.sort.join(","), "bbox,cell,cell_bbox,cell_index,cell_name,hier_levels,initial_cell,initial_cell_index,initial_cell_name,inst,instances,path,path_names,path_trans,references,shape,tot_weight,weight") + assert_equal(q.property_names.sort.join(","), "bbox,cell,cell_bbox,cell_dbbox,cell_index,cell_name,dbbox,hier_levels,initial_cell,initial_cell_index,initial_cell_name,inst,instances,path,path_dtrans,path_names,path_trans,references,shape,tot_weight,weight") end diff --git a/testdata/ruby/dbLayoutTest.rb b/testdata/ruby/dbLayoutTest.rb index 4d08991c3..29a7f3dc2 100644 --- a/testdata/ruby/dbLayoutTest.rb +++ b/testdata/ruby/dbLayoutTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,10 +23,10 @@ end load("test_prologue.rb") -class DBLayout_TestClass < TestBase +class DBLayoutTest_TestClass < TestBase # LayerInfo - def _test_1_Layout + def test_1_Layout lp = RBA::LayerInfo::new @@ -62,7 +62,7 @@ class DBLayout_TestClass < TestBase end # Basics: cells and instances - def _test_2_Layout + def test_2_Layout ly = RBA::Layout::new @@ -182,7 +182,7 @@ class DBLayout_TestClass < TestBase end # Instances and bboxes - def _test_5_Layout + def test_5_Layout ly = RBA::Layout::new @@ -223,10 +223,13 @@ class DBLayout_TestClass < TestBase assert_equal( c1.bbox_per_layer( lindex ).to_s, "()" ) assert_equal( c1.bbox_per_layer( ldummy ).to_s, "()" ) + assert_equal( ly.unique_cell_name("c3"), "c3" ) + assert_equal( ly.unique_cell_name("c1"), "c1$1" ) + end # Instances and bboxes - def _test_6_Layout + def test_6_Layout ly = RBA::Layout::new @@ -398,7 +401,7 @@ class DBLayout_TestClass < TestBase end # Instances and editable mode - def _test_6_EditableLayout + def test_6_EditableLayout ly = RBA::Layout::new( true ) assert_equal( ly.is_editable?, true ) @@ -470,7 +473,7 @@ class DBLayout_TestClass < TestBase end # Instances and bboxes - def _test_6_Layout_props + def test_6_Layout_props ly = RBA::Layout::new pid = ly.properties_id( { 17 => "a", "b" => [ 1, 5, 7 ] }.to_a ) @@ -648,7 +651,7 @@ class DBLayout_TestClass < TestBase end # Properties - def _test_6_Layout_props2 + def test_6_Layout_props2 ly = RBA::Layout::new(true) pid = ly.properties_id( { 17 => "a", "b" => [ 1, 5, 7 ] }.to_a ) @@ -697,7 +700,7 @@ class DBLayout_TestClass < TestBase end # Instances and bboxes (editable mode) - def _test_6_Layout_new + def test_6_Layout_new if( RBA::Application::instance.is_editable? ) @@ -805,7 +808,7 @@ class DBLayout_TestClass < TestBase end # Copy/move between cells - def _test_7_cells_copy_move + def test_7_cells_copy_move # because of set_property ... if !RBA::Application::instance.is_editable? @@ -879,7 +882,7 @@ class DBLayout_TestClass < TestBase end # top cells - def _test_8 + def test_8 l = RBA::Layout.new tc = [] @@ -916,7 +919,7 @@ class DBLayout_TestClass < TestBase end # under construction and update - def _test_9 + def test_9 ly = RBA::Layout::new l1 = ly.insert_layer(RBA::LayerInfo::new(1, 0)) @@ -946,7 +949,7 @@ class DBLayout_TestClass < TestBase end # Instance editing - def _test_10 + def test_10 ly = RBA::Layout::new @@ -1025,7 +1028,7 @@ class DBLayout_TestClass < TestBase end # User properties - def _test_11 + def test_11 ly = RBA::Layout::new @@ -1049,7 +1052,7 @@ class DBLayout_TestClass < TestBase end # Meta information - def _test_12 + def test_12 mi = RBA::LayoutMetaInfo::new("myinfo", "a") diff --git a/testdata/ruby/dbLayoutToNetlist.rb b/testdata/ruby/dbLayoutToNetlist.rb index d2beb1c9e..e16bfcf04 100644 --- a/testdata/ruby/dbLayoutToNetlist.rb +++ b/testdata/ruby/dbLayoutToNetlist.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbLayoutVsSchematic.rb b/testdata/ruby/dbLayoutVsSchematic.rb index 8d0f3347d..8a4710f45 100644 --- a/testdata/ruby/dbLayoutVsSchematic.rb +++ b/testdata/ruby/dbLayoutVsSchematic.rb @@ -2,7 +2,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbLibrary.rb b/testdata/ruby/dbLibrary.rb index 6d62041bd..d24a7c579 100644 --- a/testdata/ruby/dbLibrary.rb +++ b/testdata/ruby/dbLibrary.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -30,13 +30,13 @@ class DBLibrary_TestClass < TestBase lib = RBA::Library::new assert_equal(lib.name, "") - assert_equal(lib.id, 0) + noid = lib.id; lib.register("RBA-unit-test") assert_equal(lib.name, "RBA-unit-test") lib_id = lib.id - assert_equal(lib_id != 0, true) + assert_equal(lib_id != noid, true) # the layout inside the library knows the library assert_equal(lib.layout.library.id == lib.id, true) diff --git a/testdata/ruby/dbMatrix.rb b/testdata/ruby/dbMatrix.rb index a0c52e34e..13ee1b425 100644 --- a/testdata/ruby/dbMatrix.rb +++ b/testdata/ruby/dbMatrix.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlist.rb b/testdata/ruby/dbNetlist.rb index dab25415d..58b245d50 100644 --- a/testdata/ruby/dbNetlist.rb +++ b/testdata/ruby/dbNetlist.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlistCrossReference.rb b/testdata/ruby/dbNetlistCrossReference.rb index 161ec9cc6..72c5cc4a1 100644 --- a/testdata/ruby/dbNetlistCrossReference.rb +++ b/testdata/ruby/dbNetlistCrossReference.rb @@ -2,7 +2,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlistDeviceClasses.rb b/testdata/ruby/dbNetlistDeviceClasses.rb index ed9c61c36..d7f65957c 100644 --- a/testdata/ruby/dbNetlistDeviceClasses.rb +++ b/testdata/ruby/dbNetlistDeviceClasses.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlistDeviceExtractors.rb b/testdata/ruby/dbNetlistDeviceExtractors.rb index 74c372263..447b7d2e6 100644 --- a/testdata/ruby/dbNetlistDeviceExtractors.rb +++ b/testdata/ruby/dbNetlistDeviceExtractors.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlistReaderTests.rb b/testdata/ruby/dbNetlistReaderTests.rb index f29ce30b1..c9d7c34d9 100644 --- a/testdata/ruby/dbNetlistReaderTests.rb +++ b/testdata/ruby/dbNetlistReaderTests.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbNetlistWriterTests.rb b/testdata/ruby/dbNetlistWriterTests.rb index 01ea68e66..15c843dd5 100644 --- a/testdata/ruby/dbNetlistWriterTests.rb +++ b/testdata/ruby/dbNetlistWriterTests.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbPCells.rb b/testdata/ruby/dbPCells.rb index 66989d93f..6ab969c8b 100644 --- a/testdata/ruby/dbPCells.rb +++ b/testdata/ruby/dbPCells.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbPathTest.rb b/testdata/ruby/dbPathTest.rb index a18c2bbb3..9a08c1c32 100644 --- a/testdata/ruby/dbPathTest.rb +++ b/testdata/ruby/dbPathTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbPointTest.rb b/testdata/ruby/dbPointTest.rb index 750d98f79..43ba1d42e 100644 --- a/testdata/ruby/dbPointTest.rb +++ b/testdata/ruby/dbPointTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbPolygonTest.rb b/testdata/ruby/dbPolygonTest.rb index 8f94efafb..3f30f0cf4 100644 --- a/testdata/ruby/dbPolygonTest.rb +++ b/testdata/ruby/dbPolygonTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -277,8 +277,19 @@ class DBPolygon_TestClass < TestBase a = RBA::Polygon::new( [ RBA::Point::new( 0, 1 ), RBA::Point::new( 1, 5 ), RBA::Point::new( 5, 5 ) ] ) assert_equal( a.to_s, "(0,1;1,5;5,5)" ) assert_equal( a.sized(2, 0, 2).to_s, "(-2,1;-1,5;7,5;2,1)" ) + assert_equal( a.sized(RBA::Vector::new(2, 0), 2).to_s, "(-2,1;-1,5;7,5;2,1)" ) + assert_equal( a.sized(RBA::Vector::new(2, 0)).to_s, "(-2,1;-1,5;7,5;2,1)" ) + aa = a.dup a.size(2, 0, 2); assert_equal( a.to_s, "(-2,1;-1,5;7,5;2,1)" ) + a = aa + aa = a.dup + a.size(RBA::Vector::new(2, 0), 2); + assert_equal( a.to_s, "(-2,1;-1,5;7,5;2,1)" ) + a = aa + aa = a.dup + a.size(RBA::Vector::new(2, 0)); + assert_equal( a.to_s, "(-2,1;-1,5;7,5;2,1)" ) a = RBA::Polygon::new assert_equal( a.to_s, "()" ) diff --git a/testdata/ruby/dbReaders.rb b/testdata/ruby/dbReaders.rb index 408a5b2d6..47dba1771 100644 --- a/testdata/ruby/dbReaders.rb +++ b/testdata/ruby/dbReaders.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbRecursiveInstanceIterator.rb b/testdata/ruby/dbRecursiveInstanceIterator.rb index d3cf5b206..4d9aefa2b 100644 --- a/testdata/ruby/dbRecursiveInstanceIterator.rb +++ b/testdata/ruby/dbRecursiveInstanceIterator.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,7 +27,16 @@ class DBLayout_TestClass < TestBase def collect(s, l) + # check native iteration here too .. + res2 = [] + s.each do |s| + r = "[#{s.inst_cell.name}]" + r += (s.trans * s.inst_trans).to_s + res2.push(r) + end + res = [] + s.reset while !s.at_end? r = "[#{s.inst_cell.name}]" r += (s.trans * s.inst_trans).to_s @@ -35,6 +44,8 @@ class DBLayout_TestClass < TestBase s.next end + assert_equal(res, res2) + return res.join("/") end diff --git a/testdata/ruby/dbRecursiveShapeIterator.rb b/testdata/ruby/dbRecursiveShapeIterator.rb index 58f33c023..82d4b47b6 100644 --- a/testdata/ruby/dbRecursiveShapeIterator.rb +++ b/testdata/ruby/dbRecursiveShapeIterator.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,7 +27,21 @@ class DBRecursiveShapeIterator_TestClass < TestBase def collect(s, l) + # check native iteration here too .. + res2 = [] + s.each do |s| + r = "[#{l.cell_name(s.cell_index)}]" + if s.shape.is_box? + box = s.shape.box + r += box.transformed(s.trans).to_s + else + r += "X"; + end + res2.push(r) + end + res = [] + s.reset while !s.at_end? r = "[#{l.cell_name(s.cell_index)}]" if s.shape.is_box? @@ -40,6 +54,8 @@ class DBRecursiveShapeIterator_TestClass < TestBase res.push(r) end + assert_equal(res, res2) + return res.join("/") end diff --git a/testdata/ruby/dbRegionTest.rb b/testdata/ruby/dbRegionTest.rb index ecf2a8853..be086fd1c 100644 --- a/testdata/ruby/dbRegionTest.rb +++ b/testdata/ruby/dbRegionTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -318,6 +318,16 @@ class DBRegion_TestClass < TestBase rr.size(10, 20, 2) assert_equal(rr.to_s, "(-20,-40;-20,180;0,180;0,220;110,220;110,0;90,0;90,-40)") + assert_equal((r1 | r2).sized(RBA::Vector::new(10, 20)).to_s, "(-20,-40;-20,180;0,180;0,220;110,220;110,0;90,0;90,-40)") + rr = (r1 | r2).dup + rr.size(10, 20, 2) + assert_equal(rr.to_s, "(-20,-40;-20,180;0,180;0,220;110,220;110,0;90,0;90,-40)") + + assert_equal((r1 | r2).sized(RBA::Vector::new(10, 20), 2).to_s, "(-20,-40;-20,180;0,180;0,220;110,220;110,0;90,0;90,-40)") + rr = (r1 | r2).dup + rr.size(10, 20, 2) + assert_equal(rr.to_s, "(-20,-40;-20,180;0,180;0,220;110,220;110,0;90,0;90,-40)") + r1.merged_semantics = false assert_equal((r1 | r2).sized(10, 2).to_s, "(-20,-30;-20,170;0,170;0,210;110,210;110,10;90,10;90,-30)") diff --git a/testdata/ruby/dbShapesTest.rb b/testdata/ruby/dbShapesTest.rb index 2652b2ace..5c29c85b4 100644 --- a/testdata/ruby/dbShapesTest.rb +++ b/testdata/ruby/dbShapesTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbSimplePolygonTest.rb b/testdata/ruby/dbSimplePolygonTest.rb index 850640561..7b1cc16f9 100644 --- a/testdata/ruby/dbSimplePolygonTest.rb +++ b/testdata/ruby/dbSimplePolygonTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbTextTest.rb b/testdata/ruby/dbTextTest.rb index 9965abf79..fff844660 100644 --- a/testdata/ruby/dbTextTest.rb +++ b/testdata/ruby/dbTextTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -69,12 +69,34 @@ class DBText_TestClass < TestBase a = RBA::DText::new( "hallo", a.trans, 22.0, 7 ) assert_equal( a.string, "hallo" ) assert_equal( a.trans.to_s, "m45 5,7" ) + assert_equal( a.position.to_s, "5,7" ) + assert_equal( a.bbox.to_s, "(5,7;5,7)" ) assert_equal( a.font, 7 ) assert_equal( a.size, 22.0 ) a.font = 8 assert_equal( a.font, 8 ) + a.halign = 1 + assert_equal( a.halign.to_i, 1 ) + assert_equal( a.halign, RBA::DText::HAlignCenter ) + assert_equal( a.halign.to_s, "HAlignCenter" ) + + a.halign = RBA::DText::HAlignRight + assert_equal( a.halign.to_i, 2 ) + assert_equal( a.halign, RBA::DText::HAlignRight ) + assert_equal( a.halign.to_s, "HAlignRight" ) + + a.valign = 1 + assert_equal( a.valign.to_i, 1 ) + assert_equal( a.valign, RBA::DText::VAlignCenter ) + assert_equal( a.valign.to_s, "VAlignCenter" ) + + a.valign = RBA::DText::VAlignBottom + assert_equal( a.valign.to_i, 2 ) + assert_equal( a.valign, RBA::DText::VAlignBottom ) + assert_equal( a.valign.to_s, "VAlignBottom" ) + a.size = 23.0 assert_equal( a.size, 23.0 ) @@ -141,12 +163,34 @@ class DBText_TestClass < TestBase a = RBA::Text::new( "hallo", a.trans, 22, 7 ) assert_equal( a.string, "hallo" ) assert_equal( a.trans.to_s, "m45 5,7" ) + assert_equal( a.position.to_s, "5,7" ) + assert_equal( a.bbox.to_s, "(5,7;5,7)" ) assert_equal( a.font, 7 ) assert_equal( a.size, 22.0 ) a.font = 8 assert_equal( a.font, 8 ) + a.halign = 1 + assert_equal( a.halign.to_i, 1 ) + assert_equal( a.halign, RBA::Text::HAlignCenter ) + assert_equal( a.halign.to_s, "HAlignCenter" ) + + a.halign = RBA::Text::HAlignLeft + assert_equal( a.halign.to_i, 0 ) + assert_equal( a.halign, RBA::Text::HAlignLeft ) + assert_equal( a.halign.to_s, "HAlignLeft" ) + + a.valign = 1 + assert_equal( a.valign.to_i, 1 ) + assert_equal( a.valign, RBA::Text::VAlignCenter ) + assert_equal( a.valign.to_s, "VAlignCenter" ) + + a.valign = RBA::Text::VAlignTop + assert_equal( a.valign.to_i, 0 ) + assert_equal( a.valign, RBA::Text::VAlignTop ) + assert_equal( a.valign.to_s, "VAlignTop" ) + a.size = 23 assert_equal( a.size, 23 ) diff --git a/testdata/ruby/dbTextsTest.rb b/testdata/ruby/dbTextsTest.rb index 50d7fb8e2..659f5e57e 100644 --- a/testdata/ruby/dbTextsTest.rb +++ b/testdata/ruby/dbTextsTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbTilingProcessorTest.rb b/testdata/ruby/dbTilingProcessorTest.rb index 3c2080207..169239128 100644 --- a/testdata/ruby/dbTilingProcessorTest.rb +++ b/testdata/ruby/dbTilingProcessorTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbTransTest.rb b/testdata/ruby/dbTransTest.rb index e98cc4d87..6b8a96472 100644 --- a/testdata/ruby/dbTransTest.rb +++ b/testdata/ruby/dbTransTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -80,6 +80,8 @@ class DBTrans_TestClass < TestBase assert_equal( RBA::Trans::new(RBA::Trans::R180, RBA::DVector::new(5,-7)).to_s, "r180 5,-7" ) assert_equal( RBA::Trans::new(RBA::Trans::R180).to_s, "r180 0,0" ) + assert_equal( e.ctrans( 2.0 ), 2.0 ) + assert_equal( e * 2.0, 2.0 ) assert_equal( e.trans( RBA::Edge::new(0, 1, 2, 3) ).to_s, "(-3,-2;-1,0)" ) assert_equal( ( e * RBA::Edge::new(0, 1, 2, 3) ).to_s, "(-3,-2;-1,0)" ) assert_equal( e.trans( RBA::Box::new(0, 1, 2, 3) ).to_s, "(-3,-2;-1,0)" ) @@ -140,7 +142,9 @@ class DBTrans_TestClass < TestBase assert_equal( mb.trans( RBA::DPoint::new( 1, 0 )).to_s, "17,3" ) assert_equal( mb.ctrans(2).to_s, "4.0" ) + assert_equal( (mb * 2).to_s, "4.0" ) assert_equal( i.ctrans(2).to_s, "1.0" ) + assert_equal( (i * 2).to_s, "1.0" ) end @@ -199,6 +203,7 @@ class DBTrans_TestClass < TestBase assert_equal( (c.angle - 45).abs < 1e-10, true ) assert_equal( c.ctrans( 5 ).to_s, "3.75" ) + assert_equal( (c * 5).to_s, "3.75" ) assert_equal( c.trans( RBA::DPoint::new( 12, 16 ) ).to_s, "17.3492424049,-14.6213203436" ) assert_equal( RBA::DCplxTrans::new.to_s, "r0 *1 0,0" ) @@ -306,7 +311,9 @@ class DBTrans_TestClass < TestBase assert_equal( mb.trans( RBA::Point::new( 1, 0 )).to_s, "17,3" ) assert_equal( mb.ctrans(2).to_s, "4.0" ) + assert_equal( (mb * 2).to_s, "4.0" ) assert_equal( i.ctrans(2).to_s, "1.0" ) + assert_equal( (i * 2).to_s, "1.0" ) end @@ -353,6 +360,7 @@ class DBTrans_TestClass < TestBase assert_equal( (c.angle - 45).abs < 1e-10, true ) assert_equal( c.ctrans( 5 ).to_s, "3.75" ) + assert_equal( (c * 5).to_s, "3.75" ) assert_equal( c.trans( RBA::Point::new( 12, 16 ) ).to_s, "17.3492424049,-14.6213203436" ) assert_equal( RBA::CplxTrans::new.to_s, "r0 *1 0,0" ) diff --git a/testdata/ruby/dbUtilsTests.rb b/testdata/ruby/dbUtilsTests.rb index 4ad4838cf..8e656dd0f 100644 --- a/testdata/ruby/dbUtilsTests.rb +++ b/testdata/ruby/dbUtilsTests.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/dbVectorTest.rb b/testdata/ruby/dbVectorTest.rb index cdbb1d187..39731abf0 100644 --- a/testdata/ruby/dbVectorTest.rb +++ b/testdata/ruby/dbVectorTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/edtTest.rb b/testdata/ruby/edtTest.rb index cc6248bd7..648c14720 100644 --- a/testdata/ruby/edtTest.rb +++ b/testdata/ruby/edtTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/extNetTracer.rb b/testdata/ruby/extNetTracer.rb index 3b5c77760..fd21fa5e0 100644 --- a/testdata/ruby/extNetTracer.rb +++ b/testdata/ruby/extNetTracer.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/imgObject.rb b/testdata/ruby/imgObject.rb index 74cad3dcb..16a5b93a2 100644 --- a/testdata/ruby/imgObject.rb +++ b/testdata/ruby/imgObject.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layLayers.rb b/testdata/ruby/layLayers.rb index 9a025c967..6028ce0e8 100644 --- a/testdata/ruby/layLayers.rb +++ b/testdata/ruby/layLayers.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layLayoutView.rb b/testdata/ruby/layLayoutView.rb index 4608365e1..0a2a69d21 100644 --- a/testdata/ruby/layLayoutView.rb +++ b/testdata/ruby/layLayoutView.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layMacro.rb b/testdata/ruby/layMacro.rb index e246e4030..6cea52565 100644 --- a/testdata/ruby/layMacro.rb +++ b/testdata/ruby/layMacro.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layMarkers.rb b/testdata/ruby/layMarkers.rb index 42b4ef9d4..16c8e5fa7 100644 --- a/testdata/ruby/layMarkers.rb +++ b/testdata/ruby/layMarkers.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layMenuTest.rb b/testdata/ruby/layMenuTest.rb index e3e47212c..891070c59 100644 --- a/testdata/ruby/layMenuTest.rb +++ b/testdata/ruby/layMenuTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/laySaveLayoutOptions.rb b/testdata/ruby/laySaveLayoutOptions.rb index 77d938b1d..e1cd173d6 100644 --- a/testdata/ruby/laySaveLayoutOptions.rb +++ b/testdata/ruby/laySaveLayoutOptions.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/laySession.rb b/testdata/ruby/laySession.rb index c3e46b516..f4765299d 100644 --- a/testdata/ruby/laySession.rb +++ b/testdata/ruby/laySession.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/layTechnologies.rb b/testdata/ruby/layTechnologies.rb index a690b4065..c19e8916d 100644 --- a/testdata/ruby/layTechnologies.rb +++ b/testdata/ruby/layTechnologies.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/qtbinding.rb b/testdata/ruby/qtbinding.rb index e55bbc532..1bf3d6d1b 100644 --- a/testdata/ruby/qtbinding.rb +++ b/testdata/ruby/qtbinding.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -755,6 +755,18 @@ class QtBinding_TestClass < TestBase end + def test_54 + + # issue #1029 (Crash for QBrush passed to setData) + + item = RBA::QTreeWidgetItem::new + item.setBackground(0, RBA::QBrush::new(RBA::QColor::new(0xFF, 0xFF, 0x00))) + assert_equal(item.background(0).color.red, 255) + assert_equal(item.background(0).color.green, 255) + assert_equal(item.background(0).color.blue, 0) + + end + end load("test_epilogue.rb") diff --git a/testdata/ruby/rdbTest.rb b/testdata/ruby/rdbTest.rb index 63cd4b103..9e3f06f32 100644 --- a/testdata/ruby/rdbTest.rb +++ b/testdata/ruby/rdbTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/ruby/tlTest.rb b/testdata/ruby/tlTest.rb index e1ffbab16..9a764e0fd 100644 --- a/testdata/ruby/tlTest.rb +++ b/testdata/ruby/tlTest.rb @@ -1,7 +1,7 @@ # encoding: UTF-8 # KLayout Layout Viewer -# Copyright (C) 2006-2021 Matthias Koefferlein +# Copyright (C) 2006-2022 Matthias Koefferlein # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/testdata/tl/inc 4.txt b/testdata/tl/inc 4.txt new file mode 100644 index 000000000..710f3fd3d --- /dev/null +++ b/testdata/tl/inc 4.txt @@ -0,0 +1 @@ +included.4 diff --git a/testdata/tl/x_inc4.txt b/testdata/tl/x_inc4.txt new file mode 100644 index 000000000..954d8ff6f --- /dev/null +++ b/testdata/tl/x_inc4.txt @@ -0,0 +1,3 @@ +A line +# %include 'inc 4.txt' +Another line diff --git a/version.sh b/version.sh index 42df8ef96..05b2ae51e 100644 --- a/version.sh +++ b/version.sh @@ -2,10 +2,10 @@ # This script is sourced to define the main version parameters # The main version -KLAYOUT_VERSION="0.27.6" +KLAYOUT_VERSION="0.28" # The version used for PyPI (don't use variables here!) -KLAYOUT_PYPI_VERSION="0.27.6" +KLAYOUT_PYPI_VERSION="0.28" # The build date KLAYOUT_VERSION_DATE=$(date "+%Y-%m-%d")
    "; + if (rows > 1) { + os << ""; + sigindex = 0; + } else { + os << ""; + sigindex = -1; + } os << "

    " << escape_xml (i->first) << "

    " << std::endl; prev_title = i->first; os << "