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

Form to edit the transfer function control data. More...

#include <TransferFunctionForm.h>

Inheritance diagram for TransferFunctionForm:
Collaboration diagram for TransferFunctionForm:

Public Member Functions

 TransferFunctionForm (wxWindow *parent, TransferFunction *transferFunction)
 
bool ValidateData ()
 

Protected Member Functions

virtual void OnCancelClick (wxCommandEvent &event)
 
virtual void OnOKClick (wxCommandEvent &event)
 
void LoadTFData ()
 

Protected Attributes

wxWindow * m_parent = nullptr
 
TransferFunctionm_tf = nullptr
 

Detailed Description

Form to edit the transfer function control data.

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

Definition at line 32 of file TransferFunctionForm.h.

Constructor & Destructor Documentation

◆ TransferFunctionForm()

TransferFunctionForm::TransferFunctionForm ( wxWindow *  parent,
TransferFunction transferFunction 
)

Definition at line 21 of file TransferFunctionForm.cpp.

22 : TransferFunctionFormBase(parent)
23{
24 SetSize(GetBestSize());
25
26 m_parent = parent;
27 m_tf = transferFunction;
28 LoadTFData();
29}

◆ ~TransferFunctionForm()

TransferFunctionForm::~TransferFunctionForm ( )
virtual

Definition at line 31 of file TransferFunctionForm.cpp.

31{}

Member Function Documentation

◆ LoadTFData()

void TransferFunctionForm::LoadTFData ( )
protected

Definition at line 38 of file TransferFunctionForm.cpp.

39{
40 auto num = m_tf->GetNumerator();
41 auto den = m_tf->GetDenominator();
42
43 wxString numStr = "";
44 for(auto it = num.begin(), itEnd = num.end(); it != itEnd; ++it) {
45 double value = *it;
46 if(it == num.begin())
47 numStr = m_tf->StringFromDouble(value, 0);
48 else
49 numStr += " " + m_tf->StringFromDouble(value, 0);
50 }
51 m_textCtrlNumerator->SetValue(numStr);
52
53 wxString denStr = "";
54 for(auto it = den.begin(), itEnd = den.end(); it != itEnd; ++it) {
55 double value = *it;
56 if(it == den.begin())
57 denStr = m_tf->StringFromDouble(value, 0);
58 else
59 denStr += " " + m_tf->StringFromDouble(value, 0);
60 }
61 m_textCtrlDenominator->SetValue(denStr);
62}
static wxString StringFromDouble(double value, int minDecimal=1, int maxDecimals=13)
Convert a double value to string.
Definition Element.cpp:533

◆ OnCancelClick()

void TransferFunctionForm::OnCancelClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 32 of file TransferFunctionForm.cpp.

32{ EndModal(wxID_CANCEL); }

◆ OnOKClick()

void TransferFunctionForm::OnOKClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 33 of file TransferFunctionForm.cpp.

34{
35 if(ValidateData()) EndModal(wxID_OK);
36}

◆ ValidateData()

bool TransferFunctionForm::ValidateData ( )

Definition at line 64 of file TransferFunctionForm.cpp.

65{
66 wxString num = m_textCtrlNumerator->GetValue();
67 std::vector<double> numerator;
68 while(num != "") {
69 wxString rest;
70 wxString strValue = num.BeforeFirst(' ', &rest);
71 num = rest;
72 double value = 0;
73 if(!m_tf->DoubleFromString(this, strValue, value,
74 _("Value entered incorrectly in the field \"Numerator parameters\".")))
75 return false;
76 numerator.push_back(value);
77 }
78
79 wxString den = m_textCtrlDenominator->GetValue();
80 std::vector<double> denominator;
81 while(den != "") {
82 wxString rest;
83 wxString strValue = den.BeforeFirst(' ', &rest);
84 den = rest;
85 double value = 0;
86 if(!m_tf->DoubleFromString(this, strValue, value,
87 _("Value entered incorrectly in the field \"Denominator parameters\".")))
88 return false;
89 denominator.push_back(value);
90 }
91 m_tf->SetNumerator(numerator);
92 m_tf->SetDenominator(denominator);
93 m_tf->UpdateTFText();
94 return true;
95}
static bool DoubleFromString(wxWindow *parent, wxString strValue, double &value, wxString errorMsg)
Get a double value from a string. Show a error message if the conversion fail.
Definition Element.cpp:505

Member Data Documentation

◆ m_parent

wxWindow* TransferFunctionForm::m_parent = nullptr
protected

Definition at line 44 of file TransferFunctionForm.h.

◆ m_tf

TransferFunction* TransferFunctionForm::m_tf = nullptr
protected

Definition at line 45 of file TransferFunctionForm.h.


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