From 363c0c9fed14e55e17eee5384860d00556c916f5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 6 Feb 2018 22:51:06 +0100 Subject: [PATCH 01/20] Fixed #73 (allow 'change layers' on PCells which support a single layer parameter) --- src/db/db/dbLayout.cc | 20 ++++++++++++++ src/db/db/dbLayout.h | 13 +++++++++- src/edt/edt/edtMainService.cc | 49 +++++++++++++++++++++++++++++++---- 3 files changed, 76 insertions(+), 6 deletions(-) diff --git a/src/db/db/dbLayout.cc b/src/db/db/dbLayout.cc index 021b9058e..8f09cf238 100644 --- a/src/db/db/dbLayout.cc +++ b/src/db/db/dbLayout.cc @@ -1884,6 +1884,26 @@ Layout::is_pcell_instance (cell_index_type cell_index) const } } +const Layout::pcell_declaration_type * +Layout::pcell_declaration_for_pcell_variant (cell_index_type variant_cell_index) const +{ + const Cell *variant_cell = &cell (variant_cell_index); + + const LibraryProxy *lib_proxy = dynamic_cast (variant_cell); + if (lib_proxy) { + Library *lib = LibraryManager::instance ().lib (lib_proxy->lib_id ()); + tl_assert (lib != 0); + return lib->layout ().pcell_declaration_for_pcell_variant (lib_proxy->library_cell_index ()); + } + + const PCellVariant *pcell_variant = dynamic_cast (variant_cell); + if (pcell_variant) { + return pcell_declaration (pcell_variant->pcell_id ()); + } else { + return 0; + } +} + std::pair Layout::defining_library (cell_index_type cell_index) const { diff --git a/src/db/db/dbLayout.h b/src/db/db/dbLayout.h index 4a8a4222e..2506b0558 100644 --- a/src/db/db/dbLayout.h +++ b/src/db/db/dbLayout.h @@ -881,11 +881,22 @@ public: */ std::pair defining_library (cell_index_type cell_index) const; + /** + * @brief Gets the PCell declaration object for a PCell instance + * + * This method determines the PCell declaration object for a given PCell variant cell. + * Note, that the declaration may originate from a different layout than this, if the PCell + * is imported from a library. + * + * The cell given cell is not a PCell variant cell, 0 is returned. + */ + const Layout::pcell_declaration_type *pcell_declaration_for_pcell_variant (cell_index_type cell_index) const; + /** * @brief Get the PCell parameters of a PCell instance * * For the order of the parameters, ask the PCell declaration (available trough Layout::pcell_declaration - * from the PCell id). + * from the PCell id or from Layout::pcell_declaration_for_pcell_variant from the cell_index). * * @return A list of parameters in the order they are declared. */ diff --git a/src/edt/edt/edtMainService.cc b/src/edt/edt/edtMainService.cc index deb4f88cb..59bf0a572 100644 --- a/src/edt/edt/edtMainService.cc +++ b/src/edt/edt/edtMainService.cc @@ -1906,12 +1906,10 @@ MainService::cm_change_layer () // get (common) cellview index of the selected shapes for (std::vector::const_iterator es = edt_services.begin (); es != edt_services.end (); ++es) { for (edt::Service::obj_iterator s = (*es)->selection ().begin (); s != (*es)->selection ().end (); ++s) { - if (! s->is_cell_inst ()) { - if (cv_index >= 0 && cv_index != int (s->cv_index ())) { - throw tl::Exception (tl::to_string (QObject::tr ("Selections originate from different layouts - cannot switch layer in this case."))); - } - cv_index = int (s->cv_index ()); + if (cv_index >= 0 && cv_index != int (s->cv_index ())) { + throw tl::Exception (tl::to_string (QObject::tr ("Selections originate from different layouts - cannot switch layer in this case."))); } + cv_index = int (s->cv_index ()); } } @@ -1975,17 +1973,58 @@ MainService::cm_change_layer () // Insert and delete the shape. This exploits the fact, that a shape can be erased multiple times - // this is important since the selection potentially contains the same shape multiple times. for (std::vector::const_iterator es = edt_services.begin (); es != edt_services.end (); ++es) { + for (edt::Service::obj_iterator s = (*es)->selection ().begin (); s != (*es)->selection ().end (); ++s) { + if (!s->is_cell_inst () && int (s->layer ()) != layer) { + db::Cell &cell = layout.cell (s->cell_index ()); if (cell.shapes (s->layer ()).is_valid (s->shape ())) { cell.shapes (layer).insert (s->shape ()); cell.shapes (s->layer ()).erase_shape (s->shape ()); } + + } else if (s->is_cell_inst ()) { + + // If the selected object is a PCell instance, and there is exactly one visible, writable layer type parameter, change this one + + db::Instance inst = s->back ().inst_ptr; + db::Cell &cell = layout.cell (s->cell_index ()); + + if (cell.is_valid (inst)) { + + const db::PCellDeclaration *pcell_decl = layout.pcell_declaration_for_pcell_variant (inst.cell_index ()); + if (pcell_decl) { + + size_t layer_par_index = 0; + int n_layer_par = 0; + for (std::vector::const_iterator d = pcell_decl->parameter_declarations ().begin (); d != pcell_decl->parameter_declarations ().end () && n_layer_par < 2; ++d) { + if (d->get_type () == db::PCellParameterDeclaration::t_layer && !d->is_hidden () && !d->is_readonly ()) { + ++n_layer_par; + layer_par_index = size_t (d - pcell_decl->parameter_declarations ().begin ()); + } + } + + if (n_layer_par == 1) { + std::vector parameters = cell.get_pcell_parameters (inst); + tl_assert (layer_par_index < parameters.size ()); + parameters [layer_par_index] = layout.get_properties (layer); + cell.change_pcell_parameters (inst, parameters); + } + + } + + } + } + } + } + // remove superfluous proxies + layout.cleanup (); + // The selection is no longer valid view ()->clear_selection (); From 6df645a917a2b0304862bb4bc2efc74fe145d9d5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 8 Feb 2018 23:12:58 +0100 Subject: [PATCH 02/20] Fixed #74 (small-corner boolean issue). Tests need update --- src/db/db/dbEdgeProcessor.cc | 18 ++++++++-- src/db/unit_tests/dbEdgeProcessor.cc | 51 ++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/src/db/db/dbEdgeProcessor.cc b/src/db/db/dbEdgeProcessor.cc index 60c449a13..60889271b 100644 --- a/src/db/db/dbEdgeProcessor.cc +++ b/src/db/db/dbEdgeProcessor.cc @@ -1349,13 +1349,17 @@ get_intersections_per_band_any (std::vector &cutpoints, std::vector // the cutpoint will be a weak attractor - that is an optional cutpoint. // In that case we can skip the cutpoint because no related edge will move. ip_weak.clear (); + size_t n_off_edge = on_edge1 ? 0 : 1; for (std::vector ::iterator cc = c; cc != f; ++cc) { if ((with_h || cc->dy () != 0) && cc != c1 && cc != c2 && is_point_on_fuzzy (*cc, cp.second)) { ip_weak.push_back (&*cc); + if (!is_point_on_exact (*cc, cp.second)) { + ++n_off_edge; + } } } for (std::vector ::iterator icc = ip_weak.begin (); icc != ip_weak.end (); ++icc) { - if (ip_weak.size () > 1 || !on_edge1) { + if (n_off_edge > 1) { (*icc)->make_cutpoints (cutpoints)->add (cp.second, &cutpoints, true); #ifdef DEBUG_EDGE_PROCESSOR printf ("intersection point %s gives cutpoint in %s.\n", cp.second.to_string ().c_str (), (*icc)->to_string ().c_str ()); @@ -1435,13 +1439,23 @@ get_intersections_per_band_any (std::vector &cutpoints, std::vector // the cutpoint will be a weak attractor - that is an optional cutpoint. // In that case we can skip the cutpoint because no related edge will move. ip_weak.clear (); + size_t n_off_edge = 0; + if (!on_edge1) { + n_off_edge += 1; + } + if (!on_edge2) { + n_off_edge += 1; + } for (std::vector ::iterator cc = c; cc != f; ++cc) { if ((with_h || cc->dy () != 0) && cc != c1 && cc != c2 && is_point_on_fuzzy (*cc, cp.second)) { ip_weak.push_back (&*cc); + if (!is_point_on_exact (*cc, cp.second)) { + ++n_off_edge; + } } } for (std::vector ::iterator icc = ip_weak.begin (); icc != ip_weak.end (); ++icc) { - if (ip_weak.size () > 1 || !on_edge1 || !on_edge2) { + if (n_off_edge > 1) { (*icc)->make_cutpoints (cutpoints)->add (cp.second, &cutpoints, true); #ifdef DEBUG_EDGE_PROCESSOR printf ("intersection point %s gives cutpoint in %s.\n", cp.second.to_string ().c_str (), (*icc)->to_string ().c_str ()); diff --git a/src/db/unit_tests/dbEdgeProcessor.cc b/src/db/unit_tests/dbEdgeProcessor.cc index 72e29671a..623defb7e 100644 --- a/src/db/unit_tests/dbEdgeProcessor.cc +++ b/src/db/unit_tests/dbEdgeProcessor.cc @@ -2244,3 +2244,54 @@ TEST(100) db::compare_layouts (_this, lr, au_fn); } +// #74 (GitHub) +TEST(101) +{ + db::EdgeProcessor ep; + + { + db::Point pts[] = { + db::Point (0, 0), + db::Point (0, 10), + db::Point (10, 10), + db::Point (10, 0) + }; + db::Polygon p; + p.assign_hull (&pts[0], &pts[sizeof(pts) / sizeof(pts[0])]); + ep.insert (p, 0); + } + + { + db::Point pts[] = { + db::Point (-1, -1), + db::Point (-1, 8), + db::Point (2, 11), + db::Point (2, -1) + }; + db::Polygon p; + p.assign_hull (&pts[0], &pts[sizeof(pts) / sizeof(pts[0])]); + ep.insert (p, 1); + } + + { + db::Point pts[] = { + db::Point (2, -1), + db::Point (2, 11), + db::Point (11, 11), + db::Point (11, -1) + }; + db::Polygon p; + p.assign_hull (&pts[0], &pts[sizeof(pts) / sizeof(pts[0])]); + ep.insert (p, 1); + } + + std::vector out; + db::PolygonContainer pc (out); + db::PolygonGenerator pg (pc, false, true); + db::BooleanOp op (db::BooleanOp::And); + + ep.process (pg, op); + + EXPECT_EQ (out.size (), size_t (1)); + EXPECT_EQ (out[0].to_string (), "(0,0;0,9;1,10;10,10;10,0)"); +} From 0950d4d27d24df8b67cdfce5b54e0ed53ae55747 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 8 Feb 2018 23:51:49 +0100 Subject: [PATCH 03/20] Updated test cases --- testdata/bool/special2_au1.oas | Bin 509758 -> 509757 bytes testdata/bool/special2_au1_tz.oas | Bin 462009 -> 462014 bytes testdata/bool/special2_au2.oas | Bin 393320 -> 393324 bytes testdata/bool/special2_au2_tz.oas | Bin 360505 -> 360512 bytes testdata/bool/special2_au4.oas | Bin 394660 -> 394646 bytes testdata/bool/special2_au4_tz.oas | Bin 355393 -> 355383 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/testdata/bool/special2_au1.oas b/testdata/bool/special2_au1.oas index 471528b62ade62515d1693b1327381ef96345a7d..edc8aff89df86a41f6a141843ac880ba4e725dae 100644 GIT binary patch delta 133714 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

