Merge pull request #970 from KLayout/issue-969

Issue 969
This commit is contained in:
Matthias Köfferlein 2022-01-12 22:50:15 +01:00 committed by GitHub
commit 13eba4e6bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 3 deletions

View File

@ -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")
}

View File

@ -455,6 +455,7 @@ Class<PCellDeclarationImpl> 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"

View File

@ -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);

View File

@ -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)