Power System Platform  2026w10a-beta
Loading...
Searching...
No Matches
SwitchingForm Class Reference

Form to edit the switching data of power elements for electromechanical transient studies. More...

#include <SwitchingForm.h>

Inheritance diagram for SwitchingForm:
Collaboration diagram for SwitchingForm:

Public Member Functions

 SwitchingForm (wxWindow *parent)
 
 SwitchingForm (wxWindow *parent, PowerElement *element)
 

Protected Member Functions

virtual void OnDownButtonClick (wxCommandEvent &event)
 
virtual void OnUpButtonClick (wxCommandEvent &event)
 
virtual void OnChangeProperties (wxPropertyGridEvent &event)
 
virtual void OnSelectItem (wxListEvent &event)
 
virtual void OnCancelButtonClick (wxCommandEvent &event)
 
virtual void OnInsertButtonClick (wxCommandEvent &event)
 
virtual void OnOKButtonClick (wxCommandEvent &event)
 
virtual void OnRemoveButtonClick (wxCommandEvent &event)
 

Protected Attributes

int m_maxID = 0
 
PowerElementm_element = nullptr
 

Detailed Description

Form to edit the switching data of power elements for electromechanical transient studies.

Author
Thales Lima Oliveira thale.nosp@m.s@uf.nosp@m.u.br
Date
05/10/2017

Definition at line 32 of file SwitchingForm.h.

Constructor & Destructor Documentation

◆ SwitchingForm() [1/2]

SwitchingForm::SwitchingForm ( wxWindow *  parent)

Definition at line 21 of file SwitchingForm.cpp.

21 : SwitchingFormBase(parent)
22{
23 m_listCtrlSwitchings->AppendColumn(_("Type"));
24 m_listCtrlSwitchings->AppendColumn(_("Time (s)"));
25
26 SetSize(GetBestSize());
27 Layout();
28}

◆ SwitchingForm() [2/2]

SwitchingForm::SwitchingForm ( wxWindow *  parent,
PowerElement element 
)

Definition at line 30 of file SwitchingForm.cpp.

30 : SwitchingFormBase(parent)
31{
32 m_listCtrlSwitchings->AppendColumn(_("Type"));
33 m_listCtrlSwitchings->AppendColumn(_("Time (s)"));
34
35 SetSize(GetBestSize());
36 Layout();
37
38 SwitchingData data = element->GetSwitchingData();
39 for(int i = 0; i < (int)data.swType.size(); i++) {
40 long index = m_listCtrlSwitchings->InsertItem(m_maxID, data.swType[i] == SwitchingType::SW_INSERT ? _("Insert") : _("Remove"));
41 m_listCtrlSwitchings->SetItem(index, 1, wxString::FromDouble(data.swTime[i]));
42 m_maxID++;
43 }
44
45 m_element = element;
46}
virtual SwitchingData GetSwitchingData()
Returns the switching data of the element.
Switching data of power elements.
std::vector< double > swTime
std::vector< SwitchingType > swType

◆ ~SwitchingForm()

SwitchingForm::~SwitchingForm ( )
virtual

Definition at line 48 of file SwitchingForm.cpp.

48{}

Member Function Documentation

◆ OnCancelButtonClick()

void SwitchingForm::OnCancelButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 49 of file SwitchingForm.cpp.

49{ EndModal(wxID_CANCEL); }

◆ OnChangeProperties()

void SwitchingForm::OnChangeProperties ( wxPropertyGridEvent &  event)
protectedvirtual

Definition at line 101 of file SwitchingForm.cpp.

101{}

◆ OnDownButtonClick()

void SwitchingForm::OnDownButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 103 of file SwitchingForm.cpp.

