::const_iterator circuit = m_current_circuits.begin (); circuit != m_current_circuits.end () && ! not_all_shapes_are_shown; ++circuit) {
+ not_all_shapes_are_shown = produce_highlights_for_circuit (*circuit, n_markers, tv);
+ }
+
if (not_all_shapes_are_shown) {
info_label->setText (tl::to_qstring ("" +
tl::to_string (QObject::tr ("Not all shapes are highlighted")) +
diff --git a/src/laybasic/laybasic/layNetlistBrowserPage.h b/src/laybasic/laybasic/layNetlistBrowserPage.h
index 33ac4bec8..17924cded 100644
--- a/src/laybasic/laybasic/layNetlistBrowserPage.h
+++ b/src/laybasic/laybasic/layNetlistBrowserPage.h
@@ -203,6 +203,7 @@ private:
std::vector m_current_nets;
std::vector m_current_devices;
std::vector m_current_subcircuits;
+ std::vector m_current_circuits;
lay::NetInfoDialog *mp_info_dialog;
tl::DeferredMethod dm_update_highlights;
db::ContextCache m_cell_context_cache;
@@ -212,16 +213,19 @@ private:
void navigate_to (void *id, bool forward = true);
void adjust_view ();
void clear_markers ();
- void highlight (const std::vector &nets, const std::vector &devices, const std::vector &subcircuits);
+ void highlight (const std::vector &nets, const std::vector &devices, const std::vector &subcircuits, const std::vector &circuits);
std::vector selected_nets ();
std::vector selected_devices ();
std::vector selected_subcircuits ();
+ std::vector selected_circuits ();
void set_color_for_selected_nets (const QColor &color);
void layer_list_changed (int);
QColor make_valid_color (const QColor &color);
bool produce_highlights_for_net(const db::Net *net, size_t &n_markers, const std::map &display_by_lp, const std::vector &tv);
bool produce_highlights_for_device (const db::Device *device, size_t &n_markers, const std::vector &tv);
bool produce_highlights_for_subcircuit (const db::SubCircuit *subcircuit, size_t &n_markers, const std::vector &tv);
+ bool produce_highlights_for_circuit (const db::Circuit *circuit, size_t &n_markers, const std::vector &tv);
+ void configure_marker (lay::Marker *marker, bool with_fill);
void export_nets (const std::vector *nets);
};