@@ -163,7 +163,7 @@ namespace hal {
163163 mSpinPeriod = new QSpinBox (this );
164164 mSpinPeriod ->setMinimum (0 );
165165 mSpinPeriod ->setMaximum (1000000 );
166- mSpinPeriod ->setValue (10 );
166+ mSpinPeriod ->setValue (1000 );
167167 layout->addWidget (mSpinPeriod ,1 ,1 );
168168
169169 layout->addWidget (new QLabel (" Start value:" ,this ),2 ,0 );
@@ -175,8 +175,8 @@ namespace hal {
175175 layout->addWidget (new QLabel (" Duration:" ,this ),3 ,0 );
176176 mSpinDuration = new QSpinBox (this );
177177 mSpinDuration ->setMinimum (0 );
178- mSpinDuration ->setMaximum (1000000 );
179- mSpinDuration ->setValue (2000 );
178+ mSpinDuration ->setMaximum (10000000 );
179+ mSpinDuration ->setValue (100000 );
180180 layout->addWidget (mSpinDuration ,3 ,1 );
181181
182182 mDontUseClock = new QCheckBox (" Do not use clock generator in simulation" ,this );
@@ -754,6 +754,8 @@ namespace hal {
754754
755755 mButAll = new QPushButton (" Wave data for all nets" , this );
756756 layout->addWidget (mButAll ,0 ,0 );
757+ mButGui = new QPushButton (" Only nets selected in GUI" , this );
758+ layout->addWidget (mButGui ,0 ,1 );
757759 mButNone = new QPushButton (" Clear selection" , this );
758760 layout->addWidget (mButNone ,0 ,2 );
759761
@@ -764,7 +766,7 @@ namespace hal {
764766 mTableView ->setModel (mProxyModel );
765767 mTableView ->setSortingEnabled (true );
766768 mTableView ->setSelectionBehavior (QAbstractItemView::SelectRows);
767- mTableView ->setSelectionMode (QAbstractItemView::MultiSelection );
769+ mTableView ->setSelectionMode (QAbstractItemView::ExtendedSelection );
768770 QHeaderView* hv = mTableView ->horizontalHeader ();
769771 hv->setSectionResizeMode (0 ,QHeaderView::Interactive);
770772 hv->setSectionResizeMode (1 ,QHeaderView::Stretch);
@@ -773,11 +775,31 @@ namespace hal {
773775 mTableView ->setColumnWidth (1 ,256 );
774776 mTableView ->setColumnWidth (2 ,36 );
775777 connect (mButAll ,&QPushButton::clicked,mTableView ,&QTableView::selectAll);
778+ connect (mButGui ,&QPushButton::clicked,this ,&PageLoadResults::useGuiSelection);
776779 connect (mButNone ,&QPushButton::clicked,mTableView ,&QTableView::clearSelection);
777780
778781 layout->addWidget (mTableView ,1 ,0 ,1 ,3 );
779782 }
780783
784+ void PageLoadResults::useGuiSelection ()
785+ {
786+ QSet<u32 > guiNetSel = gSelectionRelay ->selectedNets ();
787+
788+ const QAbstractItemModel* modl = mTableView ->model (); // proxy model
789+ int nrows = modl->rowCount ();
790+ mTableView ->clearSelection ();
791+
792+ bool ok;
793+
794+ for (int irow = 0 ; irow<nrows; irow++)
795+ {
796+ u32 gid = modl->data (modl->index (irow,0 )).toUInt (&ok);
797+ if (!ok) continue ;
798+ if (guiNetSel.contains (gid))
799+ mTableView ->selectRow (irow);
800+ }
801+ }
802+
781803 bool PageLoadResults::validatePage ()
782804 {
783805 QList<QModelIndex> selIndexList;
0 commit comments