11#include " AddElementDialog.h"
22#include " ElectricalElementsManager.h"
33
4+ // Конструктор
45AddElementDialog::AddElementDialog (QWidget* parent) : QDialog(parent)
56{
6- ui.setupUi (this );
7- ElectricalElementsManager::getInstance ().fillElementsList (ui.elementsListWidget );
7+ ui.setupUi (this );
8+ ElectricalElementsManager::getInstance ().fillElementsList (ui.elementsListWidget );
89}
910
11+ // Выбор элемента в списке
1012void AddElementDialog::on_elementsListWidget_itemSelectionChanged ()
1113{
12- ui.elementPropertiesTableWidget ->clear ();
13- const auto & v = ui.elementsListWidget ->selectedItems ();
14- if (!v.empty ())
15- {
16- int row = ui.elementsListWidget ->row (v[0 ]);
17- ElectricalElementsManager::getInstance ().fillPropertiesTable (ui.elementPropertiesTableWidget , row);
18- }
14+ // Очистка таблицы свойств
15+ ui.elementPropertiesTableWidget ->clear ();
16+ const auto & v = ui.elementsListWidget ->selectedItems ();
17+ if (!v.empty ())
18+ {
19+ // Если есть выбранный элемент, то заполнить таблицу свойств
20+ int row = ui.elementsListWidget ->row (v[0 ]);
21+ ElectricalElementsManager::getInstance ().fillPropertiesTable (ui.elementPropertiesTableWidget , row);
22+ }
1923}
2024
25+ // Нажатие кнопки "ОК"
2126void AddElementDialog::on_okButton_clicked ()
2227{
23- const auto & v = ui.elementsListWidget ->selectedItems ();
24- if (v.empty ())
25- {
26- elementIndex = -1 ;
27- elementProperties.clear ();
28- }
29- else
30- {
31- elementIndex = ui.elementsListWidget ->row (v[0 ]);
32- elementProperties.clear ();
33- elementProperties.reserve (ui.elementPropertiesTableWidget ->rowCount ());
34- for (int i = 0 ; i < ui.elementPropertiesTableWidget ->rowCount (); i++)
35- elementProperties.push_back (ui.elementPropertiesTableWidget ->item (i, 1 )->text ());
36- }
37- accept ();
28+ const auto & v = ui.elementsListWidget ->selectedItems ();
29+ // Если нет выбранного элемента
30+ if (v.empty ())
31+ {
32+ elementIndex = -1 ;
33+ elementProperties.clear ();
34+ }
35+ else
36+ {
37+ // Если есть, то заполнить номер и свойства
38+ elementIndex = ui.elementsListWidget ->row (v[0 ]);
39+ elementProperties.clear ();
40+ elementProperties.reserve (ui.elementPropertiesTableWidget ->rowCount ());
41+ for (int i = 0 ; i < ui.elementPropertiesTableWidget ->rowCount (); i++)
42+ elementProperties.push_back (ui.elementPropertiesTableWidget ->item (i, 1 )->text ());
43+ }
44+ accept ();
3845}
0 commit comments