From 3ef28c8a9d77ff71bfd4339076c54587ce87dabb Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 4 Dec 2021 23:57:24 +0100 Subject: [PATCH 001/126] WIP: fixed some string extractors --- src/gsiqt/gsiqt.pro | 2 +- src/klayout.pri | 2 +- src/klayout_main/klayout_main/klayout_main.pro | 2 +- src/lay/lay/lay.pro | 2 +- src/laybasic/laybasic/laybasic.pro | 2 +- src/lib_ut.pri | 2 +- src/plugins/tools/view_25d/view_25d.pro | 2 +- src/pymod/QtCore/QtCore.pro | 2 +- src/pymod/QtGui/QtGui.pro | 2 +- src/pymod/QtXml/QtXml.pro | 2 +- src/pymod/pymod.pro | 2 +- src/pymod/tl/tl.pro | 2 +- src/unit_tests/unit_tests.pro | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/gsiqt/gsiqt.pro b/src/gsiqt/gsiqt.pro index a252b470f..8e0f734e4 100644 --- a/src/gsiqt/gsiqt.pro +++ b/src/gsiqt/gsiqt.pro @@ -2,7 +2,7 @@ TEMPLATE = subdirs SUBDIRS = qtbasic -equals(HAVE_QT5, "1") { +greaterThan(QT_MAJOR_VERSION, 4) { SUBDIRS += qt5 qt5.depends += qtbasic } else { diff --git a/src/klayout.pri b/src/klayout.pri index 550c0cba7..01e08ba06 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -178,7 +178,7 @@ equals(HAVE_QT, "0") { } } - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { QT += widgets gui printsupport xmlpatterns diff --git a/src/klayout_main/klayout_main/klayout_main.pro b/src/klayout_main/klayout_main/klayout_main.pro index 31ab7eb22..695f11e88 100644 --- a/src/klayout_main/klayout_main/klayout_main.pro +++ b/src/klayout_main/klayout_main/klayout_main.pro @@ -45,7 +45,7 @@ equals(HAVE_QTBINDINGS, "1") { LIBS += -lklayout_QtUiTools } - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets diff --git a/src/lay/lay/lay.pro b/src/lay/lay/lay.pro index 8a07f7da3..dea36e8e7 100644 --- a/src/lay/lay/lay.pro +++ b/src/lay/lay/lay.pro @@ -207,7 +207,7 @@ equals(HAVE_QTBINDINGS, "1") { !equals(HAVE_QT_XML, "0") { LIBS += -lklayout_QtXml } - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } } diff --git a/src/laybasic/laybasic/laybasic.pro b/src/laybasic/laybasic/laybasic.pro index 5cf65cefe..309e33a20 100644 --- a/src/laybasic/laybasic/laybasic.pro +++ b/src/laybasic/laybasic/laybasic.pro @@ -310,7 +310,7 @@ DEPENDPATH += $$QTBASIC_INC equals(HAVE_QTBINDINGS, "1") { LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtCore - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } } diff --git a/src/lib_ut.pri b/src/lib_ut.pri index 92abe0854..e80c7ba32 100644 --- a/src/lib_ut.pri +++ b/src/lib_ut.pri @@ -17,7 +17,7 @@ win32 { QMAKE_POST_LINK += $(COPY) $(DESTDIR)$(TARGET) $$DESTDIR_UT/$${TARGET}.ut } -equals(HAVE_QT5, "1") { +greaterThan(QT_MAJOR_VERSION, 4) { QT += testlib } else { CONFIG += qtestlib diff --git a/src/plugins/tools/view_25d/view_25d.pro b/src/plugins/tools/view_25d/view_25d.pro index 3eb5a6fad..138f0890d 100644 --- a/src/plugins/tools/view_25d/view_25d.pro +++ b/src/plugins/tools/view_25d/view_25d.pro @@ -3,7 +3,7 @@ TEMPLATE = subdirs contains(QT_CONFIG, opengl) { - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { SUBDIRS = lay_plugin unit_tests } diff --git a/src/pymod/QtCore/QtCore.pro b/src/pymod/QtCore/QtCore.pro index b45334bd4..9f7943d23 100644 --- a/src/pymod/QtCore/QtCore.pro +++ b/src/pymod/QtCore/QtCore.pro @@ -10,6 +10,6 @@ HEADERS += \ LIBS += -lklayout_QtCore -lklayout_QtGui -equals(HAVE_QT5, "1") { +greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } diff --git a/src/pymod/QtGui/QtGui.pro b/src/pymod/QtGui/QtGui.pro index a2f39a5bc..287a0a072 100644 --- a/src/pymod/QtGui/QtGui.pro +++ b/src/pymod/QtGui/QtGui.pro @@ -10,7 +10,7 @@ HEADERS += \ LIBS += -lklayout_QtGui -lklayout_QtCore -equals(HAVE_QT5, "1") { +greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } diff --git a/src/pymod/QtXml/QtXml.pro b/src/pymod/QtXml/QtXml.pro index a8641948a..0e178a75e 100644 --- a/src/pymod/QtXml/QtXml.pro +++ b/src/pymod/QtXml/QtXml.pro @@ -13,6 +13,6 @@ LIBS += -lklayout_QtCore -lklayout_QtXml # Because of stupid dependency of QtCore on QtGui and this on QtWidgets: LIBS += -lklayout_QtGui -equals(HAVE_QT5, "1") { +greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } diff --git a/src/pymod/pymod.pro b/src/pymod/pymod.pro index 1b1998702..7b140159f 100644 --- a/src/pymod/pymod.pro +++ b/src/pymod/pymod.pro @@ -18,7 +18,7 @@ SUBDIRS = \ QtCore \ QtGui - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { SUBDIRS += QtWidgets diff --git a/src/pymod/tl/tl.pro b/src/pymod/tl/tl.pro index 2ae8a8b1f..58219f4a0 100644 --- a/src/pymod/tl/tl.pro +++ b/src/pymod/tl/tl.pro @@ -12,7 +12,7 @@ HEADERS += \ # Use this opportunity to provide the __init__.py file equals(HAVE_QTBINDINGS, "1") { - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { INIT_PY = $$PWD/../__init__.py.qt5 } else { INIT_PY = $$PWD/../__init__.py.qt4 diff --git a/src/unit_tests/unit_tests.pro b/src/unit_tests/unit_tests.pro index 1676e614a..0e01149cb 100644 --- a/src/unit_tests/unit_tests.pro +++ b/src/unit_tests/unit_tests.pro @@ -37,7 +37,7 @@ LIBS += -lklayout_gsi_test !equals(HAVE_QT_XML, "0") { LIBS += -lklayout_QtXml } - equals(HAVE_QT5, "1") { + greaterThan(QT_MAJOR_VERSION, 4) { LIBS += -lklayout_QtWidgets } } From 519d7f6353a022bdd0598cbe8de0a843437afd99 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 7 Dec 2021 23:40:26 +0100 Subject: [PATCH 002/126] Fixed issue #942 (plus: cleaned some config inconsistencies and fixed a small Ui flaw) --- .../lefdef/db_plugin/dbLEFDEFPlugin.cc | 45 +++++++++++++------ .../lay_plugin/layLEFDEFImportDialogs.cc | 3 ++ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc index 35489ff1e..24f8383ea 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc @@ -331,59 +331,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 +407,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/lay_plugin/layLEFDEFImportDialogs.cc b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc index 744dab2f0..4badeb7e9 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc @@ -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 ())); @@ -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 From 07515cd716c65a1f97225407e19c788929bba484 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 15 Dec 2021 23:04:58 +0100 Subject: [PATCH 003/126] Fixed issue #946 for the case of file paths with blanks --- src/tl/tl/tlInclude.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tl/tl/tlInclude.cc b/src/tl/tl/tlInclude.cc index 53a5a6dc1..6f52a438a 100644 --- a/src/tl/tl/tlInclude.cc +++ b/src/tl/tl/tlInclude.cc @@ -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,7 @@ IncludeExpander::from_string (const std::string &s) ex.read_quoted (ie.m_sections [1].first); - } else if (ex.test ("@")) { + } else if (*ex == '@') { while (! ex.at_end ()) { From 533a72b7bd6b27e523e4ffdb293931cd17b616fc Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 15 Dec 2021 23:18:42 +0100 Subject: [PATCH 004/126] Added tests, fixed implementation --- src/tl/tl/tlInclude.cc | 2 ++ src/tl/unit_tests/tlIncludeTests.cc | 28 ++++++++++++++++++++++++++++ testdata/tl/inc 4.txt | 1 + testdata/tl/x_inc4.txt | 3 +++ 4 files changed, 34 insertions(+) create mode 100644 testdata/tl/inc 4.txt create mode 100644 testdata/tl/x_inc4.txt diff --git a/src/tl/tl/tlInclude.cc b/src/tl/tl/tlInclude.cc index 6f52a438a..e247ab9f3 100644 --- a/src/tl/tl/tlInclude.cc +++ b/src/tl/tl/tlInclude.cc @@ -172,6 +172,8 @@ IncludeExpander::from_string (const std::string &s) } else if (*ex == '@') { + ++ex; + while (! ex.at_end ()) { int ln = 0; diff --git a/src/tl/unit_tests/tlIncludeTests.cc b/src/tl/unit_tests/tlIncludeTests.cc index da681c43e..8ed1651fd 100644 --- a/src/tl/unit_tests/tlIncludeTests.cc +++ b/src/tl/unit_tests/tlIncludeTests.cc @@ -108,3 +108,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/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 From a6d4c80c6c8d2b9a3333a6248905de2bef0d30f3 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 16 Dec 2021 00:23:06 +0100 Subject: [PATCH 005/126] Less expression evaluation for more robustness --- src/ant/ant/antConfigPage.cc | 4 +- src/ant/ant/antPropertiesPage.cc | 8 +- src/edt/edt/edtDialogs.cc | 44 +++++------ src/edt/edt/edtEditorOptionsPages.cc | 4 +- src/edt/edt/edtInstPropertiesPage.cc | 20 ++--- src/edt/edt/edtPCellParametersPage.cc | 4 +- src/edt/edt/edtPropertiesPageUtils.cc | 4 +- src/edt/edt/edtPropertiesPages.cc | 20 ++--- src/img/img/imgPropertiesPage.cc | 26 +++--- src/lay/lay/layClipDialog.cc | 16 ++-- src/lay/lay/layFillDialog.cc | 8 +- src/lay/lay/laySearchReplaceConfigPage.cc | 4 +- src/lay/lay/layTechSetupDialog.cc | 2 +- .../laybasic/layBrowseInstancesForm.cc | 4 +- src/laybasic/laybasic/layBrowseShapesForm.cc | 6 +- src/laybasic/laybasic/layDialogs.cc | 40 +++++----- .../laybasic/layEditorOptionsPages.cc | 2 +- .../laybasic/layLayoutPropertiesForm.cc | 2 +- .../laybasic/layLayoutViewConfigPages.cc | 10 +-- .../laybasic/layLayoutViewFunctions.cc | 8 +- src/laybasic/laybasic/layNetExportDialog.cc | 2 +- src/laybasic/laybasic/layNetlistBrowser.cc | 8 +- .../laybasic/laySaveLayoutOptionsDialog.cc | 8 +- src/laybasic/laybasic/rdbMarkerBrowser.cc | 8 +- .../cif/lay_plugin/layCIFReaderPlugin.cc | 2 +- .../dxf/lay_plugin/layDXFReaderPlugin.cc | 12 +-- .../gds2/lay_plugin/layGDS2WriterPlugin.cc | 4 +- .../lay_plugin/layLEFDEFImportDialogs.cc | 2 +- .../magic/lay_plugin/layMAGReaderPlugin.cc | 4 +- .../magic/lay_plugin/layMAGWriterPlugin.cc | 2 +- .../pcb/lay_plugin/layGerberImportDialog.cc | 8 +- .../lay_plugin/layNetTracerConfig.cc | 8 +- .../lay_plugin/layNetTracerDialog.cc | 2 +- .../tools/view_25d/lay_plugin/layD25View.cc | 4 +- src/tl/tl/tlExpression.cc | 15 +++- src/tl/tl/tlExpression.h | 13 ++- src/tl/tl/tlString.cc | 79 ++++++++++++++++--- src/tl/tl/tlString.h | 8 ++ src/tl/unit_tests/tlStringTests.cc | 17 +++- src/tl/unit_tests/tlXMLParserTests.cc | 4 +- 40 files changed, 267 insertions(+), 179 deletions(-) diff --git a/src/ant/ant/antConfigPage.cc b/src/ant/ant/antConfigPage.cc index 4f1cef563..479eefd5f 100644 --- a/src/ant/ant/antConfigPage.cc +++ b/src/ant/ant/antConfigPage.cc @@ -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/antPropertiesPage.cc b/src/ant/ant/antPropertiesPage.cc index 98bb0fcd5..8932ea4d1 100644 --- a/src/ant/ant/antPropertiesPage.cc +++ b/src/ant/ant/antPropertiesPage.cc @@ -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/edt/edt/edtDialogs.cc b/src/edt/edt/edtDialogs.cc index 44e9d86ed..0fd252150 100644 --- a/src/edt/edt/edtDialogs.cc +++ b/src/edt/edt/edtDialogs.cc @@ -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/edtEditorOptionsPages.cc b/src/edt/edt/edtEditorOptionsPages.cc index 7681eb396..e2abdd7de 100644 --- a/src/edt/edt/edtEditorOptionsPages.cc +++ b/src/edt/edt/edtEditorOptionsPages.cc @@ -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); } } diff --git a/src/edt/edt/edtInstPropertiesPage.cc b/src/edt/edt/edtInstPropertiesPage.cc index 3ba054717..2492c49c0 100644 --- a/src/edt/edt/edtInstPropertiesPage.cc +++ b/src/edt/edt/edtInstPropertiesPage.cc @@ -456,7 +456,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 +464,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 +481,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 +490,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 +519,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 +527,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 +535,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 +543,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 +551,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 +562,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"))); } diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 17c2bdada..4c15ca492 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -493,7 +493,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 +517,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); diff --git a/src/edt/edt/edtPropertiesPageUtils.cc b/src/edt/edt/edtPropertiesPageUtils.cc index e7bac7de7..8568dc382 100644 --- a/src/edt/edt/edtPropertiesPageUtils.cc +++ b/src/edt/edt/edtPropertiesPageUtils.cc @@ -768,7 +768,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 +776,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/edtPropertiesPages.cc b/src/edt/edt/edtPropertiesPages.cc index b8a038291..bdb53086f 100644 --- a/src/edt/edt/edtPropertiesPages.cc +++ b/src/edt/edt/edtPropertiesPages.cc @@ -608,7 +608,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); @@ -616,7 +616,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); @@ -624,7 +624,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); @@ -632,7 +632,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); @@ -668,7 +668,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); @@ -676,7 +676,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); @@ -684,7 +684,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); @@ -692,7 +692,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); @@ -833,7 +833,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); @@ -841,7 +841,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); diff --git a/src/img/img/imgPropertiesPage.cc b/src/img/img/imgPropertiesPage.cc index 751ea4eff..4623478ed 100644 --- a/src/img/img/imgPropertiesPage.cc +++ b/src/img/img/imgPropertiesPage.cc @@ -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/lay/lay/layClipDialog.cc b/src/lay/lay/layClipDialog.cc index ef574c46f..c124914c2 100644 --- a/src/lay/lay/layClipDialog.cc +++ b/src/lay/lay/layClipDialog.cc @@ -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/layFillDialog.cc b/src/lay/lay/layFillDialog.cc index b9b6458e1..d829436db 100644 --- a/src/lay/lay/layFillDialog.cc +++ b/src/lay/lay/layFillDialog.cc @@ -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/laySearchReplaceConfigPage.cc b/src/lay/lay/laySearchReplaceConfigPage.cc index a48f8b6b4..618806f87 100644 --- a/src/lay/lay/laySearchReplaceConfigPage.cc +++ b/src/lay/lay/laySearchReplaceConfigPage.cc @@ -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/layTechSetupDialog.cc b/src/lay/lay/layTechSetupDialog.cc index 17c7ef644..20ebb8261 100644 --- a/src/lay/lay/layTechSetupDialog.cc +++ b/src/lay/lay/layTechSetupDialog.cc @@ -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/laybasic/laybasic/layBrowseInstancesForm.cc b/src/laybasic/laybasic/layBrowseInstancesForm.cc index a60da628a..b2628de09 100644 --- a/src/laybasic/laybasic/layBrowseInstancesForm.cc +++ b/src/laybasic/laybasic/layBrowseInstancesForm.cc @@ -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/layBrowseShapesForm.cc b/src/laybasic/laybasic/layBrowseShapesForm.cc index 05b413b5d..a53b3911a 100644 --- a/src/laybasic/laybasic/layBrowseShapesForm.cc +++ b/src/laybasic/laybasic/layBrowseShapesForm.cc @@ -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/layDialogs.cc b/src/laybasic/laybasic/layDialogs.cc index c00c4d262..dff4f4136 100644 --- a/src/laybasic/laybasic/layDialogs.cc +++ b/src/laybasic/laybasic/layDialogs.cc @@ -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/layEditorOptionsPages.cc b/src/laybasic/laybasic/layEditorOptionsPages.cc index eaac5cd8c..5ab7e9bd2 100644 --- a/src/laybasic/laybasic/layEditorOptionsPages.cc +++ b/src/laybasic/laybasic/layEditorOptionsPages.cc @@ -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/layLayoutPropertiesForm.cc b/src/laybasic/laybasic/layLayoutPropertiesForm.cc index b02913317..ab7d0e1e0 100644 --- a/src/laybasic/laybasic/layLayoutPropertiesForm.cc +++ b/src/laybasic/laybasic/layLayoutPropertiesForm.cc @@ -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/layLayoutViewConfigPages.cc b/src/laybasic/laybasic/layLayoutViewConfigPages.cc index 9f5bc1ec0..f400787fc 100644 --- a/src/laybasic/laybasic/layLayoutViewConfigPages.cc +++ b/src/laybasic/laybasic/layLayoutViewConfigPages.cc @@ -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/layLayoutViewFunctions.cc b/src/laybasic/laybasic/layLayoutViewFunctions.cc index 28ed82c32..a8b739a4b 100644 --- a/src/laybasic/laybasic/layLayoutViewFunctions.cc +++ b/src/laybasic/laybasic/layLayoutViewFunctions.cc @@ -1423,7 +1423,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 +1443,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 +1516,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 +1541,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/layNetExportDialog.cc b/src/laybasic/laybasic/layNetExportDialog.cc index 4e5471347..ae89eabe1 100644 --- a/src/laybasic/laybasic/layNetExportDialog.cc +++ b/src/laybasic/laybasic/layNetExportDialog.cc @@ -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/layNetlistBrowser.cc b/src/laybasic/laybasic/layNetlistBrowser.cc index e6b8a7407..b923ca95f 100644 --- a/src/laybasic/laybasic/layNetlistBrowser.cc +++ b/src/laybasic/laybasic/layNetlistBrowser.cc @@ -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/laySaveLayoutOptionsDialog.cc b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc index 174832042..4284f7a96 100644 --- a/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc +++ b/src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc @@ -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/rdbMarkerBrowser.cc b/src/laybasic/laybasic/rdbMarkerBrowser.cc index d787c2e59..6e8479835 100644 --- a/src/laybasic/laybasic/rdbMarkerBrowser.cc +++ b/src/laybasic/laybasic/rdbMarkerBrowser.cc @@ -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/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc index 9113b3bec..dec33b469 100644 --- a/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc +++ b/src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.cc @@ -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/dxf/lay_plugin/layDXFReaderPlugin.cc b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc index 9e5da3281..6607019e3 100644 --- a/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc +++ b/src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.cc @@ -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/gds2/lay_plugin/layGDS2WriterPlugin.cc b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc index 948b211a7..1603adbbe 100644 --- a/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc +++ b/src/plugins/streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc @@ -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/lefdef/lay_plugin/layLEFDEFImportDialogs.cc b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc index 744dab2f0..e043a1d59 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc +++ b/src/plugins/streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc @@ -391,7 +391,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)"))); } diff --git a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc index bb6f40cab..18b11bbf7 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc +++ b/src/plugins/streamers/magic/lay_plugin/layMAGReaderPlugin.cc @@ -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/layMAGWriterPlugin.cc b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc index 4cd261947..d1c0e77bf 100644 --- a/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc +++ b/src/plugins/streamers/magic/lay_plugin/layMAGWriterPlugin.cc @@ -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/pcb/lay_plugin/layGerberImportDialog.cc b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc index d0db6825c..17a9e086f 100644 --- a/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc +++ b/src/plugins/streamers/pcb/lay_plugin/layGerberImportDialog.cc @@ -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/tools/net_tracer/lay_plugin/layNetTracerConfig.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc index 7f38298ff..cee0e33ad 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerConfig.cc @@ -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/layNetTracerDialog.cc b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc index 7f4006ee4..9668a6a63 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc +++ b/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc @@ -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/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 603136699..a8aef4b3d 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -132,7 +132,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 @@ -146,7 +146,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 diff --git a/src/tl/tl/tlExpression.cc b/src/tl/tl/tlExpression.cc index a00dbefd1..b7fb623a8 100644 --- a/src/tl/tl/tlExpression.cc +++ b/src/tl/tl/tlExpression.cc @@ -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..e67877828 100644 --- a/src/tl/tl/tlExpression.h +++ b/src/tl/tl/tlExpression.h @@ -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/tlString.cc b/src/tl/tl/tlString.cc index 2842e1161..f13b5400f 100644 --- a/src/tl/tl/tlString.cc +++ b/src/tl/tl/tlString.cc @@ -775,8 +775,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)) { @@ -791,18 +791,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); } @@ -815,40 +820,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 576b3a93d..014928d5f 100644 --- a/src/tl/tl/tlString.h +++ b/src/tl/tl/tlString.h @@ -807,6 +807,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/unit_tests/tlStringTests.cc b/src/tl/unit_tests/tlStringTests.cc index d1724a558..d02f2adeb 100644 --- a/src/tl/unit_tests/tlStringTests.cc +++ b/src/tl/unit_tests/tlStringTests.cc @@ -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/tlXMLParserTests.cc b/src/tl/unit_tests/tlXMLParserTests.cc index a9837ab06..092bf5bc7 100644 --- a/src/tl/unit_tests/tlXMLParserTests.cc +++ b/src/tl/unit_tests/tlXMLParserTests.cc @@ -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 } From f3a5678c15403164cfc798c0d09b0fba5df6d6a2 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 16 Dec 2021 00:47:11 +0100 Subject: [PATCH 006/126] Updated version and copyright --- Changelog | 8 ++++++++ Changelog.Debian | 7 +++++++ version.sh | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 9c130dd01..882bfde59 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,12 @@ +0.27.6 (2021-12-19): +* Bugfix: %GITHUB%/issues/942 Technology file routing suffix string typo +* Bugfix: %GITHUB%/issues/946 Python: __file__ returns quoted path string +* 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 - New methods for the Macro class like "run" and loading from file diff --git a/Changelog.Debian b/Changelog.Debian index 5bfd0057a..715b33b21 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 Sun, 17 Dec 2021 17:04:40 +0100 + klayout (0.27.5-1) unstable; urgency=low * New features and bugfixes diff --git a/version.sh b/version.sh index 81eafc7fe..42df8ef96 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.5" +KLAYOUT_VERSION="0.27.6" # The version used for PyPI (don't use variables here!) -KLAYOUT_PYPI_VERSION="0.27.5" +KLAYOUT_PYPI_VERSION="0.27.6" # The build date KLAYOUT_VERSION_DATE=$(date "+%Y-%m-%d") From 397efd411940d569a2079cdaeffad82235e1759b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 16 Dec 2021 07:59:25 +0100 Subject: [PATCH 007/126] Updated version files --- Changelog | 2 +- Changelog.Debian | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 882bfde59..5232ec13b 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,5 @@ -0.27.6 (2021-12-19): +0.27.6 (2021-12-18): * Bugfix: %GITHUB%/issues/942 Technology file routing suffix string typo * Bugfix: %GITHUB%/issues/946 Python: __file__ returns quoted path string * Bugfix: less liberal evaluation of expressions in string to numeric conversion diff --git a/Changelog.Debian b/Changelog.Debian index 715b33b21..7516cde62 100644 --- a/Changelog.Debian +++ b/Changelog.Debian @@ -3,7 +3,7 @@ klayout (0.27.6-1) unstable; urgency=low * New features and bugfixes - See changelog - -- Matthias Köfferlein Sun, 17 Dec 2021 17:04:40 +0100 + -- Matthias Köfferlein Thu, 16 Dec 2021 07:55:34 +0100 klayout (0.27.5-1) unstable; urgency=low From e1df15a47ffafd206f68fee338e3fcb09fd922bf Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 16 Dec 2021 22:51:14 +0100 Subject: [PATCH 008/126] Fixed Windows tests --- src/tl/unit_tests/tlIncludeTests.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tl/unit_tests/tlIncludeTests.cc b/src/tl/unit_tests/tlIncludeTests.cc index 8ed1651fd..cad6fc58e 100644 --- a/src/tl/unit_tests/tlIncludeTests.cc +++ b/src/tl/unit_tests/tlIncludeTests.cc @@ -28,6 +28,7 @@ static std::string np (const std::string &s) { + return tl::replaced (s, "\\\\", "/"); return tl::replaced (s, "\\", "/"); } From 219fbceb28b2990c56442b2cca8f457042c1b762 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 17 Dec 2021 08:18:35 +0100 Subject: [PATCH 009/126] Fixed the fix. --- src/tl/unit_tests/tlIncludeTests.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tl/unit_tests/tlIncludeTests.cc b/src/tl/unit_tests/tlIncludeTests.cc index cad6fc58e..efa6e8f04 100644 --- a/src/tl/unit_tests/tlIncludeTests.cc +++ b/src/tl/unit_tests/tlIncludeTests.cc @@ -28,8 +28,8 @@ static std::string np (const std::string &s) { - return tl::replaced (s, "\\\\", "/"); - return tl::replaced (s, "\\", "/"); + std::string t = tl::replaced (s, "\\\\", "/"); + return tl::replaced (t, "\\", "/"); } TEST(1_simple) From f985d946a1778800a73a3060c2df2f7f6e640619 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 25 Dec 2021 17:40:10 +0100 Subject: [PATCH 010/126] WIP: implementing an optional 'update' button for lazy evaluation PCells --- src/edt/edt/edtPCellParametersPage.cc | 132 +++++++++++++++++++++----- src/edt/edt/edtPCellParametersPage.h | 10 ++ 2 files changed, 116 insertions(+), 26 deletions(-) diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 4c15ca492..2fc7a4a12 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -154,6 +154,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; @@ -162,24 +165,69 @@ PCellParametersPage::init () QGridLayout *frame_layout = new QGridLayout (this); // spacing and margin for tool windows frame_layout->setMargin (0); + frame_layout->setVerticalSpacing (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->setMargin (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_update_frame); + mp_error_frame->setLayout (error_frame_layout); + if (m_dense) { + error_frame_layout->setMargin (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::Foreground, 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 false; // @@@ } void @@ -199,8 +247,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 +444,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 +492,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) { @@ -594,10 +661,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 +672,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 +682,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 +693,14 @@ PCellParametersPage::get_parameters (bool *ok) return parameters; } -void +void PCellParametersPage::set_parameters (const std::vector ¶meters) +{ + set_parameters_internal (parameters, false); +} + +void +PCellParametersPage::set_parameters_internal (const std::vector ¶meters, bool tentatively) { if (! mp_pcell_decl) { return; @@ -646,6 +714,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..0bfbea67b 100644 --- a/src/edt/edt/edtPCellParametersPage.h +++ b/src/edt/edt/edtPCellParametersPage.h @@ -30,6 +30,7 @@ #include #include #include +#include namespace lay { @@ -117,11 +118,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 +135,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 (); }; } From 9cd77e5cec3868ce1d18b945c6833547dc60e569 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 25 Dec 2021 18:03:30 +0100 Subject: [PATCH 011/126] WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation' --- src/db/db/dbPCellDeclaration.h | 11 +++++++++ src/db/db/gsiDeclDbLibrary.cc | 26 ++++++++++++++++++++ src/edt/edt/edtPCellParametersPage.cc | 2 +- src/lay/lay/macro_templates/pcell.lym | 7 ++++++ src/lay/lay/macro_templates/pcell_python.lym | 6 +++++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/db/db/dbPCellDeclaration.h b/src/db/db/dbPCellDeclaration.h index acd4d12c9..c354b12a7 100644 --- a/src/db/db/dbPCellDeclaration.h +++ b/src/db/db/dbPCellDeclaration.h @@ -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/gsiDeclDbLibrary.cc b/src/db/db/gsiDeclDbLibrary.cc index 0d6570bef..fc2ea5ed6 100644 --- a/src/db/db/gsiDeclDbLibrary.cc +++ b/src/db/db/gsiDeclDbLibrary.cc @@ -276,6 +276,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 +408,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 +442,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; }; @@ -507,6 +523,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/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 2fc7a4a12..84b624ebe 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -227,7 +227,7 @@ PCellParametersPage::init () bool PCellParametersPage::lazy_evaluation () { - return false; // @@@ + return mp_pcell_decl.get () && mp_pcell_decl->wants_lazy_evaluation (); } void 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 .. From 2b9193331e74406286832253959213e8acd27398 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 25 Dec 2021 18:38:39 +0100 Subject: [PATCH 012/126] Small bugfix: no 'nil' layer generated when no layer is selected for a PCell --- src/edt/edt/edtPCellParametersPage.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 84b624ebe..000b59068 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -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 ()); From e1cd6aaeb1a9cfa32f2488d607d8e7277435b3ee Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 26 Dec 2021 01:12:36 +0100 Subject: [PATCH 013/126] Bugfix for #954 The bug was that while iterating a Region during the gate traversal, the "select_interacting" was triggering a sort() which changed the order. Solution is to pre-sort when iterators are issued also when the iterator is non-region selecting. This way, plain and region query iterators can be used together. In addition, the dirty flag scheme of Cell+Shapes was cleaned up a little for bboxes. --- src/db/db/dbCell.cc | 3 +- src/db/db/dbCell.h | 17 +-- src/db/db/dbFlatEdgePairs.cc | 1 - src/db/db/dbFlatEdges.cc | 1 - src/db/db/dbFlatRegion.cc | 1 - src/db/db/dbFlatTexts.cc | 1 - src/db/db/dbGenericShapeIterator.h | 27 ++-- src/db/db/dbLayer.h | 10 +- src/db/db/dbLayout.cc | 1 + src/db/db/dbShapes.cc | 12 +- src/db/db/dbShapes.h | 23 ++-- src/db/db/dbShapes2.h | 5 + src/db/unit_tests/dbNetlistExtractorTests.cc | 125 +++++++++++++++++++ src/db/unit_tests/dbShapeArrayTests.cc | 1 - src/db/unit_tests/dbShapesTests.cc | 16 --- testdata/algo/device_extract_issue954_au.gds | Bin 0 -> 95980 bytes 16 files changed, 180 insertions(+), 64 deletions(-) create mode 100644 testdata/algo/device_extract_issue954_au.gds diff --git a/src/db/db/dbCell.cc b/src/db/db/dbCell.cc index 906752112..1b5c4871b 100644 --- a/src/db/db/dbCell.cc +++ b/src/db/db/dbCell.cc @@ -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 db7089b2a..06b54995d 100644 --- a/src/db/db/dbCell.h +++ b/src/db/db/dbCell.h @@ -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/dbFlatEdgePairs.cc b/src/db/db/dbFlatEdgePairs.cc index 561aa4829..4cadc784a 100644 --- a/src/db/db/dbFlatEdgePairs.cc +++ b/src/db/db/dbFlatEdgePairs.cc @@ -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/dbFlatEdges.cc b/src/db/db/dbFlatEdges.cc index 1421f1353..531850b2c 100644 --- a/src/db/db/dbFlatEdges.cc +++ b/src/db/db/dbFlatEdges.cc @@ -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/dbFlatRegion.cc b/src/db/db/dbFlatRegion.cc index 516fd8a31..2c28be4ca 100644 --- a/src/db/db/dbFlatRegion.cc +++ b/src/db/db/dbFlatRegion.cc @@ -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/dbFlatTexts.cc b/src/db/db/dbFlatTexts.cc index 59d0ec2c9..ef3ee4a54 100644 --- a/src/db/db/dbFlatTexts.cc +++ b/src/db/db/dbFlatTexts.cc @@ -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/dbGenericShapeIterator.h b/src/db/db/dbGenericShapeIterator.h index 273485332..49ca3ce79 100644 --- a/src/db/db/dbGenericShapeIterator.h +++ b/src/db/db/dbGenericShapeIterator.h @@ -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/dbLayer.h b/src/db/db/dbLayer.h index 5c94064ee..b89c02e1b 100644 --- a/src/db/db/dbLayer.h +++ b/src/db/db/dbLayer.h @@ -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/dbLayout.cc b/src/db/db/dbLayout.cc index c3fa44e5a..b60cc3968 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -1748,6 +1748,7 @@ Layout::do_update () cp.sort_shapes (); } } + } // sort the instance trees now, since we have computed the bboxes diff --git a/src/db/db/dbShapes.cc b/src/db/db/dbShapes.cc index 9a1fdcfbc..855d89719 100644 --- a/src/db/db/dbShapes.cc +++ b/src/db/db/dbShapes.cc @@ -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..27894780c 100644 --- a/src/db/db/dbShapes.h +++ b/src/db/db/dbShapes.h @@ -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.h b/src/db/db/dbShapes2.h index 9f66bf33b..5802553d7 100644 --- a/src/db/db/dbShapes2.h +++ b/src/db/db/dbShapes2.h @@ -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/unit_tests/dbNetlistExtractorTests.cc b/src/db/unit_tests/dbNetlistExtractorTests.cc index 7dea4307b..3eef9f160 100644 --- a/src/db/unit_tests/dbNetlistExtractorTests.cc +++ b/src/db/unit_tests/dbNetlistExtractorTests.cc @@ -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/dbShapeArrayTests.cc b/src/db/unit_tests/dbShapeArrayTests.cc index 9acb0a017..648b00854 100644 --- a/src/db/unit_tests/dbShapeArrayTests.cc +++ b/src/db/unit_tests/dbShapeArrayTests.cc @@ -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/dbShapesTests.cc b/src/db/unit_tests/dbShapesTests.cc index fadd52ce4..59387528c 100644 --- a/src/db/unit_tests/dbShapesTests.cc +++ b/src/db/unit_tests/dbShapesTests.cc @@ -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/testdata/algo/device_extract_issue954_au.gds b/testdata/algo/device_extract_issue954_au.gds new file mode 100644 index 0000000000000000000000000000000000000000..5a7bdc610618f9d5d1e95e13967f491254726ee7 GIT binary patch literal 95980 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 Date: Sun, 26 Dec 2021 11:14:40 +0100 Subject: [PATCH 014/126] Added missing file --- testdata/algo/device_extract_issue954.gds | Bin 0 -> 7998 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 testdata/algo/device_extract_issue954.gds diff --git a/testdata/algo/device_extract_issue954.gds b/testdata/algo/device_extract_issue954.gds new file mode 100644 index 0000000000000000000000000000000000000000..87bd79626edbcaad6e3ad5c65d43cff3f68c6cb4 GIT binary patch literal 7998 zcmaLcf2hxQ6vy$;{a*Kn%uFU3lB6Y*w4|F%wn;K+narfy?d~Q?vU|-WElHBrk|b%F zBuPS&Ns?|RNs_LM>$!%;G;RR_o zys+@+ieHzOSCm%#R`p9+c~xmuMP*fKd0Aye)~7hj3j61>TvqsTPR{(|ll-2ZC;hW5 zcSKvfM>-gGFiZF)=B0G2z4Y7zf7ZN|{)(5Ld)hx8rXGcVI?fBPd*D}@ zm(p+a(sK{|W%E+{1}{DLv~L-!9))iy@xtpK_zmWz^xM4j+yh^4UP|BMrRSdZ&nBx! z;h)X)!s{ORt>&fld%X1A1OLRll)lSL&pqv1XQ)TvTjzV>br1Y*^HTc5UV83OE0|cfnR4{ zO8A9zU$29dQ ze8*fbyzYVDXVHTo_pHA8K548e>2hxuY2H^nwQeA@zQe-e6@Kg z{Z%hL_q6XEp&o_r9PfqKJ@Bi|OX)Xx>A45~ig_u0qnDn0+P@vA9)*89#S5={;5V9= z(r@?Da}Rujc`1FXm!5mtca^9|;k#ye;dKxEHuF;YyUsDo_pHA@2eh# ze?QaA45~qIoHO zotK__%F8Wy47|2jzO`%;ytem!bpNf{rRSqKzviG9=j)z2U-l03Quu2HUV83ne{HUM zl)lspuY2GRn3vL@^wM)r``UcA9!<^?~Y9 z`0Jy*@VWrSvA9!S47^)tH zZy4)^*FEr+=B4x-y!6}yf62U*zTQjEJ?-y&t{#QIGuaETd*Iibm(p+b(sK`dop~w! z6E8jYv~QfG9))k5;f2>d@PC?@((m@ta}WF@^HTawFFp6Pzx$1P6#ni!FTC!7|I56T z{*afRd*EN2m%=v{dFi>Qebe{qQTj43yzYTNXkJQx%1h5Z?e7(+N8#@c_QLBP_)_yy z`W0S!?twpPUP^z#OV2&+n+K^!;hRT$;dKxEa`RI9bzXYzfj@6vN?+@x=brZWN2y2Q z?@#o?>mK;E=B4yoy!6}yUt?ZM-|VI5p7swWs7K)+O!LC)9{A1XrSv Date: Sun, 26 Dec 2021 12:20:54 +0100 Subject: [PATCH 015/126] Fixed #951 The problem was essentially the "specific path" which got invalid. The solution is to establish a better criterion for "path validity" and use for failsafes against invalid paths. In addition, the path validation has been modified such that a better choice is made about the remaining path after a cell gets deleted. --- src/edt/edt/edtPartialService.cc | 184 +++++++++--------- src/laybasic/laybasic/layCellView.cc | 8 +- .../laybasic/layHierarchyControlPanel.cc | 2 + src/laybasic/laybasic/layLayoutView.cc | 2 + .../laybasic/layLayoutViewFunctions.cc | 86 ++++---- 5 files changed, 140 insertions(+), 142 deletions(-) diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index c079103cb..75fdfa989 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -2412,127 +2412,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/laybasic/laybasic/layCellView.cc b/src/laybasic/laybasic/layCellView.cc index dafded284..af6c5e947 100644 --- a/src/laybasic/laybasic/layCellView.cc +++ b/src/laybasic/laybasic/layCellView.cc @@ -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/layHierarchyControlPanel.cc b/src/laybasic/laybasic/layHierarchyControlPanel.cc index 5fe8ea03c..ea6befe14 100644 --- a/src/laybasic/laybasic/layHierarchyControlPanel.cc +++ b/src/laybasic/laybasic/layHierarchyControlPanel.cc @@ -836,6 +836,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; } diff --git a/src/laybasic/laybasic/layLayoutView.cc b/src/laybasic/laybasic/layLayoutView.cc index aa4c9a3f2..3a2686bfa 100644 --- a/src/laybasic/laybasic/layLayoutView.cc +++ b/src/laybasic/laybasic/layLayoutView.cc @@ -4896,6 +4896,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 (); @@ -4985,6 +4986,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/layLayoutViewFunctions.cc b/src/laybasic/laybasic/layLayoutViewFunctions.cc index a8b739a4b..060cd7b1e 100644 --- a/src/laybasic/laybasic/layLayoutViewFunctions.cc +++ b/src/laybasic/laybasic/layLayoutViewFunctions.cc @@ -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); } From 4956091e75f5d419d1d2d80e4dbc8b625bdc21af Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 26 Dec 2021 12:33:44 +0100 Subject: [PATCH 016/126] Fixed a small glitch too: cut & paste of cells was possible in viewer mode --- src/laybasic/laybasic/layHierarchyControlPanel.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/laybasic/laybasic/layHierarchyControlPanel.cc b/src/laybasic/laybasic/layHierarchyControlPanel.cc index ea6befe14..869561d5f 100644 --- a/src/laybasic/laybasic/layHierarchyControlPanel.cc +++ b/src/laybasic/laybasic/layHierarchyControlPanel.cc @@ -1017,6 +1017,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 @@ -1154,6 +1157,9 @@ HierarchyControlPanel::paste () } db::Layout &layout = m_cellviews [m_active_index]->layout (); + if (! layout.is_editable ()) { + return; + } std::vector new_layers; From 92f6f2fb67595ca1c4e61e3df7f8865a75d2648e Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 26 Dec 2021 21:20:58 +0100 Subject: [PATCH 017/126] New tests --- testdata/drc/drcGenericTests_1.gds | Bin 1020 -> 1118 bytes testdata/drc/drcGenericTests_au1.gds | Bin 10542 -> 11986 bytes testdata/drc/drcGenericTests_au1d.gds | Bin 6020 -> 6742 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/testdata/drc/drcGenericTests_1.gds b/testdata/drc/drcGenericTests_1.gds index 18c6261a138332ab52f1f70c58ab1464a815dc84..263f094b5de28f6ef8b45bc93b363fa7a7741b52 100644 GIT binary patch delta 236 zcmeyvevd=GLfsWVRg%fzk0 zz#y!`z`(r&Lh~+F42lzf=XcCv`oABZT)5;jhem~nYziS`VpRxLbfZ^azvp}4Ge4e} z``T?86RYj^=kadz>gyx@_kETSNq!0Kcrm#m#KH0S|d(Yg4#G)TnjO> z7#-?ci770m$Wo|Rs85kK$UMnBN!B1)NwO5OSZfTCm7;ctEUtw?vKSreTPdvDP?DmP+kmvbYv9WHCC_w^Xvi76O_X?|rzYX2pA-jupHu zYlvy8;*CLf9OSop-u;H3BM#<_&c5C;X=<~G>N*~4YSYjq3iVNY1!VcCaQk{tIUJkf1>E308mw~;e7cA;Y~TT#6E z?ar}_?Y)aEHM2J6M>Sm5H9XH%c{dxY**KhH0$bU0Skx<6E9mZb>4`k*^q4$G!^?d2 z-(wWRyRzp3qK4OMBLA=F;9mBBjb_{K^}K(jt0CLiCQkks>P_xFdU9velXmX4F7Dvr|0 zH9Eh2vy!>xslk{@=dd>BkHkafslp2muS_wtEh{QUHV0CivU%MEBU=0qs zh$zoiI&^lZO5|`*aC9hI+{F$$3LS57=yO*U2ZxvEeZTK{fA9N!U#{$4G$lnE8M!1) z$Rp7ok}M^pf@DaO|K`ul>B4_6USD35hrT?Jhi^}8%IKZEJ8UTDWO(royl4kKh8J7G zulNFbu@2n$BP=Et;m6LvW$h)F(N1*GPj=u_efry})3}*94?lSp@3ITr`t-LM{UFbhRUj)z-zl;f-WXXqvc|~DkyRjTj4ak( zo~%533+$!(^tT!PATN+rBCAN>I9Uu&C96o5N>-7q5?Lx)tUZk^jlCuIQhoZ{jDC=p z$VysJCJY=37lWpPCuJ4s2?4tz@RIt88q{-kpc-yX>7ib$=yEPbkrSEi2p6^*+b>z{qr zr?tO#dlfh2tWO7gf%1&T{x&vdTpTzNd~B%r%AMZKy4dEezXzWtTL+1QpAl?!^ok8(W`9WWr!#5$_|@{f;aW7eLQ%Y z`3IEAN*Psmkm1pz|AB%R*`e$(aQLP%{wNdj@&0(e_j%tu@Aqi=bGJz<$?_&GNV4{Y zOsbPl9^Lrcf7ZP0pAX!=bw2Rs!&M1CJflTaxk6+dWY$iIYDARVJZ~Iet8x)jX$KE0 zX_31^q#tG0eNI%Lvj5BGdHo1?lueA}H9U~}7!+bmlx2J?+{B3-BUECH3q6dAF{Wya zZgCAKN*|{jPm~DTD%Y_;W-L^D=$2w^>oG&(aTL}xyO>)0PN78=Y~xDLfy#CLNQi3ng=0p2+QUYfzsn}yew?%74_sigh2y zwvG3d0LNy4SJpb7S_%%G8v8R6HZzi3PdhPg8+L1MlN5P2OIF&ujQDR|*Jmo%b<;(uT6{;szrp$^q$ z0ga_dG&V$IQ*%p8QA3D>L-bP#8f<#L&*%H&^Zej>wp(j?7GR>d&(eY@zcPV^n89)^ z`!}EF=Z)FL!S3wh`hHQsvgqO1SA*j#q3L(Qr43xsedKpw`zz=Z8;WH#0xkwp6?akz zL&{t#!wyt&B0J~>D&Vq3E`9kCik&iMD zkuOZX2>HU~i;$1lz_*H)nnzvba8w(jT7+U)SkVr}uRY|nCA?`iZnPI%*;-GnSVA{hw~#s0-*M$E&B{nVHGCZ5DBBI%g>z#bh3zCdbR1 OHCb`T Date: Sun, 26 Dec 2021 21:23:58 +0100 Subject: [PATCH 018/126] Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases. --- .../drc/built-in-macros/_drc_complex_ops.rb | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) 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..8b9628842 100644 --- a/src/drc/drc/built-in-macros/_drc_complex_ops.rb +++ b/src/drc/drc/built-in-macros/_drc_complex_ops.rb @@ -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 From 6c34ce14c094ee19631b027c4503255a0f8fcbe9 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 26 Dec 2021 23:34:06 +0100 Subject: [PATCH 019/126] Fixed #960 (cap value not shown in netlist browser) --- src/laybasic/laybasic/layNetlistBrowserModel.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.cc b/src/laybasic/laybasic/layNetlistBrowserModel.cc index c9f1d7630..c0ec15250 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserModel.cc @@ -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; From 6e15ebb3a1ed870e83dc11daab33ea6510e8ac2b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 26 Dec 2021 23:39:02 +0100 Subject: [PATCH 020/126] Enabled 'lvs_data' as a new global function for LVS (for consistency) --- src/lay/lay/doc/about/lvs_ref_global.xml | 9 +++++++++ src/lvs/lvs/built-in-macros/_lvs_engine.rb | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/lay/lay/doc/about/lvs_ref_global.xml b/src/lay/lay/doc/about/lvs_ref_global.xml index 00e53ebbf..5097c76b0 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:

diff --git a/src/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb index 704c8d4d3..1854b5fcc 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_engine.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_engine.rb @@ -201,9 +201,15 @@ module LVS # @synopsis disable_parameter(device_class_name, parameter_name) # See \Netter#disable_parameter for a description of that function. + # %LVS% + # @name lvs_data + # @brief Gets the \LayoutVsSchematic object after compare was used + # @synopsis lvs_data + # See \Netter#lvs_data for a description of that function. + %w(schematic compare 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) From 980cd73c5a3c7739b3b11f5ee2438c7c5fe7c79b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 28 Dec 2021 22:39:04 +0100 Subject: [PATCH 021/126] Implemented request: show snapped cursor position in lower left position display. --- src/edt/edt/edtPartialService.cc | 3 +- src/laybasic/laybasic/gsiDeclLayPlugin.cc | 36 ++++++++++++++++++- src/laybasic/laybasic/layEditorServiceBase.cc | 6 +++- src/laybasic/laybasic/layEditorServiceBase.h | 19 ++++++++++ src/laybasic/laybasic/layMouseTracker.cc | 14 +++++++- src/laybasic/laybasic/layViewObject.h | 10 ++++++ 6 files changed, 84 insertions(+), 4 deletions(-) diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index 75fdfa989..e577f2213 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -1545,11 +1545,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; diff --git a/src/laybasic/laybasic/gsiDeclLayPlugin.cc b/src/laybasic/laybasic/gsiDeclLayPlugin.cc index 5a7345f5b..5751fbb2b 100644 --- a/src/laybasic/laybasic/gsiDeclLayPlugin.cc +++ b/src/laybasic/laybasic/gsiDeclLayPlugin.cc @@ -268,6 +268,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; @@ -284,6 +302,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 @@ -793,7 +813,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." @@ -810,6 +830,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/layEditorServiceBase.cc b/src/laybasic/laybasic/layEditorServiceBase.cc index f89883c20..a099bae44 100644 --- a/src/laybasic/laybasic/layEditorServiceBase.cc +++ b/src/laybasic/laybasic/layEditorServiceBase.cc @@ -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..22ee9e7ef 100644 --- a/src/laybasic/laybasic/layEditorServiceBase.h +++ b/src/laybasic/laybasic/layEditorServiceBase.h @@ -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,9 @@ private: std::vector m_mouse_cursor_markers; QColor m_cursor_color; bool m_cursor_enabled; + lay::LayoutView *mp_view; + bool m_has_tracking_position; + db::DPoint m_tracking_position; }; } diff --git a/src/laybasic/laybasic/layMouseTracker.cc b/src/laybasic/laybasic/layMouseTracker.cc index 85e652ad9..43e42568a 100644 --- a/src/laybasic/laybasic/layMouseTracker.cc +++ b/src/laybasic/laybasic/layMouseTracker.cc @@ -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/layViewObject.h b/src/laybasic/laybasic/layViewObject.h index 6be3330a6..bbe45a8eb 100644 --- a/src/laybasic/laybasic/layViewObject.h +++ b/src/laybasic/laybasic/layViewObject.h @@ -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 * From 1f2d21b74350bed61d7227967b1f77b5f0e28d19 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 30 Dec 2021 09:15:52 +0100 Subject: [PATCH 022/126] Updated version --- Changelog | 16 +++++++++++++++- Changelog.Debian | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 5232ec13b..65db71f96 100644 --- a/Changelog +++ b/Changelog @@ -1,7 +1,21 @@ -0.27.6 (2021-12-18): +0.27.6 (2021-12-30): +* 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 diff --git a/Changelog.Debian b/Changelog.Debian index 7516cde62..d972152b1 100644 --- a/Changelog.Debian +++ b/Changelog.Debian @@ -3,7 +3,7 @@ klayout (0.27.6-1) unstable; urgency=low * New features and bugfixes - See changelog - -- Matthias Köfferlein Thu, 16 Dec 2021 07:55:34 +0100 + -- Matthias Köfferlein Thu, 30 Dec 2021 09:15:38 +0100 klayout (0.27.5-1) unstable; urgency=low From 10456516dbf2695b4989617b9c6b01f317d5c427 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 4 Jan 2022 21:20:04 +0100 Subject: [PATCH 023/126] Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) --- COPYRIGHT | 2 +- Changelog | 2 +- Changelog.Debian | 2 +- build.sh | 2 +- scripts/mkqtdecl.sh | 2 +- scripts/mkqtdecl_common/c++.treetop | 2 +- scripts/mkqtdecl_common/cpp_classes.rb | 2 +- scripts/mkqtdecl_common/cpp_parser_classes.rb | 2 +- scripts/mkqtdecl_common/dump.rb | 2 +- .../mkqtdecl_common/mkqtdecl_extract_ambigous_methods.rb | 2 +- scripts/mkqtdecl_common/mkqtdecl_extract_nc_pointers.rb | 2 +- .../mkqtdecl_extract_potential_factories.rb | 2 +- scripts/mkqtdecl_common/mkqtdecl_extract_props.rb | 2 +- scripts/mkqtdecl_common/mkqtdecl_extract_signals.rb | 2 +- scripts/mkqtdecl_common/parse.rb | 2 +- scripts/mkqtdecl_common/produce.rb | 8 ++++---- scripts/mkqtdecl_common/reader_ext.rb | 2 +- setup.py | 2 +- src/ant/ant/antCommon.h | 2 +- src/ant/ant/antConfig.cc | 2 +- src/ant/ant/antConfig.h | 2 +- src/ant/ant/antConfigPage.cc | 2 +- src/ant/ant/antConfigPage.h | 2 +- src/ant/ant/antForceLink.cc | 2 +- src/ant/ant/antForceLink.h | 2 +- src/ant/ant/antObject.cc | 2 +- src/ant/ant/antObject.h | 2 +- src/ant/ant/antPlugin.cc | 2 +- src/ant/ant/antPlugin.h | 2 +- src/ant/ant/antPropertiesPage.cc | 2 +- src/ant/ant/antPropertiesPage.h | 2 +- src/ant/ant/antService.cc | 2 +- src/ant/ant/antService.h | 2 +- src/ant/ant/antTemplate.cc | 2 +- src/ant/ant/antTemplate.h | 2 +- src/ant/ant/gsiDeclAnt.cc | 2 +- src/ant/unit_tests/antBasicTests.cc | 2 +- src/buddies/src/bd/bdCommon.h | 2 +- src/buddies/src/bd/bdConverterMain.cc | 2 +- src/buddies/src/bd/bdConverterMain.h | 2 +- src/buddies/src/bd/bdInit.cc | 2 +- src/buddies/src/bd/bdInit.h | 2 +- src/buddies/src/bd/bdReaderOptions.cc | 2 +- src/buddies/src/bd/bdReaderOptions.h | 2 +- src/buddies/src/bd/bdWriterOptions.cc | 2 +- src/buddies/src/bd/bdWriterOptions.h | 2 +- src/buddies/src/bd/main.cc | 2 +- src/buddies/src/bd/strm2cif.cc | 2 +- src/buddies/src/bd/strm2dxf.cc | 2 +- src/buddies/src/bd/strm2gds.cc | 2 +- src/buddies/src/bd/strm2gdstxt.cc | 2 +- src/buddies/src/bd/strm2mag.cc | 2 +- src/buddies/src/bd/strm2oas.cc | 2 +- src/buddies/src/bd/strm2txt.cc | 2 +- src/buddies/src/bd/strmclip.cc | 2 +- src/buddies/src/bd/strmcmp.cc | 2 +- src/buddies/src/bd/strmrun.cc | 2 +- src/buddies/src/bd/strmxor.cc | 2 +- src/buddies/unit_tests/bdBasicTests.cc | 2 +- src/buddies/unit_tests/bdConverterTests.cc | 2 +- src/buddies/unit_tests/bdStrm2txtTests.cc | 2 +- src/buddies/unit_tests/bdStrmclipTests.cc | 2 +- src/buddies/unit_tests/bdStrmcmpTests.cc | 2 +- src/buddies/unit_tests/bdStrmrunTests.cc | 2 +- src/buddies/unit_tests/bdStrmxorTests.cc | 2 +- src/buddies/unit_tests/buddies_main.cc | 2 +- src/db/db/dbArray.cc | 2 +- src/db/db/dbArray.h | 2 +- src/db/db/dbAsIfFlatEdgePairs.cc | 2 +- src/db/db/dbAsIfFlatEdgePairs.h | 2 +- src/db/db/dbAsIfFlatEdges.cc | 2 +- src/db/db/dbAsIfFlatEdges.h | 2 +- src/db/db/dbAsIfFlatRegion.cc | 2 +- src/db/db/dbAsIfFlatRegion.h | 2 +- src/db/db/dbAsIfFlatTexts.cc | 2 +- src/db/db/dbAsIfFlatTexts.h | 2 +- src/db/db/dbBox.cc | 2 +- src/db/db/dbBox.h | 2 +- src/db/db/dbBoxConvert.cc | 2 +- src/db/db/dbBoxConvert.h | 2 +- src/db/db/dbBoxScanner.cc | 2 +- src/db/db/dbBoxScanner.h | 2 +- src/db/db/dbBoxTree.h | 2 +- src/db/db/dbCell.cc | 2 +- src/db/db/dbCell.h | 2 +- src/db/db/dbCellGraphUtils.cc | 2 +- src/db/db/dbCellGraphUtils.h | 2 +- src/db/db/dbCellHullGenerator.cc | 2 +- src/db/db/dbCellHullGenerator.h | 2 +- src/db/db/dbCellInst.cc | 2 +- src/db/db/dbCellInst.h | 2 +- src/db/db/dbCellMapping.cc | 2 +- src/db/db/dbCellMapping.h | 2 +- src/db/db/dbCellVariants.cc | 2 +- src/db/db/dbCellVariants.h | 2 +- src/db/db/dbCircuit.cc | 2 +- src/db/db/dbCircuit.h | 2 +- src/db/db/dbClip.cc | 2 +- src/db/db/dbClip.h | 2 +- src/db/db/dbClipboard.cc | 2 +- src/db/db/dbClipboard.h | 2 +- src/db/db/dbClipboardData.cc | 2 +- src/db/db/dbClipboardData.h | 2 +- src/db/db/dbColdProxy.cc | 2 +- src/db/db/dbColdProxy.h | 2 +- src/db/db/dbCommon.h | 2 +- src/db/db/dbCommonReader.cc | 2 +- src/db/db/dbCommonReader.h | 2 +- src/db/db/dbCompoundOperation.cc | 2 +- src/db/db/dbCompoundOperation.h | 2 +- src/db/db/dbConverters.cc | 2 +- src/db/db/dbConverters.h | 2 +- src/db/db/dbD25TechnologyComponent.cc | 2 +- src/db/db/dbD25TechnologyComponent.h | 2 +- src/db/db/dbDeepEdgePairs.cc | 2 +- src/db/db/dbDeepEdgePairs.h | 2 +- src/db/db/dbDeepEdges.cc | 2 +- src/db/db/dbDeepEdges.h | 2 +- src/db/db/dbDeepRegion.cc | 2 +- src/db/db/dbDeepRegion.h | 2 +- src/db/db/dbDeepShapeStore.cc | 2 +- src/db/db/dbDeepShapeStore.h | 2 +- src/db/db/dbDeepTexts.cc | 2 +- src/db/db/dbDeepTexts.h | 2 +- src/db/db/dbDevice.cc | 2 +- src/db/db/dbDevice.h | 2 +- src/db/db/dbDeviceAbstract.cc | 2 +- src/db/db/dbDeviceAbstract.h | 2 +- src/db/db/dbDeviceClass.cc | 2 +- src/db/db/dbDeviceClass.h | 2 +- src/db/db/dbEdge.cc | 2 +- src/db/db/dbEdge.h | 2 +- src/db/db/dbEdgeBoolean.cc | 2 +- src/db/db/dbEdgeBoolean.h | 2 +- src/db/db/dbEdgePair.cc | 2 +- src/db/db/dbEdgePair.h | 2 +- src/db/db/dbEdgePairFilters.cc | 2 +- src/db/db/dbEdgePairFilters.h | 2 +- src/db/db/dbEdgePairRelations.cc | 2 +- src/db/db/dbEdgePairRelations.h | 2 +- src/db/db/dbEdgePairs.cc | 2 +- src/db/db/dbEdgePairs.h | 2 +- src/db/db/dbEdgePairsDelegate.cc | 2 +- src/db/db/dbEdgePairsDelegate.h | 2 +- src/db/db/dbEdgeProcessor.cc | 2 +- src/db/db/dbEdgeProcessor.h | 2 +- src/db/db/dbEdges.cc | 2 +- src/db/db/dbEdges.h | 2 +- src/db/db/dbEdgesDelegate.cc | 2 +- src/db/db/dbEdgesDelegate.h | 2 +- src/db/db/dbEdgesToContours.cc | 2 +- src/db/db/dbEdgesToContours.h | 2 +- src/db/db/dbEdgesUtils.cc | 2 +- src/db/db/dbEdgesUtils.h | 2 +- src/db/db/dbEmptyEdgePairs.cc | 2 +- src/db/db/dbEmptyEdgePairs.h | 2 +- src/db/db/dbEmptyEdges.cc | 2 +- src/db/db/dbEmptyEdges.h | 2 +- src/db/db/dbEmptyRegion.cc | 2 +- src/db/db/dbEmptyRegion.h | 2 +- src/db/db/dbEmptyTexts.cc | 2 +- src/db/db/dbEmptyTexts.h | 2 +- src/db/db/dbFillTool.cc | 2 +- src/db/db/dbFillTool.h | 2 +- src/db/db/dbFlatEdgePairs.cc | 2 +- src/db/db/dbFlatEdgePairs.h | 2 +- src/db/db/dbFlatEdges.cc | 2 +- src/db/db/dbFlatEdges.h | 2 +- src/db/db/dbFlatRegion.cc | 2 +- src/db/db/dbFlatRegion.h | 2 +- src/db/db/dbFlatTexts.cc | 2 +- src/db/db/dbFlatTexts.h | 2 +- src/db/db/dbForceLink.cc | 2 +- src/db/db/dbForceLink.h | 2 +- src/db/db/dbFuzzyCellMapping.cc | 2 +- src/db/db/dbFuzzyCellMapping.h | 2 +- src/db/db/dbGenericShapeIterator.cc | 2 +- src/db/db/dbGenericShapeIterator.h | 2 +- src/db/db/dbGlyphs.cc | 2 +- src/db/db/dbGlyphs.h | 2 +- src/db/db/dbHash.h | 2 +- src/db/db/dbHershey.cc | 2 +- src/db/db/dbHershey.h | 2 +- src/db/db/dbHersheyFont.h | 2 +- src/db/db/dbHierNetworkProcessor.cc | 2 +- src/db/db/dbHierNetworkProcessor.h | 2 +- src/db/db/dbHierProcessor.cc | 2 +- src/db/db/dbHierProcessor.h | 2 +- src/db/db/dbHierarchyBuilder.cc | 2 +- src/db/db/dbHierarchyBuilder.h | 2 +- src/db/db/dbInit.cc | 2 +- src/db/db/dbInit.h | 2 +- src/db/db/dbInstElement.cc | 2 +- src/db/db/dbInstElement.h | 2 +- src/db/db/dbInstances.cc | 2 +- src/db/db/dbInstances.h | 2 +- src/db/db/dbLayer.h | 2 +- src/db/db/dbLayerMapping.cc | 2 +- src/db/db/dbLayerMapping.h | 2 +- src/db/db/dbLayerProperties.cc | 2 +- src/db/db/dbLayerProperties.h | 2 +- src/db/db/dbLayout.cc | 2 +- src/db/db/dbLayout.h | 2 +- src/db/db/dbLayoutContextHandler.cc | 2 +- src/db/db/dbLayoutContextHandler.h | 2 +- src/db/db/dbLayoutDiff.cc | 2 +- src/db/db/dbLayoutDiff.h | 2 +- src/db/db/dbLayoutQuery.cc | 2 +- src/db/db/dbLayoutQuery.h | 2 +- src/db/db/dbLayoutStateModel.cc | 2 +- src/db/db/dbLayoutStateModel.h | 2 +- src/db/db/dbLayoutToNetlist.cc | 2 +- src/db/db/dbLayoutToNetlist.h | 2 +- src/db/db/dbLayoutToNetlistFormatDefs.cc | 2 +- src/db/db/dbLayoutToNetlistFormatDefs.h | 2 +- src/db/db/dbLayoutToNetlistReader.cc | 2 +- src/db/db/dbLayoutToNetlistReader.h | 2 +- src/db/db/dbLayoutToNetlistWriter.cc | 2 +- src/db/db/dbLayoutToNetlistWriter.h | 2 +- src/db/db/dbLayoutUtils.cc | 2 +- src/db/db/dbLayoutUtils.h | 2 +- src/db/db/dbLayoutVsSchematic.cc | 2 +- src/db/db/dbLayoutVsSchematic.h | 2 +- src/db/db/dbLayoutVsSchematicFormatDefs.cc | 2 +- src/db/db/dbLayoutVsSchematicFormatDefs.h | 2 +- src/db/db/dbLayoutVsSchematicReader.cc | 2 +- src/db/db/dbLayoutVsSchematicReader.h | 2 +- src/db/db/dbLayoutVsSchematicWriter.cc | 2 +- src/db/db/dbLayoutVsSchematicWriter.h | 2 +- src/db/db/dbLibrary.cc | 2 +- src/db/db/dbLibrary.h | 2 +- src/db/db/dbLibraryManager.cc | 2 +- src/db/db/dbLibraryManager.h | 2 +- src/db/db/dbLibraryProxy.cc | 2 +- src/db/db/dbLibraryProxy.h | 2 +- src/db/db/dbLoadLayoutOptions.cc | 2 +- src/db/db/dbLoadLayoutOptions.h | 2 +- src/db/db/dbLocalOperation.cc | 2 +- src/db/db/dbLocalOperation.h | 2 +- src/db/db/dbLocalOperationUtils.cc | 2 +- src/db/db/dbLocalOperationUtils.h | 2 +- src/db/db/dbManager.cc | 2 +- src/db/db/dbManager.h | 2 +- src/db/db/dbMatrix.cc | 2 +- src/db/db/dbMatrix.h | 2 +- src/db/db/dbMemStatistics.cc | 2 +- src/db/db/dbMemStatistics.h | 2 +- src/db/db/dbMetaInfo.h | 2 +- src/db/db/dbMutableEdgePairs.cc | 2 +- src/db/db/dbMutableEdgePairs.h | 2 +- src/db/db/dbMutableEdges.cc | 2 +- src/db/db/dbMutableEdges.h | 2 +- src/db/db/dbMutableRegion.cc | 2 +- src/db/db/dbMutableRegion.h | 2 +- src/db/db/dbMutableTexts.cc | 2 +- src/db/db/dbMutableTexts.h | 2 +- src/db/db/dbNamedLayerReader.cc | 2 +- src/db/db/dbNamedLayerReader.h | 2 +- src/db/db/dbNet.cc | 2 +- src/db/db/dbNet.h | 2 +- src/db/db/dbNetShape.cc | 2 +- src/db/db/dbNetShape.h | 2 +- src/db/db/dbNetlist.cc | 2 +- src/db/db/dbNetlist.h | 2 +- src/db/db/dbNetlistCompare.cc | 2 +- src/db/db/dbNetlistCompare.h | 2 +- src/db/db/dbNetlistCompareCore.cc | 2 +- src/db/db/dbNetlistCompareCore.h | 2 +- src/db/db/dbNetlistCompareGraph.cc | 2 +- src/db/db/dbNetlistCompareGraph.h | 2 +- src/db/db/dbNetlistCompareUtils.cc | 2 +- src/db/db/dbNetlistCompareUtils.h | 2 +- src/db/db/dbNetlistCrossReference.cc | 2 +- src/db/db/dbNetlistCrossReference.h | 2 +- src/db/db/dbNetlistDeviceClasses.cc | 2 +- src/db/db/dbNetlistDeviceClasses.h | 2 +- src/db/db/dbNetlistDeviceExtractor.cc | 2 +- src/db/db/dbNetlistDeviceExtractor.h | 2 +- src/db/db/dbNetlistDeviceExtractorClasses.cc | 2 +- src/db/db/dbNetlistDeviceExtractorClasses.h | 2 +- src/db/db/dbNetlistExtractor.cc | 2 +- src/db/db/dbNetlistExtractor.h | 2 +- src/db/db/dbNetlistObject.cc | 2 +- src/db/db/dbNetlistObject.h | 2 +- src/db/db/dbNetlistReader.cc | 2 +- src/db/db/dbNetlistReader.h | 2 +- src/db/db/dbNetlistSpiceReader.cc | 2 +- src/db/db/dbNetlistSpiceReader.h | 2 +- src/db/db/dbNetlistSpiceWriter.cc | 2 +- src/db/db/dbNetlistSpiceWriter.h | 2 +- src/db/db/dbNetlistUtils.h | 2 +- src/db/db/dbNetlistWriter.cc | 2 +- src/db/db/dbNetlistWriter.h | 2 +- src/db/db/dbObject.cc | 2 +- src/db/db/dbObject.h | 2 +- src/db/db/dbObjectTag.h | 2 +- src/db/db/dbObjectWithProperties.h | 2 +- src/db/db/dbOriginalLayerEdgePairs.cc | 2 +- src/db/db/dbOriginalLayerEdgePairs.h | 2 +- src/db/db/dbOriginalLayerEdges.cc | 2 +- src/db/db/dbOriginalLayerEdges.h | 2 +- src/db/db/dbOriginalLayerRegion.cc | 2 +- src/db/db/dbOriginalLayerRegion.h | 2 +- src/db/db/dbOriginalLayerTexts.cc | 2 +- src/db/db/dbOriginalLayerTexts.h | 2 +- src/db/db/dbPCellDeclaration.cc | 2 +- src/db/db/dbPCellDeclaration.h | 2 +- src/db/db/dbPCellHeader.cc | 2 +- src/db/db/dbPCellHeader.h | 2 +- src/db/db/dbPCellVariant.cc | 2 +- src/db/db/dbPCellVariant.h | 2 +- src/db/db/dbPath.cc | 2 +- src/db/db/dbPath.h | 2 +- src/db/db/dbPin.cc | 2 +- src/db/db/dbPin.h | 2 +- src/db/db/dbPlugin.cc | 2 +- src/db/db/dbPlugin.h | 2 +- src/db/db/dbPoint.cc | 2 +- src/db/db/dbPoint.h | 2 +- src/db/db/dbPolygon.cc | 2 +- src/db/db/dbPolygon.h | 2 +- src/db/db/dbPolygonGenerators.cc | 2 +- src/db/db/dbPolygonGenerators.h | 2 +- src/db/db/dbPolygonTools.cc | 2 +- src/db/db/dbPolygonTools.h | 2 +- src/db/db/dbPropertiesRepository.cc | 2 +- src/db/db/dbPropertiesRepository.h | 2 +- src/db/db/dbReader.cc | 2 +- src/db/db/dbReader.h | 2 +- src/db/db/dbRecursiveInstanceIterator.cc | 2 +- src/db/db/dbRecursiveInstanceIterator.h | 2 +- src/db/db/dbRecursiveShapeIterator.cc | 2 +- src/db/db/dbRecursiveShapeIterator.h | 2 +- src/db/db/dbRegion.cc | 2 +- src/db/db/dbRegion.h | 2 +- src/db/db/dbRegionCheckUtils.cc | 2 +- src/db/db/dbRegionCheckUtils.h | 2 +- src/db/db/dbRegionDelegate.cc | 2 +- src/db/db/dbRegionDelegate.h | 2 +- src/db/db/dbRegionLocalOperations.cc | 2 +- src/db/db/dbRegionLocalOperations.h | 2 +- src/db/db/dbRegionProcessors.cc | 2 +- src/db/db/dbRegionProcessors.h | 2 +- src/db/db/dbRegionUtils.cc | 2 +- src/db/db/dbRegionUtils.h | 2 +- src/db/db/dbSaveLayoutOptions.cc | 2 +- src/db/db/dbSaveLayoutOptions.h | 2 +- src/db/db/dbShape.cc | 2 +- src/db/db/dbShape.h | 2 +- src/db/db/dbShapeCollection.h | 2 +- src/db/db/dbShapeCollectionUtils.cc | 2 +- src/db/db/dbShapeCollectionUtils.h | 2 +- src/db/db/dbShapeFlags.cc | 2 +- src/db/db/dbShapeFlags.h | 2 +- src/db/db/dbShapeIterator.cc | 2 +- src/db/db/dbShapeProcessor.cc | 2 +- src/db/db/dbShapeProcessor.h | 2 +- src/db/db/dbShapeRepository.h | 2 +- src/db/db/dbShapes.cc | 2 +- src/db/db/dbShapes.h | 2 +- src/db/db/dbShapes2.cc | 2 +- src/db/db/dbShapes2.h | 2 +- src/db/db/dbShapes3.cc | 2 +- src/db/db/dbStatic.cc | 2 +- src/db/db/dbStatic.h | 2 +- src/db/db/dbStream.cc | 2 +- src/db/db/dbStream.h | 2 +- src/db/db/dbStreamLayers.cc | 2 +- src/db/db/dbStreamLayers.h | 2 +- src/db/db/dbSubCircuit.cc | 2 +- src/db/db/dbSubCircuit.h | 2 +- src/db/db/dbTechnology.cc | 2 +- src/db/db/dbTechnology.h | 2 +- src/db/db/dbTestSupport.cc | 2 +- src/db/db/dbTestSupport.h | 2 +- src/db/db/dbText.cc | 2 +- src/db/db/dbText.h | 2 +- src/db/db/dbTextWriter.cc | 2 +- src/db/db/dbTextWriter.h | 2 +- src/db/db/dbTexts.cc | 2 +- src/db/db/dbTexts.h | 2 +- src/db/db/dbTextsDelegate.cc | 2 +- src/db/db/dbTextsDelegate.h | 2 +- src/db/db/dbTextsUtils.cc | 2 +- src/db/db/dbTextsUtils.h | 2 +- src/db/db/dbTilingProcessor.cc | 2 +- src/db/db/dbTilingProcessor.h | 2 +- src/db/db/dbTrans.cc | 2 +- src/db/db/dbTrans.h | 2 +- src/db/db/dbTypes.h | 2 +- src/db/db/dbUserObject.cc | 2 +- src/db/db/dbUserObject.h | 2 +- src/db/db/dbUtils.cc | 2 +- src/db/db/dbUtils.h | 2 +- src/db/db/dbVariableWidthPath.cc | 2 +- src/db/db/dbVariableWidthPath.h | 2 +- src/db/db/dbVector.cc | 2 +- src/db/db/dbVector.h | 2 +- src/db/db/dbWriter.cc | 2 +- src/db/db/dbWriter.h | 2 +- src/db/db/dbWriterTools.cc | 2 +- src/db/db/dbWriterTools.h | 2 +- src/db/db/gsiDeclDbBox.cc | 2 +- src/db/db/gsiDeclDbCell.cc | 2 +- src/db/db/gsiDeclDbCellMapping.cc | 2 +- src/db/db/gsiDeclDbCommonStreamOptions.cc | 2 +- src/db/db/gsiDeclDbCompoundOperation.cc | 2 +- src/db/db/gsiDeclDbDeepShapeStore.cc | 2 +- src/db/db/gsiDeclDbEdge.cc | 2 +- src/db/db/gsiDeclDbEdgePair.cc | 2 +- src/db/db/gsiDeclDbEdgePairs.cc | 2 +- src/db/db/gsiDeclDbEdgeProcessor.cc | 2 +- src/db/db/gsiDeclDbEdges.cc | 2 +- src/db/db/gsiDeclDbGlyphs.cc | 2 +- src/db/db/gsiDeclDbHelpers.h | 2 +- src/db/db/gsiDeclDbHierNetworkProcessor.cc | 2 +- src/db/db/gsiDeclDbInstElement.cc | 2 +- src/db/db/gsiDeclDbLayerMapping.cc | 2 +- src/db/db/gsiDeclDbLayout.cc | 2 +- src/db/db/gsiDeclDbLayoutDiff.cc | 2 +- src/db/db/gsiDeclDbLayoutQuery.cc | 2 +- src/db/db/gsiDeclDbLayoutToNetlist.cc | 2 +- src/db/db/gsiDeclDbLayoutUtils.cc | 2 +- src/db/db/gsiDeclDbLayoutVsSchematic.cc | 2 +- src/db/db/gsiDeclDbLibrary.cc | 2 +- src/db/db/gsiDeclDbManager.cc | 2 +- src/db/db/gsiDeclDbMatrix.cc | 2 +- src/db/db/gsiDeclDbNetlist.cc | 2 +- src/db/db/gsiDeclDbNetlistCompare.cc | 2 +- src/db/db/gsiDeclDbNetlistCrossReference.cc | 2 +- src/db/db/gsiDeclDbNetlistDeviceClasses.cc | 2 +- src/db/db/gsiDeclDbNetlistDeviceExtractor.cc | 2 +- src/db/db/gsiDeclDbPath.cc | 2 +- src/db/db/gsiDeclDbPoint.cc | 2 +- src/db/db/gsiDeclDbPolygon.cc | 2 +- src/db/db/gsiDeclDbReader.cc | 2 +- src/db/db/gsiDeclDbRecursiveInstanceIterator.cc | 2 +- src/db/db/gsiDeclDbRecursiveShapeIterator.cc | 2 +- src/db/db/gsiDeclDbRegion.cc | 2 +- src/db/db/gsiDeclDbShape.cc | 2 +- src/db/db/gsiDeclDbShapeCollection.cc | 2 +- src/db/db/gsiDeclDbShapeProcessor.cc | 2 +- src/db/db/gsiDeclDbShapes.cc | 2 +- src/db/db/gsiDeclDbTechnologies.cc | 2 +- src/db/db/gsiDeclDbText.cc | 2 +- src/db/db/gsiDeclDbTexts.cc | 2 +- src/db/db/gsiDeclDbTilingProcessor.cc | 2 +- src/db/db/gsiDeclDbTrans.cc | 2 +- src/db/db/gsiDeclDbUtils.cc | 2 +- src/db/db/gsiDeclDbVector.cc | 2 +- src/db/unit_tests/dbArrayTests.cc | 2 +- src/db/unit_tests/dbBoxScannerTests.cc | 2 +- src/db/unit_tests/dbBoxTests.cc | 2 +- src/db/unit_tests/dbBoxTreeTests.cc | 2 +- src/db/unit_tests/dbCellGraphUtilsTests.cc | 2 +- src/db/unit_tests/dbCellHullGeneratorTests.cc | 2 +- src/db/unit_tests/dbCellMappingTests.cc | 2 +- src/db/unit_tests/dbCellTests.cc | 2 +- src/db/unit_tests/dbCellVariantsTests.cc | 2 +- src/db/unit_tests/dbClipTests.cc | 2 +- src/db/unit_tests/dbCompoundOperationTests.cc | 2 +- src/db/unit_tests/dbD25TechnologyComponentTests.cc | 2 +- src/db/unit_tests/dbDeepEdgePairsTests.cc | 2 +- src/db/unit_tests/dbDeepEdgesTests.cc | 2 +- src/db/unit_tests/dbDeepRegionTests.cc | 2 +- src/db/unit_tests/dbDeepShapeStoreTests.cc | 2 +- src/db/unit_tests/dbDeepTextsTests.cc | 2 +- src/db/unit_tests/dbEdgePairRelationsTests.cc | 2 +- src/db/unit_tests/dbEdgePairTests.cc | 2 +- src/db/unit_tests/dbEdgePairsTests.cc | 2 +- src/db/unit_tests/dbEdgeProcessorTests.cc | 2 +- src/db/unit_tests/dbEdgeTests.cc | 2 +- src/db/unit_tests/dbEdgesTests.cc | 2 +- src/db/unit_tests/dbEdgesToContoursTests.cc | 2 +- src/db/unit_tests/dbExpressionTests.cc | 2 +- src/db/unit_tests/dbFillToolTests.cc | 2 +- src/db/unit_tests/dbHierNetworkProcessorTests.cc | 2 +- src/db/unit_tests/dbHierProcessorTests.cc | 2 +- src/db/unit_tests/dbHierarchyBuilderTests.cc | 2 +- src/db/unit_tests/dbLayerMappingTests.cc | 2 +- src/db/unit_tests/dbLayerTests.cc | 2 +- src/db/unit_tests/dbLayoutDiffTests.cc | 2 +- src/db/unit_tests/dbLayoutQueryTests.cc | 2 +- src/db/unit_tests/dbLayoutTests.cc | 2 +- src/db/unit_tests/dbLayoutToNetlistReaderTests.cc | 2 +- src/db/unit_tests/dbLayoutToNetlistTests.cc | 2 +- src/db/unit_tests/dbLayoutToNetlistWriterTests.cc | 2 +- src/db/unit_tests/dbLayoutUtilsTests.cc | 2 +- src/db/unit_tests/dbLayoutVsSchematicTests.cc | 2 +- src/db/unit_tests/dbLibrariesTests.cc | 2 +- src/db/unit_tests/dbLoadLayoutOptionsTests.cc | 2 +- src/db/unit_tests/dbMatrixTests.cc | 2 +- src/db/unit_tests/dbNetShapeTests.cc | 2 +- src/db/unit_tests/dbNetlistCompareTests.cc | 2 +- src/db/unit_tests/dbNetlistDeviceClassesTests.cc | 2 +- src/db/unit_tests/dbNetlistDeviceExtractorTests.cc | 2 +- src/db/unit_tests/dbNetlistExtractorTests.cc | 2 +- src/db/unit_tests/dbNetlistReaderTests.cc | 2 +- src/db/unit_tests/dbNetlistTests.cc | 2 +- src/db/unit_tests/dbNetlistWriterTests.cc | 2 +- src/db/unit_tests/dbObjectTests.cc | 2 +- src/db/unit_tests/dbPCellsTests.cc | 2 +- src/db/unit_tests/dbPathTests.cc | 2 +- src/db/unit_tests/dbPointTests.cc | 2 +- src/db/unit_tests/dbPolygonTests.cc | 2 +- src/db/unit_tests/dbPolygonToolsTests.cc | 2 +- src/db/unit_tests/dbPropertiesRepositoryTests.cc | 2 +- src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc | 2 +- src/db/unit_tests/dbRecursiveShapeIteratorTests.cc | 2 +- src/db/unit_tests/dbRegionCheckUtilsTests.cc | 2 +- src/db/unit_tests/dbRegionTests.cc | 2 +- src/db/unit_tests/dbSaveLayoutOptionsTests.cc | 2 +- src/db/unit_tests/dbShapeArrayTests.cc | 2 +- src/db/unit_tests/dbShapeRepositoryTests.cc | 2 +- src/db/unit_tests/dbShapeTests.cc | 2 +- src/db/unit_tests/dbShapesTests.cc | 2 +- src/db/unit_tests/dbStreamLayerTests.cc | 2 +- src/db/unit_tests/dbTechnologyTests.cc | 2 +- src/db/unit_tests/dbTextTests.cc | 2 +- src/db/unit_tests/dbTextsTests.cc | 2 +- src/db/unit_tests/dbTilingProcessorTests.cc | 2 +- src/db/unit_tests/dbTransTests.cc | 2 +- src/db/unit_tests/dbUtilsTests.cc | 2 +- src/db/unit_tests/dbVariableWidthPathTests.cc | 2 +- src/db/unit_tests/dbVectorTests.cc | 2 +- src/db/unit_tests/dbWriterTools.cc | 2 +- src/drc/drc/drcCommon.h | 2 +- src/drc/drc/drcForceLink.cc | 2 +- src/drc/drc/drcForceLink.h | 2 +- src/drc/unit_tests/drcBasicTests.cc | 2 +- src/drc/unit_tests/drcGenericTests.cc | 2 +- src/drc/unit_tests/drcSimpleTests.cc | 2 +- src/drc/unit_tests/drcSuiteTests.cc | 2 +- src/edt/edt/edtCommon.h | 2 +- src/edt/edt/edtConfig.cc | 2 +- src/edt/edt/edtConfig.h | 2 +- src/edt/edt/edtDialogs.cc | 2 +- src/edt/edt/edtDialogs.h | 2 +- src/edt/edt/edtDistribute.cc | 2 +- src/edt/edt/edtDistribute.h | 2 +- src/edt/edt/edtEditorOptionsPages.cc | 2 +- src/edt/edt/edtEditorOptionsPages.h | 2 +- src/edt/edt/edtInstPropertiesPage.cc | 2 +- src/edt/edt/edtInstPropertiesPage.h | 2 +- src/edt/edt/edtMainService.cc | 2 +- src/edt/edt/edtMainService.h | 2 +- src/edt/edt/edtPCellParametersPage.cc | 2 +- src/edt/edt/edtPCellParametersPage.h | 2 +- src/edt/edt/edtPartialService.cc | 2 +- src/edt/edt/edtPartialService.h | 2 +- src/edt/edt/edtPlugin.cc | 2 +- src/edt/edt/edtPlugin.h | 2 +- src/edt/edt/edtPropertiesPageUtils.cc | 2 +- src/edt/edt/edtPropertiesPageUtils.h | 2 +- src/edt/edt/edtPropertiesPages.cc | 2 +- src/edt/edt/edtPropertiesPages.h | 2 +- src/edt/edt/edtRecentConfigurationPage.cc | 2 +- src/edt/edt/edtRecentConfigurationPage.h | 2 +- src/edt/edt/edtService.cc | 2 +- src/edt/edt/edtService.h | 2 +- src/edt/edt/edtServiceImpl.cc | 2 +- src/edt/edt/edtServiceImpl.h | 2 +- src/edt/edt/edtUtils.cc | 2 +- src/edt/edt/edtUtils.h | 2 +- src/edt/edt/gsiDeclEdt.cc | 2 +- src/edt/unit_tests/edtBasicTests.cc | 2 +- src/edt/unit_tests/edtDistributeTests.cc | 2 +- src/fontgen/fontgen.cc | 2 +- src/gsi/gsi/gsi.cc | 2 +- src/gsi/gsi/gsi.h | 2 +- src/gsi/gsi/gsiCallback.h | 2 +- src/gsi/gsi/gsiCallbackVar.h | 2 +- src/gsi/gsi/gsiClass.cc | 2 +- src/gsi/gsi/gsiClass.h | 2 +- src/gsi/gsi/gsiClassBase.cc | 2 +- src/gsi/gsi/gsiClassBase.h | 2 +- src/gsi/gsi/gsiCommon.h | 2 +- src/gsi/gsi/gsiDecl.h | 2 +- src/gsi/gsi/gsiDeclBasic.cc | 2 +- src/gsi/gsi/gsiDeclBasic.h | 2 +- src/gsi/gsi/gsiDeclInternal.cc | 2 +- src/gsi/gsi/gsiDeclTl.cc | 2 +- src/gsi/gsi/gsiEnums.h | 2 +- src/gsi/gsi/gsiExpression.cc | 2 +- src/gsi/gsi/gsiExpression.h | 2 +- src/gsi/gsi/gsiExternalMain.cc | 2 +- src/gsi/gsi/gsiExternalMain.h | 2 +- src/gsi/gsi/gsiInspector.cc | 2 +- src/gsi/gsi/gsiInspector.h | 2 +- src/gsi/gsi/gsiInterpreter.cc | 2 +- src/gsi/gsi/gsiInterpreter.h | 2 +- src/gsi/gsi/gsiIterators.h | 2 +- src/gsi/gsi/gsiMethods.cc | 2 +- src/gsi/gsi/gsiMethods.h | 2 +- src/gsi/gsi/gsiMethodsVar.h | 2 +- src/gsi/gsi/gsiObject.cc | 2 +- src/gsi/gsi/gsiObject.h | 2 +- src/gsi/gsi/gsiObjectHolder.cc | 2 +- src/gsi/gsi/gsiObjectHolder.h | 2 +- src/gsi/gsi/gsiSerialisation.cc | 2 +- src/gsi/gsi/gsiSerialisation.h | 2 +- src/gsi/gsi/gsiSignals.cc | 2 +- src/gsi/gsi/gsiSignals.h | 2 +- src/gsi/gsi/gsiTypes.cc | 2 +- src/gsi/gsi/gsiTypes.h | 2 +- src/gsi/gsi_test/gsiTest.cc | 2 +- src/gsi/gsi_test/gsiTest.h | 2 +- src/gsi/gsi_test/gsiTestForceLink.h | 2 +- src/gsi/unit_tests/gsiExpression.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQAbstractListModel.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQAbstractTableModel.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQBasicTimer.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQBuffer.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQByteArrayMatcher.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQChildEvent.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQCoreApplication.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQCryptographicHash.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQDataStream.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQDate.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQDateTime.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQDir.cc | 2 +- .../qt4/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQEasingCurve.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQEvent.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQEventLoop.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQFactoryInterface.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQFile.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQFileInfo.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQFileSystemWatcher.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQIODevice.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQLibrary.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQLibraryInfo.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQLine.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQLineF.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQLocale.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMargins.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaClassInfo.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaEnum.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaMethod.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaObject.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaProperty.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMetaType.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMimeData.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQModelIndex.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQMutex.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQObject.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQPersistentModelIndex.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQPluginLoader.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQPoint.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQPointF.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQProcess.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQProcessEnvironment.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQReadLocker.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQReadWriteLock.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQRect.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQRectF.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQRegExp.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQResource.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSemaphore.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSettings.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSignalMapper.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSize.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSizeF.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSocketNotifier.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQStringMatcher.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSysInfo.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQSystemLocale.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTemporaryFile.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTextCodec.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTextCodec_ConverterState.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTextDecoder.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTextEncoder.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTextStream.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQThread.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTime.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTimeLine.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTimer.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTimerEvent.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQTranslator.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQUrl.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQWaitCondition.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQWriteLocker.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQt.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQtCoreAdd.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQtCoreTypeTraits.h | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQt_1.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQt_2.cc | 2 +- src/gsiqt/qt4/QtCore/gsiDeclQt_3.cc | 2 +- src/gsiqt/qt4/QtCore/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtDesigner/gsiDeclQAbstractFormBuilder.cc | 2 +- src/gsiqt/qt4/QtDesigner/gsiDeclQFormBuilder.cc | 2 +- src/gsiqt/qt4/QtDesigner/gsiDeclQtDesignerTypeTraits.h | 2 +- src/gsiqt/qt4/QtDesigner/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractGraphicsShapeItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemDelegate.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractItemView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractPageSetupDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractPrintDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractProxyModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractScrollArea.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractSlider.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractSpinBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractTextDocumentLayout.cc | 2 +- .../gsiDeclQAbstractTextDocumentLayout_PaintContext.cc | 2 +- .../QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAbstractUndoItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessible.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessibleApplication.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessibleEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessibleInterface.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessibleObject.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAccessibleWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQAction.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQActionEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQActionGroup.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQApplication.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQBitmap.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQBoxLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQBrush.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQButtonGroup.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCDEStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCalendarWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCheckBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCleanlooksStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQClipboard.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQClipboardEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCloseEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQColor.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQColorDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQColormap.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQColumnView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQComboBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCommandLinkButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCommonStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCompleter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQConicalGradient.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQContextMenuEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQCursor.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDataWidgetMapper.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDateEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDateTimeEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDesktopServices.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDesktopWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDial.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDialogButtonBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDirIterator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDirModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDockWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDoubleSpinBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDoubleValidator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDrag.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDragEnterEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDragLeaveEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDragMoveEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDragResponseEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQDropEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQErrorMessage.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFileDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFileIconProvider.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFileOpenEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFileSystemModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFocusEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFocusFrame.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFont.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontComboBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontDatabase.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontInfo.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontMetrics.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFontMetricsF.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFormLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQFrame.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGestureEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGestureRecognizer.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGradient.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchor.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsAnchorLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsBlurEffect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsColorizeEffect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsDropShadowEffect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEffect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsEllipseItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsGridLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemAnimation.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsItemGroup.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLayoutItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLineItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsLinearLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsObject.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsOpacityEffect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPathItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPixmapItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsPolygonItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsProxyWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRectItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsRotation.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScale.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsScene.cc | 2 +- .../qt4/QtGui/gsiDeclQGraphicsSceneContextMenuEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneDragDropEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHelpEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneHoverEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMouseEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneMoveEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneResizeEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSceneWheelEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsSimpleTextItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTextItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsTransform.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGraphicsWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGridLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQGroupBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQHBoxLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQHeaderView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQHelpEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQHideEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQHoverEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIcon.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIconDragEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIconEngine.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePlugin.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIconEnginePluginV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIconEngineV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImage.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImageIOHandler.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImageIOPlugin.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImageReader.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImageTextKeyLang.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQImageWriter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputContext.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputContextFactory.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputContextPlugin.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQInputMethodEvent_Attribute.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQIntValidator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemDelegate.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemEditorCreatorBase.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemEditorFactory.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemSelection.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQItemSelectionRange.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQKeyEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQKeySequence.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLCDNumber.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLabel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLayoutItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLineEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQLinearGradient.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQListView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQListWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQListWidgetItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMainWindow.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMatrix.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMatrix4x4.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMdiArea.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMdiSubWindow.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMenu.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMenuBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMessageBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMimeSource.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMotifStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMouseEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMoveEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQMovie.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPageSetupDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPaintDevice.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPaintEngine.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPaintEngineState.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPaintEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPainter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPainterPath.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPainterPathStroker.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPainterPath_Element.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPalette.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPanGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPen.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPicture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPinchGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPixmap.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPixmapCache.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPlainTextDocumentLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPlainTextEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPlastiqueStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPolygon.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPolygonF.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrintDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrintEngine.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrintPreviewWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrinter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPrinterInfo.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQProgressBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQProgressDialog.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQPushButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQQuaternion.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQRadialGradient.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQRadioButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQRegExpValidator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQRegion.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQResizeEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQRubberBand.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQScrollArea.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQScrollBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQShortcut.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQShortcutEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQShowEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSizeGrip.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSizePolicy.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSlider.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSortFilterProxyModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSound.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSpacerItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSpinBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSplashScreen.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSplitter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSplitterHandle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStackedLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStackedWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStandardItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStandardItemModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStatusBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStatusTipEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStringListModel.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleFactory.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturn.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnMask.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleHintReturnVariant.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOption.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComboBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionComplex.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionDockWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFocusRect.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrame.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionFrameV3.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGraphicsItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionGroupBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionHeader.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionMenuItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionProgressBarV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3DockWindow.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionQ3ListViewItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionRubberBand.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSizeGrip.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSlider.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionSpinBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTab.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBase.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabBarBaseV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabV3.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTabWidgetFrame.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionTitleBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolBoxV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionToolButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV2.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV3.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyleOptionViewItemV4.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStylePainter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStylePlugin.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQStyledItemDelegate.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSwipeGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSyntaxHighlighter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQSystemTrayIcon.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTabBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTabWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTableView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTableWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTableWidgetSelectionRange.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTabletEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTapAndHoldGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTapGesture.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBlock.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBlockFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBlockGroup.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBlockUserData.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBlock_Iterator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextBrowser.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextCharFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextCursor.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextDocument.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentFragment.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextDocumentWriter.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextEdit_ExtraSelection.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextFragment.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextFrame.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextFrameFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextFrame_Iterator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextImageFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextInlineObject.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextLayout_FormatRange.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextLength.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextLine.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextList.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextListFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextObject.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextObjectInterface.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextOption.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextOption_Tab.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextTable.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextTableCell.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextTableCellFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTextTableFormat.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTimeEdit.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQToolBar.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQToolBarChangeEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQToolBox.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQToolButton.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQToolTip.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTouchEvent_TouchPoint.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTransform.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTreeView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTreeWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQTreeWidgetItemIterator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQUndoCommand.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQUndoGroup.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQUndoStack.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQUndoView.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQUnixPrintWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQVBoxLayout.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQValidator.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQVector2D.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQVector3D.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQVector4D.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWhatsThis.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWhatsThisClickedEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWheelEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWidget.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWidgetAction.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWidgetItem.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWindowStateChangeEvent.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWindowsStyle.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWizard.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQWizardPage.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQtGuiAdd.cc | 2 +- src/gsiqt/qt4/QtGui/gsiDeclQtGuiTypeTraits.h | 2 +- src/gsiqt/qt4/QtGui/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractNetworkCache.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQAbstractSocket.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQAuthenticator.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQFtp.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQHostAddress.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQHostInfo.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQIPv6Address.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQLocalServer.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQLocalSocket.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAccessManager.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkAddressEntry.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCacheMetaData.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookie.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkCookieJar.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkDiskCache.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkInterface.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxy.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyFactory.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkProxyQuery.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkReply.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQNetworkRequest.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSsl.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslCertificate.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslCipher.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslConfiguration.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslError.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslKey.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQSslSocket.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQTcpServer.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQTcpSocket.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQUdpSocket.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQUrlInfo.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkAdd.cc | 2 +- src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkTypeTraits.h | 2 +- src/gsiqt/qt4/QtNetwork/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSql.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlDatabase.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlDriver.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlDriverCreatorBase.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlError.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlField.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlIndex.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlQuery.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlQueryModel.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlRecord.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlRelation.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlRelationalTableModel.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlResult.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQSqlTableModel.cc | 2 +- src/gsiqt/qt4/QtSql/gsiDeclQtSqlTypeTraits.h | 2 +- src/gsiqt/qt4/QtSql/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtUiTools/gsiDeclQUiLoader.cc | 2 +- src/gsiqt/qt4/QtUiTools/gsiDeclQtUiToolsTypeTraits.h | 2 +- src/gsiqt/qt4/QtUiTools/gsiQtExternals.h | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomAttr.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomCDATASection.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomCharacterData.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomComment.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomDocument.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentFragment.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomDocumentType.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomElement.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomEntity.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomEntityReference.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomImplementation.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomNamedNodeMap.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomNode.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomNodeList.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomNotation.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomProcessingInstruction.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQDomText.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlAttributes.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlContentHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlDTDHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlDeclHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlDefaultHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlEntityResolver.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlErrorHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlInputSource.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlLexicalHandler.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlLocator.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlNamespaceSupport.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlParseException.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlReader.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQXmlSimpleReader.cc | 2 +- src/gsiqt/qt4/QtXml/gsiDeclQtXmlTypeTraits.h | 2 +- src/gsiqt/qt4/QtXml/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractAnimation.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractEventDispatcher.cc | 2 +- .../QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractItemModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractListModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractNativeEventFilter.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractProxyModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractState.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractTableModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAbstractTransition.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAnimationDriver.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAnimationGroup.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQAssociativeIterable.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQBasicMutex.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQBasicTimer.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQBuffer.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQByteArrayDataPtr.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQByteArrayMatcher.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQChildEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCollator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCollatorSortKey.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCommandLineOption.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCommandLineParser.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCoreApplication.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQCryptographicHash.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDataStream.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDate.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDateTime.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDebug.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDebugStateSaver.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDeferredDeleteEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDir.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQDirIterator.cc | 2 +- .../qt5/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQEasingCurve.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQElapsedTimer.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQEventLoop.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQEventLoopLocker.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQEventTransition.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFactoryInterface.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFile.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFileDevice.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFileInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFileSelector.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFileSystemWatcher.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQFinalState.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQHistoryState.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQIODevice.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQIdentityProxyModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQItemSelection.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQItemSelectionRange.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonArray.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Const_iterator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonArray_Iterator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonDocument.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonObject.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Const_iterator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonObject_Iterator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonParseError.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonValue.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonValuePtr.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRef.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQJsonValueRefPtr.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLibrary.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLibraryInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLine.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLineF.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLocale.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLockFile.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQLoggingCategory.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMapDataBase.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMapNodeBase.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMargins.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMarginsF.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMessageAuthenticationCode.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMessageLogContext.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMessageLogger.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaClassInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaEnum.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaMethod.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaObject.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaObject_Connection.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMetaProperty.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMimeDatabase.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMimeType.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQModelIndex.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQMutex.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQNoDebug.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQObject.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQParallelAnimationGroup.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPauseAnimation.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPersistentModelIndex.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPluginLoader.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPoint.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPointF.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQProcess.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQProcessEnvironment.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQPropertyAnimation.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQReadLocker.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQReadWriteLock.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRect.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRectF.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRegExp.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRegularExpression.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRegularExpressionMatch.cc | 2 +- .../qt5/QtCore/gsiDeclQRegularExpressionMatchIterator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQResource.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQRunnable.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSaveFile.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSemaphore.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSequentialAnimationGroup.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSequentialIterable.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSettings.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSharedMemory.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSignalBlocker.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSignalMapper.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSignalTransition.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSize.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSizeF.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSocketNotifier.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSortFilterProxyModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStandardPaths.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQState.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStateMachine.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_SignalEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStateMachine_WrappedEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStaticPlugin.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStorageInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStringDataPtr.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStringListModel.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQStringMatcher.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSysInfo.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQSystemSemaphore.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTemporaryDir.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTemporaryFile.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextBoundaryFinder.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextCodec.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextCodec_ConverterState.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextDecoder.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextEncoder.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTextStream.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQThread.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQThreadPool.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTime.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTimeLine.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTimeZone.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTimeZone_OffsetData.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTimer.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTimerEvent.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQTranslator.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQUrl.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQUrlQuery.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQVariantAnimation.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQWaitCondition.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQWriteLocker.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttribute.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamAttributes.cc | 2 +- .../qt5/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamEntityResolver.cc | 2 +- .../qt5/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc | 2 +- .../qt5/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamReader.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamStringRef.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQXmlStreamWriter.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQt.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQtCoreTypeTraits.h | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQt_2.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQt_3.cc | 2 +- src/gsiqt/qt5/QtCore/gsiDeclQt_4.cc | 2 +- src/gsiqt/qt5/QtCore/gsiQtExternals.h | 2 +- .../qt5/QtDesigner/gsiDeclQAbstractExtensionFactory.cc | 2 +- .../qt5/QtDesigner/gsiDeclQAbstractExtensionManager.cc | 2 +- src/gsiqt/qt5/QtDesigner/gsiDeclQAbstractFormBuilder.cc | 2 +- src/gsiqt/qt5/QtDesigner/gsiDeclQFormBuilder.cc | 2 +- src/gsiqt/qt5/QtDesigner/gsiDeclQtDesignerTypeTraits.h | 2 +- src/gsiqt/qt5/QtDesigner/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAbstractTextDocumentLayout.cc | 2 +- .../gsiDeclQAbstractTextDocumentLayout_PaintContext.cc | 2 +- .../QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAbstractUndoItem.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessible.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleActionInterface.cc | 2 +- .../qt5/QtGui/gsiDeclQAccessibleEditableTextInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleImageInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleObject.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleStateChangeEvent.cc | 2 +- .../qt5/QtGui/gsiDeclQAccessibleTableCellInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTableInterface.cc | 2 +- .../qt5/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextCursorEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInsertEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc | 2 +- .../qt5/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessibleValueInterface.cc | 2 +- .../qt5/QtGui/gsiDeclQAccessible_ActivationObserver.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQAccessible_State.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQActionEvent.cc | 2 +- .../qt5/QtGui/gsiDeclQApplicationStateChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQBackingStore.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQBitmap.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQBrush.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQClipboard.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQCloseEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQColor.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQConicalGradient.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQContextMenuEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQCursor.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDesktopServices.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDoubleValidator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDrag.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDragEnterEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDragLeaveEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDragMoveEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQDropEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQEnterEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQExposeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFileOpenEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFocusEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFont.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFontDatabase.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFontInfo.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFontMetrics.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQFontMetricsF.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQGenericPlugin.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQGenericPluginFactory.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQGlyphRun.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQGradient.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQGuiApplication.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQHelpEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQHideEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQHoverEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQIcon.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQIconDragEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQIconEngine.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQIconEnginePlugin.cc | 2 +- .../QtGui/gsiDeclQIconEngine_AvailableSizesArgument.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQImage.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQImageIOHandler.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQImageIOPlugin.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQImageReader.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQImageWriter.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQInputEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQInputMethod.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQInputMethodEvent_Attribute.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQInputMethodQueryEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQIntValidator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQKeyEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQKeySequence.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQLinearGradient.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQMatrix.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQMatrix4x4.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQMouseEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQMoveEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQMovie.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQNativeGestureEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQOffscreenSurface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPageLayout.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPageSize.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPagedPaintDevice_Margins.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPaintDevice.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPaintDeviceWindow.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPaintEngine.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPaintEngineState.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPaintEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPainter.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPainterPath.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPainterPathStroker.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPainterPath_Element.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPainter_PixmapFragment.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPalette.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPdfWriter.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPen.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPicture.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPictureFormatPlugin.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPixelFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPixmap.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPixmapCache.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPlatformSurfaceEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPolygon.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQPolygonF.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQQuaternion.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRadialGradient.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRasterWindow.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRawFont.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRegExpValidator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRegion.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQRegularExpressionValidator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQResizeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQScreen.cc | 2 +- .../qt5/QtGui/gsiDeclQScreenOrientationChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQScrollEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQScrollPrepareEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQSessionManager.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQShortcutEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQShowEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQStandardItem.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQStandardItemModel.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQStaticText.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQStatusTipEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQStyleHints.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQSurface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQSurfaceFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQSyntaxHighlighter.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTabletEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextBlock.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextBlockFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextBlockGroup.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextBlockUserData.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextBlock_Iterator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextCharFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextCursor.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextDocument.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentFragment.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextDocumentWriter.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextFragment.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextFrame.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextFrameFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextFrame_Iterator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextImageFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextInlineObject.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextItem.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextLayout.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextLayout_FormatRange.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextLength.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextLine.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextList.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextListFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextObject.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextObjectInterface.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextOption.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextOption_Tab.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextTable.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextTableCell.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextTableCellFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTextTableFormat.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQToolBarChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTouchDevice.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTouchEvent_TouchPoint.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQTransform.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQValidator.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQVector2D.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQVector3D.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQVector4D.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQWhatsThisClickedEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQWheelEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQWindow.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQWindowStateChangeEvent.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQtGuiAdd.cc | 2 +- src/gsiqt/qt5/QtGui/gsiDeclQtGuiTypeTraits.h | 2 +- src/gsiqt/qt5/QtGui/gsiQtExternals.h | 2 +- .../qt5/QtMultimedia/gsiDeclQAbstractAudioDeviceInfo.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioInput.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractAudioOutput.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQAbstractNetworkCache.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractSocket.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoFilter.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQAbstractVideoSurface.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudio.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioBuffer.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoder.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDecoderControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioDeviceInfo.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQAudioEncoderSettings.cc | 2 +- .../QtMultimedia/gsiDeclQAudioEncoderSettingsControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioFormat.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioInput.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQAudioInputSelectorControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioOutput.cc | 2 +- .../QtMultimedia/gsiDeclQAudioOutputSelectorControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioProbe.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioRecorder.cc | 2 +- .../QtMultimedia/gsiDeclQAudioSystemFactoryInterface.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAudioSystemPlugin.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQAuthenticator.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc | 2 +- .../gsiDeclQCameraCaptureBufferFormatControl.cc | 2 +- .../gsiDeclQCameraCaptureDestinationControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraExposure.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCameraExposureControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCameraFeedbackControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFlashControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocus.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraFocusZone.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraImageCapture.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCameraImageCaptureControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCameraImageProcessing.cc | 2 +- .../QtMultimedia/gsiDeclQCameraImageProcessingControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfo.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraInfoControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraLocksControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCameraViewfinderSettings.cc | 2 +- .../gsiDeclQCameraViewfinderSettingsControl.cc | 2 +- .../gsiDeclQCameraViewfinderSettingsControl2.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQCameraZoomControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQCamera_FrameRateRange.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsDomainNameRecord.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQDnsHostAddressRecord.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsLookup.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQDnsMailExchangeRecord.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsServiceRecord.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsTextRecord.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQHostAddress.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQHostInfo.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpMultiPart.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpPart.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQIPv6Address.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQImageEncoderSettings.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalServer.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalSocket.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaAvailabilityControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaBindableInterface.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaContainerControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaContent.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaControl.cc | 2 +- .../QtMultimedia/gsiDeclQMediaGaplessPlaybackControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaMetaData.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaNetworkAccessControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaObject.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayer.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlayerControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaPlaylist.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaRecorder.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaRecorderControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaResource.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaService.cc | 2 +- .../gsiDeclQMediaServiceCameraInfoInterface.cc | 2 +- .../gsiDeclQMediaServiceDefaultDeviceInterface.cc | 2 +- .../QtMultimedia/gsiDeclQMediaServiceFeaturesInterface.cc | 2 +- .../gsiDeclQMediaServiceProviderFactoryInterface.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaServiceProviderHint.cc | 2 +- .../QtMultimedia/gsiDeclQMediaServiceProviderPlugin.cc | 2 +- .../gsiDeclQMediaServiceSupportedDevicesInterface.cc | 2 +- .../gsiDeclQMediaServiceSupportedFormatsInterface.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaStreamsControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeInterval.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaTimeRange.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMediaVideoProbeControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMetaDataReaderControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQMetaDataWriterControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQMultimedia.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQNetworkAccessManager.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkAddressEntry.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQNetworkCacheMetaData.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQNetworkConfiguration.cc | 2 +- .../QtMultimedia/gsiDeclQNetworkConfigurationManager.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookie.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookieJar.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkDiskCache.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkInterface.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxy.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyFactory.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyQuery.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkReply.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkRequest.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkSession.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioDataControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTuner.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioTunerControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSound.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSoundEffect.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSsl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCertificate.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQSslCertificateExtension.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCipher.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslConfiguration.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslEllipticCurve.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslError.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslKey.cc | 2 +- .../QtMultimedia/gsiDeclQSslPreSharedKeyAuthenticator.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQSslSocket.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpServer.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpSocket.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQUdpSocket.cc | 2 +- .../QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQVideoEncoderSettings.cc | 2 +- .../QtMultimedia/gsiDeclQVideoEncoderSettingsControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFilterRunnable.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoFrame.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoProbe.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQVideoRendererControl.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoSurfaceFormat.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWidget.cc | 2 +- src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoWindowControl.cc | 2 +- .../qt5/QtMultimedia/gsiDeclQtMultimediaTypeTraits.h | 2 +- src/gsiqt/qt5/QtMultimedia/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractNetworkCache.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQAbstractSocket.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQAuthenticator.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsDomainNameRecord.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsHostAddressRecord.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsLookup.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsMailExchangeRecord.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsServiceRecord.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQDnsTextRecord.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQHostAddress.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQHostInfo.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQHttpMultiPart.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQHttpPart.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQIPv6Address.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQLocalServer.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQLocalSocket.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAccessManager.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkAddressEntry.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCacheMetaData.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkConfiguration.cc | 2 +- .../qt5/QtNetwork/gsiDeclQNetworkConfigurationManager.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookie.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkCookieJar.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkDiskCache.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkInterface.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxy.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyFactory.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkProxyQuery.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkReply.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkRequest.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQNetworkSession.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSsl.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslCertificate.cc | 2 +- .../qt5/QtNetwork/gsiDeclQSslCertificateExtension.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslCipher.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslConfiguration.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslEllipticCurve.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslError.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslKey.cc | 2 +- .../qt5/QtNetwork/gsiDeclQSslPreSharedKeyAuthenticator.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQSslSocket.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQTcpServer.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQTcpSocket.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQUdpSocket.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkAdd.cc | 2 +- src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkTypeTraits.h | 2 +- src/gsiqt/qt5/QtNetwork/gsiQtExternals.h | 2 +- .../qt5/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiDeclQPageSetupDialog.cc | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintDialog.cc | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrintEngine.cc | 2 +- .../qt5/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc | 2 +- .../qt5/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinter.cc | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiDeclQPrinterInfo.cc | 2 +- .../qt5/QtPrintSupport/gsiDeclQtPrintSupportTypeTraits.h | 2 +- src/gsiqt/qt5/QtPrintSupport/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSql.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlDatabase.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlDriver.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlDriverCreatorBase.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlError.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlField.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlIndex.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlQuery.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlQueryModel.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlRecord.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlRelation.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlRelationalTableModel.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlResult.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQSqlTableModel.cc | 2 +- src/gsiqt/qt5/QtSql/gsiDeclQtSqlTypeTraits.h | 2 +- src/gsiqt/qt5/QtSql/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtSvg/gsiDeclQGraphicsSvgItem.cc | 2 +- src/gsiqt/qt5/QtSvg/gsiDeclQSvgGenerator.cc | 2 +- src/gsiqt/qt5/QtSvg/gsiDeclQSvgRenderer.cc | 2 +- src/gsiqt/qt5/QtSvg/gsiDeclQSvgWidget.cc | 2 +- src/gsiqt/qt5/QtSvg/gsiDeclQtSvgTypeTraits.h | 2 +- src/gsiqt/qt5/QtSvg/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtUiTools/gsiDeclQUiLoader.cc | 2 +- src/gsiqt/qt5/QtUiTools/gsiDeclQtUiToolsTypeTraits.h | 2 +- src/gsiqt/qt5/QtUiTools/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractButton.cc | 2 +- .../qt5/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemDelegate.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractItemView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractScrollArea.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSlider.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAbstractSpinBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAccessibleWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQAction.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQActionGroup.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQApplication.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQBoxLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQButtonGroup.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQCalendarWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQCheckBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQColorDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQColormap.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQColumnView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQComboBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQCommandLinkButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQCommonStyle.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQCompleter.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDataWidgetMapper.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDateEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDateTimeEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDesktopWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDial.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDialogButtonBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDirModel.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDockWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQDoubleSpinBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQErrorMessage.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFileDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFileIconProvider.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFileSystemModel.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFocusFrame.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFontComboBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFontDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFormLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQFrame.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGesture.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGestureEvent.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGestureRecognizer.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchor.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsBlurEffect.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEffect.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsEllipseItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsGridLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemAnimation.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsItemGroup.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLayoutItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLineItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsLinearLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsObject.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPathItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPixmapItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsPolygonItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsProxyWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRectItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsRotation.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScale.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsScene.cc | 2 +- .../QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneEvent.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc | 2 +- .../qt5/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTextItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsTransform.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGraphicsWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGridLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQGroupBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQHBoxLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQHeaderView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQInputDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQItemDelegate.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorCreatorBase.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQItemEditorFactory.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQKeySequenceEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQLCDNumber.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQLabel.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQLayoutItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQLineEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQListView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQListWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQListWidgetItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMainWindow.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMdiArea.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMdiSubWindow.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMenu.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMenuBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQMessageBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQPanGesture.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQPinchGesture.cc | 2 +- .../qt5/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQPlainTextEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQProgressBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQProgressDialog.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQPushButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQRadioButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQRubberBand.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQScrollArea.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQScrollBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQScroller.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQScrollerProperties.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQShortcut.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSizeGrip.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSizePolicy.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSlider.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSpacerItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSpinBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSplashScreen.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSplitter.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSplitterHandle.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStackedLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStackedWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStatusBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyle.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleFactory.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturn.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnMask.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleHintReturnVariant.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOption.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComboBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionComplex.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionDockWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFocusRect.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionFrame.cc | 2 +- .../qt5/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionGroupBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionHeader.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionMenuItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionProgressBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionRubberBand.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSlider.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionSpinBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTab.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc | 2 +- .../qt5/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionTitleBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionToolButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyleOptionViewItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStylePainter.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStylePlugin.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQStyledItemDelegate.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSwipeGesture.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQSystemTrayIcon.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTabBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTabWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTableView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTableWidgetItem.cc | 2 +- .../qt5/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTapAndHoldGesture.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTapGesture.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTextBrowser.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTextEdit.cc | 2 +- .../qt5/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTimeEdit.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQToolBar.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQToolBox.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQToolButton.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQToolTip.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTreeView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQUndoCommand.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQUndoGroup.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQUndoStack.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQUndoView.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQVBoxLayout.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWhatsThis.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWidget.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetAction.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWidgetItem.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWizard.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQWizardPage.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsAdd.cc | 2 +- src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsTypeTraits.h | 2 +- src/gsiqt/qt5/QtWidgets/gsiQtExternals.h | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomAttr.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomCDATASection.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomCharacterData.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomComment.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomDocument.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentFragment.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomDocumentType.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomElement.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomEntity.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomEntityReference.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomImplementation.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomNamedNodeMap.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomNode.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomNodeList.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomNotation.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomProcessingInstruction.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQDomText.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlAttributes.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlContentHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlDTDHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlDeclHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlDefaultHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlEntityResolver.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlErrorHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlInputSource.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlLexicalHandler.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlLocator.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlNamespaceSupport.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlParseException.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlReader.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQXmlSimpleReader.cc | 2 +- src/gsiqt/qt5/QtXml/gsiDeclQtXmlTypeTraits.h | 2 +- src/gsiqt/qt5/QtXml/gsiQtExternals.h | 2 +- .../qt5/QtXmlPatterns/gsiDeclQAbstractMessageHandler.cc | 2 +- .../qt5/QtXmlPatterns/gsiDeclQAbstractUriResolver.cc | 2 +- .../qt5/QtXmlPatterns/gsiDeclQAbstractXmlNodeModel.cc | 2 +- .../qt5/QtXmlPatterns/gsiDeclQAbstractXmlReceiver.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSimpleXmlNodeModel.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQSourceLocation.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlFormatter.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlItem.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlName.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNamePool.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlNodeModelIndex.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlQuery.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlResultItems.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchema.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSchemaValidator.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQXmlSerializer.cc | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsAdd.cc | 2 +- .../qt5/QtXmlPatterns/gsiDeclQtXmlPatternsTypeTraits.h | 2 +- src/gsiqt/qt5/QtXmlPatterns/gsiQtExternals.h | 2 +- src/gsiqt/qtbasic/gsiDeclQtAllTypeTraits.h | 2 +- src/gsiqt/qtbasic/gsiQt.cc | 2 +- src/gsiqt/qtbasic/gsiQt.h | 2 +- src/gsiqt/qtbasic/gsiQtBasicCommon.h | 2 +- src/gsiqt/qtbasic/gsiQtCoreExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtDesignerExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtGuiExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtHelper.cc | 2 +- src/gsiqt/qtbasic/gsiQtHelper.h | 2 +- src/gsiqt/qtbasic/gsiQtMultimediaExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtNetworkExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtPrintSupportExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtSqlExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtSvgExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtUiToolsExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtWidgetsExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtXmlExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtXmlPatternsExternals.h | 2 +- src/gtfui/gtfUiDialog.cc | 2 +- src/gtfui/gtfUiDialog.h | 2 +- src/gtfui/gtfui.cc | 2 +- src/img/img/gsiDeclImg.cc | 2 +- src/img/img/imgCommon.h | 2 +- src/img/img/imgForceLink.cc | 2 +- src/img/img/imgForceLink.h | 2 +- src/img/img/imgLandmarksDialog.cc | 2 +- src/img/img/imgLandmarksDialog.h | 2 +- src/img/img/imgNavigator.cc | 2 +- src/img/img/imgNavigator.h | 2 +- src/img/img/imgObject.cc | 2 +- src/img/img/imgObject.h | 2 +- src/img/img/imgPlugin.cc | 2 +- src/img/img/imgPlugin.h | 2 +- src/img/img/imgPropertiesPage.cc | 2 +- src/img/img/imgPropertiesPage.h | 2 +- src/img/img/imgService.cc | 2 +- src/img/img/imgService.h | 2 +- src/img/img/imgStream.cc | 2 +- src/img/img/imgStream.h | 2 +- src/img/img/imgWidgets.cc | 2 +- src/img/img/imgWidgets.h | 2 +- src/img/unit_tests/imgFile.cc | 2 +- src/img/unit_tests/imgObject.cc | 2 +- src/klayout_main/klayout_main/klayout.cc | 2 +- src/klayout_main/tests/klayout_main_tests.cc | 2 +- src/lay/lay/gsiDeclLayApplication.cc | 2 +- src/lay/lay/gsiDeclLayHelpDialog.cc | 2 +- src/lay/lay/gsiDeclLayMainWindow.cc | 2 +- src/lay/lay/layApplication.cc | 2 +- src/lay/lay/layApplication.h | 2 +- src/lay/lay/layClipDialog.cc | 2 +- src/lay/lay/layClipDialog.h | 2 +- src/lay/lay/layCommon.h | 2 +- src/lay/lay/layConfig.h | 2 +- src/lay/lay/layControlWidgetStack.cc | 2 +- src/lay/lay/layControlWidgetStack.h | 2 +- src/lay/lay/layCrashMessage.cc | 2 +- src/lay/lay/layCrashMessage.h | 2 +- src/lay/lay/layFillDialog.cc | 2 +- src/lay/lay/layFillDialog.h | 2 +- src/lay/lay/layFontController.cc | 2 +- src/lay/lay/layFontController.h | 2 +- src/lay/lay/layForceLink.cc | 2 +- src/lay/lay/layForceLink.h | 2 +- src/lay/lay/layGSIHelpProvider.cc | 2 +- src/lay/lay/layGSIHelpProvider.h | 2 +- src/lay/lay/layHelpAboutDialog.cc | 2 +- src/lay/lay/layHelpAboutDialog.h | 2 +- src/lay/lay/layHelpDialog.cc | 2 +- src/lay/lay/layHelpDialog.h | 2 +- src/lay/lay/layHelpProvider.cc | 2 +- src/lay/lay/layHelpProvider.h | 2 +- src/lay/lay/layHelpSource.cc | 2 +- src/lay/lay/layHelpSource.h | 2 +- src/lay/lay/layInit.cc | 2 +- src/lay/lay/layInit.h | 2 +- src/lay/lay/layLibraryController.cc | 2 +- src/lay/lay/layLibraryController.h | 2 +- src/lay/lay/layLogViewerDialog.cc | 2 +- src/lay/lay/layLogViewerDialog.h | 2 +- src/lay/lay/layMacroController.cc | 2 +- src/lay/lay/layMacroController.h | 2 +- src/lay/lay/layMacroEditorDialog.cc | 2 +- src/lay/lay/layMacroEditorDialog.h | 2 +- src/lay/lay/layMacroEditorPage.cc | 2 +- src/lay/lay/layMacroEditorPage.h | 2 +- src/lay/lay/layMacroEditorSetupPage.cc | 2 +- src/lay/lay/layMacroEditorSetupPage.h | 2 +- src/lay/lay/layMacroEditorTree.cc | 2 +- src/lay/lay/layMacroEditorTree.h | 2 +- src/lay/lay/layMacroPropertiesDialog.cc | 2 +- src/lay/lay/layMacroPropertiesDialog.h | 2 +- src/lay/lay/layMacroVariableView.cc | 2 +- src/lay/lay/layMacroVariableView.h | 2 +- src/lay/lay/layMainConfigPages.cc | 2 +- src/lay/lay/layMainConfigPages.h | 2 +- src/lay/lay/layMainWindow.cc | 2 +- src/lay/lay/layMainWindow.h | 2 +- src/lay/lay/layNativePlugin.cc | 2 +- src/lay/lay/layNativePlugin.h | 2 +- src/lay/lay/layNavigator.cc | 2 +- src/lay/lay/layNavigator.h | 2 +- src/lay/lay/layPasswordDialog.cc | 2 +- src/lay/lay/layPasswordDialog.h | 2 +- src/lay/lay/layProgress.cc | 2 +- src/lay/lay/layProgress.h | 2 +- src/lay/lay/layProgressDialog.cc | 2 +- src/lay/lay/layProgressDialog.h | 2 +- src/lay/lay/layProgressWidget.cc | 2 +- src/lay/lay/layProgressWidget.h | 2 +- src/lay/lay/layResourceHelpProvider.cc | 2 +- src/lay/lay/layResourceHelpProvider.h | 2 +- src/lay/lay/layRuntimeErrorForm.cc | 2 +- src/lay/lay/layRuntimeErrorForm.h | 2 +- src/lay/lay/laySalt.cc | 2 +- src/lay/lay/laySalt.h | 2 +- src/lay/lay/laySaltController.cc | 2 +- src/lay/lay/laySaltController.h | 2 +- src/lay/lay/laySaltDownloadManager.cc | 2 +- src/lay/lay/laySaltDownloadManager.h | 2 +- src/lay/lay/laySaltGrain.cc | 2 +- src/lay/lay/laySaltGrain.h | 2 +- src/lay/lay/laySaltGrainDetailsTextWidget.cc | 2 +- src/lay/lay/laySaltGrainDetailsTextWidget.h | 2 +- src/lay/lay/laySaltGrainPropertiesDialog.cc | 2 +- src/lay/lay/laySaltGrainPropertiesDialog.h | 2 +- src/lay/lay/laySaltGrains.cc | 2 +- src/lay/lay/laySaltGrains.h | 2 +- src/lay/lay/laySaltManagerDialog.cc | 2 +- src/lay/lay/laySaltManagerDialog.h | 2 +- src/lay/lay/laySaltModel.cc | 2 +- src/lay/lay/laySaltModel.h | 2 +- src/lay/lay/laySearchReplaceConfigPage.cc | 2 +- src/lay/lay/laySearchReplaceConfigPage.h | 2 +- src/lay/lay/laySearchReplaceDialog.cc | 2 +- src/lay/lay/laySearchReplaceDialog.h | 2 +- src/lay/lay/laySearchReplacePlugin.cc | 2 +- src/lay/lay/laySearchReplacePropertiesWidgets.cc | 2 +- src/lay/lay/laySearchReplacePropertiesWidgets.h | 2 +- src/lay/lay/laySession.cc | 2 +- src/lay/lay/laySession.h | 2 +- src/lay/lay/laySettingsForm.cc | 2 +- src/lay/lay/laySettingsForm.h | 2 +- src/lay/lay/laySignalHandler.cc | 2 +- src/lay/lay/laySignalHandler.h | 2 +- src/lay/lay/laySystemPaths.cc | 2 +- src/lay/lay/laySystemPaths.h | 2 +- src/lay/lay/layTechSetupDialog.cc | 2 +- src/lay/lay/layTechSetupDialog.h | 2 +- src/lay/lay/layTechnologyController.cc | 2 +- src/lay/lay/layTechnologyController.h | 2 +- src/lay/lay/layTextProgress.cc | 2 +- src/lay/lay/layTextProgress.h | 2 +- src/lay/lay/layTextProgressDelegate.cc | 2 +- src/lay/lay/layTextProgressDelegate.h | 2 +- src/lay/lay/layVersion.cc | 2 +- src/lay/lay/layVersion.h | 2 +- src/lay/lay/layViewWidgetStack.cc | 2 +- src/lay/lay/layViewWidgetStack.h | 2 +- src/lay/unit_tests/laySalt.cc | 2 +- src/lay/unit_tests/laySessionTests.cc | 2 +- src/laybasic/laybasic/gsiDeclLayDialogs.cc | 2 +- src/laybasic/laybasic/gsiDeclLayLayers.cc | 2 +- src/laybasic/laybasic/gsiDeclLayLayoutView.cc | 2 +- src/laybasic/laybasic/gsiDeclLayMarker.cc | 2 +- src/laybasic/laybasic/gsiDeclLayMenu.cc | 2 +- src/laybasic/laybasic/gsiDeclLayNetlistBrowserDialog.cc | 2 +- src/laybasic/laybasic/gsiDeclLayPlugin.cc | 2 +- src/laybasic/laybasic/gsiDeclLayStream.cc | 2 +- src/laybasic/laybasic/gtf.cc | 2 +- src/laybasic/laybasic/gtf.h | 2 +- src/laybasic/laybasic/gtfdummy.cc | 2 +- src/laybasic/laybasic/layAbstractMenu.cc | 2 +- src/laybasic/laybasic/layAbstractMenu.h | 2 +- src/laybasic/laybasic/layAnnotationShapes.cc | 2 +- src/laybasic/laybasic/layAnnotationShapes.h | 2 +- src/laybasic/laybasic/layBackgroundAwareTreeStyle.cc | 2 +- src/laybasic/laybasic/layBackgroundAwareTreeStyle.h | 2 +- src/laybasic/laybasic/layBitmap.cc | 2 +- src/laybasic/laybasic/layBitmap.h | 2 +- src/laybasic/laybasic/layBitmapRenderer.cc | 2 +- src/laybasic/laybasic/layBitmapRenderer.h | 2 +- src/laybasic/laybasic/layBitmapsToImage.cc | 2 +- src/laybasic/laybasic/layBitmapsToImage.h | 2 +- src/laybasic/laybasic/layBookmarkList.cc | 2 +- src/laybasic/laybasic/layBookmarkList.h | 2 +- src/laybasic/laybasic/layBookmarkManagementForm.cc | 2 +- src/laybasic/laybasic/layBookmarkManagementForm.h | 2 +- src/laybasic/laybasic/layBookmarksView.cc | 2 +- src/laybasic/laybasic/layBookmarksView.h | 2 +- src/laybasic/laybasic/layBrowseInstancesForm.cc | 2 +- src/laybasic/laybasic/layBrowseInstancesForm.h | 2 +- src/laybasic/laybasic/layBrowseShapesForm.cc | 2 +- src/laybasic/laybasic/layBrowseShapesForm.h | 2 +- src/laybasic/laybasic/layBrowser.cc | 2 +- src/laybasic/laybasic/layBrowser.h | 2 +- src/laybasic/laybasic/layBrowserDialog.cc | 2 +- src/laybasic/laybasic/layBrowserDialog.h | 2 +- src/laybasic/laybasic/layBrowserPanel.cc | 2 +- src/laybasic/laybasic/layBrowserPanel.h | 2 +- src/laybasic/laybasic/layCanvasPlane.cc | 2 +- src/laybasic/laybasic/layCanvasPlane.h | 2 +- src/laybasic/laybasic/layCellSelectionForm.cc | 2 +- src/laybasic/laybasic/layCellSelectionForm.h | 2 +- src/laybasic/laybasic/layCellTreeModel.cc | 2 +- src/laybasic/laybasic/layCellTreeModel.h | 2 +- src/laybasic/laybasic/layCellView.cc | 2 +- src/laybasic/laybasic/layCellView.h | 2 +- src/laybasic/laybasic/layColorPalette.cc | 2 +- src/laybasic/laybasic/layColorPalette.h | 2 +- src/laybasic/laybasic/layConfigurationDialog.cc | 2 +- src/laybasic/laybasic/layConfigurationDialog.h | 2 +- src/laybasic/laybasic/layConverters.cc | 2 +- src/laybasic/laybasic/layConverters.h | 2 +- src/laybasic/laybasic/layCursor.cc | 2 +- src/laybasic/laybasic/layCursor.h | 2 +- src/laybasic/laybasic/layD25TechnologyComponent.cc | 2 +- src/laybasic/laybasic/layD25TechnologyComponent.h | 2 +- src/laybasic/laybasic/layDialogs.cc | 2 +- src/laybasic/laybasic/layDialogs.h | 2 +- src/laybasic/laybasic/layDispatcher.cc | 2 +- src/laybasic/laybasic/layDispatcher.h | 2 +- src/laybasic/laybasic/layDisplayState.cc | 2 +- src/laybasic/laybasic/layDisplayState.h | 2 +- src/laybasic/laybasic/layDitherPattern.cc | 2 +- src/laybasic/laybasic/layDitherPattern.h | 2 +- src/laybasic/laybasic/layDrawing.cc | 2 +- src/laybasic/laybasic/layDrawing.h | 2 +- src/laybasic/laybasic/layEditLineStyleWidget.cc | 2 +- src/laybasic/laybasic/layEditLineStyleWidget.h | 2 +- src/laybasic/laybasic/layEditLineStylesForm.cc | 2 +- src/laybasic/laybasic/layEditLineStylesForm.h | 2 +- src/laybasic/laybasic/layEditStippleWidget.cc | 2 +- src/laybasic/laybasic/layEditStippleWidget.h | 2 +- src/laybasic/laybasic/layEditStipplesForm.cc | 2 +- src/laybasic/laybasic/layEditStipplesForm.h | 2 +- src/laybasic/laybasic/layEditable.cc | 2 +- src/laybasic/laybasic/layEditable.h | 2 +- src/laybasic/laybasic/layEditorOptionsFrame.cc | 2 +- src/laybasic/laybasic/layEditorOptionsFrame.h | 2 +- src/laybasic/laybasic/layEditorOptionsPage.cc | 2 +- src/laybasic/laybasic/layEditorOptionsPage.h | 2 +- src/laybasic/laybasic/layEditorOptionsPages.cc | 2 +- src/laybasic/laybasic/layEditorOptionsPages.h | 2 +- src/laybasic/laybasic/layEditorServiceBase.cc | 2 +- src/laybasic/laybasic/layEditorServiceBase.h | 2 +- src/laybasic/laybasic/layFileDialog.cc | 2 +- src/laybasic/laybasic/layFileDialog.h | 2 +- src/laybasic/laybasic/layFinder.cc | 2 +- src/laybasic/laybasic/layFinder.h | 2 +- src/laybasic/laybasic/layFixedFont.cc | 2 +- src/laybasic/laybasic/layGenericSyntaxHighlighter.cc | 2 +- src/laybasic/laybasic/layGenericSyntaxHighlighter.h | 2 +- src/laybasic/laybasic/layGridNet.cc | 2 +- src/laybasic/laybasic/layGridNet.h | 2 +- src/laybasic/laybasic/layHierarchyControlPanel.cc | 2 +- src/laybasic/laybasic/layHierarchyControlPanel.h | 2 +- src/laybasic/laybasic/layIndexedNetlistModel.cc | 2 +- src/laybasic/laybasic/layIndexedNetlistModel.h | 2 +- src/laybasic/laybasic/layItemDelegates.cc | 2 +- src/laybasic/laybasic/layItemDelegates.h | 2 +- src/laybasic/laybasic/layLayerControlPanel.cc | 2 +- src/laybasic/laybasic/layLayerControlPanel.h | 2 +- src/laybasic/laybasic/layLayerMappingWidget.cc | 2 +- src/laybasic/laybasic/layLayerMappingWidget.h | 2 +- src/laybasic/laybasic/layLayerProperties.cc | 2 +- src/laybasic/laybasic/layLayerProperties.h | 2 +- src/laybasic/laybasic/layLayerToolbox.cc | 2 +- src/laybasic/laybasic/layLayerToolbox.h | 2 +- src/laybasic/laybasic/layLayerTreeModel.cc | 2 +- src/laybasic/laybasic/layLayerTreeModel.h | 2 +- src/laybasic/laybasic/layLayoutCanvas.cc | 2 +- src/laybasic/laybasic/layLayoutCanvas.h | 2 +- src/laybasic/laybasic/layLayoutPropertiesForm.cc | 2 +- src/laybasic/laybasic/layLayoutPropertiesForm.h | 2 +- src/laybasic/laybasic/layLayoutStatisticsForm.cc | 2 +- src/laybasic/laybasic/layLayoutStatisticsForm.h | 2 +- src/laybasic/laybasic/layLayoutView.cc | 2 +- src/laybasic/laybasic/layLayoutView.h | 2 +- src/laybasic/laybasic/layLayoutViewConfigPages.cc | 2 +- src/laybasic/laybasic/layLayoutViewConfigPages.h | 2 +- src/laybasic/laybasic/layLayoutViewFunctions.cc | 2 +- src/laybasic/laybasic/layLayoutViewFunctions.h | 2 +- src/laybasic/laybasic/layLibrariesView.cc | 2 +- src/laybasic/laybasic/layLibrariesView.h | 2 +- src/laybasic/laybasic/layLineStylePalette.cc | 2 +- src/laybasic/laybasic/layLineStylePalette.h | 2 +- src/laybasic/laybasic/layLineStyles.cc | 2 +- src/laybasic/laybasic/layLineStyles.h | 2 +- src/laybasic/laybasic/layLoadLayoutOptionsDialog.cc | 2 +- src/laybasic/laybasic/layLoadLayoutOptionsDialog.h | 2 +- src/laybasic/laybasic/layMarker.cc | 2 +- src/laybasic/laybasic/layMarker.h | 2 +- src/laybasic/laybasic/layMouseTracker.cc | 2 +- src/laybasic/laybasic/layMouseTracker.h | 2 +- src/laybasic/laybasic/layMove.cc | 2 +- src/laybasic/laybasic/layMove.h | 2 +- src/laybasic/laybasic/layNetExportDialog.cc | 2 +- src/laybasic/laybasic/layNetExportDialog.h | 2 +- src/laybasic/laybasic/layNetInfoDialog.cc | 2 +- src/laybasic/laybasic/layNetInfoDialog.h | 2 +- src/laybasic/laybasic/layNetlistBrowser.cc | 2 +- src/laybasic/laybasic/layNetlistBrowser.h | 2 +- src/laybasic/laybasic/layNetlistBrowserDialog.cc | 2 +- src/laybasic/laybasic/layNetlistBrowserDialog.h | 2 +- src/laybasic/laybasic/layNetlistBrowserModel.cc | 2 +- src/laybasic/laybasic/layNetlistBrowserModel.h | 2 +- src/laybasic/laybasic/layNetlistBrowserPage.cc | 2 +- src/laybasic/laybasic/layNetlistBrowserPage.h | 2 +- src/laybasic/laybasic/layNetlistBrowserTreeModel.cc | 2 +- src/laybasic/laybasic/layNetlistBrowserTreeModel.h | 2 +- src/laybasic/laybasic/layNetlistCrossReferenceModel.cc | 2 +- src/laybasic/laybasic/layNetlistCrossReferenceModel.h | 2 +- src/laybasic/laybasic/layObjectInstPath.cc | 2 +- src/laybasic/laybasic/layObjectInstPath.h | 2 +- src/laybasic/laybasic/layParsedLayerSource.cc | 2 +- src/laybasic/laybasic/layParsedLayerSource.h | 2 +- src/laybasic/laybasic/layPlugin.cc | 2 +- src/laybasic/laybasic/layPlugin.h | 2 +- src/laybasic/laybasic/layProperties.cc | 2 +- src/laybasic/laybasic/layProperties.h | 2 +- src/laybasic/laybasic/layPropertiesDialog.cc | 2 +- src/laybasic/laybasic/layPropertiesDialog.h | 2 +- src/laybasic/laybasic/layQtTools.cc | 2 +- src/laybasic/laybasic/layQtTools.h | 2 +- src/laybasic/laybasic/layRedrawLayerInfo.cc | 2 +- src/laybasic/laybasic/layRedrawLayerInfo.h | 2 +- src/laybasic/laybasic/layRedrawThread.cc | 2 +- src/laybasic/laybasic/layRedrawThread.h | 2 +- src/laybasic/laybasic/layRedrawThreadCanvas.cc | 2 +- src/laybasic/laybasic/layRedrawThreadCanvas.h | 2 +- src/laybasic/laybasic/layRedrawThreadWorker.cc | 2 +- src/laybasic/laybasic/layRedrawThreadWorker.h | 2 +- src/laybasic/laybasic/layRenderer.cc | 2 +- src/laybasic/laybasic/layRenderer.h | 2 +- src/laybasic/laybasic/layRubberBox.cc | 2 +- src/laybasic/laybasic/layRubberBox.h | 2 +- src/laybasic/laybasic/laySaveLayoutOptionsDialog.cc | 2 +- src/laybasic/laybasic/laySaveLayoutOptionsDialog.h | 2 +- src/laybasic/laybasic/laySelectCellViewForm.cc | 2 +- src/laybasic/laybasic/laySelectCellViewForm.h | 2 +- src/laybasic/laybasic/laySelectLineStyleForm.cc | 2 +- src/laybasic/laybasic/laySelectLineStyleForm.h | 2 +- src/laybasic/laybasic/laySelectStippleForm.cc | 2 +- src/laybasic/laybasic/laySelectStippleForm.h | 2 +- src/laybasic/laybasic/laySelector.cc | 2 +- src/laybasic/laybasic/laySelector.h | 2 +- src/laybasic/laybasic/laySnap.cc | 2 +- src/laybasic/laybasic/laySnap.h | 2 +- src/laybasic/laybasic/layStipplePalette.cc | 2 +- src/laybasic/laybasic/layStipplePalette.h | 2 +- src/laybasic/laybasic/layStream.cc | 2 +- src/laybasic/laybasic/layStream.h | 2 +- src/laybasic/laybasic/layTechnology.cc | 2 +- src/laybasic/laybasic/layTechnology.h | 2 +- src/laybasic/laybasic/layTipDialog.cc | 2 +- src/laybasic/laybasic/layTipDialog.h | 2 +- src/laybasic/laybasic/layViewObject.cc | 2 +- src/laybasic/laybasic/layViewObject.h | 2 +- src/laybasic/laybasic/layViewOp.cc | 2 +- src/laybasic/laybasic/layViewOp.h | 2 +- src/laybasic/laybasic/layViewport.cc | 2 +- src/laybasic/laybasic/layViewport.h | 2 +- src/laybasic/laybasic/layWidgets.cc | 2 +- src/laybasic/laybasic/layWidgets.h | 2 +- src/laybasic/laybasic/layZoomBox.cc | 2 +- src/laybasic/laybasic/layZoomBox.h | 2 +- src/laybasic/laybasic/laybasicCommon.h | 2 +- src/laybasic/laybasic/laybasicConfig.h | 2 +- src/laybasic/laybasic/rdbInfoWidget.cc | 2 +- src/laybasic/laybasic/rdbInfoWidget.h | 2 +- src/laybasic/laybasic/rdbMarkerBrowser.cc | 2 +- src/laybasic/laybasic/rdbMarkerBrowser.h | 2 +- src/laybasic/laybasic/rdbMarkerBrowserDialog.cc | 2 +- src/laybasic/laybasic/rdbMarkerBrowserDialog.h | 2 +- src/laybasic/laybasic/rdbMarkerBrowserPage.cc | 2 +- src/laybasic/laybasic/rdbMarkerBrowserPage.h | 2 +- src/laybasic/unit_tests/layAbstractMenuTests.cc | 2 +- src/laybasic/unit_tests/layAnnotationShapes.cc | 2 +- src/laybasic/unit_tests/layBitmap.cc | 2 +- src/laybasic/unit_tests/layBitmapsToImage.cc | 2 +- src/laybasic/unit_tests/layLayerProperties.cc | 2 +- src/laybasic/unit_tests/layNetlistBrowserModelTests.cc | 2 +- .../unit_tests/layNetlistBrowserTreeModelTests.cc | 2 +- src/laybasic/unit_tests/layParsedLayerSource.cc | 2 +- src/laybasic/unit_tests/layRenderer.cc | 2 +- src/laybasic/unit_tests/laySnapTests.cc | 2 +- src/lib/lib/libBasic.cc | 2 +- src/lib/lib/libBasicArc.cc | 2 +- src/lib/lib/libBasicArc.h | 2 +- src/lib/lib/libBasicCircle.cc | 2 +- src/lib/lib/libBasicCircle.h | 2 +- src/lib/lib/libBasicDonut.cc | 2 +- src/lib/lib/libBasicDonut.h | 2 +- src/lib/lib/libBasicEllipse.cc | 2 +- src/lib/lib/libBasicEllipse.h | 2 +- src/lib/lib/libBasicPie.cc | 2 +- src/lib/lib/libBasicPie.h | 2 +- src/lib/lib/libBasicRoundPath.cc | 2 +- src/lib/lib/libBasicRoundPath.h | 2 +- src/lib/lib/libBasicRoundPolygon.cc | 2 +- src/lib/lib/libBasicRoundPolygon.h | 2 +- src/lib/lib/libBasicStrokedPolygon.cc | 2 +- src/lib/lib/libBasicStrokedPolygon.h | 2 +- src/lib/lib/libBasicText.cc | 2 +- src/lib/lib/libBasicText.h | 2 +- src/lib/lib/libCommon.h | 2 +- src/lib/lib/libForceLink.cc | 2 +- src/lib/lib/libForceLink.h | 2 +- src/lib/unit_tests/libBasicTests.cc | 2 +- src/lvs/lvs/lvsCommon.h | 2 +- src/lvs/lvs/lvsForceLink.cc | 2 +- src/lvs/lvs/lvsForceLink.h | 2 +- src/lvs/unit_tests/lvsBasicTests.cc | 2 +- src/lvs/unit_tests/lvsSimpleTests.cc | 2 +- src/lvs/unit_tests/lvsTests.cc | 2 +- src/lym/lym/gsiDeclLymMacro.cc | 2 +- src/lym/lym/lymCommon.h | 2 +- src/lym/lym/lymMacro.cc | 2 +- src/lym/lym/lymMacro.h | 2 +- src/lym/lym/lymMacroInterpreter.cc | 2 +- src/lym/lym/lymMacroInterpreter.h | 2 +- src/plugins/common/dbPluginCommon.h | 2 +- src/plugins/common/layPluginCommon.h | 2 +- src/plugins/streamers/cif/db_plugin/dbCIF.cc | 2 +- src/plugins/streamers/cif/db_plugin/dbCIF.h | 2 +- src/plugins/streamers/cif/db_plugin/dbCIFFormat.h | 2 +- src/plugins/streamers/cif/db_plugin/dbCIFReader.cc | 2 +- src/plugins/streamers/cif/db_plugin/dbCIFReader.h | 2 +- src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc | 2 +- src/plugins/streamers/cif/db_plugin/dbCIFWriter.h | 2 +- src/plugins/streamers/cif/db_plugin/gsiDeclDbCIF.cc | 2 +- .../streamers/cif/lay_plugin/layCIFReaderPlugin.cc | 2 +- src/plugins/streamers/cif/lay_plugin/layCIFReaderPlugin.h | 2 +- .../streamers/cif/lay_plugin/layCIFWriterPlugin.cc | 2 +- src/plugins/streamers/cif/lay_plugin/layCIFWriterPlugin.h | 2 +- src/plugins/streamers/cif/unit_tests/dbCIFReader.cc | 2 +- .../streamers/common/lay_plugin/layCommonReaderPlugin.cc | 2 +- .../streamers/common/lay_plugin/layCommonReaderPlugin.h | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXF.cc | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXF.h | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXFFormat.h | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXFReader.h | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc | 2 +- src/plugins/streamers/dxf/db_plugin/dbDXFWriter.h | 2 +- src/plugins/streamers/dxf/db_plugin/gsiDeclDbDXF.cc | 2 +- .../streamers/dxf/lay_plugin/layDXFReaderPlugin.cc | 2 +- src/plugins/streamers/dxf/lay_plugin/layDXFReaderPlugin.h | 2 +- .../streamers/dxf/lay_plugin/layDXFWriterPlugin.cc | 2 +- src/plugins/streamers/dxf/lay_plugin/layDXFWriterPlugin.h | 2 +- src/plugins/streamers/dxf/unit_tests/dbDXFReaderTests.cc | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2Converter.cc | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2Converter.h | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2Text.cc | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2TextReader.cc | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2TextReader.h | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.cc | 2 +- .../streamers/gds2/db_plugin/contrib/dbGDS2TextWriter.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2.cc | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2Format.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.cc | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2Reader.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.cc | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2ReaderBase.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.cc | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2Writer.h | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.cc | 2 +- src/plugins/streamers/gds2/db_plugin/dbGDS2WriterBase.h | 2 +- src/plugins/streamers/gds2/db_plugin/gsiDeclDbGDS2.cc | 2 +- .../streamers/gds2/lay_plugin/layGDS2ReaderPlugin.cc | 2 +- .../streamers/gds2/lay_plugin/layGDS2ReaderPlugin.h | 2 +- .../streamers/gds2/lay_plugin/layGDS2WriterPlugin.cc | 2 +- .../streamers/gds2/lay_plugin/layGDS2WriterPlugin.h | 2 +- src/plugins/streamers/gds2/unit_tests/dbGDS2Reader.cc | 2 +- src/plugins/streamers/gds2/unit_tests/dbGDS2Writer.cc | 2 +- src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.cc | 2 +- src/plugins/streamers/lefdef/db_plugin/dbDEFImporter.h | 2 +- .../streamers/lefdef/db_plugin/dbLEFDEFImporter.cc | 2 +- src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h | 2 +- src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc | 2 +- src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc | 2 +- src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.h | 2 +- src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc | 2 +- .../streamers/lefdef/lay_plugin/layLEFDEFImport.cc | 2 +- .../streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.cc | 2 +- .../streamers/lefdef/lay_plugin/layLEFDEFImportDialogs.h | 2 +- .../streamers/lefdef/lay_plugin/layLEFDEFPlugin.cc | 2 +- .../streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc | 2 +- .../lefdef/unit_tests/dbLEFDEFReaderOptionsTests.cc | 2 +- src/plugins/streamers/magic/db_plugin/dbMAG.cc | 2 +- src/plugins/streamers/magic/db_plugin/dbMAG.h | 2 +- src/plugins/streamers/magic/db_plugin/dbMAGFormat.h | 2 +- src/plugins/streamers/magic/db_plugin/dbMAGReader.cc | 2 +- src/plugins/streamers/magic/db_plugin/dbMAGReader.h | 2 +- src/plugins/streamers/magic/db_plugin/dbMAGWriter.cc | 2 +- src/plugins/streamers/magic/db_plugin/dbMAGWriter.h | 2 +- src/plugins/streamers/magic/db_plugin/gsiDeclDbMAG.cc | 2 +- .../streamers/magic/lay_plugin/layMAGReaderPlugin.cc | 2 +- .../streamers/magic/lay_plugin/layMAGReaderPlugin.h | 2 +- .../streamers/magic/lay_plugin/layMAGWriterPlugin.cc | 2 +- .../streamers/magic/lay_plugin/layMAGWriterPlugin.h | 2 +- src/plugins/streamers/magic/unit_tests/dbMAGReader.cc | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASIS.cc | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASIS.h | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASISFormat.h | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASISReader.cc | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASISReader.h | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc | 2 +- src/plugins/streamers/oasis/db_plugin/dbOASISWriter.h | 2 +- src/plugins/streamers/oasis/db_plugin/gsiDeclDbOASIS.cc | 2 +- .../streamers/oasis/lay_plugin/layOASISReaderPlugin.cc | 2 +- .../streamers/oasis/lay_plugin/layOASISReaderPlugin.h | 2 +- .../streamers/oasis/lay_plugin/layOASISWriterPlugin.cc | 2 +- .../streamers/oasis/lay_plugin/layOASISWriterPlugin.h | 2 +- .../streamers/oasis/unit_tests/dbOASISReaderTests.cc | 2 +- .../streamers/oasis/unit_tests/dbOASISWriter2Tests.cc | 2 +- .../streamers/oasis/unit_tests/dbOASISWriterTests.cc | 2 +- .../streamers/pcb/db_plugin/dbGerberDrillFileReader.cc | 2 +- .../streamers/pcb/db_plugin/dbGerberDrillFileReader.h | 2 +- src/plugins/streamers/pcb/db_plugin/dbGerberImportData.cc | 2 +- src/plugins/streamers/pcb/db_plugin/dbGerberImportData.h | 2 +- src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc | 2 +- src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h | 2 +- src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.cc | 2 +- src/plugins/streamers/pcb/db_plugin/dbRS274XApertures.h | 2 +- src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc | 2 +- src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h | 2 +- src/plugins/streamers/pcb/lay_plugin/layGerberImport.cc | 2 +- .../streamers/pcb/lay_plugin/layGerberImportDialog.cc | 2 +- .../streamers/pcb/lay_plugin/layGerberImportDialog.h | 2 +- src/plugins/streamers/pcb/unit_tests/dbGerberImport.cc | 2 +- .../tools/bool/lay_plugin/layBooleanOperationsDialogs.cc | 2 +- .../tools/bool/lay_plugin/layBooleanOperationsDialogs.h | 2 +- .../tools/bool/lay_plugin/layBooleanOperationsPlugin.cc | 2 +- src/plugins/tools/diff/lay_plugin/layDiffPlugin.cc | 2 +- src/plugins/tools/diff/lay_plugin/layDiffToolDialog.cc | 2 +- src/plugins/tools/diff/lay_plugin/layDiffToolDialog.h | 2 +- src/plugins/tools/import/lay_plugin/layStreamImport.cc | 2 +- .../tools/import/lay_plugin/layStreamImportDialog.cc | 2 +- .../tools/import/lay_plugin/layStreamImportDialog.h | 2 +- src/plugins/tools/import/lay_plugin/layStreamImporter.cc | 2 +- src/plugins/tools/import/lay_plugin/layStreamImporter.h | 2 +- src/plugins/tools/net_tracer/db_plugin/dbNetTracer.cc | 2 +- src/plugins/tools/net_tracer/db_plugin/dbNetTracer.h | 2 +- src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc | 2 +- src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h | 2 +- .../tools/net_tracer/db_plugin/dbNetTracerPlugin.cc | 2 +- .../tools/net_tracer/db_plugin/gsiDeclDbNetTracer.cc | 2 +- .../tools/net_tracer/lay_plugin/layNetTracerConfig.cc | 2 +- .../tools/net_tracer/lay_plugin/layNetTracerConfig.h | 2 +- .../tools/net_tracer/lay_plugin/layNetTracerDialog.cc | 2 +- .../tools/net_tracer/lay_plugin/layNetTracerDialog.h | 2 +- src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.cc | 2 +- src/plugins/tools/net_tracer/lay_plugin/layNetTracerIO.h | 2 +- .../tools/net_tracer/lay_plugin/layNetTracerPlugin.cc | 2 +- .../tools/net_tracer/unit_tests/dbNetTracerTests.cc | 2 +- src/plugins/tools/net_tracer/unit_tests/dbTraceAllNets.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25Camera.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25Camera.h | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25MemChunks.h | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25View.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25View.h | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25ViewUtils.h | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h | 2 +- src/plugins/tools/view_25d/lay_plugin/layXORPlugin.cc | 2 +- .../tools/view_25d/unit_tests/layD25CameraTests.cc | 2 +- .../tools/view_25d/unit_tests/layD25MemChunksTests.cc | 2 +- .../tools/view_25d/unit_tests/layD25ViewUtilsTests.cc | 2 +- src/plugins/tools/xor/lay_plugin/layXORPlugin.cc | 2 +- src/plugins/tools/xor/lay_plugin/layXORProgress.cc | 2 +- src/plugins/tools/xor/lay_plugin/layXORProgress.h | 2 +- src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc | 2 +- src/plugins/tools/xor/lay_plugin/layXORToolDialog.h | 2 +- src/pya/pya/pya.cc | 2 +- src/pya/pya/pya.h | 2 +- src/pya/pya/pyaCommon.h | 2 +- src/pya/pya/pyaConvert.cc | 2 +- src/pya/pya/pyaConvert.h | 2 +- src/pya/pya/pyaHelpers.cc | 2 +- src/pya/pya/pyaHelpers.h | 2 +- src/pya/pya/pyaInspector.cc | 2 +- src/pya/pya/pyaInspector.h | 2 +- src/pya/pya/pyaMarshal.cc | 2 +- src/pya/pya/pyaMarshal.h | 2 +- src/pya/pya/pyaModule.cc | 2 +- src/pya/pya/pyaModule.h | 2 +- src/pya/pya/pyaObject.cc | 2 +- src/pya/pya/pyaObject.h | 2 +- src/pya/pya/pyaRefs.cc | 2 +- src/pya/pya/pyaRefs.h | 2 +- src/pya/pya/pyaSignalHandler.cc | 2 +- src/pya/pya/pyaSignalHandler.h | 2 +- src/pya/pya/pyaStatusChangedListener.cc | 2 +- src/pya/pya/pyaStatusChangedListener.h | 2 +- src/pya/pya/pyaUtils.cc | 2 +- src/pya/pya/pyaUtils.h | 2 +- src/pya/unit_tests/pyaTests.cc | 2 +- src/pyastub/pya.cc | 2 +- src/pyastub/pya.h | 2 +- src/pyastub/pyaCommon.h | 2 +- src/pymod/QtCore/QtCoreMain.cc | 2 +- src/pymod/QtDesigner/QtDesignerMain.cc | 2 +- src/pymod/QtGui/QtGuiMain.cc | 2 +- src/pymod/QtMultimedia/QtMultimediaMain.cc | 2 +- src/pymod/QtNetwork/QtNetworkMain.cc | 2 +- src/pymod/QtPrintSupport/QtPrintSupportMain.cc | 2 +- src/pymod/QtSql/QtSqlMain.cc | 2 +- src/pymod/QtSvg/QtSvgMain.cc | 2 +- src/pymod/QtUiTools/QtUiToolsMain.cc | 2 +- src/pymod/QtWidgets/QtWidgetsMain.cc | 2 +- src/pymod/QtXml/QtXmlMain.cc | 2 +- src/pymod/QtXmlPatterns/QtXmlPatternsMain.cc | 2 +- src/pymod/bridge_sample/bridge_sample.cc | 2 +- src/pymod/db/dbMain.cc | 2 +- src/pymod/lay/layMain.cc | 2 +- src/pymod/lib/libMain.cc | 2 +- src/pymod/pymodHelper.h | 2 +- src/pymod/rdb/rdbMain.cc | 2 +- src/pymod/tl/tlMain.cc | 2 +- src/pymod/unit_tests/pymod_tests.cc | 2 +- src/rba/rba/rba.cc | 2 +- src/rba/rba/rba.h | 2 +- src/rba/rba/rbaCommon.h | 2 +- src/rba/rba/rbaConvert.cc | 2 +- src/rba/rba/rbaConvert.h | 2 +- src/rba/rba/rbaInspector.cc | 2 +- src/rba/rba/rbaInspector.h | 2 +- src/rba/rba/rbaInternal.cc | 2 +- src/rba/rba/rbaInternal.h | 2 +- src/rba/rba/rbaMarshal.cc | 2 +- src/rba/rba/rbaMarshal.h | 2 +- src/rba/rba/rbaUtils.cc | 2 +- src/rba/rba/rbaUtils.h | 2 +- src/rba/unit_tests/rbaTests.cc | 2 +- src/rbastub/rba.cc | 2 +- src/rbastub/rba.h | 2 +- src/rbastub/rbaCommon.h | 2 +- src/rdb/rdb/gsiDeclRdb.cc | 2 +- src/rdb/rdb/rdb.cc | 2 +- src/rdb/rdb/rdb.h | 2 +- src/rdb/rdb/rdbCommon.h | 2 +- src/rdb/rdb/rdbFile.cc | 2 +- src/rdb/rdb/rdbForceLink.cc | 2 +- src/rdb/rdb/rdbForceLink.h | 2 +- src/rdb/rdb/rdbRVEReader.cc | 2 +- src/rdb/rdb/rdbReader.cc | 2 +- src/rdb/rdb/rdbReader.h | 2 +- src/rdb/rdb/rdbTiledRdbOutputReceiver.cc | 2 +- src/rdb/rdb/rdbTiledRdbOutputReceiver.h | 2 +- src/rdb/rdb/rdbUtils.cc | 2 +- src/rdb/rdb/rdbUtils.h | 2 +- src/rdb/unit_tests/rdb.cc | 2 +- src/rdb/unit_tests/rdbRVEReaderTests.cc | 2 +- src/tl/tl/tlArch.cc | 2 +- src/tl/tl/tlArch.h | 2 +- src/tl/tl/tlAssert.cc | 2 +- src/tl/tl/tlAssert.h | 2 +- src/tl/tl/tlClassRegistry.cc | 2 +- src/tl/tl/tlClassRegistry.h | 2 +- src/tl/tl/tlCommandLineParser.cc | 2 +- src/tl/tl/tlCommandLineParser.h | 2 +- src/tl/tl/tlCommon.h | 2 +- src/tl/tl/tlCopyOnWrite.cc | 2 +- src/tl/tl/tlCopyOnWrite.h | 2 +- src/tl/tl/tlCpp.h | 2 +- src/tl/tl/tlDataMapping.cc | 2 +- src/tl/tl/tlDataMapping.h | 2 +- src/tl/tl/tlDeferredExecution.cc | 2 +- src/tl/tl/tlDeferredExecution.h | 2 +- src/tl/tl/tlDeferredExecutionQt.cc | 2 +- src/tl/tl/tlDeferredExecutionQt.h | 2 +- src/tl/tl/tlDeflate.cc | 2 +- src/tl/tl/tlDeflate.h | 2 +- src/tl/tl/tlDefs.h | 2 +- src/tl/tl/tlEnv.cc | 2 +- src/tl/tl/tlEnv.h | 2 +- src/tl/tl/tlEquivalenceClusters.cc | 2 +- src/tl/tl/tlEquivalenceClusters.h | 2 +- src/tl/tl/tlEvents.cc | 2 +- src/tl/tl/tlEvents.h | 2 +- src/tl/tl/tlEventsVar.h | 2 +- src/tl/tl/tlException.cc | 2 +- src/tl/tl/tlException.h | 2 +- src/tl/tl/tlExceptions.cc | 2 +- src/tl/tl/tlExceptions.h | 2 +- src/tl/tl/tlExpression.cc | 2 +- src/tl/tl/tlExpression.h | 2 +- src/tl/tl/tlFileSystemWatcher.cc | 2 +- src/tl/tl/tlFileSystemWatcher.h | 2 +- src/tl/tl/tlFileUtils.cc | 2 +- src/tl/tl/tlFileUtils.h | 2 +- src/tl/tl/tlFixedVector.h | 2 +- src/tl/tl/tlGlobPattern.cc | 2 +- src/tl/tl/tlGlobPattern.h | 2 +- src/tl/tl/tlHeap.cc | 2 +- src/tl/tl/tlHeap.h | 2 +- src/tl/tl/tlHttpStream.cc | 2 +- src/tl/tl/tlHttpStream.h | 2 +- src/tl/tl/tlHttpStreamCurl.cc | 2 +- src/tl/tl/tlHttpStreamCurl.h | 2 +- src/tl/tl/tlHttpStreamNoQt.cc | 2 +- src/tl/tl/tlHttpStreamQt.cc | 2 +- src/tl/tl/tlHttpStreamQt.h | 2 +- src/tl/tl/tlInclude.cc | 2 +- src/tl/tl/tlInclude.h | 2 +- src/tl/tl/tlInt128Support.cc | 2 +- src/tl/tl/tlInt128Support.h | 2 +- src/tl/tl/tlInternational.cc | 2 +- src/tl/tl/tlInternational.h | 2 +- src/tl/tl/tlIntervalMap.h | 2 +- src/tl/tl/tlIntervalSet.h | 2 +- src/tl/tl/tlKDTree.h | 2 +- src/tl/tl/tlList.cc | 2 +- src/tl/tl/tlList.h | 2 +- src/tl/tl/tlLog.cc | 2 +- src/tl/tl/tlLog.h | 2 +- src/tl/tl/tlLongInt.cc | 2 +- src/tl/tl/tlLongInt.h | 2 +- src/tl/tl/tlMath.h | 2 +- src/tl/tl/tlObject.cc | 2 +- src/tl/tl/tlObject.h | 2 +- src/tl/tl/tlObjectCollection.h | 2 +- src/tl/tl/tlProgress.cc | 2 +- src/tl/tl/tlProgress.h | 2 +- src/tl/tl/tlRecipe.cc | 2 +- src/tl/tl/tlRecipe.h | 2 +- src/tl/tl/tlReuseVector.h | 2 +- src/tl/tl/tlScriptError.cc | 2 +- src/tl/tl/tlScriptError.h | 2 +- src/tl/tl/tlSelect.h | 2 +- src/tl/tl/tlSleep.cc | 2 +- src/tl/tl/tlSleep.h | 2 +- src/tl/tl/tlStableVector.h | 2 +- src/tl/tl/tlStaticObjects.cc | 2 +- src/tl/tl/tlStaticObjects.h | 2 +- src/tl/tl/tlStream.cc | 2 +- src/tl/tl/tlStream.h | 2 +- src/tl/tl/tlString.cc | 2 +- src/tl/tl/tlString.h | 2 +- src/tl/tl/tlStringEx.h | 2 +- src/tl/tl/tlThreadedWorkers.cc | 2 +- src/tl/tl/tlThreadedWorkers.h | 2 +- src/tl/tl/tlThreads.cc | 2 +- src/tl/tl/tlThreads.h | 2 +- src/tl/tl/tlTimer.cc | 2 +- src/tl/tl/tlTimer.h | 2 +- src/tl/tl/tlTypeTraits.h | 2 +- src/tl/tl/tlUniqueId.cc | 2 +- src/tl/tl/tlUniqueId.h | 2 +- src/tl/tl/tlUniqueName.cc | 2 +- src/tl/tl/tlUniqueName.h | 2 +- src/tl/tl/tlUnitTest.cc | 2 +- src/tl/tl/tlUnitTest.h | 2 +- src/tl/tl/tlUri.cc | 2 +- src/tl/tl/tlUri.h | 2 +- src/tl/tl/tlUtils.h | 2 +- src/tl/tl/tlVariant.cc | 2 +- src/tl/tl/tlVariant.h | 2 +- src/tl/tl/tlVariantUserClasses.h | 2 +- src/tl/tl/tlVector.cc | 2 +- src/tl/tl/tlVector.h | 2 +- src/tl/tl/tlWebDAV.cc | 2 +- src/tl/tl/tlWebDAV.h | 2 +- src/tl/tl/tlXMLParser.cc | 2 +- src/tl/tl/tlXMLParser.h | 2 +- src/tl/tl/tlXMLWriter.cc | 2 +- src/tl/tl/tlXMLWriter.h | 2 +- src/tl/unit_tests/tlAlgorithmTests.cc | 2 +- src/tl/unit_tests/tlClassRegistryTests.cc | 2 +- src/tl/unit_tests/tlCommandLineParserTests.cc | 2 +- src/tl/unit_tests/tlCopyOnWriteTests.cc | 2 +- src/tl/unit_tests/tlDataMappingTests.cc | 2 +- src/tl/unit_tests/tlDeferredExecutionTests.cc | 2 +- src/tl/unit_tests/tlDeflateTests.cc | 2 +- src/tl/unit_tests/tlEquivalenceClustersTests.cc | 2 +- src/tl/unit_tests/tlEventsTests.cc | 2 +- src/tl/unit_tests/tlExpressionTests.cc | 2 +- src/tl/unit_tests/tlFileSystemWatcherTests.cc | 2 +- src/tl/unit_tests/tlFileUtilsTests.cc | 2 +- src/tl/unit_tests/tlGlobPatternTests.cc | 2 +- src/tl/unit_tests/tlHttpStreamTests.cc | 2 +- src/tl/unit_tests/tlIncludeTests.cc | 2 +- src/tl/unit_tests/tlInt128SupportTests.cc | 2 +- src/tl/unit_tests/tlIntervalMapTests.cc | 2 +- src/tl/unit_tests/tlIntervalSetTests.cc | 2 +- src/tl/unit_tests/tlKDTreeTests.cc | 2 +- src/tl/unit_tests/tlListTests.cc | 2 +- src/tl/unit_tests/tlLongIntTests.cc | 2 +- src/tl/unit_tests/tlMathTests.cc | 2 +- src/tl/unit_tests/tlObjectTests.cc | 2 +- src/tl/unit_tests/tlRecipeTests.cc | 2 +- src/tl/unit_tests/tlReuseVectorTests.cc | 2 +- src/tl/unit_tests/tlStableVectorTests.cc | 2 +- src/tl/unit_tests/tlStreamTests.cc | 2 +- src/tl/unit_tests/tlStringTests.cc | 2 +- src/tl/unit_tests/tlThreadedWorkersTests.cc | 2 +- src/tl/unit_tests/tlThreadsTests.cc | 2 +- src/tl/unit_tests/tlUniqueIdTests.cc | 2 +- src/tl/unit_tests/tlUniqueNameTests.cc | 2 +- src/tl/unit_tests/tlUriTests.cc | 2 +- src/tl/unit_tests/tlUtilsTests.cc | 2 +- src/tl/unit_tests/tlVariantTests.cc | 2 +- src/tl/unit_tests/tlWebDAVTests.cc | 2 +- src/tl/unit_tests/tlXMLParserTests.cc | 2 +- src/unit_tests/unit_test_main.cc | 2 +- src/unit_tests/utTestConsole.cc | 2 +- src/unit_tests/utTestConsole.h | 2 +- src/version/version.h | 4 ++-- testdata/buddies/buddies.rb | 2 +- testdata/klayout_main/main.rb | 2 +- testdata/pymod/bridge.py | 2 +- testdata/pymod/import_QtCore.py | 2 +- testdata/pymod/import_QtDesigner.py | 2 +- testdata/pymod/import_QtGui.py | 2 +- testdata/pymod/import_QtMultimedia.py | 2 +- testdata/pymod/import_QtNetwork.py | 2 +- testdata/pymod/import_QtPrintSupport.py | 2 +- testdata/pymod/import_QtSql.py | 2 +- testdata/pymod/import_QtSvg.py | 2 +- testdata/pymod/import_QtUiTools.py | 2 +- testdata/pymod/import_QtWidgets.py | 2 +- testdata/pymod/import_QtXml.py | 2 +- testdata/pymod/import_QtXmlPatterns.py | 2 +- testdata/pymod/import_db.py | 2 +- testdata/pymod/import_lay.py | 2 +- testdata/pymod/import_lay_noqt.py | 2 +- testdata/pymod/import_rdb.py | 2 +- testdata/pymod/import_tl.py | 2 +- testdata/python/basic.py | 2 +- testdata/python/dbLayoutTest.py | 2 +- testdata/python/dbLayoutToNetlist.py | 2 +- testdata/python/dbLayoutVsSchematic.py | 2 +- testdata/python/dbNetlistCrossReference.py | 2 +- testdata/python/dbPCells.py | 2 +- testdata/python/dbPolygonTest.py | 2 +- testdata/python/dbReaders.py | 2 +- testdata/python/dbRegionTest.py | 2 +- testdata/python/dbTransTest.py | 2 +- testdata/python/layLayers.py | 2 +- testdata/python/qtbinding.py | 2 +- testdata/python/tlTest.py | 2 +- testdata/ruby/antTest.rb | 2 +- testdata/ruby/basic.rb | 2 +- testdata/ruby/dbBooleanTest.rb | 2 +- testdata/ruby/dbBoxTest.rb | 2 +- testdata/ruby/dbCellInstArrayTest.rb | 2 +- testdata/ruby/dbCellMapping.rb | 2 +- testdata/ruby/dbEdgePairTest.rb | 2 +- testdata/ruby/dbEdgePairsTest.rb | 2 +- testdata/ruby/dbEdgeTest.rb | 2 +- testdata/ruby/dbEdgesTest.rb | 2 +- testdata/ruby/dbGlyphs.rb | 2 +- testdata/ruby/dbInstElementTest.rb | 2 +- testdata/ruby/dbInstanceTest.rb | 2 +- testdata/ruby/dbLayerMapping.rb | 2 +- testdata/ruby/dbLayout.rb | 2 +- testdata/ruby/dbLayoutDiff.rb | 2 +- testdata/ruby/dbLayoutQuery.rb | 2 +- testdata/ruby/dbLayoutTest.rb | 2 +- testdata/ruby/dbLayoutToNetlist.rb | 2 +- testdata/ruby/dbLayoutVsSchematic.rb | 2 +- testdata/ruby/dbLibrary.rb | 2 +- testdata/ruby/dbMatrix.rb | 2 +- testdata/ruby/dbNetlist.rb | 2 +- testdata/ruby/dbNetlistCrossReference.rb | 2 +- testdata/ruby/dbNetlistDeviceClasses.rb | 2 +- testdata/ruby/dbNetlistDeviceExtractors.rb | 2 +- testdata/ruby/dbNetlistReaderTests.rb | 2 +- testdata/ruby/dbNetlistWriterTests.rb | 2 +- testdata/ruby/dbPCells.rb | 2 +- testdata/ruby/dbPathTest.rb | 2 +- testdata/ruby/dbPointTest.rb | 2 +- testdata/ruby/dbPolygonTest.rb | 2 +- testdata/ruby/dbReaders.rb | 2 +- testdata/ruby/dbRecursiveInstanceIterator.rb | 2 +- testdata/ruby/dbRecursiveShapeIterator.rb | 2 +- testdata/ruby/dbRegionTest.rb | 2 +- testdata/ruby/dbShapesTest.rb | 2 +- testdata/ruby/dbSimplePolygonTest.rb | 2 +- testdata/ruby/dbTextTest.rb | 2 +- testdata/ruby/dbTextsTest.rb | 2 +- testdata/ruby/dbTilingProcessorTest.rb | 2 +- testdata/ruby/dbTransTest.rb | 2 +- testdata/ruby/dbUtilsTests.rb | 2 +- testdata/ruby/dbVectorTest.rb | 2 +- testdata/ruby/edtTest.rb | 2 +- testdata/ruby/extNetTracer.rb | 2 +- testdata/ruby/imgObject.rb | 2 +- testdata/ruby/layLayers.rb | 2 +- testdata/ruby/layLayoutView.rb | 2 +- testdata/ruby/layMacro.rb | 2 +- testdata/ruby/layMarkers.rb | 2 +- testdata/ruby/layMenuTest.rb | 2 +- testdata/ruby/laySaveLayoutOptions.rb | 2 +- testdata/ruby/laySession.rb | 2 +- testdata/ruby/layTechnologies.rb | 2 +- testdata/ruby/qtbinding.rb | 2 +- testdata/ruby/rdbTest.rb | 2 +- testdata/ruby/tlTest.rb | 2 +- 2893 files changed, 2897 insertions(+), 2897 deletions(-) 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 65db71f96..10de5785a 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,5 @@ -0.27.6 (2021-12-30): +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 diff --git a/Changelog.Debian b/Changelog.Debian index d972152b1..ce37ca054 100644 --- a/Changelog.Debian +++ b/Changelog.Debian @@ -3,7 +3,7 @@ klayout (0.27.6-1) unstable; urgency=low * New features and bugfixes - See changelog - -- Matthias Köfferlein Thu, 30 Dec 2021 09:15:38 +0100 + -- Matthias Köfferlein Tue, 04 Jan 2022 21:19:17 +0100 klayout (0.27.5-1) unstable; urgency=low diff --git a/build.sh b/build.sh index 79555a24f..bead5915a 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/scripts/mkqtdecl.sh b/scripts/mkqtdecl.sh index 8a0f462e6..c1da1c7f3 100755 --- a/scripts/mkqtdecl.sh +++ b/scripts/mkqtdecl.sh @@ -20,7 +20,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 44272c002..8dd0c8cb1 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 c4ff1a925..755304e44 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 187c0d8e1..eb1b8cd92 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 d91f46847..c0daaaed1 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 55e735b4e..d24e520a1 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 @@ -1424,7 +1424,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 @@ -2979,7 +2979,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 @@ -3058,7 +3058,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 fd6e4185e..730bd8e94 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/setup.py b/setup.py index 3b3b5a3d7..9f895e387 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 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 479eefd5f..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 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 8932ea4d1..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 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..bb69ed40d 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 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..bb9024505 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 diff --git a/src/buddies/src/bd/bdReaderOptions.h b/src/buddies/src/bd/bdReaderOptions.h index 3b0e22bff..8cd4383b4 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 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..f1e5264ea 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 diff --git a/src/buddies/src/bd/strmclip.cc b/src/buddies/src/bd/strmclip.cc index b83c588ac..72b97cce0 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 diff --git a/src/buddies/src/bd/strmcmp.cc b/src/buddies/src/bd/strmcmp.cc index 8bc6f9673..d441221c3 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 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..2baec09f3 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 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..2ac927059 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 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/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 c93cfdffc..fae652597 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 8183396e4..e41b93a8a 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 cc556873c..f05e07293 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 1b5c4871b..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 diff --git a/src/db/db/dbCell.h b/src/db/db/dbCell.h index 06b54995d..782acab5d 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 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..0126a75c3 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 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..0f863c3ac 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 diff --git a/src/db/db/dbColdProxy.h b/src/db/db/dbColdProxy.h index a8481f89b..501a3e96f 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..ab72d234a 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 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 6e59d2d99..6fdea1fdd 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 index 62f9b24e4..9b421ed7e 100644 --- a/src/db/db/dbD25TechnologyComponent.cc +++ b/src/db/db/dbD25TechnologyComponent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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.h b/src/db/db/dbD25TechnologyComponent.h index 3beade105..db38b3124 100644 --- a/src/db/db/dbD25TechnologyComponent.h +++ b/src/db/db/dbD25TechnologyComponent.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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.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 877cd2bc9..b6e985395 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 42f907237..7ba94077f 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 0b6209725..c64ef7222 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 73a82c40a..a6a8474b4 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 a4cb05ae7..8dbc3cf42 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 4cadc784a..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 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 531850b2c..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 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 2c28be4ca..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 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 ef3ee4a54..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 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 49ca3ce79..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 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 1bb829fd8..3c9d1215e 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 diff --git a/src/db/db/dbHierProcessor.h b/src/db/db/dbHierProcessor.h index c195a10c0..502ec21ae 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 b89c02e1b..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 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 c171d0332..c0708975a 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 b60cc3968..3ec85a5fb 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 diff --git a/src/db/db/dbLayout.h b/src/db/db/dbLayout.h index 788315a7c..e6318ca5c 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 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..e57cd0240 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 diff --git a/src/db/db/dbLayoutDiff.h b/src/db/db/dbLayoutDiff.h index e9ce46593..ed0e01e0b 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 diff --git a/src/db/db/dbLayoutQuery.cc b/src/db/db/dbLayoutQuery.cc index ed72fa29a..02ab78dd1 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 diff --git a/src/db/db/dbLayoutQuery.h b/src/db/db/dbLayoutQuery.h index c881d520a..ac9a04d32 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 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..d59e947d2 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 diff --git a/src/db/db/dbLayoutToNetlist.h b/src/db/db/dbLayoutToNetlist.h index 487671783..52519064a 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..3f18ff33a 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 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 a26b542ea..65a1d8dbd 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..5620373c1 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 diff --git a/src/db/db/dbLibrary.h b/src/db/db/dbLibrary.h index 408a12fcf..dea48cba4 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 diff --git a/src/db/db/dbLibraryManager.cc b/src/db/db/dbLibraryManager.cc index f522da6f4..7b7e24d6b 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 diff --git a/src/db/db/dbLibraryManager.h b/src/db/db/dbLibraryManager.h index a41fa889c..d4c818518 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 diff --git a/src/db/db/dbLibraryProxy.cc b/src/db/db/dbLibraryProxy.cc index 4008a1253..657fc566f 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 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..f27870791 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 diff --git a/src/db/db/dbManager.h b/src/db/db/dbManager.h index 4dd61412b..35b53c3a9 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 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 4ed03a805..9a39c5df0 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..161f1b9e0 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 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..406a14d4e 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 diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index 90a41131b..d670f4fc3 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..9ffdd6359 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 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 6b7bcb239..b7d85c553 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..a091c7bf0 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 diff --git a/src/db/db/dbNetlistDeviceClasses.h b/src/db/db/dbNetlistDeviceClasses.h index 385759f87..5775b343b 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 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 9300586ea..c7a9ecee3 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 e7338e4dd..b2e56b4f9 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 a28e5b924..dae00521d 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 394b45a69..5daa1e769 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 c6936a900..52bc619e6 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 c354b12a7..eb6b9e6ee 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 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..a0a5e72d5 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 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 0cd3a4a13..6c1df9d75 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 8eef24c08..67a9ae214 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 70d9cd8f2..669448237 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..257d49550 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 diff --git a/src/db/db/dbRecursiveInstanceIterator.h b/src/db/db/dbRecursiveInstanceIterator.h index 8b2eabc50..7f1f671b3 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 diff --git a/src/db/db/dbRecursiveShapeIterator.cc b/src/db/db/dbRecursiveShapeIterator.cc index df95d9201..6b91ff9b2 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 diff --git a/src/db/db/dbRecursiveShapeIterator.h b/src/db/db/dbRecursiveShapeIterator.h index ee70e8538..2370f65a7 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 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 9c77722d5..ce54d60e6 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 f832addf8..d2068b6c1 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 b5d228922..8b277eb78 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 855d89719..535c0be6d 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 diff --git a/src/db/db/dbShapes.h b/src/db/db/dbShapes.h index 27894780c..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 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 5802553d7..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 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 7be8d663f..b09e1dd61 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..bb41c713c 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 diff --git a/src/db/db/dbTestSupport.h b/src/db/db/dbTestSupport.h index aeecab118..430bacb76 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 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 5d11d9511..cd85de01e 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 c5cf5eec3..3f84dfc21 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 406ff6526..1e9452603 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 c08915e74..ccb8fe5aa 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 f9a3c0b92..8939c1160 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 642e523b9..71a15dd03 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 28b1079ea..8af41b9ca 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 diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index fce707adf..cc6edee03 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 diff --git a/src/db/db/gsiDeclDbCellMapping.cc b/src/db/db/gsiDeclDbCellMapping.cc index fc5ca8468..5da972fa6 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 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 cd4424477..da73f721c 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 fdcc00c66..b726b9419 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..f63f97e9c 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 diff --git a/src/db/db/gsiDeclDbLayoutDiff.cc b/src/db/db/gsiDeclDbLayoutDiff.cc index b0dd486fd..bec150661 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 7b03b5757..78f408366 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 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 fc2ea5ed6..d55387728 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 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..c52416bb9 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 diff --git a/src/db/db/gsiDeclDbNetlistCompare.cc b/src/db/db/gsiDeclDbNetlistCompare.cc index 5a0696ee6..5fec095a0 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..758c0dc37 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 diff --git a/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc b/src/db/db/gsiDeclDbNetlistDeviceExtractor.cc index 6112967b9..9b941bf8b 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 48aff21a4..d90d2d3de 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..b1573b595 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 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..e2d9f93eb 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 diff --git a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc index 56e41773c..34e5a6650 100644 --- a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/db/db/gsiDeclDbRegion.cc b/src/db/db/gsiDeclDbRegion.cc index 621235460..2c78f30f4 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 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 3f241b2fa..cad522b96 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 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 397378c17..c591d1885 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 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 9ad16cd02..a203c7585 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 index b83365ea4..30ac2b807 100644 --- a/src/db/unit_tests/dbD25TechnologyComponentTests.cc +++ b/src/db/unit_tests/dbD25TechnologyComponentTests.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you 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/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..2bd77bacf 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 diff --git a/src/db/unit_tests/dbLayoutTests.cc b/src/db/unit_tests/dbLayoutTests.cc index 303187ecb..e7d49ea6d 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 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..3dac06878 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 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..7961a750e 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 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..b5072e54e 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 diff --git a/src/db/unit_tests/dbNetlistDeviceClassesTests.cc b/src/db/unit_tests/dbNetlistDeviceClassesTests.cc index f594576c3..f0da4c173 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 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 3eef9f160..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 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..e8ba49cea 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 diff --git a/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc b/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc index cd9829ce7..077f47793 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 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 648b00854..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 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 59387528c..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 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/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..23091b46c 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 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 0fd252150..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 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 e2abdd7de..9380e9eda 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 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 2492c49c0..260e9c667 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 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 000b59068..df8000413 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 diff --git a/src/edt/edt/edtPCellParametersPage.h b/src/edt/edt/edtPCellParametersPage.h index 0bfbea67b..548c87016 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 diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index e577f2213..c765f271f 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 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 8568dc382..07b6ed8b0 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 diff --git a/src/edt/edt/edtPropertiesPageUtils.h b/src/edt/edt/edtPropertiesPageUtils.h index dc173b3b1..f59fedeab 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 diff --git a/src/edt/edt/edtPropertiesPages.cc b/src/edt/edt/edtPropertiesPages.cc index bdb53086f..c71b8bf2a 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 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 2e1985921..451dd6246 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..d7e481492 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 diff --git a/src/edt/edt/edtService.h b/src/edt/edt/edtService.h index 28e61a2e9..41236648e 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 diff --git a/src/edt/edt/edtServiceImpl.cc b/src/edt/edt/edtServiceImpl.cc index 73e2d23b3..b372fa0a2 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 diff --git a/src/edt/edt/edtServiceImpl.h b/src/edt/edt/edtServiceImpl.h index 086944c5e..301122c0c 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 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 b0569be29..99f89347c 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 84eaf7edd..cd490d8a8 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 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 dc43160c0..45944170f 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 06f5faba5..ba8414c11 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 401458d24..7ef141906 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..acbee7079 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 diff --git a/src/gsi/gsi/gsiExpression.cc b/src/gsi/gsi/gsiExpression.cc index 1836f5899..f6c1d4472 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 diff --git a/src/gsi/gsi/gsiExpression.h b/src/gsi/gsi/gsiExpression.h index f853183fd..d422999d9 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 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 d3cc55f65..defc6cf28 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 4fe85e6e3..df9661670 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 ba53486cb..55aae3d5a 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 6869f2632..b1ed3d1b1 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/gsiExpression.cc b/src/gsi/unit_tests/gsiExpression.cc index 11ea5fe31..ca14f16f0 100644 --- a/src/gsi/unit_tests/gsiExpression.cc +++ b/src/gsi/unit_tests/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 diff --git a/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc b/src/gsiqt/qt4/QtCore/gsiDeclQAbstractItemModel.cc index fe28b38ad..4ac478302 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 b446c0c1f..69190abe3 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 f6d23f640..e91307b11 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 790b11e97..6c7b9e5a2 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 472480026..be753aecc 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 496155097..4ca63a3bb 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 dc356c1bd..077c17e81 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 236cad6bb..0080d2291 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 05ea41ca3..ef5b7ed6b 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 24b8b591c..f130cd30a 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 9eb1ff3a3..b7b35be88 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 ebb269466..e0efd345b 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 e7bf34d59..ba0209326 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 afcb406bf..1c32147c2 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 6a2625e7f..cb32de63d 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 630f1a501..916c0389b 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 08d2a5cde..6e720a415 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 8f7dfc9ec..48e62eaa8 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 7d51c7be0..d0760fdf3 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 ecbe20d9c..55242e6d7 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 e3e063fb6..62baa1c28 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 d20f63ce3..04fc15e7d 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 5e30ebad6..cf6b40499 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 eb086dc5e..4c1e42060 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 f66d4c0d2..cbbd77c0f 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 f045a66a9..1343a9e27 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 ceadad090..dc255fb67 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 f74bbfbd1..460a30c50 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 2e36308ee..d1479bfb6 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 654d3fcac..01dcb5aa2 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 4b2ab5d85..adfa8d555 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 4b5a7c058..8c3a2f9a5 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 afbed2d56..537eafccc 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 a1cc9a29b..b10b6ed4b 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 95020c544..30f30ce04 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 fb89be04e..43a1ebc69 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 3bdd3dfdb..0a8b369dd 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 308a531bc..ade7bdf37 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 a77f0d2eb..16bad97aa 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 3c5050a97..4415138cf 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 57324455a..b062a5b11 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 5ec9b6bc4..276864b7b 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 859f3e94d..cea9c3310 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 7c2ca8bd8..457051af1 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 94ad81620..5d2206c40 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 af46d5ec4..deaceea65 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 aa143c3cb..78d053847 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 61afc3b22..393e031ab 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 711ad2b94..390c96391 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 fa81cf651..47745c399 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 d2392d907..497c1b8af 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 281b549c0..1dab174b4 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 48dd54688..fb1a1e7c1 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 31b354c5a..63474abd7 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 c123374dd..132a7e565 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 615988918..c3f62e6dd 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 dc24ab95b..4e7a05371 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 b0241e559..9dd86c921 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 fec1f6f26..6c79e13ca 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 2fa701f57..3d40fa719 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 bedf9d73f..6d704993d 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 99448b794..e2ddcaa9b 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 4dff5bfb2..f085c2923 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 e9adbdeb0..503342fe4 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 02c79924e..80882de72 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 536905699..de6453f41 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 7ef437107..42adf0a95 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 3556256ce..9782ce42b 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 0d0dd400d..df8b26284 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 e24088435..c96667b78 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 4ec5ba07a..53d35bfa8 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 b89cfb8bc..82dd11a77 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 5a100a5a1..f4b6b67e9 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 8980666bc..215115970 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 67a17e2ed..b57d21691 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/gsiDeclQtCoreTypeTraits.h b/src/gsiqt/qt4/QtCore/gsiDeclQtCoreTypeTraits.h index b499f3bef..b90848888 100644 --- a/src/gsiqt/qt4/QtCore/gsiDeclQtCoreTypeTraits.h +++ b/src/gsiqt/qt4/QtCore/gsiDeclQtCoreTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 6854c5c4f..03512ccf3 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 5e1f77c27..d22af6878 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 a1250c0ca..893eaf9e7 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 baf5fa8ad..9170fa513 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 55c0071f9..82367c078 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 50dd910f1..a3336463e 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/gsiDeclQtDesignerTypeTraits.h b/src/gsiqt/qt4/QtDesigner/gsiDeclQtDesignerTypeTraits.h index 685c94dbd..421400dc7 100644 --- a/src/gsiqt/qt4/QtDesigner/gsiDeclQtDesignerTypeTraits.h +++ b/src/gsiqt/qt4/QtDesigner/gsiDeclQtDesignerTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 4eeb1d62a..0561e6135 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 929441e90..84e02e875 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 a4305c2b9..bc35523e4 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 aea1f4a87..94315cb58 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 e576dc232..1b59b96b3 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 9e7973a01..a65d853ed 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 73386e2a8..872275380 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 bf14b07b9..ab7c36752 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 495b3e609..a55fdf6cb 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 569126903..23ca9dfcd 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 d67285771..dc495640a 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 89064bfec..84c87f7c4 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 4f0607a0d..e0367d8d4 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 e39cb17d0..8d37e8d4e 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 5b3d1ce3f..d3427315e 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 e0ebc4afb..fa4b7f4a6 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 86187c42d..fd1e437b5 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 130d96b1f..3df02f249 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 69e786a9c..f3fda48f7 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 09755abe4..7cb92bd34 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 9aa78d92f..00970f54c 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 a58162e26..dedd58b29 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 77032a8e5..fb10ad3dc 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 b034da595..7f9d32bd4 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 4fed3d98c..feeba19ad 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 642d038c0..bf8ebf709 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 29948a959..665ea3fe7 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 ee7989007..f4c901aaf 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 43909ab6b..feeb81067 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 de391a535..01762749a 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 04e0874f4..3e241b8f1 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 60c65b85c..d5fb210ff 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 4410e62f5..09bd33922 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 753ed1d97..32dbfadff 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 090024b1c..e1bc154f8 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 9b4965b69..7dbc681b7 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 d827cbad2..b14b2aa1a 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 1d2570c34..cca108e7e 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 ce0e1933c..26e0fdbac 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 49d9b56a9..5676ac4cb 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 9a40cf363..d3b34779e 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 dd5b2cd01..d977fc30a 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 059299241..4973068e6 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 275f0e06b..f136d11ff 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 97cd95dc4..df06ba775 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 6bcd3fe57..833f04efd 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 cc394b8e0..93d935612 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 819eb8029..07c053eca 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 2e0308834..9648bd59f 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 23b1b4b5e..24546fb1d 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 700af3198..035eb8369 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 16eabc242..8208a8fb6 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 d9c7dfbdc..b71f0700c 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 74a6f8ec9..5361eec82 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 3d0128f79..ff88c1b71 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 bf0828051..12cfac0f0 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 5e5827223..96a9a1b7f 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 9f99c52a5..4b1006de7 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 54e0108fb..88c6c1953 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 14babb1a0..778cb8c27 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 53b706a88..927c07f10 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 ace4f1746..721130e79 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 6ee2a813b..1b48087ac 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 fe6d3031e..ae3dd67a1 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 ec15a85a0..77dfc1735 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 da9cfa276..616194fe8 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 fb18e2eb4..bb139604a 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 8efc6a0f2..e9883cf3f 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 ff3670ef4..3af98b7c3 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 35e204aec..516fbe27c 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 5497bab75..038c775cf 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 573df5433..0f03ef64e 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 b2539a1fe..11ece82c3 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 e1b0f6dd7..8c8277ff0 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 a8f17a984..08128ebb9 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 ec376f645..82f53dffd 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 9a84d56c5..0e0be7fc8 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 67b685fc3..fb0ff04f2 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 d332bf937..d777fd27d 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 d1da8fefe..95751d0dd 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 04f68b696..8fda1a59c 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 d9fd6b133..97a331d78 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 bec84a379..df026c612 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 167d41d72..d445e8d08 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 722d22ef5..c42412f8c 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 e47e18ea9..5b6e66f2f 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 8151bf0be..99132e67d 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 4aa3db01d..8cbe1aa15 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 ee10b4a6e..61b0669b4 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 80ea202a3..cd20d8d77 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 82a91de6a..f4b3b6679 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 75dc443ac..4b43d7117 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 20cd0cf72..41f61d08f 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 f9d062db6..44bd4db53 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 f3ad71952..e62962ce8 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 1ad42b97f..07efb7e6b 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 1ae98e501..c01486e5b 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 68f5d6f09..ebfccf98d 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 601ec4bf8..b299159c3 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 35ee37ccf..6f6cae7e5 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 59898cbb0..f03023d73 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 af6590bde..7c5d60682 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 1b4773331..021d7958a 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 b71219d84..43cbe261e 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 004d11693..90b0848ec 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 d2b612e3e..656835d7f 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 1229e27d8..8cbe35d6e 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 062bf9f17..e5e2c4566 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 7e63db094..3ba5936ee 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 094368d9d..af9e822dd 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 d53572d8f..b7b9308de 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 b412357f1..209bb307e 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 ef7370002..43c727aa9 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 7c708fa69..73945bc8d 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 18d076729..d6f152596 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 04afafc2a..e8d37f220 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 80c5cc751..58870d7f1 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 8fd420957..666dfbff9 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 06e4d479e..fe5fca309 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 fac75b04c..4332dae44 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 4cc2c6224..26b459d4c 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 2659ae478..b2a2e042f 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 30f183508..2dbf5f86a 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 3f11ebb30..472914689 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 5fed910c2..09f42b93c 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 f65ecf70e..580c54df5 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 732324aa4..e401024ef 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 5ea96765a..9b6080977 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 000d017ac..279ceb41f 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 90126f655..d64d51468 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 71b6849e6..e1006a79f 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 e004dd4db..ed2525a09 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 db342e281..ed321b609 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 0eabe615a..fe6a46a44 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 2ec60bb4e..069bea846 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 cff18aad1..845a2022c 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 c89a4a7ec..86b65a76c 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 927328d12..6115963c2 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 8aea4ea49..4339d4f94 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 d654b3a71..278942f73 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 c2b07ec1f..3d161a42f 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 5d3db4704..ced161fd0 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 2a7e7fe6b..c87eb1cd0 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 7b7327994..bfbc38b23 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 187063e5c..249f2332f 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 00c9ce984..aa7bd5429 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 391500e3f..658ad3da3 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 7a60a32cc..41d00df59 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 4e23d0046..bb4e97ed1 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 d4c28f1e7..ff12e7f7f 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 cd38a1501..f90553f4b 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 a8a5dde24..a82443c74 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 26e9ad685..a3353831b 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 396100df2..db2a929d9 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 bb073daca..ec907cac0 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 5f1ba1c7e..5ac1c3523 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 29132eb03..64ff9f5fe 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 82f683e7a..a46fe908c 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 8e2875679..30a4e4a84 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 e7b84b267..87a9e8ad8 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 0eaf2ceb9..3f344cd81 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 1df2929dd..011b70d7f 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 15db44e97..a8b018a0d 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 64cafea31..da2bc6df4 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 903baf284..9c31acd94 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 b6a0bb00c..2047235c2 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 79de979e6..88d807922 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 c80317a78..bb9ee58e5 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 6dc6462a0..f5c67dca2 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 08ed9787c..a2dd1438e 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 b05d24e65..fc8e6cd21 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 6c09779f7..c166d8448 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 3d5c5db57..f83a13080 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 21e9b03af..44a392377 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 946aadcde..58205402f 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 7c1ea8d5c..4302c0235 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 c14ebe700..4c237e023 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 fa876982d..bea3d0498 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 0b7e523ce..f2a0870fd 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 da8f1518b..6b55b8731 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 80538a488..9bb771eb6 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 50ba10781..1c2a66bc8 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 6388cb15c..bed22226d 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 6e0139543..8a571dc68 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 ad4869e5f..08d67a805 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 c3fb7f01a..8084f5038 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 7e260c8fc..30e400f21 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 111ba0afa..4a6c3014c 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 5f1e06269..78612791e 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 f3bec9e34..93cc40de3 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 ffb76c665..ab63695f2 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 6e1e3e32d..a2e71ac41 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 36d3c9065..9499a8132 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 556b1634f..c4838b3a6 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 6e8b83429..4636a69b6 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 c92cc4304..8cbaa3fcd 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 dad2b3756..0dff15de4 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 26da57fc9..0be074b32 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 2059acb81..f8e9f568c 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 1e06d7967..176f73850 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 3f7b12df4..a2f36670b 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 b4941f89a..db190350f 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 25aaac824..7559e8bdc 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 825ab86ea..3997fc5e6 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 0e392f508..b902759f8 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 cc83f6d5d..9f379fa19 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 8a29b9826..f310b6ceb 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 21a5c84ce..f1d198beb 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 234c74223..2bd267c34 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 f8863ac51..fb5401743 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 a99dac214..51d5f42fc 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 b3880d8d0..5ea390cd0 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 c1d4e26b2..12e9db575 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 d72524dbb..a35b9d1e1 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 287eb8c3b..6cdcac8a9 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 1a38ab437..ddb5af7d0 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 f2964423d..df6b2e132 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 87d4c70bd..66b2c0269 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 6990ee036..9d8cce919 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 f91b742b1..f3c7d4d29 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 d15177a83..28fec1b4f 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 692942446..a7c232dbf 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 0044a5b49..c58fcd37e 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 e8f3544e7..364495533 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 dc5f4b247..229d9fb80 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 e8b31e0b4..e01aaa501 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 cc180f4a1..c96ebec44 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 549042a4a..2da9b37ee 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 a85923ce9..409b1624a 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 6b1f39be2..fad676bc6 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 111c21f5e..664ea1daf 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 1adbad33f..8f78aaf18 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 980c12d53..51d0c1ec7 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 6e25d327c..d1cf7cc75 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 fcc3c390e..ec8fcc17d 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 3459c1279..d4b3b1d29 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 8f831ad54..73d3c5234 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 caa83c298..82b60823f 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 575272072..61e9c3a92 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 70e458dfa..4da4d8bb5 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 5cc0ca703..71c62df70 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 52df28e69..9bd6da6ba 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 32ede2c86..1413b1212 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 89076895f..34eeecd37 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 462b45d90..d3af7c50f 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 43e20f675..1d474d8eb 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 394838fb0..7919c1e9f 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 ae471470b..d34e5f72d 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 be7a91428..7a8c52203 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 aaadf6b51..25b1e813c 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 b658e11e9..02fb1b458 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 50e8d5a68..2b0ddb45b 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 ed7c1146b..f999e5dca 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 2e100d268..22084526f 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 6232040ac..c7a6e3816 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 b61d4db80..baf43569a 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 afd350c2b..f2c0f3a4f 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 af20d5d37..09e8c6e28 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 e92fd96ab..18b1ceb10 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 807e1fbc1..cbddbff53 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 24737b2e3..c0a452c0f 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 1086c6d86..a258797d6 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 cecbb961d..834cb6ef5 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 ef0f8d197..fa618384c 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 581b07f73..8340a1fb5 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 80c029051..47ff7ca9a 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 c28163161..776f7c60f 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 f92af1dec..47eab530e 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 16055f5fc..fec9f8a3a 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 2b8f06050..1c061fd44 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 33f0a3f8b..f5f8e55ca 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 95d5202d0..b0b82506e 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 8d1928a37..34d3e5453 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 ae7771452..43394fe4d 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 d0ce56277..d671912e7 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 bdaa51073..cdc796da9 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 cf2e48991..c2d68255d 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 9f3f6bc2e..6ecbdbe78 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 a0932bfea..52c2b2870 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 b959687fb..ddf2abd26 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 c277a1277..d544eb99f 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 ae4048ee4..1ae3544a4 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 200ac2fbd..7d8de5210 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 0e8759f74..97235c646 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 2e0fada75..d7a794b3a 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 d9ebbb654..c6626757e 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 50088f0f3..d48bd0fa2 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 40430abc3..247d8f7ea 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 53ef7e7e3..1e6abc370 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 984c2a338..a73bd5ead 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 62dfcc98b..789470d6e 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 ae3e46d8c..5fa0dfd4f 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 2e18fa17d..fbdd45bbe 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 bcd884c94..97d1fb0fa 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 b8872bdec..9373b0a78 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 4334c2558..a0d883448 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 959b9bd84..b6ea5a294 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 cf730f2e4..353d4096a 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 3f3f53446..b51da4f28 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 795146a02..875224312 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 14f8771b0..4c52fa977 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 689d291d5..a8525c7be 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 9aee92298..87da65d6d 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 54a07e070..9bdeb8223 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 15c04f0c7..7ff7e026d 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 1ce388075..f91614fbc 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 8085c679c..bbd7b4b85 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 bb5c3c6ca..2d0a21f2e 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 b4393eb66..3ea338a37 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 49737b7f9..0d5308e28 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 875b8ad25..417725646 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 9c977caaa..3b85220ce 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 a3ba33b32..4bf8a1577 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 1cab9c567..0cbf064dd 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 dc10e50b1..24b470bc9 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 05cf05632..7210e7ddd 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 ff5e94d38..b58904a6c 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 4dc48560c..6afdd27bc 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 240753d49..e79a89030 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 f88f0d444..56d68374e 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 26a5f4081..eab98a254 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 60b0330e1..25231b33d 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 b8c353254..a55f18a61 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 c9dbac57f..49b7c0957 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 ed5a3ab8e..c6b6ec5c8 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 4da5dda64..7e9c80992 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 e59b7e95f..36c0bbfd2 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 9907884dc..cfb6dc67b 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 e41342770..0437dd04e 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 2e35f61f0..2894f78f6 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 2c10d874b..b6b54995c 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 e149cf7a2..7da148a0c 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 16973f1ea..42a5fb45e 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 f0017f87e..75683e73b 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 196836b65..1b13f1cff 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 164dfa2bb..27793353f 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 f8328a78f..b2ef825d2 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 3dcecf33e..bc17d374e 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 53f9cef0a..483f0bf56 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 8bb318616..8a5c6abf7 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 74862ceaa..30e4ba8f1 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 db4173ce2..7067a7a9b 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 b9ce0c1de..b6942cb17 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 2569a3910..9a44951f4 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 ff3e73211..bbf222dae 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 d992c09ab..9ce28f3b5 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 bc64675a8..b88ad3d60 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 1ae1b91ea..3cb6383b2 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 f090e331b..16f099c4c 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 bc322c7b8..3b456b81b 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 ecd2875b2..db1e2d25c 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 078f0c162..d6fe1da0a 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 f98fb0c00..78d989905 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 7b43979c3..055c64330 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 645e08255..3ef1ec99e 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 31a996b4c..6dae983be 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 8625f10d5..56bf002da 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 8c5768356..62b91d438 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 bf9c5cf0b..748f8b948 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 9cd7f880f..871eb38a6 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 92d80be4c..59a25e0a1 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 56433e9bb..45522c521 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 2e5e45f77..96118d384 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 8e91b8bb9..153bc79a8 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 4908ee3a4..69467c92f 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 3ed03cd3b..ad3c5db4c 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/gsiDeclQtGuiTypeTraits.h b/src/gsiqt/qt4/QtGui/gsiDeclQtGuiTypeTraits.h index 117be47a8..768d232f7 100644 --- a/src/gsiqt/qt4/QtGui/gsiDeclQtGuiTypeTraits.h +++ b/src/gsiqt/qt4/QtGui/gsiDeclQtGuiTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can redistribute 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 d4596869a..ee5f334ba 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 1d4d6cd15..5a7b57238 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 9075df8e6..b90c52335 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 cd59e9bdf..22d7bad95 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 5ff3d1f40..7936afb35 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 8675bc2d0..abf49ae7d 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 98ac3170a..3f7c4e315 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 58552360c..75a26cff3 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 991a34816..23e9c6446 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 044ec2780..a5f5a6670 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 1700147cd..41036a774 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 77620f7ca..0609e275b 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 530ff5253..19131aa7e 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 dd67bfe4e..b552d8d6a 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 28f1ee348..1127f9268 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 8a8c89e7b..5b5f69b63 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 756eb39c4..71eb3c703 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 4c8326cae..be8afdeaf 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 59cc8be36..b932bb214 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 c0c61fee3..0c02f5223 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 a1cb4655c..7b3c9945e 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 05324a4de..66065f83f 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 82feaf478..033139af6 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 2cd057a69..60554296c 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 e243e3222..0441bb23f 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 0ff9532ea..792f3dc03 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 64ac8c16b..b7a90effa 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 becb46010..8c19c3a01 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 bd9fe120b..66d618368 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 6a8aa23fb..0ecb2131f 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 66b11fc97..cdcc569f7 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 49181158d..0104fce44 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 e909662d0..e114d6831 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/gsiDeclQtNetworkTypeTraits.h b/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkTypeTraits.h index 3de025e4a..c040fbe92 100644 --- a/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkTypeTraits.h +++ b/src/gsiqt/qt4/QtNetwork/gsiDeclQtNetworkTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 ec255813e..3ca0af5a2 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 a1eec58be..36e077f7a 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 9acbf6936..18e141aa5 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 b2ebb9dc7..a3f0c0c1f 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 0da89358b..ce1c39e43 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 0ca1bfddb..0039aa968 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 6d651ec1a..e5aa6cf5c 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 b645fe7af..913544aa7 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 563f85b05..919d4302c 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 be62a14fc..5018ed3dd 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 1d287432c..fd3f9581e 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 e3c07c2d2..d04da2a10 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 370fbe699..f07b7273d 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 45b90e06d..1863154ea 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 f16c413e9..0ad1c2862 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/gsiDeclQtSqlTypeTraits.h b/src/gsiqt/qt4/QtSql/gsiDeclQtSqlTypeTraits.h index b4a704be6..f586d0076 100644 --- a/src/gsiqt/qt4/QtSql/gsiDeclQtSqlTypeTraits.h +++ b/src/gsiqt/qt4/QtSql/gsiDeclQtSqlTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 5a56423ab..dbc5c7eed 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 5cb3472f3..ed045b4f7 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/gsiDeclQtUiToolsTypeTraits.h b/src/gsiqt/qt4/QtUiTools/gsiDeclQtUiToolsTypeTraits.h index 1f14fe99e..456b6b5ae 100644 --- a/src/gsiqt/qt4/QtUiTools/gsiDeclQtUiToolsTypeTraits.h +++ b/src/gsiqt/qt4/QtUiTools/gsiDeclQtUiToolsTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 789b4e182..4caa51126 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 b76aff90d..1551b4daf 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 8cf66532f..5699926f4 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 458e40dbc..39275121b 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 12cb6291a..e0112ec65 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 fdec72044..d2751e3c3 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 134092ac4..524725924 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 17c1562a7..d717505f2 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 b66113b5b..671743a01 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 8f9553393..727c0d9d3 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 934d826bf..2e41f8d5b 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 13e52763f..4af40a138 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 e1feb4b5e..434a542e7 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 e7b4eb601..14445e65b 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 7088c010e..6913dfa25 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 b3a7fb55a..69c238883 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 fc8a2875a..904ba5123 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 bd065f279..3b84772ba 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 ef324747a..270ec6208 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 f866b360f..2502fb74e 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 e7b711ebc..0cdd0be83 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 ef11a494d..8a636c4cb 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 99688a527..9e0d9b1b8 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 be3689b90..4513d2fdc 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 17c6845d6..38c28588a 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 f194ad5f5..a9b5e9efb 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 1f53e25b2..c8260235c 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 be8874235..4a82bae5c 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 fe4e70d5d..deab07dc7 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 8ffd7919a..62ef19d6d 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 4d777082e..ef679b03b 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 f8e249c90..880198b27 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/gsiDeclQtXmlTypeTraits.h b/src/gsiqt/qt4/QtXml/gsiDeclQtXmlTypeTraits.h index dedb0f70c..45af836e6 100644 --- a/src/gsiqt/qt4/QtXml/gsiDeclQtXmlTypeTraits.h +++ b/src/gsiqt/qt4/QtXml/gsiDeclQtXmlTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 9c0a651d8..0f922d903 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 996a9b347..b11ed415d 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 a337729b4..79d6e86d0 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 940806394..9aa1b24d7 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 06cb066c8..3728fb99d 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 ea63bbc2e..e408cf7f8 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 c0c984a9a..f543e6391 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 5b3a16439..cff37aeac 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 ffbbf6c09..16bfd145c 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 97212c4cc..d5ff08e5a 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 c4b3f39a5..58b449af3 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 2787ea3f6..69c4d1b2a 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 c4777cd4d..dd0505cfb 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 f6e8ffdc4..dbd8e851b 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 dc2bd073b..d6e1410c9 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 70c4eb07e..8abfac3ac 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 b57441edb..a34c91aeb 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 bbbcf29a3..4d59b6fb7 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 496155097..4ca63a3bb 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 55b9ecd02..c94a0dfcb 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 b47a5a4a4..7713cde98 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 274e6dc46..7a29cccab 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 b5c7f8d77..a48dbd78b 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 6dbc3e780..a7085b553 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 c47df8fb5..2647832a5 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 6133df654..6f75475c7 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 f2490855b..c40c2ebfa 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 82e29afc5..3161f2f5f 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 317d77728..33d9492cc 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 4d64eca6c..2de27f4bc 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 521185388..0a5cc8e0e 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 856b1d269..2f2f0e11a 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 b78b409c5..728332c53 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 c6272f0a8..26e0f2689 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 2318aa8c2..b7c34cb05 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 447d3a8d3..d805f5369 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 8384ba3f3..9e6219a25 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 2c42a13dd..6e142762c 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 4dab87b31..a607513f6 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 739921026..d102b7710 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 2c93880c9..d318b299e 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 8f7dfc9ec..48e62eaa8 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 549f60e4c..79b50aa6b 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 d9bf0928c..c1dcb786c 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 7a72d1261..6e0753131 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 c4bdcb242..be27a0967 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 f09811bc7..8a5a2064d 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 75fe7ea83..49c901fdc 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 f0ac63430..8040b96cc 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 03292d987..5fd7258ef 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 ed9b3428a..3b2b6907a 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 c4cb1f94d..e287b649f 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 bfd472b18..991484f5f 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 fb6a20b81..1b0d06a99 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 5433380ec..aa7316c42 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 d83b2cc43..f6f072f3c 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 05869f481..1fe7761e9 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 2c4e62250..3e13ed77c 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 c68478d64..502f11e1a 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 377bf161b..b37570b03 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 30bcae533..38611eebf 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 c896bdb75..6d03dc205 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 c5dfbff8c..dff04837a 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 5a03882b6..27f2d4b70 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 87ed366fe..401fe5303 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 b9eab1890..05efba243 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 dcb04fd50..a17c8c715 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 ae4e317f9..3d8ca824a 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 f66d4c0d2..cbbd77c0f 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 f045a66a9..1343a9e27 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 f0eeffb34..26c9598b3 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 4fc47cfc2..9b0689c35 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 283305550..7596cb7bf 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 947f91ae7..839a53051 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 38ab0ab4c..6c0c2dbca 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 bdd495ba9..f6f892035 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 d394852fb..76e600f38 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 7c802586b..7b673cfd8 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 3e0fca6bf..e6b136c38 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 e0df018fc..4cbe47275 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 2e36308ee..d1479bfb6 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 4f1d0ae56..1e6ed06ff 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 16db5a42d..a701840e5 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 f78985b67..810e2a4d1 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 095e07319..bde4b088d 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 d8722d356..6412babb6 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/gsiDeclQMimeData.cc b/src/gsiqt/qt5/QtCore/gsiDeclQMimeData.cc index c5229ef94..704a4393f 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 b49edaeb2..0c45787d5 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 9cfcec2ba..c23f2325d 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 29354f377..2afc907c6 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 adfcd0549..0cf198b76 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 54019a386..a51d4f949 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 09cf005f1..2658bd83b 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 8fb2e0545..33304f094 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 4eeefa742..785118654 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 d77fdabb6..9e293f878 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 bcf729766..56f925788 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 70826cdfe..e94d1583e 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 29b75a47e..f0175c910 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 8d91c92b7..e5221af7b 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 c5d589e98..f78801123 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 5b9bdc1b6..98ac21d2b 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 94ad81620..5d2206c40 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 5755c2881..d0a292c6e 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 694ebab32..ea376bb84 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 f6092e485..b54c013e8 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 6bfa7a838..8efecfb9b 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 f25476c74..5388b637d 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 195aa8505..0f36eebc7 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 a5865956d..5887a02c5 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 fa81cf651..47745c399 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 99b1ea4e8..c56f9009b 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 8a0dd19d2..6c031c990 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 d2392d907..497c1b8af 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 b2d6e91a0..7f1f41ecd 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 4b3bcf6b1..b0538cb1d 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 b6a252b60..f03e9f9e2 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 6c1ac97ad..63f76792f 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 6712a051d..da0b187d8 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 c92aa8344..b48afcc95 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 cae77aefe..a983fc1d3 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 4ae73964e..ec1bc8bb3 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 6f7e76317..4b6073bc4 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 1a82e63de..c7e9a7bef 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 9c0f986a1..976cb9b0f 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 73579aba5..7de6324ed 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 a1aa9a10b..68d4d3359 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 3fc23febf..ce9993b20 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 9a5e7dd04..29fc9767b 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 be6cda179..0f25f7d26 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 511e3faba..3f73353b7 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 fb206342a..46585c6fc 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 f624db80e..c8245c520 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 764adc932..53661cfb4 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 dc24ab95b..4e7a05371 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 975dcd2d0..e9e7a60d2 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 20db0c101..2f1ffb625 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 be210b292..5dc2b150b 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 97d5ff5f8..5a2b9e974 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 9660f7849..76cccadd9 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 40ed02afd..f2a5a3414 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 99448b794..e2ddcaa9b 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 3621ffa6c..ced8faaa7 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 d083bb5b1..9f8313a73 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 2dead5b70..9835bcf73 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 ecf31921a..b8aacc348 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 23d72859c..982941ce6 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 fd212ca2c..8303e3549 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 2b60d45fd..ea8a4fc08 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 d24f3526c..dd33a13ac 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 b93478fcb..39cb3878d 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 7fc12b630..09661ae07 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 992a85d1d..cef4e3c36 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 217d3851e..7f2249d59 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 8d59d90f0..0db1460bc 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 dd3e07ea1..663aeabc1 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 b87b7d7a2..17e544be0 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 89ec8c3da..87c858b61 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 8980666bc..215115970 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 14ece101c..97647b104 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 40f3abf82..fb06c129d 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 c4e4b48d5..75a304fa5 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 cd6eb500c..0239eb281 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 1d9be7604..f97f5de1e 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 3a092c149..8f8667a09 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 ff60ae3f0..00bd1a747 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 dec4920a5..e74d96db8 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 b8d952560..d7f7d174b 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 c8e70cc02..c01dc8310 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..c534efbc4 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 diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreTypeTraits.h b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreTypeTraits.h index 5544dbd50..94b46f68e 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreTypeTraits.h +++ b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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_1.cc b/src/gsiqt/qt5/QtCore/gsiDeclQt_1.cc index bab2bda46..47f77c6f4 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 fb085fec1..f14f0663b 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 b9b0dadc0..6931c9482 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 c67893db3..ef6451533 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 aeef24766..bb59405ac 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 bdcf2871a..f92d4cb14 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 f9357bc60..897932ff8 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 0000a4f26..7791f513f 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 50dd910f1..a3336463e 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/gsiDeclQtDesignerTypeTraits.h b/src/gsiqt/qt5/QtDesigner/gsiDeclQtDesignerTypeTraits.h index 9a6c7a2c5..4aae5d7a6 100644 --- a/src/gsiqt/qt5/QtDesigner/gsiDeclQtDesignerTypeTraits.h +++ b/src/gsiqt/qt5/QtDesigner/gsiDeclQtDesignerTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 decf8c196..bdceb09aa 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 e56f24a7b..c5e86c1d4 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 4f0607a0d..e0367d8d4 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 e39cb17d0..8d37e8d4e 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 5b3d1ce3f..d3427315e 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 f50c902f0..765690271 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 1d9fa339c..f673c2af0 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 d238f4b71..78a8201c9 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 16b1be025..2d6185a99 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 fdaad2163..5aa0896d2 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 339cd81e4..c64345205 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 f736f4c40..e90b971c1 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 769fd8532..81e88ba84 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 a32a1e28e..d10591719 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 60df67ac5..1ef39a61c 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 5c643c7ce..ff3e2c56f 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 47b9bc686..2ca6c9c82 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 01a892bb8..392f65391 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 4c6afd6d8..cda523fba 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 a09ca664f..c3498986b 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 0355aa8e4..784ee2d2a 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 00de22146..7a2e9b6ee 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 dd6bbd002..8239997e5 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 7dd407052..cf25d3ea6 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 341690a56..e6d10c774 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 273e8a93b..93cf3be56 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 422fe0541..2cb3dfa42 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 612f5d38b..910779ce1 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 377246aa6..667620bc9 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 9ea73542c..c649b0e89 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 fb23dda48..767a2c1c6 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 b323b0c39..5e8b9e33f 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 c077ce92d..7444737d0 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 4520129de..5823b2148 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 97cd95dc4..df06ba775 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 cb25f8d6c..0f2b2cedf 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 d16a5e9d0..8f3ad183e 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 e3593cc1a..c7556a893 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 033752b54..2d2481c3e 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 933684bc5..5140aef6c 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 8336c8576..0d5888c35 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 e1882a14e..c49c8c1e0 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 67ea5aca3..ce03afda9 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 ce396e98a..b9190be07 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 87ba49243..c1ecdb4b5 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 80360079c..3aabb13c0 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 b01942cd6..54cc4fb21 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 97cd0af88..6ecf90be2 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 00f801f09..235b9eebd 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 91597fe78..ab50d335c 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 4fd79e5f4..a0d67ed4d 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 87a996228..68766cbe1 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 f2d66d6b4..3fd0837f4 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 aada4b23c..257f55c11 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 49669fe50..133578b4e 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 2b16db325..ab0385986 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 f6fe29e0b..0d05df804 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 a8d1d07c8..d02b54998 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 fd01ed651..99bcc9fe1 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 bb2dca631..824bbde97 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 1e6309dcc..a13c009c3 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 5b6080085..cdad4d2c3 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 9b827646e..1bf3f1f1e 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 69876940a..0a4e433ed 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 ba987d0bb..14b408642 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 d6d635232..c4905f3a2 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 4ae78c250..37a3f3128 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 2649d8fb1..7cd155d43 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 7be8be35b..a11fcb6b6 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 ec43e5701..d93f45cd6 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 5f7e03d03..6326f0e04 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 c128c29ef..cbf78d59b 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 7dec1137a..1cfbcb39a 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 df3085861..327674224 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 cd38a1501..f90553f4b 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 1ee46e7e3..be2af9742 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 226fb3664..69fe97984 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 a18931919..f5a1eac84 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 b01270cbc..e84d64fc9 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 b6a0bb00c..2047235c2 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 479ca86cd..e171273fa 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 271a35c27..265d58b3f 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 5e2bbff64..568f27b97 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 870a00b84..f6ab1b796 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 0f6106f7f..9e86d5f0a 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 479674e5f..46997825f 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 c0b778eb0..3ba006ddb 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 6321d46c4..db8928061 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 a936d6b07..6a462351b 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 5f63771a6..5d9a66e5a 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 ac4d4ba02..31728958a 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 23f2d7a3b..833bb729a 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 7612c6768..07a1f2cc3 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 195ec46e4..13866841b 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 c3fb7f01a..8084f5038 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 b967d3c16..ce6aef587 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 b281d4539..4b3ddf5c8 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 b2c47bf0e..0260cb9da 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 8cd334343..eb173df8f 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 ffb76c665..ab63695f2 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 ad512096b..db087d9f1 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 0001b842a..a3d0019a5 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 b53079416..d3f8b26b4 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 8c3322db3..d36749ab0 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 5ff3258ce..57cd771a9 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 225ca36be..5e6a0143f 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 00497c3f2..3aa3a36ce 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 df67466a2..1893c0aa4 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 26da57fc9..0be074b32 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 fcedddbbb..455e403bf 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 ca80a2c66..5bac19a3e 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 1a7901ee5..5aa4df4f8 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 29c5dc1d2..59f9510f6 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 8949a6d99..d8578fad6 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 0568edb59..7e0e5ad2b 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 7dc891a30..55f0e755d 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 8a0205077..577a07612 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 0e6cca971..587ce8243 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 245c1cf7f..9017def74 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 fbec2fe38..fd2888c98 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 8aaae90b7..9de081e27 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 0885b6ca4..b609155c8 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 c45d6cb86..c46ae131c 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 6ca671551..91d80232f 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 777294878..7b0c5cc84 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 a25ac7325..d9b848aa0 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 6ac22b09f..056926ecf 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 f0deb1956..273a1eaf4 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 8b20e8b78..cbee15283 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 9fd5ebc36..48381a24e 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 78b26f3a1..3496a03db 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 49dacc3d0..7ad26ccf5 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 4e961f1ff..e8d079af5 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 b207de231..124d499e5 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 1a64be2a0..cb3f995ac 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 a2b3dc355..5b7600e1a 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 7ef41f1ed..35d68bcb2 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 971c20610..60dceac32 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 a843aa68f..ed61a1147 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 689d291d5..a8525c7be 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 9aee92298..87da65d6d 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 714783296..069861db7 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 4ec2e13e9..f6c22f9fa 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 54116923d..5ca3e7771 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 34c6f2e36..e876ca737 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 b4393eb66..3ea338a37 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 75d144727..3741fb6ec 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 2258468fe..ab9aa40ea 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 d2b656a50..35e06be35 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 dc10e50b1..24b470bc9 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 05cf05632..7210e7ddd 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 ff5e94d38..b58904a6c 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 4dc48560c..6afdd27bc 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 240753d49..e79a89030 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 9b5f122a0..3337bdc3f 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 26a5f4081..eab98a254 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 60b0330e1..25231b33d 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 2a3f13d06..29da4cefd 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 9ccbdad1b..6f2cbf3b9 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 6e8c7245c..b1c400eab 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 12be17ea2..4f3b70159 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 e59b7e95f..36c0bbfd2 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 e24283947..2f276fd3d 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 08c250dcc..4d658be42 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 9e2eaf3e4..df1f6301f 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 2c10d874b..b6b54995c 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 e149cf7a2..7da148a0c 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 16973f1ea..42a5fb45e 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 e8ba1593a..651c7fb47 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 5a8f5d4f3..06293d901 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 fda9c39b0..4344f0c1c 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 601066c92..936ef6958 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 106f35360..c5c3a3385 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 e98afe0fb..3980a4dd2 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 6255a3cd7..9b6401106 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 84934ce4a..a240e0a49 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 33d9bc30d..fae224a9b 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 6cfea95f8..4e8c6b6b1 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 a500d9513..d929d2f1e 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 2d1235386..47907426e 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 976a31c00..d55172734 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/gsiDeclQtGuiTypeTraits.h b/src/gsiqt/qt5/QtGui/gsiDeclQtGuiTypeTraits.h index d23dac9dc..a0de76c60 100644 --- a/src/gsiqt/qt5/QtGui/gsiDeclQtGuiTypeTraits.h +++ b/src/gsiqt/qt5/QtGui/gsiDeclQtGuiTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 6f7b014c8..06df3a573 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 c6187092a..390c58101 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 f4a48721e..138fc49aa 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 c75b3259f..1f904ad7b 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/gsiDeclQAbstractNetworkCache.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractNetworkCache.cc index eab2cd48e..da55be36d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractNetworkCache.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQAbstractSocket.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractSocket.cc index 7009adca3..3db6f7d9b 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractSocket.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAbstractVideoBuffer.cc index 5ebd8a141..50296ecc3 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 e9513eddc..b60a0b729 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 8ddd18b8e..dbe84a9c0 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 c93159bc4..2b7c6baac 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 15c3db510..836d950db 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 5f9931afb..a7e8e6ac7 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 762d19a03..3280e8bd6 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 be6db1456..37ad3c1e2 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 560129ac8..7ea014e24 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 e27040409..478f6a504 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 891ccee9a..b7012daca 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 d4783a472..dd9547314 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 0775b7617..a81dfe1ba 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 069c15b89..1ebfe1789 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 246e02af4..ef8073960 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 a25ec5844..80db61c09 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 c5d74a563..c4bdb227a 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 eb3bed585..df5db4693 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 96c159536..f7773e438 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/gsiDeclQAuthenticator.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQAuthenticator.cc index 92b049944..07ae62f63 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQAuthenticator.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQCamera.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQCamera.cc index 58871187a..d4ff07382 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 551af13c5..14b2d9f9d 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 76bc4570a..913dc36e9 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 68cc15ebf..290697665 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 715a74dee..d099ed478 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 0f9059904..ba04158da 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 f3c399635..813bc3c13 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 97b842a2f..5a55d84c4 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 059006e85..1dc31e029 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 458c30ed9..896d4338d 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 6c3a32e97..5d359a480 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 e1aa8bce3..ae5a59d5d 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 cdd48d538..8fd43d72a 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 0fa57d4fd..4515f506c 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 b284ce652..1885d1f33 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 221fb8fa1..e353f8fd6 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 f6cea158e..92eb36752 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 b5e6aa488..c2958dafe 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 3665bd5fe..d8b129129 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 c98a3faca..e579b3da0 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 96db06bf6..f4517cdac 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 310e196f8..3448ca09a 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 c4b340a06..adae0e402 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/gsiDeclQDnsDomainNameRecord.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsDomainNameRecord.cc index 3e2ff9205..204c11915 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsDomainNameRecord.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQDnsHostAddressRecord.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsHostAddressRecord.cc index 0cdbe1496..12d6ba949 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsHostAddressRecord.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQDnsLookup.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsLookup.cc index 8037f014c..c7e203ab9 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsLookup.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQDnsMailExchangeRecord.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsMailExchangeRecord.cc index ebfc7ed9a..2a25170b0 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsMailExchangeRecord.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQDnsServiceRecord.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsServiceRecord.cc index 1706ecce5..d9369e4d3 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsServiceRecord.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQDnsTextRecord.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsTextRecord.cc index 4d0e67449..d93294b6f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQDnsTextRecord.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQGraphicsVideoItem.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQGraphicsVideoItem.cc index 882982679..c0852b447 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/gsiDeclQHostAddress.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQHostAddress.cc index 23982bd5d..0a5d4ce28 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQHostAddress.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQHostInfo.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQHostInfo.cc index 72bbfb546..227c3e151 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQHostInfo.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQHttpMultiPart.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpMultiPart.cc index 4319bbda1..fb0d51a07 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpMultiPart.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQHttpPart.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpPart.cc index 0d40e6883..c564dffb6 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQHttpPart.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQIPv6Address.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQIPv6Address.cc index 75af12ee6..0dbf8873e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQIPv6Address.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQImageEncoderControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQImageEncoderControl.cc index 434d05878..fd4d947f6 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 dda940a88..7dbff0837 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/gsiDeclQLocalServer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalServer.cc index 1bd16149e..8bde31982 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalServer.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQLocalSocket.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalSocket.cc index dbbcade3a..0bf32bf6f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQLocalSocket.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQMediaAudioProbeControl.cc index f471791a7..17a15a8fe 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 d25db2df4..77f98f7f4 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 357dad59f..f37886c72 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 a5bdad2c0..9775e5629 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 c87033fed..321998f2d 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 f4e4165a4..9c876d6f3 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 89a5b8c0c..6daab2e1c 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 a255331d2..6914ab3d4 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 aff090a7c..fbce5a777 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 56439e669..d7b7f2669 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 3308b9e61..eeaf8cd18 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 e78f9be74..1b5fe26f9 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 ba88c6484..ca1c078a7 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 d00b4a306..46346ac14 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 de954f76c..1ef6e4b77 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 20e6f4dd9..e516d0d06 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 8dbb887e6..221665a5f 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 a4d3cfe09..7911eaa8f 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 fd3960269..cf8d46055 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 f690a9ca5..d7ef7c862 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 e24f94e32..10f10828d 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 832797c38..8939deacb 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 092d82ccf..c93ba2cf1 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 fa758c3eb..c0b1032a6 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 a127fc8a8..e965ab1ca 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 2de859a62..19962be61 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 ffcbeff37..889d8d757 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 2db71197f..99833d804 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 ffd64aceb..665ebee50 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 113895809..2cc9038f8 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 92dfc3b18..61c07c230 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 5b3bfd03e..51b67ac56 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/gsiDeclQNetworkAccessManager.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkAccessManager.cc index b7223da26..e36b4716d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkAccessManager.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkAddressEntry.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkAddressEntry.cc index e7a6249ee..6c823e8ab 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkAddressEntry.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkCacheMetaData.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCacheMetaData.cc index 4464922c3..23c650a1d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCacheMetaData.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkConfiguration.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkConfiguration.cc index de5ebe9b8..d366f2b01 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkConfiguration.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkConfigurationManager.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkConfigurationManager.cc index 37aad7633..76e5f0ebb 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkConfigurationManager.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkCookie.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookie.cc index bb9d59896..f663289b4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookie.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkCookieJar.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookieJar.cc index bf5a87d2b..92dc91a3a 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkCookieJar.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkDiskCache.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkDiskCache.cc index 50801f987..38ebb3940 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkDiskCache.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkInterface.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkInterface.cc index 30638b3bc..1b92170c0 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkInterface.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkProxy.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxy.cc index 62ac947cd..1d24507cb 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxy.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkProxyFactory.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyFactory.cc index 8f1aa6c00..a3a5ce27f 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyFactory.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkProxyQuery.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyQuery.cc index fc6165d4b..32c9836e7 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkProxyQuery.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkReply.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkReply.cc index b055e5e11..602954ac0 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkReply.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkRequest.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkRequest.cc index 2f420ea4d..418a7c132 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkRequest.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQNetworkSession.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkSession.cc index c99d725d1..7199ba4e9 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQNetworkSession.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQRadioData.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQRadioData.cc index c1eaf3c6e..95b88dfa1 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 d539bb5d3..12f1b8623 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 9803dda6a..caeee2e47 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 f9ed4c4fe..117b07c66 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 d2423d024..6e8d2c9d7 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 84ab87f56..99cc2d813 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/gsiDeclQSsl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSsl.cc index 97cee5792..95258605d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSsl.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslCertificate.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCertificate.cc index 6d996c945..240469ccb 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCertificate.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslCertificateExtension.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCertificateExtension.cc index 7d9abe45d..88b81a32e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCertificateExtension.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslCipher.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCipher.cc index 102d4987d..125215851 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslCipher.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslConfiguration.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslConfiguration.cc index e1ec60617..d99e68573 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslConfiguration.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslEllipticCurve.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslEllipticCurve.cc index aa132c757..2dffa5ac4 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslEllipticCurve.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslError.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslError.cc index 195b816a5..702f461d1 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslError.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslKey.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslKey.cc index f71908c8f..f0238973d 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslKey.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslPreSharedKeyAuthenticator.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslPreSharedKeyAuthenticator.cc index 3bab350b5..8980bbd9e 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslPreSharedKeyAuthenticator.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQSslSocket.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslSocket.cc index bc8cd075d..1acddc4bc 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQSslSocket.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQTcpServer.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpServer.cc index 5ff58461e..b27c1f2c6 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpServer.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQTcpSocket.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpSocket.cc index 7b8a36479..b63f6656b 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQTcpSocket.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQUdpSocket.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQUdpSocket.cc index 32977ee77..6f90384de 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQUdpSocket.cc +++ b/src/gsiqt/qt5/QtMultimedia/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/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc b/src/gsiqt/qt5/QtMultimedia/gsiDeclQVideoDeviceSelectorControl.cc index a1adc330d..c2b3e045a 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 215535049..f66512317 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 621371eaa..d3b0aca74 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 3c24c2371..fd42f4684 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 9e3814f01..3fed6042e 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 b52261e23..d244883d1 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 aaaa3eb0e..4827e743d 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 9d0658ea9..41e63c824 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 fb6d1e9be..a82fbba69 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 34746c2a0..04db65cae 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/gsiDeclQtMultimediaTypeTraits.h b/src/gsiqt/qt5/QtMultimedia/gsiDeclQtMultimediaTypeTraits.h index 7302d6cbf..71f0275cc 100644 --- a/src/gsiqt/qt5/QtMultimedia/gsiDeclQtMultimediaTypeTraits.h +++ b/src/gsiqt/qt5/QtMultimedia/gsiDeclQtMultimediaTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 9f2f28aac..5927d05b8 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 c49510b4c..f9a48bc5a 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 0a6f4b7d3..470ffeef0 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 4f12db1fc..8fd476a6e 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 59089dbdb..965a1c7af 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 b61706ddb..bfad037b3 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 b69c3bcf5..688d11814 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 964f232c6..19cac84fa 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 d845b37b3..403f413c6 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 f195ba107..5ae445e73 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 add6ecda9..5c7611227 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 98ac3170a..3f7c4e315 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 c5de3b3b0..9ad659ffc 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 3965d1b98..70dbefa3a 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 58552360c..75a26cff3 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 18aa3aaaf..ea2be4f90 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 b8ffc051f..228c75a2d 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 1aa2774fd..b3946b6fb 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 305062c4c..f08039073 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 c4d43cea3..6941839d6 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 8514d817f..7fdf8becb 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 09f2613e1..793467ad4 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 35841e051..4d80166ed 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 9eb9a7295..572d4f1b4 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 cdc721ca9..8c9c5a665 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 de7970853..a5c62c2a4 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 576c967c9..250ad26eb 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 59cc8be36..b932bb214 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 7bde4dcca..0d2f95950 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 05f5f3aa6..0cf95a264 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 4e690d83a..3a9641fbb 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 4c2541d73..86c29519f 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 a494b7093..1f85e9061 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 894b07ce5..7fb39de9f 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 fc40b7616..14039656b 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 8fe2c7099..c40a73d36 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 e0a360642..2f12921ca 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 a5e7200ed..4d5b5df7d 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 bafaef674..e4395ca61 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 d08f8b068..eece99ea7 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 6aca47eba..625497f55 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 447f317c0..3abbc78e8 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 106c2ba71..76e33f1b0 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 f72f8c3db..ac0650f63 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 93f24ea8f..c8c88ca6b 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/gsiDeclQtNetworkTypeTraits.h b/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkTypeTraits.h index 1d8c329d3..fca5fc0d7 100644 --- a/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkTypeTraits.h +++ b/src/gsiqt/qt5/QtNetwork/gsiDeclQtNetworkTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 6773e0260..c94390c5c 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 20a544214..ca436099c 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 839962557..3fbbe7500 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 a601ab1c8..1526c3554 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 c47cd078f..977f6577e 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 a42b270ab..eea2e0383 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 40e2890c4..9476a5b2b 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 13e7bcebd..adddded18 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 6ef743841..c0b29916a 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/gsiDeclQtPrintSupportTypeTraits.h b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQtPrintSupportTypeTraits.h index 89c148836..4cb4b7c7d 100644 --- a/src/gsiqt/qt5/QtPrintSupport/gsiDeclQtPrintSupportTypeTraits.h +++ b/src/gsiqt/qt5/QtPrintSupport/gsiDeclQtPrintSupportTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 e82aef8bb..3663105d9 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 a1eec58be..36e077f7a 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 9acbf6936..18e141aa5 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 fcd8c1b23..d5d75ec48 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 0da89358b..ce1c39e43 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 039e7e334..15f287a72 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 6d651ec1a..e5aa6cf5c 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 b645fe7af..913544aa7 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 ebf274617..aa1830104 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 471787145..b2b03ffc1 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 0284fadfe..a98fe6c5a 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 e3c07c2d2..d04da2a10 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 62d5f58d7..6495880c5 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 090a49b7b..854b90c80 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 e73ecc4b9..3ae0c390e 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/gsiDeclQtSqlTypeTraits.h b/src/gsiqt/qt5/QtSql/gsiDeclQtSqlTypeTraits.h index d4b3224a6..2e0de481f 100644 --- a/src/gsiqt/qt5/QtSql/gsiDeclQtSqlTypeTraits.h +++ b/src/gsiqt/qt5/QtSql/gsiDeclQtSqlTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 5a56423ab..dbc5c7eed 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 2fb4ae1aa..81e84c82a 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 270bc8a01..fd0eeef5e 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 9ff1b18c9..3408c78bf 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 b43be22d7..219cef13e 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/gsiDeclQtSvgTypeTraits.h b/src/gsiqt/qt5/QtSvg/gsiDeclQtSvgTypeTraits.h index cc18cff20..f4fa25aa4 100644 --- a/src/gsiqt/qt5/QtSvg/gsiDeclQtSvgTypeTraits.h +++ b/src/gsiqt/qt5/QtSvg/gsiDeclQtSvgTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 19df8a1a1..392febf95 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 90698b958..df819fed2 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/gsiDeclQtUiToolsTypeTraits.h b/src/gsiqt/qt5/QtUiTools/gsiDeclQtUiToolsTypeTraits.h index 85928cc3b..33f0ded63 100644 --- a/src/gsiqt/qt5/QtUiTools/gsiDeclQtUiToolsTypeTraits.h +++ b/src/gsiqt/qt5/QtUiTools/gsiDeclQtUiToolsTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 789b4e182..4caa51126 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 fc6a7fa77..c62f7ffa0 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 ec19a9c41..b1426af5f 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 efb5e4c41..70c604cff 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 1b508c776..2fc60557e 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 b38a84018..b6f6a511b 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 82a5441db..350f707c2 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 1f8fb2337..5946941b0 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 1ec1dbceb..30d59d6da 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 7f6d53ee8..ef7fff809 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 d7d148b55..40b72fcfe 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 3b90953fd..225d38a5b 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 8c743f0c9..5265a086b 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 b73aff476..313765f2f 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 7369a2d4e..250107787 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 e828ab21c..4de3ca4b3 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 2694aad7e..5b7f09042 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 f9f2fc4e4..c388a46dd 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 1d84c7e08..d1b234c90 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 d4120946e..9c0f6fb0a 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 7de62a0c7..c6e2f42cb 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 d22b571b4..b77f9ba6d 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 fe7355fba..04dec75d4 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 40d10a9a1..c4e85bb70 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 12de988f3..2f855d43e 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 653c22932..8f5804d05 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 a0dc6af03..19be6023a 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 c5d582c75..bf18419d9 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 b11a604c1..7ba221355 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 aedba9cb6..02c98922f 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 638023b0c..7c1980564 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 523f04c94..baaac63bc 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 6f6437e61..a71c415c5 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 f7ea4e4fe..ffdee6039 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 003effa97..470783897 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 4b1b77bb7..8308cfdac 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 f7389646a..a21ddff5b 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 33a241503..046569ada 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 919409ebb..c7c398cde 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 b3591fe43..8b3799d04 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 12f90c544..c4cf5b5c4 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 c3dc921eb..a48e0b596 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 f5ee7bf46..1989c57fc 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 a2e14bcf1..3292d9d21 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 f1a55b338..3fe9fde2e 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 eeae34f9d..fc25bba52 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 28c08aff2..9c5e71cda 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 b98d1b6d5..244e0f8cd 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 e4df44471..19019f5fa 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 0d25006f9..2a3013bf2 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 90df17036..4ad2d5e1d 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 1b91d5011..274bbc2b2 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 7780a52f7..0c1c9d173 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 8a103c021..79d9739c6 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 a1f249b94..f8b399b57 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 443eb607c..03881dfc1 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 8efd94fbf..f34d8a2ed 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 2abec92ce..55acf3fd5 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 35b0efb7a..2d9c9b7a8 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 004d76758..ee39afb10 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 9138380a1..081ad3af1 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 2560a0431..17818a740 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 d01846071..e57476878 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 da1cf16cf..6d406842f 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 7fb580693..248d6a08d 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 f36325580..149342c5d 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 c7c60758f..80f3878f2 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 0043512c0..49207e9fd 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 ee73b8fe9..b8d59656f 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 6dcf24dc3..d1c53fe07 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 3bad39fee..1e1a08473 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 ab79c2c75..b055339ca 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 e2ddc9008..a12da5bce 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 f4e8e3e55..d94e8ca06 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 64a407b31..a28244324 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 f940591ef..838e1ed09 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 a98f47a02..4e6d14b8f 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 1b7d5b831..fdb8005fe 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 91ef75727..502c070a4 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 48f68d93e..8d0dfc615 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 aa5e17698..3c365bc8b 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 bdada24bd..858f42e05 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 28de096b9..6c3c3b071 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 f2f498ed4..519801a72 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 7089ea38d..e1c81b0cb 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 462e87e31..724e282a6 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 721c295ee..3fe8e7137 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 cdc3628fb..45d1944dd 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 8645bc8f8..48bff95b5 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 750eb31f7..1926f7294 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 a7a5c0e91..a30c8374a 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 1dd03a429..9d4718386 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 ca8691d80..b8fdee7cd 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 026753c16..a8b151e46 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 551d9236d..8b2ad7abe 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 13a430342..58fb0c5e6 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 803e1bac3..986bbc5a3 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 029768ff2..f091c6320 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 6b217a55d..a7fac11af 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 9f6bd5ee5..d4d4a2390 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 824e9693c..f28531d5e 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 c4bb3caa3..3ed95cb17 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 a442c5544..1c3c3283c 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 4e102e2ea..1b385536d 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 9544e60d0..76cda19b7 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 77d57f540..75de6362d 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 2f8a45cf1..ea21fd9aa 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 232bfb845..abad91a2e 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 78a0ac352..1e9411d1a 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 8aa245462..e49f1da1c 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 9e184c02c..8c39d2d0a 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 c3ea1ebbd..2af6962bc 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 f3a1cc52d..61d4ef167 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 56d0c6b23..e0091a9f1 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 04aa44570..49c260e14 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 74c31d612..c8b57b921 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 f136b5103..11b9ff969 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 56c6581c5..893c02a34 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 8c96a4cbe..d38b9e1ce 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 eea5f7de7..3a3b4caf5 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 1856a67d2..a40cbe3ba 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 e753bc460..f9f12c3e3 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 ca5676b7e..5b61921b5 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 18378a247..8d97a13bc 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 6a6db352a..6b1e505e1 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 2b130e562..9927bd6eb 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 21f0a4fd3..743040204 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 3dfc4c048..7e761bb44 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 997d5c14b..9688da6fa 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 1a395a90a..34f5a233e 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 0a60520bc..505113acd 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 7aee318f9..2c69fdb20 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 0075f5377..7b3ff9be6 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 7216e02b2..baab84197 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 445a7644f..f75619819 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 3ca3a9eaa..10d9725c2 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 b7b8ce86c..fddfcb6b2 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 c943c241b..849aaa64c 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 67a2ec298..ea2b6995b 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 8dc5329f0..89995a742 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 34da6ed99..d4d22e800 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 99d9e2caf..b8dac52ea 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 6dc98f9b4..d91d900c0 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 0fd4df503..0d0483631 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 2ff6b72c9..e68fae4f0 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 f8cadfab7..4ad40a41f 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 77c1378f8..5f96440b9 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 467f5c1a2..b4b075d32 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 77fe03d92..c55ade6d7 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 6e6c2bd4b..da0218155 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 5cfe5d697..d11e69c2b 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 156df1adb..e428a2994 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 a39fd32dd..0182c77c4 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 74abd3fff..50609514f 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 b31e1ed10..55766ac6b 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 d4cc566e9..9ac133f1a 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 28b60ccde..3f5e7da40 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 7b510e9d0..c007f2239 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 4b660ef5a..3beae13c1 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 3d35d56dd..079e10e22 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 0a4126186..9effc9458 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 a08e88f40..88a6e378c 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 e5d9551a1..f32eca2cb 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 e5fb3e087..008f2ae3b 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 fcbc3d3a0..8668c8e2a 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 9015e5b36..9be72a6e8 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 67e86cae2..9984a694b 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 e61871e5c..8b46c1a96 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 1bf96c228..9d99a3bcb 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 125bf0b59..738f63930 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 f048d6c26..28c56e161 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 2f4b3e15a..67c12b4a0 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 d88de6510..ffaa1a14d 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 128b964f5..01eb44375 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 efe832bb8..c9fdf5ccb 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 0977f3bab..3277e0802 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 bbb61fae3..cb6e34145 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 4028e1091..4d8d22d86 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 06959ac21..f546582b5 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 14a21cd3d..292001e6e 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 f6cd6bde1..4b34926bb 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 51f900778..2483ccb02 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 28b6b0bb5..b1a16acdd 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 06f7e04bb..d1b718d19 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 c4cd797dc..1b5a32c30 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 6d60a1af2..006dcca09 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 123ed4bb2..b124a718b 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 63dd1e7e9..7eb65a7ca 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 a398983b4..a44c8f87a 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 890b74c91..557e362d3 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 cbfe7348e..997b2c264 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 d5daa74ef..6304341a1 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 f7f3d518f..6c1864e43 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 5024e1f7d..8ad822ee6 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 030ce49e2..66718c745 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 589ecd86f..6eaabbaa2 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 2c022457c..d072c366b 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/gsiDeclQtWidgetsTypeTraits.h b/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsTypeTraits.h index f737e956e..627e29d8e 100644 --- a/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsTypeTraits.h +++ b/src/gsiqt/qt5/QtWidgets/gsiDeclQtWidgetsTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 06732c92e..ba0eaf09a 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 b76aff90d..1551b4daf 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 8cf66532f..5699926f4 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 bb57a6951..c76dbd500 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 12cb6291a..e0112ec65 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 fdec72044..d2751e3c3 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 134092ac4..524725924 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 17c1562a7..d717505f2 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 b66113b5b..671743a01 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 8f9553393..727c0d9d3 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 934d826bf..2e41f8d5b 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 13e52763f..4af40a138 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 9bc442377..32b9d26f1 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 ad796d31e..472c94ebe 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 2e5114fa7..c6a634978 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 b3a7fb55a..69c238883 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 fc8a2875a..904ba5123 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 bd065f279..3b84772ba 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 ef324747a..270ec6208 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 f866b360f..2502fb74e 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 e7b711ebc..0cdd0be83 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 ef11a494d..8a636c4cb 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 99688a527..9e0d9b1b8 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 be3689b90..4513d2fdc 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 17c6845d6..38c28588a 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 f194ad5f5..a9b5e9efb 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 1f53e25b2..c8260235c 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 be8874235..4a82bae5c 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 fe4e70d5d..deab07dc7 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 8ffd7919a..62ef19d6d 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 4d777082e..ef679b03b 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 f8e249c90..880198b27 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/gsiDeclQtXmlTypeTraits.h b/src/gsiqt/qt5/QtXml/gsiDeclQtXmlTypeTraits.h index 94a714a9e..4223c54fe 100644 --- a/src/gsiqt/qt5/QtXml/gsiDeclQtXmlTypeTraits.h +++ b/src/gsiqt/qt5/QtXml/gsiDeclQtXmlTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 9c0a651d8..0f922d903 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 074462e61..0dd77acdb 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 f7b3486e9..915d2f185 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 c257f7b99..265fd8a10 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 ddb7f83b1..3abf52fe6 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 fa3635ced..de2c6d745 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 caca80d98..0a3b8bb4b 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 4ac22a44c..cda14387f 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 902a143b6..0e0469cf5 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 125660e71..ebf547ad6 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 50e7b4c6e..cd6b76c50 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 bb73a24ec..287a0862c 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 61e1aa2cd..aa7ec56a8 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 1b8b89e2b..62f5a8ff4 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 5d66581f7..c75bf887b 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 0ab66cf60..e11202da4 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 6f5203eea..83d1545ab 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/gsiDeclQtXmlPatternsTypeTraits.h b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsTypeTraits.h index 3a5236d5c..5eac6e187 100644 --- a/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsTypeTraits.h +++ b/src/gsiqt/qt5/QtXmlPatterns/gsiDeclQtXmlPatternsTypeTraits.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; you can 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 d064e7d03..57f296903 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/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 123ad4fa4..dcb92e514 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/gsiQtCoreExternals.h b/src/gsiqt/qtbasic/gsiQtCoreExternals.h index 5a313e210..76587e170 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 e969f0fea..f36e9aed9 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 6b7b2a7a4..2daac73a7 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 92f3efc62..b4eb5bf55 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 d7032d221..5bf8f6928 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 251a3dc79..d617fa763 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 b595853eb..a349cce67 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 fd6468d92..8deb3f25d 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 3b3c740c9..f6cd78d4c 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 f96d0f10f..31c69d65f 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 b4713bd5c..7e335ec7e 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 e5c48f1c0..f580804a4 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 05910ee96..941b66491 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 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..a798b6c01 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 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 6d0bdff91..646dc9115 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 4623478ed..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 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_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/gsiDeclLayApplication.cc b/src/lay/lay/gsiDeclLayApplication.cc index a24f61f6d..287b80f92 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 diff --git a/src/lay/lay/gsiDeclLayHelpDialog.cc b/src/lay/lay/gsiDeclLayHelpDialog.cc index 1cb6fb7f1..875501bab 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 diff --git a/src/lay/lay/gsiDeclLayMainWindow.cc b/src/lay/lay/gsiDeclLayMainWindow.cc index 53e2e8dce..a5970dc55 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 diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index b34801be4..29507c87f 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 diff --git a/src/lay/lay/layApplication.h b/src/lay/lay/layApplication.h index b7ee616e2..f64f753b1 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 diff --git a/src/lay/lay/layClipDialog.cc b/src/lay/lay/layClipDialog.cc index c124914c2..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 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 d829436db..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 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 69cdc9145..761973daf 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 diff --git a/src/lay/lay/layGSIHelpProvider.h b/src/lay/lay/layGSIHelpProvider.h index 2dcb6c0ef..02537e2f6 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 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..5d4a4b64d 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 diff --git a/src/lay/lay/layHelpSource.cc b/src/lay/lay/layHelpSource.cc index c09e0e9f0..85b171830 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 diff --git a/src/lay/lay/layHelpSource.h b/src/lay/lay/layHelpSource.h index fa053a0bd..93d98396d 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 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..77bd03e20 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 diff --git a/src/lay/lay/layMacroController.h b/src/lay/lay/layMacroController.h index 978f626e0..757d92653 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 diff --git a/src/lay/lay/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index c50909a0a..add3947c5 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 diff --git a/src/lay/lay/layMacroEditorDialog.h b/src/lay/lay/layMacroEditorDialog.h index 750715f79..dc234822f 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 diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index 4d0226a4f..b2beca306 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 diff --git a/src/lay/lay/layMacroEditorPage.h b/src/lay/lay/layMacroEditorPage.h index 5392d4ace..a86cfceb3 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..58fcf16f5 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 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 8c4e3873b..2eedb2ae9 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 b886acfc8..1e03e5284 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 cb2f2246d..70e892ac4 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 aeaf936af..d796139df 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 49a6363b3..ceab831b2 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 9c16f2f63..55f13d438 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 fca7e5230..dfb50c3ad 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 diff --git a/src/lay/lay/layResourceHelpProvider.h b/src/lay/lay/layResourceHelpProvider.h index d84bad084..034089b29 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 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 9a5acc1c0..f1d63efaf 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 diff --git a/src/lay/lay/laySalt.h b/src/lay/lay/laySalt.h index 758c5ce86..670c9b990 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 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 bc3ed4f4e..40dc2a565 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 diff --git a/src/lay/lay/laySaltDownloadManager.h b/src/lay/lay/laySaltDownloadManager.h index 0bffd45d6..ded523df8 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 diff --git a/src/lay/lay/laySaltGrain.cc b/src/lay/lay/laySaltGrain.cc index fed757097..cad65ab12 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 diff --git a/src/lay/lay/laySaltGrain.h b/src/lay/lay/laySaltGrain.h index 1094b670f..5d7bd5f34 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 diff --git a/src/lay/lay/laySaltGrainDetailsTextWidget.cc b/src/lay/lay/laySaltGrainDetailsTextWidget.cc index 820a334de..c08b73ecc 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 a49f5c494..655e70b0f 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 618806f87..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 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 3c70640ba..5b7c0a1fb 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 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 861e7155b..ea04fa481 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 c33582051..356a0038f 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 20ebb8261..27d64dcfe 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 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/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/gsiDeclLayDialogs.cc b/src/laybasic/laybasic/gsiDeclLayDialogs.cc index d802ee01b..ece5547ea 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 diff --git a/src/laybasic/laybasic/gsiDeclLayLayers.cc b/src/laybasic/laybasic/gsiDeclLayLayers.cc index 75fd91eac..b59a10158 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..856e44fbb 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 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 130f2f632..745f0672d 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 a7f05d9d6..7ce88934b 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 5751fbb2b..99e604482 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 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 567a958f0..4a42b8921 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 2a7ecfbed..0bd69304f 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 752b0cf92..7f9091c45 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 6dbb2fa5b..15b131185 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 b2628de09..c8dbbaba3 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 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 a53b3911a..d912c036f 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 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 886cefbc3..c107ba089 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/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..7d122724f 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 diff --git a/src/laybasic/laybasic/layCellSelectionForm.h b/src/laybasic/laybasic/layCellSelectionForm.h index d22508a5f..a4500bae1 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 diff --git a/src/laybasic/laybasic/layCellTreeModel.cc b/src/laybasic/laybasic/layCellTreeModel.cc index 131ea86fc..0c59a65e4 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 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 af6c5e947..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 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 cc8f13f7a..44f7bf41a 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 index fcab7fd25..f04e5374c 100644 --- a/src/laybasic/laybasic/layD25TechnologyComponent.cc +++ b/src/laybasic/laybasic/layD25TechnologyComponent.cc @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; 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.h b/src/laybasic/laybasic/layD25TechnologyComponent.h index 842006ccc..5cdf03df8 100644 --- a/src/laybasic/laybasic/layD25TechnologyComponent.h +++ b/src/laybasic/laybasic/layD25TechnologyComponent.h @@ -2,7 +2,7 @@ /* KLayout Layout Viewer - Copyright (C) 2006-2021 Matthias Koefferlein + Copyright (C) 2006-2022 Matthias Koefferlein This program is free software; 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/layDialogs.cc b/src/laybasic/laybasic/layDialogs.cc index dff4f4136..43656578a 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 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 92642df97..fe8716bf3 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 ae7d0b31e..4b5bdb456 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 fd7b37e41..4624d4e9e 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 26e273301..ad283028e 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..9636af8ed 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 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 67c6fc5d4..fb1aefaa0 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 5ab7e9bd2..986152b51 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 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 a099bae44..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 diff --git a/src/laybasic/laybasic/layEditorServiceBase.h b/src/laybasic/laybasic/layEditorServiceBase.h index 22ee9e7ef..dfeb5332b 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 diff --git a/src/laybasic/laybasic/layFileDialog.cc b/src/laybasic/laybasic/layFileDialog.cc index 5f479aae2..30907faf9 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 dbfd011a5..6961313f5 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..96d420906 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 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 869561d5f..775af8511 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 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 cfe06d648..1c913fed5 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 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 72ff771d0..57f54aac1 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 0acd45434..8b7d8c3d9 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 7e934e9ed..4ce921f13 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 d59ad13a2..44d455c0c 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 ab7d0e1e0..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 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 30867408a..59b179692 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 3a2686bfa..2d7b68bb3 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 diff --git a/src/laybasic/laybasic/layLayoutView.h b/src/laybasic/laybasic/layLayoutView.h index 58dbf94c6..5c04d0d8d 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 f400787fc..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 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 060cd7b1e..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 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 e80568f15..95fbc314d 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 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 9133285a4..e0c206384 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..4fd53b135 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 diff --git a/src/laybasic/laybasic/layMarker.h b/src/laybasic/laybasic/layMarker.h index c0a6eeed4..74f6407a9 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 43e42568a..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 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 ae89eabe1..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 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 b923ca95f..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 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 c0ec15250..c7702d261 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 diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.h b/src/laybasic/laybasic/layNetlistBrowserModel.h index 0290e1dbe..d71c7dba7 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 61b905767..750a4fcb2 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..5d93d2cc1 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 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..7bc862d42 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 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 87a955227..f8f80e43a 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..2bbbcca7e 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 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..e9844b9b7 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 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 4284f7a96..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 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 aecba5efe..48772aa0d 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 2cdad35f0..5c36ea2f3 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 bbe45a8eb..f5748fd9a 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 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 6f52401e7..a38dd8dc9 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/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 6e8479835..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 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/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..f2386c72d 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 diff --git a/src/lvs/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index 70a865243..f2fe8e43b 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 diff --git a/src/lym/lym/gsiDeclLymMacro.cc b/src/lym/lym/gsiDeclLymMacro.cc index 91ba0da3e..a1414f227 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 c8d20fee9..310d27bf6 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 diff --git a/src/lym/lym/lymMacro.h b/src/lym/lym/lymMacro.h index 85c8266e9..396bdbee3 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 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..afacdec00 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 diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h index 6ddf52404..bda5bf2be 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 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 dec33b469..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 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..69f548e56 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 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 56b5113c2..72d5cb63b 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..f418a614f 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 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 6607019e3..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 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/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 1603adbbe..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 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..b490988aa 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 diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h index b37c951e0..9e54c8949 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 diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc index 24f8383ea..721cc33bf 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 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..f7165e1f1 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 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 831d72a05..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 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 18b11bbf7..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 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 d1c0e77bf..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 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..77f82f653 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 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..b7d70b664 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 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..44afbddad 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 diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h index 39bc11e8e..cdfe8c2ca 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 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..bdeaa0b87 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 diff --git a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h index f451de2dd..40ff94a11 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 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 17a9e086f..b5ef8e717 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 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 cee0e33ad..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 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 9668a6a63..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 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/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..e3a12080d 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 diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index a8aef4b3d..a8a592dc2 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 diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index 8cbedbbfc..a4e420576 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 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 3eb97dfee..d3f429ea5 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 diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index bf98f147f..63b069463 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 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/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 b0a1a544a..db6edb247 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 932c564cd..f1f96fffb 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 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 0c44b2874..e583d1484 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 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 acaab2780..21fbc9ac1 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 diff --git a/src/pya/pya/pyaModule.h b/src/pya/pya/pyaModule.h index beb510926..e5cf36c3c 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 551e61c57..a8d8978c7 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 36e1ab97d..c1596d1b4 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/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 83fdd0c5c..e9bf0f20e 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 7aaa7899e..2f880c8ec 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 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 17673a91a..ee8d6c4a7 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 66fc377a6..6be36cf0b 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 a7a1ecaf5..fb5da2785 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 73a1a0011..e7f4d58f3 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 15d5584d9..72eb3c570 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 diff --git a/src/rba/rba/rbaMarshal.h b/src/rba/rba/rbaMarshal.h index 10a66b574..5ac610246 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 896183dd4..43ef57658 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..bf03f816d 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 diff --git a/src/rdb/rdb/rdb.cc b/src/rdb/rdb/rdb.cc index d4a57419f..523041d9e 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 138cd4d96..9f851f0f1 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/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 b7fb623a8..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 diff --git a/src/tl/tl/tlExpression.h b/src/tl/tl/tlExpression.h index e67877828..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 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..a555ab2f0 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 diff --git a/src/tl/tl/tlFileUtils.h b/src/tl/tl/tlFileUtils.h index 70d204302..b5530b8a6 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 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..3e53e3bc8 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 diff --git a/src/tl/tl/tlHttpStreamCurl.cc b/src/tl/tl/tlHttpStreamCurl.cc index 254c70e1a..2d21719fc 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 diff --git a/src/tl/tl/tlHttpStreamCurl.h b/src/tl/tl/tlHttpStreamCurl.h index 1ebebac96..0ee07c8fd 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 diff --git a/src/tl/tl/tlHttpStreamNoQt.cc b/src/tl/tl/tlHttpStreamNoQt.cc index bb444a6b6..0d524efa6 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 diff --git a/src/tl/tl/tlHttpStreamQt.cc b/src/tl/tl/tlHttpStreamQt.cc index 613efbd3c..837d9d249 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 diff --git a/src/tl/tl/tlHttpStreamQt.h b/src/tl/tl/tlHttpStreamQt.h index a43609158..344bbc529 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 diff --git a/src/tl/tl/tlInclude.cc b/src/tl/tl/tlInclude.cc index e247ab9f3..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 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 21458d74f..364927bab 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..1cb58461b 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 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..8f5e0c9df 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 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 aff0b25b5..bb6b9066e 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 20770718b..2eda18ea7 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 2f332ebb0..91448fa50 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 e0c0e1e87..fdb493ce2 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 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 f13b5400f..61eb12e48 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 diff --git a/src/tl/tl/tlString.h b/src/tl/tl/tlString.h index 014928d5f..ec0f5904f 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 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 98dcb0c82..969896268 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 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 e34ec528d..f8f9ada75 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 diff --git a/src/tl/tl/tlVariant.h b/src/tl/tl/tlVariant.h index 960566844..2bcf12894 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 diff --git a/src/tl/tl/tlVariantUserClasses.h b/src/tl/tl/tlVariantUserClasses.h index 900ea07ba..a1213cb53 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 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 0bbd77803..c5d3b43eb 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..5606cd58b 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 diff --git a/src/tl/tl/tlWebDAV.h b/src/tl/tl/tlWebDAV.h index e845ce6c9..af041e8fb 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 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 619b5a351..95be64fb7 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 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 efa6e8f04..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 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 1f41339af..3eff9e2c7 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..fe75ff554 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 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 a8c2b0d1f..d64cc096b 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..5520ac15d 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 diff --git a/src/tl/unit_tests/tlStringTests.cc b/src/tl/unit_tests/tlStringTests.cc index d02f2adeb..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 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 93af6d383..68f1313a6 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 092bf5bc7..0f048f14d 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 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/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/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/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_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_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_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_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_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 1e653628d..437b50408 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..526208e26 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 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..78b562687 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 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..92e56dab9 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 diff --git a/testdata/ruby/dbCellInstArrayTest.rb b/testdata/ruby/dbCellInstArrayTest.rb index 7d167ac6e..c57252a0d 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 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..968515c32 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 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..d55b7fc28 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 diff --git a/testdata/ruby/dbLayoutTest.rb b/testdata/ruby/dbLayoutTest.rb index 4d08991c3..dd6fa5735 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 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..70fd0cd92 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 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..ac2d7c037 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 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..9448d147d 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 diff --git a/testdata/ruby/dbRecursiveShapeIterator.rb b/testdata/ruby/dbRecursiveShapeIterator.rb index 58f33c023..2f46a306b 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 diff --git a/testdata/ruby/dbRegionTest.rb b/testdata/ruby/dbRegionTest.rb index ecf2a8853..47b5808eb 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 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..75eedbf76 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 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..7fca57d7a 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 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 8511ee21b..8f95f6c56 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..b503dc553 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 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 From 6b752723b1954e6a3fc09e1af2c00e501288f44a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 6 Jan 2022 09:38:13 +0100 Subject: [PATCH 024/126] Fixed PyPI build scripts --- Jenkinsfile-pypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile-pypi b/Jenkinsfile-pypi index 72d16f7da..8bc51a963 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_v')) { sh("twine upload --skip-existing wheelhouse/klayout-*manylinux2014*.whl wheelhouse/*.zip") } From cd07fce498ca87d460a20e2542671a26138e522c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 6 Jan 2022 21:41:52 +0100 Subject: [PATCH 025/126] Master branch version is 0.28 - separating 0.27 now into a separate branch --- version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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") From 86cee4118b9fdfc508eff6185e7a67646115892e Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 7 Jan 2022 22:22:31 +0100 Subject: [PATCH 026/126] Updated copyright for 2022 for remaining files. --- src/gsiqt/qt5/QtCore/gsiDeclQMetaType.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractAnimation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractEventDispatcher.cc | 2 +- .../qt6/QtCore/gsiDeclQAbstractEventDispatcher_TimerInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractItemModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractListModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractNativeEventFilter.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractProxyModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAbstractTableModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAdoptSharedDataTag.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAnimationDriver.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAnimationGroup.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQAnyStringView.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQBasicMutex.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQBasicTimer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQBindingStatus.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQBuffer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQByteArrayMatcher.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCalendar.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCalendar_SystemId.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCalendar_YearMonthDay.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQChildEvent.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCollator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCollatorSortKey.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCommandLineOption.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCommandLineParser.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQConcatenateTablesProxyModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCoreApplication.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQCryptographicHash.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDataStream.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDate.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDateTime.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDeadlineTimer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDebug.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDebugStateSaver.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDeferredDeleteEvent.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDir.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDirIterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQDynamicPropertyChangeEvent.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQEasingCurve.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQElapsedTimer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQEvent.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQEventLoop.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQEventLoopLocker.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFactoryInterface.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFile.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFileDevice.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFileInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFileSelector.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQFileSystemWatcher.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQIODevice.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQIODeviceBase.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQIdentityProxyModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQItemSelection.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQItemSelectionRange.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonArray.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Const_iterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonArray_Iterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonDocument.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonObject.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Const_iterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonObject_Iterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonParseError.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonValue.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQJsonValueRef.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQKeyCombination.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLibrary.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLibraryInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLine.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLineF.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLocale.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLockFile.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQLoggingCategory.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMargins.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMarginsF.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMessageAuthenticationCode.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMessageLogContext.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMessageLogger.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaAssociation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaClassInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaContainer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaEnum.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaMethod.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaObject.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Connection.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_Data.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaObject_SuperData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaProperty.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaSequence.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMetaType.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMethodRawArguments.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMimeData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMimeDatabase.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMimeType.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQModelIndex.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQModelRoleData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQModelRoleDataSpan.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQMutex.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQNoDebug.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQObject.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQOperatingSystemVersion.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQParallelAnimationGroup.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPartialOrdering.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPauseAnimation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPersistentModelIndex.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPluginLoader.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPluginMetaData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPoint.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPointF.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQProcess.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQProcessEnvironment.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyAnimation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingError.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyBindingSourceLocation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyNotifier.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserver.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyObserverBase.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQPropertyProxyBindingData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRandomGenerator64.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQReadLocker.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQReadWriteLock.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRect.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRectF.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRecursiveMutex.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRegularExpression.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatch.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRegularExpressionMatchIterator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQResource.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQRunnable.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSaveFile.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSemaphore.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSemaphoreReleaser.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSequentialAnimationGroup.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSettings.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSharedMemory.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSignalBlocker.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSignalMapper.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSize.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSizeF.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSocketDescriptor.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSocketNotifier.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSortFilterProxyModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStandardPaths.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStorageInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringConverter.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringConverterBase_State.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringDecoder.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringEncoder.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringListModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQStringMatcher.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSysInfo.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQSystemSemaphore.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTemporaryDir.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTemporaryFile.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTextBoundaryFinder.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTextStream.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQThread.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQThreadPool.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTime.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTimeLine.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTimeZone.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTimeZone_OffsetData.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTimer.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTimerEvent.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTranslator.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTransposeProxyModel.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQTypeRevision.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQUrl.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQUrlQuery.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQVariantAnimation.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQVersionNumber.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQWaitCondition.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQWriteLocker.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttribute.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamAttributes.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityDeclaration.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamEntityResolver.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNamespaceDeclaration.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamNotationDeclaration.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamReader.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQXmlStreamWriter.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQt.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQtCoreAdd.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQt_1.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQt_2.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQt_3.cc | 2 +- src/gsiqt/qt6/QtCore/gsiDeclQt_4.cc | 2 +- src/gsiqt/qt6/QtCore/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQBinaryJson.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQRegExp.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextCodec.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextDecoder.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQTextEncoder.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlAttributes.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlContentHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDTDHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDeclHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlDefaultHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlEntityResolver.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlErrorHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlInputSource.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLexicalHandler.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlLocator.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlNamespaceSupport.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlParseException.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlReader.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiDeclQXmlSimpleReader.cc | 2 +- src/gsiqt/qt6/QtCore5Compat/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAbstractFileIconProvider.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAbstractTextDocumentLayout.cc | 2 +- .../QtGui/gsiDeclQAbstractTextDocumentLayout_PaintContext.cc | 2 +- .../qt6/QtGui/gsiDeclQAbstractTextDocumentLayout_Selection.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAbstractUndoItem.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessible.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleActionInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEditableTextInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleHyperlinkInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleImageInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleObject.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleStateChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableCellInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTableModelChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextCursorEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInsertEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextRemoveEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextSelectionEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleTextUpdateEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessibleValueInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessible_ActivationObserver.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAccessible_State.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQAction.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQActionEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQActionGroup.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQApplicationStateChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQBackingStore.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQBitmap.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQBrush.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQClipboard.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQCloseEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQColor.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQColorSpace.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQColorTransform.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQConicalGradient.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQContextMenuEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQCursor.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDesktopServices.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDoubleValidator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDrag.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDragEnterEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDragLeaveEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDragMoveEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQDropEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQEnterEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQEventPoint.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQExposeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFileOpenEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFileSystemModel.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFocusEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFont.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFontDatabase.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFontInfo.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFontMetrics.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQFontMetricsF.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGenericPlugin.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGenericPluginFactory.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGlyphRun.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGradient.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGradient_QGradientData.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQGuiApplication.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQHelpEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQHideEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQHoverEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIcon.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIconDragEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIconEngine.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIconEnginePlugin.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIconEngine_ScaledPixmapArgument.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQImage.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQImageIOHandler.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQImageIOPlugin.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQImageReader.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQImageWriter.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQInputDevice.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQInputEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQInputMethod.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQInputMethodEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQInputMethodQueryEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQIntValidator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQKeyEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQKeySequence.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQLinearGradient.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQMatrix4x4.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQMouseEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQMoveEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQMovie.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQNativeGestureEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQOffscreenSurface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPageLayout.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPageRanges.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPageRanges_Range.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPageSize.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPagedPaintDevice.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPaintDevice.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPaintDeviceWindow.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPaintEngine.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPaintEngineState.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPaintEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPainter.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPainterPath.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPainterPathStroker.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPainterPath_Element.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPainter_PixmapFragment.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPalette.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPdfWriter.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPen.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPicture.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPixelFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPixmap.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPixmapCache.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPlatformSurfaceEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPointerEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPointingDevice.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPointingDeviceUniqueId.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPolygon.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQPolygonF.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQQuaternion.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRadialGradient.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRasterWindow.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRawFont.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRegion.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRegularExpressionValidator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQResizeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQRgba64.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQScreen.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQScreenOrientationChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQScrollEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQScrollPrepareEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQSessionManager.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQShortcut.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQShortcutEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQShowEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQSinglePointEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQStandardItem.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQStandardItemModel.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQStaticText.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQStatusTipEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQStyleHints.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQSurface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQSurfaceFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQSyntaxHighlighter.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTabletEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextBlock.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextBlockFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextBlockGroup.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextBlockUserData.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextBlock_Iterator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextCharFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextCursor.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextDocument.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentFragment.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextDocumentWriter.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextFragment.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextFrame.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextFrameFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextFrame_Iterator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextImageFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextInlineObject.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextItem.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextLayout.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextLayout_FormatRange.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextLength.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextLine.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextList.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextListFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextObject.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextObjectInterface.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextOption.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextOption_Tab.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextTable.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextTableCell.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextTableCellFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTextTableFormat.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQToolBarChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTouchEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQTransform.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQUndoCommand.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQUndoGroup.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQUndoStack.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQValidator.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQVector2D.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQVector3D.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQVector4D.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQWhatsThisClickedEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQWheelEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQWindow.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQWindowStateChangeEvent.cc | 2 +- src/gsiqt/qt6/QtGui/gsiDeclQtGuiAdd.cc | 2 +- src/gsiqt/qt6/QtGui/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudio.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioBuffer.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDecoder.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioDevice.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioFormat.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioInput.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioOutput.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSink.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQAudioSource.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQCamera.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraDevice.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQCameraFormat.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQImageCapture.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaCaptureSession.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaDevices.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaFormat.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaMetaData.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaPlayer.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaRecorder.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQMediaTimeRange_Interval.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQSoundEffect.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrameFormat.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoFrame_PaintOptions.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiDeclQVideoSink.cc | 2 +- src/gsiqt/qt6/QtMultimedia/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQDtls.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsClientVerifier.cc | 2 +- .../QtNetwork/gsiDeclQDtlsClientVerifier_GeneratorParameters.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQDtlsError.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQHstsPolicy.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQHttp2Configuration.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkDatagram.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQOcspCertificateStatus.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQOcspRevocationReason.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQPasswordDigestor.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQSsl.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQSslDiffieHellmanParameters.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiDeclQtNetworkAdd.cc | 2 +- src/gsiqt/qt6/QtNetwork/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQAbstractPrintDialog.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPageSetupDialog.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintDialog.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintEngine.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewDialog.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrintPreviewWidget.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinter.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiDeclQPrinterInfo.cc | 2 +- src/gsiqt/qt6/QtPrintSupport/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSql.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlDatabase.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlDriver.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlDriverCreatorBase.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlError.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlField.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlIndex.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlQuery.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlQueryModel.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlRecord.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlRelation.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlRelationalTableModel.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlResult.cc | 2 +- src/gsiqt/qt6/QtSql/gsiDeclQSqlTableModel.cc | 2 +- src/gsiqt/qt6/QtSql/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtSvg/gsiDeclQSvgGenerator.cc | 2 +- src/gsiqt/qt6/QtSvg/gsiDeclQSvgRenderer.cc | 2 +- src/gsiqt/qt6/QtSvg/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtUiTools/gsiDeclQUiLoader.cc | 2 +- src/gsiqt/qt6/QtUiTools/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractGraphicsShapeItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemDelegate.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractItemView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractScrollArea.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSlider.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAbstractSpinBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQAccessibleWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQApplication.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQBoxLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQButtonGroup.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQCalendarWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQCheckBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQColorDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQColormap.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQColumnView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQComboBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQCommandLinkButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQCommonStyle.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQCompleter.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDataWidgetMapper.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDateEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDateTimeEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDial.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDialogButtonBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDockWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQDoubleSpinBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQErrorMessage.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFileDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFileIconProvider.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFocusFrame.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFontComboBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFontDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFormLayout_TakeRowResult.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQFrame.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGestureEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGestureRecognizer.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchor.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsAnchorLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsBlurEffect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsColorizeEffect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsDropShadowEffect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEffect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsEllipseItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsGridLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemAnimation.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsItemGroup.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLayoutItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLineItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsLinearLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsObject.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsOpacityEffect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPathItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPixmapItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsPolygonItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsProxyWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRectItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsRotation.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScale.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsScene.cc | 2 +- .../qt6/QtWidgets/gsiDeclQGraphicsSceneContextMenuEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneDragDropEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHelpEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneHoverEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMouseEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneMoveEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneResizeEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSceneWheelEvent.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsSimpleTextItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTextItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsTransform.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGraphicsWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGridLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQGroupBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQHBoxLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQHeaderView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQInputDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQItemDelegate.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorCreatorBase.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQItemEditorFactory.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQKeySequenceEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQLCDNumber.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQLabel.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQLayoutItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQLineEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQListView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQListWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQListWidgetItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMainWindow.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMdiArea.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMdiSubWindow.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMenu.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMenuBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQMessageBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQPanGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQPinchGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextDocumentLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQPlainTextEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQProgressBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQProgressDialog.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQPushButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQRadioButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQRubberBand.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQScrollArea.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQScrollBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQScroller.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQScrollerProperties.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSizeGrip.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSizePolicy.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSlider.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSpacerItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSpinBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSplashScreen.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSplitter.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSplitterHandle.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStackedLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStackedWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStatusBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyle.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleFactory.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturn.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnMask.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleHintReturnVariant.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOption.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComboBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionComplex.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionDockWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFocusRect.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionFrame.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGraphicsItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionGroupBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeader.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionHeaderV2.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionMenuItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionProgressBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionRubberBand.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSizeGrip.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSlider.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionSpinBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTab.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabBarBase.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTabWidgetFrame.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionTitleBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionToolButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyleOptionViewItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStylePainter.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStylePlugin.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQStyledItemDelegate.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSwipeGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQSystemTrayIcon.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTabBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTabWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTableView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTableWidgetSelectionRange.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTapAndHoldGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTapGesture.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTextBrowser.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTextEdit_ExtraSelection.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTimeEdit.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQToolBar.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQToolBox.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQToolButton.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQToolTip.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTreeView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQTreeWidgetItemIterator.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQUndoView.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQVBoxLayout.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWhatsThis.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWidget.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetAction.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWidgetItem.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWizard.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQWizardPage.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiDeclQtWidgetsAdd.cc | 2 +- src/gsiqt/qt6/QtWidgets/gsiQtExternals.h | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomAttr.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomCDATASection.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomCharacterData.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomComment.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomDocument.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentFragment.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomDocumentType.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomElement.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomEntity.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomEntityReference.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomImplementation.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomNamedNodeMap.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomNode.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomNodeList.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomNotation.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomProcessingInstruction.cc | 2 +- src/gsiqt/qt6/QtXml/gsiDeclQDomText.cc | 2 +- src/gsiqt/qt6/QtXml/gsiQtExternals.h | 2 +- src/gsiqt/qtbasic/gsiQtCore5CompatExternals.h | 2 +- src/pymod/QtCore5Compat/QtCore5CompatMain.cc | 2 +- testdata/pymod/import_QtCore5Compat.py | 2 +- testdata/pymod/import_QtGui_Qt6.py | 2 +- testdata/pymod/import_QtSvg_Qt6.py | 2 +- testdata/pymod/import_QtWidgets_Qt6.py | 2 +- 693 files changed, 693 insertions(+), 693 deletions(-) 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/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 1c76a264c..2dbb59122 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/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/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/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/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/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/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/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/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/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/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_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_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_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 From 0bfae1d651f22663e6399cfb2106a460b843861d Mon Sep 17 00:00:00 2001 From: Kazunari Sekigawa Date: Mon, 10 Jan 2022 08:20:50 +0900 Subject: [PATCH 027/126] Updated the build system for Mac. --- macbuild/build4mac.py | 47 +++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/macbuild/build4mac.py b/macbuild/build4mac.py index 075a7ef44..d2f97b363 100755 --- a/macbuild/build4mac.py +++ b/macbuild/build4mac.py @@ -143,29 +143,36 @@ def Get_Default_Config(): Usage, ModuleSet = GenerateUsage(Platform) # Set the default modules - ModuleQt = "Qt5MacPorts" if Platform == "Monterey": + ModuleQt = "Qt5Brew" ModuleRuby = "RubyMonterey" ModulePython = "PythonMonterey" elif Platform == "BigSur": + ModuleQt = "Qt5Brew" ModuleRuby = "RubyBigSur" ModulePython = "PythonBigSur" elif Platform == "Catalina": + ModuleQt = "Qt5MacPorts" ModuleRuby = "RubyCatalina" ModulePython = "PythonCatalina" elif Platform == "Mojave": + ModuleQt = "Qt5MacPorts" ModuleRuby = "RubyMojave" ModulePython = "PythonMojave" elif Platform == "HighSierra": + ModuleQt = "Qt5MacPorts" ModuleRuby = "RubyHighSierra" ModulePython = "PythonHighSierra" elif Platform == "Sierra": + ModuleQt = "Qt5MacPorts" ModuleRuby = "RubySierra" ModulePython = "PythonSierra" elif Platform == "ElCapitan": + ModuleQt = "Qt5MacPorts" ModuleRuby = "RubyElCapitan" ModulePython = "PythonElCapitan" else: + ModuleQt = "Qt5MacPorts" ModuleRuby = "nil" ModulePython = "nil" @@ -306,18 +313,32 @@ def Parse_CLI_Args(config): default=False, help='check usage' ) - p.set_defaults( type_qt = "qt5macports", - 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 = "qt5brew", + 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 = "qt5macports", + 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): From 709466bd540bef980c8d0dd1c2c27d5af0795e34 Mon Sep 17 00:00:00 2001 From: Kazunari Sekigawa Date: Mon, 10 Jan 2022 15:13:22 +0900 Subject: [PATCH 028/126] Updated the build system for Mac. --- macbuild/build4mac.py | 50 ++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 15 deletions(-) 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 From df60f49276ace0dbb240d661814d8be78ae8a09b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 12 Jan 2022 22:49:20 +0100 Subject: [PATCH 029/126] Fixed issue-969 plus a Qt warning --- src/db/db/gsiDeclDbLibrary.cc | 1 + src/edt/edt/edtPCellParametersPage.cc | 2 +- testdata/python/dbPCells.py | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/db/db/gsiDeclDbLibrary.cc b/src/db/db/gsiDeclDbLibrary.cc index d55387728..1b5439da3 100644 --- a/src/db/db/gsiDeclDbLibrary.cc +++ b/src/db/db/gsiDeclDbLibrary.cc @@ -455,6 +455,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" diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index df8000413..985c63f27 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -201,7 +201,7 @@ PCellParametersPage::init () mp_error_frame->setFrameShape (QFrame::NoFrame); frame_layout->addWidget (mp_error_frame, 1, 0, 1, 1); - QGridLayout *error_frame_layout = new QGridLayout (mp_update_frame); + QGridLayout *error_frame_layout = new QGridLayout (mp_error_frame); mp_error_frame->setLayout (error_frame_layout); if (m_dense) { error_frame_layout->setMargin (4); diff --git a/testdata/python/dbPCells.py b/testdata/python/dbPCells.py index 526208e26..8d16caa77 100644 --- a/testdata/python/dbPCells.py +++ b/testdata/python/dbPCells.py @@ -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) From 46b427740bcb02f730c99db9dfc77f7b0fc3a216 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 21 Jan 2022 17:10:48 +0100 Subject: [PATCH 030/126] Fixed a merge issue --- src/edt/edt/edtPCellParametersPage.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index b091e31e0..27c3fd0b9 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -214,7 +214,7 @@ PCellParametersPage::init () 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); font = mp_error_label->font (); From 6884415b0c0b972191e9480862299f3a91c0b3df Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 21 Jan 2022 18:33:26 +0100 Subject: [PATCH 031/126] Added dummy 0.28 changelog for RPM building --- Changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog b/Changelog index 10de5785a..cb502222a 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,6 @@ +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 From 477afd4a4dea1127c828ac5a49978744121a4976 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 23 Jan 2022 11:54:32 +0100 Subject: [PATCH 032/126] Fixed a merge issue (master/qt6) --- src/edt/edt/edtPCellParametersPage.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 27c3fd0b9..15657c572 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -176,7 +176,7 @@ PCellParametersPage::init () QGridLayout *update_frame_layout = new QGridLayout (mp_update_frame); mp_update_frame->setLayout (update_frame_layout); if (m_dense) { - update_frame_layout->setMargin (4); + update_frame_layout->setContentsMargins (4, 4, 4, 4); update_frame_layout->setHorizontalSpacing (6); update_frame_layout->setVerticalSpacing (2); } @@ -203,7 +203,7 @@ PCellParametersPage::init () QGridLayout *error_frame_layout = new QGridLayout (mp_error_frame); mp_error_frame->setLayout (error_frame_layout); if (m_dense) { - error_frame_layout->setMargin (4); + error_frame_layout->setContentsMargins (4, 4, 4, 4); error_frame_layout->setHorizontalSpacing (6); error_frame_layout->setVerticalSpacing (2); } From 4da7fd63234ac21a10137e62e8b6a7375f81a2af Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Feb 2022 10:23:03 +0100 Subject: [PATCH 033/126] Updated setup.py title for PyPI --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9f895e387..d809be74c 100644 --- a/setup.py +++ b/setup.py @@ -583,7 +583,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=[ From 1866d318d2d035b8e6973ae766b9722824f38b93 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Feb 2022 15:59:51 +0100 Subject: [PATCH 034/126] Updated Azure configuration --- azure-pipelines.yml | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 28e572ce1..4de1fc951 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,14 +11,14 @@ trigger: 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: From 2d206145315665a84fb409dd2bf85ac2633503c5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Feb 2022 16:04:45 +0100 Subject: [PATCH 035/126] Updated Azure configuration --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4de1fc951..2cfe0c5ad 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,7 +6,7 @@ trigger: - staging tags: include: - - '*' + - 'v*' jobs: - job: Build From ffb81a66eac7bddfc7dc8aef3edf22241f677d01 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Feb 2022 19:46:53 +0100 Subject: [PATCH 036/126] Fixed Python 3.10 builds --- src/pya/pya/pyaConvert.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pya/pya/pyaConvert.cc b/src/pya/pya/pyaConvert.cc index 0220015a5..e7f536bcd 100644 --- a/src/pya/pya/pyaConvert.cc +++ b/src/pya/pya/pyaConvert.cc @@ -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"))); From 989daa82c176ea150aa2bf85892295b86f3a3a77 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Feb 2022 23:28:51 +0100 Subject: [PATCH 037/126] Added a test case for klayout.lib --- testdata/pymod/import_lib.py | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 testdata/pymod/import_lib.py 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) + + From 2035889e38ed05f1ab8353ff5921c38cb5387d01 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Feb 2022 23:38:03 +0100 Subject: [PATCH 038/126] Include klayout.lib sources for RPM and DEB too. --- scripts/makedeb.sh | 2 +- scripts/rpm-data/klayout.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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/* From de98a30f385221427df799cb8a2276d9b1ca9649 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 19:46:13 +0100 Subject: [PATCH 039/126] Text/DText enhancements * Enums for alignment values. * bbox * position * typos fixed --- src/db/db/gsiDeclDbText.cc | 126 ++++++++++++++++++++++++++++++------ testdata/ruby/dbTextTest.rb | 44 +++++++++++++ 2 files changed, 150 insertions(+), 20 deletions(-) diff --git a/src/db/db/gsiDeclDbText.cc b/src/db/db/gsiDeclDbText.cc index 9b6cbe08f..4bf0e354b 100644 --- a/src/db/db/gsiDeclDbText.cc +++ b/src/db/db/gsiDeclDbText.cc @@ -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/testdata/ruby/dbTextTest.rb b/testdata/ruby/dbTextTest.rb index 75eedbf76..fff844660 100644 --- a/testdata/ruby/dbTextTest.rb +++ b/testdata/ruby/dbTextTest.rb @@ -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 ) From e2c6e7aedc72314bf6fb1e8047c0343da23a3758 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 20:59:09 +0100 Subject: [PATCH 040/126] size/sized versions with Vector/DVector Adds variants to size/sized which take a vector instead of dx, dy and where the mode parameter is optional. So far anisotropic sizing had to come with a mode argument. --- src/db/db/gsiDeclDbPolygon.cc | 58 +++++++++++++------------- src/db/db/gsiDeclDbRegion.cc | 74 +++++++++++++++++++--------------- testdata/ruby/dbPolygonTest.rb | 11 +++++ testdata/ruby/dbRegionTest.rb | 10 +++++ 4 files changed, 92 insertions(+), 61 deletions(-) diff --git a/src/db/db/gsiDeclDbPolygon.cc b/src/db/db/gsiDeclDbPolygon.cc index b1573b595..4f84f11cf 100644 --- a/src/db/db/gsiDeclDbPolygon.cc +++ b/src/db/db/gsiDeclDbPolygon.cc @@ -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/gsiDeclDbRegion.cc b/src/db/db/gsiDeclDbRegion.cc index 2c78f30f4..0cc777b8b 100644 --- a/src/db/db/gsiDeclDbRegion.cc +++ b/src/db/db/gsiDeclDbRegion.cc @@ -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/testdata/ruby/dbPolygonTest.rb b/testdata/ruby/dbPolygonTest.rb index ac2d7c037..3f30f0cf4 100644 --- a/testdata/ruby/dbPolygonTest.rb +++ b/testdata/ruby/dbPolygonTest.rb @@ -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/dbRegionTest.rb b/testdata/ruby/dbRegionTest.rb index 47b5808eb..be086fd1c 100644 --- a/testdata/ruby/dbRegionTest.rb +++ b/testdata/ruby/dbRegionTest.rb @@ -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)") From c0b38f370639cb3f91bd78aebec6b9c7deb22b2c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 21:56:25 +0100 Subject: [PATCH 041/126] Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator --- src/db/db/dbRecursiveShapeIterator.cc | 26 ++++++------- src/db/db/dbRecursiveShapeIterator.h | 5 ++- .../dbRecursiveShapeIteratorTests.cc | 39 +++++++++++++++++++ 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/db/db/dbRecursiveShapeIterator.cc b/src/db/db/dbRecursiveShapeIterator.cc index 6b91ff9b2..ee23140ac 100644 --- a/src/db/db/dbRecursiveShapeIterator.cc +++ b/src/db/db/dbRecursiveShapeIterator.cc @@ -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 2370f65a7..330563c20 100644 --- a/src/db/db/dbRecursiveShapeIterator.h +++ b/src/db/db/dbRecursiveShapeIterator.h @@ -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/unit_tests/dbRecursiveShapeIteratorTests.cc b/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc index 077f47793..c4dc63ae2 100644 --- a/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc +++ b/src/db/unit_tests/dbRecursiveShapeIteratorTests.cc @@ -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, ""); +} From 79be9aba41a7d68f1f9c9ef1f757615099b2e7c3 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 22:09:57 +0100 Subject: [PATCH 042/126] RecursiveInstanceIterator uses weak pointer to Layout too --- src/db/db/dbRecursiveInstanceIterator.cc | 13 +++--- src/db/db/dbRecursiveInstanceIterator.h | 5 ++- .../dbRecursiveInstanceIteratorTests.cc | 41 +++++++++++++++++++ 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/db/db/dbRecursiveInstanceIterator.cc b/src/db/db/dbRecursiveInstanceIterator.cc index 257d49550..60577cf67 100644 --- a/src/db/db/dbRecursiveInstanceIterator.cc +++ b/src/db/db/dbRecursiveInstanceIterator.cc @@ -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 7f1f671b3..29fafcdda 100644 --- a/src/db/db/dbRecursiveInstanceIterator.h +++ b/src/db/db/dbRecursiveInstanceIterator.h @@ -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/unit_tests/dbRecursiveInstanceIteratorTests.cc b/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc index e8ba49cea..6656613c7 100644 --- a/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc +++ b/src/db/unit_tests/dbRecursiveInstanceIteratorTests.cc @@ -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, ""); +} From 0bb0f400bffefadadaf91d99dc37dceee2654820 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 22:44:35 +0100 Subject: [PATCH 043/126] Introducing world box. --- src/db/db/gsiDeclDbBox.cc | 21 +++++++++++++++++++++ testdata/ruby/dbBoxTest.rb | 14 ++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/db/db/gsiDeclDbBox.cc b/src/db/db/gsiDeclDbBox.cc index 14c5c7d42..42a6789a2 100644 --- a/src/db/db/gsiDeclDbBox.cc +++ b/src/db/db/gsiDeclDbBox.cc @@ -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/testdata/ruby/dbBoxTest.rb b/testdata/ruby/dbBoxTest.rb index 92e56dab9..4f6c1de10 100644 --- a/testdata/ruby/dbBoxTest.rb +++ b/testdata/ruby/dbBoxTest.rb @@ -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 From 88c56d8b64a116b913a5d423a012bd10c6a2d948 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 23:05:53 +0100 Subject: [PATCH 044/126] Introducing unique_cell_name in Layout, fixed the RBA unit tests --- src/db/db/gsiDeclDbLayout.cc | 18 ++++++++++++++++-- testdata/ruby/dbLayoutTest.rb | 33 ++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index f63f97e9c..404f377a7 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -1104,7 +1104,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" @@ -1194,7 +1205,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" diff --git a/testdata/ruby/dbLayoutTest.rb b/testdata/ruby/dbLayoutTest.rb index dd6fa5735..29a7f3dc2 100644 --- a/testdata/ruby/dbLayoutTest.rb +++ b/testdata/ruby/dbLayoutTest.rb @@ -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") From e49b189f64a587f5821d3154a210f0f18ce46c69 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 23:27:10 +0100 Subject: [PATCH 045/126] Doc clarification for Layout#create_cell --- src/db/db/gsiDeclDbLayout.cc | 46 ++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index 404f377a7..6621b11f6 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -1157,14 +1157,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" @@ -1175,25 +1182,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" ) + From 71c9073bc5ed54d83dfd7e926b4df5e9f4d64e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 8 Feb 2022 19:05:00 +0100 Subject: [PATCH 046/126] Fixed issue-979 (backup file fails with relative paths) (#980) --- src/tl/tl/tlFileUtils.cc | 8 ++++++ src/tl/tl/tlFileUtils.h | 5 ++++ src/tl/tl/tlStream.cc | 2 +- src/tl/unit_tests/tlStreamTests.cc | 42 ++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/tl/tl/tlFileUtils.cc b/src/tl/tl/tlFileUtils.cc index a555ab2f0..163df8aaf 100644 --- a/src/tl/tl/tlFileUtils.cc +++ b/src/tl/tl/tlFileUtils.cc @@ -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 b5530b8a6..4b628006c 100644 --- a/src/tl/tl/tlFileUtils.h +++ b/src/tl/tl/tlFileUtils.h @@ -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/tlStream.cc b/src/tl/tl/tlStream.cc index cd449abde..06b45849f 100644 --- a/src/tl/tl/tlStream.cc +++ b/src/tl/tl/tlStream.cc @@ -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/unit_tests/tlStreamTests.cc b/src/tl/unit_tests/tlStreamTests.cc index 5520ac15d..236f7a72f 100644 --- a/src/tl/unit_tests/tlStreamTests.cc +++ b/src/tl/unit_tests/tlStreamTests.cc @@ -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) { From c80f789e5acd6c26488d8ba8396d8a102a13bad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 8 Feb 2022 19:05:53 +0100 Subject: [PATCH 047/126] Fixed issue-973 (timeout in Salt Manager) (#981) The implementation now offers "infinite timeout" with the option to abort download. --- .../SaltManagerInstallConfirmationDialog.ui | 7 +++ src/lay/lay/laySalt.cc | 4 +- src/lay/lay/laySalt.h | 2 +- src/lay/lay/laySaltDownloadManager.cc | 57 +++++++++++++----- src/lay/lay/laySaltDownloadManager.h | 9 ++- src/lay/lay/laySaltGrain.cc | 8 +-- src/lay/lay/laySaltGrain.h | 9 ++- src/tl/tl/tlHttpStream.h | 36 +++++++++++ src/tl/tl/tlHttpStreamCurl.cc | 59 ++++++++++++++++--- src/tl/tl/tlHttpStreamCurl.h | 18 +++++- src/tl/tl/tlHttpStreamNoQt.cc | 13 ++++ src/tl/tl/tlHttpStreamQt.cc | 40 ++++++++++--- src/tl/tl/tlHttpStreamQt.h | 7 ++- src/tl/tl/tlWebDAV.cc | 32 ++++++---- src/tl/tl/tlWebDAV.h | 8 ++- 15 files changed, 250 insertions(+), 59 deletions(-) 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/laySalt.cc b/src/lay/lay/laySalt.cc index b256bee93..6c47c949b 100644 --- a/src/lay/lay/laySalt.cc +++ b/src/lay/lay/laySalt.cc @@ -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 670c9b990..59e8424be 100644 --- a/src/lay/lay/laySalt.h +++ b/src/lay/lay/laySalt.h @@ -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/laySaltDownloadManager.cc b/src/lay/lay/laySaltDownloadManager.cc index 2dfabf129..8d9491926 100644 --- a/src/lay/lay/laySaltDownloadManager.cc +++ b/src/lay/lay/laySaltDownloadManager.cc @@ -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 ded523df8..ce5219dff 100644 --- a/src/lay/lay/laySaltDownloadManager.h +++ b/src/lay/lay/laySaltDownloadManager.h @@ -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 6e2be30e6..bd90dad59 100644 --- a/src/lay/lay/laySaltGrain.cc +++ b/src/lay/lay/laySaltGrain.cc @@ -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 5d7bd5f34..263994d26 100644 --- a/src/lay/lay/laySaltGrain.h +++ b/src/lay/lay/laySaltGrain.h @@ -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/tl/tl/tlHttpStream.h b/src/tl/tl/tlHttpStream.h index 3e53e3bc8..acdfdd956 100644 --- a/src/tl/tl/tlHttpStream.h +++ b/src/tl/tl/tlHttpStream.h @@ -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 2d21719fc..928db8832 100644 --- a/src/tl/tl/tlHttpStreamCurl.cc +++ b/src/tl/tl/tlHttpStreamCurl.cc @@ -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,7 +1331,9 @@ 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 ()) { + 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 (); ++*m_progress; } } diff --git a/src/tl/tl/tlHttpStreamCurl.h b/src/tl/tl/tlHttpStreamCurl.h index 0ee07c8fd..ce2363777 100644 --- a/src/tl/tl/tlHttpStreamCurl.h +++ b/src/tl/tl/tlHttpStreamCurl.h @@ -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 0d524efa6..88c3741b3 100644 --- a/src/tl/tl/tlHttpStreamNoQt.cc +++ b/src/tl/tl/tlHttpStreamNoQt.cc @@ -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 837d9d249..c3e198102 100644 --- a/src/tl/tl/tlHttpStreamQt.cc +++ b/src/tl/tl/tlHttpStreamQt.cc @@ -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 344bbc529..b3f5d7885 100644 --- a/src/tl/tl/tlHttpStreamQt.h +++ b/src/tl/tl/tlHttpStreamQt.h @@ -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/tlWebDAV.cc b/src/tl/tl/tlWebDAV.cc index 5606cd58b..be768f14c 100644 --- a/src/tl/tl/tlWebDAV.cc +++ b/src/tl/tl/tlWebDAV.cc @@ -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 af041e8fb..380a6e325 100644 --- a/src/tl/tl/tlWebDAV.h +++ b/src/tl/tl/tlWebDAV.h @@ -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; From 285a5e9fca425d7d0d5ac16505d97050ace6c437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 8 Feb 2022 19:06:27 +0100 Subject: [PATCH 048/126] Issue 983 (#986) * WIP: first attempt to fix issue-983 * WIP: bugfixes * Fixed a problem with displaying empty cell dimensions, one warning * Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour * Fixed a few flaws in the cell selection scheme on the instance properties dialog. * Early warning when trying to build a recursive hierarchy. * Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel' * Fixed issue-983 solution * Fixed the modification status of PCell parameters for 'apply to all' --- src/db/db/dbManager.cc | 24 ++- src/db/db/dbManager.h | 15 ++ src/edt/edt/edtInstPropertiesPage.cc | 144 ++++++++++++++---- src/edt/edt/edtPCellParametersPage.cc | 1 + src/edt/edt/edtPCellParametersPage.h | 10 ++ src/edt/edt/edtPropertiesPageUtils.cc | 82 ++++++++++ src/edt/edt/edtPropertiesPageUtils.h | 24 +++ src/edt/edt/edtServiceImpl.cc | 7 +- src/laybasic/laybasic/layCellSelectionForm.cc | 20 ++- src/laybasic/laybasic/layCellSelectionForm.h | 9 +- src/laybasic/laybasic/layCellTreeModel.cc | 6 +- src/laybasic/laybasic/layPropertiesDialog.cc | 21 ++- 12 files changed, 315 insertions(+), 48 deletions(-) diff --git a/src/db/db/dbManager.cc b/src/db/db/dbManager.cc index f27870791..7c255210e 100644 --- a/src/db/db/dbManager.cc +++ b/src/db/db/dbManager.cc @@ -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 dd044e698..b818cdaa7 100644 --- a/src/db/db/dbManager.h +++ b/src/db/db/dbManager.h @@ -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/edt/edt/edtInstPropertiesPage.cc b/src/edt/edt/edtInstPropertiesPage.cc index f8e0c1119..cc18336da 100644 --- a/src/edt/edt/edtInstPropertiesPage.cc +++ b/src/edt/edt/edtInstPropertiesPage.cc @@ -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 &) { @@ -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/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 15657c572..b6381f774 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -697,6 +697,7 @@ PCellParametersPage::get_parameters (bool *ok) void PCellParametersPage::set_parameters (const std::vector ¶meters) { + m_parameters = parameters; set_parameters_internal (parameters, false); } diff --git a/src/edt/edt/edtPCellParametersPage.h b/src/edt/edt/edtPCellParametersPage.h index 548c87016..f148c7c1c 100644 --- a/src/edt/edt/edtPCellParametersPage.h +++ b/src/edt/edt/edtPCellParametersPage.h @@ -100,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 */ diff --git a/src/edt/edt/edtPropertiesPageUtils.cc b/src/edt/edt/edtPropertiesPageUtils.cc index 07b6ed8b0..f6df8fc63 100644 --- a/src/edt/edt/edtPropertiesPageUtils.cc +++ b/src/edt/edt/edtPropertiesPageUtils.cc @@ -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 diff --git a/src/edt/edt/edtPropertiesPageUtils.h b/src/edt/edt/edtPropertiesPageUtils.h index f59fedeab..e20e76db7 100644 --- a/src/edt/edt/edtPropertiesPageUtils.h +++ b/src/edt/edt/edtPropertiesPageUtils.h @@ -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/edtServiceImpl.cc b/src/edt/edt/edtServiceImpl.cc index b372fa0a2..8a499991d 100644 --- a/src/edt/edt/edtServiceImpl.cc +++ b/src/edt/edt/edtServiceImpl.cc @@ -1410,7 +1410,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 +1477,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 +1614,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/laybasic/laybasic/layCellSelectionForm.cc b/src/laybasic/laybasic/layCellSelectionForm.cc index 7d122724f..fd84934c0 100644 --- a/src/laybasic/laybasic/layCellSelectionForm.cc +++ b/src/laybasic/laybasic/layCellSelectionForm.cc @@ -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 a4500bae1..3d6f8c42b 100644 --- a/src/laybasic/laybasic/layCellSelectionForm.h +++ b/src/laybasic/laybasic/layCellSelectionForm.h @@ -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 6d7414e88..d8e4ca573 100644 --- a/src/laybasic/laybasic/layCellTreeModel.cc +++ b/src/laybasic/laybasic/layCellTreeModel.cc @@ -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/layPropertiesDialog.cc b/src/laybasic/laybasic/layPropertiesDialog.cc index 2bbbcca7e..b42d3c367 100644 --- a/src/laybasic/laybasic/layPropertiesDialog.cc +++ b/src/laybasic/laybasic/layPropertiesDialog.cc @@ -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 (); + } } From d764adb1016f74d3e9cc8059cb183f5fc29b2a25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 8 Feb 2022 19:07:04 +0100 Subject: [PATCH 049/126] Issue 984 (#987) * WIP: first attempt to fix issue-983 * WIP: bugfixes * Fixed a problem with displaying empty cell dimensions, one warning * Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour * Fixed a few flaws in the cell selection scheme on the instance properties dialog. * Early warning when trying to build a recursive hierarchy. * Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel' * First attempt to fix issue 984 * Fixed issue-983 solution * Fixed the modification status of PCell parameters for 'apply to all' --- src/lay/lay/layApplication.cc | 26 ++++-- src/lay/lay/layApplication.h | 16 +++- src/lay/lay/layMacroEditorDialog.cc | 16 ++-- src/lay/lay/layMacroEditorDialog.h | 1 - src/laybasic/laybasic/layBusy.cc | 82 +++++++++++++++++++ src/laybasic/laybasic/layBusy.h | 65 +++++++++++++++ .../laybasic/layHierarchyControlPanel.cc | 3 + src/laybasic/laybasic/layLibrariesView.cc | 3 + src/laybasic/laybasic/laybasic.pro | 2 + 9 files changed, 197 insertions(+), 17 deletions(-) create mode 100644 src/laybasic/laybasic/layBusy.cc create mode 100644 src/laybasic/laybasic/layBusy.h diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index 29507c87f..f5d4dd505 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -1317,6 +1317,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 +1498,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 +1522,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 2e31f120d..85eb65267 100644 --- a/src/lay/lay/layApplication.h +++ b/src/lay/lay/layApplication.h @@ -25,6 +25,7 @@ #define HDR_layApplication #include "layCommon.h" +#include "layBusy.h" #include #include @@ -366,7 +367,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 +409,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/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index 30bdd7667..49da27914 100644 --- a/src/lay/lay/layMacroEditorDialog.cc +++ b/src/lay/lay/layMacroEditorDialog.cc @@ -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 @@ -3032,7 +3030,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 +3124,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 dc234822f..7e6e363e0 100644 --- a/src/lay/lay/layMacroEditorDialog.h +++ b/src/lay/lay/layMacroEditorDialog.h @@ -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/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/layBusy.h b/src/laybasic/laybasic/layBusy.h new file mode 100644 index 000000000..ed9597c33 --- /dev/null +++ b/src/laybasic/laybasic/layBusy.h @@ -0,0 +1,65 @@ + +/* + + 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 + +*/ + + +#ifndef HDR_layBusy +#define HDR_layBusy + +#include "laybasicCommon.h" + +namespace lay +{ + +/** + * @brief An interface providing the "busy" methods + * + * There must be one provider implementing this interface. + */ +class LAYBASIC_PUBLIC BusyMode +{ +public: + BusyMode (); + virtual ~BusyMode (); + + virtual bool is_busy () const = 0; + virtual void enter_busy_mode (bool bm) = 0; +}; + +/** + * @brief A RAII implementation of the busy mode setter + */ +class LAYBASIC_PUBLIC BusySection +{ +public: + BusySection (); + ~BusySection (); + + static bool is_busy (); + +private: + bool m_previous_mode; + BusyMode *mp_busy_mode; +}; + +} + +#endif diff --git a/src/laybasic/laybasic/layHierarchyControlPanel.cc b/src/laybasic/laybasic/layHierarchyControlPanel.cc index d531365bd..1f21ae24c 100644 --- a/src/laybasic/laybasic/layHierarchyControlPanel.cc +++ b/src/laybasic/laybasic/layHierarchyControlPanel.cc @@ -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); diff --git a/src/laybasic/laybasic/layLibrariesView.cc b/src/laybasic/laybasic/layLibrariesView.cc index fc911a83c..4b1246666 100644 --- a/src/laybasic/laybasic/layLibrariesView.cc +++ b/src/laybasic/laybasic/layLibrariesView.cc @@ -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/laybasic.pro b/src/laybasic/laybasic/laybasic.pro index 309e33a20..a9cd72e78 100644 --- a/src/laybasic/laybasic/laybasic.pro +++ b/src/laybasic/laybasic/laybasic.pro @@ -102,6 +102,7 @@ SOURCES = \ layBrowserDialog.cc \ layBrowserPanel.cc \ layBrowseShapesForm.cc \ + layBusy.cc \ layCanvasPlane.cc \ layCellSelectionForm.cc \ layCellTreeModel.cc \ @@ -208,6 +209,7 @@ HEADERS = \ layBrowser.h \ layBrowserPanel.h \ layBrowseShapesForm.h \ + layBusy.h \ layCanvasPlane.h \ layCellSelectionForm.h \ layCellTreeModel.h \ From 1a53cd00d25694ded1e24669fa646f06b32dd3cf Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 8 Feb 2022 22:28:09 +0100 Subject: [PATCH 050/126] Convenience 'each' for recursive shape iterator / recursive instance iterator --- .../db/gsiDeclDbRecursiveInstanceIterator.cc | 51 ++++++++++++++++ src/db/db/gsiDeclDbRecursiveShapeIterator.cc | 58 ++++++++++++++++++- testdata/ruby/dbRecursiveInstanceIterator.rb | 11 ++++ testdata/ruby/dbRecursiveShapeIterator.rb | 16 +++++ 4 files changed, 135 insertions(+), 1 deletion(-) diff --git a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc index e2d9f93eb..48853b77c 100644 --- a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc @@ -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" @@ -468,6 +513,12 @@ Class decl_RecursiveInstanceIterator ("db", "Recu "end\n" "@/code\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" "'iter.dtrans' gives us the accumulated transformation of all parents up to the top cell. " "'iter.inst_dtrans' gives us the transformation from the current instance. " diff --git a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc index 34e5a6650..b3d3ec8b9 100644 --- a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc @@ -1,4 +1,4 @@ - +# /* KLayout Layout Viewer @@ -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,15 @@ Class decl_RecursiveShapeIterator ("db", "RecursiveS " end\n" " iter.next\n" "end\n" + "\n" + "# or shorter:\n" + "iter = cell.begin_shapes_rec(layer)\n" + "iter.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/testdata/ruby/dbRecursiveInstanceIterator.rb b/testdata/ruby/dbRecursiveInstanceIterator.rb index 9448d147d..4d9aefa2b 100644 --- a/testdata/ruby/dbRecursiveInstanceIterator.rb +++ b/testdata/ruby/dbRecursiveInstanceIterator.rb @@ -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 2f46a306b..82d4b47b6 100644 --- a/testdata/ruby/dbRecursiveShapeIterator.rb +++ b/testdata/ruby/dbRecursiveShapeIterator.rb @@ -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 From a5e7395d10be02b212e79c3ccf39113c488fa6ca Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 8 Feb 2022 22:56:58 +0100 Subject: [PATCH 051/126] Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation --- src/db/db/gsiDeclDbCell.cc | 30 +++++++++++++++++++ .../db/gsiDeclDbRecursiveInstanceIterator.cc | 1 - src/db/db/gsiDeclDbRecursiveShapeIterator.cc | 3 +- testdata/ruby/dbCellInstArrayTest.rb | 22 ++++++++++++++ 4 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index cc6edee03..bd5bf1491 100644 --- a/src/db/db/gsiDeclDbCell.cc +++ b/src/db/db/gsiDeclDbCell.cc @@ -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" diff --git a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc index 48853b77c..dcce3a0dd 100644 --- a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc @@ -511,7 +511,6 @@ 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" - "@/code\n" "\n" "# or shorter:\n" "cell.begin_instances_rec.each do |iter|\n" diff --git a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc index b3d3ec8b9..c70423544 100644 --- a/src/db/db/gsiDeclDbRecursiveShapeIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveShapeIterator.cc @@ -609,8 +609,7 @@ Class decl_RecursiveShapeIterator ("db", "RecursiveS "end\n" "\n" "# or shorter:\n" - "iter = cell.begin_shapes_rec(layer)\n" - "iter.each do |iter|\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" diff --git a/testdata/ruby/dbCellInstArrayTest.rb b/testdata/ruby/dbCellInstArrayTest.rb index c57252a0d..c8beacd24 100644 --- a/testdata/ruby/dbCellInstArrayTest.rb +++ b/testdata/ruby/dbCellInstArrayTest.rb @@ -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") From 3a422f2c38dd26827ce7ceee67717e62a7baa086 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 8 Feb 2022 23:13:37 +0100 Subject: [PATCH 052/126] Trans: mapping ctrans to * for harmonization --- src/db/db/gsiDeclDbTrans.cc | 2 +- testdata/ruby/dbTransTest.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/db/db/gsiDeclDbTrans.cc b/src/db/db/gsiDeclDbTrans.cc index cc00b33f6..ed6296625 100644 --- a/src/db/db/gsiDeclDbTrans.cc +++ b/src/db/db/gsiDeclDbTrans.cc @@ -742,7 +742,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" diff --git a/testdata/ruby/dbTransTest.rb b/testdata/ruby/dbTransTest.rb index 7fca57d7a..df24c8716 100644 --- a/testdata/ruby/dbTransTest.rb +++ b/testdata/ruby/dbTransTest.rb @@ -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.trans( 2.0 ).to_s, "2" ) + assert_equal( (e * 2.0).to_s, "2" ) 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" ) From 98dd0de139cd2a699b7091ea11ac96c174503504 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 8 Feb 2022 23:49:28 +0100 Subject: [PATCH 053/126] clip method variants with dboxes and cell references in Layout --- src/db/db/gsiDeclDbLayout.cc | 215 ++++++++++++++++++++++++++++++++++- testdata/ruby/dbLayout.rb | 42 +++++++ 2 files changed, 253 insertions(+), 4 deletions(-) diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index 6621b11f6..e2e48e1eb 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -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) @@ -1946,6 +2051,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" @@ -1965,8 +2094,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" @@ -1979,8 +2135,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" @@ -1999,6 +2179,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/testdata/ruby/dbLayout.rb b/testdata/ruby/dbLayout.rb index 968515c32..92ca43de9 100644 --- a/testdata/ruby/dbLayout.rb +++ b/testdata/ruby/dbLayout.rb @@ -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 From 3f2ca1dfbe7a1a4d32fbd8a3085719f2d8fc3e95 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 10 Feb 2022 23:14:08 +0100 Subject: [PATCH 054/126] micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries --- src/db/db/dbLayoutQuery.cc | 149 ++++++++++++++++++++++- src/db/db/dbLayoutQuery.h | 3 + src/db/db/gsiDeclDbLayoutQuery.cc | 4 + src/db/unit_tests/dbLayoutQueryTests.cc | 22 ++++ src/lay/lay/doc/about/custom_queries.xml | 56 ++++++++- 5 files changed, 227 insertions(+), 7 deletions(-) diff --git a/src/db/db/dbLayoutQuery.cc b/src/db/db/dbLayoutQuery.cc index 02ab78dd1..6024c7a28 100644 --- a/src/db/db/dbLayoutQuery.cc +++ b/src/db/db/dbLayoutQuery.cc @@ -202,7 +202,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 +213,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 +313,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 +428,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 +446,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 +497,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 +508,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 +793,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 +1021,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 +1078,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 +1130,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 +1185,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 +1195,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 +1303,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 +1328,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 +1414,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 +1503,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); } diff --git a/src/db/db/dbLayoutQuery.h b/src/db/db/dbLayoutQuery.h index ac9a04d32..8fff4c492 100644 --- a/src/db/db/dbLayoutQuery.h +++ b/src/db/db/dbLayoutQuery.h @@ -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/gsiDeclDbLayoutQuery.cc b/src/db/db/gsiDeclDbLayoutQuery.cc index f1a05b0d8..e10beb554 100644 --- a/src/db/db/gsiDeclDbLayoutQuery.cc +++ b/src/db/db/gsiDeclDbLayoutQuery.cc @@ -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/unit_tests/dbLayoutQueryTests.cc b/src/db/unit_tests/dbLayoutQueryTests.cc index 2bd77bacf..87e0cd37d 100644 --- a/src/db/unit_tests/dbLayoutQueryTests.cc +++ b/src/db/unit_tests/dbLayoutQueryTests.cc @@ -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/lay/lay/doc/about/custom_queries.xml b/src/lay/lay/doc/about/custom_queries.xml index 02c70381b..406456754 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":

@@ -603,10 +603,20 @@ delete shapes on layer 6 of cell TOP 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 From 5dd50d2f59c57b58b97e091ae4ae577dcea87782 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 10 Feb 2022 23:56:08 +0100 Subject: [PATCH 055/126] Search/replace: also highlight results from data queries --- src/lay/lay/laySearchReplaceDialog.cc | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/lay/lay/laySearchReplaceDialog.cc b/src/lay/lay/laySearchReplaceDialog.cc index 701c9094e..f2f46bdb2 100644 --- a/src/lay/lay/laySearchReplaceDialog.cc +++ b/src/lay/lay/laySearchReplaceDialog.cc @@ -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 (); + } + + } + } } From 75aaf10512caa17a84ef0f58692b2098e5d959b2 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 11 Feb 2022 00:30:08 +0100 Subject: [PATCH 056/126] Query parser is somewhat more restrictive now and doesn't read everything as cell expression. --- src/db/db/dbLayoutQuery.cc | 124 +++++++++++++++++++++++++++---------- 1 file changed, 93 insertions(+), 31 deletions(-) diff --git a/src/db/db/dbLayoutQuery.cc b/src/db/db/dbLayoutQuery.cc index 6024c7a28..901e615ca 100644 --- a/src/db/db/dbLayoutQuery.cc +++ b/src/db/db/dbLayoutQuery.cc @@ -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; } // -------------------------------------------------------------------------------- @@ -2370,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])) { @@ -2507,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); @@ -2552,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; @@ -2575,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); @@ -2596,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); @@ -2617,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; @@ -2625,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); @@ -2633,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 (); @@ -2649,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); @@ -2670,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); @@ -2699,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 (); From 8091464916dab6a15cf885268850e607234043fb Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 11 Feb 2022 19:12:57 +0100 Subject: [PATCH 057/126] Fixed unit tests --- testdata/ruby/dbLayoutQuery.rb | 2 +- testdata/ruby/dbTransTest.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/testdata/ruby/dbLayoutQuery.rb b/testdata/ruby/dbLayoutQuery.rb index d55b7fc28..42d363aff 100644 --- a/testdata/ruby/dbLayoutQuery.rb +++ b/testdata/ruby/dbLayoutQuery.rb @@ -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/dbTransTest.rb b/testdata/ruby/dbTransTest.rb index df24c8716..f97d32096 100644 --- a/testdata/ruby/dbTransTest.rb +++ b/testdata/ruby/dbTransTest.rb @@ -80,7 +80,7 @@ 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.trans( 2.0 ).to_s, "2" ) + assert_equal( e.ctrans( 2.0 ).to_s, "2" ) assert_equal( (e * 2.0).to_s, "2" ) 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)" ) From 60aab8b3fd73b2d4bd05dae1f8d12627564e57f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 16:51:01 +0100 Subject: [PATCH 058/126] Fixed #995 (new topcell after load) (#1000) --- src/db/db/dbCommonReader.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/db/db/dbCommonReader.cc b/src/db/db/dbCommonReader.cc index ab72d234a..1e6d49e7d 100644 --- a/src/db/db/dbCommonReader.cc +++ b/src/db/db/dbCommonReader.cc @@ -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; } From ec52be166c4b9f175ead1413b291f6755e71abf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 17:02:59 +0100 Subject: [PATCH 059/126] FIxed #997 (display of negative extensions of paths) (#999) --- src/edt/edt/edtPropertiesPages.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/edt/edt/edtPropertiesPages.cc b/src/edt/edt/edtPropertiesPages.cc index 0506521e9..5943d609a 100644 --- a/src/edt/edt/edtPropertiesPages.cc +++ b/src/edt/edt/edtPropertiesPages.cc @@ -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) { From 0005c5d7424f1f4c107af512dd6ca28f0a132004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 17:04:47 +0100 Subject: [PATCH 060/126] Fixed #971 (double compare fails in LVS) (#1001) --- src/lvs/unit_tests/lvsSimpleTests.cc | 5 + src/tl/tl/tlObject.cc | 4 + src/tl/unit_tests/tlObjectTests.cc | 17 + testdata/lvs/ringo_simple_compare2.cir | 83 ++ testdata/lvs/ringo_simple_compare2.lvs | 77 ++ testdata/lvs/ringo_simple_compare2.lvsdb.1 | 908 +++++++++++++++++++++ testdata/lvs/ringo_simple_compare2.lvsdb.2 | 908 +++++++++++++++++++++ 7 files changed, 2002 insertions(+) create mode 100644 testdata/lvs/ringo_simple_compare2.cir create mode 100644 testdata/lvs/ringo_simple_compare2.lvs create mode 100644 testdata/lvs/ringo_simple_compare2.lvsdb.1 create mode 100644 testdata/lvs/ringo_simple_compare2.lvsdb.2 diff --git a/src/lvs/unit_tests/lvsSimpleTests.cc b/src/lvs/unit_tests/lvsSimpleTests.cc index f2386c72d..df95beedc 100644 --- a/src/lvs/unit_tests/lvsSimpleTests.cc +++ b/src/lvs/unit_tests/lvsSimpleTests.cc @@ -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/tl/tl/tlObject.cc b/src/tl/tl/tlObject.cc index 8f5e0c9df..54e2077a2 100644 --- a/src/tl/tl/tlObject.cc +++ b/src/tl/tl/tlObject.cc @@ -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/unit_tests/tlObjectTests.cc b/src/tl/unit_tests/tlObjectTests.cc index fe75ff554..5aae67b30 100644 --- a/src/tl/unit_tests/tlObjectTests.cc +++ b/src/tl/unit_tests/tlObjectTests.cc @@ -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/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..b4494918c --- /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 (-1151 -401) (2 2)) + rect(l2 (-276 -2151) (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 (-141 -501) (2 2)) + rect(l11 (-1751 1099) (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 (-1151 -401) (2 2)) + rect(l6 (-951 859) (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 (-71 -91) (2 2)) + rect(l11 (-171 -151) (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 (-91 -91) (2 2)) + rect(l11 (-151 -151) (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 (299 399) (2 2)) + rect(l2 (-651 -2151) (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 (-151 -2501) (2 2)) + rect(l2 (-226 1049) (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 (-851 -401) (2 2)) + rect(l6 (-651 859) (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 (-91 -91) (2 2)) + rect(l11 (-151 -151) (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 (-17921 -201) (2 2)) + rect(l13 (-221 -201) (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 (-21741 859) (2 2)) + rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-101 -351) (2 2)) + rect(l11 (-1251 -401) (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(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)) + ) + 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)) + ) + 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 (-21741 -391) (2 2)) + rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-551 -401) (2 2)) + rect(l11 (-1251 -401) (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(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..b585c4ca4 --- /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 (-1151 -401) (2 2)) + rect(l2 (-276 -2151) (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 (-141 -501) (2 2)) + rect(l11 (-1751 1099) (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 (-1151 -401) (2 2)) + rect(l6 (-951 859) (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 (-71 -91) (2 2)) + rect(l11 (-171 -151) (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 (-91 -91) (2 2)) + rect(l11 (-151 -151) (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 (299 399) (2 2)) + rect(l2 (-651 -2151) (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 (-151 -2501) (2 2)) + rect(l2 (-226 1049) (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 (-851 -401) (2 2)) + rect(l6 (-651 859) (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 (-91 -91) (2 2)) + rect(l11 (-151 -151) (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 (-17921 -201) (2 2)) + rect(l13 (-221 -201) (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 (-21741 859) (2 2)) + rect(l11 (-2351 -451) (1200 800)) + rect(l11 (-750 -1450) (300 1400)) + rect(l11 (-101 -351) (2 2)) + rect(l11 (-1251 -401) (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(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)) + ) + 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)) + ) + 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 (-21741 -391) (2 2)) + rect(l11 (-1901 -401) (300 1400)) + rect(l11 (-750 -1450) (1200 800)) + rect(l11 (-551 -401) (2 2)) + rect(l11 (-1251 -401) (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(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) + ) + ) +) From 0199192e83b672346c6c7c811422d1f39f42dc1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 17:05:12 +0100 Subject: [PATCH 061/126] Fixed #989 (cannot convert cell to static cell) (#1002) Fixed some more glitches while doing so: * cell.name (gsi) was giving "basic_name", now it's changed to the internal name to be consistent with "name=". The "functional name" is still available as "basic_name". * The basic name was rendering "..." for defunct cells and has been changed to the functional name. Otherwise this is not accessible. --- src/db/db/dbColdProxy.cc | 4 ++-- src/db/db/dbLayout.cc | 2 +- src/db/db/gsiDeclDbCell.cc | 13 ++++++++++++- src/db/unit_tests/dbLayoutTests.cc | 6 +++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/db/db/dbColdProxy.cc b/src/db/db/dbColdProxy.cc index 0f863c3ac..a2e94cc80 100644 --- a/src/db/db/dbColdProxy.cc +++ b/src/db/db/dbColdProxy.cc @@ -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/dbLayout.cc b/src/db/db/dbLayout.cc index 3ec85a5fb..22c8411a7 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -2295,7 +2295,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 (); diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index cc6edee03..51fc5f00f 100644 --- a/src/db/db/gsiDeclDbCell.cc +++ b/src/db/db/gsiDeclDbCell.cc @@ -1510,12 +1510,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"), diff --git a/src/db/unit_tests/dbLayoutTests.cc b/src/db/unit_tests/dbLayoutTests.cc index e7d49ea6d..f36e3125a 100644 --- a/src/db/unit_tests/dbLayoutTests.cc +++ b/src/db/unit_tests/dbLayoutTests.cc @@ -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"); From 572103ad237869ca6473153d048b722b215aa93a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 18:08:52 +0100 Subject: [PATCH 062/126] Fixed issue-972 (#1003) The implementation basically means making cell names valid rather than quoting them. This involves unification. --- .../streamers/cif/db_plugin/dbCIFWriter.cc | 165 +++++++++++++++++- .../streamers/cif/db_plugin/dbCIFWriter.h | 28 ++- .../streamers/cif/unit_tests/dbCIFReader.cc | 128 +++++++++++++- testdata/cif/issue_972_au.cif | 15 ++ testdata/cif/issue_972_au.gds | Bin 0 -> 438 bytes 5 files changed, 330 insertions(+), 6 deletions(-) create mode 100644 testdata/cif/issue_972_au.cif create mode 100644 testdata/cif/issue_972_au.gds diff --git a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc index afacdec00..74b844ac4 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc +++ b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.cc @@ -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 bda5bf2be..b59f59b63 100644 --- a/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h +++ b/src/plugins/streamers/cif/db_plugin/dbCIFWriter.h @@ -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/unit_tests/dbCIFReader.cc b/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc index 69f548e56..ed10d9190 100644 --- a/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc +++ b/src/plugins/streamers/cif/unit_tests/dbCIFReader.cc @@ -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/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 0000000000000000000000000000000000000000..1aa839432f7951c0dc812631532449f8aa3691dc GIT binary patch literal 438 zcmZQzV_;&6V31*CVt>ZK#K6PAz`)C(jLc@>U}E#}bYfr-VP>^+>@@d2w)}&o%MSeo zv!g;7WLRnJPfpFr(MeQE(ofc8VBuh3VB=+CU}Rw9V*=WxBftzKkpUNw zgNzY!EP@PZ`dP8)7XfNO#@O{U;j~{4r~w&c*UyYozXnhPGRCf-1*d)^pax`&rk@=c H1}qE!fl3$l literal 0 HcmV?d00001 From 72d0f717fe93b57805b1f1250b3e9e2a2ff16aca Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 12 Feb 2022 18:20:38 +0100 Subject: [PATCH 063/126] Fixed units tests --- src/db/db/gsiDeclDbTrans.cc | 6 +++++- testdata/ruby/dbTransTest.rb | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/db/db/gsiDeclDbTrans.cc b/src/db/db/gsiDeclDbTrans.cc index ed6296625..a6bfe92c7 100644 --- a/src/db/db/gsiDeclDbTrans.cc +++ b/src/db/db/gsiDeclDbTrans.cc @@ -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" @@ -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/testdata/ruby/dbTransTest.rb b/testdata/ruby/dbTransTest.rb index f97d32096..6b8a96472 100644 --- a/testdata/ruby/dbTransTest.rb +++ b/testdata/ruby/dbTransTest.rb @@ -80,8 +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 ).to_s, "2" ) - assert_equal( (e * 2.0).to_s, "2" ) + 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)" ) From 11a91300bd16b717cb2e7f81e7fef26fcd607538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 12 Feb 2022 21:26:28 +0100 Subject: [PATCH 064/126] =?UTF-8?q?issue-996=20Providing=20a=20"refresh"?= =?UTF-8?q?=20function=20for=20triggering=20a=20refresh=20from=20inside=20?= =?UTF-8?q?t=E2=80=A6=20(#998)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Providing a "refresh" function for triggering a refresh from inside the lib Some other glitches were fixed too: * LibraryManager wasn't thread-safe * Library destructor wasn't unregistering * Crash when re-registering the same library again * In LibrariesTest normalization of layouts must not include re-creation of library references to avoid side effects. Save without context. * Added missing files * Fixed unit tests. --- src/db/db/dbLibrary.cc | 18 +- src/db/db/dbLibrary.h | 7 + src/db/db/dbLibraryManager.cc | 148 ++++-- src/db/db/dbLibraryManager.h | 10 + src/db/db/dbLibraryProxy.cc | 2 + src/db/db/dbTestSupport.cc | 12 +- src/db/db/dbTestSupport.h | 10 +- src/db/db/gsiDeclDbLibrary.cc | 6 + src/db/unit_tests/dbLibrariesTests.cc | 673 ++++++++++++-------------- testdata/gds/lib_test2.gds | Bin 1464 -> 876 bytes testdata/gds/lib_test4.gds | Bin 706 -> 520 bytes testdata/gds/lib_test6a.gds | Bin 0 -> 298 bytes testdata/gds/lib_test6b.gds | Bin 0 -> 298 bytes testdata/ruby/dbLibrary.rb | 4 +- 14 files changed, 464 insertions(+), 426 deletions(-) create mode 100644 testdata/gds/lib_test6a.gds create mode 100644 testdata/gds/lib_test6b.gds diff --git a/src/db/db/dbLibrary.cc b/src/db/db/dbLibrary.cc index 5620373c1..5c012dc52 100644 --- a/src/db/db/dbLibrary.cc +++ b/src/db/db/dbLibrary.cc @@ -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,12 @@ 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 () +{ + 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 d171b3f77..6b21604c9 100644 --- a/src/db/db/dbLibrary.h +++ b/src/db/db/dbLibrary.h @@ -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 7b7e24d6b..140c4d12f 100644 --- a/src/db/db/dbLibraryManager.cc +++ b/src/db/db/dbLibraryManager.cc @@ -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,68 +106,99 @@ 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_libs [l->second] = 0; + 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) { + old_lib->remap_to (library); + old_lib->set_id (std::numeric_limits::max ()); + delete old_lib; + old_lib = 0; } - // 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)); - // 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 // "restore_proxies" takes care not to re-substitute cold proxies. @@ -187,6 +221,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 +239,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 d4c818518..f4cd25609 100644 --- a/src/db/db/dbLibraryManager.h +++ b/src/db/db/dbLibraryManager.h @@ -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 657fc566f..8401acc48 100644 --- a/src/db/db/dbLibraryProxy.cc +++ b/src/db/db/dbLibraryProxy.cc @@ -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; } diff --git a/src/db/db/dbTestSupport.cc b/src/db/db/dbTestSupport.cc index bb41c713c..aa5522df0 100644 --- a/src/db/db/dbTestSupport.cc +++ b/src/db/db/dbTestSupport.cc @@ -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,7 +137,7 @@ 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) + | ((norm & AsPolygons) != 0 ? db::layout_diff::f_boxes_as_polygons + db::layout_diff::f_paths_as_polygons : 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*/); diff --git a/src/db/db/dbTestSupport.h b/src/db/db/dbTestSupport.h index 430bacb76..9b031fdce 100644 --- a/src/db/db/dbTestSupport.h +++ b/src/db/db/dbTestSupport.h @@ -51,10 +51,12 @@ 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 }; /** diff --git a/src/db/db/gsiDeclDbLibrary.cc b/src/db/db/gsiDeclDbLibrary.cc index 1b5439da3..6b3c64c19 100644 --- a/src/db/db/gsiDeclDbLibrary.cc +++ b/src/db/db/gsiDeclDbLibrary.cc @@ -233,6 +233,12 @@ 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" + "\n" + "This method has been introduced in version 0.27.8." ), "@brief A Library \n" "\n" diff --git a/src/db/unit_tests/dbLibrariesTests.cc b/src/db/unit_tests/dbLibrariesTests.cc index 7961a750e..6e30885a1 100644 --- a/src/db/unit_tests/dbLibrariesTests.cc +++ b/src/db/unit_tests/dbLibrariesTests.cc @@ -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/testdata/gds/lib_test2.gds b/testdata/gds/lib_test2.gds index 5620fbaafbfff83ceec9d988022ae79ee391e43b..c246782ac0dfd05cd0025fb303226249de68a150 100644 GIT binary patch delta 239 zcmdnN{e~@yfsKKQDS|^7sp}dWFO{QoN^DCGjYm&VM)d*m%xJC%sf^v0ND^H9RL6T literal 1464 zcmbW1&n`nj6vn^%r>E7FTqTHfA<+cUph~c)q*@ZuXct|G4H6Aaq!MZ371&wX*w}dk z@dRS&0W2&nEj)lTGk5e}?d3AbWML!j1!!qyms|EY7AH zO`9+f&ror_T+SCD)(~sXoG$}*KX>+wC8=6UXFGgtBr;T$&ef9iwlKt&$O-{_LF+^NN+4Ck8Uh{3eNTY6d_6GG>PLQ z$p&#O26HG)a{ndCbthSLNu*M3MdpJ!;z_Dis(d*eB!;*hc{%)njN74S6hGDyk*F9u z#@TyK41@YaePm<>F%opY=DD|P`@E_k*WdB^vx{!l8_%8qJ!(6TvI2jhjFGC&c8$}h z!M=%9WNp`trRs$ljf{_JB#>#0zrA86cXZ>3Aq*2M$5q-UQu+Ce98>zcngr)(O^gqv zi5NXCOn#+F&O`8}Nzr*#!6cJ)5A^JZV;Z;sqR)UH|Hu?4U8$}v-`=r2m-A^(8QfPr;rKGxHa-FCXOa&9 diff --git a/testdata/gds/lib_test4.gds b/testdata/gds/lib_test4.gds index f125a963a64fa82321ce6ef8825a12310af20de0..46583bfdbf571aae776b282e904f55a9e1e18bd6 100644 GIT binary patch delta 155 zcmX@a+QAaVz{bGD6u}_F$i)7Pfr)_|2n`sRk=YC!Ol&@$P7Dkp%&c~fo#x)hmVdBx h*`dE+c2o$13@c83lSLT&#c`N9c^BhxoN_amv;d}r84Lgb literal 706 zcma)3K}y3=5Pg~aOhbrbB`9j>Dht6vp_}4DX<923L*pWg;>PoM0YTlk^9ntIcnh~K zdj#kI^v9&M>cC{?{p7v>W&#G$9I->KPXy@T5FxnU!za$BBOr3U%k*Jz^ZvFxzgqNO zU+xOT-ge#rbCM+Ed{#{6#r<@4oeP8t0N&>m2=`pr;4=at=<;}yWfv(lb~Kio1sV*C z#fxf7mP&%wl?>A;jW#n|_|-YH_NRQgcSrl+T@s^RQVfWA`@J diff --git a/testdata/gds/lib_test6a.gds b/testdata/gds/lib_test6a.gds new file mode 100644 index 0000000000000000000000000000000000000000..c4355a33e9f729d83250bce6bfae73b31dca7a4f GIT binary patch literal 298 zcmZQzV_;&6V31*CVt>ZK#J~-N{0yqdYz7V{HXlzX1_lvkRy)T|bMIrzKUli#&|fe+ zDuh9X6}LV%Ha15F1{Mwm1~y(M21W)pJ|+eR1|0!rAZdhzrvcf>7$L_Zh|tf3q93RQ x2AE#}Stl46U^Gk|NQ3pWGvIY42OC?6e*jP|7tozTAQ$t1T?jD-W&#Tf0|1+`8gT#s literal 0 HcmV?d00001 diff --git a/testdata/gds/lib_test6b.gds b/testdata/gds/lib_test6b.gds new file mode 100644 index 0000000000000000000000000000000000000000..708b1c4d9174286b6bd221185577311cddb75505 GIT binary patch literal 298 zcmZQzV_;&6V31*CVt>ZK#J~-N!VHYaYz7V{HXlzX1_lvkRy)T|bMIrzKUli#&|fe+ zDuh9X6}LV%Ha15F1{Mwm1~y(M21W)pJ|+eR1|0!rAZdey7XaDF7$L_Zh|tf3q93RQ x2AE#}Stl46U^Gk|NQ3pWGvIY42OC?6e*jP|7tozTAQ$t1T?jD-W&#Tf0{~S88WjKl literal 0 HcmV?d00001 diff --git a/testdata/ruby/dbLibrary.rb b/testdata/ruby/dbLibrary.rb index 70fd0cd92..d24a7c579 100644 --- a/testdata/ruby/dbLibrary.rb +++ b/testdata/ruby/dbLibrary.rb @@ -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) From 4a8918364b247d0affaf60d70832657ff2b7c748 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 12 Feb 2022 22:16:14 +0100 Subject: [PATCH 065/126] Patch for issue-973 fix to make it work with libcurl --- src/tl/tl/tlHttpStreamCurl.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tl/tl/tlHttpStreamCurl.cc b/src/tl/tl/tlHttpStreamCurl.cc index 928db8832..452a45ef9 100644 --- a/src/tl/tl/tlHttpStreamCurl.cc +++ b/src/tl/tl/tlHttpStreamCurl.cc @@ -1334,7 +1334,9 @@ InputHttpStreamPrivateData::read (char *b, size_t n) 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 (); - ++*m_progress; + if (m_progress.get ()) { // might have been reset by tick() + ++*m_progress; + } } } From b3d17cff97b8ee5184e24aa7f470923e154459fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 13 Feb 2022 10:04:25 +0100 Subject: [PATCH 066/126] Implemented issue-982 (heal option for strmxor) (#1004) The option is -m or --heal. It is default off as in boundary cases (e.g. full layer vs. empty) the healing adds a considerable memory and performance penalty. Healing is only effective with tiling and affects output shapes as well as shape counts. --- src/buddies/src/bd/strmxor.cc | 190 ++++++++++++++++++++--- src/buddies/unit_tests/bdStrmxorTests.cc | 132 ++++++++++++++++ testdata/bd/strmxor_au3_heal.oas | Bin 0 -> 576 bytes testdata/bd/strmxor_au4_heal.oas | Bin 0 -> 816 bytes 4 files changed, 304 insertions(+), 18 deletions(-) create mode 100644 testdata/bd/strmxor_au3_heal.oas create mode 100644 testdata/bd/strmxor_au4_heal.oas diff --git a/src/buddies/src/bd/strmxor.cc b/src/buddies/src/bd/strmxor.cc index 2baec09f3..9c20d77d2 100644 --- a/src/buddies/src/bd/strmxor.cc +++ b/src/buddies/src/bd/strmxor.cc @@ -30,12 +30,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 +68,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 +84,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 +261,8 @@ struct ResultDescriptor } }; +// --------------------------------------------------------------------- + struct XORData { XORData () @@ -126,7 +270,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 +283,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,6 +321,7 @@ 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); @@ -219,6 +370,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 " @@ -335,6 +490,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; @@ -413,7 +569,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 +577,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 +601,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 +663,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/bdStrmxorTests.cc b/src/buddies/unit_tests/bdStrmxorTests.cc index 2ac927059..4282b529f 100644 --- a/src/buddies/unit_tests/bdStrmxorTests.cc +++ b/src/buddies/unit_tests/bdStrmxorTests.cc @@ -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/testdata/bd/strmxor_au3_heal.oas b/testdata/bd/strmxor_au3_heal.oas new file mode 100644 index 0000000000000000000000000000000000000000..0faf2da27657e7ef7554d3486991e46480a353e9 GIT binary patch literal 576 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>Fh}?YF@p$R22p!v21cd}tS1;xO0AG& z;DmhwsL_Ts~ zVEw=i7X8cA3slK)LF9v|s0pLQ44wwo4&g@DBN8GTB^p>a0+}Gi3)mW1FUU2rJ`e(H zdMMPu`V+`K!U?rrV2g#wLW>Km8-yPSU0{7Ev_KxLZlU}Gp`SqRUjDmm45HQ?jEqbj TkuNqdFO**?!qhO50Rsa7Q^DC} literal 0 HcmV?d00001 diff --git a/testdata/bd/strmxor_au4_heal.oas b/testdata/bd/strmxor_au4_heal.oas new file mode 100644 index 0000000000000000000000000000000000000000..b6301286ece6fe25ee23a1f832c84d19b728e613 GIT binary patch literal 816 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>Fh}?YF@p$R22p!v21cd}tS1;xO0AG& z;Y05Lsw(fpvrM1ECA7 z4}})UgJl=WKM?u}7Fo`nWXk%t-7|DQv0Ra4sCa3@a literal 0 HcmV?d00001 From 72bf152735b4d10db506f1c9a20889f640247005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 13 Feb 2022 10:06:01 +0100 Subject: [PATCH 067/126] Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. (#1007) --- src/laybasic/laybasic/layGridNet.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/laybasic/laybasic/layGridNet.cc b/src/laybasic/laybasic/layGridNet.cc index 96d420906..31f0dca4f 100644 --- a/src/laybasic/laybasic/layGridNet.cc +++ b/src/laybasic/laybasic/layGridNet.cc @@ -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), From 0132ad08f7623e9fe39d614dae7134814a404d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 13 Feb 2022 19:05:21 +0100 Subject: [PATCH 068/126] Issue 994 (#1006) * Implemented issue-982 (heal option for strmxor) The option is -m or --heal. It is default off as in boundary cases (e.g. full layer vs. empty) the healing adds a considerable memory and performance penalty. Healing is only effective with tiling and affects output shapes as well as shape counts. * Fixed issue 994 (maybe, increased capture range for catching an existing selection) --- src/laybasic/laybasic/layEditable.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/laybasic/laybasic/layEditable.cc b/src/laybasic/laybasic/layEditable.cc index 9636af8ed..a391c6845 100644 --- a/src/laybasic/laybasic/layEditable.cc +++ b/src/laybasic/laybasic/layEditable.cc @@ -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; From d2c2a875ddc88c8613f4d4580d4ea5b43e62e46c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 13 Feb 2022 23:39:09 +0100 Subject: [PATCH 069/126] Removed debug output --- src/db/db/dbHierProcessor.cc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/db/db/dbHierProcessor.cc b/src/db/db/dbHierProcessor.cc index 3c9d1215e..a54b9676f 100644 --- a/src/db/db/dbHierProcessor.cc +++ b/src/db/db/dbHierProcessor.cc @@ -1063,11 +1063,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 ()); @@ -1076,9 +1071,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); @@ -1482,9 +1474,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) { From 4e511293beebfae82e22b265a102fc98d1387868 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 14 Feb 2022 18:31:49 +0100 Subject: [PATCH 070/126] PyPI deployment: corrected branch filter --- Jenkinsfile-pypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile-pypi b/Jenkinsfile-pypi index 8bc51a963..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('pypi_v')) { + if (BRANCH_NAME.startsWith('pypi_')) { sh("twine upload --skip-existing wheelhouse/klayout-*manylinux2014*.whl wheelhouse/*.zip") } From e9d86822df8333445b24a95c6556d680516bc775 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Feb 2022 00:03:14 +0100 Subject: [PATCH 071/126] Scale and snap improvements * edge and edge pair support * property support * no expanding of on-grid arrays * more inline processing, better performance --- src/db/db/dbArray.h | 6 ++ src/db/db/dbLayoutUtils.cc | 199 ++++++++++++++++++++++++++++++++----- src/db/db/dbTrans.h | 46 ++++++++- 3 files changed, 224 insertions(+), 27 deletions(-) diff --git a/src/db/db/dbArray.h b/src/db/db/dbArray.h index 531f11010..44f9b2b67 100644 --- a/src/db/db/dbArray.h +++ b/src/db/db/dbArray.h @@ -2676,6 +2676,12 @@ private: template void transform_delegate (const T &tr, db::ArrayRepository *array_rep) { + // No need to do anything if there are no vector-transforming components as displacement + // is entirely handled outside the delegate + if (tr.is_unity_for_vector ()) { + return; + } + // transform the delegate if (! array_rep && ! mp_base->in_repository) { diff --git a/src/db/db/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 3f18ff33a..23a5d33a2 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -25,6 +25,7 @@ #include "dbCellVariants.h" #include "dbPolygonTools.h" #include "tlProgress.h" +#include "tlTimer.h" namespace db { @@ -436,9 +437,45 @@ ContextCache::find_layout_context (db::cell_index_type from, db::cell_index_type // ------------------------------------------------------------ // Scale and snap a layout +static bool +is_on_grid (const db::Vector &v, db::Coord g, db::Coord m, db::Coord d) +{ + int64_t dg = int64_t (g) * int64_t (d); + return (int64_t (v.x ()) * m) % dg == 0 && (int64_t (v.y ()) * m) % dg == 0; +} + +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 +490,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 +503,13 @@ 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; + std::vector new_insts_with_props; + std::vector new_insts; + std::vector instances_to_replace; for (db::Layout::iterator c = layout.begin (); c != layout.end (); ++c) { @@ -486,7 +530,8 @@ 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); + + // TODO: properties, edges, edge pairs for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::Polygons | db::ShapeIterator::Paths | db::ShapeIterator::Boxes); ! si.at_end (); ++si) { @@ -495,7 +540,8 @@ 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); + + s.replace (*si, poly); } @@ -506,12 +552,35 @@ 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); + + s.replace (*si, 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); + + s.replace (*si, 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); + + s.replace (*si, edge_pair); + + } } @@ -520,33 +589,115 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db // 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; + new_insts.clear (); + new_insts_with_props.clear (); + instances_to_replace.clear (); 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); + // shortcut if we do not need to explode the array + + iterated_array_vectors.clear (); + db::Vector a, b; + unsigned long na, nb; + + bool need_explode = false; + db::CellInstArray new_array (ia); + + if (tr.is_complex ()) { + + need_explode = ia.size () > 1; + + } else if (ia.is_iterated_array (&iterated_array_vectors)) { + + for (std::vector::const_iterator i = iterated_array_vectors.begin (); ! need_explode && i != iterated_array_vectors.end (); ++i) { + need_explode = ! is_on_grid (*i, g, m, d); + } + + if (! need_explode) { + + bool needs_update = false; + for (std::vector::iterator i = iterated_array_vectors.begin (); ! need_explode && 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) { + if (ia.is_complex ()) { + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), iterated_array_vectors.begin (), iterated_array_vectors.end ()); + } else { + new_array = db::CellInstArray (ia.object (), ia.front (), iterated_array_vectors.begin (), iterated_array_vectors.end ()); + } + } + + } + + } else if (ia.is_regular_array (a, b, na, nb)) { + + need_explode = (na > 1 && ! is_on_grid (a, g, m, d)) && (nb > 1 && ! is_on_grid (b, g, m, d)); + + if (! need_explode) { + + 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 ()); + + if (ia.is_complex ()) { + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), a, b, na, nb); + } else { + new_array = db::CellInstArray (ia.object (), ia.front (), a, b, na, nb); + } + + } + + } + + if (! need_explode) { + + scale_and_snap_cell_instance (new_array, tr, trinv, tr_disp, g, m, d); + c->replace (*inst, new_array); + + } else { + + instances_to_replace.push_back (*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); + + db::CellInstArray new_array; + if (ia.is_complex ()) { + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ti)); + } else { + new_array = db::CellInstArray (ia.object (), ti); + } + + if (inst->prop_id () > 0) { + new_insts_with_props.push_back (db::CellInstArrayWithProperties (new_array, inst->prop_id ())); + } else { + new_insts.push_back (new_array); + } - 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)); } } } - c->clear_insts (); - - for (std::list::const_iterator i = new_insts.begin (); i != new_insts.end (); ++i) { + c->erase_insts (instances_to_replace); + for (std::vector::const_iterator i = new_insts.begin (); i != new_insts.end (); ++i) { + c->insert (*i); + } + for (std::vector::const_iterator i = new_insts_with_props.begin (); i != new_insts_with_props.end (); ++i) { c->insert (*i); } diff --git a/src/db/db/dbTrans.h b/src/db/db/dbTrans.h index 422f87329..5603b3873 100644 --- a/src/db/db/dbTrans.h +++ b/src/db/db/dbTrans.h @@ -77,6 +77,14 @@ struct default_trans return true; } + /** + * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements + */ + bool is_unity_for_vector () const + { + return true; + } + /** * @brief Orthogonal predicate * @@ -410,6 +418,14 @@ public: return m_f == 0; } + /** + * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements + */ + bool is_unity_for_vector () const + { + return m_f == 0; + } + /** * @brief The standard constructor using angle and mirror flag * @@ -869,6 +885,14 @@ public: return m_u.equal (displacement_type ()); } + /** + * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements + */ + bool is_unity_for_vector () const + { + return true; + } + /** * @brief Inversion * @@ -1311,6 +1335,14 @@ public: return m_u.equal (displacement_type ()) && fixpoint_trans::is_unity (); } + /** + * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements + */ + bool is_unity_for_vector () const + { + return fixpoint_trans::is_unity (); + } + /** * @brief The transformation of a distance * @@ -1874,9 +1906,9 @@ public: } /** - * @brief Test, whether this is a unit transformation + * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements */ - bool is_unity () const + bool is_unity_for_vector () const { if (fabs (m_mag - 1.0) > eps_f ()) { return false; @@ -1887,7 +1919,15 @@ public: if (fabs (m_cos - 1.0) > eps_f ()) { return false; } - return disp ().equal (displacement_type ()); + return true; + } + + /** + * @brief Test, whether this is a unit transformation + */ + bool is_unity () const + { + return is_unity_for_vector () && disp ().equal (displacement_type ()); } /** From 834dfa661411ebc404d61b202e423438e5c32645 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Feb 2022 14:22:16 +0100 Subject: [PATCH 072/126] Bug fixes, enhancements, tests for snap and scale improvements. --- src/db/db/dbCellVariants.cc | 39 +++++++- src/db/db/dbLayoutDiff.cc | 105 ++++++++++++++++++++ src/db/db/dbLayoutDiff.h | 3 + src/db/db/dbLayoutUtils.cc | 125 +++++------------------ src/db/db/dbTestSupport.cc | 2 +- src/db/db/dbTestSupport.h | 3 +- src/db/unit_tests/dbLayoutUtilsTests.cc | 126 ++++++++++++++++++++++++ testdata/algo/layout_utils_au_sns4.oas | Bin 0 -> 1174 bytes testdata/algo/scale_and_snap4.oas | Bin 0 -> 475 bytes 9 files changed, 300 insertions(+), 103 deletions(-) create mode 100644 testdata/algo/layout_utils_au_sns4.oas create mode 100644 testdata/algo/scale_and_snap4.oas diff --git a/src/db/db/dbCellVariants.cc b/src/db/db/dbCellVariants.cc index 0126a75c3..5f36cc7b7 100644 --- a/src/db/db/dbCellVariants.cc +++ b/src/db/db/dbCellVariants.cc @@ -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/dbLayoutDiff.cc b/src/db/db/dbLayoutDiff.cc index e57cd0240..e7940a24b 100644 --- a/src/db/db/dbLayoutDiff.cc +++ b/src/db/db/dbLayoutDiff.cc @@ -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 ed0e01e0b..4482c5009 100644 --- a/src/db/db/dbLayoutDiff.h +++ b/src/db/db/dbLayoutDiff.h @@ -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/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 23a5d33a2..2196f9fa4 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -507,9 +507,6 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db std::vector heap; std::vector iterated_array_vectors; - std::vector new_insts_with_props; - std::vector new_insts; - std::vector instances_to_replace; for (db::Layout::iterator c = layout.begin (); c != layout.end (); ++c) { @@ -530,8 +527,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); - - // TODO: properties, edges, edge pairs + db::Shapes new_shapes; for (db::Shapes::shape_iterator si = s.begin (db::ShapeIterator::Polygons | db::ShapeIterator::Paths | db::ShapeIterator::Boxes); ! si.at_end (); ++si) { @@ -541,7 +537,11 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db poly = scaled_and_snapped_polygon (poly, g, m, d, tr_disp.x (), g, m, d, tr_disp.y (), heap); poly.transform (trinv); - s.replace (*si, poly); + if (si->is_box () && poly.is_box ()) { + new_shapes.insert (db::BoxWithProperties (poly.box (), si->prop_id ())); + } else { + new_shapes.insert (db::PolygonWithProperties (poly, si->prop_id ())); + } } @@ -553,7 +553,7 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db 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); - s.replace (*si, text); + new_shapes.insert (db::TextWithProperties (text, si->prop_id ())); } @@ -565,7 +565,7 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db edge = scaled_and_snapped_edge (edge, g, m , d, tr_disp.x (), tr_disp.y ()); edge.transform (trinv); - s.replace (*si, edge); + new_shapes.insert (db::EdgeWithProperties (edge, si->prop_id ())); } @@ -578,127 +578,56 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db scaled_and_snapped_edge (edge_pair.second (), g, m , d, tr_disp.x (), tr_disp.y ())); edge_pair.transform (trinv); - s.replace (*si, edge_pair); + new_shapes.insert (db::EdgePairWithProperties (edge_pair, si->prop_id ())); } + 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. - - new_insts.clear (); - new_insts_with_props.clear (); - instances_to_replace.clear (); + // 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 (); - // shortcut if we do not need to explode the array - iterated_array_vectors.clear (); db::Vector a, b; unsigned long na, nb; - bool need_explode = false; db::CellInstArray new_array (ia); - if (tr.is_complex ()) { + if (ia.is_iterated_array (&iterated_array_vectors)) { - need_explode = ia.size () > 1; - - } else if (ia.is_iterated_array (&iterated_array_vectors)) { - - for (std::vector::const_iterator i = iterated_array_vectors.begin (); ! need_explode && i != iterated_array_vectors.end (); ++i) { - need_explode = ! is_on_grid (*i, g, m, d); + 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 (! need_explode) { - - bool needs_update = false; - for (std::vector::iterator i = iterated_array_vectors.begin (); ! need_explode && 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) { - if (ia.is_complex ()) { - new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), iterated_array_vectors.begin (), iterated_array_vectors.end ()); - } else { - new_array = db::CellInstArray (ia.object (), ia.front (), iterated_array_vectors.begin (), iterated_array_vectors.end ()); - } - } - + 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)) { - need_explode = (na > 1 && ! is_on_grid (a, g, m, d)) && (nb > 1 && ! is_on_grid (b, g, m, d)); + 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 ()); - if (! need_explode) { - - 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 ()); - - if (ia.is_complex ()) { - new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), a, b, na, nb); - } else { - new_array = db::CellInstArray (ia.object (), ia.front (), a, b, na, nb); - } - - } + new_array = db::CellInstArray (ia.object (), ia.complex_trans (ia.front ()), a, b, na, nb); } - if (! need_explode) { + scale_and_snap_cell_instance (new_array, tr, trinv, tr_disp, g, m, d); + c->replace (*inst, new_array); - scale_and_snap_cell_instance (new_array, tr, trinv, tr_disp, g, m, d); - c->replace (*inst, new_array); - - } else { - - instances_to_replace.push_back (*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); - - db::CellInstArray new_array; - if (ia.is_complex ()) { - new_array = db::CellInstArray (ia.object (), ia.complex_trans (ti)); - } else { - new_array = db::CellInstArray (ia.object (), ti); - } - - if (inst->prop_id () > 0) { - new_insts_with_props.push_back (db::CellInstArrayWithProperties (new_array, inst->prop_id ())); - } else { - new_insts.push_back (new_array); - } - - } - - } - - } - - c->erase_insts (instances_to_replace); - for (std::vector::const_iterator i = new_insts.begin (); i != new_insts.end (); ++i) { - c->insert (*i); - } - for (std::vector::const_iterator i = new_insts_with_props.begin (); i != new_insts_with_props.end (); ++i) { - c->insert (*i); } } diff --git a/src/db/db/dbTestSupport.cc b/src/db/db/dbTestSupport.cc index aa5522df0..090e849a2 100644 --- a/src/db/db/dbTestSupport.cc +++ b/src/db/db/dbTestSupport.cc @@ -138,7 +138,7 @@ 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) != 0 ? db::layout_diff::f_boxes_as_polygons + db::layout_diff::f_paths_as_polygons : 0) - | db::layout_diff::f_flatten_array_insts + | ((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) { diff --git a/src/db/db/dbTestSupport.h b/src/db/db/dbTestSupport.h index 9b031fdce..8f89cf7e9 100644 --- a/src/db/db/dbTestSupport.h +++ b/src/db/db/dbTestSupport.h @@ -56,7 +56,8 @@ enum NormalizationMode 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 + AsPolygons = 16, // paths and boxes are treated as polygons + WithArrays = 32 // do not flatten arrays }; /** diff --git a/src/db/unit_tests/dbLayoutUtilsTests.cc b/src/db/unit_tests/dbLayoutUtilsTests.cc index 3dac06878..26130e050 100644 --- a/src/db/unit_tests/dbLayoutUtilsTests.cc +++ b/src/db/unit_tests/dbLayoutUtilsTests.cc @@ -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/testdata/algo/layout_utils_au_sns4.oas b/testdata/algo/layout_utils_au_sns4.oas new file mode 100644 index 0000000000000000000000000000000000000000..3213ccba4901ba5331540e81342bcea159a88c1a GIT binary patch literal 1174 zcmd_ozfaU)7zgmaeS6pAdWCyS%fV4N5^!*U(6{_DF)@ua*aQwkPl3gb{s+!FnA||3 ziHrGV_3qlj9~@C zDuy)-*vzq+V>8EQj?EmKIW}`_=Ge@!nPan$&Aw;O*q?}!SIiDL4NieBI0?4F32+>2 zfn%Tp+TbW?fedVdBj7M-f(_6B>);Sr19hM{qu9V7?O)zzp%5Gp`MYOs^2`(+DuroOpfPje*4QVv8+@5 zRA*xJ@IyINlS2dY?S+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>Fauf4V1m(+mr>*}Bf|nVUIxKGjF%QM zy-?s{Y&W{aa#5p=Pq1RbQRWA+jLgjU*zd6mR&+Sbh+z~GdcppJU9jju><$B=GN>be l*fZ$w&ef- literal 0 HcmV?d00001 From a133a8f43b88634018221ab87920e0a5085d7533 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Feb 2022 18:43:02 +0100 Subject: [PATCH 073/126] Reverted some changes, removed idle code --- src/db/db/dbArray.h | 6 ----- src/db/db/dbLayoutUtils.cc | 7 ------ src/db/db/dbTrans.h | 46 +++----------------------------------- 3 files changed, 3 insertions(+), 56 deletions(-) diff --git a/src/db/db/dbArray.h b/src/db/db/dbArray.h index 44f9b2b67..531f11010 100644 --- a/src/db/db/dbArray.h +++ b/src/db/db/dbArray.h @@ -2676,12 +2676,6 @@ private: template void transform_delegate (const T &tr, db::ArrayRepository *array_rep) { - // No need to do anything if there are no vector-transforming components as displacement - // is entirely handled outside the delegate - if (tr.is_unity_for_vector ()) { - return; - } - // transform the delegate if (! array_rep && ! mp_base->in_repository) { diff --git a/src/db/db/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 2196f9fa4..319a878d9 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -437,13 +437,6 @@ ContextCache::find_layout_context (db::cell_index_type from, db::cell_index_type // ------------------------------------------------------------ // Scale and snap a layout -static bool -is_on_grid (const db::Vector &v, db::Coord g, db::Coord m, db::Coord d) -{ - int64_t dg = int64_t (g) * int64_t (d); - return (int64_t (v.x ()) * m) % dg == 0 && (int64_t (v.y ()) * m) % dg == 0; -} - 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) { diff --git a/src/db/db/dbTrans.h b/src/db/db/dbTrans.h index 5603b3873..422f87329 100644 --- a/src/db/db/dbTrans.h +++ b/src/db/db/dbTrans.h @@ -77,14 +77,6 @@ struct default_trans return true; } - /** - * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements - */ - bool is_unity_for_vector () const - { - return true; - } - /** * @brief Orthogonal predicate * @@ -418,14 +410,6 @@ public: return m_f == 0; } - /** - * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements - */ - bool is_unity_for_vector () const - { - return m_f == 0; - } - /** * @brief The standard constructor using angle and mirror flag * @@ -885,14 +869,6 @@ public: return m_u.equal (displacement_type ()); } - /** - * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements - */ - bool is_unity_for_vector () const - { - return true; - } - /** * @brief Inversion * @@ -1335,14 +1311,6 @@ public: return m_u.equal (displacement_type ()) && fixpoint_trans::is_unity (); } - /** - * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements - */ - bool is_unity_for_vector () const - { - return fixpoint_trans::is_unity (); - } - /** * @brief The transformation of a distance * @@ -1906,9 +1874,9 @@ public: } /** - * @brief Test, whether this is a unit transformation for vectors - i.e. ignoring displacements + * @brief Test, whether this is a unit transformation */ - bool is_unity_for_vector () const + bool is_unity () const { if (fabs (m_mag - 1.0) > eps_f ()) { return false; @@ -1919,15 +1887,7 @@ public: if (fabs (m_cos - 1.0) > eps_f ()) { return false; } - return true; - } - - /** - * @brief Test, whether this is a unit transformation - */ - bool is_unity () const - { - return is_unity_for_vector () && disp ().equal (displacement_type ()); + return disp ().equal (displacement_type ()); } /** From c5da9c717d6ce9c5197b973462f6289ba43ef6a8 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Feb 2022 18:49:00 +0100 Subject: [PATCH 074/126] scale_and_snap: separate handling of shapes with properties and without --- src/db/db/dbLayoutUtils.cc | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/db/db/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 319a878d9..82ead48ce 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -531,9 +531,17 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db poly.transform (trinv); if (si->is_box () && poly.is_box ()) { - new_shapes.insert (db::BoxWithProperties (poly.box (), si->prop_id ())); + if (si->has_prop_id ()) { + new_shapes.insert (db::BoxWithProperties (poly.box (), si->prop_id ())); + } else { + new_shapes.insert (poly.box ()); + } } else { - new_shapes.insert (db::PolygonWithProperties (poly, si->prop_id ())); + if (si->has_prop_id ()) { + new_shapes.insert (db::PolygonWithProperties (poly, si->prop_id ())); + } else { + new_shapes.insert (poly); + } } } @@ -546,7 +554,11 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db 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); - new_shapes.insert (db::TextWithProperties (text, si->prop_id ())); + if (si->has_prop_id ()) { + new_shapes.insert (db::TextWithProperties (text, si->prop_id ())); + } else { + new_shapes.insert (text); + } } @@ -558,7 +570,11 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db edge = scaled_and_snapped_edge (edge, g, m , d, tr_disp.x (), tr_disp.y ()); edge.transform (trinv); - new_shapes.insert (db::EdgeWithProperties (edge, si->prop_id ())); + if (si->has_prop_id ()) { + new_shapes.insert (db::EdgeWithProperties (edge, si->prop_id ())); + } else { + new_shapes.insert (edge); + } } @@ -571,7 +587,11 @@ scale_and_snap (db::Layout &layout, db::Cell &cell, db::Coord g, db::Coord m, db scaled_and_snapped_edge (edge_pair.second (), g, m , d, tr_disp.x (), tr_disp.y ())); edge_pair.transform (trinv); - new_shapes.insert (db::EdgePairWithProperties (edge_pair, si->prop_id ())); + if (si->has_prop_id ()) { + new_shapes.insert (db::EdgePairWithProperties (edge_pair, si->prop_id ())); + } else { + new_shapes.insert (edge_pair); + } } From 30f774f0555013a4bc281091e9bde4135b43c0a1 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 19 Feb 2022 17:57:41 +0100 Subject: [PATCH 075/126] WIP: dynamic definition of macro categories (currently: drc, lvs) --- .../drc/built-in-macros/drc_interpreters.lym | 5 ++ src/lay/lay/gsiDeclLayApplication.cc | 12 +++++ src/lay/lay/layApplication.cc | 43 +++++++++++++++- src/lay/lay/layApplication.h | 7 +++ src/lay/lay/layMacroController.cc | 51 +++---------------- src/lay/lay/layMacroController.h | 8 ++- .../lvs/built-in-macros/lvs_interpreters.lym | 5 ++ src/lym/lym/lymMacro.cc | 46 +++++++++++++---- src/lym/lym/lymMacro.h | 12 ++++- 9 files changed, 132 insertions(+), 57 deletions(-) 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/lay/lay/gsiDeclLayApplication.cc b/src/lay/lay/gsiDeclLayApplication.cc index 287b80f92..fbf23517b 100644 --- a/src/lay/lay/gsiDeclLayApplication.cc +++ b/src/lay/lay/gsiDeclLayApplication.cc @@ -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/layApplication.cc b/src/lay/lay/layApplication.cc index f5d4dd505..a66c633a2 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -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,29 @@ ApplicationBase::init_app () } } + std::set already_executed; + // run all early autorun macros - lym::MacroCollection::root ().autorun_early (); + lym::MacroCollection::root ().autorun_early (&already_executed); + + // 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 +817,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); diff --git a/src/lay/lay/layApplication.h b/src/lay/lay/layApplication.h index 85eb65267..887fc42c5 100644 --- a/src/lay/lay/layApplication.h +++ b/src/lay/lay/layApplication.h @@ -214,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 */ diff --git a/src/lay/lay/layMacroController.cc b/src/lay/lay/layMacroController.cc index 77bd03e20..51b1111ef 100644 --- a/src/lay/lay/layMacroController.cc +++ b/src/lay/lay/layMacroController.cc @@ -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 757d92653..cae8e979b 100644 --- a/src/lay/lay/layMacroController.h +++ b/src/lay/lay/layMacroController.h @@ -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/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/lym/lym/lymMacro.cc b/src/lym/lym/lymMacro.cc index 8067b67df..f7e34fe36 100644 --- a/src/lym/lym/lymMacro.cc +++ b/src/lym/lym/lymMacro.cc @@ -46,6 +46,8 @@ #include #include +#include +#include namespace lym { @@ -1065,6 +1067,11 @@ MacroCollection::MacroCollection () } MacroCollection::~MacroCollection () +{ + do_clear (); +} + +void MacroCollection::do_clear () { for (iterator m = begin (); m != end (); ++m) { delete m->second; @@ -1513,6 +1520,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 +1875,42 @@ bool MacroCollection::has_autorun_early () const return has_autorun_for (*this, true); } -static void autorun_for (lym::MacroCollection &collection, bool early) +static void autorun_for (lym::MacroCollection &collection, bool early, std::set *executed_already) { for (lym::MacroCollection::child_iterator c = collection.begin_children (); c != collection.end_children (); ++c) { - autorun_for (*c->second, early); + autorun_for (*c->second, early, executed_already); } 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 + + 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 () +void MacroCollection::autorun (std::set *already_executed) { - autorun_for (*this, false); + autorun_for (*this, false, already_executed); } -void MacroCollection::autorun_early () +void MacroCollection::autorun_early (std::set *already_executed) { - autorun_for (*this, true); + 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 396bdbee3..063901ca4 100644 --- a/src/lym/lym/lymMacro.h +++ b/src/lym/lym/lymMacro.h @@ -845,6 +845,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 +1001,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 +1011,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 +1135,8 @@ private: m_readonly = f; } + void do_clear (); + // no copying MacroCollection (const MacroCollection &d); MacroCollection &operator= (const MacroCollection &d); From fdb7d90550c7c18d8ba88219e4b5a405a8868bd0 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 24 Feb 2022 00:34:30 +0100 Subject: [PATCH 076/126] Introducing auto-run priorities for macros --- src/lay/lay/MacroPropertiesDialog.ui | 46 ++++++++++--- src/lay/lay/layMacroPropertiesDialog.cc | 5 ++ src/lym/lym/lymMacro.cc | 90 +++++++++++++++++++++---- src/lym/lym/lymMacro.h | 15 +++++ 4 files changed, 134 insertions(+), 22 deletions(-) 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/layMacroPropertiesDialog.cc b/src/lay/lay/layMacroPropertiesDialog.cc index 58fcf16f5..2c04a77c8 100644 --- a/src/lay/lay/layMacroPropertiesDialog.cc +++ b/src/lay/lay/layMacroPropertiesDialog.cc @@ -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/lym/lym/lymMacro.cc b/src/lym/lym/lymMacro.cc index f7e34fe36..429a4fbf2 100644 --- a/src/lym/lym/lymMacro.cc +++ b/src/lym/lym/lymMacro.cc @@ -55,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 .. } @@ -89,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; @@ -113,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 && @@ -184,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") + @@ -552,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) @@ -625,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)); + } } } @@ -672,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); } } @@ -696,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; @@ -767,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) { @@ -1875,15 +1901,38 @@ bool MacroCollection::has_autorun_early () const return has_autorun_for (*this, true); } -static void autorun_for (lym::MacroCollection &collection, bool early, std::set *executed_already) +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) { + 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 ()))) { + 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 (*c->second, early, executed_already); + autorun_for_prio (*c->second, early, executed_already, prio); } 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 ()))) { + 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 ()) { @@ -1903,6 +1952,19 @@ static void autorun_for (lym::MacroCollection &collection, bool early, std::set< } } +static void autorun_for (lym::MacroCollection &collection, bool early, std::set *executed_already) +{ + 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 (std::set *already_executed) { autorun_for (*this, false, already_executed); diff --git a/src/lym/lym/lymMacro.h b/src/lym/lym/lymMacro.h index 063901ca4..619be68a6 100644 --- a/src/lym/lym/lymMacro.h +++ b/src/lym/lym/lymMacro.h @@ -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; From d0d3d2a8beab0dc89f60bbe6769bb572b2f79718 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 24 Feb 2022 00:45:02 +0100 Subject: [PATCH 077/126] New integration, WIP --- .../lay_plugin/built-in-macros/_d25_engine.rb | 249 ++++++++++++++++++ .../built-in-macros/d25_install.lym | 51 ++++ .../built-in-macros/d25_interpreters.lym | 170 ++++++++++++ .../view_25d/lay_plugin/layD25Resources.qrc | 10 + .../tools/view_25d/lay_plugin/lay_plugin.pro | 3 + .../view_25d/lay_plugin/templates/d25.lym | 59 +++++ 6 files changed, 542 insertions(+) create mode 100644 src/plugins/tools/view_25d/lay_plugin/built-in-macros/_d25_engine.rb create mode 100644 src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_install.lym create mode 100644 src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_interpreters.lym create mode 100644 src/plugins/tools/view_25d/lay_plugin/layD25Resources.qrc create mode 100644 src/plugins/tools/view_25d/lay_plugin/templates/d25.lym 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..591ea4085 --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/_d25_engine.rb @@ -0,0 +1,249 @@ +# $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 + + def initialize + self.fill = nil + self.frame = nil + self.like = nil + 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 + self.clip(RBA::LayoutView::current.box) + end + + end + + def z(*args) + + self._context("z") do + + layer = nil + zstart = nil + zstop = nil + height = nil + + 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 + + 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 + invalid_keys = a.keys.select { |k| ![ :height, :zstart, :zstop ].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.data, zstart, zstop, @display || D25Display::new) + @zstack << info + + return info + + end + + end + + def display(*args, &block) + + display = D25Display::new + + 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) + + hollow_fill = 0xffffffff + + if a[:color] + if !a[:color].is_a?(0xffffff.class) + raise("'color' must be a color value (an integer)") + end + display.fill = a[:color] + display.frame = a[:color] + end + if a[:frame] + if !a[:frame].is_a?(0xffffff.class) + raise("'frame' must be a color value (an integer)") + end + display.frame = a[:frame] + end + if a[:fill] + if !a[:fill].is_a?(0xffffff.class) + raise("'fill' must be a color value (an integer)") + end + display.fill = a[:fill] + end + if a[:hollow] + if a[:hollow] + display.fill = hollow_fill + end + end + + if a[:like] + li = nil + if a[:like].is_a?(String) + li = RBA::LayerInfo::from_string(a[:like]) + elsif a[:like].is_a?(RBA::LayerInfo) + li = a[:like] + else + raise("'like' must be a string or LayerInfo object") + end + display.like = li + end + + invalid_keys = a.keys.select { |k| ![ :fill, :frame, :color, :hollow, :like ].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 + + end + + def _finish(final = true) + + if final && @zstack.empty? + raise("No z calls made in 2.5d script") + end + + super(final) + + if final + + view = RBA::LayoutView::current.open_d25_view + + begin + + 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) + zz.each do |z| + view.entry(z.layer, z.start, z.zstop) + end + view.close_display + end + + view.finish + + rescue => ex + 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..6e0ebc18f --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_install.lym @@ -0,0 +1,51 @@ + + + + + + + + + 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) + + 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..fbf0dc9ef --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/built-in-macros/d25_interpreters.lym @@ -0,0 +1,170 @@ + + + + + + + + + false + true + + false + + + ruby + + +module D25 + + class D25Executable < RBA::Executable + + def initialize(macro, generator, rdb_index = nil) + + @d25 = D25Engine::new + @d25._rdb_index = rdb_index + @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 + + 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), params["rdb_index"]) + + 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/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/lay_plugin.pro b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro index b05f93e94..cc6063840 100644 --- a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro +++ b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro @@ -26,6 +26,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..ac0468824 --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym @@ -0,0 +1,59 @@ + + + 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. +# The "options" describe the z extension. Valid forms are: +# +# 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 +# +# If layer is an original layer, the display options (colors, hollow) are taken +# from the original layer's display style. Otherwise KLayout decides about the +# initial display options. Use "display(...)" to control the display options. +# +# display(options) { block } +# display(z(...), z(...), ..., options): +# +# Specify the display options to use for the layers generated inside the block +# (which must contains at least one "z" call) or the given z calls: +# +# Options are: +# +# display(..., color: 0xff0000) use bright red for the material color (RGB) +# display(..., frame: 0xff0000) use bright red for the frame color (combine with "color" for the fill) +# display(..., hollow: true) use hollow style (only frame is drawn) +# display(..., like: "7/0") borrow style from layout view's style for layer "7/0" +# + +z(input(1, 0), 0.1 .. 0.2) + +display(like: 7/0) do + z(input(7, 0), height: 100.nm) + z(input(8, 0), height: 150.nm) +end + + + + From c030c844bb5997bee2516f4db73fd4959a06852a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 27 Feb 2022 21:33:26 +0100 Subject: [PATCH 078/126] Doc update --- .../view_25d/lay_plugin/built-in-macros/d25_interpreters.lym | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index fbf0dc9ef..e85d1a45f 100644 --- 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 @@ -161,7 +161,7 @@ module D25 # Creates a new macro category if RBA::Application::instance - RBA::Application::instance.add_macro_category("d25", "2.5d view", [ "d25" ]) + RBA::Application::instance.add_macro_category("d25", "2.5d View", [ "d25" ]) end end From 5d4fba7c51bbf152057fe03cf4bd36877556759f Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 28 Feb 2022 19:49:58 +0100 Subject: [PATCH 079/126] Ctrl+F always enters find edit box in macro editor, not only if something is selected. --- src/lay/lay/layMacroEditorDialog.cc | 6 +++++- src/lay/lay/layMacroEditorPage.cc | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lay/lay/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index 49da27914..90a0b1f27 100644 --- a/src/lay/lay/layMacroEditorDialog.cc +++ b/src/lay/lay/layMacroEditorDialog.cc @@ -1978,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 (); } diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index 8983724ce..d5929a4bb 100644 --- a/src/lay/lay/layMacroEditorPage.cc +++ b/src/lay/lay/layMacroEditorPage.cc @@ -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; From 42bd12b2db4c5f093197fe7467a76d2e2e060f10 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 28 Feb 2022 20:30:08 +0100 Subject: [PATCH 080/126] Bugfix: could not erase suffix in LEF/DEF reader options, could not reset datatype to 'none' (=don't produce) --- src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc index b490988aa..a15be82e5 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc @@ -611,6 +611,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 +643,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 ()); From 42fbe7b30a4bba1e02e7686d65f7859c46880ced Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 28 Feb 2022 21:19:03 +0100 Subject: [PATCH 081/126] Avoid clipped texts in netlist/LVS result browser, text as tool tips --- src/laybasic/laybasic/layItemDelegates.cc | 2 +- src/laybasic/laybasic/layNetlistBrowserModel.cc | 8 ++++++-- src/laybasic/laybasic/layNetlistBrowserPage.cc | 6 ++++++ src/laybasic/laybasic/layNetlistBrowserTreeModel.cc | 8 ++++++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/laybasic/laybasic/layItemDelegates.cc b/src/laybasic/laybasic/layItemDelegates.cc index 0c7ccc6e4..6d3e230c6 100644 --- a/src/laybasic/laybasic/layItemDelegates.cc +++ b/src/laybasic/laybasic/layItemDelegates.cc @@ -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/layNetlistBrowserModel.cc b/src/laybasic/laybasic/layNetlistBrowserModel.cc index c7702d261..61126be03 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserModel.cc @@ -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/layNetlistBrowserPage.cc b/src/laybasic/laybasic/layNetlistBrowserPage.cc index f69b537d7..17db0cfb9 100644 --- a/src/laybasic/laybasic/layNetlistBrowserPage.cc +++ b/src/laybasic/laybasic/layNetlistBrowserPage.cc @@ -168,16 +168,22 @@ NetlistBrowserPage::NetlistBrowserPage (QWidget * /*parent*/) for (int i = 0; i < 4; ++i) { delegate = new lay::HTMLItemDelegate (this); delegate->set_text_margin (2); + delegate->set_plain_text (true); + /* currently, HTML is not used: delegate->set_anchors_clickable (true); connect (delegate, SIGNAL (anchor_clicked (const QString &)), this, SLOT (anchor_clicked (const QString &))); + */ directory_tree->setItemDelegateForColumn (i, delegate); } for (int i = 0; i < 2; ++i) { delegate = new lay::HTMLItemDelegate (this); delegate->set_text_margin (2); + delegate->set_plain_text (true); + /* currently, HTML is not used: delegate->set_anchors_clickable (true); connect (delegate, SIGNAL (anchor_clicked (const QString &)), this, SLOT (anchor_clicked (const QString &))); + */ hierarchy_tree->setItemDelegateForColumn (i, delegate); } diff --git a/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc b/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc index 5d93d2cc1..c88954df6 100644 --- a/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserTreeModel.cc @@ -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) { From 447b024277ce541b29471b1a93da5522e6d14461 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 1 Mar 2022 00:41:26 +0100 Subject: [PATCH 082/126] Fixed issue #1013 --- .../oasis/db_plugin/dbOASISWriter.cc | 4 +- .../oasis/unit_tests/dbOASISWriterTests.cc | 42 ++++++++++++++++++ testdata/oasis/dbOASISWriter120_au.gds | Bin 0 -> 478 bytes 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 testdata/oasis/dbOASISWriter120_au.gds diff --git a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc index 77f82f653..8d486117e 100644 --- a/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc +++ b/src/plugins/streamers/oasis/db_plugin/dbOASISWriter.cc @@ -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/unit_tests/dbOASISWriterTests.cc b/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc index b7d70b664..c632840b3 100644 --- a/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc +++ b/src/plugins/streamers/oasis/unit_tests/dbOASISWriterTests.cc @@ -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/testdata/oasis/dbOASISWriter120_au.gds b/testdata/oasis/dbOASISWriter120_au.gds new file mode 100644 index 0000000000000000000000000000000000000000..39355df92cddcc057cd3ff6f88c381a56448f73c GIT binary patch literal 478 zcmZQzV_;&6V31*CVt>ZK%)rRNz@W;YgUn{&U}E#}bYfr-VP>^+>@@d2w)~By%MSeo zv!enSWLRWIST}OcV|NsBLVHhaFii~06Aew Date: Tue, 1 Mar 2022 17:17:30 +0100 Subject: [PATCH 083/126] Issue 1008 (#1010) * PyPI deployment: corrected branch filter * skip redundant points in partial edit, but not colinear ones * Polygon transformation now preserves raw points --- Jenkinsfile-pypi | 2 +- src/db/db/dbShapes.cc | 8 +++---- src/edt/edt/edtPartialService.cc | 40 +++++++++++++++++--------------- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/Jenkinsfile-pypi b/Jenkinsfile-pypi index 8bc51a963..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('pypi_v')) { + if (BRANCH_NAME.startsWith('pypi_')) { sh("twine upload --skip-existing wheelhouse/klayout-*manylinux2014*.whl wheelhouse/*.zip") } diff --git a/src/db/db/dbShapes.cc b/src/db/db/dbShapes.cc index 535c0be6d..250918349 100644 --- a/src/db/db/dbShapes.cc +++ b/src/db/db/dbShapes.cc @@ -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: diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index c765f271f..fe5bf02df 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -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*/); } } From ed7f77a86d1074f75d9cdcc6de7b4f6f7009217f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 5 Mar 2022 14:56:52 +0100 Subject: [PATCH 084/126] Split gates (#1018) * First implementation, first basic tests. * WIP: more tests, bug fixes * split_gates feature, added test case * Documentation --- src/db/db/dbNetlistDeviceClasses.cc | 240 ++++++- src/db/db/dbNetlistDeviceClasses.h | 21 + src/db/db/gsiDeclDbNetlistDeviceClasses.cc | 4 + .../unit_tests/dbNetlistDeviceClassesTests.cc | 587 ++++++++++++++++++ src/lay/lay/doc/about/lvs_ref_global.xml | 10 + src/lay/lay/doc/about/lvs_ref_netter.xml | 22 + src/lay/lay/doc/manual/lvs_tweaks.xml | 48 +- src/lvs/lvs/built-in-macros/_lvs_engine.rb | 9 +- src/lvs/lvs/built-in-macros/_lvs_netter.rb | 49 ++ src/lvs/unit_tests/lvsTests.cc | 4 + 10 files changed, 982 insertions(+), 12 deletions(-) diff --git a/src/db/db/dbNetlistDeviceClasses.cc b/src/db/db/dbNetlistDeviceClasses.cc index a091c7bf0..f3af931ab 100644 --- a/src/db/db/dbNetlistDeviceClasses.cc +++ b/src/db/db/dbNetlistDeviceClasses.cc @@ -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 5775b343b..6ee616738 100644 --- a/src/db/db/dbNetlistDeviceClasses.h +++ b/src/db/db/dbNetlistDeviceClasses.h @@ -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/gsiDeclDbNetlistDeviceClasses.cc b/src/db/db/gsiDeclDbNetlistDeviceClasses.cc index 758c0dc37..b8036782a 100644 --- a/src/db/db/gsiDeclDbNetlistDeviceClasses.cc +++ b/src/db/db/gsiDeclDbNetlistDeviceClasses.cc @@ -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/unit_tests/dbNetlistDeviceClassesTests.cc b/src/db/unit_tests/dbNetlistDeviceClassesTests.cc index f0da4c173..1ee83316f 100644 --- a/src/db/unit_tests/dbNetlistDeviceClassesTests.cc +++ b/src/db/unit_tests/dbNetlistDeviceClassesTests.cc @@ -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/lay/lay/doc/about/lvs_ref_global.xml b/src/lay/lay/doc/about/lvs_ref_global.xml index 5097c76b0..d685e1a70 100644 --- a/src/lay/lay/doc/about/lvs_ref_global.xml +++ b/src/lay/lay/doc/about/lvs_ref_global.xml @@ -226,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/manual/lvs_tweaks.xml b/src/lay/lay/doc/manual/lvs_tweaks.xml index 6a8d505f9..af5550532 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 @@ -208,28 +230,34 @@ 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/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb index 1854b5fcc..64f577886 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) @@ -207,7 +214,7 @@ module LVS # @synopsis lvs_data # See \Netter#lvs_data for a description of that function. - %w(schematic compare join_symmetric_nets tolerance ignore_parameter enable_parameter disable_parameter + %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 lvs_data).each do |f| eval <<"CODE" 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/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index f2fe8e43b..aecfa796d 100644 --- a/src/lvs/unit_tests/lvsTests.cc +++ b/src/lvs/unit_tests/lvsTests.cc @@ -173,3 +173,7 @@ TEST(20_private) run_test (_this, "test_20.lylvs", "test_20.cir.gz", "test_20.gds.gz", true, "test_20b.lvsdb"); } +TEST(21_private) +{ + run_test (_this, "test_21.lylvs", "test_21.cir.gz", "test_21.gds.gz", true, "test_21.lvsdb"); +} From a4b663199dc9115e5681f5add7f04f76022d48d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 5 Mar 2022 14:57:09 +0100 Subject: [PATCH 085/126] Fixed issue-1012 with some enhancements (#1016) - warning if a layer is not mapped - "," allowed as separator between files on buddy tools (in addition to '+') - relative paths are resolved relative to . in buddy tools (more natural on Linux) - Fixed tl::warn and tl::error so warnings/error messages can be continued with tl::noendl. --- src/buddies/src/bd/bdConverterMain.cc | 31 +++++++++++++++++-- src/buddies/src/bd/bdReaderOptions.cc | 6 ++-- .../lefdef/db_plugin/dbLEFDEFImporter.cc | 18 +++++++++-- .../lefdef/db_plugin/dbLEFDEFImporter.h | 11 +++++++ .../lefdef/db_plugin/dbLEFDEFPlugin.cc | 2 +- .../lefdef/db_plugin/gsiDeclDbLEFDEF.cc | 4 +++ src/tl/tl/tlLog.cc | 16 ++++++++-- 7 files changed, 78 insertions(+), 10 deletions(-) diff --git a/src/buddies/src/bd/bdConverterMain.cc b/src/buddies/src/bd/bdConverterMain.cc index bb69ed40d..1190e1377 100644 --- a/src/buddies/src/bd/bdConverterMain.cc +++ b/src/buddies/src/bd/bdConverterMain.cc @@ -31,6 +31,33 @@ namespace bd { +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; +} + int converter_main (int argc, char *argv[], const std::string &format) { bd::GenericWriterOptions generic_writer_options; @@ -42,7 +69,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)) ; @@ -57,7 +84,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, "+"); + std::vector files = split_file_list (infile); for (std::vector::const_iterator f = files.begin (); f != files.end (); ++f) { tl::InputStream stream (*f); diff --git a/src/buddies/src/bd/bdReaderOptions.cc b/src/buddies/src/bd/bdReaderOptions.cc index bb9024505..31aec8980 100644 --- a/src/buddies/src/bd/bdReaderOptions.cc +++ b/src/buddies/src/bd/bdReaderOptions.cc @@ -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." ) ; @@ -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 (); diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc index a15be82e5..530260821 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc @@ -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; @@ -1204,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 9e54c8949..a76c11be5 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h @@ -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 721cc33bf..d93afec52 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc @@ -116,7 +116,7 @@ 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 ())); + db::LEFDEFReaderState state (&effective_options, layout, effective_options.paths_relative_to_cwd () ? std::string () : tl::dirname (m_stream.absolute_path ())); layout.dbu (effective_options.dbu ()); diff --git a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc index f7165e1f1..25587d6c9 100644 --- a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc +++ b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc @@ -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" diff --git a/src/tl/tl/tlLog.cc b/src/tl/tl/tlLog.cc index 1cb58461b..1325358eb 100644 --- a/src/tl/tl/tlLog.cc +++ b/src/tl/tl/tlLog.cc @@ -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; + } } // ------------------------------------------------ From 64406522fe27474458acd52025c32055eb39e6cc Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Mar 2022 19:42:57 +0100 Subject: [PATCH 086/126] WIP: basic debugging, functionality. --- src/drc/drc/built-in-macros/_drc_engine.rb | 48 ++++ src/laybasic/laybasic/layParsedLayerSource.h | 2 +- .../tools/view_25d/lay_plugin/D25View.ui | 39 +++- .../lay_plugin/built-in-macros/_d25_engine.rb | 126 ++++++----- .../built-in-macros/d25_interpreters.lym | 2 + .../view_25d/lay_plugin/gsiDeclLayD25View.cc | 85 ++++++++ .../tools/view_25d/lay_plugin/layD25View.cc | 100 +++++++-- .../tools/view_25d/lay_plugin/layD25View.h | 15 ++ .../view_25d/lay_plugin/layD25ViewWidget.cc | 205 +++++++++++++++--- .../view_25d/lay_plugin/layD25ViewWidget.h | 48 ++-- .../tools/view_25d/lay_plugin/lay_plugin.pro | 1 + 11 files changed, 543 insertions(+), 128 deletions(-) create mode 100644 src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 3600355ca..9bf0556a0 100644 --- a/src/drc/drc/built-in-macros/_drc_engine.rb +++ b/src/drc/drc/built-in-macros/_drc_engine.rb @@ -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 diff --git a/src/laybasic/laybasic/layParsedLayerSource.h b/src/laybasic/laybasic/layParsedLayerSource.h index 7bc862d42..e3bbfa511 100644 --- a/src/laybasic/laybasic/layParsedLayerSource.h +++ b/src/laybasic/laybasic/layParsedLayerSource.h @@ -35,8 +35,8 @@ namespace db { - struct LayerProperties; class Layout; + struct LayerProperties; } namespace lay diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index 75301397d..056823f0c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -358,7 +358,44 @@ 0 - + + + QFrame::NoFrame + + + QFrame::Plain + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + + 1 + 0 + + + + + + + + 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 index 591ea4085..5af1d8468 100644 --- 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 @@ -42,9 +42,11 @@ module D25 @zstack = [] # clip to layout view - if RBA::LayoutView::current - self.clip(RBA::LayoutView::current.box) - end + if ! RBA::LayoutView::current + raise "No layout loaded for running 2.5d view on" + end + + self.region_overlap(RBA::LayoutView::current.box) end @@ -126,7 +128,7 @@ module D25 raise("No layer specified") end - info = D25ZInfo::new(layer.data, zstart, zstop, @display || D25Display::new) + info = D25ZInfo::new(layer, zstart, zstop, @display || D25Display::new) @zstack << info return info @@ -137,78 +139,91 @@ module D25 def display(*args, &block) - display = D25Display::new + begin - args.each do |a| + display = D25Display::new + @display = display - if a.is_a?(D25ZInfo) + args.each do |a| - @zstack.each do |z| - if z == a - z.display = display + if a.is_a?(D25ZInfo) + + @zstack.each do |z| + if z == a + z.display = display + end end - end - elsif a.is_a?(Hash) + elsif a.is_a?(Hash) - hollow_fill = 0xffffffff + hollow_fill = 0xffffffff - if a[:color] - if !a[:color].is_a?(0xffffff.class) - raise("'color' must be a color value (an integer)") + if a[:color] + if !a[:color].is_a?(0xffffff.class) + raise("'color' must be a color value (an integer)") + end + display.fill = a[:color] + display.frame = a[:color] end - display.fill = a[:color] - display.frame = a[:color] - end - if a[:frame] - if !a[:frame].is_a?(0xffffff.class) - raise("'frame' must be a color value (an integer)") + if a[:frame] + if !a[:frame].is_a?(0xffffff.class) + raise("'frame' must be a color value (an integer)") + end + display.frame = a[:frame] end - display.frame = a[:frame] - end - if a[:fill] - if !a[:fill].is_a?(0xffffff.class) - raise("'fill' must be a color value (an integer)") + if a[:fill] + if !a[:fill].is_a?(0xffffff.class) + raise("'fill' must be a color value (an integer)") + end + display.fill = a[:fill] end - display.fill = a[:fill] - end - if a[:hollow] if a[:hollow] - display.fill = hollow_fill + if a[:hollow] + display.fill = hollow_fill + end end - end - if a[:like] - li = nil - if a[:like].is_a?(String) - li = RBA::LayerInfo::from_string(a[:like]) - elsif a[:like].is_a?(RBA::LayerInfo) - li = a[:like] - else - raise("'like' must be a string or LayerInfo object") + if a[:like] + li = nil + if a[:like].is_a?(String) + li = RBA::LayerInfo::from_string(a[:like]) + elsif a[:like].is_a?(RBA::LayerInfo) + li = a[:like] + else + raise("'like' must be a string or LayerInfo object") + end + display.like = li end - display.like = li - end - invalid_keys = a.keys.select { |k| ![ :fill, :frame, :color, :hollow, :like ].member?(k) } - if invalid_keys.size > 0 - raise("Keyword argument(s) not understood: #{invalid_keys.collect(&:to_s).join(',')}") - end + invalid_keys = a.keys.select { |k| ![ :fill, :frame, :color, :hollow, :like ].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}") + else + raise("Argument not understood: #{a.inspect}") + end + end - + + 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) - if final && @zstack.empty? - raise("No z calls made in 2.5d script") - end - super(final) if final @@ -217,6 +232,8 @@ module D25 begin + view.clear + displays = {} @zstack.each do |z| @@ -227,7 +244,7 @@ module D25 display = zz[0].display view.open_display(display.frame, display.fill, display.like) zz.each do |z| - view.entry(z.layer, z.start, z.zstop) + view.entry(z.layer.data, self.dbu, z.zstart, z.zstop) end view.close_display end @@ -235,6 +252,7 @@ module D25 view.finish rescue => ex + view.clear view.close raise ex 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 index e85d1a45f..368ad0080 100644 --- 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 @@ -50,6 +50,8 @@ module D25 end + @d25._check + nil 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..8a728555b --- /dev/null +++ b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc @@ -0,0 +1,85 @@ + +/* + + 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 ("open_display", &lay::D25View::open_display, gsi::arg ("frame_color"), gsi::arg ("fill_color"), gsi::arg ("like"), + "@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 ("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" +); + +} diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index af10a8621..37aba4a81 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -43,19 +43,19 @@ 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())); mp_ui->gl_stack->setCurrentIndex (0); @@ -84,7 +84,7 @@ D25View::cellviews_changed () void D25View::layer_properties_changed (int) { - mp_ui->d25_view->refresh_view (); + // @@@ mp_ui->d25_view->refresh_view (); } void @@ -113,6 +113,71 @@ 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 () +{ + mp_ui->d25_view->clear (); +} + +void +D25View::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like) +{ + mp_ui->d25_view->open_display (frame_color, fill_color, like); +} + +void +D25View::close_display () +{ + mp_ui->d25_view->close_display (); +} + +void +D25View::entry (const db::Region &data, double dbu, double zstart, double zstop) +{ + mp_ui->d25_view->entry (data, dbu, zstart, zstop); +} + +void +D25View::finish () +{ + mp_ui->d25_view->finish (); + + // @@@ install + + 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 (); +} + static QString scale_factor_to_string (double f) { return QString (QString::fromUtf8 ("%1")).arg (f, 0, 'g', 3); @@ -198,12 +263,7 @@ 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); diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index a4e420576..9976b15cf 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -27,6 +27,7 @@ #include "tlObject.h" #include "layBrowser.h" +#include "layViewOp.h" namespace Ui { @@ -38,6 +39,12 @@ namespace lay class LayoutView; } +namespace db +{ + class Region; + struct LayerProperties; +} + namespace lay { @@ -54,6 +61,14 @@ public: virtual void deactivated (); virtual void activated (); + static D25View *open (lay::LayoutView *view); + void close (); + void clear (); + void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like); + void close_display (); + void entry (const db::Region &data, double dbu, double zstart, double zstop); + void finish (); + protected: void accept (); void reject (); diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 57812aeb6..5150dc008 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -31,6 +31,8 @@ #include "dbPolygonGenerators.h" #include "dbPolygonTools.h" #include "dbClip.h" +#include "dbRegion.h" +#include "dbOriginalLayerRegion.h" #include "tlException.h" #include "tlProgress.h" @@ -200,6 +202,8 @@ D25ViewWidget::D25ViewWidget (QWidget *parent) setFormat (format); m_zmin = m_zmax = 0.0; + m_zset = false; + m_display_open = false; mp_view = 0; reset_viewport (); @@ -496,17 +500,146 @@ D25ViewWidget::aspect_ratio () const return double (width ()) / double (height ()); } -bool +void +D25ViewWidget::clear () +{ + m_layers.clear (); + m_layer_to_info.clear (); + m_vertex_chunks.clear (); + m_line_chunks.clear (); + + 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]) +{ + gl_color[0] = ((color >> 16) & 0xff) / 255.0f; + gl_color[1] = ((color >> 8) & 0xff) / 255.0f; + gl_color[2] = (color & 0xff) / 255.0f; + gl_color[3] = 1.0f; +} + +static void color_to_gl (const color_t *color, GLfloat (&gl_color) [4]) +{ + 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.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.fill_color [3] > 0.5) { + // optimize: don't draw wire frame unless required + info.frame_color [3] = 0.0f; + } + + info.visible = lp.visible (true); +} + +void +D25ViewWidget::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like) +{ + 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.vertex_chunk = &m_vertex_chunks.back (); + info.line_chunk = &m_line_chunks.back (); + + 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; + } + } + } + + m_layers.push_back (info); + m_display_open = true; +} + +void +D25ViewWidget::close_display () +{ + m_display_open = false; +} + +void +D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double zstop) +{ + tl_assert (m_display_open); + + // try to establish a default color from the region's origin if required + const db::OriginalLayerRegion *original_region = dynamic_cast (data.delegate ()); + if (mp_view && m_layers.back ().fill_color [3] == 0.0 && m_layers.back ().frame_color [3] == 0.0) { + + if (original_region) { + + const db::RecursiveShapeIterator *iter = original_region->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, m_layers.back ()); + break; + } + } + + } + + } else { + + // sequential assignment + lay::color_t color = mp_view->get_palette ().luminous_color_by_index (m_layers.size ()); + color_to_gl (color, m_layers.back ().frame_color); + color_to_gl (color, m_layers.back ().fill_color); + + } + + } + + 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::finish () +{ + // @@@ +} + +void D25ViewWidget::attach_view (LayoutView *view) { mp_view = view; - - bool any = prepare_view (); - reset (); - - return any; } +#if 0 // @@@ namespace { class ZDataCache @@ -578,31 +711,6 @@ namespace { } -static void color_to_gl (color_t color, GLfloat (&gl_color) [4]) -{ - gl_color[0] = ((color >> 16) & 0xff) / 255.0f; - gl_color[1] = ((color >> 8) & 0xff) / 255.0f; - gl_color[2] = (color & 0xff) / 255.0f; - gl_color[3] = 1.0f; -} - -void -D25ViewWidget::lp_to_info (const lay::LayerPropertiesNode &lp, LayerInfo &info) -{ - color_to_gl (lp.fill_color (true), info.color); - if (lp.dither_pattern (true) == 1 /*hollow*/) { - info.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) { - // optimize: don't draw wire frame unless required - info.frame_color [3] = 0.0f; - } - - info.visible = lp.visible (true); -} - bool D25ViewWidget::prepare_view () { @@ -712,6 +820,9 @@ D25ViewWidget::refresh_view () refresh (); } +// ----------------------- +#endif + void D25ViewWidget::render_polygon (D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Polygon &poly, double dbu, double zstart, double zstop) { @@ -792,6 +903,8 @@ D25ViewWidget::render_wall (D25ViewWidget::triangle_chunks_type &chunks, D25View line_chunks.add (edge.p1 ().x () * dbu, zstop, edge.p1 ().y () * dbu); } +// @@@ +#if 0 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) { @@ -824,6 +937,32 @@ D25ViewWidget::render_layout (tl::AbsoluteProgress &progress, D25ViewWidget::tri } } +#endif + +void +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; + + for (db::Region::const_iterator p = region.begin (); !p.at_end (); ++p) { + + poly_heap.clear (); + 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, dbu, zstart, zstop); + + for (db::Polygon::polygon_edge_iterator e = p->begin_edge (); ! e.at_end (); ++e) { + render_wall (chunks, line_chunks, *e, dbu, zstart, zstop); + } + + } + + } +} static std::pair find_grid (double v) { @@ -1098,8 +1237,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 63b069463..5b7879517 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -27,6 +27,7 @@ #include "layD25MemChunks.h" #include "layD25Camera.h" +#include "layViewOp.h" #include #include @@ -41,8 +42,8 @@ namespace db { - class Layout; - class Cell; + class Region; + struct LayerProperties; } namespace tl @@ -78,6 +79,18 @@ 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; + }; + D25ViewWidget (QWidget *parent); ~D25ViewWidget (); @@ -88,8 +101,8 @@ public: void mouseReleaseEvent (QMouseEvent *event); void mouseMoveEvent (QMouseEvent *event); - bool attach_view(lay::LayoutView *view); - void refresh_view (); + void attach_view(lay::LayoutView *view); + // @@@ void refresh_view (); QVector3D hit_point_with_scene(const QVector3D &line_dir); void refresh (); @@ -129,6 +142,12 @@ public: return m_error; } + void clear (); + void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like); + void close_display (); + void entry (const db::Region &data, double dbu, double zstart, double zstop); + void finish (); + signals: void scale_factor_changed (double f); void vscale_factor_changed (double f); @@ -143,9 +162,6 @@ 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; @@ -155,32 +171,26 @@ private: 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; + 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); + // @@@ 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_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); }; } 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 cc6063840..aeac20510 100644 --- a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro +++ b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro @@ -16,6 +16,7 @@ HEADERS = \ layD25Camera.h SOURCES = \ + gsiDeclLayD25View.cc \ layD25View.cc \ layD25ViewWidget.cc \ layD25Plugin.cc \ From 05c16c9024c6a2680e374f341be21ec1567c4c03 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Mar 2022 19:56:14 +0100 Subject: [PATCH 087/126] WIP: 'open window' menu item --- .../lay_plugin/built-in-macros/d25_install.lym | 12 ++++++++++++ .../tools/view_25d/lay_plugin/layD25Plugin.cc | 5 ++--- src/plugins/tools/view_25d/lay_plugin/layD25View.cc | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) 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 index 6e0ebc18f..ead33cc20 100644 --- 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 @@ -43,6 +43,18 @@ module D25 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/layD25Plugin.cc b/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc index e3a12080d..c6830127c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25Plugin.cc @@ -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/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 37aba4a81..56d6567de 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -170,7 +170,7 @@ D25View::finish () { mp_ui->d25_view->finish (); - // @@@ install + // @@@ install layer properties widget mp_ui->d25_view->reset (); mp_ui->d25_view->set_cam_azimuth (0.0); From 8c0498cc4cd63b6ea931cb6fadc4e4c339613797 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 5 Mar 2022 23:52:41 +0100 Subject: [PATCH 088/126] WIP: Some bug fixes, ongoing implementation --- .../tools/view_25d/lay_plugin/D25View.ui | 47 +++++ .../lay_plugin/built-in-macros/_d25_engine.rb | 6 +- .../built-in-macros/d25_interpreters.lym | 5 +- .../view_25d/lay_plugin/gsiDeclLayD25View.cc | 5 + .../tools/view_25d/lay_plugin/layD25View.cc | 80 +++++-- .../tools/view_25d/lay_plugin/layD25View.h | 5 + .../view_25d/lay_plugin/layD25ViewWidget.cc | 196 +----------------- .../view_25d/lay_plugin/layD25ViewWidget.h | 6 + .../view_25d/lay_plugin/templates/d25.lym | 4 +- 9 files changed, 144 insertions(+), 210 deletions(-) diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index 056823f0c..d8e818856 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -59,6 +59,39 @@ 0 + + + + Execute script again + + + ... + + + + :/run.png:/run.png + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + @@ -456,6 +489,20 @@ + + + + + + In order to use the 2.5d view you will need a script which generates the view. + + + Qt::AlignCenter + + + + + 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 index 5af1d8468..e4a0e6376 100644 --- 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 @@ -163,7 +163,7 @@ module D25 raise("'color' must be a color value (an integer)") end display.fill = a[:color] - display.frame = a[:color] + display.frame = nil end if a[:frame] if !a[:frame].is_a?(0xffffff.class) @@ -206,7 +206,7 @@ module D25 end - yield + block && yield ensure @display = nil @@ -232,7 +232,7 @@ module D25 begin - view.clear + view.begin(self._generator) displays = {} 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 index 368ad0080..86d7d954d 100644 --- 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 @@ -19,10 +19,9 @@ module D25 class D25Executable < RBA::Executable - def initialize(macro, generator, rdb_index = nil) + def initialize(macro, generator) @d25 = D25Engine::new - @d25._rdb_index = rdb_index @d25._generator = generator @macro = macro @@ -148,7 +147,7 @@ module D25 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), params["rdb_index"]) + D25Executable::new(macro, self.generator("script" => script)) end diff --git a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc index 8a728555b..0c771858a 100644 --- a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc @@ -62,6 +62,9 @@ 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"), "@brief Creates a new display group" ) + @@ -80,6 +83,8 @@ Class decl_D25View (QT_EXTERNAL_BASE (QDialog) "lay", "D25View", "@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/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 56d6567de..7e9a79b1a 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -20,6 +20,8 @@ */ +#include "tlExceptions.h" +#include "tlRecipe.h" #include "layD25View.h" #include "layLayoutView.h" @@ -35,7 +37,8 @@ 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) { mp_ui = new Ui::D25View (); mp_ui->setupUi (this); @@ -56,10 +59,14 @@ D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) 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())); - mp_ui->gl_stack->setCurrentIndex (0); + mp_ui->rerun_button->setEnabled (false); + + mp_ui->gl_stack->setCurrentIndex (2); 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); @@ -144,38 +151,67 @@ D25View::close () void D25View::clear () { - mp_ui->d25_view->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; + mp_ui->rerun_button->setEnabled (true); + } } void D25View::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like) { - mp_ui->d25_view->open_display (frame_color, fill_color, like); + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->open_display (frame_color, fill_color, like); + } } void D25View::close_display () { - mp_ui->d25_view->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) { - mp_ui->d25_view->entry (data, dbu, zstart, zstop); + if (! mp_ui->d25_view->has_error ()) { + mp_ui->d25_view->entry (data, dbu, zstart, zstop); + } } void D25View::finish () { - mp_ui->d25_view->finish (); + if (! mp_ui->d25_view->has_error ()) { - // @@@ install layer properties widget + mp_ui->d25_view->finish (); - 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 (); + // @@@ install layer properties widget + + 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 (); + + mp_ui->gl_stack->setCurrentIndex (0); + + } } static QString scale_factor_to_string (double f) @@ -270,6 +306,26 @@ D25View::activated () 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 () { diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index 9976b15cf..5495925f9 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -64,6 +64,7 @@ public: 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); void close_display (); void entry (const db::Region &data, double dbu, double zstart, double zstop); @@ -82,12 +83,16 @@ private slots: void vscale_slider_changed (int value); void vscale_value_edited (); void init_failed (); + void rerun_button_pressed (); private: Ui::D25View *mp_ui; + tl::DeferredMethod dm_rerun_macro; + std::string m_generator; void cellviews_changed (); void layer_properties_changed (int); + void rerun_macro (); }; } diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 5150dc008..0772ffa52 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -205,6 +205,7 @@ D25ViewWidget::D25ViewWidget (QWidget *parent) m_zset = false; m_display_open = false; mp_view = 0; + m_has_error = false; reset_viewport (); } @@ -616,7 +617,6 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double // sequential assignment lay::color_t color = mp_view->get_palette ().luminous_color_by_index (m_layers.size ()); - color_to_gl (color, m_layers.back ().frame_color); color_to_gl (color, m_layers.back ().fill_color); } @@ -639,190 +639,6 @@ D25ViewWidget::attach_view (LayoutView *view) mp_view = view; } -#if 0 // @@@ -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; - }; - -} - -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; -} - -void -D25ViewWidget::refresh_view () -{ - if (! mp_view) { - return; - } - - for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) { - - 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]); - } - ++l; - } - - } - - refresh (); -} - -// ----------------------- -#endif - void D25ViewWidget::render_polygon (D25ViewWidget::triangle_chunks_type &chunks, D25ViewWidget::line_chunks_type &line_chunks, const db::Polygon &poly, double dbu, double zstart, double zstop) { @@ -991,22 +807,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; diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index 5b7879517..217d231b7 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -142,6 +142,11 @@ public: return m_error; } + bool has_error () const + { + return m_has_error; + } + void clear (); void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like); void close_display (); @@ -165,6 +170,7 @@ private: 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; diff --git a/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym index ac0468824..b3049e1c7 100644 --- a/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym +++ b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym @@ -42,8 +42,8 @@ # Options are: # # display(..., color: 0xff0000) use bright red for the material color (RGB) -# display(..., frame: 0xff0000) use bright red for the frame color (combine with "color" for the fill) -# display(..., hollow: true) use hollow style (only frame is drawn) +# display(..., frame: 0xff0000) use bright red for the frame color (combine with "fill" for the fill color) +# display(..., fill: 0x00ff00) use bright green for the fill color along (combine with "frame" for the frame color) # display(..., like: "7/0") borrow style from layout view's style for layer "7/0" # From 4acd0aabc5d69cdb572fe8343ecdf2db17f1c3a5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 10:07:23 +0100 Subject: [PATCH 089/126] Removed D25 tech component --- src/db/db/db.pro | 2 - src/db/db/dbD25TechnologyComponent.cc | 436 ------------------ src/db/db/dbD25TechnologyComponent.h | 106 ----- .../dbD25TechnologyComponentTests.cc | 102 ---- src/db/unit_tests/unit_tests.pro | 1 - .../laybasic/D25TechnologyComponentEditor.ui | 55 --- .../laybasic/layD25TechnologyComponent.cc | 115 ----- .../laybasic/layD25TechnologyComponent.h | 57 --- src/laybasic/laybasic/laybasic.pro | 5 +- .../view_25d/lay_plugin/layD25ViewWidget.cc | 1 - 10 files changed, 1 insertion(+), 879 deletions(-) delete mode 100644 src/db/db/dbD25TechnologyComponent.cc delete mode 100644 src/db/db/dbD25TechnologyComponent.h delete mode 100644 src/db/unit_tests/dbD25TechnologyComponentTests.cc delete mode 100644 src/laybasic/laybasic/D25TechnologyComponentEditor.ui delete mode 100644 src/laybasic/laybasic/layD25TechnologyComponent.cc delete mode 100644 src/laybasic/laybasic/layD25TechnologyComponent.h 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/dbD25TechnologyComponent.cc b/src/db/db/dbD25TechnologyComponent.cc deleted file mode 100644 index 9b421ed7e..000000000 --- a/src/db/db/dbD25TechnologyComponent.cc +++ /dev/null @@ -1,436 +0,0 @@ - -/* - - 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 "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 db38b3124..000000000 --- a/src/db/db/dbD25TechnologyComponent.h +++ /dev/null @@ -1,106 +0,0 @@ - -/* - - 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 - -*/ - -#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/unit_tests/dbD25TechnologyComponentTests.cc b/src/db/unit_tests/dbD25TechnologyComponentTests.cc deleted file mode 100644 index 30ac2b807..000000000 --- a/src/db/unit_tests/dbD25TechnologyComponentTests.cc +++ /dev/null @@ -1,102 +0,0 @@ - -/* - - 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 "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/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/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/layD25TechnologyComponent.cc b/src/laybasic/laybasic/layD25TechnologyComponent.cc deleted file mode 100644 index af6bbee16..000000000 --- a/src/laybasic/laybasic/layD25TechnologyComponent.cc +++ /dev/null @@ -1,115 +0,0 @@ - -/* - - 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 "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/layD25TechnologyComponent.h b/src/laybasic/laybasic/layD25TechnologyComponent.h deleted file mode 100644 index 5cdf03df8..000000000 --- a/src/laybasic/laybasic/layD25TechnologyComponent.h +++ /dev/null @@ -1,57 +0,0 @@ - -/* - - 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 - -*/ - - -#ifndef HDR_layD25TechnologyComponent -#define HDR_layD25TechnologyComponent - -#include "ui_D25TechnologyComponentEditor.h" -#include "layTechnology.h" -#include "layGenericSyntaxHighlighter.h" - -#include - -namespace lay { - -class D25TechnologyComponentEditor - : public lay::TechnologyComponentEditor, - public Ui::D25TechnologyComponentEditor -{ -Q_OBJECT - -public: - D25TechnologyComponentEditor (QWidget *parent); - - void commit (); - void setup (); - -private slots: - void cursor_position_changed (); - -private: - std::unique_ptr mp_hl_attributes, mp_hl_basic_attributes; -}; - -} - -#endif - diff --git a/src/laybasic/laybasic/laybasic.pro b/src/laybasic/laybasic/laybasic.pro index a9cd72e78..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 \ @@ -192,7 +191,6 @@ SOURCES = \ laySelectCellViewForm.cc \ layLayoutStatisticsForm.cc \ gsiDeclLayNetlistBrowserDialog.cc \ - layD25TechnologyComponent.cc \ layLayoutViewFunctions.cc HEADERS = \ @@ -300,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/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 0772ffa52..523788074 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -26,7 +26,6 @@ #include "layLayoutView.h" #include "dbRecursiveShapeIterator.h" -#include "dbD25TechnologyComponent.h" #include "dbEdgeProcessor.h" #include "dbPolygonGenerators.h" #include "dbPolygonTools.h" From f681d96558d9b88b4bb24534e32d14d126d42a7f Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 10:35:58 +0100 Subject: [PATCH 090/126] WIP: Streamlined d25 script notation --- .../lay_plugin/built-in-macros/_d25_engine.rb | 100 +++++++++++------- .../view_25d/lay_plugin/templates/d25.lym | 34 +++--- 2 files changed, 78 insertions(+), 56 deletions(-) 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 index e4a0e6376..534d72650 100644 --- 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 @@ -20,12 +20,47 @@ module D25 class D25Display - attr_accessor :fill, :frame, :like + 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 @@ -58,6 +93,7 @@ module D25 zstart = nil zstop = nil height = nil + display = D25Display::new args.each do |a| @@ -88,19 +124,31 @@ module D25 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 - invalid_keys = a.keys.select { |k| ![ :height, :zstart, :zstop ].member?(k) } + + 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 @@ -128,7 +176,7 @@ module D25 raise("No layer specified") end - info = D25ZInfo::new(layer, zstart, zstop, @display || D25Display::new) + info = D25ZInfo::new(layer, zstart, zstop, @display || display) @zstack << info return info @@ -137,7 +185,7 @@ module D25 end - def display(*args, &block) + def zz(*args, &block) begin @@ -156,46 +204,16 @@ module D25 elsif a.is_a?(Hash) - hollow_fill = 0xffffffff + 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[:color] - if !a[:color].is_a?(0xffffff.class) - raise("'color' must be a color value (an integer)") - end - display.fill = a[:color] - display.frame = nil - end - if a[:frame] - if !a[:frame].is_a?(0xffffff.class) - raise("'frame' must be a color value (an integer)") - end - display.frame = a[:frame] - end - if a[:fill] - if !a[:fill].is_a?(0xffffff.class) - raise("'fill' must be a color value (an integer)") - end - display.fill = a[:fill] - end - if a[:hollow] - if a[:hollow] - display.fill = hollow_fill - end + if a[:name] + display.name = a[:name].to_s end - if a[:like] - li = nil - if a[:like].is_a?(String) - li = RBA::LayerInfo::from_string(a[:like]) - elsif a[:like].is_a?(RBA::LayerInfo) - li = a[:like] - else - raise("'like' must be a string or LayerInfo object") - end - display.like = li - end - - invalid_keys = a.keys.select { |k| ![ :fill, :frame, :color, :hollow, :like ].member?(k) } + 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 diff --git a/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym index b3049e1c7..7580c81c6 100644 --- a/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym +++ b/src/plugins/tools/view_25d/lay_plugin/templates/d25.lym @@ -22,34 +22,38 @@ # z(layer, options ...): # # This function generates a extruded view from the given layer. -# The "options" describe the z extension. Valid forms are: +# +# 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 layer is an original layer, the display options (colors, hollow) are taken +# 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 -# initial display options. Use "display(...)" to control the display options. +# colors itself using the application's palette. # -# display(options) { block } -# display(z(...), z(...), ..., options): +# zz(options) { block } +# zz(z(...), z(...), ..., options): # -# Specify the display options to use for the layers generated inside the block -# (which must contains at least one "z" call) or the given z calls: -# -# Options are: -# -# display(..., color: 0xff0000) use bright red for the material color (RGB) -# display(..., frame: 0xff0000) use bright red for the frame color (combine with "fill" for the fill color) -# display(..., fill: 0x00ff00) use bright green for the fill color along (combine with "frame" for the frame color) -# display(..., like: "7/0") borrow style from layout view's style for layer "7/0" +# 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) -display(like: 7/0) do +zz(like: 7/0, name: "Metal") do z(input(7, 0), height: 100.nm) z(input(8, 0), height: 150.nm) end From 33cd9fe68781b70dd821ba62912f114f55df3aee Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 18:48:23 +0100 Subject: [PATCH 091/126] WIP: bug fixes --- src/plugins/tools/view_25d/lay_plugin/layD25View.cc | 12 ++++++++++-- src/plugins/tools/view_25d/lay_plugin/layD25View.h | 2 ++ .../tools/view_25d/lay_plugin/layD25ViewWidget.cc | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 7e9a79b1a..dbd204051 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -38,7 +38,8 @@ const double initial_elevation = 15.0; D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) : lay::Browser (root, view, "d25_view"), - dm_rerun_macro (this, &D25View::rerun_macro) + dm_rerun_macro (this, &D25View::rerun_macro), + dm_fit (this, &D25View::fit) { mp_ui = new Ui::D25View (); mp_ui->setupUi (this); @@ -207,13 +208,20 @@ D25View::finish () 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 (); + // NOTE: needs to be delayed to allow the geometry to be updated before (initial call) + dm_fit (); 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); diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index 5495925f9..9979114f0 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -88,11 +88,13 @@ private slots: 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/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 523788074..b911edca5 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -592,6 +592,15 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double { 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)); + } + // try to establish a default color from the region's origin if required const db::OriginalLayerRegion *original_region = dynamic_cast (data.delegate ()); if (mp_view && m_layers.back ().fill_color [3] == 0.0 && m_layers.back ().frame_color [3] == 0.0) { From dda18e6f53188a08da39b9736f83e6df5921622c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 19:01:16 +0100 Subject: [PATCH 092/126] WIP: Introducing names --- .../lay_plugin/built-in-macros/_d25_engine.rb | 2 +- .../view_25d/lay_plugin/gsiDeclLayD25View.cc | 2 +- .../tools/view_25d/lay_plugin/layD25View.cc | 4 ++-- .../tools/view_25d/lay_plugin/layD25View.h | 2 +- .../view_25d/lay_plugin/layD25ViewWidget.cc | 24 +++++++++++++++---- .../view_25d/lay_plugin/layD25ViewWidget.h | 4 +++- 6 files changed, 27 insertions(+), 11 deletions(-) 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 index 534d72650..54949b9a3 100644 --- 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 @@ -260,7 +260,7 @@ module D25 displays.each do |k,zz| display = zz[0].display - view.open_display(display.frame, display.fill, display.like) + 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 diff --git a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc index 0c771858a..4f614c1ce 100644 --- a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc @@ -65,7 +65,7 @@ Class decl_D25View (QT_EXTERNAL_BASE (QDialog) "lay", "D25View", 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::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"), diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index dbd204051..142c83c6c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -173,10 +173,10 @@ D25View::begin (const std::string &generator) } void -D25View::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like) +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); + mp_ui->d25_view->open_display (frame_color, fill_color, like, name); } } diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index 9979114f0..c891df965 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -65,7 +65,7 @@ public: 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); + 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 finish (); diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index b911edca5..af8cbc9e5 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -555,7 +555,7 @@ static void lp_to_info (const lay::LayerPropertiesNode &lp, D25ViewWidget::Layer } void -D25ViewWidget::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like) +D25ViewWidget::open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like, const std::string *name) { m_vertex_chunks.push_back (triangle_chunks_type ()); m_line_chunks.push_back (line_chunks_type ()); @@ -565,6 +565,14 @@ D25ViewWidget::open_display (const color_t *frame_color, const color_t *fill_col 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 (); + } + info.vertex_chunk = &m_vertex_chunks.back (); info.line_chunk = &m_line_chunks.back (); @@ -601,9 +609,11 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double 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 const db::OriginalLayerRegion *original_region = dynamic_cast (data.delegate ()); - if (mp_view && m_layers.back ().fill_color [3] == 0.0 && m_layers.back ().frame_color [3] == 0.0) { + if (mp_view && info.fill_color [3] == 0.0 && info.frame_color [3] == 0.0) { if (original_region) { @@ -614,7 +624,11 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double 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, m_layers.back ()); + lp_to_info (*lp, info); + if (! info.has_name) { + info.name = like.to_string (); + info.has_name = true; + } break; } } @@ -625,7 +639,7 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double // sequential assignment lay::color_t color = mp_view->get_palette ().luminous_color_by_index (m_layers.size ()); - color_to_gl (color, m_layers.back ().fill_color); + color_to_gl (color, info.fill_color); } @@ -638,7 +652,7 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double void D25ViewWidget::finish () { - // @@@ + // .. nothing yet .. } void diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index 217d231b7..7c091fe7b 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -89,6 +89,8 @@ public: GLfloat fill_color [4]; GLfloat frame_color [4]; bool visible; + std::string name; + bool has_name; }; D25ViewWidget (QWidget *parent); @@ -148,7 +150,7 @@ public: } void clear (); - void open_display (const color_t *frame_color, const color_t *fill_color, const db::LayerProperties *like); + 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 finish (); From 1da12970ab5603ae9c650ee83a609c7dc7eb3473 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 21:11:32 +0100 Subject: [PATCH 093/126] Material list, visibility --- .../tools/view_25d/lay_plugin/D25View.ui | 80 +++++++++++- .../tools/view_25d/lay_plugin/layD25View.cc | 115 +++++++++++++++++- .../tools/view_25d/lay_plugin/layD25View.h | 6 + .../view_25d/lay_plugin/layD25ViewWidget.cc | 11 +- .../view_25d/lay_plugin/layD25ViewWidget.h | 7 ++ 5 files changed, 215 insertions(+), 4 deletions(-) diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index d8e818856..e59d3d4d6 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -424,7 +424,23 @@ - + + + + 0 + 0 + + + + QAbstractItemView::ExtendedSelection + + + 0 + + + true + + @@ -566,6 +582,36 @@ + + + Select All + + + + + Unselect All + + + + + Show All + + + + + Hide All + + + + + Show Selected + + + + + Hide Selected + + @@ -594,5 +640,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/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 142c83c6c..91fb79a5c 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -31,6 +31,8 @@ #include +#include + namespace lay { @@ -61,6 +63,10 @@ D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) 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->rerun_button->setEnabled (false); @@ -71,6 +77,25 @@ D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) 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 () @@ -92,7 +117,7 @@ D25View::cellviews_changed () void D25View::layer_properties_changed (int) { - // @@@ mp_ui->d25_view->refresh_view (); + // .. nothing yet .. } void @@ -196,6 +221,35 @@ D25View::entry (const db::Region &data, double dbu, double zstart, double 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 () { @@ -203,7 +257,19 @@ D25View::finish () mp_ui->d25_view->finish (); - // @@@ install layer properties widget + 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); @@ -298,6 +364,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 () { @@ -366,6 +441,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 c891df965..e28cd447a 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -24,6 +24,7 @@ #define HDR_layD25View #include +#include #include "tlObject.h" #include "layBrowser.h" @@ -84,6 +85,11 @@ private slots: 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; diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index af8cbc9e5..565f5721a 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -481,6 +481,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 *) { @@ -551,7 +560,7 @@ static void lp_to_info (const lay::LayerPropertiesNode &lp, D25ViewWidget::Layer info.frame_color [3] = 0.0f; } - info.visible = lp.visible (true); + info.visible = true; } void diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index 7c091fe7b..a553f8122 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -149,6 +149,13 @@ public: 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 (); From 72233dc678b43e74b69de8af605d147d54f9b1cb Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 23:05:45 +0100 Subject: [PATCH 094/126] Documentation --- src/lay/lay/doc/about/25d_screenshot.png | Bin 76723 -> 158000 bytes src/lay/lay/doc/about/25d_screenshot2.png | Bin 0 -> 74387 bytes src/lay/lay/doc/about/25d_view.xml | 216 ++++++++++++++++------ src/lay/lay/layHelpResources.qrc | 1 + 4 files changed, 158 insertions(+), 59 deletions(-) create mode 100644 src/lay/lay/doc/about/25d_screenshot2.png diff --git a/src/lay/lay/doc/about/25d_screenshot.png b/src/lay/lay/doc/about/25d_screenshot.png index 1796a0573cd6576ba1a109ee75708506cd7d72ed..32c96174e07671154fd31a467ec6c679fc982838 100644 GIT binary patch literal 158000 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

  • p!@J9xhhD7h#xIU&Pg3fljUHeyg0`J%(%XnfCR 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 PUZsEAM7vJ&&XfNK#(@#D literal 76723 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 z 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 Pz<

    - 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 (polygon) DRC layer. "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/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 From c9727c2e6074383fc3a9e73a4deaffd5e88b0c06 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 6 Mar 2022 23:10:34 +0100 Subject: [PATCH 095/126] Polishing --- src/plugins/tools/view_25d/lay_plugin/D25View.ui | 6 +++++- .../view_25d/lay_plugin/built-in-macros/_d25_engine.rb | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index e59d3d4d6..9fa88b45a 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -376,6 +376,9 @@ + + 2 + @@ -510,7 +513,8 @@ - In order to use the 2.5d view you will need a script which generates the view. + 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 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 index 54949b9a3..e1f1a9654 100644 --- 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 @@ -108,6 +108,9 @@ module D25 raise("Duplicate layer argument") end layer = a + if ! layer.data.is_a?(RBA::Region) + raise("Expected a polygon layer") + end elsif a.is_a?(1.class) || a.is_a?(1.0.class) From 553d973b69690402218f174ffef7c0de50398a7a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Mar 2022 21:21:43 +0100 Subject: [PATCH 096/126] Edge and edge pair support --- src/lay/lay/doc/about/25d_view.xml | 2 +- .../lay_plugin/built-in-macros/_d25_engine.rb | 4 +- .../view_25d/lay_plugin/gsiDeclLayD25View.cc | 6 + .../tools/view_25d/lay_plugin/layD25View.cc | 16 +++ .../tools/view_25d/lay_plugin/layD25View.h | 4 + .../view_25d/lay_plugin/layD25ViewWidget.cc | 128 ++++++++++++------ .../view_25d/lay_plugin/layD25ViewWidget.h | 10 +- 7 files changed, 125 insertions(+), 45 deletions(-) diff --git a/src/lay/lay/doc/about/25d_view.xml b/src/lay/lay/doc/about/25d_view.xml index 48a399e15..22438889e 100644 --- a/src/lay/lay/doc/about/25d_view.xml +++ b/src/lay/lay/doc/about/25d_view.xml @@ -82,7 +82,7 @@ z(input(2, 0), height: 300.nm) # adds layer 2/0 for the next 30
    • z(layer [, options])

      -

      Extrudes the given layer. "layer" is a (polygon) DRC layer. "options" declare the z extrusion and display parameters.

      +

      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. 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 index e1f1a9654..f1114cc0b 100644 --- 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 @@ -108,8 +108,8 @@ module D25 raise("Duplicate layer argument") end layer = a - if ! layer.data.is_a?(RBA::Region) - raise("Expected a polygon layer") + 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) diff --git a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc index 4f614c1ce..ea7bc880e 100644 --- a/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/gsiDeclLayD25View.cc @@ -71,6 +71,12 @@ Class decl_D25View (QT_EXTERNAL_BASE (QDialog) "lay", "D25View", 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" ) + diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index 91fb79a5c..e01ad1507 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -221,6 +221,22 @@ D25View::entry (const db::Region &data, double dbu, double zstart, double 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) { diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.h b/src/plugins/tools/view_25d/lay_plugin/layD25View.h index e28cd447a..724c14e25 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.h @@ -43,6 +43,8 @@ namespace lay namespace db { class Region; + class Edges; + class EdgePairs; struct LayerProperties; } @@ -69,6 +71,8 @@ public: 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: diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 565f5721a..131119032 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -31,7 +31,11 @@ #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" @@ -605,7 +609,7 @@ D25ViewWidget::close_display () } void -D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double zstop) +D25ViewWidget::enter (const db::RecursiveShapeIterator *iter, double zstart, double zstop) { tl_assert (m_display_open); @@ -621,12 +625,10 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double LayerInfo &info = m_layers.back (); // try to establish a default color from the region's origin if required - const db::OriginalLayerRegion *original_region = dynamic_cast (data.delegate ()); if (mp_view && info.fill_color [3] == 0.0 && info.frame_color [3] == 0.0) { - if (original_region) { + if (iter) { - const db::RecursiveShapeIterator *iter = original_region->iter (); if (iter && iter->layout () && iter->layout ()->is_valid_layer (iter->layer ())) { db::LayerProperties like = iter->layout ()->get_properties (iter->layer ()); @@ -653,11 +655,56 @@ D25ViewWidget::entry (const db::Region &data, double dbu, double zstart, double } } +} + +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 () { @@ -750,42 +797,6 @@ D25ViewWidget::render_wall (D25ViewWidget::triangle_chunks_type &chunks, D25View line_chunks.add (edge.p1 ().x () * dbu, zstop, edge.p1 ().y () * dbu); } -// @@@ -#if 0 -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) -{ - 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 ()); - - poly_heap.clear (); - db::clip_poly (polygon, 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); - - for (db::Polygon::polygon_edge_iterator e = p->begin_edge (); ! e.at_end (); ++e) { - render_wall (chunks, line_chunks, *e, layout.dbu (), zstart, zstop); - } - - } - - } -} -#endif - void 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) { @@ -811,6 +822,43 @@ D25ViewWidget::render_region (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) { diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index a553f8122..843a41681 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -43,6 +43,9 @@ namespace db { class Region; + class Edges; + class EdgePairs; + class RecursiveShapeIterator; struct LayerProperties; } @@ -160,6 +163,8 @@ public: 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: @@ -200,12 +205,13 @@ private: 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 (); + void enter (const db::RecursiveShapeIterator *iter, double zstart, double zstop); }; } From a0cbc2355aaaeb96f52c68674c7f53da87bc41dd Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Mar 2022 21:49:48 +0100 Subject: [PATCH 097/126] Some cleanup --- src/gtfui/gtfUiDialog.cc | 2 +- src/plugins/tools/view_25d/lay_plugin/D25View.ui | 3 +++ src/plugins/tools/view_25d/lay_plugin/layD25View.cc | 6 +++--- src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc | 1 - src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h | 2 -- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gtfui/gtfUiDialog.cc b/src/gtfui/gtfUiDialog.cc index 395dc2eec..504760616 100644 --- a/src/gtfui/gtfUiDialog.cc +++ b/src/gtfui/gtfUiDialog.cc @@ -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/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index 9fa88b45a..a38817f62 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -61,6 +61,9 @@ + + false + Execute script again diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc index e01ad1507..019dedecd 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25View.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25View.cc @@ -68,9 +68,8 @@ D25View::D25View (lay::Dispatcher *root, lay::LayoutView *view) 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->rerun_button->setEnabled (false); - 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); @@ -193,7 +192,6 @@ D25View::begin (const std::string &generator) if (! mp_ui->d25_view->has_error ()) { m_generator = generator; - mp_ui->rerun_button->setEnabled (true); } } @@ -293,6 +291,7 @@ D25View::finish () // 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); } @@ -314,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 diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc index 131119032..94e7f2705 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.cc @@ -517,7 +517,6 @@ void D25ViewWidget::clear () { m_layers.clear (); - m_layer_to_info.clear (); m_vertex_chunks.clear (); m_line_chunks.clear (); diff --git a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h index 843a41681..af5dd0a54 100644 --- a/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h +++ b/src/plugins/tools/view_25d/lay_plugin/layD25ViewWidget.h @@ -107,7 +107,6 @@ public: void mouseMoveEvent (QMouseEvent *event); void attach_view(lay::LayoutView *view); - // @@@ void refresh_view (); QVector3D hit_point_with_scene(const QVector3D &line_dir); void refresh (); @@ -198,7 +197,6 @@ private: std::list m_line_chunks; std::vector m_layers; - std::multimap, size_t> m_layer_to_info; // @@@ void initializeGL (); void paintGL (); From 156b9137ab0bc9ad705d1a688e03bc9129a5ac51 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Mar 2022 21:53:55 +0100 Subject: [PATCH 098/126] Build patch to allow building without qxmlpattern with -without-qt-xml --- src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc | 1 - src/klayout.pri | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc index c534efbc4..6954d7252 100644 --- a/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc +++ b/src/gsiqt/qt5/QtCore/gsiDeclQtCoreAdd.cc @@ -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/klayout.pri b/src/klayout.pri index 5dcc9b30f..f3fcea4ef 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -186,10 +186,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 @@ -207,6 +203,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 { From 8b0dd38e97ede6f53d566905607b534e9fdb1964 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Mar 2022 22:07:51 +0100 Subject: [PATCH 099/126] Fixed use of HTML in netlist browser --- src/laybasic/laybasic/layNetlistBrowserPage.cc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/laybasic/laybasic/layNetlistBrowserPage.cc b/src/laybasic/laybasic/layNetlistBrowserPage.cc index 17db0cfb9..f69b537d7 100644 --- a/src/laybasic/laybasic/layNetlistBrowserPage.cc +++ b/src/laybasic/laybasic/layNetlistBrowserPage.cc @@ -168,22 +168,16 @@ NetlistBrowserPage::NetlistBrowserPage (QWidget * /*parent*/) for (int i = 0; i < 4; ++i) { delegate = new lay::HTMLItemDelegate (this); delegate->set_text_margin (2); - delegate->set_plain_text (true); - /* currently, HTML is not used: delegate->set_anchors_clickable (true); connect (delegate, SIGNAL (anchor_clicked (const QString &)), this, SLOT (anchor_clicked (const QString &))); - */ directory_tree->setItemDelegateForColumn (i, delegate); } for (int i = 0; i < 2; ++i) { delegate = new lay::HTMLItemDelegate (this); delegate->set_text_margin (2); - delegate->set_plain_text (true); - /* currently, HTML is not used: delegate->set_anchors_clickable (true); connect (delegate, SIGNAL (anchor_clicked (const QString &)), this, SLOT (anchor_clicked (const QString &))); - */ hierarchy_tree->setItemDelegateForColumn (i, delegate); } From b9a9422905debb635c01403cd7167e6c73832c48 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Mar 2022 22:18:09 +0100 Subject: [PATCH 100/126] LEF/DEF paths for buddies are relative to cwd --- .../streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc index d93afec52..1cce6e831 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFPlugin.cc @@ -116,7 +116,12 @@ LEFDEFReader::read_lefdef (db::Layout &layout, const db::LoadLayoutOptions &opti effective_options = *lefdef_options; } - db::LEFDEFReaderState state (&effective_options, layout, effective_options.paths_relative_to_cwd () ? std::string () : 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); From c5da93756a2ed4ef6c314413e9db560bc6650434 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 8 Mar 2022 16:31:53 +0100 Subject: [PATCH 101/126] Fixed build with Qt bindings (maybe) --- src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 aeac20510..d0051dd62 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,9 @@ DESTDIR = $$OUT_PWD/../../../../lay_plugins include($$PWD/../../../lay_plugin.pri) -INCLUDEPATH += $$RDB_INC $$ANT_INC -DEPENDPATH += $$RDB_INC $$ANT_INC -LIBS += -L$$DESTDIR/.. -lklayout_rdb -lklayout_ant +INCLUDEPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC +DEPENDPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC +LIBS += -L$$DESTDIR/.. -lklayout_qtbasic -lklayout_rdb -lklayout_ant HEADERS = \ layD25View.h \ From 3b2db3b379798b8c197a96c3ad35ef76e1e65eb4 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 9 Mar 2022 23:00:24 +0100 Subject: [PATCH 102/126] Fixed build without Qt bindings --- src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 d0051dd62..220aa3cf8 100644 --- a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro +++ b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro @@ -6,7 +6,11 @@ include($$PWD/../../../lay_plugin.pri) INCLUDEPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC DEPENDPATH += $$RDB_INC $$ANT_INC $$QTBASIC_INC -LIBS += -L$$DESTDIR/.. -lklayout_qtbasic -lklayout_rdb -lklayout_ant + +LIBS += -L$$DESTDIR/.. -lklayout_rdb -lklayout_ant +equals(HAVE_QTBINDINGS, "1") { + LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtCore +} HEADERS = \ layD25View.h \ From 0e1e4781a83f027412741a1c7c66268156b44c6c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 9 Mar 2022 23:00:39 +0100 Subject: [PATCH 103/126] Fixed scale & snap bug in non-editable mode --- src/db/db/dbLayoutUtils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/db/db/dbLayoutUtils.cc b/src/db/db/dbLayoutUtils.cc index 82ead48ce..dea4ab705 100644 --- a/src/db/db/dbLayoutUtils.cc +++ b/src/db/db/dbLayoutUtils.cc @@ -520,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 new_shapes; + 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) { From b09f79b6819511407721c544c063bcc352f83c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Thu, 10 Mar 2022 19:15:35 +0100 Subject: [PATCH 104/126] Issue 1017 (#1023) * Write polygons as single POLYLINE or LWPOLYLINE to DXF * DXF writer creates simple polygons from ones with holes in POLYLINE and LWPOLYLINE mode, added tests --- .../streamers/dxf/db_plugin/dbDXFWriter.cc | 85 +++-- .../dxf/unit_tests/dbDXFWriterTests.cc | 247 +++++++++++++++ .../streamers/dxf/unit_tests/unit_tests.pro | 3 +- testdata/dxf/dxf1.gds | Bin 0 -> 186 bytes testdata/dxf/dxf1a_au.dxf | 110 +++++++ testdata/dxf/dxf1b_au.dxf | 82 +++++ testdata/dxf/dxf1c_au.dxf | 88 ++++++ testdata/dxf/dxf1d_au.dxf | 88 ++++++ testdata/dxf/dxf1e_au.dxf | 132 ++++++++ testdata/dxf/dxf2.gds | Bin 0 -> 168 bytes testdata/dxf/dxf2_au.dxf | 86 ++++++ testdata/dxf/dxf3.gds | Bin 0 -> 302 bytes testdata/dxf/dxf3_au.dxf | 218 +++++++++++++ testdata/dxf/dxf4.gds | Bin 0 -> 234 bytes testdata/dxf/dxf4a_au.dxf | 254 +++++++++++++++ testdata/dxf/dxf4b_au.dxf | 170 ++++++++++ testdata/dxf/dxf4c_au.dxf | 188 +++++++++++ testdata/dxf/dxf4d_au.dxf | 188 +++++++++++ testdata/dxf/dxf4e_au.dxf | 292 ++++++++++++++++++ 19 files changed, 2183 insertions(+), 48 deletions(-) create mode 100644 src/plugins/streamers/dxf/unit_tests/dbDXFWriterTests.cc create mode 100644 testdata/dxf/dxf1.gds create mode 100644 testdata/dxf/dxf1a_au.dxf create mode 100644 testdata/dxf/dxf1b_au.dxf create mode 100644 testdata/dxf/dxf1c_au.dxf create mode 100644 testdata/dxf/dxf1d_au.dxf create mode 100644 testdata/dxf/dxf1e_au.dxf create mode 100644 testdata/dxf/dxf2.gds create mode 100644 testdata/dxf/dxf2_au.dxf create mode 100644 testdata/dxf/dxf3.gds create mode 100644 testdata/dxf/dxf3_au.dxf create mode 100644 testdata/dxf/dxf4.gds create mode 100644 testdata/dxf/dxf4a_au.dxf create mode 100644 testdata/dxf/dxf4b_au.dxf create mode 100644 testdata/dxf/dxf4c_au.dxf create mode 100644 testdata/dxf/dxf4d_au.dxf create mode 100644 testdata/dxf/dxf4e_au.dxf diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc index f418a614f..0280a5c99 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFWriter.cc @@ -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/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/testdata/dxf/dxf1.gds b/testdata/dxf/dxf1.gds new file mode 100644 index 0000000000000000000000000000000000000000..116d49af414aee8e4602c70a52f76e28c317bb31 GIT binary patch literal 186 zcmZQzV_;&6V31*CVt>ZK%)rSY%Am=hh0JE)U}E#}bYfr-VP>^+>@@d2w)}&o%MSeo zv!g;7WLWX&V`B^P4`5(m;b353<7HxCWMJcCVqjpf5nu+ANPuwy0|U?v3^1By0|Nu| TC!j_sjii)C5Gc$J#4HQ|_~{is literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8930f2d65e057b6854302a01eb79c7be38123606 GIT binary patch literal 168 zcmZQzV_;&6V31*CVt>ZK%)rSY%Am!-j?8A@U}E#}bYfr-VP>^+>@@d2w)}&o%MSeo zv!g;7WLWX&V`B^P4`5(m;bdT7<7HxCWMJcCVgRxgK_mx1GmuPSkP!gUCm@*l1%d{$ NSpZK%)rSY%Amu*jm&1?U}E#}bYfr-VP>^+>@@d2w)}&o%MSeo zv!g;7WLR6a}?~Lzszy3FvPbkRI+G V3=FIl5SrHmq5{Z=xq^j-0RV;<8ZK%)rSY%Amtwfy`#$U}E#}bYfr-VP>^+>@@d2w)}&o%MSeo zv!g;7WLWX&V`B^P4`5(m;b353<7HxCWMJcCVqjp<5nu+ANPx`&r~nBgNwEkb^fMvr fXPm&mz}N=FK$>L(5br|JFmWIa*3S- Date: Mon, 14 Mar 2022 17:49:46 +0100 Subject: [PATCH 105/126] Trying to fix Windows builds --- src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro | 3 +++ 1 file changed, 3 insertions(+) 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 220aa3cf8..b42f2a01d 100644 --- a/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro +++ b/src/plugins/tools/view_25d/lay_plugin/lay_plugin.pro @@ -10,6 +10,9 @@ 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 = \ From e9c5782c5144eb0c0e9821473d0042c8f0cda67b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 15 Mar 2022 21:13:57 +0100 Subject: [PATCH 106/126] Issue 1011 (#1027) - DRC violation on texts in deep mode * Fixed issue-1011 by using single-point polygons for texts in deep mode. Tests need fixing. * Updated tests (text become a single point) * Added test for issue-1011 --- src/db/db/dbNetShape.cc | 2 +- src/drc/drc/built-in-macros/_drc_engine.rb | 2 +- src/drc/unit_tests/drcSimpleTests.cc | 6 ++ src/lvs/unit_tests/lvsTests.cc | 4 +- testdata/drc/drcSimpleTests_54.drc | 18 ++++ testdata/drc/drcSimpleTests_54.gds | Bin 0 -> 413 bytes testdata/drc/drcSimpleTests_au54.gds | Bin 0 -> 466 bytes testdata/lvs/bbdevices1.lvsdb | 44 ++++----- testdata/lvs/bbdevices1b.lvsdb | 8 +- testdata/lvs/bbdevices2.lvsdb | 44 ++++----- testdata/lvs/bbdevices2b.lvsdb | 8 +- testdata/lvs/bbdevices3.lvsdb | 44 ++++----- testdata/lvs/bbdevices3b.lvsdb | 8 +- testdata/lvs/bbdevices4.lvsdb | 44 ++++----- testdata/lvs/bbdevices4b.lvsdb | 8 +- testdata/lvs/bbdevices5.lvsdb | 44 ++++----- testdata/lvs/bbdevices5b.lvsdb | 8 +- testdata/lvs/bbdevices6.lvsdb | 44 ++++----- testdata/lvs/bbdevices6b.lvsdb | 8 +- testdata/lvs/blackbox1.lvsdb | 32 +++---- testdata/lvs/blackbox2.lvsdb | 32 +++---- testdata/lvs/blackbox3.lvsdb | 30 +++--- testdata/lvs/blackbox4.lvsdb | 30 +++--- testdata/lvs/blackbox5.lvsdb | 30 +++--- testdata/lvs/double_height.lvsdb | 22 ++--- testdata/lvs/double_height2.lvsdb | 34 +++---- testdata/lvs/floating.lvsdb | 32 +++---- testdata/lvs/invchain_cheat.lvsdb | 28 +++--- testdata/lvs/ringo_device_subcircuits.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_device_subcircuits.lvsdb.2 | 72 +++++++------- testdata/lvs/ringo_layout_var.lvsdb.1 | 88 +++++++++--------- testdata/lvs/ringo_layout_var.lvsdb.2 | 88 +++++++++--------- testdata/lvs/ringo_mixed_hierarchy.lvsdb | 64 ++++++------- testdata/lvs/ringo_simple.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple.lvsdb.2 | 72 +++++++------- testdata/lvs/ringo_simple_blackboxing.lvsdb | 36 +++---- .../lvs/ringo_simple_blackboxing_netter.lvsdb | 36 +++---- testdata/lvs/ringo_simple_compare2.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple_compare2.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_device_scaling.lvsdb.1 | 72 +++++++------- .../lvs/ringo_simple_device_scaling.lvsdb.2 | 72 +++++++------- testdata/lvs/ringo_simple_dmos.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple_dmos.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_dummy_device.lvsdb.1 | 72 +++++++------- .../lvs/ringo_simple_dummy_device.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_dummy_device.lvsdb.3 | 72 +++++++------- .../ringo_simple_implicit_connections.lvsdb.1 | 88 +++++++++--------- .../ringo_simple_implicit_connections.lvsdb.2 | 88 +++++++++--------- testdata/lvs/ringo_simple_io.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple_io.lvsdb.2 | 72 +++++++------- testdata/lvs/ringo_simple_io2.l2n.1 | 72 +++++++------- testdata/lvs/ringo_simple_io2.l2n.2 | 72 +++++++------- testdata/lvs/ringo_simple_io2.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple_io2.lvsdb.2 | 72 +++++++------- ...simple_net_and_circuit_equivalence.lvsdb.1 | 72 +++++++------- ...simple_net_and_circuit_equivalence.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_pin_swapping.lvsdb.1 | 72 +++++++------- .../lvs/ringo_simple_pin_swapping.lvsdb.2 | 72 +++++++------- .../ringo_simple_same_device_classes.lvsdb.1 | 72 +++++++------- .../ringo_simple_same_device_classes.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_simplification.lvsdb.1 | 88 +++++++++--------- .../lvs/ringo_simple_simplification.lvsdb.2 | 88 +++++++++--------- .../lvs/ringo_simple_simplification.lvsdb.3 | 88 +++++++++--------- ...o_simple_simplification_with_align.lvsdb.1 | 88 +++++++++--------- ...o_simple_simplification_with_align.lvsdb.2 | 88 +++++++++--------- ...o_simple_simplification_with_align.lvsdb.3 | 88 +++++++++--------- testdata/lvs/ringo_simple_with_tol.lvsdb.1 | 72 +++++++------- testdata/lvs/ringo_simple_with_tol.lvsdb.2 | 72 +++++++------- .../lvs/ringo_simple_with_tol_early.lvsdb.1 | 72 +++++++------- .../lvs/ringo_simple_with_tol_early.lvsdb.2 | 72 +++++++------- 70 files changed, 1871 insertions(+), 1847 deletions(-) create mode 100644 testdata/drc/drcSimpleTests_54.drc create mode 100644 testdata/drc/drcSimpleTests_54.gds create mode 100644 testdata/drc/drcSimpleTests_au54.gds diff --git a/src/db/db/dbNetShape.cc b/src/db/db/dbNetShape.cc index 161f1b9e0..4c20d296a 100644 --- a/src/db/db/dbNetShape.cc +++ b/src/db/db/dbNetShape.cc @@ -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/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 9bf0556a0..52f8d8f23 100644 --- a/src/drc/drc/built-in-macros/_drc_engine.rb +++ b/src/drc/drc/built-in-macros/_drc_engine.rb @@ -2730,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/unit_tests/drcSimpleTests.cc b/src/drc/unit_tests/drcSimpleTests.cc index 23091b46c..eed4957f8 100644 --- a/src/drc/unit_tests/drcSimpleTests.cc +++ b/src/drc/unit_tests/drcSimpleTests.cc @@ -1312,3 +1312,9 @@ TEST(53_cellWiseExtentWithClip) { run_test (_this, "53", false); } + +TEST(54_issue1011) +{ + run_test (_this, "54", false); +} + diff --git a/src/lvs/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index aecfa796d..4dfdde11b 100644 --- a/src/lvs/unit_tests/lvsTests.cc +++ b/src/lvs/unit_tests/lvsTests.cc @@ -152,7 +152,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,7 +170,7 @@ 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) 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 0000000000000000000000000000000000000000..5cd83d00240d4bebe637fffdaaaa91aae51aa74d GIT binary patch literal 413 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>Fauf4V1hlkG$}bXCx?|YB(=CiAtbe; dgqKm|FeA`*UIxJfjKawbj0{W-BN;F-000dLqaXkP literal 0 HcmV?d00001 diff --git a/testdata/drc/drcSimpleTests_au54.gds b/testdata/drc/drcSimpleTests_au54.gds new file mode 100644 index 0000000000000000000000000000000000000000..6a3116281c2f94fbaf358ec73a983c377b434511 GIT binary patch literal 466 zcmZQzV_;&6V31*CVt>ZK%)rOM$so*NjLc@>U}E#}bYfr-VP>^+>@@d2w)~By%MSeo zv!enSWLRT#j0QEB>V') - 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.lvsdb.1 b/testdata/lvs/ringo_simple_compare2.lvsdb.1 index b4494918c..aab318d16 100644 --- a/testdata/lvs/ringo_simple_compare2.lvsdb.1 +++ b/testdata/lvs/ringo_simple_compare2.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_compare2.lvsdb.2 b/testdata/lvs/ringo_simple_compare2.lvsdb.2 index b585c4ca4..3a8a977fb 100644 --- a/testdata/lvs/ringo_simple_compare2.lvsdb.2 +++ b/testdata/lvs/ringo_simple_compare2.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_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)) ) From 7d78194cf0b2ef955973d4ce5a487ca981e82565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Tue, 15 Mar 2022 21:14:32 +0100 Subject: [PATCH 107/126] Issue 1021 (#1026) - LVS match issue on SRAM sample * First step for solution: Problem was: the ambiguity resolver was making decisions which later resulted in a name conflict. Later on, another branch of the backtracking algorithm came across the same situation but decided based on names, creating an conflict. First part of the solution is to establish the backtracking information during ambiguity resolution and using that rather than an alternative branch later on. This avoids this conflict, but does not favor names as mandated by the "use_names" flag. This will be the second step of the solution. * Bugfixed solution (partially) * Introducing third pass in netlist compare The second pass is "ambiguity resolution by name" and is skipped if "consider_net_names" is false. The third pass then is ignoring the names. * Bugfix * Comment fixed, test updates * Added tests * Added test data variant for CentOS 8 --- src/db/db/dbNetlistCompare.cc | 17 +- src/db/db/dbNetlistCompareCore.cc | 126 +- src/db/unit_tests/dbNetlistCompareTests.cc | 94 +- src/lvs/unit_tests/lvsTests.cc | 23 +- testdata/lvs/SP6TArray_2X4.gds | Bin 0 -> 10628 bytes testdata/lvs/SP6TArray_2X4.lvs | 206 ++ testdata/lvs/SP6TArray_2X4.spi | 25 + testdata/lvs/test_22a.cir | 161 ++ testdata/lvs/test_22a.lvsdb | 2590 ++++++++++++++++++++ testdata/lvs/test_22b.cir | 161 ++ testdata/lvs/test_22b.lvsdb | 2590 ++++++++++++++++++++ testdata/lvs/test_22c.cir | 97 + testdata/lvs/test_22c.lvsdb.1 | 952 +++++++ testdata/lvs/test_22c.lvsdb.2 | 952 +++++++ testdata/lvs/test_22d.cir | 97 + testdata/lvs/test_22d.lvsdb.1 | 952 +++++++ testdata/lvs/test_22d.lvsdb.2 | 952 +++++++ 17 files changed, 9923 insertions(+), 72 deletions(-) create mode 100644 testdata/lvs/SP6TArray_2X4.gds create mode 100644 testdata/lvs/SP6TArray_2X4.lvs create mode 100644 testdata/lvs/SP6TArray_2X4.spi create mode 100644 testdata/lvs/test_22a.cir create mode 100644 testdata/lvs/test_22a.lvsdb create mode 100644 testdata/lvs/test_22b.cir create mode 100644 testdata/lvs/test_22b.lvsdb create mode 100644 testdata/lvs/test_22c.cir create mode 100644 testdata/lvs/test_22c.lvsdb.1 create mode 100644 testdata/lvs/test_22c.lvsdb.2 create mode 100644 testdata/lvs/test_22d.cir create mode 100644 testdata/lvs/test_22d.lvsdb.1 create mode 100644 testdata/lvs/test_22d.lvsdb.2 diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 406a14d4e..849854db3 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -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/dbNetlistCompareCore.cc b/src/db/db/dbNetlistCompareCore.cc index 9ffdd6359..e2313c2cc 100644 --- a/src/db/db/dbNetlistCompareCore.cc +++ b/src/db/db/dbNetlistCompareCore.cc @@ -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/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index b5072e54e..82e9d28b1 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -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/lvs/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index 4dfdde11b..be360ec58 100644 --- a/src/lvs/unit_tests/lvsTests.cc +++ b/src/lvs/unit_tests/lvsTests.cc @@ -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); @@ -177,3 +178,21 @@ 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/testdata/lvs/SP6TArray_2X4.gds b/testdata/lvs/SP6TArray_2X4.gds new file mode 100644 index 0000000000000000000000000000000000000000..8b2143f719a9549c2f4f36db06126dd1c35418fe GIT binary patch literal 10628 zcmeI1ZHQde8OP7unYnvscC+1$NvtMdj0O}IqDg5`q$Iw8Vm`DOK@(qBg@U04ElO!> zC5m9R-vq@M@QWHygOx@D`oRySP*Fn#>kGbovIR>qv_g&8Z2$lBod4W&cka16v)f9c zy)gWCo_qf1IrllwdCr})E_YdWmD|wDCjR8wuIKu0yDQ?qU6JLxF1ygVHSO;AcHY1J z^4~pk?7WMQYGey}+*O_%Gy>tC5O+R_H=|$Q5SElsvg)95O*#6kL;$G)O*}-A|Gb)*1*b>CO?uqB3$wc2IC-b}7iI5nPmQ1csW(zb|Dx82>rZ^*gYi5?wNf4?lEiEJ!ZQ6kD}}eeaOmX`w#kY{D*8sewA6Bo$g%s z3})ec$ili-`AxnRa({l`^*^f2#$SB4cDTkdd(p*cvPOu}tvH%HL$+T)eV6s=9uk>+ zDrU1)GP?td@;GM5Q|&yH{k0yjcC81fv%f|5-`-;Vx3{QWvOilb_be=&cqFv_A)e^x z$Q)1E$x3|md_F$Kgujn1!*qN;>U%BOoAl;);-Im&3(xckw1Kiu98CM~KII(lJCZv3 z7iCZD;ddM6bB}RyH?%*%Y73OTzo+8=LO;KAmLCP;o&6no0k)q2-!CaU7|&;%Q zLF|zu}<2TCQ5esJI-zC&nM{H|jZlw&S>| z8&LL!@psRHW(V}-XW-irW#5q+zs*tqfN^rp`MDEi?;mK^7n{ReA2od;%Dy?JXZ~RQ zAnqjnGJizb)Ba6YYz~B9>gnH8_6Gl1VPnq<8$0vB=l+YbdnV_v{a3XA5OWT;?n5p; zTvB#0sqemRemHORo9`E8AM$@u{5Hh(lYMFV-$VW8`VoCTKZl%PUV}cLabJ`UjK^2$ zpLxl4B=d~g0hw>K2huO|SClT%|33c?|19e7JNB$T-}W*e@Ev3x^v*8n^8xcKPP}9D zF4E2zis~2llh5bpAHI|atv75etv9T%L0&LFut)g(@U$@oeX@T)zv$o3FLZu>Mb7sT z^OGMjzxn=%Ug!PP^>6zx>;GQU_*_JvM%kP6jGw>n*B^CUH%8f;_1@QmrpfNM{1;uY zgTv$Z`ycuqfB&-l9PFR$!}7rP9gAo2zU-b2{zJZ@57j*}QU4bC5BWHH{i^7P@(u5D zzW(st3}XuS6XUnIxA2C|c~IO%*}}17% zq{qCS=kJ52^?L{UDUQnCq_;Nx2aS`PtPfH4el`CV`N#YrPwAgJ`WIzy(zpMC*yE?F z=QGIvU*T_2_Swqw+xy!ZcMad~C+0E7Ul==2V-E3M?EVIQJ%`#MUSRFIfxWlz9kp3h zKVUrH6@OflY)4Yp!ZV8#8&Hq%U1U!9dN1B*?ejqOlkm5T&)4diFOt66uS7)Nc7BiV zB7OhN?vsA3rjMWJ+VK8t{WE`aXfVds@$h#br*__SMcvCJDJjByubAKLDTVhsPEwv0y^D~ z$G^xw<}}2phgefD%8q%C^*iG6pZEpzU%(eQg*~v}Eh&2*@(n-Xn$Gi9+j-v3+itt@ zr`K=2>Re2IADyi(Px8!&HIoD?@v_S*P`Qy@OM;xtzLBE90IxQVhWep7?|D^HPlHj4Zm>1-53 zWxFNMM%Nx1tsQD-pJ%9h&$$+B44Y6VHNxp_q2;-18P<~Rk^Y<=_2!V}5s5MQ6G4%8 z!u>dxDtev-@*=6@iJ&MuIIItIv26cAKaT$pDU83IOP&Z~E)moD;h0uh@>CElr|eX) zjDLt~@??T5VhU$VZ2RkdV&4f#G&yV2?^d;Bl2uc5y8Q80LstU#0BE-5=0ucb}?mC-Z zSfXkU^oUlp>rv0DP0C(dwZlqfgta@d>Ta5`U5k``oL!4LR$X#&)eW;BRs9vj_ z6(_|_l%1?piXs1slj0`IUK_u#QkNaSNUu04Zldf>yB70vlwSoQkC)ty*bb|2q;{k2 zTI})vyB6~#RQ0%)RCc}9I1%DSvI3s;cuCp8q<$Sv?s$>ZpZsx2*}-X+O$av|Py4*m>!5AOtHw7h?#*1E OWOVs;i8riH$NdZ44X11X literal 0 HcmV?d00001 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/test_22a.cir b/testdata/lvs/test_22a.cir new file mode 100644 index 000000000..ab888a3c8 --- /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 11 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 11 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 11 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 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 $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 19 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 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 $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model +M$18 6 31 38 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 37 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 38 40 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 19 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 23 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 19 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 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model +M$26 8 31 41 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 40 38 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 41 50 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 23 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 23 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 50 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 50 41 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 11 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 11 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 19 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 19 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 23 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 23 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 37 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 37 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 40 38 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 40 38 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 50 41 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 50 41 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 b/testdata/lvs/test_22a.lvsdb new file mode 100644 index 000000000..071ed5e11 --- /dev/null +++ b/testdata/lvs/test_22a.lvsdb @@ -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 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (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 (-4521 -131) (2 2)) + rect(l21 (-4446 -5636) (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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 + rect(l2 (3625 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(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(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 (-1 -131) (2 2)) + rect(l14 (-1 -131) (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) (8720 260)) + rect(l13 (-8720 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (8720 260)) + rect(l14 (-8720 -260) (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(l14 (-1 -131) (2 2)) + rect(l14 (-1 -131) (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 (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 (-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(38 + 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(39 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(40 + 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(41 + 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(42 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + 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 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (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 (-2341 -131) (2 2)) + rect(l14 (2019 -131) (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 37) + 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 37) + 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 38) + 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 37) + 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 38) + terminal(G 40) + 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 40) + 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 41) + 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 40) + terminal(G 38) + 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 41) + 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 41) + 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 37) + 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 37) + 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 40) + terminal(D 38) + 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 40) + terminal(G 38) + 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 41) + 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 41) + 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(37 20 match) + net(35 19 match) + net(19 22 warning) + net(20 21 warning) + net(40 24 match) + net(38 23 match) + net(23 26 warning) + net(24 25 warning) + net(50 28 match) + net(41 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..ab888a3c8 --- /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 11 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 11 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 11 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 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 $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 19 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 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 $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model +M$18 6 31 38 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 37 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 38 40 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 19 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 23 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 19 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 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model +M$26 8 31 41 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 40 38 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 41 50 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 23 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 23 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 50 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 50 41 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 11 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 11 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 19 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 19 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 23 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 23 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 37 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 37 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 40 38 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 40 38 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 50 41 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 50 41 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 b/testdata/lvs/test_22b.lvsdb new file mode 100644 index 000000000..f3ced4995 --- /dev/null +++ b/testdata/lvs/test_22b.lvsdb @@ -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 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (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 (-4521 -131) (2 2)) + rect(l21 (-4446 -5636) (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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 (-116 -2776) (2 2)) + rect(l21 (-26 -86) (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 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 (-116 -2776) (2 2)) + rect(l21 (-146 -86) (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 + rect(l2 (3625 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(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(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 (-1 -131) (2 2)) + rect(l14 (-1 -131) (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) (8720 260)) + rect(l13 (-8720 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (4360 260)) + rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (0 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l14 (-8720 -260) (8720 260)) + rect(l14 (-8720 -260) (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(l14 (-1 -131) (2 2)) + rect(l14 (-1 -131) (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 (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 (-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(38 + 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(39 + rect(l7 (5300 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + net(40 + 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(41 + 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(42 + rect(l7 (7480 3965) (950 150)) + rect(l7 (-1280 -150) (330 270)) + rect(l7 (950 -960) (150 2010)) + ) + 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 + rect(l7 (4650 4445) (950 150)) + rect(l7 (-1100 -1320) (150 2010)) + rect(l7 (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 (-2341 -131) (2 2)) + rect(l14 (2019 -131) (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 37) + 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 37) + 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 38) + 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 37) + 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 38) + terminal(G 40) + 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 40) + 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 41) + 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 40) + terminal(G 38) + 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 41) + 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 41) + 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 37) + 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 37) + 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 40) + terminal(D 38) + 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 40) + terminal(G 38) + 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 41) + 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 41) + 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(37 19 match) + net(20 22 match) + net(19 21 match) + net(38 24 match) + net(40 23 match) + net(24 26 match) + net(23 25 match) + net(41 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_22c.cir b/testdata/lvs/test_22c.cir new file mode 100644 index 000000000..f8308ad6d --- /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 1.575,0.215 sky130_fd_pr__nfet_01v8__model +M$1 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 $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model +M$2 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 $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model +M$3 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 $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model +M$4 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 $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..6a3f3007e --- /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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l14 (-1251 5419) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -5681) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l14 (-2341 -5681) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 5419) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -5681) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -131) (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..f8e22a35e --- /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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l14 (-1251 5419) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -5681) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l14 (-2341 -5681) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 5419) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -5681) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -131) (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_22d.cir b/testdata/lvs/test_22d.cir new file mode 100644 index 000000000..f8308ad6d --- /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 1.575,0.215 sky130_fd_pr__nfet_01v8__model +M$1 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 $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model +M$2 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 $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model +M$3 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 $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model +M$4 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 $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..ece1d8d09 --- /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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l14 (-1251 5419) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -5681) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l14 (-2341 -5681) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 5419) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -5681) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -131) (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..9206220e0 --- /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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-116 -1461) (2 2)) + rect(l11 (-116 -1461) (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 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name(vdd) + rect(l14 (-160 -130) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l14 (-1251 5419) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -5681) (2500 260)) + rect(l13 (-2500 5290) (2500 260)) + ) + net(4 name('wl[0]') + rect(l14 (0 1785) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(5 name('wl[1]') + rect(l14 (0 3505) (2180 260)) + rect(l14 (-1091 -131) (2 2)) + rect(l13 (-1091 -131) (2180 260)) + ) + net(6 name(vss) + rect(l14 (-160 2645) (2500 260)) + rect(l14 (-1251 -131) (2 2)) + rect(l13 (-1251 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name(vdd) + rect(l14 (-160 5420) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l14 (-2341 -5681) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 5419) (4680 260)) + rect(l13 (-4680 -5810) (4680 260)) + ) + net(6 name('wl[0]') + rect(l14 (0 1785) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(7 name('wl[1]') + rect(l14 (0 3505) (4360 260)) + rect(l14 (-2181 -131) (2 2)) + rect(l13 (-2181 -131) (4360 260)) + ) + net(8 name(vss) + rect(l14 (-160 2645) (4680 260)) + rect(l14 (-2341 -131) (2 2)) + rect(l13 (-2341 -131) (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 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(2 name('bl_n[0]') + rect(l12 (1520 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(3 name('bl[1]') + rect(l12 (2610 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(4 name('bl_n[1]') + rect(l12 (3700 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(5 name('bl[2]') + rect(l12 (4790 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(6 name('bl_n[2]') + rect(l12 (5880 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(7 name('bl[3]') + rect(l12 (6970 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(8 name('bl_n[3]') + rect(l12 (8060 0) (230 5550)) + rect(l12 (-116 -2776) (2 2)) + rect(l11 (-116 -2776) (230 5550)) + ) + net(9 name(vdd) + rect(l14 (-160 -130) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l14 (-4521 5419) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -5681) (9040 260)) + rect(l13 (-9040 5290) (9040 260)) + ) + net(10 name('wl[0]') + rect(l14 (0 1785) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(11 name('wl[1]') + rect(l14 (0 3505) (8720 260)) + rect(l14 (-4361 -131) (2 2)) + rect(l13 (-4361 -131) (8720 260)) + ) + net(12 name(vss) + rect(l14 (-160 2645) (9040 260)) + rect(l14 (-4521 -131) (2 2)) + rect(l13 (-4521 -131) (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) + ) + ) +) From 9f0052e55b475908e60bf72f806b076daefa35be Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 15 Mar 2022 23:41:19 +0100 Subject: [PATCH 108/126] Fixed LVS testdata (merge issue) --- testdata/lvs/test_22a.lvsdb | 52 ++++++------- testdata/lvs/test_22b.lvsdb | 52 ++++++------- testdata/lvs/test_22c.lvsdb.1 | 136 +++++++++++++++++----------------- testdata/lvs/test_22c.lvsdb.2 | 136 +++++++++++++++++----------------- testdata/lvs/test_22d.lvsdb.1 | 136 +++++++++++++++++----------------- testdata/lvs/test_22d.lvsdb.2 | 136 +++++++++++++++++----------------- 6 files changed, 324 insertions(+), 324 deletions(-) diff --git a/testdata/lvs/test_22a.lvsdb b/testdata/lvs/test_22a.lvsdb index 071ed5e11..9b9dfdd14 100644 --- a/testdata/lvs/test_22a.lvsdb +++ b/testdata/lvs/test_22a.lvsdb @@ -414,8 +414,8 @@ layout( rect(l14 (-2500 -260) (4680 260)) rect(l14 (-2500 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (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)) @@ -426,8 +426,8 @@ layout( rect(l14 (-2500 -260) (2500 260)) rect(l14 (-320 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l21 (-4446 -5636) (170 170)) + 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)) @@ -506,8 +506,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -526,8 +526,8 @@ layout( rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -546,8 +546,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -566,8 +566,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -586,8 +586,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -606,8 +606,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -626,8 +626,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -646,8 +646,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -806,8 +806,8 @@ layout( rect(l14 (-8720 -260) (2180 260)) rect(l14 (0 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) - rect(l14 (-1 -131) (2 2)) - rect(l14 (-1 -131) (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)) @@ -867,8 +867,8 @@ layout( rect(l14 (-4360 -260) (2180 260)) rect(l14 (0 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) - rect(l14 (-1 -131) (2 2)) - rect(l14 (-1 -131) (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)) @@ -1110,8 +1110,8 @@ layout( rect(l14 (-2500 -260) (4680 260)) rect(l14 (-4680 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l14 (2019 -131) (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)) diff --git a/testdata/lvs/test_22b.lvsdb b/testdata/lvs/test_22b.lvsdb index f3ced4995..fc40f292e 100644 --- a/testdata/lvs/test_22b.lvsdb +++ b/testdata/lvs/test_22b.lvsdb @@ -414,8 +414,8 @@ layout( rect(l14 (-2500 -260) (4680 260)) rect(l14 (-2500 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (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)) @@ -426,8 +426,8 @@ layout( rect(l14 (-2500 -260) (2500 260)) rect(l14 (-320 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l21 (-4446 -5636) (170 170)) + 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)) @@ -506,8 +506,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -526,8 +526,8 @@ layout( rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -546,8 +546,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -566,8 +566,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -586,8 +586,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -606,8 +606,8 @@ layout( rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -626,8 +626,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -290) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-26 -86) (170 170)) + 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)) @@ -646,8 +646,8 @@ layout( rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) - rect(l12 (-116 -2776) (2 2)) - rect(l21 (-146 -86) (170 170)) + 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)) @@ -806,8 +806,8 @@ layout( rect(l14 (-8720 -260) (2180 260)) rect(l14 (0 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) - rect(l14 (-1 -131) (2 2)) - rect(l14 (-1 -131) (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)) @@ -867,8 +867,8 @@ layout( rect(l14 (-4360 -260) (2180 260)) rect(l14 (0 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) - rect(l14 (-1 -131) (2 2)) - rect(l14 (-1 -131) (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)) @@ -1110,8 +1110,8 @@ layout( rect(l14 (-2500 -260) (4680 260)) rect(l14 (-4680 -260) (2500 260)) rect(l14 (-2500 -260) (2500 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l14 (2019 -131) (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)) diff --git a/testdata/lvs/test_22c.lvsdb.1 b/testdata/lvs/test_22c.lvsdb.1 index 6a3f3007e..6ee12b507 100644 --- a/testdata/lvs/test_22c.lvsdb.1 +++ b/testdata/lvs/test_22c.lvsdb.1 @@ -218,8 +218,8 @@ layout( rect(l11 (-2395 -75) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -237,8 +237,8 @@ layout( 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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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)) @@ -247,8 +247,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -256,8 +256,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -271,8 +271,8 @@ layout( rect(l11 (-2395 -1165) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -385,36 +385,36 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-1251 -131) (2 2)) - rect(l14 (-1251 5419) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -5681) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) ) # Outgoing pins and their connections to nets @@ -450,46 +450,46 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-2341 -131) (2 2)) - rect(l14 (-2341 -5681) (4680 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l13 (-2341 5419) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2341 -131) (2 2)) - rect(l13 (-2341 -131) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) ) # Outgoing pins and their connections to nets @@ -529,66 +529,66 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (9040 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l13 (-4521 -5681) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4521 -131) (2 2)) - rect(l13 (-4521 -131) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) ) # Subcircuits and their connections diff --git a/testdata/lvs/test_22c.lvsdb.2 b/testdata/lvs/test_22c.lvsdb.2 index f8e22a35e..a3bacb5a7 100644 --- a/testdata/lvs/test_22c.lvsdb.2 +++ b/testdata/lvs/test_22c.lvsdb.2 @@ -218,8 +218,8 @@ layout( rect(l11 (-2395 -75) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -237,8 +237,8 @@ layout( 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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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)) @@ -247,8 +247,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -256,8 +256,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -271,8 +271,8 @@ layout( rect(l11 (-2395 -1165) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -385,36 +385,36 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-1251 -131) (2 2)) - rect(l14 (-1251 5419) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -5681) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) ) # Outgoing pins and their connections to nets @@ -450,46 +450,46 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-2341 -131) (2 2)) - rect(l14 (-2341 -5681) (4680 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l13 (-2341 5419) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2341 -131) (2 2)) - rect(l13 (-2341 -131) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) ) # Outgoing pins and their connections to nets @@ -529,66 +529,66 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (9040 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l13 (-4521 -5681) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4521 -131) (2 2)) - rect(l13 (-4521 -131) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) ) # Subcircuits and their connections diff --git a/testdata/lvs/test_22d.lvsdb.1 b/testdata/lvs/test_22d.lvsdb.1 index ece1d8d09..3c52f6e73 100644 --- a/testdata/lvs/test_22d.lvsdb.1 +++ b/testdata/lvs/test_22d.lvsdb.1 @@ -218,8 +218,8 @@ layout( rect(l11 (-2395 -75) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -237,8 +237,8 @@ layout( 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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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)) @@ -247,8 +247,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -256,8 +256,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -271,8 +271,8 @@ layout( rect(l11 (-2395 -1165) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -385,36 +385,36 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-1251 -131) (2 2)) - rect(l14 (-1251 5419) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -5681) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) ) # Outgoing pins and their connections to nets @@ -450,46 +450,46 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-2341 -131) (2 2)) - rect(l14 (-2341 -5681) (4680 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l13 (-2341 5419) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2341 -131) (2 2)) - rect(l13 (-2341 -131) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) ) # Outgoing pins and their connections to nets @@ -529,66 +529,66 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (9040 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l13 (-4521 -5681) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4521 -131) (2 2)) - rect(l13 (-4521 -131) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) ) # Subcircuits and their connections diff --git a/testdata/lvs/test_22d.lvsdb.2 b/testdata/lvs/test_22d.lvsdb.2 index 9206220e0..24c24136c 100644 --- a/testdata/lvs/test_22d.lvsdb.2 +++ b/testdata/lvs/test_22d.lvsdb.2 @@ -218,8 +218,8 @@ layout( rect(l11 (-2395 -75) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -237,8 +237,8 @@ layout( 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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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)) @@ -247,8 +247,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -256,8 +256,8 @@ layout( 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 (-116 -1461) (2 2)) - rect(l11 (-116 -1461) (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)) @@ -271,8 +271,8 @@ layout( rect(l11 (-2395 -1165) (260 320)) rect(l11 (1920 -320) (260 320)) rect(l14 (-2470 -290) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (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)) @@ -385,36 +385,36 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-1251 -131) (2 2)) - rect(l14 (-1251 5419) (2500 260)) - rect(l14 (-1251 -131) (2 2)) - rect(l13 (-1251 -5681) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1091 -131) (2 2)) - rect(l13 (-1091 -131) (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 (-1251 -131) (2 2)) - rect(l13 (-1251 -131) (2500 260)) + rect(l14 (-1250 -130) (0 0)) + rect(l13 (-1250 -130) (2500 260)) ) # Outgoing pins and their connections to nets @@ -450,46 +450,46 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-2341 -131) (2 2)) - rect(l14 (-2341 -5681) (4680 260)) - rect(l14 (-2341 -131) (2 2)) - rect(l13 (-2341 5419) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2181 -131) (2 2)) - rect(l13 (-2181 -131) (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 (-2341 -131) (2 2)) - rect(l13 (-2341 -131) (4680 260)) + rect(l14 (-2340 -130) (0 0)) + rect(l13 (-2340 -130) (4680 260)) ) # Outgoing pins and their connections to nets @@ -529,66 +529,66 @@ layout( # Nets with their geometries net(1 name('bl[0]') rect(l12 (430 0) (230 5550)) - rect(l12 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-116 -2776) (2 2)) - rect(l11 (-116 -2776) (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 (-4521 -131) (2 2)) - rect(l14 (-4521 5419) (9040 260)) - rect(l14 (-4521 -131) (2 2)) - rect(l13 (-4521 -5681) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4361 -131) (2 2)) - rect(l13 (-4361 -131) (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 (-4521 -131) (2 2)) - rect(l13 (-4521 -131) (9040 260)) + rect(l14 (-4520 -130) (0 0)) + rect(l13 (-4520 -130) (9040 260)) ) # Subcircuits and their connections From 6d0aa9c435eea7f4360c31c688a26a5ee3e4bd61 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 16 Mar 2022 21:11:25 +0100 Subject: [PATCH 109/126] Maybe fixed build issue on MacOS --- src/tl/tl/tlAlgorithm.h | 1 + 1 file changed, 1 insertion(+) 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" From 51cf918f5659f34b76250c21177f8bcdbafc0d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Wed, 16 Mar 2022 23:27:25 +0100 Subject: [PATCH 110/126] Issue 1029 - Crash on QTreeViewItem#setBackgroundColor (#1032) * Fixed issue #1029 The problem happened because in the described case the tl::Variant used as a intermediate container holds the Python QBrush object and when it gets deleted, the QBrush object is deleted too. * Added tests --- src/pya/pya/pyaMarshal.cc | 12 +++++++++--- src/rba/rba/rbaMarshal.cc | 12 +++++++++--- testdata/python/qtbinding.py | 9 +++++++++ testdata/ruby/qtbinding.rb | 12 ++++++++++++ 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/pya/pya/pyaMarshal.cc b/src/pya/pya/pyaMarshal.cc index d89624156..2913c1ace 100644 --- a/src/pya/pya/pyaMarshal.cc +++ b/src/pya/pya/pyaMarshal.cc @@ -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/rba/rba/rbaMarshal.cc b/src/rba/rba/rbaMarshal.cc index 41dde11c4..c3df5cb18 100644 --- a/src/rba/rba/rbaMarshal.cc +++ b/src/rba/rba/rbaMarshal.cc @@ -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/testdata/python/qtbinding.py b/testdata/python/qtbinding.py index 78b562687..373bdde86 100644 --- a/testdata/python/qtbinding.py +++ b/testdata/python/qtbinding.py @@ -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/ruby/qtbinding.rb b/testdata/ruby/qtbinding.rb index b503dc553..1bf3d6d1b 100644 --- a/testdata/ruby/qtbinding.rb +++ b/testdata/ruby/qtbinding.rb @@ -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") From e1443cb96186b71c53403138f45500b4c2939030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Wed, 16 Mar 2022 23:32:05 +0100 Subject: [PATCH 111/126] Fixed main issue (warning about unexpected strict mode) (#1033) The default mode was "expect non-strict" which is nonsense. It should be "don't care". --- src/buddies/src/bd/bdReaderOptions.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/buddies/src/bd/bdReaderOptions.cc b/src/buddies/src/bd/bdReaderOptions.cc index 31aec8980..8209f2924 100644 --- a/src/buddies/src/bd/bdReaderOptions.cc +++ b/src/buddies/src/bd/bdReaderOptions.cc @@ -728,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); From 0eeeb8b6a33c2305c8a28192c0bad28200ba6a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Wed, 16 Mar 2022 23:32:24 +0100 Subject: [PATCH 112/126] Bd enhancements (#1034) * Added ability to join files for strmxor * Joined input files also for strm2txt strmclip and strmcmp. Output options for strmxor. --- src/buddies/src/bd/bdConverterMain.cc | 36 +------------------------ src/buddies/src/bd/bdReaderOptions.cc | 38 +++++++++++++++++++++++++++ src/buddies/src/bd/bdReaderOptions.h | 7 +++++ src/buddies/src/bd/strm2txt.cc | 5 +--- src/buddies/src/bd/strmclip.cc | 5 +--- src/buddies/src/bd/strmcmp.cc | 10 ++----- src/buddies/src/bd/strmxor.cc | 15 +++++------ 7 files changed, 57 insertions(+), 59 deletions(-) diff --git a/src/buddies/src/bd/bdConverterMain.cc b/src/buddies/src/bd/bdConverterMain.cc index 1190e1377..215740cca 100644 --- a/src/buddies/src/bd/bdConverterMain.cc +++ b/src/buddies/src/bd/bdConverterMain.cc @@ -31,33 +31,6 @@ namespace bd { -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; -} - int converter_main (int argc, char *argv[], const std::string &format) { bd::GenericWriterOptions generic_writer_options; @@ -83,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 = 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, load_options); - } + read_files (layout, infile, load_options); } { diff --git a/src/buddies/src/bd/bdReaderOptions.cc b/src/buddies/src/bd/bdReaderOptions.cc index 8209f2924..2cc09cd22 100644 --- a/src/buddies/src/bd/bdReaderOptions.cc +++ b/src/buddies/src/bd/bdReaderOptions.cc @@ -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 8cd4383b4..3569fe617 100644 --- a/src/buddies/src/bd/bdReaderOptions.h +++ b/src/buddies/src/bd/bdReaderOptions.h @@ -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/strm2txt.cc b/src/buddies/src/bd/strm2txt.cc index f1e5264ea..a8135b832 100644 --- a/src/buddies/src/bd/strm2txt.cc +++ b/src/buddies/src/bd/strm2txt.cc @@ -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 72b97cce0..629042372 100644 --- a/src/buddies/src/bd/strmclip.cc +++ b/src/buddies/src/bd/strmclip.cc @@ -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 d441221c3..2e71a5505 100644 --- a/src/buddies/src/bd/strmcmp.cc +++ b/src/buddies/src/bd/strmcmp.cc @@ -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/strmxor.cc b/src/buddies/src/bd/strmxor.cc index 9c20d77d2..03de6cf80 100644 --- a/src/buddies/src/bd/strmxor.cc +++ b/src/buddies/src/bd/strmxor.cc @@ -21,6 +21,7 @@ */ #include "bdReaderOptions.h" +#include "bdWriterOptions.h" #include "dbLayout.h" #include "dbTilingProcessor.h" #include "dbReader.h" @@ -327,6 +328,9 @@ BD_PUBLIC int strmxor (int argc, char *argv[]) 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", @@ -408,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); } { @@ -419,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 ()) { @@ -512,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); From 4a06bc1bb5df184af68889dd602c9d00bf560d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Wed, 16 Mar 2022 23:33:08 +0100 Subject: [PATCH 113/126] Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) --- src/db/db/dbLayoutToNetlist.cc | 2 +- testdata/algo/l2n_writer_au_2b.txt | 24 +-- testdata/algo/l2n_writer_au_2s.txt | 24 +-- testdata/algo/lvs_test1_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test1_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test1b_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test1b_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test2_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test2_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test2b_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test2b_au.lvsdb.2 | 24 +-- testdata/algo/lvsdb_read_test.lvsdb | 24 +-- testdata/algo/lvsdb_read_test2.lvsdb | 24 +-- testdata/lvs/test_22a.cir | 32 ++-- testdata/lvs/test_22a.lvsdb | 206 +++++++++++----------- testdata/lvs/test_22b.cir | 32 ++-- testdata/lvs/test_22b.lvsdb | 206 +++++++++++----------- testdata/net_tracer/t1_all_nets.oas.gz | Bin 585 -> 340 bytes testdata/net_tracer/t4_all_nets.oas.gz | Bin 591 -> 341 bytes testdata/net_tracer/t4b_all_nets.oas.gz | Bin 560 -> 315 bytes testdata/net_tracer/t5_all_nets.oas.gz | Bin 571 -> 320 bytes testdata/net_tracer/t5b_all_nets.oas.gz | Bin 610 -> 355 bytes testdata/net_tracer/t5c_all_nets.oas.gz | Bin 610 -> 354 bytes testdata/net_tracer/t5d_all_nets.oas.gz.1 | Bin 661 -> 1370 bytes testdata/net_tracer/t5d_all_nets.oas.gz.2 | Bin 658 -> 1370 bytes testdata/net_tracer/t6_all_nets.oas.gz.1 | Bin 889 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.2 | Bin 881 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.3 | Bin 882 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.4 | Bin 881 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.5 | Bin 881 -> 4518 bytes 30 files changed, 383 insertions(+), 383 deletions(-) diff --git a/src/db/db/dbLayoutToNetlist.cc b/src/db/db/dbLayoutToNetlist.cc index d59e947d2..6b9bf63cc 100644 --- a/src/db/db/dbLayoutToNetlist.cc +++ b/src/db/db/dbLayoutToNetlist.cc @@ -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/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/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/lvs/test_22a.cir b/testdata/lvs/test_22a.cir index ab888a3c8..4758e7241 100644 --- a/testdata/lvs/test_22a.cir +++ b/testdata/lvs/test_22a.cir @@ -48,7 +48,7 @@ M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P 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 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$12 35 47 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 @@ -63,16 +63,16 @@ M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P 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 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$17 5 31 47 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 38 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +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 37 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$19 47 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 38 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$20 37 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 $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -87,16 +87,16 @@ M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P 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 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$25 7 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 31 41 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$26 8 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 $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 40 38 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$27 49 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 41 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$28 39 50 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 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -108,7 +108,7 @@ M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$31 9 31 50 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 50 41 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$32 50 39 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 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P @@ -141,21 +141,21 @@ M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P 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 37 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$43 1 47 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 37 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$44 47 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 40 38 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$45 1 49 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 40 38 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$46 49 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 50 41 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$47 1 50 39 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 50 41 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$48 50 39 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 b/testdata/lvs/test_22a.lvsdb index 9b9dfdd14..1d74871c2 100644 --- a/testdata/lvs/test_22a.lvsdb +++ b/testdata/lvs/test_22a.lvsdb @@ -516,16 +516,16 @@ layout( 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 2920)) - rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-140 -2610) (230 5550)) rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -2920) (230 2920)) + 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 -2920) (230 5550)) - rect(l12 (-230 -2920) (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)) @@ -541,11 +541,11 @@ layout( 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 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -290) (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)) @@ -556,16 +556,16 @@ layout( 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 2920)) + 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 2920)) - rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + 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)) @@ -576,15 +576,15 @@ layout( 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 (-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 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) @@ -596,15 +596,15 @@ layout( 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 (-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 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)) @@ -636,15 +636,15 @@ layout( 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 2920)) + 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 -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 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -690,23 +690,23 @@ layout( rect(l7 (950 -1320) (330 270)) ) net(15 - rect(l2 (3625 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)) + 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 -650) (170 170)) - rect(l21 (-170 1070) (170 170)) - rect(l22 (-1365 -980) (950 150)) + 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(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)) @@ -850,22 +850,22 @@ layout( 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) (8720 260)) + 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 (-4360 -260) (2180 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 (0 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l14 (-8720 -260) (8720 260)) - rect(l14 (-8720 -260) (2180 260)) - rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-8720 -260) (4360 260)) rect(l14 (-4360 -260) (2180 260)) - rect(l14 (0 -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)) @@ -934,17 +934,6 @@ layout( rect(l7 (950 -960) (150 2010)) ) net(37 - 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 (-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(38 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)) @@ -955,23 +944,12 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(39 + net(38 rect(l7 (5300 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(40 - 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(41 + 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)) @@ -982,38 +960,60 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(42 + net(40 rect(l7 (7480 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(43 + net(41 polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(44 + net(42 polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(45 + net(43 polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(46 + net(44 polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(47 + net(45 rect(l7 (290 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(48 + net(46 rect(l7 (2470 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(49 + 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)) @@ -1333,7 +1333,7 @@ layout( param(PS 1.285) param(PD 0.7) terminal(S 35) - terminal(G 37) + terminal(G 47) terminal(D 52) terminal(B 52) ) @@ -1399,7 +1399,7 @@ layout( param(PD 1.285) terminal(S 5) terminal(G 31) - terminal(D 37) + terminal(D 47) terminal(B 52) ) device(18 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1412,7 +1412,7 @@ layout( param(PD 1.285) terminal(S 6) terminal(G 31) - terminal(D 38) + terminal(D 37) terminal(B 52) ) device(19 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1423,7 +1423,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 52) terminal(B 52) @@ -1436,8 +1436,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 38) - terminal(G 40) + terminal(S 37) + terminal(G 49) terminal(D 52) terminal(B 52) ) @@ -1503,7 +1503,7 @@ layout( param(PD 1.285) terminal(S 7) terminal(G 31) - terminal(D 40) + terminal(D 49) terminal(B 52) ) device(26 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1516,7 +1516,7 @@ layout( param(PD 1.285) terminal(S 8) terminal(G 31) - terminal(D 41) + terminal(D 39) terminal(B 52) ) device(27 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1527,8 +1527,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 52) terminal(B 52) ) @@ -1540,7 +1540,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 41) + terminal(S 39) terminal(G 50) terminal(D 52) terminal(B 52) @@ -1593,7 +1593,7 @@ layout( param(PS 1.285) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 52) terminal(B 52) ) @@ -1736,7 +1736,7 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 37) + terminal(G 47) terminal(D 35) terminal(B 1) ) @@ -1748,7 +1748,7 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 1) terminal(B 1) @@ -1762,8 +1762,8 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 40) - terminal(D 38) + terminal(G 49) + terminal(D 37) terminal(B 1) ) device(46 D$sky130_fd_pr__pfet_01v8__model$1 @@ -1774,8 +1774,8 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 1) terminal(B 1) ) @@ -1789,7 +1789,7 @@ layout( param(PD 1.73) terminal(S 1) terminal(G 50) - terminal(D 41) + terminal(D 39) terminal(B 1) ) device(48 D$sky130_fd_pr__pfet_01v8__model$3 @@ -1801,7 +1801,7 @@ layout( param(PS 1.73) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 1) terminal(B 1) ) @@ -2503,16 +2503,16 @@ xref( net(32 15 match) net(15 18 warning) net(16 17 warning) - net(37 20 match) + net(47 20 match) net(35 19 match) net(19 22 warning) net(20 21 warning) - net(40 24 match) - net(38 23 match) + net(49 24 match) + net(37 23 match) net(23 26 warning) net(24 25 warning) net(50 28 match) - net(41 27 match) + net(39 27 match) net(2 6 match) net(4 8 match) net(6 10 match) diff --git a/testdata/lvs/test_22b.cir b/testdata/lvs/test_22b.cir index ab888a3c8..4758e7241 100644 --- a/testdata/lvs/test_22b.cir +++ b/testdata/lvs/test_22b.cir @@ -48,7 +48,7 @@ M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P 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 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$12 35 47 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 @@ -63,16 +63,16 @@ M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P 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 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$17 5 31 47 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 38 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +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 37 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$19 47 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 38 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$20 37 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 $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -87,16 +87,16 @@ M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P 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 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$25 7 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 31 41 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$26 8 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 $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 40 38 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$27 49 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 41 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$28 39 50 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 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -108,7 +108,7 @@ M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$31 9 31 50 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 50 41 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$32 50 39 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 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P @@ -141,21 +141,21 @@ M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P 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 37 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$43 1 47 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 37 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$44 47 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 40 38 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$45 1 49 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 40 38 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$46 49 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 50 41 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$47 1 50 39 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 50 41 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$48 50 39 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 b/testdata/lvs/test_22b.lvsdb index fc40f292e..c3f876fc0 100644 --- a/testdata/lvs/test_22b.lvsdb +++ b/testdata/lvs/test_22b.lvsdb @@ -516,16 +516,16 @@ layout( 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 2920)) - rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-140 -2610) (230 5550)) rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -2920) (230 2920)) + 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 -2920) (230 5550)) - rect(l12 (-230 -2920) (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)) @@ -541,11 +541,11 @@ layout( 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 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -290) (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)) @@ -556,16 +556,16 @@ layout( 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 2920)) + 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 2920)) - rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + 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)) @@ -576,15 +576,15 @@ layout( 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 (-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 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) @@ -596,15 +596,15 @@ layout( 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 (-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 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)) @@ -636,15 +636,15 @@ layout( 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 2920)) + 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 -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 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -690,23 +690,23 @@ layout( rect(l7 (950 -1320) (330 270)) ) net(15 - rect(l2 (3625 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)) + 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 -650) (170 170)) - rect(l21 (-170 1070) (170 170)) - rect(l22 (-1365 -980) (950 150)) + 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(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)) @@ -850,22 +850,22 @@ layout( 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) (8720 260)) + 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 (-4360 -260) (2180 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 (0 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l14 (-8720 -260) (8720 260)) - rect(l14 (-8720 -260) (2180 260)) - rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-8720 -260) (4360 260)) rect(l14 (-4360 -260) (2180 260)) - rect(l14 (0 -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)) @@ -934,17 +934,6 @@ layout( rect(l7 (950 -960) (150 2010)) ) net(37 - 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 (-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(38 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)) @@ -955,23 +944,12 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(39 + net(38 rect(l7 (5300 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(40 - 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(41 + 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)) @@ -982,38 +960,60 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(42 + net(40 rect(l7 (7480 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(43 + net(41 polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(44 + net(42 polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(45 + net(43 polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(46 + net(44 polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(47 + net(45 rect(l7 (290 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(48 + net(46 rect(l7 (2470 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(49 + 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)) @@ -1333,7 +1333,7 @@ layout( param(PS 1.285) param(PD 0.7) terminal(S 35) - terminal(G 37) + terminal(G 47) terminal(D 52) terminal(B 52) ) @@ -1399,7 +1399,7 @@ layout( param(PD 1.285) terminal(S 5) terminal(G 31) - terminal(D 37) + terminal(D 47) terminal(B 52) ) device(18 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1412,7 +1412,7 @@ layout( param(PD 1.285) terminal(S 6) terminal(G 31) - terminal(D 38) + terminal(D 37) terminal(B 52) ) device(19 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1423,7 +1423,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 52) terminal(B 52) @@ -1436,8 +1436,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 38) - terminal(G 40) + terminal(S 37) + terminal(G 49) terminal(D 52) terminal(B 52) ) @@ -1503,7 +1503,7 @@ layout( param(PD 1.285) terminal(S 7) terminal(G 31) - terminal(D 40) + terminal(D 49) terminal(B 52) ) device(26 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1516,7 +1516,7 @@ layout( param(PD 1.285) terminal(S 8) terminal(G 31) - terminal(D 41) + terminal(D 39) terminal(B 52) ) device(27 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1527,8 +1527,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 52) terminal(B 52) ) @@ -1540,7 +1540,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 41) + terminal(S 39) terminal(G 50) terminal(D 52) terminal(B 52) @@ -1593,7 +1593,7 @@ layout( param(PS 1.285) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 52) terminal(B 52) ) @@ -1736,7 +1736,7 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 37) + terminal(G 47) terminal(D 35) terminal(B 1) ) @@ -1748,7 +1748,7 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 1) terminal(B 1) @@ -1762,8 +1762,8 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 40) - terminal(D 38) + terminal(G 49) + terminal(D 37) terminal(B 1) ) device(46 D$sky130_fd_pr__pfet_01v8__model$1 @@ -1774,8 +1774,8 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 1) terminal(B 1) ) @@ -1789,7 +1789,7 @@ layout( param(PD 1.73) terminal(S 1) terminal(G 50) - terminal(D 41) + terminal(D 39) terminal(B 1) ) device(48 D$sky130_fd_pr__pfet_01v8__model$3 @@ -1801,7 +1801,7 @@ layout( param(PS 1.73) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 1) terminal(B 1) ) @@ -2504,14 +2504,14 @@ xref( net(16 18 match) net(15 17 match) net(35 20 match) - net(37 19 match) + net(47 19 match) net(20 22 match) net(19 21 match) - net(38 24 match) - net(40 23 match) + net(37 24 match) + net(49 23 match) net(24 26 match) net(23 25 match) - net(41 28 match) + net(39 28 match) net(50 27 match) net(2 5 match) net(4 7 match) diff --git a/testdata/net_tracer/t1_all_nets.oas.gz b/testdata/net_tracer/t1_all_nets.oas.gz index 728f52d8aa3a0c3e094c2e58eb82c3ab38dcd059..5a710240c3cdc97dbd48cb0473489e61697b3af1 100644 GIT binary patch literal 340 zcmV-a0jvHWiwFo7MKWRl19WY0Uu9u9Gc#f_GA?gna{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo%P4Bi$iT?5Cw}EB#woKI=S*VSaf*4a zt4K|U?6;x?TbNh2FmW?*{S?s>skp$ut^USh=BqzgL@b`=Z#mAo^(Ko*#kv)YPb3)_ zL@Ex%EYN$ffpz0CW|4|_6B#e?|2PCzTgh~%+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFmr>N3 zk%5tAPyEVNj8kSa&Y8rt;}r8;SCN_y*>6P)wlJ@3Vd7@s`YEC%Qn79Y;}b~+29b() z6B#e?|2V{a^#_Yc!3F+p^*0tXi %-*TLF>rEDsiUTnV^d4+r-FS>yq>|}Q$vcfR zGniM-WfG~Fq4i06%WUSO2bo1~GBbTMUq2Nn*tDAQfWnLOjDL3kIlHbgP7vQ<`13fk xNX0S9Evp$DlwTeJvO8pZQn#FAYz1j}mGnpYh5poujJynj2N;+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fwB@NcWXv6%Vl4;B%N zXZc%>vu?e~B2sZ6W`W*=4XhiFF^g2Zo5*;9|HmP)l1io-TA!r1%w|4%kXfXXxoI`y z0fiUm8UOBJ61l+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zy7DrKR5LOhh*_ZbU<2#MW6UBI7x=f;-&o9i^#_ZH#k2e^$62@DWD%)&H<9rI|Bpjp z;Yy|%TA!r1%w|4%kXhs=Gt)Qo^;4NdDw<-zU)Gg;2TR|FLCH;|pp+9vZBQK+;V7( diff --git a/testdata/net_tracer/t4b_all_nets.oas.gz b/testdata/net_tracer/t4b_all_nets.oas.gz index de67d58d997d90fb83f773e999ae0de76fb45d6c..8461fd262d77af8a74690cc1537ce6d2eda68c44 100644 GIT binary patch literal 315 zcmV-B0mS|viwFo7MKWRl19WY0UokZ`H#IUbF)nXma{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo%P4Bi$iT?5Cw}EB#woKI=S*VSaf*4a zt4K|U?6;x?TbNh2FmW?*{S?s>skp$ut^USh=BqzgL@b`=Z#mAo^(Ko*#kv)YPb3)_ zL@Ex%EYN$ffpz0CW|4|_6B#e?|2PCzTglwCn(=_bi}Q?scQA?EVEAFab}Exd#jB)0 z(l7L+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFmr>N3 zk%5tAPyEVNj8kSa&Y8rt;}r8;SCN_y*>6P)wlJ@3Vd7@s`YEC%Qn79Y;}b~+29b() z6B#e?|2V{a^#_Yc!3F+p^*0tXi %-*TLF>rEDsiUTnV^d4+r-FS>y+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo&7@+?{DPgCfd|ImWfZAqVz^WCPUFlB z=9P1qL@H)zeUjcXoB8NLW|2zfrqzrG6keQX{JVomXvhitsvoJl3P|YHYmS5!Yop;>l)((@ePJQk28x}zF=qMx?^#-a-r1QIZP*v z7rbG7)5thy64TiWjCWLaoMPT9Cu+gS_U0+$i$#nFvnN_Ta5<^BU<>og7A9T>!2^s; S4I>#aFaQ8Z0&KH80ssIzUzHI6 literal 571 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFn@Po( z`2{;O0}qVB%P3OK#BitNoyM6N%q!+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fSe zJfQI6JmcRTOd=J#t}#v!-(dLjII~E_G082f85@*e9s#mDWP4J#oMUXA$|Q1w;fMKJ zAYJh)>5uda{izcfMJivgPqTQZab^bd%DGIuj3U*H3>Wyf)!$gmeDw#5h{dz~Eyr26 z-eeJ}I1sZy@4*JvjmLmSzMIH+f&a%LkP==7!2?W!2N;+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zx^gqA7&E_MXJ+7mF?g9otr-~@S@y)QT*WwLHshR0Ogm07&vg~4>5%dl{XJ#<3oXf<^C{oSH za3E%Z-h&OS8;=21Uf|zWe`7K8)gLS(7SHmx9B18nlSQQB-9*L<{67wXgn1bR4=@QH MU}S0-$$)_Y0OAqviU0rr diff --git a/testdata/net_tracer/t5c_all_nets.oas.gz b/testdata/net_tracer/t5c_all_nets.oas.gz index a6cf16398c9372cec956bf7af7dfa68e16903f34..5abaac7585fb5b3cbf6594fbcc2eccdcb386270f 100644 GIT binary patch literal 354 zcmV-o0iFIIiwFo7MKWRl19WY0UokZ`H#9RbFfMOla{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fF&2aAZsv-~Z`S-0L~5ve#3vq0~`2G)(om_;hyO=P^l|Kku?NhNdBYQ_T! zFU~Xm-N7VsgW-qy+Nn$;6|a*1NWajZI+0PNqC>VPb;~)%R*>*9$t|lH8og7A9^6uAd@WA{FaaFg}rFVBlpCJisJ)fRU+TBm)Kp0JX1P&|(4r0Pmrs A<^TWy literal 610 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zx^gqA7&E_MXJ+7mF?g9osu>v$#4ONzuz_{sF=mm93;f&aZ!BiM`h!Kp;#vNdZ|3W#GKo|)t!6x+@Zvn<-yJ~Cu4{}F#5WlJJPtJEnBO@A7$`|Z2v_461nazCkATuwcs5K)4Bg>xn zm8%%1%x0W3iD}0v=DDsSH660wiWY2PUfIIL&A|0jL`$S%-3rDhk_-&I41x!k1P?GW KHH>7yzyJXMA@898 diff --git a/testdata/net_tracer/t5d_all_nets.oas.gz.1 b/testdata/net_tracer/t5d_all_nets.oas.gz.1 index 199d8d8caba9c356fcbfafed2f1f52f69279feb4..a0a91d69138a4d37f98059aeaad43dc91ebb2760 100644 GIT binary patch literal 1370 zcma*nKWG#|6vy$eyPM5%UgQ+hNU#vGQe%uDLKF-N{zC*)gcOPv5(^<%Xpu%OqJa?q zpyHn>u}~qTiGoCtAVDldTZ;%*K@6N0Vxb^B-`m^CEF?qRD?Z1Y{q4Nn*;!JesGF8$ zQR7!)sx<4bwfLV>lpfmO39I9VUAqUjAAI+;wqws^>*)QSBeXPxbLBKWytnK4`mH1- zNSmVg8|jJ&*jSBWVn*cjle&+F;N_Tz)78~vC5z|Bw}=e)g8BFg%=CF(T@B{1uN67* z2~3;M=6AZfn&lh$uRCp9&}oO=>DdvHAJ0sE4A)?vJ&xQ>Juq||>bmnXgPr%iu6J%) z$AjHo>pUM1=Fe0`rfOjRJ_-GIysoYW^SXlbM`aeeHiL71Kvylaa=o>B|E8_D_3O0$ z^YLK*a)-#50Wkk;gIjOCuC5mHM8!Anl)iaaAA+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gG|78*wwK7%{(K zXJ+7mF@Pe*%r7A#5C$)kNHx%P7x zSiZJ0idwz|8rR@>VH?v&i!Jgm&NKeq0n~L&a?5JQ2IZGWfOhY?#yCNIgW=EPKz4_0 uPwJL)jIC3FYF;J%k$#~+bt0q44W@7A>!&jDG6)`E5=V&nYxi`+bEdI@#WJcIQ5X zc_69{5Fpwd0N7p10q2)Ru0KjRc>@^wE@CvD4C~(TN`Lk$@{l~!CQ`|lV1NO=Hb%|K)J?ydgzR!>7>`+@__L# zFrVbt6F}PzN7KpJUxN*Ga`M literal 658 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gG|78*wwK7%{(K zXJ+7mF@Pe*%r7A#5C$)kNHr6~46RSnTV^vKJ;*Flai`>+#+ez+E9WwaTE1XsWZ4tH zauws0*^F~0G3_|TJl9pEVvgYj{vU^!ul`^WDY(GDt^UShptcU#Z$%5XFt2Q35~*0X zg7JwY0|Q8Ko#~G`EMHq0MJ-#aFaQ9IXaUmz diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.1 b/testdata/net_tracer/t6_all_nets.oas.gz.1 index 709ef1e17b2d33fcdb5038dbbcaec348387c3e06..01198a04cded3673c208154b9ee9c777296d9f68 100644 GIT binary patch literal 4518 zcmb7HO=whC6h3(~?`C|)sSXiDLKme-7ojQ@Yr7DCT4>TDWonCbp4!9x#(8aHPS12te>`*c0@%$Kk=d0{LZ+P%(e&7Rjm0pAumz z&%n>X0~*wV@I9(L%|bpkiyDHzN7=qZgU<;!nn#tF?T38W`<&xOQq=9xD#at`t?jM29A>4;21lwi zy@pP_7iKxUB|LZm=XX6mB^pP!<%%l5Tf@h65I!UG&IQPPcOFz(#lGi>-gD1a#PdY{ z)Y;!+{tgexpX6fKH}LIxJX<{Ppz$cKfoi-oN@K@O$$&&W>`tux?+0jXM65(^x&_~R z>)Yc@;4QR0jMa_^zn(r5NAZ z_1}@7rbkT8-ZgwzRCzPThutOUqkja^PdhK+yQ0c{Uv17mhBac%v3W4|r>y<=%K}x7 z=SBM3<*ncHc*y0iuc-1?oX_$1J1+kI+b;eAs=O29ySOF)oQI~5-=oTbQU5va-n!2N z^3L&d{ux!Sy)`Uhg2lHS0 zXMigA8&uT)1@Hf|_g_)v3vv5g_n4$o|5A6T{{gDpPugMjC4SVO)WHFN{~o#i+x2WN9_B)MZIbt zOaG#81yvsH|DtZSkEMQ*H?3ol*KFXDU(~zagVZ1RI)~hOEdHYIIZr$XIB$yF2a?z5 z{4eUB?eH96yNWsbKJ;IfYH!}1j5g8#(h3|@5D ztD(MZ+KX#-E1OlVZe^pY(Y4i0szw)4l{YAj{IJ{MCGIUnjvB>`(!FYsrD5Bz^G8m? h-v}WG9XE%k75i|&sqDeQNoD^XoRs%o)IqaJ{{z1s)4Tux literal 889 zcmd^5&ubGw6rMM;JIVf-?oOFRsR2PM1Vph7h|pYOy3~a>E!{18+e`j{c-v6Lw)E0N zkzxs63Z}FN#X_ul@KRbt$wjC+RZLJpBtnru0~WF1rfG}^{{!D)czoYC@B7|6?^t8@ z#qpG5J4^*KaOpCthtS^@i}X3(Sn8(d*drNh*t0XPHDXPAH|$~edRU6FSeu^8{7Vpv zsE+53Pk3o-bX1ozmg|uA3n>EE2n`Uge}E`ydon#`yI!i>cG!f5`xB%dB1rEvOcv7^ zJ%lnmRcciDWq1s)m1SAHC-{E&l<*r+p|fg{ihMmZ2b=PW^2iW=0jjW|e36;Nn{o~I z6`m{8LsfjhXcd1V)rj!F!cSNtPog4Ewx9xg(t~Jgd;`|Wd{o?$D)1ckC9$^!8#tiy z@*F+k0;dA3;vKv!7-p0=rM2Fo$#ad!OD66HS1rI`qwg)#kZOvn@%b~~bVm50RJyXz zqY?E$@7dOODE_Fc{C4Twq8VT_?1vF9Qt2MSVp>Mo?{fY{Lgd~U*$I)$ZpziO;!evo zUK%>$T1b6G!_O#vr?iHA*5lpJ$-%V?HB+PNALz*F4IJB2kt{=LXoClQ8#^7ycJ)Pa zY@AH)s_Q{&VKU%N+&vpZe4FxL&{{JHyFzd$FK-ZpcoUY`tik=`1*Ma4ogMMa|6BOxF}tS ziVMl2NCgoISX^`=F0#l%ij*$8>Z&UjE<}PzAvMI8_&|FQpWmoZ?K}O5--_Ztg8wG?jo84yf|wtHe+B!##h(?`F1BF*tv{pqKUrJO zfe+mI4gW7ysP=L$j9=rgA>I=B!0a@*{R-7SvE=xZ^tjbJfovB<-CkI~sp%GCt>F1< z?s-EV=HLYCIyIZ0{29o9;2^)t;CvjOA=ZF>nJB*oKcM*vtY<1zdwwm&hyMfcFF9m> z)^mJDwF841K<9x5?F;a`iugc-T-wbF)t+BX@sX1`@V|6u&H>lK_o#MY5I?S=y#RiJ zxIhCfNPLfK&x?>x?P&iWa(wWBW)XRKzCyLf@k2iLdz8=b(BN~%7uBQMYv<3S_)-4A zKMeko!+QS4XwVqLonnkvVa(~*&zyg5zOGW}R#ci_#;sa$87m?k!(*gM5p>zw?FV6& z!zzKcif3N;c$a7rx2;rE`}GDsx`Xf;nRhlo=DYQTO8h!_;`h+=71e&%#edBF9T}0o zM0Pq~BRgAr%jgt(^4>VsKDv#pJiE6zgx*me-3tf)T+QPNj%a8WrN|o;U-}ms?aZ%hGG}dMJKC=8HL=G%*>z=$+q1u57UEz)K3+vt? zXT`n;zDKn;-HYOmRGAo&4cd3ELR4Sus)AAbFYdv=4L?Tccpv9XQSI&Y{x`9Aep3o! za`^XCd{k)Yn{V1xvn~pE} zJy7LA@{V&0s{KHUU+G@-zvA_;i2LC0Me_VoKj>X>-S1yf?W^hds(V57W6{4N?t@=X z##h}*{SW#2dt@EE^>lo>|9E=~q7U%>=X)=x_Go&E^~3Kq_7{YX_`Sxu5mfuQ{(-x% zeT3`JeM3;~chdXk{D@8&(JwfEyU4nB>&^LV`#eFndT#~Qp6nl0-;w^qb-T#--y`~v z?@P(}+IJWSv+n*Va{b(T>ijNm+%GtPgTuamD5|}a=8JC7Hw0gG=N~Aly_e!+O1pvc z-t@Rm)H;UmifX^vz+dxxM&|VcWWHMu@<;LX_^Y)W(7Oe0&hYeFq1rbNh4Dka^T)dI zHokyv|Hkta)!x7tfA}%}bDyY#{VVcw{krUb%v^=()&FubJ)UD_j;Q@&aw{XJEaYGr z`SQP%#>DE#4E&BvaCoLpzO|_(SgFm#yDLL;%txcW{zC#mdgD*4|Pnr$BxC7{``rgOcik|z;a>S_u&*DE(Rj@igyb2w( G+w?y&xzoe| literal 881 zcmd^5&r4KM6u#%)`|iy9ahyI5gNP8K$l`dN7=oLYs- zz`D>`*ziHcrvs;LV}XQTGSj!((})M$k^Moev!x4dGwI5}fzTt`8y0=eSkN7yUySsT yT4pla+FG!+jB^k^K7JWTVjm7SrGLBI%Zl6K(K^+Z2|jt3PY@ED4A1<}fzThqO({MA diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.3 b/testdata/net_tracer/t6_all_nets.oas.gz.3 index daf4f793c74759a6e89d1ef6224d403840a180f3..e807306746ba9924e87a8e1944b921d7c176e854 100644 GIT binary patch literal 4518 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 diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.5 b/testdata/net_tracer/t6_all_nets.oas.gz.5 index 6e1635c137bbe1f531ee9c95ff5a29d73c066855..3aeeab5cdd1ca75acfd35f8f4b9966cf8a0bb7aa 100644 GIT binary patch literal 4518 zcmb7HO=whC6h3(~?`HapQ#(Wu2`);JE`n7MTe}c{T4vOV zf)8B(3;zdmRC{+aj9=m}Al_B*fyrrb+c~OzoHHa3wS z{{zT>V_ZQyi-^};ggy>Du)jHYEQDtWHGual6Qx%injhiYf>1oF9T?;=o4&qquEdMYZ3l;G;VTpOJaz17yBi4^&o)?|I_)%JUWRKCwS_ z@i&>j0|W9Wx!C>__I4wlE$(;lco_G98ZQs?cYu`M^-rn6>9731s9@+{A{;a#Bj^n;Ti@In&!`^ZG1@9BReFe{oYL9jw zr)TzOeRmd}t~XHa_ha$#jq@jXPdqN88+?IhMYTVP@rg3{a6G{^qHP!Ptf=#B19TyNF^ zYnAJ-sCMnV{rSu5&hSK9G~?d`|$Q|VFE7p57xchKVTR6 zlKgp8J1~-em$%MZo=43aquRB%_SfI*rs)yq)pHA~y%~=$dEb@iLC-Cy_FXZ)(>Lo~ z^grkIuc&rEK}Yuw-Af&p{QecyJ|B;-x)LrZ;yl2##<)aOI})JUA5`!cJfD&I?EsnY)`R_1ae91Y?F#m5fve*@edeh4mAzs7 zknjAlF1(dn`2Ko{_bIBqf-nB?V|@LLsDb?}@_YTd?0?8yh3VD*axyKRV+T$sIO#01 zlK*0IzJ0%xhQw;f417i=xU8k~u)GDi;6K@M1_Ali18&ZBiyNzmzUisC(zi5sRr;3Z ztqR}1Ijh1KCo9fZ6~53Y?xyxtWXbssntp?o@HaxpLC2lJ+wyrh;FRXzV5KzwZmbmN KUg)4+r~d)mUDLh* literal 881 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOMn`5wCuTOFNW6+6GpDm> zkaMVKNW3G036nM9W>PU`e!(gkiri#o zn#>_CQt^TD5?dqJLN<}g7wk=pn^@;^uH+Y~n8tXAv6J%&D=&-S7uLIsZ#V@DPO$yp z61mO9u!!ja^Bqxh9_=ZK~ z#y-ZiOhBnh)+RQn9MGm|jEk5KGEEWTW#VNM{KB$CXrX{$!3WWuydw3$P@TqT^g-$@ zFE<01fQW@gi}Xt#US`1`EE~)^`M8<6KJ)M$;5o>~bf1Syux5i&uK-Z2f%iK<$3ixi zer6_-YF37ncdV6LjYSHM@uvic6r^loy(2GD3$j&XgY{oQZg#H2Y#f`}*e-H{40*_- zfzYgTf^n@NHyg+jpsWN?;sQ@EGuT`kqb1sR1%PsJ)qnYgAnJgoh}hU%;93fFvxopM xqu>`NM4<692p(V)JisjYhY{pYZWgY&%uGlQ7OVh!j0Nf_nBSNhMlxVv006^cDa8N) From d3093f83c32427a9cf0186a39e4b4e0d37d9f29a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 17 Mar 2022 18:00:00 +0100 Subject: [PATCH 114/126] Updated test data for MSVC2017 --- testdata/lvs/{test_22a.cir => test_22a.cir.1} | 0 testdata/lvs/test_22a.cir.2 | 161 ++++++++++++++++++ testdata/lvs/{test_22b.cir => test_22b.cir.1} | 0 testdata/lvs/test_22b.cir.2 | 161 ++++++++++++++++++ testdata/lvs/{test_22c.cir => test_22c.cir.1} | 0 testdata/lvs/test_22c.cir.2 | 97 +++++++++++ testdata/lvs/{test_22d.cir => test_22d.cir.1} | 0 testdata/lvs/test_22d.cir.2 | 97 +++++++++++ 8 files changed, 516 insertions(+) rename testdata/lvs/{test_22a.cir => test_22a.cir.1} (100%) create mode 100644 testdata/lvs/test_22a.cir.2 rename testdata/lvs/{test_22b.cir => test_22b.cir.1} (100%) create mode 100644 testdata/lvs/test_22b.cir.2 rename testdata/lvs/{test_22c.cir => test_22c.cir.1} (100%) create mode 100644 testdata/lvs/test_22c.cir.2 rename testdata/lvs/{test_22d.cir => test_22d.cir.1} (100%) create mode 100644 testdata/lvs/test_22d.cir.2 diff --git a/testdata/lvs/test_22a.cir b/testdata/lvs/test_22a.cir.1 similarity index 100% rename from testdata/lvs/test_22a.cir rename to testdata/lvs/test_22a.cir.1 diff --git a/testdata/lvs/test_22a.cir.2 b/testdata/lvs/test_22a.cir.2 new file mode 100644 index 000000000..7526343c0 --- /dev/null +++ b/testdata/lvs/test_22a.cir.2 @@ -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.cir b/testdata/lvs/test_22b.cir.1 similarity index 100% rename from testdata/lvs/test_22b.cir rename to testdata/lvs/test_22b.cir.1 diff --git a/testdata/lvs/test_22b.cir.2 b/testdata/lvs/test_22b.cir.2 new file mode 100644 index 000000000..7526343c0 --- /dev/null +++ b/testdata/lvs/test_22b.cir.2 @@ -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_22c.cir b/testdata/lvs/test_22c.cir.1 similarity index 100% rename from testdata/lvs/test_22c.cir rename to testdata/lvs/test_22c.cir.1 diff --git a/testdata/lvs/test_22c.cir.2 b/testdata/lvs/test_22c.cir.2 new file mode 100644 index 000000000..77c13a280 --- /dev/null +++ b/testdata/lvs/test_22c.cir.2 @@ -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.cir b/testdata/lvs/test_22d.cir.1 similarity index 100% rename from testdata/lvs/test_22d.cir rename to testdata/lvs/test_22d.cir.1 diff --git a/testdata/lvs/test_22d.cir.2 b/testdata/lvs/test_22d.cir.2 new file mode 100644 index 000000000..77c13a280 --- /dev/null +++ b/testdata/lvs/test_22d.cir.2 @@ -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 From 5b9f194ecc296a826dc64892e0480134c8048615 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Mar 2022 00:10:00 +0100 Subject: [PATCH 115/126] Forget last commit - problem was that golden netlists should not be compared with net names as those are node numbers and they might change with C++ STL implementation --- src/db/db/dbTestSupport.cc | 8 +- src/db/db/dbTestSupport.h | 4 +- src/lvs/unit_tests/lvsTests.cc | 14 +- testdata/lvs/{test_22a.cir.2 => test_22a.cir} | 0 testdata/lvs/test_22a.cir.1 | 161 ------------------ testdata/lvs/{test_22b.cir.2 => test_22b.cir} | 0 testdata/lvs/test_22b.cir.1 | 161 ------------------ testdata/lvs/{test_22c.cir.2 => test_22c.cir} | 0 testdata/lvs/test_22c.cir.1 | 97 ----------- testdata/lvs/{test_22d.cir.2 => test_22d.cir} | 0 testdata/lvs/test_22d.cir.1 | 97 ----------- 11 files changed, 8 insertions(+), 534 deletions(-) rename testdata/lvs/{test_22a.cir.2 => test_22a.cir} (100%) delete mode 100644 testdata/lvs/test_22a.cir.1 rename testdata/lvs/{test_22b.cir.2 => test_22b.cir} (100%) delete mode 100644 testdata/lvs/test_22b.cir.1 rename testdata/lvs/{test_22c.cir.2 => test_22c.cir} (100%) delete mode 100644 testdata/lvs/test_22c.cir.1 rename testdata/lvs/{test_22d.cir.2 => test_22d.cir} (100%) delete mode 100644 testdata/lvs/test_22d.cir.1 diff --git a/src/db/db/dbTestSupport.cc b/src/db/db/dbTestSupport.cc index 090e849a2..3fa61ae56 100644 --- a/src/db/db/dbTestSupport.cc +++ b/src/db/db/dbTestSupport.cc @@ -299,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) { @@ -308,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); @@ -330,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 8f89cf7e9..7eb398d67 100644 --- a/src/db/db/dbTestSupport.h +++ b/src/db/db/dbTestSupport.h @@ -85,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/lvs/unit_tests/lvsTests.cc b/src/lvs/unit_tests/lvsTests.cc index be360ec58..5475484bd 100644 --- a/src/lvs/unit_tests/lvsTests.cc +++ b/src/lvs/unit_tests/lvsTests.cc @@ -76,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); diff --git a/testdata/lvs/test_22a.cir.2 b/testdata/lvs/test_22a.cir similarity index 100% rename from testdata/lvs/test_22a.cir.2 rename to testdata/lvs/test_22a.cir diff --git a/testdata/lvs/test_22a.cir.1 b/testdata/lvs/test_22a.cir.1 deleted file mode 100644 index 4758e7241..000000000 --- a/testdata/lvs/test_22a.cir.1 +++ /dev/null @@ -1,161 +0,0 @@ -* 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 11 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 11 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 11 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 47 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 19 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 47 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 47 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 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 $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model -M$21 19 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 23 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 19 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 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 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 $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 49 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 39 50 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 23 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 23 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 50 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 50 39 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 11 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 11 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 19 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 19 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 23 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 23 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 47 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 47 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 49 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 49 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 50 39 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 50 39 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.cir.2 b/testdata/lvs/test_22b.cir similarity index 100% rename from testdata/lvs/test_22b.cir.2 rename to testdata/lvs/test_22b.cir diff --git a/testdata/lvs/test_22b.cir.1 b/testdata/lvs/test_22b.cir.1 deleted file mode 100644 index 4758e7241..000000000 --- a/testdata/lvs/test_22b.cir.1 +++ /dev/null @@ -1,161 +0,0 @@ -* 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 11 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 11 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 11 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 47 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 19 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 47 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 47 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 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 $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model -M$21 19 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 23 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 19 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 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 $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 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 $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 49 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 39 50 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 23 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 23 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 50 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 50 39 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 11 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 11 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 19 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 19 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 23 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 23 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 47 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 47 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 49 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 49 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 50 39 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 50 39 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_22c.cir.2 b/testdata/lvs/test_22c.cir similarity index 100% rename from testdata/lvs/test_22c.cir.2 rename to testdata/lvs/test_22c.cir diff --git a/testdata/lvs/test_22c.cir.1 b/testdata/lvs/test_22c.cir.1 deleted file mode 100644 index f8308ad6d..000000000 --- a/testdata/lvs/test_22c.cir.1 +++ /dev/null @@ -1,97 +0,0 @@ -* 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 1.575,0.215 sky130_fd_pr__nfet_01v8__model -M$1 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 $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model -M$2 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 $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model -M$3 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 $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model -M$4 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 $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.cir.2 b/testdata/lvs/test_22d.cir similarity index 100% rename from testdata/lvs/test_22d.cir.2 rename to testdata/lvs/test_22d.cir diff --git a/testdata/lvs/test_22d.cir.1 b/testdata/lvs/test_22d.cir.1 deleted file mode 100644 index f8308ad6d..000000000 --- a/testdata/lvs/test_22d.cir.1 +++ /dev/null @@ -1,97 +0,0 @@ -* 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 1.575,0.215 sky130_fd_pr__nfet_01v8__model -M$1 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 $2 r0 *1 1.965,0.84 sky130_fd_pr__nfet_01v8__model -M$2 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 $3 r0 *1 0.605,0.215 sky130_fd_pr__nfet_01v8__model -M$3 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 $4 r0 *1 0.215,0.84 sky130_fd_pr__nfet_01v8__model -M$4 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 $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 From 4d55ba2dc5a2c041b68e720073b760ac458f7b04 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 18 Mar 2022 23:13:21 +0100 Subject: [PATCH 116/126] New testdata variants for MSVC2017 --- .../lvs/{test_22a.lvsdb => test_22a.lvsdb.1} | 0 testdata/lvs/test_22a.lvsdb.2 | 2590 +++++++++++++++++ .../lvs/{test_22b.lvsdb => test_22b.lvsdb.1} | 0 testdata/lvs/test_22b.lvsdb.2 | 2590 +++++++++++++++++ testdata/lvs/test_22c.lvsdb.3 | 952 ++++++ testdata/lvs/test_22d.lvsdb.3 | 952 ++++++ 6 files changed, 7084 insertions(+) rename testdata/lvs/{test_22a.lvsdb => test_22a.lvsdb.1} (100%) create mode 100644 testdata/lvs/test_22a.lvsdb.2 rename testdata/lvs/{test_22b.lvsdb => test_22b.lvsdb.1} (100%) create mode 100644 testdata/lvs/test_22b.lvsdb.2 create mode 100644 testdata/lvs/test_22c.lvsdb.3 create mode 100644 testdata/lvs/test_22d.lvsdb.3 diff --git a/testdata/lvs/test_22a.lvsdb b/testdata/lvs/test_22a.lvsdb.1 similarity index 100% rename from testdata/lvs/test_22a.lvsdb rename to testdata/lvs/test_22a.lvsdb.1 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.lvsdb b/testdata/lvs/test_22b.lvsdb.1 similarity index 100% rename from testdata/lvs/test_22b.lvsdb rename to testdata/lvs/test_22b.lvsdb.1 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.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.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) + ) + ) +) From 5929ea3bc6b8b597cd1a4959e10aac8f8cf444d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 2 Apr 2022 16:07:25 +0200 Subject: [PATCH 117/126] Applied patch as discussed in #1040 (#1045) * Applied patch as discussed in #1040 * Adding extra compilation flags to extensions #1040 tlcore, dbcore and libcore did not have compilation flags. It failed compiling on Macos because it did not use C++11. Co-authored-by: Thomas Ferreira de Lima --- setup.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index d809be74c..a2631a25a 100644 --- a/setup.py +++ b/setup.py @@ -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)) # ------------------------------------------------------------------ From 779c2392e700f298d3e6e632c0a9f4faf3444a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 2 Apr 2022 16:07:38 +0200 Subject: [PATCH 118/126] Some doc fixes as preparation for PDF generation (#1044) * Some doc fixes as preparation for PDF generation * Some doc bug fixes and enhancements for PDF manual generation --- src/lay/lay/doc/about/custom_queries.xml | 8 +- src/lay/lay/doc/about/macro_in_menu.xml | 8 +- src/lay/lay/doc/manual/lvs_intro.xml | 4 +- src/lay/lay/doc/manual/lvs_tweaks.xml | 2 +- src/lay/lay/doc/manual/tiling.xml | 6 +- src/lay/lay/doc/programming/database_api.xml | 6 +- src/lay/lay/gsiDeclLayHelpDialog.cc | 11 ++- src/lay/lay/layGSIHelpProvider.cc | 85 +++++++++++-------- src/lay/lay/layGSIHelpProvider.h | 12 +-- src/lay/lay/layHelpProvider.h | 12 +-- src/lay/lay/layHelpSource.cc | 68 ++++++++++++--- src/lay/lay/layHelpSource.h | 20 ++++- src/lay/lay/layResourceHelpProvider.cc | 2 +- src/lay/lay/layResourceHelpProvider.h | 6 +- src/laybasic/laybasic/gsiDeclLayDialogs.cc | 28 +++++- .../lefdef/db_plugin/gsiDeclDbLEFDEF.cc | 14 +-- src/rba/rba/rba.cc | 2 +- 17 files changed, 202 insertions(+), 92 deletions(-) diff --git a/src/lay/lay/doc/about/custom_queries.xml b/src/lay/lay/doc/about/custom_queries.xml index 406456754..605c16457 100644 --- a/src/lay/lay/doc/about/custom_queries.xml +++ b/src/lay/lay/doc/about/custom_queries.xml @@ -600,22 +600,22 @@ 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 from shape and instance bounding boxes). cell_dbbox - + Same as "dbbox" (disambiguator from shape and instance bounding boxes). 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_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 af5550532..f07092760 100644 --- a/src/lay/lay/doc/manual/lvs_tweaks.xml +++ b/src/lay/lay/doc/manual/lvs_tweaks.xml @@ -226,7 +226,7 @@ schematic.blank_circuit("CIRCUIT_NAME")

    - +

    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/database_api.xml b/src/lay/lay/doc/programming/database_api.xml index 07fe4b06a..dc208daf8 100644 --- a/src/lay/lay/doc/programming/database_api.xml +++ b/src/lay/lay/doc/programming/database_api.xml @@ -1139,9 +1139,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/gsiDeclLayHelpDialog.cc b/src/lay/lay/gsiDeclLayHelpDialog.cc index a40d7777d..e4210ef99 100644 --- a/src/lay/lay/gsiDeclLayHelpDialog.cc +++ b/src/lay/lay/gsiDeclLayHelpDialog.cc @@ -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/layGSIHelpProvider.cc b/src/lay/lay/layGSIHelpProvider.cc index 5b5ea5019..280220dc8 100644 --- a/src/lay/lay/layGSIHelpProvider.cc +++ b/src/lay/lay/layGSIHelpProvider.cc @@ -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 02537e2f6..bfe399df9 100644 --- a/src/lay/lay/layGSIHelpProvider.h +++ b/src/lay/lay/layGSIHelpProvider.h @@ -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/layHelpProvider.h b/src/lay/lay/layHelpProvider.h index 5d4a4b64d..d7f241b81 100644 --- a/src/lay/lay/layHelpProvider.h +++ b/src/lay/lay/layHelpProvider.h @@ -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/layHelpSource.cc b/src/lay/lay/layHelpSource.cc index 2d83f291d..beb1aa7c0 100644 --- a/src/lay/lay/layHelpSource.cc +++ b/src/lay/lay/layHelpSource.cc @@ -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 93d98396d..222a85cd5 100644 --- a/src/lay/lay/layHelpSource.h +++ b/src/lay/lay/layHelpSource.h @@ -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/layResourceHelpProvider.cc b/src/lay/lay/layResourceHelpProvider.cc index 684aefa39..18da8067e 100644 --- a/src/lay/lay/layResourceHelpProvider.cc +++ b/src/lay/lay/layResourceHelpProvider.cc @@ -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 034089b29..427591fae 100644 --- a/src/lay/lay/layResourceHelpProvider.h +++ b/src/lay/lay/layResourceHelpProvider.h @@ -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/laybasic/laybasic/gsiDeclLayDialogs.cc b/src/laybasic/laybasic/gsiDeclLayDialogs.cc index e9e9609db..5b230f11c 100644 --- a/src/laybasic/laybasic/gsiDeclLayDialogs.cc +++ b/src/laybasic/laybasic/gsiDeclLayDialogs.cc @@ -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" diff --git a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc index 25587d6c9..c39b26753 100644 --- a/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc +++ b/src/plugins/streamers/lefdef/db_plugin/gsiDeclDbLEFDEF.cc @@ -262,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/rba/rba/rba.cc b/src/rba/rba/rba.cc index be64ce1a9..2a0c1b8f5 100644 --- a/src/rba/rba/rba.cc +++ b/src/rba/rba/rba.cc @@ -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"; From f8bd4dafaf33c3a1664b312444604588f4d1ff3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 3 Apr 2022 20:51:29 +0200 Subject: [PATCH 119/126] Pdf documentation (#1052) * Some doc fixes as preparation for PDF generation * Some doc bug fixes and enhancements for PDF manual generation * Fixed a number of invalid references found during PDF generation * Enable PCellDeclarationHelper doc for help system * Fixed doc text * Fixed some doc issues with invalid links etc. --- scripts/extract_doc.rb | 4 ++ src/db/db/gsiDeclDbCellMapping.cc | 2 +- src/db/db/gsiDeclDbLayout.cc | 6 +-- src/db/db/gsiDeclDbNetlist.cc | 10 +++- .../db/gsiDeclDbRecursiveInstanceIterator.cc | 2 +- .../drc/built-in-macros/_drc_complex_ops.rb | 8 +-- src/drc/drc/built-in-macros/_drc_engine.rb | 2 +- src/drc/drc/built-in-macros/_drc_layer.rb | 2 +- src/drc/drc/built-in-macros/_drc_netter.rb | 2 +- src/img/img/gsiDeclImg.cc | 2 +- src/lay/lay/doc/about/drc_ref_drc.xml | 8 +-- src/lay/lay/doc/about/drc_ref_global.xml | 54 ++++++++++++++++--- src/lay/lay/doc/about/drc_ref_layer.xml | 20 +++---- src/lay/lay/doc/about/drc_ref_netter.xml | 2 +- src/lay/lay/doc/about/lef_def_import.xml | 6 +-- src/lay/lay/doc/about/lvs_ref_global.xml | 2 +- src/lay/lay/doc/about/macro_editor.xml | 2 +- src/lay/lay/doc/manual/lvs_device_classes.xml | 6 +-- .../lay/doc/programming/application_api.xml | 8 ++- src/lay/lay/doc/programming/database_api.xml | 31 ++++++----- src/lay/lay/doc/programming/geometry_api.xml | 12 +++-- src/lay/lay/gsiDeclLayMainWindow.cc | 2 +- src/lay/lay/layApplication.cc | 4 ++ src/laybasic/laybasic/gsiDeclLayDialogs.cc | 1 - src/lvs/lvs/built-in-macros/_lvs_engine.rb | 2 +- src/rdb/rdb/gsiDeclRdb.cc | 6 +-- 26 files changed, 133 insertions(+), 73 deletions(-) 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/src/db/db/gsiDeclDbCellMapping.cc b/src/db/db/gsiDeclDbCellMapping.cc index 5da972fa6..db187edf2 100644 --- a/src/db/db/gsiDeclDbCellMapping.cc +++ b/src/db/db/gsiDeclDbCellMapping.cc @@ -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/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index e2e48e1eb..4935a928a 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -1027,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" @@ -1770,7 +1770,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" @@ -1784,7 +1784,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" diff --git a/src/db/db/gsiDeclDbNetlist.cc b/src/db/db/gsiDeclDbNetlist.cc index c52416bb9..6d3762e1d 100644 --- a/src/db/db/gsiDeclDbNetlist.cc +++ b/src/db/db/gsiDeclDbNetlist.cc @@ -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/gsiDeclDbRecursiveInstanceIterator.cc b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc index dcce3a0dd..4946d2859 100644 --- a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc +++ b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc @@ -526,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/drc/drc/built-in-macros/_drc_complex_ops.rb b/src/drc/drc/built-in-macros/_drc_complex_ops.rb index 8b9628842..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 diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 52f8d8f23..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) 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/img/img/gsiDeclImg.cc b/src/img/img/gsiDeclImg.cc index a798b6c01..27e13f72c 100644 --- a/src/img/img/gsiDeclImg.cc +++ b/src/img/img/gsiDeclImg.cc @@ -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/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
    "; + if (rows > 1) { + os << ""; + sigindex = 0; + } else { + os << ""; + sigindex = -1; + } os << "

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

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

    -

    "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 d685e1a70..2b7666ddb 100644 --- a/src/lay/lay/doc/about/lvs_ref_global.xml +++ b/src/lay/lay/doc/about/lvs_ref_global.xml @@ -100,7 +100,7 @@ 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

    +

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

    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/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/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 dc208daf8..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

      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/gsiDeclLayMainWindow.cc b/src/lay/lay/gsiDeclLayMainWindow.cc index a5970dc55..17fa2f064 100644 --- a/src/lay/lay/gsiDeclLayMainWindow.cc +++ b/src/lay/lay/gsiDeclLayMainWindow.cc @@ -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 a66c633a2..1ed3c8285 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -762,6 +762,10 @@ ApplicationBase::init_app () // run all early autorun macros 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) { diff --git a/src/laybasic/laybasic/gsiDeclLayDialogs.cc b/src/laybasic/laybasic/gsiDeclLayDialogs.cc index 5b230f11c..9cf0bc960 100644 --- a/src/laybasic/laybasic/gsiDeclLayDialogs.cc +++ b/src/laybasic/laybasic/gsiDeclLayDialogs.cc @@ -805,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/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb index 64f577886..687f4868a 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_engine.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_engine.rb @@ -210,7 +210,7 @@ module LVS # %LVS% # @name lvs_data - # @brief Gets the \LayoutVsSchematic object after compare was used + # @brief Gets the RBA::LayoutVsSchematic object after compare was used # @synopsis lvs_data # See \Netter#lvs_data for a description of that function. diff --git a/src/rdb/rdb/gsiDeclRdb.cc b/src/rdb/rdb/gsiDeclRdb.cc index bf03f816d..1a410e670 100644 --- a/src/rdb/rdb/gsiDeclRdb.cc +++ b/src/rdb/rdb/gsiDeclRdb.cc @@ -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" From afe7de9ca7232607a6f9256698a62f5d3661a621 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 4 Apr 2022 01:07:47 +0200 Subject: [PATCH 120/126] Fixed a potential crash when calling 'technology_changed_event' on an invalid CellViewRef. --- src/laybasic/laybasic/gsiDeclLayLayoutView.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/laybasic/laybasic/gsiDeclLayLayoutView.cc b/src/laybasic/laybasic/gsiDeclLayLayoutView.cc index 856e44fbb..e5bf11472 100644 --- a/src/laybasic/laybasic/gsiDeclLayLayoutView.cc +++ b/src/laybasic/laybasic/gsiDeclLayLayoutView.cc @@ -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; } From 981db08dea7bdc0a6f59940d1ab02cf77fd880b9 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 4 Apr 2022 01:09:19 +0200 Subject: [PATCH 121/126] More automatic conversion of int to enum and vice versa + automatic object-to-variant conversion when supplying to_int, to_double or to_variant functions. Discussion 2052. --- src/gsi/gsi/gsiClass.h | 69 +++++++++++++++++++- src/gsi/gsi/gsiEnums.h | 39 +++++++++-- src/gsi/gsi/gsiExpression.cc | 90 ++++++++++++++++++++++++++ src/gsi/gsi/gsiExpression.h | 3 + src/tl/tl/tlTypeTraits.h | 36 +++++++++++ src/tl/tl/tlVariant.cc | 28 +++++++- src/tl/tl/tlVariant.h | 4 ++ src/tl/tl/tlVariantUserClasses.h | 68 ++++++++++++++++++- src/tl/unit_tests/tlExpressionTests.cc | 6 ++ 9 files changed, 335 insertions(+), 8 deletions(-) diff --git a/src/gsi/gsi/gsiClass.h b/src/gsi/gsi/gsiClass.h index edad9e75d..e116d54bb 100644 --- a/src/gsi/gsi/gsiClass.h +++ b/src/gsi/gsi/gsiClass.h @@ -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/gsiEnums.h b/src/gsi/gsi/gsiEnums.h index acbee7079..457bb305a 100644 --- a/src/gsi/gsi/gsiEnums.h +++ b/src/gsi/gsi/gsiEnums.h @@ -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 b6e534342..abda57030 100644 --- a/src/gsi/gsi/gsiExpression.cc +++ b/src/gsi/gsi/gsiExpression.cc @@ -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 d422999d9..d0ff096d4 100644 --- a/src/gsi/gsi/gsiExpression.h +++ b/src/gsi/gsi/gsiExpression.h @@ -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/tl/tl/tlTypeTraits.h b/src/tl/tl/tlTypeTraits.h index 9f94978f6..491907dc5 100644 --- a/src/tl/tl/tlTypeTraits.h +++ b/src/tl/tl/tlTypeTraits.h @@ -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/tlVariant.cc b/src/tl/tl/tlVariant.cc index 72dd3c32d..7e46e0add 100644 --- a/src/tl/tl/tlVariant.cc +++ b/src/tl/tl/tlVariant.cc @@ -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 d50b33be5..14a388dea 100644 --- a/src/tl/tl/tlVariant.h +++ b/src/tl/tl/tlVariant.h @@ -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 4596eac5e..db27a852c 100644 --- a/src/tl/tl/tlVariantUserClasses.h +++ b/src/tl/tl/tlVariantUserClasses.h @@ -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/unit_tests/tlExpressionTests.cc b/src/tl/unit_tests/tlExpressionTests.cc index 6cd4fb4c0..b25c54c44 100644 --- a/src/tl/unit_tests/tlExpressionTests.cc +++ b/src/tl/unit_tests/tlExpressionTests.cc @@ -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; } From a1318599fe2dc43b8dbe0b9c3f537ecae08b6434 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 4 Apr 2022 23:28:16 +0200 Subject: [PATCH 122/126] Fixed #1054 (only an issue in debug builds so far) --- src/pya/pya/pyaModule.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pya/pya/pyaModule.cc b/src/pya/pya/pyaModule.cc index 54f81d9e5..0f962fa7e 100644 --- a/src/pya/pya/pyaModule.cc +++ b/src/pya/pya/pyaModule.cc @@ -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); From 6a842cdc53cf71f383e14dd97454b0f07a379940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sat, 9 Apr 2022 18:07:30 +0200 Subject: [PATCH 123/126] First attempt to implement X2 net names. Needs reconfirmation. (#1056) --- .../pcb/db_plugin/dbGerberImporter.cc | 23 +++++++++++- .../pcb/db_plugin/dbGerberImporter.h | 2 +- .../streamers/pcb/db_plugin/dbRS274XReader.cc | 37 +++++++++++++++++++ .../streamers/pcb/db_plugin/dbRS274XReader.h | 2 + 4 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc index 44afbddad..7f1a64142 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.cc @@ -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 cdfe8c2ca..0fcf5ebc4 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h +++ b/src/plugins/streamers/pcb/db_plugin/dbGerberImporter.h @@ -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/dbRS274XReader.cc b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc index bdeaa0b87..ee8e4eec8 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.cc @@ -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 40ff94a11..77db31ee0 100644 --- a/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h +++ b/src/plugins/streamers/pcb/db_plugin/dbRS274XReader.h @@ -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 (); From 0df479b29cfdc6163986b06bc1528dbda42517a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 10 Apr 2022 18:41:26 +0200 Subject: [PATCH 124/126] Issue 1057 (Library#refresh enhancements) (#1060) * Added Layout#refresh and added that to Library#refresh * Doc updates, clarification --- src/db/db/dbLayout.cc | 8 ++++++++ src/db/db/dbLayout.h | 8 ++++++++ src/db/db/dbLibrary.cc | 1 + src/db/db/gsiDeclDbCell.cc | 8 ++++++-- src/db/db/gsiDeclDbLayout.cc | 8 ++++++++ src/db/db/gsiDeclDbLibrary.cc | 1 + 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/db/db/dbLayout.cc b/src/db/db/dbLayout.cc index 22c8411a7..31eb1ea41 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -1560,6 +1560,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) { diff --git a/src/db/db/dbLayout.h b/src/db/db/dbLayout.h index e6318ca5c..69e243b2a 100644 --- a/src/db/db/dbLayout.h +++ b/src/db/db/dbLayout.h @@ -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 */ diff --git a/src/db/db/dbLibrary.cc b/src/db/db/dbLibrary.cc index 5c012dc52..4fa34f794 100644 --- a/src/db/db/dbLibrary.cc +++ b/src/db/db/dbLibrary.cc @@ -148,6 +148,7 @@ Library::is_retired (const db::cell_index_type library_cell_index) const void Library::refresh () { + layout ().refresh (); remap_to (this); } diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index bdb4011e6..b0eaf1704 100644 --- a/src/db/db/gsiDeclDbCell.cc +++ b/src/db/db/gsiDeclDbCell.cc @@ -2932,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/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index 4935a928a..68e1f7802 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -1089,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." diff --git a/src/db/db/gsiDeclDbLibrary.cc b/src/db/db/gsiDeclDbLibrary.cc index 6b3c64c19..d6537599f 100644 --- a/src/db/db/gsiDeclDbLibrary.cc +++ b/src/db/db/gsiDeclDbLibrary.cc @@ -237,6 +237,7 @@ LibraryClass decl_Library ("db", "Library", 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." ), From cb527cc50b2b5f7eb1786f69eb0a9d3c11ee566d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 10 Apr 2022 18:41:58 +0200 Subject: [PATCH 125/126] Issue-1058: implemented backspace button for path and polygon (#1061) --- src/edt/edt/edtService.cc | 11 ++++++++++ src/edt/edt/edtService.h | 12 +++++++++++ src/edt/edt/edtServiceImpl.cc | 22 +++++++++++++++++++- src/edt/edt/edtServiceImpl.h | 2 ++ src/laybasic/laybasic/layEditorServiceBase.h | 1 - 5 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index d7e481492..40dbefc39 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -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 41236648e..f084f7a01 100644 --- a/src/edt/edt/edtService.h +++ b/src/edt/edt/edtService.h @@ -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 8a499991d..b22360339 100644 --- a/src/edt/edt/edtServiceImpl.cc +++ b/src/edt/edt/edtServiceImpl.cc @@ -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" diff --git a/src/edt/edt/edtServiceImpl.h b/src/edt/edt/edtServiceImpl.h index 301122c0c..c3caf4383 100644 --- a/src/edt/edt/edtServiceImpl.h +++ b/src/edt/edt/edtServiceImpl.h @@ -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/laybasic/laybasic/layEditorServiceBase.h b/src/laybasic/laybasic/layEditorServiceBase.h index dfeb5332b..d088c22fe 100644 --- a/src/laybasic/laybasic/layEditorServiceBase.h +++ b/src/laybasic/laybasic/layEditorServiceBase.h @@ -130,7 +130,6 @@ private: std::vector m_mouse_cursor_markers; QColor m_cursor_color; bool m_cursor_enabled; - lay::LayoutView *mp_view; bool m_has_tracking_position; db::DPoint m_tracking_position; }; From 3615b50fc46cf6019adef834d5b0e557964246e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Sun, 10 Apr 2022 18:44:24 +0200 Subject: [PATCH 126/126] A couple of enhancements and bugfixes found during issue-1059 research (#1062) * Opportunity fix: library selection box listed libraries with technology even though no technology is selected. * Opportunity: show PCell errors on new error layer. Previously, errors were only shown when the PCell had at least a single layer parameter The error text is drawn together with guiding shapes. Disabling guiding shapes will turn off error display. * Opportunity: fixed an issue when reloading a library immediately after loading a layout: in this case, the library connection got lost and cells were substituted by static ones * Opportunity: added a layout cleanup for the following case: a layout is loaded without the library present - giving defunct cells. Then the library is registered and defunct cells are reconnected. --- src/db/db/dbLayout.cc | 27 ++++++++++++++++++- src/db/db/dbLayout.h | 8 ++++++ src/db/db/dbLibraryManager.cc | 10 ++++++- src/db/db/dbLibraryProxy.cc | 5 ++++ src/db/db/dbPCellVariant.cc | 6 ++--- src/edt/edt/edtEditorOptionsPages.cc | 2 +- .../laybasic/LayoutViewConfigPage2a.ui | 14 +++++----- src/laybasic/laybasic/layMarker.cc | 15 +++++++++++ .../laybasic/layRedrawThreadWorker.cc | 21 ++++++++++++--- 9 files changed, 91 insertions(+), 17 deletions(-) diff --git a/src/db/db/dbLayout.cc b/src/db/db/dbLayout.cc index 31eb1ea41..4c629a94d 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -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; @@ -1946,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 { @@ -2555,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 69e243b2a..a647e0495 100644 --- a/src/db/db/dbLayout.h +++ b/src/db/db/dbLayout.h @@ -1709,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 */ @@ -1891,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/dbLibraryManager.cc b/src/db/db/dbLibraryManager.cc index 140c4d12f..80eca6f39 100644 --- a/src/db/db/dbLibraryManager.cc +++ b/src/db/db/dbLibraryManager.cc @@ -183,7 +183,6 @@ LibraryManager::register_lib (Library *library) if (found) { // substitute old_lib = m_libs [l->second]; - m_libs [l->second] = 0; m_lib_by_name.erase (l); } @@ -193,10 +192,19 @@ LibraryManager::register_lib (Library *library) } if (old_lib) { + 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 diff --git a/src/db/db/dbLibraryProxy.cc b/src/db/db/dbLibraryProxy.cc index 8401acc48..35e30077f 100644 --- a/src/db/db/dbLibraryProxy.cc +++ b/src/db/db/dbLibraryProxy.cc @@ -159,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/dbPCellVariant.cc b/src/db/db/dbPCellVariant.cc index a0a5e72d5..3f8f7bdee 100644 --- a/src/db/db/dbPCellVariant.cc +++ b/src/db/db/dbPCellVariant.cc @@ -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/edt/edt/edtEditorOptionsPages.cc b/src/edt/edt/edtEditorOptionsPages.cc index 9380e9eda..3f33fd310 100644 --- a/src/edt/edt/edtEditorOptionsPages.cc +++ b/src/edt/edt/edtEditorOptionsPages.cc @@ -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/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/layMarker.cc b/src/laybasic/laybasic/layMarker.cc index 4fd53b135..ac08e6d95 100644 --- a/src/laybasic/laybasic/layMarker.cc +++ b/src/laybasic/laybasic/layMarker.cc @@ -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/layRedrawThreadWorker.cc b/src/laybasic/laybasic/layRedrawThreadWorker.cc index e9844b9b7..b63e15b2a 100644 --- a/src/laybasic/laybasic/layRedrawThreadWorker.cc +++ b/src/laybasic/laybasic/layRedrawThreadWorker.cc @@ -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; + } }