@@ -1830,6 +1830,7 @@ bool DbNetDescriptor::isNet(const std::any& object) const
18301830Descriptor::Properties DbNetDescriptor::getDBProperties (odb::dbNet* net) const
18311831{
18321832 auto gui = Gui::get ();
1833+
18331834 Properties props ({{" Block" , gui->makeSelected (net->getBlock ())},
18341835 {" Signal type" , net->getSigType ().getString ()},
18351836 {" Source type" , net->getSourceType ().getString ()},
@@ -1854,6 +1855,15 @@ Descriptor::Properties DbNetDescriptor::getDBProperties(odb::dbNet* net) const
18541855 }
18551856 props.push_back ({" BTerms" , bterms});
18561857
1858+ std::set<odb::dbModNet*> modnet_set;
1859+ if (net->findRelatedModNets (modnet_set)) {
1860+ SelectionSet mod_nets;
1861+ for (odb::dbModNet* mod_net : modnet_set) {
1862+ mod_nets.insert (gui->makeSelected (mod_net));
1863+ }
1864+ props.push_back ({" ModNets" , mod_nets});
1865+ }
1866+
18571867 auto * ndr = net->getNonDefaultRule ();
18581868 if (ndr != nullptr ) {
18591869 props.push_back ({" Non-default rule" , gui->makeSelected (ndr)});
@@ -2119,6 +2129,13 @@ Descriptor::Properties DbITermDescriptor::getDBProperties(
21192129 } else {
21202130 net_value = " <none>" ;
21212131 }
2132+ auto mod_net = iterm->getModNet ();
2133+ std::any mod_net_value;
2134+ if (mod_net != nullptr ) {
2135+ mod_net_value = gui->makeSelected (mod_net);
2136+ } else {
2137+ mod_net_value = " <none>" ;
2138+ }
21222139 SelectionSet aps;
21232140 for (const auto & [mpin, ap_vec] : iterm->getAccessPoints ()) {
21242141 for (const auto & ap : ap_vec) {
@@ -2128,6 +2145,7 @@ Descriptor::Properties DbITermDescriptor::getDBProperties(
21282145 }
21292146 Properties props{{" Instance" , gui->makeSelected (iterm->getInst ())},
21302147 {" Net" , std::move (net_value)},
2148+ {" ModNet" , std::move (mod_net_value)},
21312149 {" Special" , iterm->isSpecial ()},
21322150 {" MTerm" , gui->makeSelected (iterm->getMTerm ())},
21332151 {" Access Points" , aps}};
@@ -2209,8 +2227,16 @@ Descriptor::Properties DbBTermDescriptor::getDBProperties(
22092227 aps.insert (gui->makeSelected (bap));
22102228 }
22112229 }
2230+ auto mod_net = bterm->getModNet ();
2231+ std::any mod_net_value;
2232+ if (mod_net != nullptr ) {
2233+ mod_net_value = gui->makeSelected (mod_net);
2234+ } else {
2235+ mod_net_value = " <none>" ;
2236+ }
22122237 Properties props{{" Block" , gui->makeSelected (bterm->getBlock ())},
22132238 {" Net" , gui->makeSelected (bterm->getNet ())},
2239+ {" ModNet" , std::move (mod_net_value)},
22142240 {" Signal type" , bterm->getSigType ().getString ()},
22152241 {" IO type" , bterm->getIoType ().getString ()},
22162242 {" Access Points" , aps}};
@@ -3992,6 +4018,7 @@ Descriptor::Properties DbModNetDescriptor::getDBProperties(
39924018 bterms.insert (gui->makeSelected (bterm));
39934019 }
39944020 props.push_back ({" BTerms" , bterms});
4021+ props.push_back ({" Net" , gui->makeSelected (modnet->findRelatedNet ())});
39954022
39964023 return props;
39974024}
0 commit comments