104{
105 std::vector<long> selectedList;
106 std::vector<long> itemList;
107 long item = -1;
108 while(true) {
109 item = m_listCtrlSwitchings->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
110 if(item == -1) break;
111 selectedList.push_back(item);
112 }
113 while(true) {
114 item = m_listCtrlSwitchings->GetNextItem(item);
115 if(item == -1) break;
116 itemList.push_back(item);
117 }
118
119 for(int i = 1; i < (int)itemList.size(); i++) {
120 for(int j = 0; j < (int)selectedList.size(); j++) {
121 if(itemList[i - 1] == selectedList[j]) {
122 wxString col1Str[2];
123 wxString col2Str[2];
124
125 col1Str[0] = m_listCtrlSwitchings->GetItemText(itemList[i], 0);
126 col1Str[1] = m_listCtrlSwitchings->GetItemText(selectedList[j], 0);
127 col2Str[0] = m_listCtrlSwitchings->GetItemText(itemList[i], 1);
128 col2Str[1] = m_listCtrlSwitchings->GetItemText(selectedList[j], 1);
129
130 m_listCtrlSwitchings->SetItem(itemList[i], 0, col1Str[1]);
131 m_listCtrlSwitchings->SetItem(selectedList[j], 0, col1Str[0]);
132 m_listCtrlSwitchings->SetItem(itemList[i], 1, col2Str[1]);
133 m_listCtrlSwitchings->SetItem(selectedList[j], 1, col2Str[0]);
134
135 m_listCtrlSwitchings->SetItemState(itemList[i], wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
136 m_listCtrlSwitchings->SetItemState(selectedList[j], 0, wxLIST_STATE_SELECTED);
137
138 i++;
139 break;
140 }
141 }
142 }
143}

◆ OnInsertButtonClick()

void SwitchingForm::OnInsertButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 50 of file SwitchingForm.cpp.

51{
52 long index = m_listCtrlSwitchings->InsertItem(
53 m_maxID, m_pgPropType->GetValue().GetInteger() == 0 ? _("Insert") : _("Remove"));
54 m_listCtrlSwitchings->SetItem(index, 1, m_pgPropTime->GetValue().GetString());
55 m_maxID++;
56}

◆ OnOKButtonClick()

void SwitchingForm::OnOKButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 57 of file SwitchingForm.cpp.

58{
59 std::vector<long> itemList;
60 long item = -1;
61 while(true) {
62 item = m_listCtrlSwitchings->GetNextItem(item);
63 if(item == -1) break;
64 itemList.push_back(item);
65 }
66
67 SwitchingData data;
68 for(int i = 0; i < (int)itemList.size(); i++) {
69 if(m_listCtrlSwitchings->GetItemText(itemList[i], 0) == _("Insert"))
70 data.swType.push_back(SwitchingType::SW_INSERT);
71 else
72 data.swType.push_back(SwitchingType::SW_REMOVE);
73
74 double swTime;
75 m_listCtrlSwitchings->GetItemText(itemList[i], 1).ToDouble(&swTime);
76 data.swTime.push_back(swTime);
77 }
78 m_element->SetSwitchingData(data);
79
80 if(data.swTime.size() != 0)
81 m_element->SetDynamicEvent(true);
82 else
83 m_element->SetDynamicEvent(false);
84
85 EndModal(wxID_OK);
86}
virtual void SetSwitchingData(SwitchingData data)
Set the switching data of the element.
virtual void SetDynamicEvent(bool dynEvent=true)
Set if the power element have dynamic event.

◆ OnRemoveButtonClick()

void SwitchingForm::OnRemoveButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 88 of file SwitchingForm.cpp.

89{
90 std::vector<long> itemList;
91 long item = -1;
92 while(true) {
93 item = m_listCtrlSwitchings->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
94 if(item == -1) break;
95 itemList.push_back(item);
96 }
97 for(int i = (int)itemList.size() - 1; i >= 0; i--) {
98 m_listCtrlSwitchings->DeleteItem(itemList[i]);
99 }
100}

◆ OnSelectItem()

void SwitchingForm::OnSelectItem ( wxListEvent &  event)
protectedvirtual

Definition at line 102 of file SwitchingForm.cpp.

102{}

◆ OnUpButtonClick()

void SwitchingForm::OnUpButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 144 of file SwitchingForm.cpp.

145{
146 std::vector<long> selectedList;
147 std::vector<long> itemList;
148 long item = -1;
149 while(true) {
150 item = m_listCtrlSwitchings->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
151 if(item == -1) break;
152 selectedList.push_back(item);
153 }
154 while(true) {
155 item = m_listCtrlSwitchings->GetNextItem(item);
156 if(item == -1) break;
157 itemList.push_back(item);
158 }
159
160 for(int i = 0; i < (int)itemList.size(); i++) {
161 for(int j = 0; j < (int)selectedList.size(); j++) {
162 if(i + 1 < (int)itemList.size()) {
163 if(itemList[i + 1] == selectedList[j]) {
164 wxString col1Str[2];
165 wxString col2Str[2];
166
167 col1Str[0] = m_listCtrlSwitchings->GetItemText(itemList[i], 0);
168 col1Str[1] = m_listCtrlSwitchings->GetItemText(selectedList[j], 0);
169 col2Str[0] = m_listCtrlSwitchings->GetItemText(itemList[i], 1);
170 col2Str[1] = m_listCtrlSwitchings->GetItemText(selectedList[j], 1);
171
172 m_listCtrlSwitchings->SetItem(itemList[i], 0, col1Str[1]);
173 m_listCtrlSwitchings->SetItem(selectedList[j], 0, col1Str[0]);
174 m_listCtrlSwitchings->SetItem(itemList[i], 1, col2Str[1]);
175 m_listCtrlSwitchings->SetItem(selectedList[j], 1, col2Str[0]);
176
177 m_listCtrlSwitchings->SetItemState(itemList[i], wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
178 m_listCtrlSwitchings->SetItemState(selectedList[j], 0, wxLIST_STATE_SELECTED);
179
180 i++;
181 break;
182 }
183 }
184 }
185 }
186}

Member Data Documentation

◆ m_element

PowerElement* SwitchingForm::m_element = nullptr
protected

Definition at line 51 of file SwitchingForm.h.

◆ m_maxID

int SwitchingForm::m_maxID = 0
protected

Definition at line 49 of file SwitchingForm.h.


The documentation for this class was generated from the following files: