@@ -1058,6 +1058,7 @@ TimingControlsDialog::TimingControlsDialog(QWidget* parent)
10581058 path_count_spin_box_(new QSpinBox(this )),
10591059 corner_box_(new QComboBox(this )),
10601060 unconstrained_(new QCheckBox(this )),
1061+ one_path_per_endpoint_(new QCheckBox(this )),
10611062 expand_clk_(new QCheckBox(this )),
10621063 from_(new PinSetWidget(false , this )),
10631064 thru_({}),
@@ -1078,6 +1079,7 @@ TimingControlsDialog::TimingControlsDialog(QWidget* parent)
10781079
10791080 setUnconstrained (false );
10801081 layout_->addRow (" Unconstrained:" , unconstrained_);
1082+ layout_->addRow (" One path per endpoint:" , one_path_per_endpoint_);
10811083
10821084 setLayout (layout_);
10831085
@@ -1088,6 +1090,10 @@ TimingControlsDialog::TimingControlsDialog(QWidget* parent)
10881090 sta_->setIncludeUnconstrainedPaths (unconstrained_->checkState ()
10891091 == Qt::Checked);
10901092 });
1093+ connect (one_path_per_endpoint_, &QCheckBox::stateChanged, [this ]() {
1094+ sta_->setOnePathPerEndpoint (one_path_per_endpoint_->checkState ()
1095+ == Qt::Checked);
1096+ });
10911097
10921098 connect (corner_box_,
10931099 QOverload<int >::of (&QComboBox::currentIndexChanged),
@@ -1132,6 +1138,12 @@ void TimingControlsDialog::setSTA(sta::dbSta* sta)
11321138 to_->setSTA (sta_->getSTA ());
11331139}
11341140
1141+ void TimingControlsDialog::setOnePathPerEndpoint (bool value)
1142+ {
1143+ sta_->setOnePathPerEndpoint (value);
1144+ one_path_per_endpoint_->setCheckState (value ? Qt::Checked : Qt::Unchecked);
1145+ }
1146+
11351147void TimingControlsDialog::setUnconstrained (bool unconstrained)
11361148{
11371149 sta_->setIncludeUnconstrainedPaths (unconstrained);
0 commit comments