sqIZ3rjV?GauRO-@u%zg-(jh)m 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%0AK3@`M>)&va0{_bup}i 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ⅆ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 Si#g`zZT@*ZZQ8WUF8g19HI@qi diff --git a/testdata/bool/special2_au1_tz.oas b/testdata/bool/special2_au1_tz.oas index 57478e97fecc905c1af8dcd72ef2c7fe58b95519..b677cc72d1f5761611bc66f362a4ff8daaafe6fb 100644 GIT binary patch delta 34007 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 J2y{lq{{tmSc)kDt delta 33671 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

mGRkg!h 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 C!BhbN diff --git a/testdata/bool/special2_au2.oas b/testdata/bool/special2_au2.oas index dd1d49e6c6befef2a6877bcaa1b1e9df3b3847d0..56d1c79e735fab66a5026ddf808871610ec950f3 100644 GIT binary patch delta 110035 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

$wE;jdPjH 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 diff --git a/testdata/bool/special2_au2_tz.oas b/testdata/bool/special2_au2_tz.oas index 0deca4d3aa00b62b7d78e93fec63c60ebe9dea4b..76d37a8c9421cc5e0d41a87bf2af7ab3ca1071eb 100644 GIT binary patch delta 25651 zcmX|p4V=u?{=aiR=X}32-`UyO*)cQwFgyFivTQ6NDcU4@kmPptB)QV&vMX1Tge$R@q`i_PX-SeRN&MfRGuwT6y}Wj2zTa~`&(G()TNzth z8LM0_o|!1S$%bpMlxshf(cTSHCyEb0lzs0q)x*?nCOn_!HWb`KChYbQQp!_-hMePc zESY|>lHL2IEfijxPjWV>hBy1FceSs#kUn2kU~9weSI|qDxs)$!MUR~bcrxplh}DR*$~5=WL(HUl+GtjONWI(2 zqVhA&Zo3%3h*LeSaZL9Q=}uo(rO2iAYQK3ZPJPp`L`05?QlryErumOLX+F=Rjt$rR zl}bd8?5^Fj0qLEkeD%E}UkS>IN;P(TTFQpE-y@}cJrreT_^DmPu`gAbaC<13S-w>? zG(SOiinah9TL-XplkmhuU8@K6Zg^-VeWJQy*O1&NLUe)_yNqx*nGvUTvR>nZ%$Ied z-i=v8$ZC;Xrw5qV2hrPO{akYDc@2>Z@6PWpu5Z;FVgMPSqWli)fUHV^NJp3x>wM{?Wuo7 zz`raw0n+chB6{;`MFm|BrX6M3mPKKGO711|!FSM!i?*r@YyM6#6FQ^{N@V7!mChRB zsaL$2G*OOxpNf9-jk%>tL?Na{6$h}%IeFH^zoWjaNSTdLi$)q{7DGOR_@WqChiJ8` zl;+A@DloVA)y0P1S2^a}vDC@Wn@4psZ8o1BR6WhJ<7tSQ|E7A_R9>ocP5v{gGZVId z(0|-F$1#_Ur*6F=iLvF*Zc78uIJs0o+}`%>W_giCLuZIZiqXrLqmq-w1N>$G@)?09 z$0R1Jc4op36$YTNU%AvGW;ka3B6TzG5%LNqr%iCo-~{ETwWm5c3xt2(KVO)3m*~Qr zY&j}KgE##ytbW?CQU@UuKJ3 z2e`n3Af2QMzY{%3GiiqX0EpwXMD4U|hG32IX@jcOo_yNrG||m^!I^K>iX|jKXXSiG z2XJIm1v+~4g1+KSnn0x^z6+!*L@r1Yr$z28_>X%BGnhd+v=*{8T_!y7h1x6L6gf;u z=&zsV!VvQZs6v)%2wliNWr?|O$H+25A))$-of1?4W=?I%np=!HoM2#vt>#Vgxo68j4pyrdAHc;Q04Z1-&gS1ainzcokzDMUp%EJR;&vT>@iHCtDBu<7z|ORl()1sy zyN$B|M5xC)$o6)z3XZr3OGZv3WOIhQRR!93|IdORgx~2(v&4M1#FUc}rKM^sfPUhH zcu()Mgn($}(P?MB{Q$&d2P)ca9}oD-2Udsrc%s`Wv4e#JO9bS|*h(|$Iz7q!HK6mZ z0Df`o;ioI={-^(m<4(O59^jJPsV70wx5<W#)yc5cON1QQw+I(pNU*u2dsLL$6ILS2tWfMI}Vau4N=z z$XXQM9=_JCw?P)~7CTFj4Db*H3ei^G%sd8#)`~hkOTr~O2pPb27NdMxr>8*PE+2W0 zwxp<<(VnUWG!{=}jmo9X&QjsYjqY6ePf<48SuJyU=|WkFcXx|9Ro?K$P?b?{s;ss- z@I!0WG7CGF%%#Up3Um4u>R_VJtLx3-41Lht`@DM091rVX%!Xe2%I*M#QTEegRxABr zeFvK7PPfF!TniW%(Q#f7_}7YRXR|Ul^@8)h?iL+0+uu?-U9kf83eg02rFB`5)&RW3 zOz0B}+D7+g#uplrjnH8onaSA)xR1ZJ*tZ2rBbKs(3apt!vJKKiDEN&5=6Q#T;5nC1&4D)ww39`^NF4_WXfaUX^`ItDs(} zmXYzjs5+aiH|Q?r+5f6@rfg#>bkSbH^t2P&`2VXeOae;?Omd&Bw{`+B#Ob7*puxh| zv77rN6`3dBRmI41m|}^&a7t~c5jJ*o$V~DKrvRhDB^L|fakY^0pU~$Y>)uLpV+G#<_hp@$J-1(r# z+f=8_n3(Q#rz+6EZOZ?oK93fuUG@{Oi0zf2K#G#Nv{V*&;uA5QKJblZ))YhV=ei>h zx(bAfK!-IULR0iG{*VjpEryxdAk4F?REZzBLLd|z#So)nrd^>v?<%P?k&y*c@lIAD zHR{P$c;XPU2yD_^sMKdPU-X@8ppq?xx`bu+{2D3Jl? zWsTZHGFrw7+t8S~ye*Y;+!|3MOIC}ujtS@MDAZqO<%@$3jqaTnCMWUDBX-euFZ-d ze5j>qK_M-1Yg}{3Kd57v0ZAU0(?O-@d6ZZGZwBfA)glV!W_vE#+^muvS zx5CFz_+>$Rgtte8>6cD9rgoMphq8t+;cE(v~ z4R#iC=^{jtshwT-v^PO|^sZYc-V)12{!IC+s4%bJii{!uv|7Lc8wip|_0ATX7J!?s z-tBB*#d=8~ym}~;^8J9V5Ggw>!KZK0mA``(qyy@>H0uZGl5Qz!PVN!F^AnG)2j%QT zg<&^M&VN_`-j#ZOL;D5@S=a;wLt9nlYB#a_Hu2>v5N*DtXoV0!rJ;prxQpc>b3 z^dO975sU(hSEaIU4+0#dd#1o}%1@lDw#oE6Hv!W+x(3z(flvAHed&u45U6;O*?z6g z{sS)`r&{;8T^}q6Qf8`dkTohBao}o;V@^SscF_ju$=~z@5q{vGPA0>K3Q2$#x+&-C zmqStf&H2ZvnmzaN4a*hPc+$B06Y5W`r+oh@f7zurmR40 zkuWzOq4M(qGVqBKY8Fu8m&F*ScYp)$qqJXn;v?PeRncT2?>{o&Kki>B&ESw;XU6x` zTQ0z}-81~|%=Beox!NIE3Z&oB?($$Y^md0^@RhSg{Kws3371(OphZG@H<-MQ)Kv7M zn{n^ppDFf(ujH*j`YST_iYxykA6ZmcIj3Wv_G4dgPpfY^oBg zlqso)`5g~5sdLb8)=0m0-taalxksvIyj{$)wsU@^Wn|PYOA|IP~EGU_t@c^u^zW#8| zQu|b{9NG&$<-e>6mF%z2y^Fqkgs!Nb$fGfE|Plkdj=TS{iq zi>d?LPlgj^3O$L8*skK&Ky*K3Ef^%tM`Hu`<2$byp*b^qPmEM99MA5v*`p1EB}=Pqd6PJ zKKX(?VY33i9CZdB#uGoe?OyZ_S(<>Let6vVR*4~|L7L*C<}F`v1~h}PryV`or7ink2$2#Lp1dM^}pD`6T=-@a%s+h$z@QlTqWAWsEY0FV8 zt07ptG*3QDIoXTUMC!--5t5K@MBGgNCoFrwki>vV_D`6WFf9~Etz30125xbj4+2hsb}NG@tYO{E@=`jgk6YG2tbJ9i-U9C5nS_GY)AHtT6;}k9)~Gf)sp2~1rI2b7Oz|&RCrry7q%84wXo-2E zNhR4{bg<#e1hGq-vcbB851JaHw#fLNpG0|Oc)&&3typg+8zK{^UJMtTD)ll5$%SGO z9DG60XNu3Mj>YVbgVehwl_bfL9cT}l2n+zA$)jUpvSZv8upO^VpyHljI#!HRqd+Vp zKWWq>t1hEkIaYv7=FtJv=y`=G*G5h`3teNXsC_bpR|t)P z{T%(gDlNkqCqI=BH_N2%$eMwDi)oQQD$RxO!H6FIqbg(jA5|)dO z5sWFLjdhEWZ>?(ebSPdN=lUFe0Tr`R)|ewr{e$WfUr;6vAiNu3#6YTcwtI=6gfue; zQdvWGC-q`P$vx?^Askj$1k(XUglh1n*T$_?CjBDnaF5+QN-LewDCDS9mV@9a5*D?~ z`VB@mHp}hewYj0r0t3k6RORfkkLJT__-Ry?g&9N-(Zi`qJ)mq)n9gacv?nM0$g%B*-$Kbi{G$`jM%d~L?{qYE=EP+^qc=0O1e>sw@w{Xo$R zfO{sFW0I-T6!RQjNWs~GhS)noW9vD`dL3C~icW=8anLmf|3X7UeqV;`U+$~Ng3tRl zNb}XbsylC7go1LtUh0|wkJDS`ll%1|)3%BV60AM3(-KMOd+sKSHxt57GvqR9#=S~e zttyTnsTqP|9vYyt(cqzu>LRrfYUmDD#6E3}uW>P|yuz-WPG$>riG(3*%g?jQe7<(J?QKZ=kYs0(TY z_y9nIbXq^je}g{xG)*Ic!w0VMaIeAUssX%$57fzg{2CRt!_u5yh3I0oq|b;AzY{S) za|K7pAIZnemzyZ&gS!jL^3&RU@DwFYOEoHr`<|l9OyY6fFM(Z(GQxT=G#@KMq@#2U zW*dduT4A;wqqsj8{w$ZSpXHje*D3b`=2LPQDuguN-|id?@r$}%p7U8Hj;m_fS(oo- zy~3U&kLY!%QA-12nD3{l?g-BCbv7+?#&`l&=nsp@WQ@_dLF^l*to~k`cRfhZE%hj$ z_qpnQm3o#r!l{ z7cikge)NyU5$k8L4af2O_|Xe)WrRbBJ923y`Z)ONH#yB3EGB#6fkVRl_C2+`28#so zMFauvUYn0GLC{>*dwH4LY#PFnl?`R7u@)8jm8^9pfh`SAJLV%Z3N3MkTH__C5Sd@b zs{$YbS`^X(fe3Zw8g)faJeX4_6AR^1D;1EU*gA1fD_gSBl$;N?Jd41Fm+Zg}@~liZ zTh~!LADnz=8iRJ=8$VDNPAnMW#60#6Koao8?i%LFf4gVIr|O6}97y#>Ku16OKt>v{ zjM}89TQY&7dFbT?>ou% z&Cf&+(~zC6iL3;05a|dSIn`$NG*!U9iRqhcbT)G{HZaO~Ep!RP%ybRVS~L@cd({P!fi{^slRxLmiZE?; zmLZ<~+Ew5957<`&AnhET;ayOgby#Lz=e$7X>JQXhe;9@LVn8sCbN0+?7n;&eoG zw8-ugiBsqnqDSucm*vu4Idb*Fzs^?%YAy726o0*AiSSesd<(QAr`(y)eK9Z zHj2knG>3&%JGJTkp{gs93HRv^Ok@cz~{I3gc24N8*nM~~qOa;4;$?1)Git;?wbc>=x#J#tawT+F^SZHxF- zBjG5>MPY5o2GzN1RyF1shM%zFi!7rU&Tg-b-J`N17kbcSjWlB)M3O(;WFkR|alt9E znwnCElFRq=X+JewTB;o~=k8b6V3P=RexFbW+;G97(KwH;FG%iVe`;^s*kz* z7JX^wJPs)yKW%+5Z9Tq`ro5s zrOc!d!iiOO8GxKkhjdG;V2{eDC0r$ue?YJDk~?*k+3=K_!={hdOZGpa%qL%~`#Amq z$pbV?&U4J9_WCDwX_!I55X&Cgpv{%{se~VEN70Oe8#NE8YF`lw?q~G^$Nb+2{eZc= zh$3eHY~WgUQ1u^>S};USdNgCF6z_^F!?s_Ts_l431MbWRY}vOC&f5pXS9OU3DYO^ zjW{99m0zl>8Qm1^puj^A*dcz3fP;b(A1Oz=z zwcHrgw*r!v&8rj&0TN`%l3Z|eM0)*a%r3%zCF->ez9(@()G*Jv|@OAtrVS?a+7gd2N zgi9SK(MP_125i{PVQZ41Q?dOL5(2=X$H{2|Q$Zi7)#7FFk-v<~p~)7cr{YJk9yMBv zVH`a!SFfd+K+$X8ogafi$)=K{uwwc`GG1>cD(*f0s@wGe)D^w!F&6YG3Tfx4_s4R%c-B23-VdZwH(-(2 zuTbktVS!{&a#Z!b-fE)1s?H%m7o}#kpFRE?@*cC~MODsa{9N!lu~*G$eUTIE1#+@$ zV~GND#RH()rL!<9@!kd)!9{D;U`~z#Tsu7#Oko0=1*t~XI_9eNl;1I5mTz$oj0k#8 zskc$bKT!`Zg)0fJJ5 zACq0P@s#Ri?t4y^n}2mO|6~T!AVIf9g!J3o&OBOBI5qHm{%rW7cd`?MgtMQd&(rts{=g@;I_# z+gb~8-F-MJhHVBRJsNcwHtC&7G~Co*P8IABc{S*&yD-IF7MlGE!TZb|>N!)Frn~v_ zcnWqe+V5R6bSwmC00o{w^EngjIn#{TK*>x1nV8@rhJC|btpB5Z*-Ooq33Q-g2%Zj%$F=_zzcI#!L+bcd&+octnFxrvf(u__w5@;*;~ z@4xZyzBS@E7YR}YeNqCrvsFgPWLjlqhpEoGm1?(R3xqk&V%PM~&{YlNcPTXatmQy< zj*bgt#`j`sx(mC8X@;{-7`21`U_LmbvbtzhP}UMyZfypZ3Q?D{IU=34ixAoL9FB>`#$LJiWIcg0|<&i$rzMVv& zb%BcvivB?-NLKYgY&pUqL#Ci@%J&lDHv3p0UaVh>7@uz1cf znhHfUgW93;*tnaLR{)Gapeo2=3M*n1!aKpLU}hyoZT2BvW7z=_a%m^4!VV`jBZG`_ zz2kXeg{Tzo2a#Nk8jT#flqO8_dSYMcYsA6Btg+63Nyg|Op^5b7Y(Z1}Xqx2mi8xkz{6mM8X(ZBeLFz3nWt77+kM zX^-gTiSN9!zpLps1i}6&5a_{x>TX28H%F;3)%Fj30Tm}-cX5ABAbuJ8WdN=rFYy63!mVG)Mm~TU?A|*~kXUZvv zlJ3(!hAOjSa5gl428``RpliSadYv8RQ%3d3sO? zgv&+NxdM5>pL( zhU%w^K%Gt%uHHhYfdBZm6X@HlRM8-h-N|m}D4D!7pxTPJ47E_5-}vl?4wg`NJpDYz0$7H>!zy zi7%?wK|Cy2<)YpX;DVgww#fb{hpOeuoaumu<(Ff1K^dX|ltXr@>7c|L8nZeKRYt*q z5GqBmC~juPv`{T}{JTUh@BsSbJ@G(JDduilm?RQ}M6zIM73BnXsaj|iDFiL>!<4K; zE$|%1WW64GxOoxPHWp!~Y6wGt3m7(Rm$ApU4*S0uv~>x$ZFzlqqt*9-M5D0Yoy1GZ zY>5eJ-3(x!_EIuYR8h8Bo`CMFYswhQOw0icfq03Dgt(Aw;j({$-#^cr%qlNk%)prk zzd>Al(I7NB9vVc2h@+*eMlMCn&MSaU5vp@hYZ6AUq!*kk%#ilFiyvr0f5c8Qfq+iL zv$^=*Bz9R-z!c;-3ay!{gQ_q31Qx+q&Qf#NTGcs;RwJ~u8AcHs0HY|z6LQe&79HP_ zXHZ-mrhA&+>oCjt^CMJnJ;2PVguMqr6{4;v8_*wQaJr1b*%scB;0TOxi04tH38*c!eZ`$ot15BVl{n4!Ks>{ru`qQ6N zsWjJ5{=5b|=uc4s&TFIuk2koP1vR27eSx*S04{bAlSUqW3r95DS4H<<|Fv?=?u+yp ze<_d49MA`4!`ZI-I??d3qlG91Xt8}5TJ^-w-UO9*AA`N&Fl%dK#OWr!XL!S_bhDBqzG6IDA1tIWx$36i(Tj4Yyos4QH9ov11*RJe-t=orgzFOl>9+jchDWK?Nl13koNCYgAovyw?|-C@0eSA(tgvu zSVtO$^rEiH2$U|&ou5%>b`x1h78+3<qJ}Ta^$EMN#~9{iqSie;}1G$G$;XYkeg}%3#QVv`+KHHaSncgk+M1 z19S=N#jWEy`Eq0-<~Dap^YLZ+yj~EfZ1gegX_1Hxi)-DoKpXcJaTmYJo5xlw7+!qH zw+6gM?{>|XmtjB+Ml>4{U!}9x{JjNEeeu`G!=4{Y*%#qqmiG|NqapleXB5#Bt7VPV zS@4$UCvhAGgaO1sS|!(kGIu`uqplI&_P;aG50>m<#KtkwvB;%|<9(iDZucVoUKLWi}?ZZMQcIDQ2a!MVZXM z=~6!!8>F3Zi^iR+l77m?bn+~BlQORzQf2Wlh#G><6)|bzV0JMWf@!WH&D733^{vXu z2Sj1ihFf5Ee)BQd_@ZK~KepeMUl2Z!rJuQDNIH?lwp`e zL0XGbSf;#1l?}_<2Y0qxrAh+<#8LSe51EBj!MoO4Xr^8Oy#}sg>nrVuFq1I3McZxy zNP~lJhyyXVQgK0z#L*ju-NVNn~|4@yJB3d{Eeo9oS|g%sQY<+ImWGzz;FWqdl0!MkXDy1P}2X z##Yp5OouVL;A(7(JSQ6+cJz7i0?RTEY``0O@>e75;+^UUl_ zsxaqPrRp!BGRkwPHvuFT*%0cU2lWELFpq3DSp7`$YSOr;+TQ7%2YnjQ2cn9@14`1eBzHJJ8-|gv;raf<{ z!{*E>mFqE*evt4GVvi=3<(GMgGFQp1WZqs+*__1pFW3IFzT=L$`VEwKBOg(DI>4wz z=!wck8yUFAJoliAv*X0RVa%6fI=cR5UBdN6*H_{C_j;-57m<~#CuE?CGdM;i{m4zv z(4k#kC9m>4?Po5?KzhO4&}vZpSFg$ncp$BOlbo_rOQHt&o5wtpMWjxB`pvM$a zc8nOzbj-0^5XbzbE%j##xX#dClhSHkQ!-qi=L1dyrw69!hN(-{7~zvRD?KBGKK|Vg zVvbebkMc*sCX4_*d#}10)eiJeW+{va47gWanF=lna8TGeDNUaTbvcIgsFV*X=b&)4 zS|S4xv-K{qLuEA#dPkk-nCm7}UM33y(s#*cVX}9kb=cpGOVgG)MMEQcpEFsaY)IE) zA+Rq_(1lz%P6SEIR1U z2hg<`?YZyjN2jV=zmSdc3lzt1FZq<5Z`~U|7a3M$z49|YOnua5A#(oWUGxKPf10j6 zj{!~26r;he+0J~+1!fQCaZ!onL&y?{2i)uvBNYPn0cnW^z6v(crE0uNLN!YJ_DO+i9s8 zc)z|QEeD>YQuTwaysd}n@Sf_Jhpqq@mYNXi{0;;13c4}SChhXJ<_1h76b-{+yQ66s ze7bhCB~;N+S0D7B;L_o%&gh>}(lOaIB&|V#?HvZdM~)NtHrsiJ$VVyIeqZrhN|H*gsMg#?c}3)b6x)C`{-^ z{iPhSLv;BbBO?3mR4wMsj%s)(pED(+4sPdb&23o3aK2fAMl>-diYek3wC8sOGrm_f z@&(b!^qs6aHT3?I8YRrm5$Ya}vxg>6Les$YX91VVcuIG<1H{fkb!VO4&5exDP%j2- zI8Dx;24^q$6TptsLfLHH0Fw~;h{QQ!kRC^8H`5$GNo_eAfa-dxC&ts{bH2Mi^;V09 zv{5F!lVWZ0s2@jcZH@qKOw{YsjycRHjwb(AmzX@9r%o@F1%3={R)Un@_zKMCF*?x~ z@bUO?VvAdZs(}B9g@}QO&=P?veyc1cXUGk(R&S-IWMpSKYAu2|^FcKmRnhy%$jm=R>wGio@6_n!7Mf9pEC*vg=M9AtgG%E1M(p>+c#Oa z!22c+QL}6Q6Vx5Du+7M2E~=VV-@{b21Ooe&?;f*z7bUVlIZzyD9R!Bzn2Z^Pbj-nF zp8G$gWPd8;sBg3C!#|axW0qWOp8^fSlnHqONtq1^ZkK-Kt&!g&H+viO!?6Rv6rsn> zO^9H-;BBT)a=Kb-!ypDRK#6LMIj%^{7&n}kXJrc_U~Saq;h9jS*FL43^CDazA3TtM z2R~x9ZlmQd3{N&Kc6M7jgDhbPEN+arwGyT37YnKFI13fCGBy4hL4PNtHy{mRRz%MI)cZ|cum1mNC^se9_!IK!BnqYk$2!9KWNEwtM+sDAX|=UL6pL!8l~ zZEpy)t`t+8DdzKID&zxUxgnQfx{k#~1{i$oIxdPGA~Z|Su`@1Q z3N0wL4;6u{=ZiO#xTkYR^T1?`wBEgoI^6`ET{SeM7mEoNF$Rc>1F2EdFwZ|8m-c9w zC0YnHPt9&%Bks*_fSRh?GFY@ih%c51%=xzYEr8&1$Ta?R(53th z?-8UUs>Z;*MEQVj5JX9ykWCg}zpr56v2@f~@q^#V=(XE#2d%MwH`7>NY?ckIMT-dF(6TiV>b)~0~cEc7tG{j0g0faIS0zW1Lv{%J2sKYW7>y8mw1@p z0BwS(*_^aHWO4y#9t}o`%vmhb`1c}IUiIik*X&H!eMey0EEma!9r^(-L0YCJa18e` z?o`0)ZhFDvHGw5Cd-_T{_yvBI)Ok5LBI5qlD2=(|m43iuQ@%h#-aT4&7I`JQF zAU%E<<8r}Vir)xcq7NjGASjsaucYy*7}+8e#~_uBxj@%a>h=5VYb5|5hR(a?Z7mMm zu43D}L!_h*prYChH66QAop1JbM=1O1cW^lcZ>q}}9u{I8Pa5mVT(wOu5bf8S(6e;q zAf^_m^S?t(n2S2;thCWZA%c-rqQnzfsW}2)}Hn!e#4nBdCKHQ5*Bq;Qe^=^I*GeX|v4T zZ>e54<8ep?#(o|LIzlI67|HZsK>aJx{TI$UnKi0n5^BBR zOtem#?HM=_JZ}@u#pU|+MP{^5Pc{{Q((U}9NFGMnFb@0lk2s>I(-2yn2_Dhr%?9-d zYo$&{cWQMAQ}0twVQS;TSE+9?@0e&2sU9)gq2y6*6M8?Gn@e+%#+t`BP=^Tc#&mD% zEPbDfdZ@1{^mHx9YuLFI8AE>~@6zSG69^KdgE;wShOJT;^W+Y2P0T<)kMRz3Yi|~Y z&Flvr0bA+LNEuxxL%XZfaODAr!4TwAMJ7VgwAHTp$0w9;*5>F$!&ITQ$OG#j7_l*) zev6X-ci(IJv3I>%@v%4~{!RCp+RIg2v+ZBF{p6vWbaylIC_euCZ7Si5e$K;LrW16~ z?#MU$pw>)ws)KjLkOcbdfDB|Gx>oF#W@$_(+e1o2Fu;=$U7kO{q;-79w^Eo^v)LK) zo>(9kNaJao5W5m*XuK$#1g89P)Yj}8t&`(Gkto71xPdnE2Q|Z5nyd;8zv(&-gPz8q z1mg@cCHKhvI9>6M+X>~Q-|5w*QKcq!bI~K&;&$O;13j21)- zl;Ulw7XNL%#UrZ%l``jq6(Ud#^oR+n_1fi17UDJ#Vt3Fbk{i-bFvQS zfZCP(O>O-jm;p@N^R`|Jm%XL2>!BMuhOT)H(?8ekA(Ef`&H^MXdgfEVF{TwUkG z_y&*y!IO=MXt_fB256@?0emk*etzf%#<888kJU8z&I zHi4*!2-F!13&4(|8E}VrWvuQVVXDSyu|%dW-tkY8Q-imfOM?_kut4NtWG6M4!U)7x zx|3Y5&1Y^8)AcioonMG}=jKBeX4WJ>wJ03u0MIN1$?4)0vWzDNwt||C`uuA20>-2B zI%A#6^v5|$nU6~p%mrW345P9sgRl5ucye*;PZwT@VZfmVKmn$kl=00+;ug{qRO*lo zGaaW&RE=YP{FLJ7rRWlc)E~5nK`gu1!#?y^KfRAw% zYLO;Ahl&Tb!hv%+cCLxJkc|MxmTM(XNbF2qih{qpp`-;bb3|q_z}PMfYx4ly&LjQI z1&67ZnSH6ggsU64A;j8NOh@5CMib-wZk8tx2b#o2Ok4TwJP?-bNhNm1CMrjDKqL$Y ziPy1m9 z+FVjg^NN|KVSKsRYAR!!Jfy9EknQ2^=R&T{+qa-N^Ic!+Zr<;Us@L*d$}sPLsdCNu zX%r9VpuX1WDo=JhK%Y9^-Aiz&X+AwxP{@7NGMqmHA+q6hc8YXQzUp7AUU3Jn@L@dj zss_r-1yo@OLkHZahVCdnF+%ysU@=NJqx(XK1OGPl)6(Q93ttc>RK^nQ%DsV@neOvWe$E>+ich3N( z5lk{qhl;3wNZf&Pc@MhMbn8KOQU)@F`7q}oCINS;f{0Gfc)U7ox!pTwXdYd>S2Rp` zod$^Oup920QR%H1C)WW&PrQOD;EjR*QP+<%7jvvQcEo|xRbsQXgRFx%R|oY5N&p8V zl?bQJXCrV{dQKm@-i+x(i3(r~U_x|MrpO9{;NU67V$gY+CAYcjyr;9oMCf$Te0}fd)5gZp}>oha{AmwlX6;|b86oXeeX8d}}?#$mnLU7(r zF19WwAD<%dY3pH-+z7K%M%2i4YNa;M4nl`$;N6(U>QqR7GH`wD*%_|HPI}a2e}@Y^ zqJvaMBnu{Ok$w^#BGu!Z+C!zgg*oy$<+CMYjVPrWXEBDkpQeuN3Ya#Ds`k7==w2@%Z+>Ve0bn^rGt}1cTS;_R`wU_`OZE#}i&-E+{4mJ81dN(6r)V`q3=MD?PVpq3C zGS=ot7bAICD$arDI(-!9iN9BW;Kg%!?6MLEu}#5IDqw+PD*ItU<|y;_-!SHP?@P!) zK5S8cygTD%{=SCz)%DesKqfhjT}dch!_$qQ1B zFU03{s@$v0D^oB__1-h|m>GXU{a=znD@0s?dkTPhn5Q9@s^Pe6iORn8Cr!=~D(DO+ z%*C8pP?z6{7o_Ec;iQlBBrDvRb+9U%F;#E6;n0IwKTCx@Wb+u&TN*;Md)Kd+3Qjkw zeY^&ahx*6aD9!UEA~vCPyqnB zv_+>%yeOZ-vpir5Z%{pbGOk8$#YHPG-mW8N#A^rz79OR0I9mY?19ZSirJC8Qpvy_@ zX8QEhr3g|HKA%=Q5w943z1W_1K$?3WRGm9AruoPw5W_d5O_J~7ei0x8qVgp-C-L~7 zCevXxOPDjasx4yu?#%e5}2Kb$cJKwKx5VbvGf(5QUhxnRagL8;?;!czI$K&{fDaEXV_y&IsMlx^4&Bi&O zr~ZZ)cP+%^vb+FPJfoIb*93%PTbx5M0UNz6bMHW18uGJ7;<6Vg@GBCH$}e&$w*$Dt z)MYKlEQ35JM=-;Hc^qTiy)hN#t<^u_y3r{E)yQ%9g*g?X&5~Ccl*+TTD$mwuM0PI;z&OGs6HAC1jhBfgW0yRatd`2!&xN z+IjLbZ;AX&BqmCP2AwRh8BwYh_ju|VUGjn+Qyu#!Rea^EwINbm)gpX9j;g1rTMpzv zaYim5O1RFh3%mkU>!3p>|B?3R?dj7*LppjUxnIGQUA>qJiU4IE&EjLoc(;&4iam0( zH6EZI-;p)OBz8bsZ}^V--H;*_1`-dz?ge&P?TA9E14xIE1Y!lIR$?A)v0+UXl%!Fl zQVT2{>ysK=#KL*huG|x^`uET_TnS`8e@}H{TH~NI@*<}e8S&M7F;!$sTyd-OP0|P6 z=xMag&0>m{%H$DohrR45b_`u;Zob6i-q0LC_LAtIQbO!APgn7X^xt(6gU2@xCf2yC zEw&7+pXMkGmtb!rmb9LbV9SeZqjW>>BkFFPCO)6;%4DM##k@5)k005j`eL@}0R#yd zSOcN)26-IYKI6mm-)$=>ib@aQi!F42Z#y$b_NxkvnYoyhNKp|{@KGG%IhOUY^o_@z zmT&t~accxs&vouv*L?LgUC3UfnCH_sIWU{&zmKzSRZ)uY63l0wiZ~01p7UM&HZ3x1 zmLSMMKLSkm;}R6}%QOVc3lOQ8S>07NXc@(PEY( zwqX0nlHkV)VLO?keFfUTH0>®UeAPyV6?F@?2L?z#s;gFW$UunG~_e&n;~W9AFk zK(3v=+BC0L=ikCT|KutMWDKrH7iT?orH*x= zXLD8njhnXJ$5>3tnIND!CPDa|>f6q0^{GIlJieFC$7OrSt#%0<=lbi*sx(y%%jnV~ z7iu%)6V<+tA4uY|6NoBfhh>YA`7CE01kmT9XjIQU!n{Yup&$+nrYL~B7@VW#wsXM! zw?2BXsrd%3z*(yLl>rh48V3Xv?$=nsM`ZB|gC1M1*V#RCjzKqC1f~hhPE|Ax+f?EL zrmH-)!rvrbP=kM#19RIwhuh%6fKaaW8H+G(e41`$ovDQOmkW`;Wrxb)tB<&WG*2vpbUce$gO6NW0>HO8!lc(= zko9N1$VL+kavW?+ogM_6B8ZTt@K1npSrChx~aSy3<(VPqudec89=XWTvmdhi*g)d>EQ(_MgLO?5jHn<>@9>;KSA>#{-C+ z`&H<_nWnRU3qp&gGm@i z8oUcpz;B{Pnl8IAJLMO;kVimr5joYP`0j}x#3K5f2AhjNh2^{AQd~fW^%I*AKATf# z@WwyKXnR-=+7iV52;fM!4JxN6kPX9Z6oW~dtySUua?vSFHPblwM4YB@%M%EH9<0wa z7d`Kx`&E=3^9)hoMyfKVS!OfGBIsY*c5^Xi+9J694kPSWHv*zj{V`;7OCkQNT94Ao z<^NS3#xb(7H5es8VUb3>pBi<7(C;H)9gC&tcUk$xFiGIBVfuH>w2|I7Ydc>LjKE zZyT#}+O;B-+^?IgE@Yt)gTpWOS!|Gp(Y5`i2B(i=2yZGytUELm??8^BdQ_`T+oS4Y zvpPa z`I1EWrRv@Aat0>U8fNC{zlcuQ5~bohCNNo%e!%@Lc5$2AXTCbQEma-qG%|$v7?U6q z2VerF=Ni>EhTZw#KV}dug%N{H$6W^Ip&)%^VoLvPPM$?1H)62vTFerH348arHHS>P z*ijs$;TN$=lm^UkO?r&__r=~}T%z|VT8+<&PS4QI8&Tr?T)>wAFkER4QAFMV4*L)( zishE780K>QXVP$w>#Nu5j^)gR2)ga}@alX~YHXd8Dqm%BGj#)PXsuKK+Oz&86e?Ni%eu Jc4eD3{~vPvY~}y} delta 25813 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 I8>hwp122+;>Hq)$ diff --git a/testdata/bool/special2_au4.oas b/testdata/bool/special2_au4.oas index 81ed86c90e4f4a7a8d6bb6eeeb7966a2b197645b..6e698ef056cc9b096e2c531cb295bb6cbae7ed02 100644 GIT binary patch delta 123880 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 delta 124334 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 delta 22957 zcmX|Jd3;pW_0QejoA)M@nIz0imdRwY684CQh=@@U6_-Y36A@F28(K@LQtL)QKuQt9 zdLsrzqyZz+fXGCO5D*a&F-Alh0b`^H6cG^-5#jeecjE6KK4j+2z2}~D?m6GHz4*T1 zmVLp>b?om``4v2V>rMRKcUhnKKc=$AcRM8ouNosoS|!UAtNB6ZO_EQI4)&A02d`q= ztt6KnWzGBxd4lU7A5fp=^^wBID^kT)u}k1FkW2@?s6Lvlin?PRuN8Cbz0N@^h(9uUnO7`RBWUXaKJF|_ za`|(@UE^6PU$Z>=_W^m8KIB#Dy4M0x)gLPdTK)TloAeXAgUBd}b=@bpo3z-vAZWQ< z-pC@8`DsaC`gm!cI4-M%H%YwAHnRAPF=`;w$wx&rIdLAJI4f&xU3M=>KlERDORk|P zkSg}dMny|xEoEM@SL|SJ(m&-UrZZlY5f=}oRdPo>x>M&a61^|O-z70yRl8I8Z#0DZ zZKD5!o8y*S>n&O;owu@VF+)jj5?{fS^&4Z=m7!dIl7&V7Ve`X`N?stEtP4_)IVgtc znxnF}o}D4D(;sY;#d%o54g^$cle?Oh_%~a|Xg5DjoFit59k%YaKxVkPke?$CvYAr< z*;Tpv-D=S>isy(kez8GqGsJ*3nId``oO{pPst-S;3iRP4va6nzDF^C@*Ml7;g{t6s z96xkcH9(MGv2$XDTg7k^$f>Mk20r`Ip2-WUi3;v_V;52k$I^K{_NlV^xNNhi;otIs z`piorFPHZBib`ubEg`bXe4>^w6fXNg@VEFnuCM-s+TsPBP^?Vx;8~@YpO*Rhsi5pl zvP$QbELu&n>O4v}S=grbtXV5Q|sT zs3Vqs=U$oN%PI?sda)Ew+_#tO-yIVfH)V}W6{py6m&N%izJ={H;`Mq;2d?(ENLoXA zO1;iX|H8!SmSVpqYd>x-zrL8h4$9JOwbVK*_1iub?VT0K5hvJM!)`wh1jTgQ1DWt$ z{Bvuexh$D{oKH;SRc7&$Sn}DArp0K!y6#(?mrsU&PZ~lIicRQ{gMj9jIr~dV477@V1H1 zJjadRX9e=aLOzIoZOd}M+NkyteLR=vi3Zgw_5E{1uV6MW?Ic!;YC}3$F|g6Il(*GWadC+bH#MIi0hTZMUVKJay4A&1!rWse!08qu5-GpNfU`=Th*m(gi-p8 zUm)>=@TIK#X$xlO05e<)@<62bV3*Gk-LKokU-X_f_sHwUwkB`lF8^6=w}OP|;sE-lQJWCreaO zG>^wZ=U}PWXQIRN;-Fy}U6)L;N$ga*wnPoO2iz{=D7R#WI*rd8M(oIEGi8XOr;>ABKyJB}g^W#SFg6C=p2Yi$?3bh>zSSA69gqZ5iuc zW$)xVuZzk|#YUhlx?gZC`aGM?^aq{QZJqHk#O4);`EZy2VF!E9Y89XGg}>=;rkG{z z!!J_Pqx$3D$?L;icoT~p5hu;TNKENsA*;3Z{MY5G_|#RhjOox=Rix(^tEdkfI%1tF z^CtQ8xE@ig`t$@{(3u>uLq0-h$KH|o{92c9kz-zy&GI=rKOx2@Hj^cJlae2@^pCg8 z>-y1Yv&DqtWa)S&4~se$amB!Y`W;5oQ|J$ zZiBYoGmGnSQ}DolB65hX`cj7V#aHm7q7|}8Kf6LcofqWeLbdV`yoC1bGn!q*(?xf( z{lB^myxV@gVv4xIN1Am=B)Lhii(0Aw=#@7+f{2TZT_*MG3*h==Ps^eD+AeaQ-f~c8 zkwJ&1q>6oVBiD=8%S(JD!_YR-8Cv0t*Bfi(ow~UjWM>3Lw{U~CR_V*`6LSKFFO6&y zkV4Y;{EUkKeSml-pf5?286KV%ZS*F&FX_A#F-%tSmu39P6!Dh;DI$dI6T4YS{P45# zpG;qNM5KG5(CMOhCXeTJl$^y#yk4;%H^ODFTQm7)Hk<^itTNj^EKSi;W1et%_;(B(^HmoyMo#Bo35G_uM6k~4)qH%~-K+Ud~OBQhzz;BNvz>@N?) zO6n!^t_fC00zw$ZQV8|ptxye2!^xc^d&Xd*RM!jc|48|Z0znG?G84u%- z17B$^gD8IRE@!W~>sfs4y&}Lei1X>(HiQapM%F|2{)3F2S$-2H8xpYRM>b;Ee~j3Rk|udjF`FvY$ogKaTv4 zPtXm+z?g3ScK?})NtT8bIqcS@`$a!gsIT=vqb?N2v;myEETutNz=q#q>RL* z&>4KB-<>Lk5Wa(D42w|@>OMncsopjOpy*AH8ha(QHqs!Q0b73LGx&$l`-CCziS-ha z_*l)92Rt=KKzp{7yFd1AcKgkDslRQ`T*NX>3B)5%_m&crxfY*P)v&6tHP~^aNY{l*ioa1aB zpUd^)HrdI^=71B;d=?N>vCO#@R!+%S*Lu$s*irt1Z9Gdhqz2N}j&@%8L?v5jmL)pL z5pDo_`X9ePr#syP@GTvls?yS{XNgX~F)mx|6Zv`sKGDxb0o1n)mm&STp|YD6cga3_ zm8C`oA<*)LVx{r6Aj}7R*vNE`ukhqMkHK{5h%5rdgtY2-oo2mM_%djCju+2Cg2S=pkG{6*$=q~k{G#dhf?y^kA2%N2=Mxx@Gu(hm3+zE|m2A}W|~ z)ES7yqNw0c$BmPMAxRZYVi6&8IGN7bvZMa%({faVr*#s|VkT)St_1GvCaZ-cu$irA z`pzF^|2z;|Bz9XfDN4D1TD!}uh*t7Lq&Y7zOJCYUU2a2q-H-T>>&6MP(?p^-vWIWA z-K1Yc$k1EQYS{&nD))MP&RSoKjsMe@IbydeO?+P3>X~WKkB@f}i_{*2m#!_fol4&= zF8@T;i+O;ZSN2a3Tj7YAY9@63Wl!V{2ao`3XM)xS7C30UJ*jvQ(r@7U?xBbv{yJM0 zPs}u$Gex$T=hGV5NnZWi=~KmW)&kFSz)1kFFfnA0y~s!?m5<96J4G3hZF|aW=dfp{ z;RY1O5xr}m;V;-z_#}o~ZkS1NPMykt%lJ!g`cW$Mr=XJf za)^+=0ZW3=^A=rox!Tp^_to%pbIqsQm)&>b)sLV-2LMksyhy8^0 zz^`pjz;V`kj!9jSEW^WabmcVqnhoJOJm$siUQ0{!Oqs5h+l5eymlc3Bh{0w)u~tro z8a(HrE6R&xSgp6um=HaKKzr|XFw^PR6zlRavV%Sl7g@O-acTVG!6W7&95Y?avJb=K z{p8M6|72PEOo8gy9lQBei>fgXfeb%z;2H4ZBOAsdu{HT0#9nbx50leZ3Vq5E&L{)mCd^n!I!(WC*M~U-ov{ zJhoc>z|I;Lb>gMz;-CV)$Ir8QB@Z3rhs__LEL~LEg+b$%ssM0n$oYP1)tVoIK|x@W zrG}gg#0B&DE}ZlLKf#XLdw(M`v{n|n*+27${v}0~=iqciVrYpq69@j-v)3#ILbFBR zruc!U#4Hc_bSL@#lm6){KKqX%>gbdv5%WNweIm9`>g7f1K~EsgRYYHdBE&sxUprTqB8@Ov^wPJdsi7V$onN{tMd%Ylfq0e-6(L>lxJ)g;&mfFQ zl}xx{pX`1H`?v32AU5&ow*IW6dRo_%sXLQ-epzqC%`eJp|Ik}c8!n5=auCNynt%ZC z6P}-{>a2#}ZbY_N1p`gGg)_rP+81Dr-}Njr-(%BIwcH@%y*sHeE2P7OYT0AnBd)?yeqDM5jwV(kLJ=(O7em{~0&f8rY$qIs4i{KI z)J5H%k^!^V!W)c@=7Zzke=j~_MOZh75?%|f^XvqV%oZ)QGNLP@gN-vJ)_AKU-(S7s5~uUCxAInqtJ&GvL?< zo%uq~y=mI9(Q9#3|-@9iB=5;h6Y+I{bpyDy{WZxNL#vsjqf&9dSaYxMGr84{SV*X;1l&RvXj( zj*F`()*&AH#1gTO=^F}FR3Dfova<1cK9WE#;%97yec52gUz;Gl<6Vucz2dZW8Y!Wv?2d1|1|fj!k?GuI zgN%+Ln72pks(|W1SzzKu=scp##7QZ2+o1MA$5&Wm_2z7qsTXIz=Wry!^EjhM{ewx0aZ_9VVo%A%W))qvr7V71Y;Aa+O>dwC<*!w0GSd+_soWRjMp z%mhRK&FuCC5t*EpV*qk;_qG3wGRBjY!3RWTWTBnFdSoGxI#A2nxsM#=YJ^{I(l@NX zz9b^^bnJU^sfjZ@0oys|+b;BkyJQ!gHB79XXsCx(?L5x4CV7XyYwcwV*j)B5Tf#n( z9X{bbuUr2AWQP&tZfxfaWqU6Gd(u4^`H?-tm_*X7$RT$8|A|CcERLAJh{{y4hxbXa z1!>St_66ZhP4cW@JxRxWvb1=Ib>7l11!Pu`SehytSt6QsJb{6yyyNxjBW1xvkss^6 z)jeibC1!e&>)+Y#2`TZ|z&99cQ~;O?q-d=&q~(_@waaHvCQ<2#wsx#Qy!4BMvdP>A zFXbmjm4Zm#Gcesz?wewPFJ-fo|6=?*C967q7hh5#hD&|uF_{}bGMxVFmxwId?v{l& z@;<$%J0}e-nb7fEaZ)WaS1z4=doA0Yz=VzPR7Vm?BUnkLcH67lFJ@VeIAbkg`uH$$ zeHUU1f#XW+BpsGJDat=3WxKf_VRB0+ImMH2SsR32GgLgH4<)ONbf_@Az;f9L(HuqI z;7xa+{`8Q{8$uF@oM)$u-Nf&G$ao+*#$SeQAOV2mLD99*$TzJD#Amf43Os5Jy0Sy! z>n5n#Dr{+_MNoDi0@>Z)$T0c6tSXp`Cbh|krHFuAomHyG^-;kL6ng+?kMjiD_8AMj zl~-B%&^PkBAns$HSc-6gmhBuEHWR4ml|@Tu4xCGOkx#&vy2s zTVZ}vUK~J30|t3J1Qz)dUO*+sY~LPlKY9ScNUmsRaN$sP;zG2|YC<^jF2asr35pmp zFou4fEn|;DkMR%)j_i{i#<@wunhbA<=v*<`-ox}eKgb&hCv}vik4?~fo{=#m2LejI5oT^er2$W0|U0-?>KKrqjO^!LC>r=L>DLk3i*qfMI*Q(g+jB35#eS5&;+r zugfnmy_S!xH2abAJ~(SDVphX+;7gh3!{H(=awTA{_lB76 zACQHl%bm-HuM#>}sZP2)TXrDJlP+UERSE2xxDVygT3LxZvp@jx(AThRv94_3hqabt7fHl--DyR)d88JxUEWb+9HwW z1ET3Y*H;Vmp2~03y*#RLBpo>yuC(Q`P?fo0P}UqEiV=pJ z1Vc|+vkd83t%!#A0F5NAu$P!ei7LN1BFgmky|UDhP6((@tpn*RtSY0sxrjEsfZa_> zZ%aqe=JTpzQng%ysJm60(oH>8$8L1)ilA6ztpdjQ&>6MHd(hYmP@OHdvi-*1gSJdD z@;K8e2W2lkCP)2Iw}nwm%5>Fb6wGzbQ9G>}hOH!X#7Pij&7~@eoHv%w6isX$F0Az3 zqW_mIb8p6{I6E@*qur!;`1piYBH-O1x+8uTRs3VV)2xQGQ{_2v>|A)gXeHZ0Jm8mN zpY42^t$!a=Q#?=#pBN2AEgPgFzBE+N8{}9w>AwhvbpK>^SsHf&cIrX@Lfr4oPQ{n( zq|{kGAiuOymERBK;JE3cl^rLTb3jpI3Uucn>IMvlC+!H1!;<04&8T+Kx1>Iild6OM zZm#S{dZJO zY_6IZ-}4XgEF+fTI4Jyx<$yrfKcO!UQn%?1UX|-fD=iXxQ6P+um@ZbZ?ywrj=zuij zY`Et~ccc8tSwvu&B;d2bGy>N%o2tA@b&5@Jw8Rn=$LjOHjN!j*#}n75>b7AB=rB6E~@Ab z!xOqep&90U;HXy|%SHuj_9Jr^Ib?a zDp@q+5toIl*ar-$7f>CPf#TC_ySa?1AUa(PfxSb!SryZdRKVoZ z$$a9DV}LowMVLtNrUkYq_jUO_b!>|o_d3Jn`l=A%T=!Qk`gpatFD0FF>Kl1E&VBo8 zu6+U6|LaSUr%oFwbM*(8sX`AniO!W28^3BsKZOC%3afKAUiQlmbjwQeP0#-583|z zs6o1{gUapLt~m(h8;tu3LPI;Ea|M*)E1Z$q6VN5n{~k04bmW1ZEKx5friPj&w1s`5 z>ck5Egn2%egZktl^IM0&=N_?)>!0_Fn8P^dRgQ40^iNSSUsUq{#b@S+0lwSa4(0vKF+nHkVydWT+i)itPvb2q)i4ILttC3abnNS(bL_SO21nXC~VCc0N5)WY*Y0@!P13{^>WhR4fKi?KGH z*ny%^j(Wa`Ke$HR1$K5L2suk8yGe7@8JG>7<`aV!tWufr-~TEHb3LIL1(Fko#cMjR zzZwgBfOr53fiw`71EG;6tkpO*GSI0AG>@6TK!9Jgii39itLf4fzwI3s&4hm*eNPU{ zwLE8&4^xu%YdFRP(dFsllqv-Zws%?jY+uzwZx`yh_!V5uW_r>Qk&_ulE68@M9*OSP zcv?FNp%!bF&^MQ<&N)P0DlkC8)kE}t=sHE~|6tIPR~^|8)g_>W!(yowpYgD~8mS1b zq9Mr0ayPh%tQ8sT&`O1Nm8-5$XB@IFJXH)%(#wC6Lp{Cd&oYz@9op`PoO!9JB+T z&*`J0lmG_{(}D0#QyTPo6PAO2K4f!t>Yv8QLHe(ys!tYaRb;t!3vzDE01a%6U$KQi zyw|Gnv^?#aEe19yJ?ymXp|eiQ{y;j=(@GZEo~VX^8)5P66iY8Emp$k=U7+JWWLp+# z{}_3FCy)|7$+;`m@ZUSTK_o4KrF3mDKlWnc1 zRzR~MsGn(}#8aXr&iBcqr&mbIeu2P@r$*;>$7cYux8yS^gp6Au_D|ZPC8f~ir+(5oi$p6Y2 z>IXM%PVy*yY>L=Uu~H{Q*$8cP%Lo~vTjn?7U4l}M{-IHPZDWCq=-%Y`lC9!3sk=Xh za_p=}Wwn0v1{KntIU;w#4EVHHuT(Pwca+-RnZC6Mrc>9m|MI8~kAiLbbhZfRQkJyY zLI;faSEB5OeZ67{uZCX8y!-WqyJWG>YY^|mi#LmVSpS6Pgf>}eu9(9oiuW{%l{%X0`QMnb%fa1#GW50bhxC9mro`12l=)6VkTmxzsXzm z2RExdX}#z<=0eZA6-P=<6=@s2??4lmR*paWflbj9L1Z z0RVbcFT&`3*dj`Fr!T~C(#dQ95SJm$Nma66-dS>W z;#uN7D56lI1xj*z=Z`%76Dks*{)I*ZfQc@z*rwKlG553?CeY5&wbHbU@(jW=Db&-^ zCjMKTP2oCroywwuL|P-f=h!9_)PtVr zY0<|OAIao5_-Xb7o6p~L!4y1~2~r}f+RH*stcO@8aUSzyL^4}dz~y)Emml+0Y^p+ha`*umqnb-6 zS)g|CbxL1XC0jf=TdG)Zch;i|RJG1%lU>OBWdKeuVbw$!p3eoSIxO`o*(&6u^71gc zP%5Q9Q>eOB;QJgD^e4*%Kp{>#NNXdfhgJM&*xV(i8PM4YmG*PY#3Q8l(IX6k2CY~x z9hJ$II7{gA2tMJdDC_TKPr`gp6@&D+WL1P_E$ou63KJ5{K;zQ}KEO@7`{4hJ56G1_ z+Iqq;RX_=S;;@PjcwY?kkfp(fRKJ05J9b#UL2OQy z=($DvrY=BBt)82rZqVO+EQ)ooO7zq3-lgtwXc=@APG)*Ry|^O&>nbr!WM|M7ZC1V9 zq_1V-c$hgz6;s%5tQ1gP6PuB8RH{my^{I&IwNph0y>Ym@tTRUo4xeTY)s0t#7BLiB zK#G#xm!#}7V!-m*;*{te|LUmx9`*^-3e#9y%2uJDNL6dxRHMvjR^$52UQyc3{J6Bm zUTI{NK{uyCBJg3)v#tC)cEp&Kj6i6$ljMFLfB9QERU-G+6p0s~l7C{cREd7h4aPR% z6i9*b$>xt#;`q~O#T(T@l~b;b_Kl3+X~!>rM|{Wh6D=bDR`W5krH%F?@}D?G*)B;v zRswXOI|OC>zb8NX5+%#=DD*3Of}d?)zC2qDfQXG4N~skv_v6NN2sm7jSgyoelxp`dIz>ZAJTS@{KZCqM*|>GolR3CMdF zfQrcpg)56LwWYozLtUc>*Ne;b`2*r|x{f&z=0aK3emKN0&0@K3KnB+%Y`1jiZqFEf zaGnTtNR{OWg*i9v;uSM64xk@AFT3m6St`~G#N^1bwY<*k-4in|&Hm2BybRdP_4c~< z3mMB4W!ni>e~bQ9edeMZrZaC)1>`S@P3fWy^>zKnY;-9T{n_YDp8{5W$H)DmOq){< zHJR*1Clv`R3@wKru$yoJpZ9gpqgq8a1+6%f7co_hxx%R&!TceXNS=ieFQ!vU(kLP8 zCRG2%Lj-H+M9`tT<%&XlTVRr?b8Waivub%Hs|jH14c}_^Q*!V0jY8jbGjhK#Db+>q zdQs%`r<13Px%Q&O&47bABr06Fj878P>?c^bTOa+OHGnn-H=@V*qlN}D9Q&*pLeDuW zf|)*9madj6#KL#CnKXtZu2 z4?gDw_dqVu5=H|9Kx2~i4Kv5ZuAx)Xv`TV2C9uRPboqOpgZvBilK6GG z>B=?zup;9m3(a7MjEeeXz*c;z(p~OGobvK0`6BrrN32zIg{~b8SvsbOD> zCv@g~c~ji;wzyOVXj2CbyiFXzTi*%nTBXL#xzz z!>e>+#}SpRJIoSAj+f@Cma}zCkBN&isG8T8U2gqzmB~$1@Ta&mf49zR08rAuSLD9;R0i#pMoGLW z_FhZh7EqaFZGB*20Rjn(p^ZewX-};*d5-+jOqHBycI_g|8qhSN$J{5o-HgL#i#y=8 zlD_w*{dU0}u?;0aZ<6mClazvxyNUZz^aOKo8lXH`huod@XP4-OT#C@%ycFH&Ps??_ zTp3$s1_%~7Q-sc3CT}L2)VZ|#bh(`AXYQB91=ur;ME)jpP`>3%VLw@A^Q;->>^__| zEaqB|YCT1MMhDEKQah}arN@m!8^ZLs?02(SPpQ3bqD2pF|LJ1%X`_Bv8r4fa4OihK zRF^+YevC*g;(^d|wci{7og*80YpG7{lqh_Gk+_KVDjB~pN#1J8uEa^dcw!|w zm0y>?Bi>S44CN{~bp806zc&+#`!cltCf z5N+|w`0o3}KUI)qmyT|leh5eG(f1q_|H53G_U=Pd{vAG*p;I1}H|n|fqBCesvC1;n z*N5q}g(}|f9x;H?#l#Az^r=K*yoi@YH`=J4K7BnhucM!rHG~4_5Mj|hG2Q2vrK@bT z$bI`Kc_;e4Nz)^z95G^DSHJ$U_6Gmm>ZZ$ zF*5{#EcV+yU^26(iHCH`bx7oNnuAfDB{edSdIDe(=BgREjR)9#n6lw&wEh8ex75wl z1uHmWwV+HdsY*p?kKBVNr^-gI>&D7{E={N)L(FGb`r*a$>NGksX2Wn9F`3rLyEHTX zdMUcd{#Yfh%0iO|V(V36u&W0Bt=Cj5@V*tf{OQFK6EcVA%aRAoi8Iwc0oR4yvl?;H z8dzOI@qmUdfIu+mKl1)>c!ZwtQU+$9|Aeu}P*bP`H^C*SaKv5(vk$s)rJ@%EH04WP zt=`61@x)o8lmKoT0K#dilbn1~=H(G5B4t~R0a0#1dCz#anV_8}pD>z=B6ORKT?VRh zG3d6eohoFH7(t)Ktj>TYVp%F;#KgQISVmdar8;whEF_K+zX~uQfwXr*KYRfGP>LjR zU4Ol=I|}Gm^i)sj`{yM_PSTJrSkHC{{nOuMS0WkL75zmhybc_x`syxU%e){6!dQy6 z(QKbKE(qJQQRxYPmc2TH4XGkyli7;~yh7)B4N6e2GbA6e*!Y<3UyV*EefwqV-V&k* zc%b4S=EgpdgI=*7^<{jg`p;``rp}e6IqI-%kUDd;x?2DA6ef_a)adeElcjPo#Dt@f z*;#FMhpl~6TKeVtWyq5@j>bWeta#=x@`m`EHz=3m*6_>mY##$li7dZZDtFpCWueH@ zgL|n-`r>GH4Oz9cvOF=kh3TiBk`V_-M-*$F67em2#QUrVzK56`Z!KlK>EUrXIQVk< zKcCD3`&@%Cco*ER>DDP0uf0`yMOr#_|D9IT$)5aMEn)u=I_GlrSAFL^k*2d+L{D9C zuew?PTnV7@&ye!R`|Sff(VLz?UWZN?t!0N{%>VAKGb{x2siT)lN7!jxD@#ND$u@JE zsIDTNc0wUTiVDTr-*mJ{L>5Y2bBlVA%x@N<>b)FoYa2D9#v6L8-|N%QARo1+gUT%8 z%HudQ{U$qy3BB?q_HpjYf3SYPsDW>*ZTuTgD5p#>{6^;Ifek zF1+HfJq;~Ug({aC4scKM5G@>n4RRK<5@H=`WmvSy{l;#9CO`b)F{UF!fPnJni7edn zN@Q?nu^md^*H>Ms7atM#>Sw0O9>}|bva)LX2oSJ0umWYSVFUD^4$0h3ASrT~9Wr;B zD57rMgQlzn5^}_HUI$b1o{a!u+F;}dH}_G6j`GC3&V^(&CmlR09z^99*M2K{h;+v( zNY8Hls|=-*6fj)RXxeUB;4^Q9c1Ee5lqAE3p;^{ivtdb~YqPyaXkSF-b3TN70%W}^ky_AW`@tnV^rg5nq11?wmmysOrG6C!mtnI} zr`h%w8Kf#s7Y=j37G!+v-K+j7Z_(ckK~uxMsWR(Q@Hq@U=Gi~W&_o>2fgwsX z)%dCZpn*DDlHQXo#zK=EBMsIuKp|fOcV(4kV$QmfzD3=ADLW`oOaBpBw;$Lt5 zr2xCTRiaxGg!;q|-e@jnNkFM;XD8Dy->q)Ehhm9zNTbGlN7p|H|FWER1BLYr;}dWm zpE^_cdls5SNvsu_VwW}Fh&9M7a?ures@=iif^9`|pT;4#C2W zRAY-}`I9pt5$tCc|B{5x@0{GC1Wwlvof9LvNw z3DR>{hSdoS^Pz8h{6d`a6*l4n4mk2Xf`M%dFb-FA7v}eHWCx7M7Kg0C`ilm9x9dUm zp}s3q-I9VDDxj92pi({DQ!mR@d-eAVMIXw>WuqRnUK)Ia|5vd_tIUUHE}LxT9=Xnh zSCBv#n2$5)`&%Qfa)d1d-H&-2EZr$x^(Geu3Zru^By9$+KzGXMboKTfkVUpQDeGVf zry^dWtsoIJt~yVnCeDU`>)8nhI)OgVLuK<2usOu?xgt=9qbx-#ANei*5vI9k`!@2= zELY!DC*Rd4f0hwS6xeA2l|C~iQDugO$Ll++V(TUAYbKs)C;e( z@z3U`WKcgkRdy!4K`VsC@I;3XMCYKaunNmRs`cpAbpG#J~9o`MguCwr#iF}FD zTxL@uOq2xlnV>9;UngZ3 zbdE^XkuHP}mhEyRkCXI*>F66>zF*t~QweT(MgDRq@qK6cYu*9+vn^t=e%1>s-1vof ziDtgLq2M_f-E~R7qO(C)BhjpH7IH%TJ0?d$essvlDC$f+kc=M3r$?&7G~5Eb0ffPH zzvA7*Hv7;(`OP%>Koq-0QZUTM-av6mW5kb)lV1jW>M);T>qijH>(pd)5j~NPKD}%G za-42XmTytrg|8VV7dbZs)UU1 z?C>R<#q{rEITSQk1x#(!o)%JFBXu|ZWb6B4vY8iqs5$vot z2ILL;WE+xdBjzBh^z}ScAMaQIoo6{JbO#tsmNUAH;Net^alFYBV|=t-q?Io>PKfph zt)+LQfPR%0u+tX?5(#x|6@)`9B)(!Q`;2VW7dpr*3KO=~hi+U{i_sW~j(Kn_h$`PU zy9&zr58ooLvlb)iwBSK`#KED_8v{S5KUpL?n5OGh8h2hi%<)lbDwxKT^BH2CORv~)|xJK&X*dR}X zORpkK(r=7FXiof2r`oNpONWb)1J+_XT3!(GO)KRyOnzYQqU?CHmp^{dme?h{bjFKiVYB8rFncQ{-sbbk=d$xe>@u+4_k_zYI!}D&UC-`<4ucY$ z1c1t}GoXw_=mYFn56$^RnTcr}8=>MR*h~N>YK$8$I@|Y-52j->WHVPB61EV>DIvX zvyL=v(pU=PL5Q4n(@XN|6#Sm5!`l(NPLgwV6%w=l3_>uISu5D=d50WI&A!>hBHl#q5Rj6uUW*dP-t$yk* zbwv~_^(^(;huwM{XtA45awST9=v6*!>q?}VyWk^e2c|1!qOYr@^p*$dIq*MSv|1>r z8Sci4(Y95*Qof`=9f1JTsz5&Bp`j?Py){R4PAd(gh-xLJ*=DOihP<+1_emV^F$8q@dTXYE zenbcQTqUY9FOO2DA{T~~)5Q*S8ENkVkrSgd#nzN4u>z}Q;*BARu`W;-YT;*@{@pZmVj zaZCK=H4;;rIJrtG_4-@=jmGnWxX^0ZWT0u7D%snu2aVgF%;u>?3MPYc(VSZ3-m(Y& z3-9gHuRR3sIr3YP)gQ|dy?#-vO!NsZWr})hH`IHxCsC3F3DD4l-YfndD8u}d-reQ~bceb&_E4)Y|nCQY2dS5jl%kJxeE?-_GF3aY&ReHw1 z%Qz;SJykq7ABX(IBi(AH4m}L4y|h_m=phKQb?~@M^YoBqoz!mYNxkz$IUocjOvT9m z7?-c`RkQb!PqMhXNa&Q8#8dkEp%^+?u@@Jh@c?4!(~D&(y2@aN;KA;wZzmf+-*3?z z`g6`E@hRox%_9W!_VD$IV1Yc=Mr*7qzedyE_h`lW&h0%lxdz33H{Ll%-Y$Bf&j}Z9 zuQlFH`pJ9B_?$2-3N_(2W9_%qD$H0VUZz5viY`MOs6Rdm#8!V74mRl}nNQZe067E{ zHPE1elEYPIAPN)0Xu&#$ikkMX5n)|?T6EPl#b}@Oc97TUy!%9u>J8-I)6tiYP+$nGe#Q9dPvOSo;X$RmT3 zDN76Rs)OYiavCbbcmVdN8nf5>`Mn}1G2IQ9u+Cm(c62OdZ}lSxOL|wG;`){_5>ywS z7oiZ^uL?xZs&>(kXT}vs4EK6scx_gRe5tDju(?u+pF8H z8!{Xl`Anr}7OFhI=v-#2dLLmv=R2OEORrR+Zivp1m6?vQBXm5{OFUrZak=a9?nh!E z-qq;nO zb);ly>$Od^5Aw$Kz(ha>Pnq;MJnnSs=q>SYMSW{w5rk4P>Z(6 zj$`o_s>v*7r|wE#Z|fzURabH;oy&^PIkkp+I0a1>o)kLVLB(wRK3hCCKRzKQUqLdO z=*xw<+@c38`i{aE4cbyRKVKP$}eUll^m9cT99 zwuyzj_SZ&R>^n|nM7ysKpm3ui@89mKV z*a5+g6|n8OzQblm$PzPmcnKw}a-3EE|IK#r@}*`O&n=NPoH7eV7$FNiLGq- zO#A+K)e2$ZNQ4MGbiyAQ$2{?AakO~g^kx9zZ>Q1?-Gm?J5v$YES4@v*P8xDS> z#w*Ss&&e;!2L2--zL@Xidir=-0pXw?T;9yvj0V{$rOH3u-6r%U-^$Bw#h2dX*hzoF zp@7cFBd8g@;MpY>uta(cn0Y0wz8(ExXzaHOh^7z5Co%N>A#cF7YBAOu98$wb}YPyuq|Hp2u8k_ahu2 z-tf30dKi`ivOX&&0risHuze)3T>oL1yi1p@lGn#SeM3$XdfMZ%zh13nh>Qt3W;&wQ zj6;@Oigt~u3LfOSTM@Q*%7B-!hssNATl&;0jG(q2KoB(YF&N3G7s-6QkqP*9I!)$d ze|lFRz`fN%R`7Y1h+HTNSxBv9hCuj)jbau$&!@7p;tN*Ap31ndn8?hk#M>SAS#!-n zz*k2MpA3O5pb?|Q(IU0H4Cy_$oz=vPS{t<4Y zDq7DE8CQf?g=RwmS|EWJSf$VvParPt=BRAUr;%@;#!+5=|Dr5$AiPXai=NBN@4`C` z^8PD((ktWe{>pv!0DUS)^@^kc08C+Pe_I&y6Xb>wd%Ftc!Q3J8e%mRZXO|qcpqRk*S>xy(m%8APyqaD^LAM4y zHC=)JF$<+%iK=d?Y2}!nvM5Y>AEmZ;t;clfOES*`Nkq>vbU^%^BClgyU-Pg!t;-)) I4o^z@KLG3_tN;K2 From 396d0263d414f34d588ebf58c90e052ad584f28f Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 8 Feb 2018 16:23:59 -0800 Subject: [PATCH 04/20] Some changes to work around MacOS menu issues - ID's are used instead of pointers to identify menu items vs. QAction's. This is a weak measure to enhance predictability. - The file menu is built from abstract menu items instead with native Qt objects. This way the bug fix applies both to file menu items and the other menu entries The main fix is: - A menu sync is forced by emitting a focusWindowChanged event from the application object. This forces the QCocoaMenuBar implementation to update the system menu. --- src/lay/lay/layApplication.cc | 11 ++ src/lay/lay/layApplication.h | 6 + src/lay/lay/layMainWindow.cc | 48 ++++--- src/lay/lay/layMainWindow.h | 3 +- src/laybasic/laybasic/layAbstractMenu.cc | 172 +++++++++++++---------- 5 files changed, 143 insertions(+), 97 deletions(-) diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index 8087008c2..ac4f3dea4 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -1380,6 +1380,17 @@ GuiApplication::notify (QObject *receiver, QEvent *e) return ret; } +void +GuiApplication::force_update_app_menu () +{ +#if defined(__APPLE__) + // This is a workaround for a bug in the MacOS native menu integration: + // this signal forces the menu to become updated. Without this, any + // new menu items stay disabled. + emit focusWindowChanged (focusWindow ()); +#endif +} + int GuiApplication::exec () { diff --git a/src/lay/lay/layApplication.h b/src/lay/lay/layApplication.h index 95eba57de..7eceea849 100644 --- a/src/lay/lay/layApplication.h +++ b/src/lay/lay/layApplication.h @@ -432,6 +432,12 @@ public: return mp_mw; } + /** + * @brief Forces update of the application menu + * This function is used for work around a MacOS issue. + */ + void force_update_app_menu (); + protected: virtual void setup (); virtual void shutdown (); diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index 4fce4d8e7..dd2d594f0 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -450,6 +450,7 @@ MainWindow::MainWindow (QApplication *app, const char *name) m_disable_tab_selected (false), m_exited (false), dm_do_update_menu (this, &MainWindow::do_update_menu), + dm_do_update_file_menu (this, &MainWindow::do_update_file_menu), dm_exit (this, &MainWindow::exit), m_grid_micron (0.001), m_default_grids_updated (true), @@ -613,10 +614,6 @@ MainWindow::MainWindow (QApplication *app, const char *name) tl_assert (bookmark_menu != 0); connect (bookmark_menu, SIGNAL (aboutToShow ()), this, SLOT (bookmark_menu_show ())); - QMenu *file_menu = mp_menu->menu ("file_menu"); - tl_assert (file_menu != 0); - connect (file_menu, SIGNAL (aboutToShow ()), this, SLOT (file_menu_show ())); - // select the default mode select_mode (lay::LayoutView::default_mode ()); @@ -1595,6 +1592,8 @@ MainWindow::configure (const std::string &name, const std::string &value) } } + dm_do_update_file_menu (); + return true; } else if (name == cfg_micron_digits) { @@ -4173,30 +4172,31 @@ MainWindow::add_mru (const std::string &fn_rel, const std::string &tech) } void -MainWindow::file_menu_show () +MainWindow::do_update_file_menu () { - if (mp_menu->is_valid ("file_menu.open_recent_menu")) { + std::string mru_menu = "file_menu.open_recent_menu"; - Action open_recent_action = mp_menu->action ("file_menu.open_recent_menu"); + if (mp_menu->is_valid (mru_menu)) { + + Action open_recent_action = mp_menu->action (mru_menu); + open_recent_action.set_enabled (true); if (m_mru.size () > 0 && edits_enabled ()) { - open_recent_action.set_enabled (true); - - QMenu *open_recent_menu = open_recent_action.qaction ()->menu (); - if (open_recent_menu) { - - open_recent_menu->clear (); - - for (std::vector >::iterator mru = m_mru.end (); mru != m_mru.begin (); ) { - --mru; - unsigned int i = std::distance (m_mru.begin (), mru); - QAction *action = open_recent_menu->addAction (tl::to_qstring (mru->first)); - action->setObjectName (tl::to_qstring (tl::sprintf ("open_recent_%d", i + 1))); - gtf::action_connect (action, SIGNAL (triggered ()), this, SLOT (open_recent ())); - action->setData (QVariant (int (i))); - } + // rebuild MRU menu + std::vector items = mp_menu->items (mru_menu); + for (std::vector::const_iterator i = items.begin (); i != items.end (); ++i) { + mp_menu->delete_item (mru_menu + "." + *i); + } + for (std::vector >::iterator mru = m_mru.end (); mru != m_mru.begin (); ) { + --mru; + unsigned int i = std::distance (m_mru.begin (), mru); + Action action; + gtf::action_connect (action.qaction (), SIGNAL (triggered ()), this, SLOT (open_recent ())); + action.set_title (mru->first); + action.qaction ()->setData (QVariant (int (i))); + mp_menu->insert_item (mru_menu + ".end", tl::sprintf ("open_recent_%d", i + 1), action); } } else { @@ -5016,6 +5016,10 @@ void MainWindow::do_update_menu () { mp_menu->build (menuBar (), mp_tool_bar); + lay::GuiApplication *app = dynamic_cast (qApp); + if (app) { + app->force_update_app_menu (); + } } void diff --git a/src/lay/lay/layMainWindow.h b/src/lay/lay/layMainWindow.h index 478e5b685..8e9c68a42 100644 --- a/src/lay/lay/layMainWindow.h +++ b/src/lay/lay/layMainWindow.h @@ -859,7 +859,6 @@ protected slots: void menu_changed (); void message_timer (); void bookmark_menu_show (); - void file_menu_show (); void edits_enabled_changed (); void file_changed_timer (); void file_changed (const QString &path); @@ -868,6 +867,7 @@ protected slots: protected: void update_content (); void do_update_menu (); + void do_update_file_menu (); private: TextProgressDelegate m_text_progress; @@ -911,6 +911,7 @@ private: bool m_disable_tab_selected; bool m_exited; tl::DeferredMethod dm_do_update_menu; + tl::DeferredMethod dm_do_update_file_menu; tl::DeferredMethod dm_exit; QTimer m_message_timer; QTimer m_file_changed_timer; diff --git a/src/laybasic/laybasic/layAbstractMenu.cc b/src/laybasic/laybasic/layAbstractMenu.cc index 8ad69fabc..dc6c62f79 100644 --- a/src/laybasic/laybasic/layAbstractMenu.cc +++ b/src/laybasic/laybasic/layAbstractMenu.cc @@ -66,7 +66,7 @@ static const bool s_can_move_menu = true; #endif // --------------------------------------------------------------- -// Helper function to parse a title with potential shortcut and +// Helper function to parse a title with potential shortcut and // icon specification static void @@ -122,19 +122,19 @@ parse_menu_title (const std::string &s, std::string &title, std::string &shortcu // --------------------------------------------------------------- // AbstractMenuItem implementation -AbstractMenuItem::AbstractMenuItem () +AbstractMenuItem::AbstractMenuItem () : m_has_submenu (false), m_remove_on_empty (false) { // ... nothing yet .. } -AbstractMenuItem::AbstractMenuItem (const AbstractMenuItem &) +AbstractMenuItem::AbstractMenuItem (const AbstractMenuItem &) : m_has_submenu (false), m_remove_on_empty (false) -{ +{ // ... nothing yet .. } -void +void AbstractMenuItem::setup_item (const std::string &pn, const std::string &s, const Action &a) { m_basename.clear (); @@ -162,7 +162,7 @@ AbstractMenuItem::setup_item (const std::string &pn, const std::string &s, const set_action (a, false); } -void +void AbstractMenuItem::set_action (const Action &a, bool copy_properties) { Action acopy = a; @@ -187,13 +187,13 @@ AbstractMenuItem::set_action (const Action &a, bool copy_properties) } } -void +void AbstractMenuItem::set_action_title (const std::string &s) { m_action.set_title (s); } -void +void AbstractMenuItem::set_has_submenu () { m_has_submenu = true; @@ -214,10 +214,20 @@ static std::set *sp_actionHandles = 0; * @brief A specialization that provides a way to catch ambiguous key shortcuts */ class ActionObject - : public QAction + : public QAction { public: - ActionObject (QObject *parent) : QAction (parent) { } + ActionObject (QObject *parent) + : QAction (parent) + { + static size_t s_id = 0; + m_id = ++s_id; + } + + size_t id () const + { + return m_id; + } bool event(QEvent *e) { @@ -251,8 +261,18 @@ public: return QAction::event(e); } + +private: + size_t m_id; }; +static size_t +id_from_action (QAction *action) +{ + ActionObject *ao = dynamic_cast (action); + return ao ? ao->id () : 0; +} + ActionHandle::ActionHandle (QWidget *parent) : mp_menu (0), mp_action (new ActionObject (parent)), @@ -260,7 +280,7 @@ ActionHandle::ActionHandle (QWidget *parent) m_owned (true), m_visible (true), m_hidden (false) -{ +{ if (! sp_actionHandles) { sp_actionHandles = new std::set (); } @@ -273,11 +293,11 @@ ActionHandle::ActionHandle (QWidget *parent) ActionHandle::ActionHandle (QAction *action, bool owned) : mp_menu (0), mp_action (action), - m_ref_count (0), + m_ref_count (0), m_owned (owned), m_visible (true), m_hidden (false) -{ +{ if (! sp_actionHandles) { sp_actionHandles = new std::set (); } @@ -330,13 +350,13 @@ ActionHandle::~ActionHandle () } } -void -ActionHandle::add_ref () +void +ActionHandle::add_ref () { ++m_ref_count; } -void +void ActionHandle::remove_ref () { if (--m_ref_count == 0) { @@ -356,7 +376,7 @@ ActionHandle::menu () const return mp_menu; } -void +void ActionHandle::destroyed (QObject * /*obj*/) { mp_action = 0; @@ -548,7 +568,7 @@ Action::triggered_slot () END_PROTECTED } -void +void Action::set_title (const std::string &t) { if (qaction ()) { @@ -556,7 +576,7 @@ Action::set_title (const std::string &t) } } -std::string +std::string Action::get_title () const { if (qaction ()) { @@ -566,7 +586,7 @@ Action::get_title () const } } -void +void Action::set_shortcut (const QKeySequence &s) { if (mp_handle) { @@ -732,7 +752,7 @@ Action::set_separator (bool s) } } -void +void Action::set_icon (const std::string &filename) { if (qaction ()) { @@ -744,7 +764,7 @@ Action::set_icon (const std::string &filename) } } -std::string +std::string Action::get_tool_tip () const { if (qaction ()) { @@ -754,7 +774,7 @@ Action::get_tool_tip () const } } -void +void Action::set_tool_tip (const std::string &text) { if (qaction ()) { @@ -766,7 +786,7 @@ Action::set_tool_tip (const std::string &text) } } -std::string +std::string Action::get_icon_text () const { if (qaction ()) { @@ -776,7 +796,7 @@ Action::get_icon_text () const } } -void +void Action::set_icon_text (const std::string &icon_text) { if (qaction ()) { @@ -788,7 +808,7 @@ Action::set_icon_text (const std::string &icon_text) } } -void +void Action::set_object_name (const std::string &name) { if (qaction ()) { @@ -814,7 +834,7 @@ ConfigureAction::ConfigureAction (lay::PluginRoot *pr, const std::string &cname, } reg (); -} +} ConfigureAction::ConfigureAction (lay::PluginRoot *pr, const std::string &title, const std::string &cname, const std::string &cvalue) : Action (title), m_pr (pr), m_cname (cname), m_cvalue (cvalue), m_type (ConfigureAction::setter_type) @@ -831,19 +851,19 @@ ConfigureAction::ConfigureAction (lay::PluginRoot *pr, const std::string &title, } reg (); -} +} ConfigureAction::~ConfigureAction () { unreg (); } -void +void ConfigureAction::triggered () { if (m_type == boolean_type) { m_cvalue = tl::to_string (is_checked ()); - } + } m_pr->config_set (m_cname, m_cvalue); } @@ -880,7 +900,7 @@ ConfigureAction::configure (const std::string &value) set_checkable (true); set_checked (m_cvalue == value); - } + } } // --------------------------------------------------------------- @@ -897,7 +917,7 @@ AbstractMenu::create_action (const std::string &s) std::string tool_tip; parse_menu_title (s, title, shortcut, res, tool_tip); - + ActionHandle *ah = new ActionHandle (lay::AbstractMenuProvider::instance ()->menu_parent_widget ()); ah->ptr ()->setText (tl::to_qstring (title)); @@ -927,7 +947,7 @@ AbstractMenu::~AbstractMenu () // .. nothing yet .. } -void +void AbstractMenu::init (const MenuLayoutEntry *layout) { m_root.set_has_submenu (); @@ -943,12 +963,12 @@ AbstractMenu::make_exclusive_group (const std::string &name) QActionGroup *ag = new QActionGroup (this); ag->setExclusive (true); a = m_action_groups.insert (std::make_pair (name, ag)).first; - } + } return a->second; } -void +void AbstractMenu::build_detached (const std::string &name, QFrame *mbar) { // Clean up the menu bar before rebuilding @@ -1005,7 +1025,7 @@ AbstractMenu::build_detached (const std::string &name, QFrame *mbar) menu_layout->addStretch (1); } -void +void AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) { tl_assert (mp_provider != 0); @@ -1013,9 +1033,11 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) m_helper_menu_items.clear (); tbar->clear (); - std::set present_actions; + std::set > present_actions; QList a = mbar->actions (); - present_actions.insert (a.begin (), a.end ()); + for (QList::const_iterator i = a.begin (); i != a.end (); ++i) { + present_actions.insert (std::make_pair (id_from_action (*i), *i)); + } for (std::list::iterator c = m_root.children.begin (); c != m_root.children.end (); ++c) { @@ -1027,7 +1049,7 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) } else if (c->name ().find ("@@") == 0) { - // nothing: let build_detached build the menu + // nothing: let build_detached build the menu } else if (c->name ().find ("@") == 0) { @@ -1035,9 +1057,9 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) QMenu *menu = new QMenu (tl::to_qstring (c->action ().get_title ())); // HINT: it is necessary to add the menu action to a widget below the main window. // Otherwise, the keyboard shortcuts do not work for menu items inside such a - // popup menu. It seems not to have a negative effect to add the menu to the + // popup menu. It seems not to have a negative effect to add the menu to the // main widget. - mp_provider->menu_parent_widget ()->addAction (menu->menuAction ()); + mp_provider->menu_parent_widget ()->addAction (menu->menuAction ()); c->set_action (Action (new ActionHandle (menu)), true); } @@ -1053,10 +1075,10 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) c->set_action (Action (new ActionHandle (menu)), true); } else { // Move the action to the end if present in the menu already - std::set::iterator a = present_actions.find (c->menu ()->menuAction ()); + std::set >::iterator a = present_actions.find (std::make_pair (id_from_action (c->menu ()->menuAction ()), c->menu ()->menuAction ())); if (a != present_actions.end ()) { if (s_can_move_menu) { - mbar->removeAction (*a); + mbar->removeAction (a->second); mbar->addMenu (c->menu ()); } present_actions.erase (*a); @@ -1071,10 +1093,10 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) } else { // Move the action to the end if present in the menu already - std::set::iterator a = present_actions.find (c->action ().qaction ()); + std::set >::iterator a = present_actions.find (std::make_pair (id_from_action (c->action ().qaction ()), c->action ().qaction ())); if (a != present_actions.end ()) { if (s_can_move_menu) { - mbar->removeAction (*a); + mbar->removeAction (a->second); mbar->addAction (c->action ().qaction ()); } present_actions.erase (*a); @@ -1086,17 +1108,19 @@ AbstractMenu::build (QMenuBar *mbar, QToolBar *tbar) } // Remove all actions that have vanished - for (std::set::iterator a = present_actions.begin (); a != present_actions.end (); ++a) { - mbar->removeAction (*a); + for (std::set >::iterator a = present_actions.begin (); a != present_actions.end (); ++a) { + mbar->removeAction (a->second); } } -void +void AbstractMenu::build (QMenu *m, std::list &items) { - std::set present_actions; + std::set > present_actions; QList a = m->actions (); - present_actions.insert (a.begin (), a.end ()); + for (QList::const_iterator i = a.begin (); i != a.end (); ++i) { + present_actions.insert (std::make_pair (id_from_action (*i), *i)); + } for (std::list::iterator c = items.begin (); c != items.end (); ++c) { @@ -1111,10 +1135,10 @@ AbstractMenu::build (QMenu *m, std::list &items) c->set_action (Action (new ActionHandle (menu)), true); } else { // Move the action to the end if present in the menu already - std::set::iterator a = present_actions.find (c->menu ()->menuAction ()); + std::set >::iterator a = present_actions.find (std::make_pair (id_from_action (c->menu ()->menuAction ()), c->menu ()->menuAction ())); if (a != present_actions.end ()) { if (s_can_move_menu) { - m->removeAction (*a); + m->removeAction (a->second); m->addMenu (c->menu ()); } present_actions.erase (*a); @@ -1128,10 +1152,10 @@ AbstractMenu::build (QMenu *m, std::list &items) } else { // Move the action to the end if present in the menu already - std::set::iterator a = present_actions.find (c->action ().qaction ()); + std::set >::iterator a = present_actions.find (std::make_pair (id_from_action (c->action ().qaction ()), c->action ().qaction ())); if (a != present_actions.end ()) { if (s_can_move_menu) { - m->removeAction (*a); + m->removeAction (a->second); m->addAction (c->action ().qaction ()); } present_actions.erase (*a); @@ -1143,26 +1167,26 @@ AbstractMenu::build (QMenu *m, std::list &items) } // Remove all actions that have vanished - for (std::set::iterator a = present_actions.begin (); a != present_actions.end (); ++a) { - m->removeAction (*a); + for (std::set >::iterator a = present_actions.begin (); a != present_actions.end (); ++a) { + m->removeAction (a->second); } } -void +void AbstractMenu::build (QToolBar *t, std::list &items) { for (std::list::iterator c = items.begin (); c != items.end (); ++c) { if (! c->children.empty ()) { - // To support tool buttons with menu we have to attach a helper menu - // item to the QAction object. + // To support tool buttons with menu we have to attach a helper menu + // item to the QAction object. // TODO: this hurts if we use this QAction otherwise. In this case, this // QAction would get a menu too. However, hopefully this usage is constrained // to special toolbar buttons only. // In order to be able to manage the QMenu ourselves, we must not give it a parent. QMenu *menu = new QMenu (0); - m_helper_menu_items.push_back (menu); // will be owned by the stable vector + m_helper_menu_items.push_back (menu); // will be owned by the stable vector c->action ().qaction ()->setMenu (menu); t->addAction (c->action ().qaction ()); build (menu, c->children); @@ -1183,7 +1207,7 @@ AbstractMenu::detached_menu (const std::string &name) } QMenu * -AbstractMenu::menu (const std::string &path) +AbstractMenu::menu (const std::string &path) { AbstractMenuItem *item = find_item_exact (path); if (item) { @@ -1214,7 +1238,7 @@ AbstractMenu::is_separator (const std::string &path) const return item != 0 && item->action ().is_separator (); } -Action +Action AbstractMenu::action (const std::string &path) const { const AbstractMenuItem *item = find_item_exact (path); @@ -1224,7 +1248,7 @@ AbstractMenu::action (const std::string &path) const return item->action (); } -std::vector +std::vector AbstractMenu::items (const std::string &path) const { std::vector res; @@ -1240,7 +1264,7 @@ AbstractMenu::items (const std::string &path) const return res; } -void +void AbstractMenu::insert_item (const std::string &p, const std::string &name, const Action &action) { typedef std::vector::iterator > > path_type; @@ -1271,7 +1295,7 @@ AbstractMenu::insert_item (const std::string &p, const std::string &name, const emit changed (); } -void +void AbstractMenu::insert_separator (const std::string &p, const std::string &name) { tl_assert (mp_provider != 0); // required to get the parent for the new QAction (via ActionHandle) @@ -1294,7 +1318,7 @@ AbstractMenu::insert_separator (const std::string &p, const std::string &name) emit changed (); } -void +void AbstractMenu::insert_menu (const std::string &p, const std::string &name, const Action &action) { typedef std::vector::iterator > > path_type; @@ -1324,13 +1348,13 @@ AbstractMenu::insert_menu (const std::string &p, const std::string &name, const emit changed (); } -void +void AbstractMenu::insert_menu (const std::string &path, const std::string &name, const std::string &title) { insert_menu (path, name, create_action (title)); } -void +void AbstractMenu::delete_item (const std::string &p) { typedef std::vector::iterator > > path_type; @@ -1387,7 +1411,7 @@ AbstractMenu::find_item_exact (const std::string &path) const } AbstractMenuItem * -AbstractMenu::find_item_exact (const std::string &path) +AbstractMenu::find_item_exact (const std::string &path) { tl::Extractor extr (path.c_str ()); AbstractMenuItem *item = &m_root; @@ -1406,7 +1430,7 @@ AbstractMenu::find_item_exact (const std::string &path) } if (n > 0) { return 0; - } + } item = &*c; @@ -1576,7 +1600,7 @@ AbstractMenu::find_item (const std::string &p) return path; } -void +void AbstractMenu::transfer (const MenuLayoutEntry *layout, AbstractMenuItem &item) { tl_assert (mp_provider != 0); @@ -1609,7 +1633,7 @@ AbstractMenu::transfer (const MenuLayoutEntry *layout, AbstractMenuItem &item) std::string tool_tip; parse_menu_title (layout->title, title, shortcut, res, tool_tip); - + a.set_separator (false); a.set_title (title); @@ -1641,7 +1665,7 @@ AbstractMenu::transfer (const MenuLayoutEntry *layout, AbstractMenuItem &item) } } -std::vector +std::vector AbstractMenu::group (const std::string &name) const { std::vector grp; @@ -1649,7 +1673,7 @@ AbstractMenu::group (const std::string &name) const return grp; } -void +void AbstractMenu::collect_group (std::vector &grp, const std::string &name, const AbstractMenuItem &item) const { for (std::list::const_iterator c = item.children.begin (); c != item.children.end (); ++c) { From d6adadcad4a146cddce4f88c86ec0a51c3049d72 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 9 Feb 2018 22:56:03 +0100 Subject: [PATCH 05/20] Added file source to 'stream has unknown format' message. --- src/db/db/dbReader.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/db/db/dbReader.cc b/src/db/db/dbReader.cc index 2ce1efe86..bd8326c9f 100644 --- a/src/db/db/dbReader.cc +++ b/src/db/db/dbReader.cc @@ -62,7 +62,7 @@ Reader::Reader (tl::InputStream &stream) } if (! mp_actual_reader) { - throw db::ReaderException (tl::to_string (QObject::tr ("Stream has unknown format"))); + throw db::ReaderException (tl::to_string (QObject::tr ("Stream has unknown format: ")) + stream.source ()); } } From 6a762db29b8fe50409f639beffa1f3d9163409a3 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 10 Feb 2018 18:40:24 +0100 Subject: [PATCH 06/20] Reworked bookmark menu implementation to avoid MacOS menu issue Without this commit, bookmark menus got grayed out on MacOS with Qt5 sometimes. Now, the implementation of recent file menu, bookmark menu, macro menu and the static main menu use the same framewkork which includes a workaround for the disabled menu issue. --- src/lay/lay/layMainWindow.cc | 85 +++------------------- src/lay/lay/layMainWindow.h | 5 +- src/laybasic/laybasic/layAbstractMenu.cc | 11 +++ src/laybasic/laybasic/layAbstractMenu.h | 7 ++ src/laybasic/laybasic/layLayoutView.cc | 68 +++++++++++++++++ src/laybasic/laybasic/layLayoutView.h | 17 +++++ src/laybasic/unit_tests/layAbstractMenu.cc | 11 ++- 7 files changed, 127 insertions(+), 77 deletions(-) diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index dd2d594f0..37be91928 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -609,11 +609,6 @@ MainWindow::MainWindow (QApplication *app, const char *name) cp_frame_ly->addWidget (mp_cpy_label); cp_frame_ly->insertSpacing (-1, 6); - // connect to the menus to provide the dynamic parts - QMenu *bookmark_menu = mp_menu->menu ("bookmark_menu"); - tl_assert (bookmark_menu != 0); - connect (bookmark_menu, SIGNAL (aboutToShow ()), this, SLOT (bookmark_menu_show ())); - // select the default mode select_mode (lay::LayoutView::default_mode ()); @@ -1798,6 +1793,12 @@ MainWindow::edits_enabled_changed () } } +void +MainWindow::menu_needs_update () +{ + lay::LayoutView::update_menu (current_view (), *mp_menu); +} + void MainWindow::libraries_changed () { @@ -2426,57 +2427,6 @@ MainWindow::cm_redo () END_PROTECTED } -void -MainWindow::bookmark_menu_show () -{ - if (mp_menu->is_valid ("bookmark_menu.goto_bookmark_menu")) { - - Action goto_bookmark_action = mp_menu->action ("bookmark_menu.goto_bookmark_menu"); - bool has_bookmarks = current_view () && current_view ()->bookmarks ().size () > 0; - - if (has_bookmarks && edits_enabled ()) { - - goto_bookmark_action.set_enabled (true); - - QMenu *goto_bookmark_menu = goto_bookmark_action.qaction ()->menu (); - if (goto_bookmark_menu) { - - goto_bookmark_menu->clear (); - - if (current_view ()) { - const lay::BookmarkList &bookmarks = current_view ()->bookmarks (); - for (size_t i = 0; i < bookmarks.size (); ++i) { - QAction *action = goto_bookmark_menu->addAction (tl::to_qstring (bookmarks.name (i))); - action->setObjectName (tl::to_qstring (tl::sprintf ("bookmark_%d", i + 1))); - gtf::action_connect (action, SIGNAL (triggered ()), this, SLOT (goto_bookmark ())); - action->setData (QVariant (int (i))); - } - } - - } - - } else { - goto_bookmark_action.set_enabled (false); - } - - } -} - -void -MainWindow::goto_bookmark () -{ - BEGIN_PROTECTED - - QAction *action = dynamic_cast (sender ()); - tl_assert (action); - size_t id = size_t (action->data ().toInt ()); - if (current_view () && current_view ()->bookmarks ().size () > id) { - current_view ()->goto_view (current_view ()->bookmarks ().state (id)); - } - - END_PROTECTED -} - void MainWindow::cm_goto_position () { @@ -2580,19 +2530,7 @@ MainWindow::cm_bookmark_view () BEGIN_PROTECTED if (current_view ()) { - while (true) { - bool ok = false; - QString text = QInputDialog::getText (this, QObject::tr ("Enter Bookmark Name"), QObject::tr ("Bookmark name"), - QLineEdit::Normal, QString::null, &ok); - if (! ok) { - break; - } else if (text.isEmpty ()) { - QMessageBox::critical (this, QObject::tr ("Error"), QObject::tr ("Enter a name for the bookmark")); - } else { - current_view ()->bookmark_view (tl::to_string (text)); - break; - } - } + current_view ()->bookmark_current_view (); } END_PROTECTED @@ -3359,6 +3297,7 @@ MainWindow::select_view (int index) clear_current_pos (); edits_enabled_changed (); clear_message (); + menu_needs_update (); m_disable_tab_selected = dis; @@ -3738,6 +3677,7 @@ MainWindow::clone_current_view () connect (view, SIGNAL (title_changed ()), this, SLOT (view_title_changed ())); connect (view, SIGNAL (dirty_changed ()), this, SLOT (view_title_changed ())); connect (view, SIGNAL (edits_enabled_changed ()), this, SLOT (edits_enabled_changed ())); + connect (view, SIGNAL (menu_needs_update ()), this, SLOT (menu_needs_update ())); connect (view, SIGNAL (show_message (const std::string &, int)), this, SLOT (message (const std::string &, int))); connect (view, SIGNAL (current_pos_changed (double, double, bool)), this, SLOT (current_pos (double, double, bool))); connect (view, SIGNAL (clear_current_pos ()), this, SLOT (clear_current_pos ())); @@ -4041,6 +3981,7 @@ MainWindow::close_view (int index) clear_current_pos (); edits_enabled_changed (); + menu_needs_update (); clear_message (); update_dock_widget_state (); @@ -4184,10 +4125,7 @@ MainWindow::do_update_file_menu () if (m_mru.size () > 0 && edits_enabled ()) { // rebuild MRU menu - std::vector items = mp_menu->items (mru_menu); - for (std::vector::const_iterator i = items.begin (); i != items.end (); ++i) { - mp_menu->delete_item (mru_menu + "." + *i); - } + mp_menu->clear_menu (mru_menu); for (std::vector >::iterator mru = m_mru.end (); mru != m_mru.begin (); ) { --mru; @@ -4349,6 +4287,7 @@ MainWindow::do_create_view () connect (view, SIGNAL (title_changed ()), this, SLOT (view_title_changed ())); connect (view, SIGNAL (dirty_changed ()), this, SLOT (view_title_changed ())); connect (view, SIGNAL (edits_enabled_changed ()), this, SLOT (edits_enabled_changed ())); + connect (view, SIGNAL (menu_needs_update ()), this, SLOT (menu_needs_update ())); connect (view, SIGNAL (show_message (const std::string &, int)), this, SLOT (message (const std::string &, int))); connect (view, SIGNAL (current_pos_changed (double, double, bool)), this, SLOT (current_pos (double, double, bool))); connect (view, SIGNAL (clear_current_pos ()), this, SLOT (clear_current_pos ())); diff --git a/src/lay/lay/layMainWindow.h b/src/lay/lay/layMainWindow.h index 8e9c68a42..092ac57a4 100644 --- a/src/lay/lay/layMainWindow.h +++ b/src/lay/lay/layMainWindow.h @@ -689,7 +689,6 @@ public slots: void tab_close_requested (int); void enable_all (); void disable_all (); - void goto_bookmark (); void open_recent (); void view_selected (int index); void view_title_changed (); @@ -858,8 +857,9 @@ public slots: protected slots: void menu_changed (); void message_timer (); - void bookmark_menu_show (); void edits_enabled_changed (); + void menu_needs_update (); + void file_changed_timer (); void file_changed (const QString &path); void file_removed (const QString &path); @@ -874,7 +874,6 @@ private: // Main menu AbstractMenu *mp_menu; - QMenu *mp_goto_bookmark_menu; QTabBar *mp_tab_bar; QToolBar *mp_tool_bar; QDockWidget *mp_navigator_dock_widget; diff --git a/src/laybasic/laybasic/layAbstractMenu.cc b/src/laybasic/laybasic/layAbstractMenu.cc index dc6c62f79..dccd1ea33 100644 --- a/src/laybasic/laybasic/layAbstractMenu.cc +++ b/src/laybasic/laybasic/layAbstractMenu.cc @@ -1354,6 +1354,17 @@ AbstractMenu::insert_menu (const std::string &path, const std::string &name, con insert_menu (path, name, create_action (title)); } +void +AbstractMenu::clear_menu (const std::string &p) +{ + typedef std::vector::iterator > > path_type; + path_type path = find_item (p); + if (! path.empty () && ! path.back ().second->children.empty ()) { + path.back ().second->children.clear (); + emit changed (); + } +} + void AbstractMenu::delete_item (const std::string &p) { diff --git a/src/laybasic/laybasic/layAbstractMenu.h b/src/laybasic/laybasic/layAbstractMenu.h index f86c3a674..c5a6ade53 100644 --- a/src/laybasic/laybasic/layAbstractMenu.h +++ b/src/laybasic/laybasic/layAbstractMenu.h @@ -784,6 +784,13 @@ public: */ void insert_menu (const std::string &path, const std::string &name, const std::string &title); + /** + * @brief Deletes the children of the item with the given path + * + * If the item does not exist or is not a menu, this method does nothing. + */ + void clear_menu (const std::string &path); + /** * @brief Delete the item given by the path * diff --git a/src/laybasic/laybasic/layLayoutView.cc b/src/laybasic/laybasic/layLayoutView.cc index d4f291c5a..7a4c2b5c6 100644 --- a/src/laybasic/laybasic/layLayoutView.cc +++ b/src/laybasic/laybasic/layLayoutView.cc @@ -42,6 +42,7 @@ #include "tlString.h" #include "tlLog.h" #include "tlAssert.h" +#include "tlExceptions.h" #include "layLayoutView.h" #include "layViewOp.h" #include "layViewObject.h" @@ -74,6 +75,7 @@ #include "rdbMarkerBrowserDialog.h" #include "tlXMLParser.h" #include "gsi.h" +#include "gtf.h" #include @@ -772,6 +774,37 @@ LayoutView::init_menu (lay::AbstractMenu &menu) lay::HierarchyControlPanel::init_menu (menu); } +void +LayoutView::update_menu (lay::LayoutView *view, lay::AbstractMenu &menu) +{ + std::string bm_menu = "bookmark_menu.goto_bookmark_menu"; + + if (menu.is_valid (bm_menu)) { + + menu.clear_menu (bm_menu); + + Action goto_bookmark_action = menu.action (bm_menu); + + if (view && view->bookmarks ().size () > 0) { + + goto_bookmark_action.set_enabled (true); + + const lay::BookmarkList &bookmarks = view->bookmarks (); + for (size_t i = 0; i < bookmarks.size (); ++i) { + Action action; + gtf::action_connect (action.qaction (), SIGNAL (triggered ()), view, SLOT (goto_bookmark ())); + action.set_title (bookmarks.name (i)); + action.qaction ()->setData (QVariant (int (i))); + menu.insert_item (bm_menu + ".end", tl::sprintf ("bookmark_%d", i + 1), action); + } + + } else { + goto_bookmark_action.set_enabled (false); + } + + } +} + void LayoutView::set_drawing_workers (int workers) { @@ -3650,6 +3683,24 @@ LayoutView::cancel () clear_selection (); } +void +LayoutView::bookmark_current_view () +{ + while (true) { + bool ok = false; + QString text = QInputDialog::getText (this, QObject::tr ("Enter Bookmark Name"), QObject::tr ("Bookmark name"), + QLineEdit::Normal, QString::null, &ok); + if (! ok) { + break; + } else if (text.isEmpty ()) { + QMessageBox::critical (this, QObject::tr ("Error"), QObject::tr ("Enter a name for the bookmark")); + } else { + bookmark_view (tl::to_string (text)); + break; + } + } +} + void LayoutView::manage_bookmarks () { @@ -3663,6 +3714,7 @@ void LayoutView::bookmarks (const BookmarkList &b) { m_bookmarks = b; + emit menu_needs_update (); } void @@ -3670,6 +3722,22 @@ LayoutView::bookmark_view (const std::string &name) { DisplayState state (box (), get_min_hier_levels (), get_max_hier_levels (), m_cellviews); m_bookmarks.add (name, state); + emit menu_needs_update (); +} + +void +LayoutView::goto_bookmark () +{ + BEGIN_PROTECTED + + QAction *action = dynamic_cast (sender ()); + tl_assert (action); + size_t id = size_t (action->data ().toInt ()); + if (bookmarks ().size () > id) { + goto_view (bookmarks ().state (id)); + } + + END_PROTECTED } void diff --git a/src/laybasic/laybasic/layLayoutView.h b/src/laybasic/laybasic/layLayoutView.h index 0cc3d63ff..5d5d2e4c3 100644 --- a/src/laybasic/laybasic/layLayoutView.h +++ b/src/laybasic/laybasic/layLayoutView.h @@ -1557,6 +1557,11 @@ public: */ void bookmark_view (const std::string &name); + /** + * @brief Asks for a bookmark name and bookmark the current view under this name + */ + void bookmark_current_view (); + /** * @brief Show the bookmark management form */ @@ -1603,6 +1608,12 @@ public: */ static void init_menu (lay::AbstractMenu &menu); + /** + * @brief Updates the menu for the given view + * If the view is 0, the menu shall be updated to reflect "no view active" + */ + static void update_menu (lay::LayoutView *view, lay::AbstractMenu &menu); + /** * @brief Query the default mode */ @@ -2530,6 +2541,7 @@ public slots: private slots: void active_cellview_changed (int index); + void goto_bookmark (); signals: /** @@ -2562,6 +2574,11 @@ signals: */ void edits_enabled_changed (); + /** + * @brief This signal is sent when the view wants to update the menu + */ + void menu_needs_update (); + protected: /** * @brief Establish the view operations diff --git a/src/laybasic/unit_tests/layAbstractMenu.cc b/src/laybasic/unit_tests/layAbstractMenu.cc index 5edf78f8f..46bd3b3ff 100644 --- a/src/laybasic/unit_tests/layAbstractMenu.cc +++ b/src/laybasic/unit_tests/layAbstractMenu.cc @@ -124,5 +124,14 @@ TEST(1) menu.delete_item ("n1.c2"); EXPECT_EQ (menu_to_string (menu), "(n2)"); -} + menu.clear_menu ("n1"); + EXPECT_EQ (menu_to_string (menu), "(n2)"); + + menu.insert_menu ("end", "n1", lay::Action ("title:n1")); + menu.insert_item ("n1.begin", "c1", lay::Action ("title:c1")); + menu.insert_item ("n1.end", "c2", lay::Action ("title:c2")); + EXPECT_EQ (menu_to_string (menu), "(n2,n1(n1.c1,n1.c2))"); + menu.clear_menu ("n1"); + EXPECT_EQ (menu_to_string (menu), "(n2,n1)"); +} From 6d0fe8542526d529f7ff893f8b529e2b60c722a0 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Feb 2018 00:34:28 +0100 Subject: [PATCH 07/20] Fixed #75 (Python PCell issue when parameters are called 'layer') This commit - Ignores exceptions when checking for PCells that accept shapes. Hence a single rogue one does not break the feature. - Prevents errors when parameters named "layer" are present by making the implementation safe against this case. - In addition, guiding shape parameters of type "Path", "Box" etc. (i.e. integer types) are supported too although they are not recommended for portability. --- .../pcell_declaration_helper.lym | 15 ++++++-- src/db/db/dbPCellVariant.cc | 23 +++++++++++++ src/edt/edt/edtMainService.cc | 34 +++++++++++-------- 3 files changed, 56 insertions(+), 16 deletions(-) diff --git a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym index 13abeb6c5..c69cbc74a 100644 --- a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym +++ b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym @@ -226,16 +226,27 @@ class _PCellDeclarationHelperLayerDescriptor(object): class _PCellDeclarationHelperParameterDescriptor(object): """ A descriptor object which translates the PCell parameters into class attributes + + In some cases (i.e. can_convert_from_shape), these placeholders are not + connected to real parameters (obj._param_values is None). In this case, + the descriptor acts as a value holder (self.value) """ def __init__(self, param_index): self.param_index = param_index + self.value = None def __get__(self, obj, type = None): - return obj._param_values[self.param_index] + if obj._param_values: + return obj._param_values[self.param_index] + else: + return self.value def __set__(self, obj, value): - obj._param_values[self.param_index] = value + if obj._param_values: + obj._param_values[self.param_index] = value + else: + self.value = value class _PCellDeclarationHelper(pya.PCellDeclaration): """ diff --git a/src/db/db/dbPCellVariant.cc b/src/db/db/dbPCellVariant.cc index 0430996f0..55f67a840 100644 --- a/src/db/db/dbPCellVariant.cc +++ b/src/db/db/dbPCellVariant.cc @@ -186,15 +186,28 @@ PCellVariant::update (ImportLayerMapping *layer_mapping) shapes (layout ()->guiding_shape_layer ()).insert (db::BoxWithProperties(db::Box (m_parameters[i].to_user () * (1.0 / layout ()->dbu ())), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { + + shapes (layout ()->guiding_shape_layer ()).insert (db::BoxWithProperties(m_parameters[i].to_user (), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { shapes (layout ()->guiding_shape_layer ()).insert (db::EdgeWithProperties(db::Edge (m_parameters[i].to_user () * (1.0 / layout ()->dbu ())), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { + + shapes (layout ()->guiding_shape_layer ()).insert (db::EdgeWithProperties(m_parameters[i].to_user (), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { db::DPoint p = m_parameters[i].to_user (); shapes (layout ()->guiding_shape_layer ()).insert (db::BoxWithProperties(db::Box (db::DBox (p, p) * (1.0 / layout ()->dbu ())), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { + + db::Point p = m_parameters[i].to_user (); + shapes (layout ()->guiding_shape_layer ()).insert (db::BoxWithProperties(db::Box (p, p), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { db::complex_trans dbu_trans (1.0 / layout ()->dbu ()); @@ -202,11 +215,21 @@ PCellVariant::update (ImportLayerMapping *layer_mapping) // Hint: we don't compress the polygon since we don't want to loose information shapes (layout ()->guiding_shape_layer ()).insert (db::PolygonWithProperties(poly, layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { + + db::Polygon poly = m_parameters[i].to_user (); + // Hint: we don't compress the polygon since we don't want to loose information + shapes (layout ()->guiding_shape_layer ()).insert (db::PolygonWithProperties(poly, layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { db::complex_trans dbu_trans (1.0 / layout ()->dbu ()); shapes (layout ()->guiding_shape_layer ()).insert (db::PathWithProperties(dbu_trans * m_parameters[i].to_user (), layout ()->properties_repository ().properties_id (props))); + } else if (m_parameters[i].is_user ()) { + + shapes (layout ()->guiding_shape_layer ()).insert (db::PathWithProperties(m_parameters[i].to_user (), layout ()->properties_repository ().properties_id (props))); + } } diff --git a/src/edt/edt/edtMainService.cc b/src/edt/edt/edtMainService.cc index 59bf0a572..0d98f3872 100644 --- a/src/edt/edt/edtMainService.cc +++ b/src/edt/edt/edtMainService.cc @@ -1084,23 +1084,29 @@ MainService::cm_convert_to_pcell () db::Library *lib = db::LibraryManager::instance ().lib (l->second); for (db::Layout::pcell_iterator pc = lib->layout ().begin_pcells (); pc != lib->layout ().end_pcells (); ++pc) { - const db::PCellDeclaration *pc_decl = lib->layout ().pcell_declaration (pc->second); - size_t n = 1000; // 1000 tries max. - for (std::vector::const_iterator es = edt_services.begin (); n > 0 && pc_decl && es != edt_services.end (); ++es) { - for (edt::Service::obj_iterator s = (*es)->selection ().begin (); n > 0 && pc_decl && s != (*es)->selection ().end (); ++s) { - const lay::CellView &cv = view ()->cellview (s->cv_index ()); - if (pc_decl->can_create_from_shape (cv->layout (), s->shape (), s->layer ())) { - --n; - } else { - pc_decl = 0; // stop + try { + + const db::PCellDeclaration *pc_decl = lib->layout ().pcell_declaration (pc->second); + size_t n = 1000; // 1000 tries max. + for (std::vector::const_iterator es = edt_services.begin (); n > 0 && pc_decl && es != edt_services.end (); ++es) { + for (edt::Service::obj_iterator s = (*es)->selection ().begin (); n > 0 && pc_decl && s != (*es)->selection ().end (); ++s) { + const lay::CellView &cv = view ()->cellview (s->cv_index ()); + if (pc_decl->can_create_from_shape (cv->layout (), s->shape (), s->layer ())) { + --n; + } else { + pc_decl = 0; // stop + } } } - } - // We have positive hit - if (pc_decl) { - pcells.push_back (std::make_pair (lib, pc->second)); - items.push_back (tl::to_qstring (lib->get_name () + "." + pc_decl->name ())); + // We have positive hit + if (pc_decl) { + pcells.push_back (std::make_pair (lib, pc->second)); + items.push_back (tl::to_qstring (lib->get_name () + "." + pc_decl->name ())); + } + + } catch (...) { + // ignore errors in can_create_from_shape } } From 5d59b890d33fccebf891218cc033e51c450a6c7c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Feb 2018 22:04:03 +0100 Subject: [PATCH 08/20] Small bugfix: DRC error message on wrong '@' input/output was wrong. --- src/drc/drc/built-in-macros/drc.lym | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/drc/drc/built-in-macros/drc.lym b/src/drc/drc/built-in-macros/drc.lym index 3f103f38c..a86fb5121 100644 --- a/src/drc/drc/built-in-macros/drc.lym +++ b/src/drc/drc/built-in-macros/drc.lym @@ -3922,9 +3922,9 @@ CODE n = $1.to_i - 1 view = RBA::LayoutView::current view || raise("No view open") - (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n}") + (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n + 1}") cv = view.cellview(n) - cv.is_valid? || raise("Invalid layout @#{n}") + cv.is_valid? || raise("Invalid layout @#{n + 1}") @def_source = make_source(cv.layout, cv.cell) else layout = RBA::Layout::new @@ -4016,9 +4016,9 @@ CODE n = $1.to_i - 1 view = RBA::LayoutView::current view || raise("No view open") - (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n}") + (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n + 1}") cv = view.cellview(n) - cv.is_valid? || raise("Invalid layout @#{n}") + cv.is_valid? || raise("Invalid layout @#{n + 1}") return make_source(cv.layout, cv.cell) else layout = RBA::Layout::new @@ -4173,9 +4173,9 @@ CODE n = $1.to_i - 1 view = RBA::LayoutView::current view || raise("No view open") - (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n}") + (n >= 0 && view.cellviews > n) || raise("Invalid layout index @#{n + 1}") cv = view.cellview(n) - cv.is_valid? || raise("Invalid layout @#{n}") + cv.is_valid? || raise("Invalid layout @#{n + 1}") @output_layout = cv.layout @output_cell = cellname ? (@output_layout.cell(cellname.to_s) || @output_layout.create_cell(cellname.to_s)) : cv.cell @output_layout_file = nil From 4f3b205d93e8f9163b293600170c9099a357ec7a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Feb 2018 22:46:47 +0100 Subject: [PATCH 09/20] Fixed #71 (target cell argument is required) --- src/drc/drc/built-in-macros/drc.lym | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/drc/drc/built-in-macros/drc.lym b/src/drc/drc/built-in-macros/drc.lym index a86fb5121..514b59a4d 100644 --- a/src/drc/drc/built-in-macros/drc.lym +++ b/src/drc/drc/built-in-macros/drc.lym @@ -4694,11 +4694,20 @@ CODE else - output = @output_layout || @def_layout - output || raise("No output layout specified") - - output_cell = @output_cell || @def_cell - output_cell || raise("No output cell specified") + if @output_layout + output = @output_layout + if @output_cell + output_cell = @output_cell + elsif @def_cell + output_cell = @output_layout.cell(@def_cell.name) || @output_layout.create_cell(@def_cell.name) + end + output_cell || raise("No output cell specified (see 'target' instruction)") + else + output = @def_layout + output || raise("No output layout specified") + output_cell = @output_cell || @def_cell + output_cell || raise("No output cell specified") + end info = nil if args.size == 1 From 12bb664a80e50d154b5a50ec636efb0f0a36c400 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Feb 2018 00:09:54 +0100 Subject: [PATCH 10/20] Fixed the default implementation of transformation_from_shape in Python --- src/db/db/built-in-pymacros/pcell_declaration_helper.lym | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym index c69cbc74a..22a175075 100644 --- a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym +++ b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym @@ -443,7 +443,7 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): """ default implementation """ - return pya.Trans.new + return pya.Trans() # import the Type... constants from PCellParameterDeclaration for k in dir(pya.PCellParameterDeclaration): From f6f75cd7912526cf06031e6bbb47641164d23540 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Feb 2018 00:59:11 +0100 Subject: [PATCH 11/20] A small rework of the Python PCell helpers The aim of this rework was to enable PCell implementations that use the basic methods rather than the "_impl" variants. For the latter, potential variable name clashes happen when parameters are called "cell", "layout", "layer" or similar. New methods enable implementation on the level of the non-"impl" methods. For example: def produce(self, layout, layers, parameters, cell): self.init_values(parameters, layers) ... self.finish() --- .../pcell_declaration_helper.lym | 47 +++++++++++++++---- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym index 22a175075..f0b6c0003 100644 --- a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym +++ b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym @@ -332,7 +332,38 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): gets the parameters """ return self._param_decls + + def get_values(self): + """ + gets the temporary parameter values + """ + v = self._param_values + self._param_values = None + return v + def init_values(self, values = None, layers = None): + """ + initializes the temporary parameter values + "values" are the original values. If "None" is given, the + default values will be used. + "layers" are the layer indexes corresponding to the layer + parameters. + """ + if not values: + self._param_values = [] + for pd in self._param_decls: + self._param_values.append(pd.default) + else: + self._param_values = values + self._layers = layers + + def finish(self): + """ + Needs to be called at the end of produce() after init_values was used + """ + self._param_values = None + self._layers = None + def get_layers(self, parameters): """ get the layer definitions @@ -346,25 +377,23 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): """ coerce parameters (make consistent) """ - self._param_values = parameters + self.init_values(parameters) self.layout = layout self.coerce_parameters_impl() self.layout = None - return self._param_values + return self.get_values() def produce(self, layout, layers, parameters, cell): """ coerce parameters (make consistent) """ - self._layers = layers + self.init_values(parameters, layers) self.cell = cell - self._param_values = parameters self.layout = layout self.produce_impl() - self._layers = None self.cell = None - self._param_values = None self.layout = None + self.finish() def can_create_from_shape(self, layout, shape, layer): """ @@ -397,9 +426,7 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): produce a helper for parameters_from_shape with this helper, the implementation can use the parameter setters """ - self._param_values = [] - for pd in self._param_decls: - self._param_values.append(pd.default) + self.init_values() self.layout = layout self.shape = shape self.layer = layer @@ -407,7 +434,7 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): self.layout = None self.shape = None self.layer = None - return self._param_values + return self.get_values() def display_text_impl(self): """ From 6052a0442995680d28a528cefdee927483e92f89 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Feb 2018 01:26:25 +0100 Subject: [PATCH 12/20] A few enhancements and unit tests for PCells This commit adds unit tests for implementation helper-based PCells in Python and Ruby. --- .../pcell_declaration_helper.lym | 20 +++ .../pcell_declaration_helper.lym | 5 +- testdata/python/dbPCells.py | 138 ++++++++++++++- testdata/ruby/dbPCells.rb | 159 +++++++++++++++++- 4 files changed, 311 insertions(+), 11 deletions(-) diff --git a/src/db/db/built-in-macros/pcell_declaration_helper.lym b/src/db/db/built-in-macros/pcell_declaration_helper.lym index 0c8497f0b..b0674e5b2 100644 --- a/src/db/db/built-in-macros/pcell_declaration_helper.lym +++ b/src/db/db/built-in-macros/pcell_declaration_helper.lym @@ -183,6 +183,13 @@ to create the \\LayerInfo object, i.e. like this: The default implementation does nothing. All parameters not set in this method will receive their default value. +If you use a parameter called "layer" for example, the parameter getter will hide the +"layer" argument. Use "_layer" for the argument in this case (same for "layout", "shape" or "cell): + +@code + set_layer layout.get_info(_layer) +@/code + @method transformation_from_shape_impl @brief Gets the initial PCell instance transformation when creating from a shape @@ -230,6 +237,13 @@ module RBA # provide accessors for the current layout and cell (for prod) attr_reader :layout, :cell, :shape, :layer + + # provide fallback accessors in case of a name clash with a + # parameter + def _layer; @layer; end + def _layout; @layout; end + def _cell; @cell; end + def _shape; @shape; end # define a parameter # name -> the short name of the parameter @@ -246,6 +260,12 @@ module RBA # set_{name} -> write accessor ({name}= does not work because the # Ruby confuses that method with variables) # {name}_layer -> read accessor for the layer index for TypeLayer parameters + # in addition, fallback accessors are defined which can be used if + # the parameter's name clashes with another name: + # param_{name} + # set_param_{name} + # param_{name}_layer + def param(name, type, description, args = {}) # create accessor methods for the parameters diff --git a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym index f0b6c0003..f867865dc 100644 --- a/src/db/db/built-in-pymacros/pcell_declaration_helper.lym +++ b/src/db/db/built-in-pymacros/pcell_declaration_helper.lym @@ -26,7 +26,7 @@ class MyPCell(pya.PCellDeclarationHelper): def __init__(self): # Important: initialize the super class - super(Circle, self).__init__() + super(MyPCell, self).__init__() # your initialization: add parameters with name, type, description and # optional other values @@ -431,10 +431,11 @@ class _PCellDeclarationHelper(pya.PCellDeclaration): self.shape = shape self.layer = layer self.parameters_from_shape_impl() + param = self.get_values() self.layout = None self.shape = None self.layer = None - return self.get_values() + return param def display_text_impl(self): """ diff --git a/testdata/python/dbPCells.py b/testdata/python/dbPCells.py index 686df2e88..27a80057b 100644 --- a/testdata/python/dbPCells.py +++ b/testdata/python/dbPCells.py @@ -52,20 +52,25 @@ class BoxPCell(pya.PCellDeclaration): # create the shape cell.shapes(layers[0]).insert(pya.Box(-w / 2, -h / 2, w / 2, h / 2)) + + def can_create_from_shape(self, layout, shape, layer): + return shape.is_box() + + def transformation_from_shape(self, layout, shape, layer): + return pya.Trans(shape.box.center() - pya.Point()) + + def parameters_from_shape(self, layout, shape, layer): + return [ layout.get_info(layer), shape.box.width() * layout.dbu, shape.box.height() * layout.dbu ] - class PCellTestLib(pya.Library): - boxpcell = None - def __init__(self): # set the description self.description = "PCell test lib" # create the PCell declarations - boxpcell = BoxPCell() - self.layout().register_pcell("Box", boxpcell) + self.layout().register_pcell("Box", BoxPCell()) sb_index = self.layout().add_cell("StaticBox") l10 = self.layout().insert_layer(pya.LayerInfo(10, 0)) @@ -75,6 +80,60 @@ class PCellTestLib(pya.Library): # register us with the name "MyLib" self.register("PCellTestLib") + +# A PCell based on the declaration helper + +class BoxPCell2(pya.PCellDeclarationHelper): + + def __init__(self): + + super(BoxPCell2, self).__init__() + + self.param("layer", self.TypeLayer, "Layer", default = pya.LayerInfo(0, 0)) + self.param("width", self.TypeDouble, "Width", default = 1.0) + self.param("height", self.TypeDouble, "Height", default = 1.0) + + def display_text_impl(self): + # provide a descriptive text for the cell + return "Box2(L=" + str(self.layer) + ",W=" + ('%.3f' % self.width) + ",H=" + ('%.3f' % self.height) + ")" + + def produce_impl(self): + + dbu = self.layout.dbu + + # fetch the parameters + l = self.layer_layer + w = self.width / self.layout.dbu + h = self.height / self.layout.dbu + + # create the shape + self.cell.shapes(l).insert(pya.Box(-w / 2, -h / 2, w / 2, h / 2)) + + def can_create_from_shape_impl(self): + return self.shape.is_box() + + def transformation_from_shape_impl(self): + return pya.Trans(self.shape.box.center() - pya.Point()) + + def parameters_from_shape_impl(self): + self.layer = self.layout.get_info(self.layer) + self.width = self.shape.box.width() * self.layout.dbu + self.height = self.shape.box.height() * self.layout.dbu + +class PCellTestLib2(pya.Library): + + def __init__(self): + + # set the description + self.description = "PCell test lib2" + + # create the PCell declarations + self.layout().register_pcell("Box2", BoxPCell2()) + + # register us with the name "MyLib" + self.register("PCellTestLib2") + + def inspect_LayerInfo(self): return "<" + str(self) + ">" @@ -233,6 +292,75 @@ class DBPCellTests(unittest.TestCase): pcell_inst.cell_index = new_id self.assertEqual(ly.begin_shapes(c1.cell_index(), li1).shape().__str__(), "box (-500,-100;500,100)") + l10 = ly.layer(10, 0) + c1.shapes(l10).insert(pya.Box(0, 10, 100, 210)) + l11 = ly.layer(11, 0) + c1.shapes(l11).insert(pya.Text("hello", pya.Trans())) + self.assertEqual(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l11).shape(), l10), False) + self.assertEqual(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10), True) + self.assertEqual(repr(pcell_decl.parameters_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10)), "[<10/0>, 1.0, 2.0]") + self.assertEqual(str(pcell_decl.transformation_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10)), "r0 50,110") + + + def test_1a(self): + + # instantiate and register the library + tl = PCellTestLib2() + + ly = pya.Layout(True) + ly.dbu = 0.01 + + li1 = find_layer(ly, "1/0") + self.assertEqual(li1 == None, True) + + ci1 = ly.add_cell("c1") + c1 = ly.cell(ci1) + + lib = pya.Library.library_by_name("PCellTestLib2") + self.assertEqual(lib != None, True) + pcell_decl = lib.layout().pcell_declaration("Box2") + + param = [ pya.LayerInfo(1, 0) ] # rest is filled with defaults + pcell_var_id = ly.add_pcell_variant(lib, pcell_decl.id(), param) + pcell_var = ly.cell(pcell_var_id) + pcell_inst = c1.insert(pya.CellInstArray(pcell_var_id, pya.Trans())) + self.assertEqual(pcell_var.basic_name(), "Box2") + self.assertEqual(pcell_var.pcell_parameters().__repr__(), "[<1/0>, 1.0, 1.0]") + self.assertEqual(pcell_var.display_title(), "PCellTestLib2.Box2(L=1/0,W=1.000,H=1.000)") + self.assertEqual(nh(pcell_var.pcell_parameters_by_name()), "{'height': 1.0, 'layer': <1/0>, 'width': 1.0}") + self.assertEqual(pcell_var.pcell_parameter("height").__repr__(), "1.0") + self.assertEqual(c1.pcell_parameters(pcell_inst).__repr__(), "[<1/0>, 1.0, 1.0]") + self.assertEqual(nh(c1.pcell_parameters_by_name(pcell_inst)), "{'height': 1.0, 'layer': <1/0>, 'width': 1.0}") + self.assertEqual(c1.pcell_parameter(pcell_inst, "height").__repr__(), "1.0") + self.assertEqual(nh(pcell_inst.pcell_parameters_by_name()), "{'height': 1.0, 'layer': <1/0>, 'width': 1.0}") + self.assertEqual(pcell_inst["height"].__repr__(), "1.0") + self.assertEqual(pcell_inst.pcell_parameter("height").__repr__(), "1.0") + 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__()) + + li1 = find_layer(ly, "1/0") + self.assertEqual(li1 == None, False) + pcell_inst.change_pcell_parameter("height", 2.0) + self.assertEqual(nh(pcell_inst.pcell_parameters_by_name()), "{'height': 2.0, 'layer': <1/0>, 'width': 1.0}") + + self.assertEqual(ly.begin_shapes(c1.cell_index(), li1).shape().__str__(), "box (-50,-100;50,100)") + + param = { "layer": pya.LayerInfo(2, 0), "width": 2, "height": 1 } + li2 = ly.layer(2, 0) + c1.change_pcell_parameters(pcell_inst, param) + self.assertEqual(ly.begin_shapes(c1.cell_index(), li2).shape().__str__(), "box (-100,-50;100,50)") + + l10 = ly.layer(10, 0) + c1.shapes(l10).insert(pya.Box(0, 10, 100, 210)) + l11 = ly.layer(11, 0) + c1.shapes(l11).insert(pya.Text("hello", pya.Trans())) + self.assertEqual(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l11).shape(), l10), False) + self.assertEqual(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10), True) + self.assertEqual(repr(pcell_decl.parameters_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10)), "[<10/0>, 1.0, 2.0]") + self.assertEqual(str(pcell_decl.transformation_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10)), "r0 50,110") + + def test_2(self): # instantiate and register the library diff --git a/testdata/ruby/dbPCells.rb b/testdata/ruby/dbPCells.rb index 938c0d1f6..1f3e30950 100644 --- a/testdata/ruby/dbPCells.rb +++ b/testdata/ruby/dbPCells.rb @@ -61,6 +61,18 @@ class BoxPCell < RBA::PCellDeclaration end + def can_create_from_shape(layout, shape, layer) + return shape.is_box? + end + + def transformation_from_shape(layout, shape, layer) + return RBA::Trans::new(shape.box.center - RBA::Point::new) + end + + def parameters_from_shape(layout, shape, layer) + return [ layout.get_info(layer), shape.box.width * layout.dbu, shape.box.height * layout.dbu ] + end + end class PCellTestLib < RBA::Library @@ -85,6 +97,72 @@ class PCellTestLib < RBA::Library end +# A PCell based on the declaration helper + +class BoxPCell2 < RBA::PCellDeclarationHelper + + def initialize + + super() + + param("layer", BoxPCell2::TypeLayer, "Layer", :default => RBA::LayerInfo::new(0, 0)) + param("width", BoxPCell2::TypeDouble, "Width", :default => 1.0) + param("height", BoxPCell2::TypeDouble, "Height", :default => 1.0) + + end + + def display_text_impl + # provide a descriptive text for the cell + return "Box2(L=" + layer.to_s + ",W=" + ('%.3f' % width) + ",H=" + ('%.3f' % height) + ")" + end + + def produce_impl + + # fetch the parameters + l = layer_layer + w = width / layout.dbu + h = height / layout.dbu + + # create the shape + cell.shapes(l).insert(RBA::Box::new(-w / 2, -h / 2, w / 2, h / 2)) + + end + + def can_create_from_shape_impl + return self.shape.is_box? + end + + def transformation_from_shape_impl + return RBA::Trans::new(shape.box.center - RBA::Point::new) + end + + def parameters_from_shape_impl + # NOTE: because there is one parameter called "layer" already, we need to use + # the "_layer" fallback to access the argument to this method + set_layer(_layout.get_info(_layer)) + set_width(shape.box.width * _layout.dbu) + set_height(shape.box.height * _layout.dbu) + end + +end + +class PCellTestLib2 < RBA::Library + + def initialize + + # set the description + description = "PCell test lib2" + + # create the PCell declarations + layout.register_pcell("Box2", BoxPCell2::new) + + # register us with the name "MyLib" + self.register("PCellTestLib2") + + end + +end + # A helper for testing: provide an inspect method class RBA::LayerInfo def inspect @@ -115,8 +193,7 @@ class DBPCell_TestClass < TestBase ly = RBA::Layout::new(true) ly.dbu = 0.01 - li1 = ly.layer_indices.find { |li| ly.get_info(li).to_s == "1/0" } - assert_equal(li1 == nil, true) + li1 = ly.layer(1, 0) ci1 = ly.add_cell("c1") c1 = ly.cell(ci1) @@ -241,10 +318,84 @@ class DBPCell_TestClass < TestBase pcell_inst.cell_index = new_id assert_equal(ly.begin_shapes(c1.cell_index, li1).shape.to_s, "box (-500,-100;500,100)") -#ly.destroy + l10 = ly.layer(10, 0) + c1.shapes(l10).insert(RBA::Box::new(0, 10, 100, 210)) + l11 = ly.layer(11, 0) + c1.shapes(l11).insert(RBA::Text::new("hello", RBA::Trans::new)) + assert_equal(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l11).shape(), l10), false) + assert_equal(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10), true) + assert_equal(pcell_decl.parameters_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10).inspect, "[<10/0>, 1.0, 2.0]") + assert_equal(pcell_decl.transformation_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10).to_s, "r0 50,110") + + ly.destroy ensure -#tl.delete + tl.delete + end + + end + + def test_1a + + # instantiate and register the library + tl = PCellTestLib2::new + + begin + + ly = RBA::Layout::new(true) + ly.dbu = 0.01 + + ci1 = ly.add_cell("c1") + c1 = ly.cell(ci1) + + lib = RBA::Library.library_by_name("PCellTestLib2") + assert_equal(lib != nil, true) + pcell_decl = lib.layout().pcell_declaration("Box2") + + param = [ RBA::LayerInfo::new(1, 0) ] # rest is filled with defaults + pcell_var_id = ly.add_pcell_variant(lib, pcell_decl.id(), param) + pcell_var = ly.cell(pcell_var_id) + pcell_inst = c1.insert(RBA::CellInstArray::new(pcell_var_id, RBA::Trans::new)) + assert_equal(pcell_var.basic_name, "Box2") + assert_equal(pcell_var.pcell_parameters().inspect, "[<1/0>, 1.0, 1.0]") + assert_equal(pcell_var.display_title(), "PCellTestLib2.Box2(L=1/0,W=1.000,H=1.000)") + assert_equal(norm_hash(pcell_var.pcell_parameters_by_name()), "{\"height\"=>1.0, \"layer\"=><1/0>, \"width\"=>1.0}") + assert_equal(pcell_var.pcell_parameter("height").inspect(), "1.0") + assert_equal(c1.pcell_parameters(pcell_inst).inspect(), "[<1/0>, 1.0, 1.0]") + assert_equal(norm_hash(c1.pcell_parameters_by_name(pcell_inst)), "{\"height\"=>1.0, \"layer\"=><1/0>, \"width\"=>1.0}") + assert_equal(c1.pcell_parameter(pcell_inst, "height").inspect(), "1.0") + assert_equal(norm_hash(pcell_inst.pcell_parameters_by_name()), "{\"height\"=>1.0, \"layer\"=><1/0>, \"width\"=>1.0}") + assert_equal(pcell_inst["height"].inspect(), "1.0") + assert_equal(pcell_inst.pcell_parameter("height").inspect(), "1.0") + assert_equal(pcell_var.pcell_declaration().inspect(), pcell_decl.inspect) + assert_equal(c1.pcell_declaration(pcell_inst).inspect(), pcell_decl.inspect) + assert_equal(pcell_inst.pcell_declaration().inspect(), pcell_decl.inspect) + + li1 = ly.layer(1, 0) + assert_equal(li1 == nil, false) + pcell_inst.change_pcell_parameter("height", 2.0) + assert_equal(norm_hash(pcell_inst.pcell_parameters_by_name()), "{\"height\"=>2.0, \"layer\"=><1/0>, \"width\"=>1.0}") + + assert_equal(ly.begin_shapes(c1.cell_index(), li1).shape().to_s, "box (-50,-100;50,100)") + + param = { "layer" => RBA::LayerInfo::new(2, 0), "width" => 2, "height" => 1 } + li2 = ly.layer(2, 0) + c1.change_pcell_parameters(pcell_inst, param) + assert_equal(ly.begin_shapes(c1.cell_index(), li2).shape().to_s, "box (-100,-50;100,50)") + + l10 = ly.layer(10, 0) + c1.shapes(l10).insert(RBA::Box::new(0, 10, 100, 210)) + l11 = ly.layer(11, 0) + c1.shapes(l11).insert(RBA::Text::new("hello", RBA::Trans::new)) + assert_equal(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l11).shape(), l10), false) + assert_equal(pcell_decl.can_create_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10), true) + assert_equal(pcell_decl.parameters_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10).inspect, "[<10/0>, 1.0, 2.0]") + assert_equal(pcell_decl.transformation_from_shape(ly, ly.begin_shapes(c1.cell_index(), l10).shape(), l10).to_s, "r0 50,110") + + ly.destroy + + ensure + tl.delete end end From 2f46f0d1c629b4e2de92321019019400f4510add Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 21 Feb 2018 00:21:19 +0100 Subject: [PATCH 13/20] Fixed some issues found with Coverity. --- src/ant/ant/gsiDeclAnt.cc | 2 +- src/db/db/dbOASISReader.cc | 30 ++++++- src/db/db/dbOASISReader.h | 1 + src/db/db/dbRecursiveShapeIterator.cc | 2 + src/db/unit_tests/dbObject.cc | 2 + src/ext/ext/extNetTracerIO.cc | 2 +- src/ext/ext/extRS274XApertures.cc | 84 ++++++------------- src/ext/ext/extRS274XApertures.h | 1 + src/gsi/gsi/gsiMethods.h | 1 - src/img/img/imgObject.cc | 2 + src/lay/lay/layProgress.cc | 10 ++- src/lay/lay/laySaltGrainPropertiesDialog.cc | 2 +- .../laybasic/gsiDeclLayTechnologies.cc | 2 +- src/laybasic/laybasic/layQtTools.cc | 12 +-- src/laybasic/laybasic/layTechnology.cc | 32 +++++-- src/laybasic/laybasic/layTechnology.h | 19 ++++- src/lym/lym/lymMacro.cc | 34 ++++---- src/pya/pya/pya.cc | 6 +- src/rdb/rdb/rdb.h | 2 +- src/tl/tl/tlIntervalMap.h | 2 +- src/tl/tl/tlThreadedWorkers.cc | 19 +++-- src/tl/tl/tlVariant.cc | 2 +- 22 files changed, 153 insertions(+), 116 deletions(-) diff --git a/src/ant/ant/gsiDeclAnt.cc b/src/ant/ant/gsiDeclAnt.cc index 61e407f06..65298eceb 100644 --- a/src/ant/ant/gsiDeclAnt.cc +++ b/src/ant/ant/gsiDeclAnt.cc @@ -1035,7 +1035,7 @@ public: value_type operator* () const { - return value_type (*(dynamic_cast (m_iter->first->ptr ())), m_services[m_service]->view ()); + return value_type (*(static_cast (m_iter->first->ptr ())), m_services[m_service]->view ()); } private: diff --git a/src/db/db/dbOASISReader.cc b/src/db/db/dbOASISReader.cc index 1edcec995..844a0024b 100644 --- a/src/db/db/dbOASISReader.cc +++ b/src/db/db/dbOASISReader.cc @@ -110,6 +110,18 @@ OASISReader::OASISReader (tl::InputStream &s) { m_progress.set_format (tl::to_string (QObject::tr ("%.0f MB"))); m_progress.set_unit (1024 * 1024); + m_first_cellname = 0; + m_first_propname = 0; + m_first_propstring = 0; + m_first_textstring = 0; + m_first_layername = 0; + m_in_table = NotInTable; + m_table_cellname = 0; + m_table_propname = 0; + m_table_propstring = 0; + m_table_textstring = 0; + m_table_layername = 0; + m_table_start = 0; } OASISReader::~OASISReader () @@ -197,6 +209,16 @@ OASISReader::get_long () } } +inline unsigned long +OASISReader::get_ulong_for_divider () +{ + unsigned long l = get_ulong (); + if (l == 0) { + error (tl::to_string (QObject::tr ("Divider must not be zero"))); + } + return l; +} + inline unsigned long OASISReader::get_ulong () { @@ -295,21 +317,21 @@ OASISReader::get_real () } else if (t == 2) { - return 1.0 / double (get_ulong ()); + return 1.0 / double (get_ulong_for_divider ()); } else if (t == 3) { - return -1.0 / double (get_ulong ()); + return -1.0 / double (get_ulong_for_divider ()); } else if (t == 4) { double d = double (get_ulong ()); - return d / double (get_ulong ()); + return d / double (get_ulong_for_divider ()); } else if (t == 5) { double d = double (get_ulong ()); - return -d / double (get_ulong ()); + return -d / double (get_ulong_for_divider ()); } else if (t == 6) { diff --git a/src/db/db/dbOASISReader.h b/src/db/db/dbOASISReader.h index 60f04aeda..26487ef68 100644 --- a/src/db/db/dbOASISReader.h +++ b/src/db/db/dbOASISReader.h @@ -318,6 +318,7 @@ private: unsigned long long get_ulong_long (); long get_long (); unsigned long get_ulong (); + unsigned long get_ulong_for_divider (); int get_int (); unsigned int get_uint (); diff --git a/src/db/db/dbRecursiveShapeIterator.cc b/src/db/db/dbRecursiveShapeIterator.cc index bd6718522..7281b9861 100644 --- a/src/db/db/dbRecursiveShapeIterator.cc +++ b/src/db/db/dbRecursiveShapeIterator.cc @@ -276,6 +276,8 @@ RecursiveShapeIterator::init () m_shape_inv_prop_sel = false; m_inst_quad_id = 0; m_shape_quad_id = 0; + mp_cell = 0; + m_current_layer = 0; } void diff --git a/src/db/unit_tests/dbObject.cc b/src/db/unit_tests/dbObject.cc index 0ecf9195b..a8d03d968 100644 --- a/src/db/unit_tests/dbObject.cc +++ b/src/db/unit_tests/dbObject.cc @@ -58,6 +58,7 @@ struct A : public db::Object void redo (db::Op *op) throw () { AO *aop = dynamic_cast (op); + tl_assert (aop != 0); x += aop->d; } @@ -162,6 +163,7 @@ struct B : public db::Object void redo (db::Op *op) throw () { BO *bop = dynamic_cast (op); + tl_assert (bop != 0); x += bop->d; } diff --git a/src/ext/ext/extNetTracerIO.cc b/src/ext/ext/extNetTracerIO.cc index 761271dd2..22d9ef3fb 100644 --- a/src/ext/ext/extNetTracerIO.cc +++ b/src/ext/ext/extNetTracerIO.cc @@ -1092,7 +1092,7 @@ Net::Net () } Net::Net (const NetTracer &tracer, const db::ICplxTrans &trans, const db::Layout &layout, db::cell_index_type cell_index, const std::string &layout_filename, const std::string &layout_name, const NetTracerData &data) - : m_name (tracer.name ()), m_incomplete (tracer.incomplete ()) + : m_name (tracer.name ()), m_incomplete (tracer.incomplete ()), m_trace_path (false) { m_dbu = layout.dbu (); m_top_cell_name = layout.cell_name (cell_index); diff --git a/src/ext/ext/extRS274XApertures.cc b/src/ext/ext/extRS274XApertures.cc index 0a42d40ea..d232293c9 100644 --- a/src/ext/ext/extRS274XApertures.cc +++ b/src/ext/ext/extRS274XApertures.cc @@ -607,11 +607,30 @@ RS274XMacroAperture::do_produce_flash () } } +void +RS274XMacroAperture::read_exposure (tl::Extractor &ex, bool &clear, bool &clear_set) +{ + int pol = int (floor (read_expr (ex) + 0.5)); + + if (pol == 0) { + clear = true; + } else if (pol == 1) { + clear = false; + } else if (pol == 2) { + clear = !clear_set || !clear; + } else { + throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); + } + + clear_set = true; +} + void RS274XMacroAperture::do_produce_flash_internal () { tl::Extractor ex (m_def.c_str ()); bool clear = false; + bool clear_set = false; while (! ex.at_end ()) { @@ -640,18 +659,7 @@ RS274XMacroAperture::do_produce_flash_internal () if (code == 1) { ex.expect (","); - int pol = (read_expr (ex) > 0.5); - - if (pol == 0) { - clear = true; - } else if (pol == 1) { - clear = false; - } else if (pol == 2) { - clear = !clear; - } else { - throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); - } - + read_exposure (ex, clear, clear_set); ex.expect (","); double d = read_expr (ex, true); ex.expect (","); @@ -670,18 +678,7 @@ RS274XMacroAperture::do_produce_flash_internal () } else if (code == 2 || code == 20) { ex.expect (","); - int pol = (read_expr (ex) > 0.5); - - if (pol == 0) { - clear = true; - } else if (pol == 1) { - clear = false; - } else if (pol == 2) { - clear = !clear; - } else { - throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); - } - + read_exposure (ex, clear, clear_set); ex.expect (","); double w = read_expr (ex, true); ex.expect (","); @@ -723,18 +720,7 @@ RS274XMacroAperture::do_produce_flash_internal () } else if (code == 21 || code == 22) { ex.expect (","); - int pol = (read_expr (ex) > 0.5); - - if (pol == 0) { - clear = true; - } else if (pol == 1) { - clear = false; - } else if (pol == 2) { - clear = !clear; - } else { - throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); - } - + read_exposure (ex, clear, clear_set); ex.expect (","); double w = read_expr (ex, true); ex.expect (","); @@ -766,18 +752,7 @@ RS274XMacroAperture::do_produce_flash_internal () } else if (code == 4) { ex.expect (","); - int pol = (read_expr (ex) > 0.5); - - if (pol == 0) { - clear = true; - } else if (pol == 1) { - clear = false; - } else if (pol == 2) { - clear = !clear; - } else { - throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); - } - + read_exposure (ex, clear, clear_set); ex.expect (","); int n = int (read_expr (ex) + 0.5); if (n < 1) { @@ -854,18 +829,7 @@ RS274XMacroAperture::do_produce_flash_internal () } else if (code == 5) { ex.expect (","); - int pol = (read_expr (ex) > 0.5); - - if (pol == 0) { - clear = true; - } else if (pol == 1) { - clear = false; - } else if (pol == 2) { - clear = !clear; - } else { - throw tl::Exception (tl::to_string (QObject::tr ("Invalid exposure code '%d'")), pol); - } - + read_exposure (ex, clear, clear_set); ex.expect (","); int n = int (read_expr (ex) + 0.5); if (n < 3) { diff --git a/src/ext/ext/extRS274XApertures.h b/src/ext/ext/extRS274XApertures.h index 969a1d710..78fa02ac6 100644 --- a/src/ext/ext/extRS274XApertures.h +++ b/src/ext/ext/extRS274XApertures.h @@ -168,6 +168,7 @@ private: double read_atom (tl::Extractor &ex); double read_dot_expr (tl::Extractor &ex); double read_expr (tl::Extractor &ex, bool length = false); + void read_exposure (tl::Extractor &ex, bool &clear, bool &clear_set); void do_produce_flash_internal (); }; diff --git a/src/gsi/gsi/gsiMethods.h b/src/gsi/gsi/gsiMethods.h index c0deceef9..d4bb408bd 100644 --- a/src/gsi/gsi/gsiMethods.h +++ b/src/gsi/gsi/gsiMethods.h @@ -524,7 +524,6 @@ private: ArgType m_ret_type; bool m_const : 1; bool m_static : 1; - bool m_is_predicate : 1; bool m_protected : 1; unsigned int m_argsize; std::vector m_method_synonyms; diff --git a/src/img/img/imgObject.cc b/src/img/img/imgObject.cc index c4c1e9b2f..eb45a1668 100644 --- a/src/img/img/imgObject.cc +++ b/src/img/img/imgObject.cc @@ -697,12 +697,14 @@ static size_t make_id () Object::Object () : m_trans (1.0), mp_data (0), m_id (make_id ()), m_min_value (0.0), m_max_value (1.0), m_min_value_set (false), m_max_value_set (false), m_visible (true), m_z_position (0) { + m_updates_enabled = false; mp_pixel_data = 0; } Object::Object (size_t w, size_t h, const db::DCplxTrans &trans, bool color) : m_trans (trans), m_id (make_id ()), m_min_value (0.0), m_max_value (1.0), m_min_value_set (false), m_max_value_set (false), m_visible (true), m_z_position (0) { + m_updates_enabled = false; mp_pixel_data = 0; mp_data = new DataHeader (w, h, color, false); diff --git a/src/lay/lay/layProgress.cc b/src/lay/lay/layProgress.cc index 219473fa5..daefbaff1 100644 --- a/src/lay/lay/layProgress.cc +++ b/src/lay/lay/layProgress.cc @@ -211,10 +211,12 @@ ProgressReporter::set_visible (bool vis) // actual operation tl::DeferredMethodScheduler::enable (!vis); - if (!vis) { - mp_pb->progress_remove_widget (); - } else if (mp_pb->progress_wants_widget () && mp_objects.front ()) { - mp_pb->progress_add_widget (mp_objects.front ()->progress_widget ()); + if (mp_pb) { + if (!vis) { + mp_pb->progress_remove_widget (); + } else if (mp_pb->progress_wants_widget () && mp_objects.front ()) { + mp_pb->progress_add_widget (mp_objects.front ()->progress_widget ()); + } } m_pw_visible = vis; diff --git a/src/lay/lay/laySaltGrainPropertiesDialog.cc b/src/lay/lay/laySaltGrainPropertiesDialog.cc index 809d953e4..336f041c4 100644 --- a/src/lay/lay/laySaltGrainPropertiesDialog.cc +++ b/src/lay/lay/laySaltGrainPropertiesDialog.cc @@ -259,7 +259,7 @@ SaltGrainPropertiesDialog::dependency_changed (QTreeWidgetItem *item, int column m_update_enabled = false; std::string name = tl::to_string (item->data (0, Qt::UserRole).toString ().simplified ()); - SaltGrain *g = mp_salt->grain_by_name (name); + SaltGrain *g = mp_salt ? mp_salt->grain_by_name (name) : 0; if (column == 0 && mp_salt) { diff --git a/src/laybasic/laybasic/gsiDeclLayTechnologies.cc b/src/laybasic/laybasic/gsiDeclLayTechnologies.cc index acd9b6964..9ed316979 100644 --- a/src/laybasic/laybasic/gsiDeclLayTechnologies.cc +++ b/src/laybasic/laybasic/gsiDeclLayTechnologies.cc @@ -45,7 +45,7 @@ static lay::Technology *create_technology (const std::string &name) { lay::Technology *tech = new lay::Technology (); tech->set_name (name); - lay::Technologies::instance ()->add (tech); + lay::Technologies::instance ()->add_new (tech); return tech; } diff --git a/src/laybasic/laybasic/layQtTools.cc b/src/laybasic/laybasic/layQtTools.cc index d9d0751a9..f7642e8d7 100644 --- a/src/laybasic/laybasic/layQtTools.cc +++ b/src/laybasic/laybasic/layQtTools.cc @@ -88,11 +88,13 @@ save_dialog_state (QWidget *w) } - for (QList::const_iterator c = w->children ().begin (); c != w->children ().end (); ++c) { - if (dynamic_cast (*c)) { - std::string cs = save_dialog_state (dynamic_cast (*c)); - if (! cs.empty ()) { - s += cs; + if (w) { + for (QList::const_iterator c = w->children ().begin (); c != w->children ().end (); ++c) { + if (dynamic_cast (*c)) { + std::string cs = save_dialog_state (dynamic_cast (*c)); + if (! cs.empty ()) { + s += cs; + } } } } diff --git a/src/laybasic/laybasic/layTechnology.cc b/src/laybasic/laybasic/layTechnology.cc index 0ff8b044d..8934cb547 100644 --- a/src/laybasic/laybasic/layTechnology.cc +++ b/src/laybasic/laybasic/layTechnology.cc @@ -45,6 +45,8 @@ Technologies::Technologies () Technologies::Technologies (const Technologies &other) : tl::Object () { + m_changed = false; + m_in_update = false; operator= (other); } @@ -115,19 +117,30 @@ Technologies::load_from_xml (const std::string &s) } void -Technologies::add (Technology *technology) +Technologies::add_tech (Technology *tech, bool replace_same) { - for (tl::stable_vector::iterator t = m_technologies.begin (); technology && t != m_technologies.end (); ++t) { - if (t->name () == technology->name ()) { - *t = *technology; - delete technology; - technology = 0; + if (! tech) { + return; + } + + std::auto_ptr tech_ptr (tech); + + Technology *t = 0; + for (tl::stable_vector::iterator i = m_technologies.begin (); !t && i != m_technologies.end (); ++i) { + if (i->name () == tech->name ()) { + t = i.operator-> (); } } - if (technology) { - m_technologies.push_back (technology); - technology->technology_changed_with_sender_event.add (this, &Technologies::technology_changed); + if (t) { + if (replace_same) { + *t = *tech; + } else { + throw tl::Exception (tl::to_string (QObject::tr ("A technology with this name already exists: %1").arg (tl::to_qstring (tech->name ())))); + } + } else { + m_technologies.push_back (tech_ptr.release ()); + tech->technology_changed_with_sender_event.add (this, &Technologies::technology_changed); } technologies_changed (); @@ -218,6 +231,7 @@ Technologies::technology_by_name (const std::string &name) } } + tl_assert (! m_technologies.empty ()); return &*m_technologies.begin (); } diff --git a/src/laybasic/laybasic/layTechnology.h b/src/laybasic/laybasic/layTechnology.h index 03f2ddc55..a7d130c7d 100644 --- a/src/laybasic/laybasic/layTechnology.h +++ b/src/laybasic/laybasic/layTechnology.h @@ -126,7 +126,22 @@ public: * The container becomes owner of the technology object. * Replaces a technology with the name of the given technology. */ - void add (Technology *technology); + void add (Technology *technology) + { + add_tech (technology, true /*replace*/); + } + + /** + * @brief Adds a technology with a new name + * + * Like \add, but throws an exception if a technology with this name + * already exists. Takes over ownership over the technology object. + * The technology object is discarded if an exception is thrown. + */ + void add_new (Technology *technology) + { + add_tech (technology, false /*throws exception on same name*/); + } /** * @brief Remove a technology with the given name from the setup @@ -233,6 +248,8 @@ private: tl::stable_vector m_technologies; bool m_changed; bool m_in_update; + + void add_tech (Technology *technology, bool replace_same); }; /** diff --git a/src/lym/lym/lymMacro.cc b/src/lym/lym/lymMacro.cc index 4f76d32e2..e6c64c658 100644 --- a/src/lym/lym/lymMacro.cc +++ b/src/lym/lym/lymMacro.cc @@ -915,26 +915,28 @@ void Macro::install_doc () const if (cls == 0) { tl::error << tl::to_string (QObject::tr ("Reading class doc from ")) << path () << ": " << tl::to_string (QObject::tr ("@method without preceeding @class")); - } + } else { - std::string n; - ex.read_word_or_quoted (n); + std::string n; + ex.read_word_or_quoted (n); - std::string doc; - while (++i < lines.size ()) { - std::string l = tl::trim (lines [i]); - if (l.find ("@method") == 0 || l.find ("@static_method") == 0) { - break; + std::string doc; + while (++i < lines.size ()) { + std::string l = tl::trim (lines [i]); + if (l.find ("@method") == 0 || l.find ("@static_method") == 0) { + break; + } + if (! doc.empty ()) { + doc += "\n"; + } + doc += lines [i]; } - if (! doc.empty ()) { - doc += "\n"; - } - doc += lines [i]; - } - --i; + --i; - ExternalMethod *meth = new ExternalMethod (n, doc, false, st); - cls->add_method (meth); + ExternalMethod *meth = new ExternalMethod (n, doc, false, st); + cls->add_method (meth); + + } } diff --git a/src/pya/pya/pya.cc b/src/pya/pya/pya.cc index c2d3ebac4..4bcce316e 100644 --- a/src/pya/pya/pya.cc +++ b/src/pya/pya/pya.cc @@ -1945,7 +1945,11 @@ property_setter_impl (int mid, PyObject *self, PyObject *value) if (meth->is_signal ()) { - if (PyObject_IsInstance (value, (PyObject *) PYASignal::cls)) { + if (!p) { + + // TODO: Static signals? + + } else if (PyObject_IsInstance (value, (PyObject *) PYASignal::cls)) { // assigning a signal to a signal works if it applies to the same handler - // this simplifies the implementation of += and -=. diff --git a/src/rdb/rdb/rdb.h b/src/rdb/rdb/rdb.h index 44029f3f0..ae401399f 100644 --- a/src/rdb/rdb/rdb.h +++ b/src/rdb/rdb/rdb.h @@ -495,7 +495,7 @@ public: bool compare (const ValueBase *other) const { - return m_value < dynamic_cast *> (other)->m_value; + return m_value < static_cast *> (other)->m_value; } std::string to_string () const; diff --git a/src/tl/tl/tlIntervalMap.h b/src/tl/tl/tlIntervalMap.h index ed477748a..194d0e5ce 100644 --- a/src/tl/tl/tlIntervalMap.h +++ b/src/tl/tl/tlIntervalMap.h @@ -213,7 +213,7 @@ public: ++lb0; } --lb; - if (lb != m_index_map.end () && i2 < lb->first.second) { + if (i2 < lb->first.second) { // the last one is overlapping above i2: cut it lb->first.first = i2; } else { diff --git a/src/tl/tl/tlThreadedWorkers.cc b/src/tl/tl/tlThreadedWorkers.cc index 648afcfb6..16a3e7c5a 100644 --- a/src/tl/tl/tlThreadedWorkers.cc +++ b/src/tl/tl/tlThreadedWorkers.cc @@ -424,17 +424,20 @@ JobBase::schedule (Task *task) { m_lock.lock (); - // Don't allow tasks to be scheduled while stopping or exiting (waiting for m_queue_empty_condition) if (m_stopping) { - m_lock.unlock (); - throw TaskTerminatedException (); - } - // Add the task to the task queue - m_task_list.put (task); + // Don't allow tasks to be scheduled while stopping or exiting (waiting for m_queue_empty_condition) + delete task; + + } else { + + // Add the task to the task queue + m_task_list.put (task); + + if (m_running) { + m_task_available_condition.wakeAll (); + } - if (m_running) { - m_task_available_condition.wakeAll (); } m_lock.unlock (); diff --git a/src/tl/tl/tlVariant.cc b/src/tl/tl/tlVariant.cc index b1b73dff0..d223ab537 100644 --- a/src/tl/tl/tlVariant.cc +++ b/src/tl/tl/tlVariant.cc @@ -1298,7 +1298,7 @@ Variant::can_convert_to_long () const case t_double: return m_var.m_double <= std::numeric_limits::max () && m_var.m_double >= std::numeric_limits::min (); case t_float: - return m_var.m_float <= std::numeric_limits::max () && m_var.m_float >= std::numeric_limits::min (); + return m_var.m_float <= float (std::numeric_limits::max ()) && m_var.m_float >= float (std::numeric_limits::min ()); #if defined(HAVE_64BIT_COORD) case t_int128: return m_var.m_int128 <= __int128 (std::numeric_limits::max ()) && m_var.m_int128 >= __int128 (std::numeric_limits::min ()); From a272ba39a7ff4850c088e96c1eb55c195882117c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 21 Feb 2018 07:47:02 +0100 Subject: [PATCH 14/20] Remove a debug output. --- src/ant/ant/antObject.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ant/ant/antObject.cc b/src/ant/ant/antObject.cc index a67b54a14..686224fc9 100644 --- a/src/ant/ant/antObject.cc +++ b/src/ant/ant/antObject.cc @@ -343,7 +343,6 @@ Object::class_name () const void Object::from_string (const char *s) { -printf("@@@ %s\n", s); fflush(stdout); tl::Extractor ex (s); while (! ex.at_end ()) { From 5f4e715dcf27ad3ea8ac8e95f93f6565fbc854c4 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 21 Feb 2018 07:47:41 +0100 Subject: [PATCH 15/20] Fixed #77 (copy_tree should work in non-editable mode too) --- src/db/db/gsiDeclDbCell.cc | 39 - testdata/ruby/dbLayout.rb | 1623 +++++++++++++++++------------------- 2 files changed, 778 insertions(+), 884 deletions(-) diff --git a/src/db/db/gsiDeclDbCell.cc b/src/db/db/gsiDeclDbCell.cc index 31433cfb0..bdc97c797 100644 --- a/src/db/db/gsiDeclDbCell.cc +++ b/src/db/db/gsiDeclDbCell.cc @@ -883,8 +883,6 @@ static bool cell_has_prop_id (const db::Cell *c) static void delete_cell_property (db::Cell *c, const tl::Variant &key) { - check_is_editable (c); - db::properties_id_type id = c->prop_id (); if (id == 0) { return; @@ -911,8 +909,6 @@ static void delete_cell_property (db::Cell *c, const tl::Variant &key) static void set_cell_property (db::Cell *c, const tl::Variant &key, const tl::Variant &value) { - check_is_editable (c); - db::properties_id_type id = c->prop_id (); db::Layout *layout = c->layout (); @@ -1110,13 +1106,11 @@ static void move_or_copy_from_other_cell (db::Cell *cell, db::Cell *src_cell, un static void move_from_other_cell (db::Cell *cell, db::Cell *src_cell, unsigned int src_layer, unsigned int dest_layer) { - check_is_editable (cell); move_or_copy_from_other_cell (cell, src_cell, src_layer, dest_layer, true); } static void copy_from_other_cell (db::Cell *cell, db::Cell *src_cell, unsigned int src_layer, unsigned int dest_layer) { - check_is_editable (cell); move_or_copy_from_other_cell (cell, src_cell, src_layer, dest_layer, false); } @@ -1158,7 +1152,6 @@ write_options (const db::Cell *cell, const std::string &filename, const db::Save static void clear_all (db::Cell *cell) { - check_is_editable (cell); cell->clear_shapes (); cell->clear_insts (); } @@ -1166,7 +1159,6 @@ clear_all (db::Cell *cell) static void delete_cell (db::Cell *cell) { - check_is_editable (cell); db::Layout *layout = cell->layout (); if (layout) { layout->delete_cell (cell->cell_index ()); @@ -1176,7 +1168,6 @@ delete_cell (db::Cell *cell) static void prune_subcells (db::Cell *cell, int levels) { - check_is_editable (cell); db::Layout *layout = cell->layout (); if (layout) { layout->prune_subcells (cell->cell_index (), levels); @@ -1192,7 +1183,6 @@ prune_subcells0 (db::Cell *cell) static void prune_cell (db::Cell *cell, int levels) { - check_is_editable (cell); db::Layout *layout = cell->layout (); if (layout) { layout->prune_cell (cell->cell_index (), levels); @@ -1208,7 +1198,6 @@ prune_cell0 (db::Cell *cell) static void flatten (db::Cell *cell, int levels, bool prune) { - check_is_editable (cell); db::Layout *layout = cell->layout (); if (layout) { layout->flatten (*cell, levels, prune); @@ -1288,8 +1277,6 @@ begin_shapes_rec_overlapping_um (const db::Cell *cell, unsigned int layer, db::D static void copy_shapes2 (db::Cell *cell, const db::Cell &source_cell, const db::LayerMapping &layer_mapping) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy shapes within the same cell"))); } @@ -1318,8 +1305,6 @@ static void copy_shapes2 (db::Cell *cell, const db::Cell &source_cell, const db: static void copy_shapes1 (db::Cell *cell, const db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy shapes within the same cell"))); } @@ -1344,8 +1329,6 @@ static void copy_shapes1 (db::Cell *cell, const db::Cell &source_cell) static void copy_instances (db::Cell *cell, const db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy instances within the same cell"))); } @@ -1360,8 +1343,6 @@ static void copy_instances (db::Cell *cell, const db::Cell &source_cell) static std::vector copy_tree (db::Cell *cell, const db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy shapes within the same cell"))); } @@ -1393,8 +1374,6 @@ static std::vector copy_tree (db::Cell *cell, const db::Cel static void copy_tree_shapes2 (db::Cell *cell, const db::Cell &source_cell, const db::CellMapping &cm) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy shapes within the same cell"))); } @@ -1421,8 +1400,6 @@ static void copy_tree_shapes2 (db::Cell *cell, const db::Cell &source_cell, cons static void copy_tree_shapes3 (db::Cell *cell, const db::Cell &source_cell, const db::CellMapping &cm, const db::LayerMapping &lm) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot copy shapes within the same cell"))); } @@ -1446,8 +1423,6 @@ static void copy_tree_shapes3 (db::Cell *cell, const db::Cell &source_cell, cons static void move_shapes2 (db::Cell *cell, db::Cell &source_cell, const db::LayerMapping &layer_mapping) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move shapes within the same cell"))); } @@ -1478,8 +1453,6 @@ static void move_shapes2 (db::Cell *cell, db::Cell &source_cell, const db::Layer static void move_shapes1 (db::Cell *cell, db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move shapes within the same cell"))); } @@ -1505,8 +1478,6 @@ static void move_shapes1 (db::Cell *cell, db::Cell &source_cell) static void move_instances (db::Cell *cell, db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move instances within the same cell"))); } @@ -1523,8 +1494,6 @@ static void move_instances (db::Cell *cell, db::Cell &source_cell) static std::vector move_tree (db::Cell *cell, db::Cell &source_cell) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move shapes within the same cell"))); } @@ -1558,8 +1527,6 @@ static std::vector move_tree (db::Cell *cell, db::Cell &sou static void move_tree_shapes2 (db::Cell *cell, db::Cell &source_cell, const db::CellMapping &cm) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move shapes within the same cell"))); } @@ -1586,8 +1553,6 @@ static void move_tree_shapes2 (db::Cell *cell, db::Cell &source_cell, const db:: static void move_tree_shapes3 (db::Cell *cell, db::Cell &source_cell, const db::CellMapping &cm, const db::LayerMapping &lm) { - check_is_editable (cell); - if (cell == &source_cell) { throw tl::Exception (tl::to_string (QObject::tr ("Cannot move shapes within the same cell"))); } @@ -1612,8 +1577,6 @@ static void move_tree_shapes3 (db::Cell *cell, db::Cell &source_cell, const db:: static void fill_region1 (db::Cell *cell, const db::Region &fr, db::cell_index_type fill_cell_index, const db::Box &fc_box, const db::Point *origin) { - check_is_editable (cell); - if (fc_box.empty () || fc_box.width () == 0 || fc_box.height () == 0) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid fill cell footprint (empty or zero width/height)"))); } @@ -1624,8 +1587,6 @@ static void fill_region2 (db::Cell *cell, const db::Region &fr, db::cell_index_type fill_cell_index, const db::Box &fc_box, const db::Point *origin, db::Region *remaining_parts, const db::Vector &fill_margin, db::Region *remaining_polygons) { - check_is_editable (cell); - if (fc_box.empty () || fc_box.width () == 0 || fc_box.height () == 0) { throw tl::Exception (tl::to_string (QObject::tr ("Invalid fill cell footprint (empty or zero width/height)"))); } diff --git a/testdata/ruby/dbLayout.rb b/testdata/ruby/dbLayout.rb index 3bd511982..7a49fe621 100644 --- a/testdata/ruby/dbLayout.rb +++ b/testdata/ruby/dbLayout.rb @@ -488,443 +488,415 @@ END def test_5a - if RBA::Application::instance.is_editable? + # delete_cell + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) + assert_equal(c0.is_empty?, true) - # delete_cell - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) - assert_equal(c0.is_empty?, true) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(c0.is_empty?, false) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - assert_equal(c0.is_empty?, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + assert_equal(l.is_valid_cell_index?(c0_index), true) + l.delete_cell(c0.cell_index) + assert_equal(l.is_valid_cell_index?(c0_index), false) - c0_index = c0.cell_index - assert_equal(l.is_valid_cell_index?(c0_index), true) - l.delete_cell(c0.cell_index) - assert_equal(l.is_valid_cell_index?(c0_index), false) + assert_equal(collect_hier(l), "[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); + assert_equal(c3.is_empty?, true) - assert_equal(collect_hier(l), "[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); - assert_equal(c3.is_empty?, true) + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) + assert_equal(c0.is_empty?, true) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) - assert_equal(c0.is_empty?, true) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(c0.is_empty?, false) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - assert_equal(c0.is_empty?, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + assert_equal(l.is_valid_cell_index?(c0_index), true) + l.cell(c0_index).delete + assert_equal(l.is_valid_cell_index?(c0_index), false) - c0_index = c0.cell_index - assert_equal(l.is_valid_cell_index?(c0_index), true) - l.cell(c0_index).delete - assert_equal(l.is_valid_cell_index?(c0_index), false) - - assert_equal(collect_hier(l), "[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); - assert_equal(c3.is_empty?, true) - - end + assert_equal(collect_hier(l), "[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); + assert_equal(c3.is_empty?, true) end def test_5b - if RBA::Application::instance.is_editable? + # delete_cells + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - # delete_cells - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + assert_equal(c0.is_empty?, false) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - assert_equal(c0.is_empty?, false) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.delete_cells([c0_index, c2_index]) + assert_equal(collect_hier(l), "[c1](P=)(C=)/[c3](P=)(C=)"); - l.delete_cells([c0_index, c2_index]) - assert_equal(collect_hier(l), "[c1](P=)(C=)/[c3](P=)(C=)"); - - l = ll - # Hint: even though we deleted c0 and c2, their indices are still valid - l.delete_cells([c2_index, c0_index]) - assert_equal(collect_hier(l), "[c1](P=)(C=)/[c3](P=)(C=)"); - - end + l = ll + # Hint: even though we deleted c0 and c2, their indices are still valid + l.delete_cells([c2_index, c0_index]) + assert_equal(collect_hier(l), "[c1](P=)(C=)/[c3](P=)(C=)"); end def test_5d - # TODO: undo tests crashes in non-editable mode! Should be checked properly. - if RBA::Application::instance.is_editable? + # prune_cell + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - # prune_cell - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.prune_cell(c0_index, -1) + assert_equal(collect_hier(l), ""); - l.prune_cell(c0_index, -1) - assert_equal(collect_hier(l), ""); + l = ll + ll = l.dup + # Hint: even though we deleted c0 and c2, their indices are still valid + l.prune_cell(c2_index, -1) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c3)/[c1](P=c0)(C=)/[c3](P=c0)(C=)"); - l = ll - ll = l.dup - # Hint: even though we deleted c0 and c2, their indices are still valid - l.prune_cell(c2_index, -1) - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c3)/[c1](P=c0)(C=)/[c3](P=c0)(C=)"); + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.cell(c0_index).prune_cell + assert_equal(collect_hier(l), ""); - l.cell(c0_index).prune_cell - assert_equal(collect_hier(l), ""); - - l = ll - ll = l.dup - # Hint: even though we deleted c0 and c2, their indices are still valid - l.cell(c2_index).prune_cell(-1) - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c3)/[c1](P=c0)(C=)/[c3](P=c0)(C=)"); - - end + l = ll + ll = l.dup + # Hint: even though we deleted c0 and c2, their indices are still valid + l.cell(c2_index).prune_cell(-1) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c3)/[c1](P=c0)(C=)/[c3](P=c0)(C=)"); end def test_5e - # TODO: undo tests crashes in non-editable mode! Should be checked properly. - if RBA::Application::instance.is_editable? + # delete_cell_rec + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - # delete_cell_rec - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.delete_cell_rec(c0_index) + assert_equal(collect_hier(l), ""); - l.delete_cell_rec(c0_index) - assert_equal(collect_hier(l), ""); - - l = ll - ll = l.dup - # Hint: even though we deleted c0 and c2, their indices are still valid - l.delete_cell_rec(c2_index) - assert_equal(collect_hier(l), "[c0](P=)(C=c1)/[c1](P=c0)(C=)"); - - end + l = ll + ll = l.dup + # Hint: even though we deleted c0 and c2, their indices are still valid + l.delete_cell_rec(c2_index) + assert_equal(collect_hier(l), "[c0](P=)(C=c1)/[c1](P=c0)(C=)"); end def test_5f - # TODO: undo tests crashes in non-editable mode! Should be checked properly. - if RBA::Application::instance.is_editable? + # delete_cell_rec + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - # delete_cell_rec - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + ll = l.dup - ll = l.dup + l.flatten(c0_index, -1, false) + assert_equal(collect_hier(l), "[c0](P=)(C=)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); - l.flatten(c0_index, -1, false) - assert_equal(collect_hier(l), "[c0](P=)(C=)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.flatten(c0_index, -1, true) + assert_equal(collect_hier(l), "[c0](P=)(C=)"); - l = ll - ll = l.dup - l.flatten(c0_index, -1, true) - assert_equal(collect_hier(l), "[c0](P=)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.flatten(c0_index, 0, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - l = ll - ll = l.dup - l.flatten(c0_index, 0, false) - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.flatten(c0_index, 1, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c0,c2)(C=)"); - l = ll - ll = l.dup - l.flatten(c0_index, 1, false) - assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c0,c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); + l = ll + ll = l.dup + l.flatten(c0_index, 1, true) + assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c3](P=c0)(C=)"); - l = ll - ll = l.dup - l.flatten(c0_index, 1, true) - assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c3](P=c0)(C=)"); + l = ll + ll = l.dup - l = ll - ll = l.dup + l.cell(c0_index).flatten(false) + assert_equal(collect_hier(l), "[c0](P=)(C=)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); - l.cell(c0_index).flatten(false) - assert_equal(collect_hier(l), "[c0](P=)(C=)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.cell(c0_index).flatten(true) + assert_equal(collect_hier(l), "[c0](P=)(C=)"); - l = ll - ll = l.dup - l.cell(c0_index).flatten(true) - assert_equal(collect_hier(l), "[c0](P=)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](1200,0;2200,1100)/[c0](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.cell(c0_index).flatten(0, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - l = ll - ll = l.dup - l.cell(c0_index).flatten(0, false) - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)"); + l = ll + ll = l.dup + l.cell(c0_index).flatten(1, false) + assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c0,c2)(C=)"); - l = ll - ll = l.dup - l.cell(c0_index).flatten(1, false) - assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c1](P=)(C=)/[c2](P=)(C=c3)/[c3](P=c0,c2)(C=)"); + ii = l.begin_shapes(c0_index, 0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); - ii = l.begin_shapes(c0_index, 0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); + l = ll + ll = l.dup + l.cell(c0_index).flatten(1, true) + assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c3](P=c0)(C=)"); - l = ll - ll = l.dup - l.cell(c0_index).flatten(1, true) - assert_equal(collect_hier(l), "[c0](P=)(C=c3)/[c3](P=c0)(C=)"); + ii = l.cell(c0_index).begin_shapes_rec(0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); - ii = l.cell(c0_index).begin_shapes_rec(0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); - - ii = l.cell(c0_index).begin_shapes_rec(0); - assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); - - end + ii = l.cell(c0_index).begin_shapes_rec(0); + assert_equal(collect(ii, l), "[c0](0,100;1000,1200)/[c0](0,100;1000,1200)/[c0](100,0;1100,1100)/[c0](-1200,0;-100,1000)/[c3](1200,0;2200,1100)"); end def test_5g - # TODO: undo tests crashes in non-editable mode! Should be checked properly. - if RBA::Application::instance.is_editable? + # prune_subcells + + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - # prune_subcells - - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.prune_subcells(c0_index, -1) + assert_equal(collect_hier(l), "[c0](P=)(C=)"); - l.prune_subcells(c0_index, -1) - assert_equal(collect_hier(l), "[c0](P=)(C=)"); + l = ll + ll = l.dup + # Hint: even though we deleted c0 and c2, their indices are still valid + l.prune_subcells(c2_index, -1) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=)/[c3](P=c0)(C=)"); - l = ll - ll = l.dup - # Hint: even though we deleted c0 and c2, their indices are still valid - l.prune_subcells(c2_index, -1) - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=)/[c3](P=c0)(C=)"); + l = ll + # Hint: even though we deleted c0 and c2, their indices are still valid + l.prune_subcells(c0_index, 1) + assert_equal(collect_hier(l), "[c0](P=)(C=)"); - l = ll - # Hint: even though we deleted c0 and c2, their indices are still valid - l.prune_subcells(c0_index, 1) - assert_equal(collect_hier(l), "[c0](P=)(C=)"); + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=c3)/[c3](P=c0,c2)(C=)"); + c0_index = c0.cell_index + c2_index = c2.cell_index - c0_index = c0.cell_index - c2_index = c2.cell_index + ll = l.dup - ll = l.dup + l.cell(c0_index).prune_subcells + assert_equal(collect_hier(l), "[c0](P=)(C=)"); - l.cell(c0_index).prune_subcells - assert_equal(collect_hier(l), "[c0](P=)(C=)"); + l = ll + ll = l.dup + # Hint: even though we deleted c0 and c2, their indices are still valid + l.cell(c2_index).prune_subcells + assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=)/[c3](P=c0)(C=)"); - l = ll - ll = l.dup - # Hint: even though we deleted c0 and c2, their indices are still valid - l.cell(c2_index).prune_subcells - assert_equal(collect_hier(l), "[c0](P=)(C=c1,c2,c3)/[c1](P=c0)(C=)/[c2](P=c0)(C=)/[c3](P=c0)(C=)"); - - l = ll - # Hint: even though we deleted c0 and c2, their indices are still valid - l.cell(c0_index).prune_subcells(1) - assert_equal(collect_hier(l), "[c0](P=)(C=)"); - - end + l = ll + # Hint: even though we deleted c0 and c2, their indices are still valid + l.cell(c0_index).prune_subcells(1) + assert_equal(collect_hier(l), "[c0](P=)(C=)"); end @@ -1218,84 +1190,80 @@ END # copy shapes between cells - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.copy_shapes(c0) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + + c0c.clear + lm = RBA::LayerMapping::new + lm.map(1, 0) + c0c.copy_shapes(c0, lm) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) - c0c = l.cell(l.add_cell("c0")) - c0c.copy_shapes(c0) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - - c0c.clear - lm = RBA::LayerMapping::new - lm.map(1, 0) - c0c.copy_shapes(c0, lm) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + c0c.copy_shapes(c0) + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - c0c.copy_shapes(c0) - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + lm = RBA::LayerMapping::new + lm.create(l2, l) + layer1 = l2.find_layer(1, 0) + assert_equal(layer1, nil) + layer2 = l2.find_layer(2, 0) + assert_equal(layer2, nil) - lm = RBA::LayerMapping::new - lm.create(l2, l) - layer1 = l2.find_layer(1, 0) - assert_equal(layer1, nil) - layer2 = l2.find_layer(2, 0) - assert_equal(layer2, nil) + lm.create_full(l2, l) - lm.create_full(l2, l) - - c0c.copy_shapes(c0, lm) - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - - end + c0c.copy_shapes(c0, lm) + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) end @@ -1303,104 +1271,100 @@ END # move shapes between cells - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + ll = l.dup - ll = l.dup + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.move_shapes(c0) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + c0.move_shapes(c0c) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "") + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + + lm = RBA::LayerMapping::new + lm.map(1, 0) + c0c.move_shapes(c0, lm) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) - c0c = l.cell(l.add_cell("c0")) - c0c.move_shapes(c0) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - c0.move_shapes(c0c) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "") - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - - lm = RBA::LayerMapping::new - lm.map(1, 0) - c0c.move_shapes(c0, lm) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) + l = ll.dup + c0 = l.cell("c0") - l = ll.dup - c0 = l.cell("c0") + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + c0c.move_shapes(c0) + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - c0c.move_shapes(c0) - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) + l = ll.dup + c0 = l.cell("c0") - l = ll.dup - c0 = l.cell("c0") + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + lm = RBA::LayerMapping::new + lm.create(l2, l) + layer1 = l2.find_layer(1, 0) + assert_equal(layer1, nil) + layer2 = l2.find_layer(2, 0) + assert_equal(layer2, nil) - lm = RBA::LayerMapping::new - lm.create(l2, l) - layer1 = l2.find_layer(1, 0) - assert_equal(layer1, nil) - layer2 = l2.find_layer(2, 0) - assert_equal(layer2, nil) + lm.create_full(l2, l) - lm.create_full(l2, l) - - c0c.move_shapes(c0, lm) - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - - end + c0c.move_shapes(c0, lm) + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c1](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) end @@ -1408,55 +1372,51 @@ END # copy instances between cells - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + i0.set_property("p", 17) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - i0.set_property("p", 17) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.copy_instances(c0) + i0 = nil + c0c.each_inst { |i| i.cell_index == c1.cell_index && i0 = i } + assert_equal(i0.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - c0c = l.cell(l.add_cell("c0")) + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) + err = false + begin c0c.copy_instances(c0) - i0 = nil - c0c.each_inst { |i| i.cell_index == c1.cell_index && i0 = i } - assert_equal(i0.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) - err = false - begin - c0c.copy_instances(c0) - rescue => ex - err = true - end - assert_equal(err, true) - - end + rescue => ex + err = true + end + assert_equal(err, true) end @@ -1464,57 +1424,53 @@ END # move instances between cells - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + i0.set_property("p", 17) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - i0.set_property("p", 17) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.move_instances(c0) + i0 = nil + c0c.each_inst { |i| i.cell_index == c1.cell_index && i0 = i } + assert_equal(i0.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - c0c = l.cell(l.add_cell("c0")) - c0c.move_instances(c0) - i0 = nil - c0c.each_inst { |i| i.cell_index == c1.cell_index && i0 = i } - assert_equal(i0.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) - err = false - begin - c0c.copy_instances(c0) - rescue => ex - err = true - end - assert_equal(err, true) - - end + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) + err = false + begin + c0c.copy_instances(c0) + rescue => ex + err = true + end + assert_equal(err, true) end @@ -1522,62 +1478,58 @@ END # copy cell tree - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + s = c1.shapes(0).insert(b) + s.set_property("p", 17) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + c0.shapes(1).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - s = c1.shapes(0).insert(b) - s.set_property("p", 17) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - c0.shapes(1).insert(b) + tt = RBA::Trans.new + i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + i0.set_property("p", 18) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - i0.set_property("p", 18) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.copy_tree(c0) - c0c = l.cell(l.add_cell("c0")) - c0c.copy_tree(c0) + i0 = nil + c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) + assert_equal(l.cell("c1$1").begin_shapes_rec(0).shape.property("p"), 17) - i0 = nil - c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - assert_equal(l.cell("c1$1").begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) + c0c.copy_tree(c0) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) - c0c.copy_tree(c0) + i0 = nil + c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) - i0 = nil - c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(l2.cell("c1").begin_shapes_rec(layer1).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l2), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") - assert_equal(collect(c0c.begin_shapes_rec(layer2), l2), "[c0](2,202;2002,2402)") - - end + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(l2.cell("c1").begin_shapes_rec(layer1).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l2), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") + assert_equal(collect(c0c.begin_shapes_rec(layer2), l2), "[c0](2,202;2002,2402)") end @@ -1585,80 +1537,76 @@ END # move cell tree - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + s = c1.shapes(0).insert(b) + s.set_property("p", 17) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + c0.shapes(1).insert(b) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - s = c1.shapes(0).insert(b) - s.set_property("p", 17) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - c0.shapes(1).insert(b) + tt = RBA::Trans.new + i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + i0.set_property("p", 18) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - i0 = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - i0.set_property("p", 18) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + ll = l.dup - ll = l.dup + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + c0c.move_tree(c0) + assert_equal(l.has_cell?("c0"), true) + assert_equal(l.has_cell?("c1"), false) + assert_equal(l.has_cell?("c2"), false) + assert_equal(l.has_cell?("c3"), false) - c0c = l.cell(l.add_cell("c0")) - c0c.move_tree(c0) - assert_equal(l.has_cell?("c0"), true) - assert_equal(l.has_cell?("c1"), false) - assert_equal(l.has_cell?("c2"), false) - assert_equal(l.has_cell?("c3"), false) + i0 = nil + c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) + assert_equal(l.cell("c1$1").begin_shapes_rec(0).shape.property("p"), 17) - i0 = nil - c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - assert_equal(l.cell("c1$1").begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0.begin_shapes_rec(0), l), "") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + l = ll.dup + c0 = l.cell("c0") - l = ll.dup - c0 = l.cell("c0") + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) + c0c.move_tree(c0) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) - c0c.move_tree(c0) + assert_equal(collect(c0.begin_shapes_rec(0), l), "") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(l.has_cell?("c0"), true) + assert_equal(l.has_cell?("c1"), false) + assert_equal(l.has_cell?("c2"), false) + assert_equal(l.has_cell?("c3"), false) - assert_equal(collect(c0.begin_shapes_rec(0), l), "") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(l.has_cell?("c0"), true) - assert_equal(l.has_cell?("c1"), false) - assert_equal(l.has_cell?("c2"), false) - assert_equal(l.has_cell?("c3"), false) + i0 = nil + c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) - i0 = nil - c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(l2.cell("c1").begin_shapes_rec(layer1).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l2), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") - assert_equal(collect(c0c.begin_shapes_rec(layer2), l2), "[c0](2,202;2002,2402)") - - end + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(l2.cell("c1").begin_shapes_rec(layer1).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l2), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") + assert_equal(collect(c0c.begin_shapes_rec(layer2), l2), "[c0](2,202;2002,2402)") end @@ -1666,83 +1614,79 @@ END # copy shapes between cell trees - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + s = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + s.set_property("p", 18) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - s = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - s.set_property("p", 18) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + cm = RBA::CellMapping::new + cm.for_single_cell(l, c0c.cell_index, l, c0.cell_index) + c0c.copy_tree_shapes(c0, cm) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c0$1](0,100;1000,1200)/[c0$1](100,0;1100,1100)/[c0$1](-1200,0;-100,1000)/[c0$1](1200,0;2200,1100)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + + c0c.clear + lm = RBA::LayerMapping::new + lm.map(1, 0) + c0c.copy_tree_shapes(c0, cm, lm) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) - c0c = l.cell(l.add_cell("c0")) - cm = RBA::CellMapping::new - cm.for_single_cell(l, c0c.cell_index, l, c0.cell_index) - c0c.copy_tree_shapes(c0, cm) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c0$1](0,100;1000,1200)/[c0$1](100,0;1100,1100)/[c0$1](-1200,0;-100,1000)/[c0$1](1200,0;2200,1100)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - - c0c.clear - lm = RBA::LayerMapping::new - lm.map(1, 0) - c0c.copy_tree_shapes(c0, cm, lm) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) + c0c.clear + cm.for_single_cell_full(l, c0c.cell_index, l, c0.cell_index) + c0c.copy_tree_shapes(c0, cm) + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - c0c.clear - cm.for_single_cell_full(l, c0c.cell_index, l, c0.cell_index) - c0c.copy_tree_shapes(c0, cm) - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + i0 = nil + c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) - i0 = nil - c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + cm.for_single_cell_full(l2, c0c.cell_index, l, c0.cell_index) + c0c.copy_tree_shapes(c0, cm) + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - cm.for_single_cell_full(l2, c0c.cell_index, l, c0.cell_index) - c0c.copy_tree_shapes(c0, cm) - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - - i0 = nil - c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - - end + i0 = nil + c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) end @@ -1750,115 +1694,107 @@ END # move shapes between cell trees - if RBA::Application::instance.is_editable? + l = RBA::Layout.new + l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) + l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) + c0 = l.cell(l.add_cell("c0")) + c1 = l.cell(l.add_cell("c1")) + c2 = l.cell(l.add_cell("c2")) + c3 = l.cell(l.add_cell("c3")) - l = RBA::Layout.new - l.insert_layer_at(0, RBA::LayerInfo.new(1, 0)) - l.insert_layer_at(1, RBA::LayerInfo.new(2, 0)) - c0 = l.cell(l.add_cell("c0")) - c1 = l.cell(l.add_cell("c1")) - c2 = l.cell(l.add_cell("c2")) - c3 = l.cell(l.add_cell("c3")) + b = RBA::Box.new(0, 100, 1000, 1200) + c0.shapes(0).insert(b) + c1.shapes(0).insert(b) + c2.shapes(0).insert(b) + c3.shapes(0).insert(b) + b = RBA::Box.new(1, 101, 1001, 1201) + s = c0.shapes(1).insert(b) + s.set_property("p", 17) - b = RBA::Box.new(0, 100, 1000, 1200) - c0.shapes(0).insert(b) - c1.shapes(0).insert(b) - c2.shapes(0).insert(b) - c3.shapes(0).insert(b) - b = RBA::Box.new(1, 101, 1001, 1201) - s = c0.shapes(1).insert(b) - s.set_property("p", 17) + tt = RBA::Trans.new + s = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) + assert_equal(s.is_pcell?, false) + assert_equal(s.pcell_declaration, nil) + assert_equal(s.pcell_parameters, []) + assert_equal(s.pcell_parameters_by_name, {}) + s.set_property("p", 18) + c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) + c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) + c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) - tt = RBA::Trans.new - s = c0.insert(RBA::CellInstArray.new(c1.cell_index, tt)) - assert_equal(s.is_pcell?, false) - assert_equal(s.pcell_declaration, nil) - assert_equal(s.pcell_parameters, []) - assert_equal(s.pcell_parameters_by_name, {}) - s.set_property("p", 18) - c0.insert(RBA::CellInstArray.new(c2.cell_index, RBA::Trans.new(RBA::Point.new(100, -100)))) - c0.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(1))) - c2.insert(RBA::CellInstArray.new(c3.cell_index, RBA::Trans.new(RBA::Point.new(1100, 0)))) + ll = l.dup - ll = l.dup + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "[c0](1,101;1001,1201)") + c0c = l.cell(l.add_cell("c0")) + cm = RBA::CellMapping::new + cm.for_single_cell(l, c0c.cell_index, l, c0.cell_index) + c0c.move_tree_shapes(c0, cm) + assert_equal(collect(c0.begin_shapes_rec(0), l), "") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c0$1](0,100;1000,1200)/[c0$1](100,0;1100,1100)/[c0$1](-1200,0;-100,1000)/[c0$1](1200,0;2200,1100)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - c0c = l.cell(l.add_cell("c0")) - cm = RBA::CellMapping::new - cm.for_single_cell(l, c0c.cell_index, l, c0.cell_index) - c0c.move_tree_shapes(c0, cm) - assert_equal(collect(c0.begin_shapes_rec(0), l), "") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c0$1](0,100;1000,1200)/[c0$1](100,0;1100,1100)/[c0$1](-1200,0;-100,1000)/[c0$1](1200,0;2200,1100)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + l = ll.dup + c0 = l.cell("c0") + c0c = l.cell(l.add_cell("c0")) + + lm = RBA::LayerMapping::new + lm.map(1, 0) + c0c.move_tree_shapes(c0, cm, lm) + assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) - l = ll.dup - c0 = l.cell("c0") - c0c = l.cell(l.add_cell("c0")) - - lm = RBA::LayerMapping::new - lm.map(1, 0) - c0c.move_tree_shapes(c0, cm, lm) - assert_equal(collect(c0.begin_shapes_rec(0), l), "[c0](0,100;1000,1200)/[c2](100,0;1100,1100)/[c3](1200,0;2200,1100)/[c3](-1200,0;-100,1000)/[c1](0,100;1000,1200)") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), 17) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), nil) + l = ll.dup + c0 = l.cell("c0") + c0c = l.cell(l.add_cell("c0")) + + cm.for_single_cell_full(l, c0c.cell_index, l, c0.cell_index) + c0c.move_tree_shapes(c0, cm) + assert_equal(collect(c0.begin_shapes_rec(0), l), "") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") + assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") + assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) - l = ll.dup - c0 = l.cell("c0") - c0c = l.cell(l.add_cell("c0")) - - cm.for_single_cell_full(l, c0c.cell_index, l, c0.cell_index) - c0c.move_tree_shapes(c0, cm) - assert_equal(collect(c0.begin_shapes_rec(0), l), "") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - assert_equal(collect(c0c.begin_shapes_rec(0), l), "[c0$1](0,100;1000,1200)/[c2$1](100,0;1100,1100)/[c3$1](1200,0;2200,1100)/[c3$1](-1200,0;-100,1000)/[c1$1](0,100;1000,1200)") - assert_equal(c0c.begin_shapes_rec(0).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(1), l), "[c0$1](1,101;1001,1201)") - assert_equal(c0c.begin_shapes_rec(1).shape.property("p"), 17) + i0 = nil + c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) - i0 = nil - c0c.each_inst { |i| i.cell_index == l.cell("c1$1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) + l = ll.dup + c0 = l.cell("c0") + + l2 = RBA::Layout::new + l2.dbu = 0.0005 + c0c = l2.cell(l2.add_cell("c0")) - l = ll.dup - c0 = l.cell("c0") - - l2 = RBA::Layout::new - l2.dbu = 0.0005 - c0c = l2.cell(l2.add_cell("c0")) + cm.for_single_cell_full(l2, c0c.cell_index, l, c0.cell_index) + c0c.move_tree_shapes(c0, cm) + assert_equal(collect(c0.begin_shapes_rec(0), l), "") + assert_equal(collect(c0.begin_shapes_rec(1), l), "") + layer1 = l2.find_layer(1, 0) + layer2 = l2.find_layer(2, 0) + assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") + assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) + assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") + assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - cm.for_single_cell_full(l2, c0c.cell_index, l, c0.cell_index) - c0c.move_tree_shapes(c0, cm) - assert_equal(collect(c0.begin_shapes_rec(0), l), "") - assert_equal(collect(c0.begin_shapes_rec(1), l), "") - layer1 = l2.find_layer(1, 0) - layer2 = l2.find_layer(2, 0) - assert_equal(collect(c0c.begin_shapes_rec(layer1), l), "[c0](0,200;2000,2400)/[c2](200,0;2200,2200)/[c3](2400,0;4400,2200)/[c3](-2400,0;-200,2000)/[c1](0,200;2000,2400)") - assert_equal(c0c.begin_shapes_rec(layer1).shape.property("p"), nil) - assert_equal(collect(c0c.begin_shapes_rec(layer2), l), "[c0](2,202;2002,2402)") - assert_equal(c0c.begin_shapes_rec(layer2).shape.property("p"), 17) - - i0 = nil - c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } - assert_equal(i0.property("p"), 18) - - end + i0 = nil + c0c.each_inst { |i| i.cell_index == l2.cell("c1").cell_index && i0 = i } + assert_equal(i0.property("p"), 18) end def test_16 - if !RBA::Application::instance.is_editable? - return - end - # fill tool l = nil @@ -1980,9 +1916,6 @@ END def test_18 ly = RBA::Layout::new - if !ly.is_editable? - return - end cell = ly.create_cell("X") From b79e57bb266ea1c272777e90af958368a97f4256 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 22 Feb 2018 06:23:36 +0100 Subject: [PATCH 16/20] Updated Changelog --- Changelog | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Changelog b/Changelog index acd51aef4..d05de7424 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,46 @@ +0.25.1 (2018-02-22): +* Enhancements: build compatibility with MacOS, Qt 5.9. + Qt 4.6+4.7 supported as well with restrictions: + the package installation feature is not working. +* Bugfix: Package manager + - Remove button wasn't enabled if multiple packages were selected + - A potential crash ob removing packages was fixed +* Enhancement: 64 bit coordinate support enabled on Windows builds +* Further bugfixes: See links + - https://github.com/klayoutmatthias/klayout/issues/21 (Autorun(-early) doesn't seem to run when lym files are inside a package) + - https://github.com/klayoutmatthias/klayout/issues/24 (Text insert dialog possible) + - https://github.com/klayoutmatthias/klayout/issues/26 (Exceptions are reported every time they propagate up in the call chain in the ruby debugger) + - https://github.com/klayoutmatthias/klayout/issues/28 (CIF format detection failed) + - https://github.com/klayoutmatthias/klayout/issues/30 (Writer options dialog non-functional on a fresh configuration) + - https://github.com/klayoutmatthias/klayout/issues/32 (rounding issue with instance properties) + - https://github.com/klayoutmatthias/klayout/issues/33 (Plugin factory not working when using with Python) + - https://github.com/klayoutmatthias/klayout/issues/36 (hardening against destruction of object inside event handler) + - https://github.com/klayoutmatthias/klayout/issues/39 (Action cannot be reassigned) + - https://github.com/klayoutmatthias/klayout/issues/40 (Crash in Python binding) + - https://github.com/klayoutmatthias/klayout/issues/41 (Polygon#touches? issue) + - https://github.com/klayoutmatthias/klayout/issues/42 (headless mode support with Qt5/-zz) + - https://github.com/klayoutmatthias/klayout/issues/43 (crash when using Qt specific command line options) + - https://github.com/klayoutmatthias/klayout/issues/44 (Transformation constructor with x,y not working) + - https://github.com/klayoutmatthias/klayout/issues/45 (Partial selection does not capture instance) + - https://github.com/klayoutmatthias/klayout/issues/48 (Cancel does not reset current tool) + - https://github.com/klayoutmatthias/klayout/issues/51 (Segmentation fault on return to main window and other opportunities) + - https://github.com/klayoutmatthias/klayout/issues/53 (unreadable 'about' text) + - https://github.com/klayoutmatthias/klayout/issues/59 (async download of package index and details) + - https://github.com/klayoutmatthias/klayout/issues/62 (QXmlSimpleReader#parse cannot be called) + - https://github.com/klayoutmatthias/klayout/issues/63 (wrong output on DRC non_interacting with empty second input) + - https://github.com/klayoutmatthias/klayout/issues/64 (crash on exit) + - https://github.com/klayoutmatthias/klayout/issues/68 (OASIS reader issue with degenerated shapes) + - https://github.com/klayoutmatthias/klayout/issues/69 (DRC: 'inside' does not merge shapes of second input) + - https://github.com/klayoutmatthias/klayout/issues/71 (target cell argument is required) + - https://github.com/klayoutmatthias/klayout/issues/72 (Edges/Region NOT issue) + - https://github.com/klayoutmatthias/klayout/issues/73 (allow 'change layers' on PCells which support a single layer parameter) + - https://github.com/klayoutmatthias/klayout/issues/74 (small-corner boolean issue) + - https://github.com/klayoutmatthias/klayout/issues/75 (Python PCell issue when parameters are called 'layer') +* Further enhancements: see links + - https://github.com/klayoutmatthias/klayout/issues/29 (permissive mode for OASIS writer on odd-width paths) + - https://github.com/klayoutmatthias/klayout/issues/66 (Authentication dialog indicates retry) + - https://github.com/klayoutmatthias/klayout/issues/77 (copy_tree works in non-editable mode too) + 0.25 (2017-11-04): * Enhancement: Menu customization Menu items can be disabled or enabled now. The former From 594d090fb8d27f4494bf13c3027c05cccf2e86e6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 22 Feb 2018 22:53:48 +0100 Subject: [PATCH 17/20] Updated copyright, changelogs. --- COPYRIGHT | 4 ++-- Changelog.Debian | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/COPYRIGHT b/COPYRIGHT index 61f6751f7..d65254a01 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,12 +1,12 @@ klayout is packaged by Peter C.S. Scholtens and Matthias Köfferlein -and was obtained from http://klayout.de/klayout-0.25.tar.gz +and was obtained from https://www.klayout.org/downloads/source/klayout-0.25.1.tar.gz Authors: Matthias Köfferlein Copyright: - Copyright (C) 2006-2017 by Matthias Köfferlein. + Copyright (C) 2006-2018 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.Debian b/Changelog.Debian index eb924c70b..15c67929f 100644 --- a/Changelog.Debian +++ b/Changelog.Debian @@ -1,3 +1,10 @@ +klayout (0.25.1-1) unstable; urgency=low + + * New features and bugfixes + - See changelog + + -- Matthias Köfferlein Thu, 22 Feb 2018 22:52:56 +0100 + klayout (0.25-1) unstable; urgency=low * New features and bugfixes From eea53b309171934e891fe23f6da9aba609666970 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 23 Feb 2018 23:04:21 +0100 Subject: [PATCH 18/20] Fixed #79 (Macro Editor: Replace function enabled also for read-only macros) --- src/lay/lay/layMacroEditorDialog.cc | 2 ++ src/lay/lay/layMacroEditorPage.cc | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/lay/lay/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index 9f0f408c6..a866660f0 100644 --- a/src/lay/lay/layMacroEditorDialog.cc +++ b/src/lay/lay/layMacroEditorDialog.cc @@ -1621,6 +1621,8 @@ MacroEditorDialog::current_tab_changed (int index) // clear the search searchEditBox->clear (); + replaceFrame->setEnabled (page && page->macro () && !page->macro ()->is_readonly ()); + apply_search (); do_update_ui_to_run_mode (); diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index 804c98741..f82350c44 100644 --- a/src/lay/lay/layMacroEditorPage.cc +++ b/src/lay/lay/layMacroEditorPage.cc @@ -971,6 +971,10 @@ static QString interpolate_string (const QString &replace, const QRegExp &re) void MacroEditorPage::replace_and_find_next (const QString &replace) { + if (! mp_macro || mp_macro->is_readonly ()) { + return; + } + QTextCursor c = mp_text->textCursor (); if (c.hasSelection ()) { c.insertText (interpolate_string (replace, m_current_search)); @@ -982,6 +986,10 @@ MacroEditorPage::replace_and_find_next (const QString &replace) void MacroEditorPage::replace_all (const QString &replace) { + if (! mp_macro || mp_macro->is_readonly ()) { + return; + } + const QTextDocument *doc = mp_text->document (); QTextCursor c = mp_text->textCursor (); From e7e0f119a4dc22e40aaef718d2d21809b4515747 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 23 Feb 2018 23:05:39 +0100 Subject: [PATCH 19/20] Updated changelog. --- Changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index d05de7424..21f41d8f0 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,4 @@ -0.25.1 (2018-02-22): +0.25.1 (2018-02-23): * Enhancements: build compatibility with MacOS, Qt 5.9. Qt 4.6+4.7 supported as well with restrictions: the package installation feature is not working. @@ -36,6 +36,7 @@ - https://github.com/klayoutmatthias/klayout/issues/73 (allow 'change layers' on PCells which support a single layer parameter) - https://github.com/klayoutmatthias/klayout/issues/74 (small-corner boolean issue) - https://github.com/klayoutmatthias/klayout/issues/75 (Python PCell issue when parameters are called 'layer') + - https://github.com/klayoutmatthias/klayout/issues/79 (Replace function enabled also for read-only macros) * Further enhancements: see links - https://github.com/klayoutmatthias/klayout/issues/29 (permissive mode for OASIS writer on odd-width paths) - https://github.com/klayoutmatthias/klayout/issues/66 (Authentication dialog indicates retry) From 3d5fe871e214c653c6967f3e165cf69d8abc8704 Mon Sep 17 00:00:00 2001 From: klayoutmatthias Date: Sat, 3 Mar 2018 00:18:08 +0100 Subject: [PATCH 20/20] Fixed #84 (Python modules: breakpoints not working on Windows) --- src/pya/pya/pya.cc | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/pya/pya/pya.cc b/src/pya/pya/pya.cc index 4bcce316e..755d1a2bc 100644 --- a/src/pya/pya/pya.cc +++ b/src/pya/pya/pya.cc @@ -82,6 +82,27 @@ class PYAObjectBase; */ PythonInterpreter *sp_interpreter = 0; +// ------------------------------------------------------------------- + +/** + * @brief Normalizes the file path + * This function normalizes the file path so it only contains one + * kind of slashes on Windows. + */ +static +std::string normalize_path (const std::string &p) +{ +#if defined(__WIN32) + std::string np; + np.reserve (p.size ()); + for (const char *c = p.c_str (); *c; ++c) { + np += (*c == '\\' ? '/' : *c); + } + return np; +#else + return p; +#endif +} // ------------------------------------------------------------------- // The lookup table for the method overload resolution @@ -438,7 +459,7 @@ public: int line = frame->f_lineno; std::string fn; if (test_type (frame->f_code->co_filename, true)) { - fn = python2c (frame->f_code->co_filename); + fn = normalize_path (python2c (frame->f_code->co_filename)); } m_stack_trace.push_back (tl::BacktraceElement (fn, line)); @@ -3225,7 +3246,7 @@ PythonInterpreter::prepare_trace (PyObject *fn_object) { std::map::const_iterator f = m_file_id_map.find (fn_object); if (f == m_file_id_map.end ()) { - f = m_file_id_map.insert (std::make_pair (fn_object, mp_current_exec_handler->id_for_path (this, python2c (fn_object)))).first; + f = m_file_id_map.insert (std::make_pair (fn_object, mp_current_exec_handler->id_for_path (this, normalize_path (python2c (fn_object))))).first; } return f->second; @@ -3515,4 +3536,3 @@ PythonInterpreter *PythonInterpreter::instance () } } -