mirror of https://github.com/KLayout/klayout.git
WIP: better probing of nets, fixed a bug when hiding browser.
This commit is contained in:
parent
46dafd50ea
commit
4f41d99126
|
|
@ -262,21 +262,26 @@ NetlistBrowserDialog::probe_net (const db::DPoint &p, bool trace_path)
|
||||||
// determines the corresponding layer inside the database and probe the net from this region and the
|
// determines the corresponding layer inside the database and probe the net from this region and the
|
||||||
// start point.
|
// start point.
|
||||||
|
|
||||||
db::Region *region = 0;
|
std::vector<db::Region *> regions;
|
||||||
|
|
||||||
const db::Connectivity &conn = l2ndb->connectivity ();
|
const db::Connectivity &conn = l2ndb->connectivity ();
|
||||||
for (db::Connectivity::layer_iterator layer = conn.begin_layers (); layer != conn.end_layers (); ++layer) {
|
for (db::Connectivity::layer_iterator layer = conn.begin_layers (); layer != conn.end_layers (); ++layer) {
|
||||||
db::LayerProperties lp = l2ndb->internal_layout ()->get_properties (*layer);
|
db::LayerProperties lp = l2ndb->internal_layout ()->get_properties (*layer);
|
||||||
if (! lp.is_null () && lp == cv->layout ().get_properties (start_layer)) {
|
if (! lp.is_null ()) {
|
||||||
region = l2ndb->layer_by_index (*layer);
|
db::Region *region = l2ndb->layer_by_index (*layer);
|
||||||
break;
|
if (lp == cv->layout ().get_properties (start_layer)) {
|
||||||
|
// a matching original layer is looked up with higher prio
|
||||||
|
regions.insert (regions.begin (), region);
|
||||||
|
} else {
|
||||||
|
regions.push_back (region);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// probe the net
|
// probe the net
|
||||||
|
|
||||||
if (region) {
|
for (std::vector<db::Region *>::const_iterator r = regions.begin (); r != regions.end () && !net; ++r) {
|
||||||
net = l2ndb->probe_net (*region, start_point);
|
net = l2ndb->probe_net (**r, start_point);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -723,12 +728,6 @@ NetlistBrowserDialog::update_content ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
NetlistBrowserDialog::hideEvent (QHideEvent *)
|
|
||||||
{
|
|
||||||
deactivated ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
NetlistBrowserDialog::deactivated ()
|
NetlistBrowserDialog::deactivated ()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -60,9 +60,6 @@ private:
|
||||||
// implementation of the lay::Plugin interface
|
// implementation of the lay::Plugin interface
|
||||||
virtual void menu_activated (const std::string &symbol);
|
virtual void menu_activated (const std::string &symbol);
|
||||||
|
|
||||||
// QWidget
|
|
||||||
virtual void hideEvent (QHideEvent *);
|
|
||||||
|
|
||||||
void cellviews_changed ();
|
void cellviews_changed ();
|
||||||
void cellview_changed (int index);
|
void cellview_changed (int index);
|
||||||
void l2ndbs_changed ();
|
void l2ndbs_changed ();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue