From ed36957d2d06ce9484e39be699bc41b521bdb090 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 6 Apr 2017 17:12:09 -0300 Subject: Io form under implementation --- Project/IOControl.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Project/IOControl.h (limited to 'Project/IOControl.h') diff --git a/Project/IOControl.h b/Project/IOControl.h new file mode 100644 index 0000000..e736ac1 --- /dev/null +++ b/Project/IOControl.h @@ -0,0 +1,49 @@ +#ifndef IOCONTROL_H +#define IOCONTROL_H + +#include "ControlElement.h" + +#include +#include "wxGLString.h" + +class IOControlForm; + +class IOControl : public ControlElement +{ + public: + enum IOFlags { + IN_TERMINAL_VOLTAGE = 1 << 0, + IN_VELOCITY = 1 << 1, + IN_ACTIVE_POWER = 1 << 2, + IN_REACTIVE_POWER = 1 << 3, + OUT_FIELD_VOLTAGE = 1 << 4, + OUT_MEC_POWER = 1 << 5 + }; + + IOControl(int ioFlags); + ~IOControl(); + + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Contains(wxPoint2DDouble position) const { return m_rect.Contains(position); } + virtual bool Intersects(wxRect2DDouble rect) const { return m_rect.Intersects(rect); } + virtual bool ShowForm(wxWindow* parent, Element* element); + virtual void Rotate(bool clockwise = true); + + virtual wxString GenerateText(); + virtual void UpdatePoints(); + + virtual IOFlags GetValue() const { return m_value; } + virtual void SetValue(IOFlags value); + virtual int GetIOFlags() const { return m_ioFlags; } + + protected: + IOFlags m_value; + int m_ioFlags; + + Node::NodeType m_ioNodeType = Node::NODE_IN; + + wxGLString* m_glStringValue = NULL; + int m_fontSize = 10; +}; + +#endif // IOCONTROL_H -- cgit