MCPcopy Create free account
hub / github.com/DreamSourceLab/DSView / Search

Method Search

DSView/pv/dialogs/search.cpp:47–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45}
46
47Search::Search(QWidget *parent, SigSession *session, std::map<uint16_t, QString> pattern) :
48 DSDialog(parent),
49 _session(session)
50{
51
52 QFont font("Monaco");
53 font.setStyleHint(QFont::Monospace);
54 font.setFixedPitch(true);
55 //this->setMinimumWidth(350);
56
57 QRegularExpression value_rx("[10XRFCxrfc]+");
58 QValidator *value_validator = new QRegularExpressionValidator(value_rx, this);
59
60 search_buttonBox.addButton(QDialogButtonBox::Ok);
61 search_buttonBox.addButton(QDialogButtonBox::Cancel);
62
63 QGridLayout *search_layout = new QGridLayout();
64 search_layout->setVerticalSpacing(0);
65
66 int index = 0;
67
68 for(auto s : _session->get_signals()) {
69 if (s->signal_type() == SR_CHANNEL_LOGIC) {
70 view::LogicSignal *logicSig = (view::LogicSignal*)s;
71 QLineEdit *search_lineEdit = new SearchEdgeFlagEdit(this);
72 if (pattern.find(logicSig->get_index()) != pattern.end())
73 search_lineEdit->setText(pattern[logicSig->get_index()]);
74 else
75 search_lineEdit->setText("X");
76 search_lineEdit->setValidator(value_validator);
77 search_lineEdit->setMaxLength(1);
78 search_lineEdit->setInputMask("X");
79 search_lineEdit->setFont(font);
80 _search_lineEdit_vec.push_back(search_lineEdit);
81
82 search_layout->addWidget(new QLabel(logicSig->get_name()+":"), index, 0, Qt::AlignRight);
83 search_layout->addWidget(new QLabel(QString::number(logicSig->get_index())), index, 1, Qt::AlignRight);
84 search_layout->addWidget(search_lineEdit, index, 2);
85
86 connect(search_lineEdit, SIGNAL(editingFinished()), this, SLOT(format()));
87
88 index++;
89 }
90 }
91
92 search_layout->addWidget(new QLabel(" "), index,0);
93 //tr
94 search_layout->addWidget(new QLabel(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_SEARCH_LABEL),
95 "X: Don't care\n0: Low level\n1: High level\nR: Rising edge\nF: Falling edge\nC: Rising/Falling edge")), 0, 3, index, 1);
96 search_layout->addWidget(&search_buttonBox, index+1, 3);
97 search_layout->setColumnStretch(3, 100);
98
99 layout()->addLayout(search_layout);
100 setTitle(L_S(STR_PAGE_DLG, S_ID(IDS_DLG_SEARCH_OPTIONS), "Search Options"));
101
102 connect(&search_buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
103 connect(&search_buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
104}

Callers

nothing calls this directly

Calls 4

signal_typeMethod · 0.80
get_nameMethod · 0.80
get_indexMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected