mirror of https://github.com/KLayout/klayout.git
WIP: prepared dual mode for netlist browser.
This commit is contained in:
parent
6b7e4c2713
commit
a433361c53
File diff suppressed because it is too large
Load Diff
|
|
@ -123,11 +123,13 @@ public:
|
|||
|
||||
QModelIndex index_from_id (void *id, int column) const;
|
||||
|
||||
const db::Net *net_from_index (const QModelIndex &index) const;
|
||||
std::pair<const db::Net *, const db::Net *> net_from_index (const QModelIndex &index) const;
|
||||
QModelIndex index_from_net (const std::pair<const db::Net *, const db::Net *> &net) const;
|
||||
QModelIndex index_from_net (const db::Net *net) const;
|
||||
|
||||
const db::SubCircuit *subcircuit_from_index (const QModelIndex &index) const;
|
||||
const db::Device *device_from_index (const QModelIndex &index) const;
|
||||
std::pair<const db::SubCircuit *, const db::SubCircuit *> subcircuit_from_index (const QModelIndex &index) const;
|
||||
|
||||
std::pair<const db::Device *, const db::Device *> device_from_index (const QModelIndex &index) const;
|
||||
|
||||
private slots:
|
||||
void colors_changed ();
|
||||
|
|
@ -174,30 +176,30 @@ private:
|
|||
size_t circuit_net_subcircuit_pin_other_index_from_id (void *id) const;
|
||||
size_t circuit_net_device_terminal_index_from_id (void *id) const;
|
||||
size_t circuit_net_device_terminal_other_index_from_id (void *id) const;
|
||||
const db::Circuit *circuit_from_id (void *id) const;
|
||||
const db::Net *net_from_id (void *id) const;
|
||||
const db::NetSubcircuitPinRef *net_subcircuit_pinref_from_id (void *id) const;
|
||||
const db::NetTerminalRef *net_terminalref_from_id (void *id) const;
|
||||
const db::NetPinRef *net_pinref_from_id (void *id) const;
|
||||
const db::Device *device_from_id (void *id) const;
|
||||
const db::Pin *pin_from_id (void *id) const;
|
||||
const db::SubCircuit *subcircuit_from_id (void *id) const;
|
||||
std::pair<const db::Circuit *, const db::Circuit *> circuits_from_id (void *id) const;
|
||||
std::pair<const db::Net *, const db::Net *> nets_from_id (void *id) const;
|
||||
std::pair<const db::NetSubcircuitPinRef *, const db::NetSubcircuitPinRef *> net_subcircuit_pinrefs_from_id (void *id) const;
|
||||
std::pair<const db::NetTerminalRef *, const db::NetTerminalRef *> net_terminalrefs_from_id (void *id) const;
|
||||
std::pair<const db::NetPinRef *, const db::NetPinRef *> net_pinrefs_from_id (void *id) const;
|
||||
std::pair<const db::Device *, const db::Device *> devices_from_id (void *id) const;
|
||||
std::pair<const db::Pin *, const db::Pin *> pins_from_id (void *id) const;
|
||||
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;
|
||||
QIcon icon (const QModelIndex &index) const;
|
||||
QString make_link_to (const db::Net *net) const;
|
||||
QString make_link_to (const db::Device *device) const;
|
||||
QString make_link_to (const db::Pin *pin, const db::Circuit *circuit) const;
|
||||
QString make_link_to (const db::Circuit *circuit) const;
|
||||
QString make_link_to (const db::SubCircuit *sub_circuit) const;
|
||||
QString make_link_to (const std::pair<const db::Net *, const db::Net *> &nets) const;
|
||||
QString make_link_to (const std::pair<const db::Device *, const db::Device *> &devices) const;
|
||||
QString make_link_to (const std::pair<const db::Pin *, const db::Pin *> &pins, const std::pair<const db::Circuit *, const db::Circuit *> &circuits) const;
|
||||
QString make_link_to (const std::pair<const db::Circuit *, const db::Circuit *> &circuits) const;
|
||||
QString make_link_to (const std::pair<const db::SubCircuit *, const db::SubCircuit *> &sub_circuits) const;
|
||||
|
||||
db::Netlist *netlist () const
|
||||
std::pair<const db::Netlist *, const db::Netlist *> netlists () const
|
||||
{
|
||||
return const_cast<db::Netlist *> (mp_l2ndb->netlist ());
|
||||
return std::pair<const db::Netlist *, const db::Netlist *> (mp_l2ndb->netlist (), 0);
|
||||
}
|
||||
|
||||
QIcon icon_for_net (const db::Net *net) const;
|
||||
QIcon icon_for_connection (const db::Net *net) const;
|
||||
QIcon icon_for_nets (const std::pair<const db::Net *, const db::Net *> &net) const;
|
||||
QIcon icon_for_connection (const std::pair<const db::Net *, const db::Net *> &net) const;
|
||||
|
||||
db::LayoutToNetlist *mp_l2ndb;
|
||||
NetColorizer *mp_colorizer;
|
||||
|
|
|
|||
|
|
@ -320,7 +320,7 @@ NetlistBrowserPage::selected_nets ()
|
|||
QModelIndexList selection = directory_tree->selectionModel ()->selectedIndexes ();
|
||||
for (QModelIndexList::const_iterator i = selection.begin (); i != selection.end (); ++i) {
|
||||
if (i->column () == 0) {
|
||||
const db::Net *net = model->net_from_index (*i);
|
||||
const db::Net *net = model->net_from_index (*i).first;
|
||||
if (net) {
|
||||
nets.push_back (net);
|
||||
}
|
||||
|
|
@ -341,7 +341,7 @@ NetlistBrowserPage::selected_subcircuits ()
|
|||
QModelIndexList selection = directory_tree->selectionModel ()->selectedIndexes ();
|
||||
for (QModelIndexList::const_iterator i = selection.begin (); i != selection.end (); ++i) {
|
||||
if (i->column () == 0) {
|
||||
const db::SubCircuit *subcircuit = model->subcircuit_from_index (*i);
|
||||
const db::SubCircuit *subcircuit = model->subcircuit_from_index (*i).first;
|
||||
if (subcircuit) {
|
||||
subcircuits.push_back (subcircuit);
|
||||
}
|
||||
|
|
@ -362,7 +362,7 @@ NetlistBrowserPage::selected_devices ()
|
|||
QModelIndexList selection = directory_tree->selectionModel ()->selectedIndexes ();
|
||||
for (QModelIndexList::const_iterator i = selection.begin (); i != selection.end (); ++i) {
|
||||
if (i->column () == 0) {
|
||||
const db::Device *device = model->device_from_index (*i);
|
||||
const db::Device *device = model->device_from_index (*i).first;
|
||||
if (device) {
|
||||
devices.push_back (device);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue