13#ifndef OPENSWMMVIS_UI_DIALOGS_SUBLAYERTABHELPERS_H
14#define OPENSWMMVIS_UI_DIALOGS_SUBLAYERTABHELPERS_H
19#include <QDoubleSpinBox>
36 const QString &suffix = QString())
38 auto *
s =
new QDoubleSpinBox(
parent);
40 s->setSingleStep(
step);
42 if (!suffix.isEmpty())
s->setSuffix(suffix);
60 const QString &showLabel)
62 auto *row =
new QWidget(
parent);
63 auto *form =
new QFormLayout(row);
64 form->setContentsMargins(0, 0, 0, 0);
66 auto *show =
new QCheckBox(showLabel, row);
67 show->setChecked(
sub &&
sub->isVisible());
68 form->addRow(QString(), show);
70 auto *opacity =
makeDSpin(row, 0.0, 1.0, 0.05, 2,
71 sub ?
double(
sub->opacity()) : 1.0);
72 form->addRow(QObject::tr(
"Opacity:"), opacity);
75 QObject::connect(show, &QCheckBox::toggled,
sub,
76 [
sub](
bool on) {
sub->setVisible(on); });
77 QObject::connect(opacity, qOverload<double>(&QDoubleSpinBox::valueChanged),
One toggleable visual aspect of a results / model layer.
Definition isublayer.h:87
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
Toggleable visual aspect of an output layer.
std::vector< std::array< int, 3 > > sub
sub-triangle fan
Definition mesh2dresultsexport.cpp:107
double step
Definition meshcellparams.cpp:28
int decimals
Definition meshcellparams.cpp:30
int a
Definition meshquadmatch.cpp:46
Definition openswmmvislayer.h:43
QDoubleSpinBox * makeDSpin(QWidget *parent, double lo, double hi, double step, int decimals, double value, const QString &suffix=QString())
Definition sublayertabhelpers.h:34
constexpr int kComboMinWidthPx
Definition sublayertabhelpers.h:32
QWidget * makeSublayerHeader(QWidget *parent, OpenSWMM::Render::ISublayer *sub, const QString &showLabel)
Definition sublayertabhelpers.h:59
QSpinBox * makeSpin(QWidget *parent, int lo, int hi, int value)
Definition sublayertabhelpers.h:48
constexpr int kSpinMinWidthPx
Definition sublayertabhelpers.h:31
QVector< int > parent
union-find
Definition pslgminsize.cpp:176