19 #include "ui_replaceconductordialog.h" 23 #include <QColorDialog> 53 const QRect pixmap_rect(0, 0, 96, 96);
54 QPixmap pixmap(pixmap_rect.width(), pixmap_rect.height());
56 painter.begin(&pixmap);
57 painter.eraseRect(pixmap_rect);
58 painter.drawRect(pixmap_rect.adjusted(0,0,-1,-1));
59 painter.drawLine(QLineF(0, pixmap_rect.height() / 2, pixmap_rect.width(), pixmap_rect.height() / 2));
68 ui -> m_preview_label -> setPixmap(pixmap);
76 ui->m_singlewire_gb->setChecked(
true);
78 ui->m_multi_gb->setChecked(
true);
87 case Qt::AlignLeft:
ui->m_vertical_align_cb->setCurrentIndex(1);
break;
88 case Qt::AlignRight:
ui->m_vertical_align_cb->setCurrentIndex(2);
break;
89 default:
ui->m_vertical_align_cb->setCurrentIndex(0);
break;
92 case Qt::AlignTop:
ui->m_horizontal_align_cb->setCurrentIndex(1);
break;
93 case Qt::AlignBottom:
ui->m_horizontal_align_cb->setCurrentIndex(2);
break;
94 default:
ui->m_horizontal_align_cb->setCurrentIndex(0);
break;
101 ui->m_mod_color_cb->setChecked(
true);
105 ui->m_line_style_cb->setCurrentIndex(index);
111 ui->m_mod_color_2_cb->setChecked(
true);
131 if (
ui->m_multi_gb->isChecked()) {
137 properties_.
text_size =
ui->m_text_size_sb->value();
139 properties_.
text =
ui->m_text_le->text();
143 switch (
ui->m_vertical_align_cb->currentIndex()) {
149 switch (
ui->m_horizontal_align_cb->currentIndex()) {
157 properties_.
color =
ui->m_mod_color_cb->isChecked() ?
ui->m_color_pb->palette().color(QPalette::Button) : QColor();
158 properties_.
style =
ui->m_line_style_cb->itemData(
ui->m_line_style_cb->currentIndex()).value<QPen>().style();
159 properties_.
cond_size =
ui->m_cond_size_sb->value();
160 properties_.
m_bicolor =
ui->m_second_color_gb->isChecked();
161 properties_.
m_color_2 =
ui->m_mod_color_2_cb->isChecked() ?
ui->m_color_2_pb->palette().color(QPalette::Button) : QColor();
162 properties_.
m_dash_size =
ui->m_color_2_dash_size_sb->value();
174 connect(
ui->m_button_box, &QDialogButtonBox::clicked, [
this](QAbstractButton *button_) {
175 this->done(ui->m_button_box->buttonRole(button_));
178 ui->m_update_preview_pb->setHidden(
true);
180 ui->m_line_style_cb->addItem(
tr(
"Ne pas modifier"), QPen(Qt::NoPen));
181 ui->m_line_style_cb->addItem(
tr(
"Trait plein",
"conductor style: solid line"), QPen(Qt::SolidLine));
182 ui->m_line_style_cb->addItem(
tr(
"Trait en pointillés",
"conductor style: dashed line"), QPen(Qt::DashLine));
183 ui->m_line_style_cb->addItem(
tr(
"Traits et points",
"conductor style: dashed and dotted line"), QPen(Qt::DashDotLine));
185 connect(
ui->m_multi_gb, &QGroupBox::toggled, [
this](
bool toggle) {this->ui->m_singlewire_gb->setChecked(!toggle);});
186 connect(
ui->m_singlewire_gb, &QGroupBox::toggled, [
this](
bool toggle) {this->ui->m_multi_gb->setChecked(!toggle);});
187 connect(
ui->m_formula_le, &QLineEdit::textChanged, [
this](QString text) {this->ui->m_text_le->setEnabled(text.isEmpty());});
188 ui->m_multi_gb->setChecked(
true);
189 ui->m_singlewire_gb->setChecked(
true);
195 palette.setColor(QPalette::Button, color);
196 ui->m_color_pb->setStyleSheet(QString(
"background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
202 palette.setColor(QPalette::Button, color);
203 ui->m_color_2_pb->setStyleSheet(QString(
"background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
209 ui->m_formula_le->setDisabled(
ui->m_erase_formula_cb->isChecked());
215 ui->m_text_le->setDisabled(
ui->m_erase_text_cb->isChecked());
221 ui->m_function_le->setDisabled(
ui->m_erase_function_cb->isChecked());
227 ui->m_tension_protocol_le->setDisabled(
ui->m_erase_tension_protocol_cb->isChecked());
232 if (checked &&
ui->m_neutral_cb -> isChecked()) {
233 ui -> m_pen_cb -> setEnabled(
true);
235 ui -> m_pen_cb -> setDisabled(
true);
241 if (checked &&
ui->m_earth_cb->isChecked()) {
242 ui->m_pen_cb->setEnabled(
true);
244 ui->m_pen_cb->setDisabled(
true);
255 if (color.isValid()) {
263 if (color.isValid()) {
bool hasGround
Whether the singleline conductor should display the ground symbol.
Qt::Alignment m_vertical_alignment
unsigned short int phasesCount()
void on_m_earth_cb_toggled(bool checked)
void on_m_erase_formula_cb_clicked()
SingleLineProperties singleLineProperties
void setColorButton2(const QColor &color)
Qt::Alignment m_horizontal_alignment
Ui::ReplaceConductorDialog * ui
ReplaceConductorDialog(const ConductorProperties &properties, QWidget *parent=0)
ReplaceConductorDialog::ReplaceConductorDialog.
void on_m_update_preview_pb_clicked()
void updatePreview(bool b=true)
ReplaceConductorDialog::updatePreview Update the preview for single line.
The ReplaceConductorDialog class A Qdialog to edit a conductor properties, use for the search and rep...
static QString eraseText()
bool hasNeutral
Whether the singleline conductor should display the neutral symbol.
void setColorButton(const QColor &color)
void setProperties(const ConductorProperties &properties)
void on_m_color_pb_clicked()
ConductorProperties m_properties
static void setupLineEdit(QLineEdit *l, QCheckBox *cb, QString str)
SearchAndReplaceWorker::setupLineEdit With search and replace, when the variable to edit is a text...
~ReplaceConductorDialog()
QString m_tension_protocol
The SearchAndReplaceWorker class This class is the worker use to change properties when use the searc...
void on_m_color_2_pb_clicked()
bool is_pen
Protective Earth Neutral: visually merge neutral and ground.
SearchAndReplaceWorker sarw
void on_m_erase_text_cb_clicked()
void on_m_neutral_cb_toggled(bool checked)
void on_m_erase_tension_protocol_cb_clicked()
void on_m_erase_function_cb_clicked()
void draw(QPainter *, QET::ConductorSegmentType, const QRectF &)
ConductorProperties properties() const
ReplaceConductorDialog::properties.