10 #include <QApplication>
13 #include <QHeaderView>
61 mEndpointModel->
clear();
80 menu.
addAction(
"Gate pin name to clipboard", [pin](){
84 QString pythonCommand =
"netlist.get_gate_by_id(" + gateIDStr +
").%1(\"" + pin +
"\")";
85 pythonCommand = (mEndpointModel->
getType() == EndpointTableModel::Type::source) ? pythonCommand.
arg(
"get_fan_out_endpoint") : pythonCommand.
arg(
"get_fan_in_endpoint");
87 menu.
addAction(
QIcon(
":/icons/python"),
"Extract endpoint as python code (copy to clipboard)", [pythonCommand](){
94 {}, std::vector<u32>({gateID}), {});
99 void NetEndpointTable::fitSizeToContent()
105 int rows = mEndpointModel->
rowCount();
116 for (
int i = 0; i < columns; i++)
120 for (
int i = 0; i < rows; i++)
132 void NetEndpointTable::addSourceOurDestinationToSelection(
u32 gateID,
QString pin,
bool clearSelection)
141 std::vector<std::string>
pins;
144 if (mEndpointModel->
getType() == EndpointTableModel::Type::source)
146 pins = gate->get_type()->get_output_pin_names();
151 pins = gate->get_type()->get_input_pin_names();
A model to display endpoint data.
u32 getGateIDFromIndex(const QModelIndex &index)
QString getPinNameFromIndex(const QModelIndex &index)
int rowCount(const QModelIndex &parent=QModelIndex()) const override
int columnCount(const QModelIndex &parent=QModelIndex()) const override
static void addPluginSubmenus(QMenu *contextMenu, Netlist *netlist, const std::vector< u32 > &modules, const std::vector< u32 > &gates, const std::vector< u32 > &nets)
void handleContextMenuRequested(const QPoint &pos)
void updateText(const QString &text)
NetEndpointTable(EndpointTableModel *model, QWidget *parent=nullptr)
Gate * get_gate_by_id(const u32 gate_id) const
Net * get_net_by_id(u32 net_id) const
void setFocus(ItemType ftype, u32 fid, Subfocus sfoc=Subfocus::None, u32 sfinx=0)
void relaySelectionChanged(void *sender)
SelectionRelay * gSelectionRelay
std::vector< PinInformation > pins
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)
void setSelectionMode(QAbstractItemView::SelectionMode mode)
void setText(const QString &text, QClipboard::Mode mode)
bool isValid() const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
QString number(int n, int base)
QString toLower() const const
std::string toStdString() const const
int columnWidth(int column) const const
virtual QModelIndex indexAt(const QPoint &pos) const const override
void resizeColumnsToContents()
void resizeRowsToContents()
int rowHeight(int row) const const
virtual void setModel(QAbstractItemModel *model) override