diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2017-04-24 17:39:03 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-24 17:39:03 -0300 |
commit | 7804c1bd2c0bd2a5f135c30b20991e8187581cc6 (patch) | |
tree | 725e524253d6fd714460402194b408cb33b80b3f /Project/IOControl.h | |
parent | 69131a727782090ffd7cb467f449e8f26d3d2949 (diff) | |
parent | 9529a6ed44645842adc6f938478acc1dfa17a284 (diff) | |
download | PSP.git-7804c1bd2c0bd2a5f135c30b20991e8187581cc6.tar.gz PSP.git-7804c1bd2c0bd2a5f135c30b20991e8187581cc6.tar.xz PSP.git-7804c1bd2c0bd2a5f135c30b20991e8187581cc6.zip |
Merge pull request #28 from Thales1330/wip/generic-controllers
Wip generic controllers. Chart view implementation required, creating new branch....
Diffstat (limited to 'Project/IOControl.h')
-rw-r--r-- | Project/IOControl.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Project/IOControl.h b/Project/IOControl.h new file mode 100644 index 0000000..7b3f4d0 --- /dev/null +++ b/Project/IOControl.h @@ -0,0 +1,49 @@ +#ifndef IOCONTROL_H +#define IOCONTROL_H + +#include "ControlElement.h" + +#include <wx/dcscreen.h> +#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, int id); + ~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 |