QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
autonumberingdockwidget.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2026 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef AUTONUMBERINGDOCKWIDGET_H
19#define AUTONUMBERINGDOCKWIDGET_H
20
21#include "../../projectview.h"
22#include "../../qetproject.h"
23
24#include <QDockWidget>
25
26class QComboBox;
27class QLineEdit;
28class QSpinBox;
29
30namespace Ui {
32}
33
34class AutoNumberingDockWidget : public QDockWidget
35{
36 Q_OBJECT
37
38 public:
39 explicit AutoNumberingDockWidget(QWidget *parent = nullptr);
40 ~AutoNumberingDockWidget() override;
41
42 void setContext();
44
45 public slots:
46 void setActive();
48
49 private slots:
56 void clear();
57 void projectClosed();
58 void refreshValueFields();
59
61
65
69
73
74 signals:
75
76 private:
78
82 struct Row
83 {
84 QComboBox *combo;
85 QLineEdit *value;
86 QSpinBox *increase;
87 QLineEdit *next;
88 };
89 Row rowFor(AutoNumCategory category) const;
90
97 void resetAutoNum(QComboBox *combo_box, AutoNumCategory category);
98
100 NumerotationContext contextFor(QComboBox *combo_box, AutoNumCategory category) const;
101 void storeContext(QComboBox *combo_box, AutoNumCategory category, const NumerotationContext &context);
102
106 static int counterIndex(const NumerotationContext &context);
107
109 void refreshValueField(QComboBox *combo_box, QLineEdit *line_edit, AutoNumCategory category);
110 void applyValueField(QComboBox *combo_box, QLineEdit *line_edit, AutoNumCategory category);
111
113 void refreshIncreaseField(QComboBox *combo_box, QSpinBox *increase_sb, AutoNumCategory category);
114 void applyIncreaseField(QComboBox *combo_box, QSpinBox *increase_sb, AutoNumCategory category);
115
121 void refreshNextField(QComboBox *combo_box, QLineEdit *next_edit, AutoNumCategory category);
122
127 void refreshRow(AutoNumCategory category);
128
129 Ui::AutoNumberingDockWidget *ui;
132
133};
134
135#endif // AUTONUMBERINGDOCKWIDGET_H
Definition autonumberingdockwidget.h:35
static int counterIndex(const NumerotationContext &context)
AutoNumberingDockWidget::counterIndex.
Definition autonumberingdockwidget.cpp:453
void elementAutoNumChanged()
AutoNumberingDockWidget::elementAutoNumChanged Add new or remove element auto num from combobox.
Definition autonumberingdockwidget.cpp:288
void on_m_folio_value_le_editingFinished()
Definition autonumberingdockwidget.cpp:395
void projectClosed()
Definition autonumberingdockwidget.cpp:96
void setConductorActive(DiagramView *)
AutoNumberingDockWidget::setConductorActive.
Definition autonumberingdockwidget.cpp:214
void refreshRow(AutoNumCategory category)
AutoNumberingDockWidget::refreshRow Refresh a category's value, increment and next-value preview toge...
Definition autonumberingdockwidget.cpp:639
void on_m_conductor_cb_activated(int)
AutoNumberingDockWidget::on_m_conductor_cb_activated Set new conductor AutoNum.
Definition autonumberingdockwidget.cpp:274
void folioAutoNumChanged()
AutoNumberingDockWidget::folioAutoNumChanged Add new or remove folio auto num from combobox.
Definition autonumberingdockwidget.cpp:317
void on_m_element_value_le_editingFinished()
Definition autonumberingdockwidget.cpp:390
NumerotationContext contextFor(QComboBox *combo_box, AutoNumCategory category) const
Read/write the numerotation context named in combo_box.
Definition autonumberingdockwidget.cpp:419
void conductorAutoNumChanged()
AutoNumberingDockWidget::conductorAutoNumChanged Add new or remove conductor auto num from combobox.
Definition autonumberingdockwidget.cpp:256
QETProject * m_project
Definition autonumberingdockwidget.h:130
void setContext()
AutoNumberingDockWidget::setContext Add all itens to comboboxes.
Definition autonumberingdockwidget.cpp:172
void on_m_folio_increase_sb_valueChanged(int)
Definition autonumberingdockwidget.cpp:410
void on_m_conductor_reset_start_pb_clicked()
Definition autonumberingdockwidget.cpp:370
void on_m_element_cb_activated(int)
AutoNumberingDockWidget::on_m_element_cb_activated Set new element AutoNum.
Definition autonumberingdockwidget.cpp:306
Row rowFor(AutoNumCategory category) const
AutoNumberingDockWidget::rowFor.
Definition autonumberingdockwidget.cpp:80
void on_m_folio_cb_activated(int)
AutoNumberingDockWidget::on_m_folio_cb_activated Set new folio AutoNum.
Definition autonumberingdockwidget.cpp:335
void on_m_element_increase_sb_valueChanged(int)
Definition autonumberingdockwidget.cpp:405
void setProject(QETProject *, ProjectView *)
AutoNumberingDockWidget::setProject.
Definition autonumberingdockwidget.cpp:110
void setActive()
AutoNumberingDockWidget::setActive Set current used autonumberings.
Definition autonumberingdockwidget.cpp:226
~AutoNumberingDockWidget() override
AutoNumberingDockWidget::~AutoNumberingDockWidget Destructor.
Definition autonumberingdockwidget.cpp:53
Ui::AutoNumberingDockWidget * ui
Definition autonumberingdockwidget.h:129
void on_m_configure_pb_clicked()
Definition autonumberingdockwidget.cpp:360
void on_m_element_reset_start_pb_clicked()
Definition autonumberingdockwidget.cpp:375
void on_m_conductor_increase_sb_valueChanged(int)
Definition autonumberingdockwidget.cpp:400
void refreshIncreaseField(QComboBox *combo_box, QSpinBox *increase_sb, AutoNumCategory category)
Refresh/apply the increment spin box the same way.
Definition autonumberingdockwidget.cpp:551
ProjectView * m_project_view
Definition autonumberingdockwidget.h:131
void on_m_conductor_value_le_editingFinished()
Definition autonumberingdockwidget.cpp:385
void refreshNextField(QComboBox *combo_box, QLineEdit *next_edit, AutoNumCategory category)
AutoNumberingDockWidget::refreshNextField Show what this counter will read after one more step (bug #...
Definition autonumberingdockwidget.cpp:605
void refreshValueField(QComboBox *combo_box, QLineEdit *line_edit, AutoNumCategory category)
Refresh a value field from its context, and apply a typed value.
Definition autonumberingdockwidget.cpp:503
void applyIncreaseField(QComboBox *combo_box, QSpinBox *increase_sb, AutoNumCategory category)
AutoNumberingDockWidget::applyIncreaseField Write the spin box's step size to the counter it displays...
Definition autonumberingdockwidget.cpp:577
void applyValueField(QComboBox *combo_box, QLineEdit *line_edit, AutoNumCategory category)
AutoNumberingDockWidget::applyValueField Write the value typed in line_edit to the counter it display...
Definition autonumberingdockwidget.cpp:524
AutoNumberingDockWidget(QWidget *parent=nullptr)
AutoNumberingDockWidget::AutoNumberingDockWidget Constructor.
Definition autonumberingdockwidget.cpp:41
void storeContext(QComboBox *combo_box, AutoNumCategory category, const NumerotationContext &context)
AutoNumberingDockWidget::storeContext Write context back under the name selected in combo_box and fla...
Definition autonumberingdockwidget.cpp:436
void refreshValueFields()
AutoNumberingDockWidget::refreshValueFields Re-read all three value fields from the project....
Definition autonumberingdockwidget.cpp:479
void on_m_folio_reset_start_pb_clicked()
Definition autonumberingdockwidget.cpp:380
AutoNumCategory
Definition autonumberingdockwidget.h:77
@ Folio
Definition autonumberingdockwidget.h:77
void clear()
AutoNumberingDockWidget::clear Remove all combo box values.
Definition autonumberingdockwidget.cpp:63
void resetAutoNum(QComboBox *combo_box, AutoNumCategory category)
resetAutoNum Reset the numerotation context currently selected in combo_box (for the given category) ...
Definition autonumberingdockwidget.cpp:662
Definition conductor.h:44
Definition diagramview.h:39
Definition element.h:44
Definition numerotationcontext.h:31
The ProjectView class This class provides a widget displaying the diagrams of a particular project us...
Definition projectview.h:80
Definition qetproject.h:77
Definition autonumberingdockwidget.h:30
Definition autonumberingdockwidget.h:83
QSpinBox * increase
Definition autonumberingdockwidget.h:86
QLineEdit * value
Definition autonumberingdockwidget.h:85
QLineEdit * next
Definition autonumberingdockwidget.h:87
QComboBox * combo
Definition autonumberingdockwidget.h:84