mirror of https://github.com/KLayout/klayout.git
LVSDB browser: styling.
This commit is contained in:
parent
875609ffb1
commit
33b836d243
|
|
@ -267,18 +267,18 @@ SingleIndexedNetlistModel::parent_of (const subcircuit_pair &subcircuits) const
|
|||
return std::make_pair (subcircuits.first->circuit (), (const db::Circuit *) 0);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::circuit_pair
|
||||
std::pair<IndexedNetlistModel::circuit_pair, IndexedNetlistModel::Status>
|
||||
SingleIndexedNetlistModel::circuit_from_index (size_t index) const
|
||||
{
|
||||
db::Netlist::const_circuit_iterator none;
|
||||
return attr_by_object_and_index (std::make_pair (mp_netlist, (const db::Netlist *) 0), index, mp_netlist->begin_circuits (), mp_netlist->end_circuits (), none, none, m_circuit_by_index, sort_by_name<db::Circuit> ());
|
||||
return std::make_pair (attr_by_object_and_index (std::make_pair (mp_netlist, (const db::Netlist *) 0), index, mp_netlist->begin_circuits (), mp_netlist->end_circuits (), none, none, m_circuit_by_index, sort_by_name<db::Circuit> ()), db::NetlistCrossReference::None);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::net_pair
|
||||
std::pair<IndexedNetlistModel::net_pair, IndexedNetlistModel::Status>
|
||||
SingleIndexedNetlistModel::net_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
db::Circuit::const_net_iterator none;
|
||||
return attr_by_object_and_index (circuits, index, circuits.first->begin_nets (), circuits.first->end_nets (), none, none, m_net_by_circuit_and_index, sort_by_expanded_name<db::Net> ());
|
||||
return std::make_pair (attr_by_object_and_index (circuits, index, circuits.first->begin_nets (), circuits.first->end_nets (), none, none, m_net_by_circuit_and_index, sort_by_expanded_name<db::Net> ()), db::NetlistCrossReference::None);
|
||||
}
|
||||
|
||||
const db::Net *
|
||||
|
|
@ -308,25 +308,25 @@ SingleIndexedNetlistModel::net_pinref_from_index (const net_pair &nets, size_t i
|
|||
return attr_by_object_and_index (nets, index, nets.first->begin_pins (), nets.first->end_pins (), none, none, m_pinref_by_net_and_index, sort_by_pin_name<db::NetPinRef> ());
|
||||
}
|
||||
|
||||
IndexedNetlistModel::device_pair
|
||||
std::pair<IndexedNetlistModel::device_pair, IndexedNetlistModel::Status>
|
||||
SingleIndexedNetlistModel::device_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
db::Circuit::const_device_iterator none;
|
||||
return attr_by_object_and_index (circuits, index, circuits.first->begin_devices (), circuits.first->end_devices (), none, none, m_device_by_circuit_and_index, sort_by_expanded_name<db::Device> ());
|
||||
return std::make_pair (attr_by_object_and_index (circuits, index, circuits.first->begin_devices (), circuits.first->end_devices (), none, none, m_device_by_circuit_and_index, sort_by_expanded_name<db::Device> ()), db::NetlistCrossReference::None);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::pin_pair
|
||||
std::pair<IndexedNetlistModel::pin_pair, IndexedNetlistModel::Status>
|
||||
SingleIndexedNetlistModel::pin_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
db::Circuit::const_pin_iterator none;
|
||||
return attr_by_object_and_index (circuits, index, circuits.first->begin_pins (), circuits.first->end_pins (), none, none, m_pin_by_circuit_and_index, sort_by_expanded_name<db::Pin> ());
|
||||
return std::make_pair (attr_by_object_and_index (circuits, index, circuits.first->begin_pins (), circuits.first->end_pins (), none, none, m_pin_by_circuit_and_index, sort_by_expanded_name<db::Pin> ()), db::NetlistCrossReference::None);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::subcircuit_pair
|
||||
std::pair<IndexedNetlistModel::subcircuit_pair, IndexedNetlistModel::Status>
|
||||
SingleIndexedNetlistModel::subcircuit_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
db::Circuit::const_subcircuit_iterator none;
|
||||
return attr_by_object_and_index (circuits, index, circuits.first->begin_subcircuits (), circuits.first->end_subcircuits (), none, none, m_subcircuit_by_circuit_and_index, sort_by_expanded_name<db::SubCircuit> ());
|
||||
return std::make_pair (attr_by_object_and_index (circuits, index, circuits.first->begin_subcircuits (), circuits.first->end_subcircuits (), none, none, m_subcircuit_by_circuit_and_index, sort_by_expanded_name<db::SubCircuit> ()), db::NetlistCrossReference::None);
|
||||
}
|
||||
|
||||
size_t
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#define HDR_layIndexedNetlistModel
|
||||
|
||||
#include "laybasicCommon.h"
|
||||
#include "dbNetlistCrossReference.h" // for Status enum
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
|
@ -53,6 +54,8 @@ namespace lay
|
|||
class LAYBASIC_PUBLIC IndexedNetlistModel
|
||||
{
|
||||
public:
|
||||
typedef db::NetlistCrossReference::Status Status;
|
||||
|
||||
IndexedNetlistModel () { }
|
||||
virtual ~IndexedNetlistModel () { }
|
||||
|
||||
|
|
@ -82,15 +85,15 @@ public:
|
|||
virtual circuit_pair parent_of (const device_pair &device_pair) const = 0;
|
||||
virtual circuit_pair parent_of (const subcircuit_pair &subcircuit_pair) const = 0;
|
||||
|
||||
virtual circuit_pair circuit_from_index (size_t index) const = 0;
|
||||
virtual net_pair net_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual std::pair<circuit_pair, Status> circuit_from_index (size_t index) const = 0;
|
||||
virtual std::pair<net_pair, Status> net_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual const db::Net *second_net_for (const db::Net *first) const = 0;
|
||||
virtual net_subcircuit_pin_pair net_subcircuit_pinref_from_index (const net_pair &nets, size_t index) const = 0;
|
||||
virtual net_terminal_pair net_terminalref_from_index (const net_pair &nets, size_t index) const = 0;
|
||||
virtual net_pin_pair net_pinref_from_index (const net_pair &nets, size_t index) const = 0;
|
||||
virtual device_pair device_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual pin_pair pin_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual subcircuit_pair subcircuit_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual std::pair<device_pair, Status> device_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual std::pair<pin_pair, Status> pin_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
virtual std::pair<subcircuit_pair, Status> subcircuit_from_index (const circuit_pair &circuits, size_t index) const = 0;
|
||||
|
||||
virtual size_t circuit_index (const circuit_pair &circuits) const = 0;
|
||||
virtual size_t net_index (const net_pair &nets) const = 0;
|
||||
|
|
@ -137,16 +140,16 @@ public:
|
|||
virtual circuit_pair parent_of (const net_pair &nets) const;
|
||||
virtual circuit_pair parent_of (const device_pair &devices) const;
|
||||
virtual circuit_pair parent_of (const subcircuit_pair &subcircuits) const;
|
||||
virtual circuit_pair circuit_from_index (size_t index) const;
|
||||
virtual std::pair<circuit_pair, Status> circuit_from_index (size_t index) const;
|
||||
|
||||
virtual net_pair net_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<net_pair, Status> net_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual const db::Net *second_net_for (const db::Net * /*first*/) const;
|
||||
virtual net_subcircuit_pin_pair net_subcircuit_pinref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual net_terminal_pair net_terminalref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual net_pin_pair net_pinref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual device_pair device_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual pin_pair pin_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual subcircuit_pair subcircuit_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<device_pair, Status> device_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<pin_pair, Status> pin_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<subcircuit_pair, Status> subcircuit_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
|
||||
virtual size_t circuit_index (const circuit_pair &circuits) const;
|
||||
virtual size_t net_index (const net_pair &nets) const;
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ HTMLItemDelegate::paint (QPainter *painter, const QStyleOptionViewItem &option,
|
|||
}
|
||||
doc.setTextWidth (m_text_width);
|
||||
doc.setDocumentMargin (m_text_margin);
|
||||
doc.setDefaultFont (option_v4.font);
|
||||
|
||||
option_v4.text = QString ();
|
||||
style->drawControl (QStyle::CE_ItemViewItem, &option_v4, painter);
|
||||
|
|
@ -123,6 +124,8 @@ HTMLItemDelegate::paint (QPainter *painter, const QStyleOptionViewItem &option,
|
|||
ctx.palette.setColor (QPalette::Text, option_v4.palette.color (QPalette::Active, QPalette::HighlightedText));
|
||||
} else if (! is_enabled) {
|
||||
ctx.palette.setColor (QPalette::Text, option_v4.palette.color (QPalette::Disabled, QPalette::Text));
|
||||
} else {
|
||||
ctx.palette.setColor (QPalette::Text, option_v4.palette.color (QPalette::Text));
|
||||
}
|
||||
|
||||
QRect text_rect = style->subElementRect (QStyle::SE_ItemViewItemText, &option_v4);
|
||||
|
|
|
|||
|
|
@ -642,9 +642,21 @@ NetlistBrowserModel::data (const QModelIndex &index, int role) const
|
|||
return QVariant (text (index));
|
||||
} else if (role == Qt::UserRole) {
|
||||
return QVariant (search_text (index));
|
||||
} else {
|
||||
return QVariant ();
|
||||
} else if (role == Qt::FontRole) {
|
||||
db::NetlistCrossReference::Status st = status (index);
|
||||
if (st == db::NetlistCrossReference::NoMatch || st == db::NetlistCrossReference::Mismatch || st == db::NetlistCrossReference::Skipped) {
|
||||
QFont font;
|
||||
font.setWeight (QFont::Bold);
|
||||
return QVariant (font);
|
||||
}
|
||||
} else if (role == Qt::ForegroundRole) {
|
||||
db::NetlistCrossReference::Status st = status (index);
|
||||
if (st == db::NetlistCrossReference::Match || st == db::NetlistCrossReference::MatchWithWarning) {
|
||||
// taken from marker browser:
|
||||
return QVariant (QColor (0, 192, 0));
|
||||
}
|
||||
}
|
||||
return QVariant ();
|
||||
}
|
||||
|
||||
template <class Obj>
|
||||
|
|
@ -1154,7 +1166,7 @@ NetlistBrowserModel::text (const QModelIndex &index) const
|
|||
size_t other_index = circuit_net_subcircuit_pin_other_index_from_id (id);
|
||||
|
||||
IndexedNetlistModel::circuit_pair circuit_refs = circuit_refs_from_subcircuits (subcircuits);
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index);
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index).first;
|
||||
|
||||
if (index.column () == 0) {
|
||||
return make_link_to (pins, circuit_refs);
|
||||
|
|
@ -1247,6 +1259,45 @@ static std::string search_string_from_names (const std::pair<const Obj *, const
|
|||
}
|
||||
}
|
||||
|
||||
db::NetlistCrossReference::Status
|
||||
NetlistBrowserModel::status (const QModelIndex &index) const
|
||||
{
|
||||
void *id = index.internalPointer ();
|
||||
|
||||
if (is_id_circuit (id)) {
|
||||
|
||||
size_t index = circuit_index_from_id (id);
|
||||
return mp_indexer->circuit_from_index (index).second;
|
||||
|
||||
} else if (is_id_circuit_pin (id)) {
|
||||
|
||||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_pin_index_from_id (id);
|
||||
return mp_indexer->pin_from_index (circuits, index).second;
|
||||
|
||||
} else if (is_id_circuit_device (id)) {
|
||||
|
||||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_device_index_from_id (id);
|
||||
return mp_indexer->device_from_index (circuits, index).second;
|
||||
|
||||
} else if (is_id_circuit_subcircuit (id)) {
|
||||
|
||||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_subcircuit_index_from_id (id);
|
||||
return mp_indexer->subcircuit_from_index (circuits, index).second;
|
||||
|
||||
} else if (is_id_circuit_net (id)) {
|
||||
|
||||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_net_index_from_id (id);
|
||||
return mp_indexer->net_from_index (circuits, index).second;
|
||||
|
||||
}
|
||||
|
||||
return db::NetlistCrossReference::None;
|
||||
}
|
||||
|
||||
QString
|
||||
NetlistBrowserModel::search_text (const QModelIndex &index) const
|
||||
{
|
||||
|
|
@ -1324,7 +1375,7 @@ NetlistBrowserModel::search_text (const QModelIndex &index) const
|
|||
IndexedNetlistModel::subcircuit_pair subcircuits = subcircuits_from_pinrefs (pinrefs);
|
||||
IndexedNetlistModel::circuit_pair circuit_refs = circuit_refs_from_subcircuits (subcircuits);
|
||||
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index);
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index).first;
|
||||
IndexedNetlistModel::net_pair nets = nets_from_circuit_pins (circuit_refs, pins);
|
||||
|
||||
return tl::to_qstring (combine_search_strings (search_string_from_names (pins), search_string_from_expanded_names (nets)));
|
||||
|
|
@ -1829,7 +1880,7 @@ NetlistBrowserModel::net_from_index (const QModelIndex &index) const
|
|||
|
||||
IndexedNetlistModel::subcircuit_pair subcircuits = subcircuits_from_pinrefs (pinrefs);
|
||||
IndexedNetlistModel::circuit_pair circuit_refs = circuit_refs_from_subcircuits (subcircuits);
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index);
|
||||
IndexedNetlistModel::pin_pair pins = mp_indexer->pin_from_index (circuit_refs, other_index).first;
|
||||
|
||||
return nets_from_subcircuit_pins (subcircuits, pins);
|
||||
|
||||
|
|
@ -2063,7 +2114,7 @@ std::pair<const db::Circuit *, const db::Circuit *>
|
|||
NetlistBrowserModel::circuits_from_id (void *id) const
|
||||
{
|
||||
size_t index = circuit_index_from_id (id);
|
||||
return mp_indexer->circuit_from_index (index);
|
||||
return mp_indexer->circuit_from_index (index).first;
|
||||
}
|
||||
|
||||
std::pair<const db::Net *, const db::Net *>
|
||||
|
|
@ -2072,7 +2123,7 @@ NetlistBrowserModel::nets_from_id (void *id) const
|
|||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_net_index_from_id (id);
|
||||
|
||||
return mp_indexer->net_from_index (circuits, index);
|
||||
return mp_indexer->net_from_index (circuits, index).first;
|
||||
}
|
||||
|
||||
std::pair<const db::NetSubcircuitPinRef *, const db::NetSubcircuitPinRef *>
|
||||
|
|
@ -2108,7 +2159,7 @@ NetlistBrowserModel::devices_from_id (void *id) const
|
|||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_device_index_from_id (id);
|
||||
|
||||
return mp_indexer->device_from_index (circuits, index);
|
||||
return mp_indexer->device_from_index (circuits, index).first;
|
||||
}
|
||||
|
||||
std::pair<const db::Pin *, const db::Pin *>
|
||||
|
|
@ -2121,7 +2172,7 @@ NetlistBrowserModel::pins_from_id (void *id) const
|
|||
|
||||
size_t index = circuit_subcircuit_pin_index_from_id (id);
|
||||
|
||||
return mp_indexer->pin_from_index (circuit_refs, index);
|
||||
return mp_indexer->pin_from_index (circuit_refs, index).first;
|
||||
|
||||
} else {
|
||||
|
||||
|
|
@ -2129,7 +2180,7 @@ NetlistBrowserModel::pins_from_id (void *id) const
|
|||
|
||||
size_t index = circuit_pin_index_from_id (id);
|
||||
|
||||
return mp_indexer->pin_from_index (circuits, index);
|
||||
return mp_indexer->pin_from_index (circuits, index).first;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -2142,7 +2193,7 @@ NetlistBrowserModel::subcircuits_from_id (void *id) const
|
|||
IndexedNetlistModel::circuit_pair circuits = circuits_from_id (id);
|
||||
size_t index = circuit_subcircuit_index_from_id (id);
|
||||
|
||||
return mp_indexer->subcircuit_from_index (circuits, index);
|
||||
return mp_indexer->subcircuit_from_index (circuits, index).first;
|
||||
|
||||
} else {
|
||||
|
||||
|
|
|
|||
|
|
@ -188,6 +188,7 @@ private:
|
|||
std::pair<const db::SubCircuit *, const db::SubCircuit *> subcircuits_from_id (void *id) const;
|
||||
QString text (const QModelIndex &index) const;
|
||||
QString search_text (const QModelIndex &index) const;
|
||||
db::NetlistCrossReference::Status status (const QModelIndex &index) const;
|
||||
QIcon icon (const QModelIndex &index) const;
|
||||
QString make_link_to (const std::pair<const db::Net *, const db::Net *> &nets, int column = 0) const;
|
||||
QString make_link_to (const std::pair<const db::Device *, const db::Device *> &devices, int column = 0) const;
|
||||
|
|
|
|||
|
|
@ -166,16 +166,19 @@ IndexedNetlistModel::circuit_pair NetlistCrossReferenceModel::parent_of (const I
|
|||
return get_parent_of (subcircuit_pair, mp_cross_ref.get (), m_parents_of_subcircuits);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::circuit_pair NetlistCrossReferenceModel::circuit_from_index (size_t index) const
|
||||
std::pair<IndexedNetlistModel::circuit_pair, NetlistCrossReferenceModel::Status> NetlistCrossReferenceModel::circuit_from_index (size_t index) const
|
||||
{
|
||||
return mp_cross_ref->begin_circuits () [index];
|
||||
IndexedNetlistModel::circuit_pair cp = mp_cross_ref->begin_circuits () [index];
|
||||
const db::NetlistCrossReference::PerCircuitData *data = mp_cross_ref->per_circuit_data_for (cp);
|
||||
tl_assert (data != 0);
|
||||
return std::make_pair (cp, data->status);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::net_pair NetlistCrossReferenceModel::net_from_index (const circuit_pair &circuits, size_t index) const
|
||||
std::pair<IndexedNetlistModel::net_pair, NetlistCrossReferenceModel::Status> NetlistCrossReferenceModel::net_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
const db::NetlistCrossReference::PerCircuitData *data = mp_cross_ref->per_circuit_data_for (circuits);
|
||||
tl_assert (data != 0);
|
||||
return data->nets [index].pair;
|
||||
return std::make_pair (data->nets [index].pair, data->nets [index].status);
|
||||
}
|
||||
|
||||
const db::Net *NetlistCrossReferenceModel::second_net_for (const db::Net *first) const
|
||||
|
|
@ -204,25 +207,25 @@ IndexedNetlistModel::net_pin_pair NetlistCrossReferenceModel::net_pinref_from_in
|
|||
return data->pins [index];
|
||||
}
|
||||
|
||||
IndexedNetlistModel::device_pair NetlistCrossReferenceModel::device_from_index (const circuit_pair &circuits, size_t index) const
|
||||
std::pair<IndexedNetlistModel::device_pair, NetlistCrossReferenceModel::Status> NetlistCrossReferenceModel::device_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
const db::NetlistCrossReference::PerCircuitData *data = mp_cross_ref->per_circuit_data_for (circuits);
|
||||
tl_assert (data != 0);
|
||||
return data->devices [index].pair;
|
||||
return std::make_pair (data->devices [index].pair, data->devices [index].status);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::pin_pair NetlistCrossReferenceModel::pin_from_index (const circuit_pair &circuits, size_t index) const
|
||||
std::pair<IndexedNetlistModel::pin_pair, NetlistCrossReferenceModel::Status> NetlistCrossReferenceModel::pin_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
const db::NetlistCrossReference::PerCircuitData *data = mp_cross_ref->per_circuit_data_for (circuits);
|
||||
tl_assert (data != 0);
|
||||
return data->pins [index].pair;
|
||||
return std::make_pair (data->pins [index].pair, data->pins [index].status);
|
||||
}
|
||||
|
||||
IndexedNetlistModel::subcircuit_pair NetlistCrossReferenceModel::subcircuit_from_index (const circuit_pair &circuits, size_t index) const
|
||||
std::pair<IndexedNetlistModel::subcircuit_pair, NetlistCrossReferenceModel::Status> NetlistCrossReferenceModel::subcircuit_from_index (const circuit_pair &circuits, size_t index) const
|
||||
{
|
||||
const db::NetlistCrossReference::PerCircuitData *data = mp_cross_ref->per_circuit_data_for (circuits);
|
||||
tl_assert (data != 0);
|
||||
return data->subcircuits [index].pair;
|
||||
return std::make_pair (data->subcircuits [index].pair, data->subcircuits [index].status);
|
||||
}
|
||||
|
||||
template <class Pair, class Iter>
|
||||
|
|
|
|||
|
|
@ -58,15 +58,15 @@ public:
|
|||
virtual circuit_pair parent_of (const device_pair &device_pair) const;
|
||||
virtual circuit_pair parent_of (const subcircuit_pair &subcircuit_pair) const;
|
||||
|
||||
virtual circuit_pair circuit_from_index (size_t index) const;
|
||||
virtual net_pair net_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<circuit_pair, Status> circuit_from_index (size_t index) const;
|
||||
virtual std::pair<net_pair, Status> net_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual const db::Net *second_net_for (const db::Net *first) const;
|
||||
virtual net_subcircuit_pin_pair net_subcircuit_pinref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual net_terminal_pair net_terminalref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual net_pin_pair net_pinref_from_index (const net_pair &nets, size_t index) const;
|
||||
virtual device_pair device_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual pin_pair pin_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual subcircuit_pair subcircuit_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<device_pair, Status> device_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<pin_pair, Status> pin_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
virtual std::pair<subcircuit_pair, Status> subcircuit_from_index (const circuit_pair &circuits, size_t index) const;
|
||||
|
||||
virtual size_t circuit_index (const circuit_pair &circuits) const;
|
||||
virtual size_t net_index (const net_pair &nets) const;
|
||||
|
|
|
|||
Loading…
Reference in New Issue