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/ConnectionLine.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/ConnectionLine.h')
-rw-r--r-- | Project/ConnectionLine.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Project/ConnectionLine.h b/Project/ConnectionLine.h new file mode 100644 index 0000000..e9d238a --- /dev/null +++ b/Project/ConnectionLine.h @@ -0,0 +1,43 @@ +#ifndef CONNECTIONLINE_H +#define CONNECTIONLINE_H + +#include "ControlElement.h" + +class ConnectionLine : public ControlElement +{ + public: + enum ConnectionLineType { ELEMENT_ELEMENT = 0, ELEMENT_LINE }; + ConnectionLine(); + ConnectionLine(Node* firstNode, int id); + ~ConnectionLine(); + + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Contains(wxPoint2DDouble position) const; + virtual bool Intersects(wxRect2DDouble rect) const; + virtual void RemoveParent(Element* parent); + virtual void StartMove(wxPoint2DDouble position); + virtual void Move(wxPoint2DDouble position); + virtual bool AppendNode(Node* node, ControlElement* parent); + virtual void UpdatePoints(); + virtual void SetTemporarySecondPoint(wxPoint2DDouble point) { m_tmpSndPt = point; } + virtual wxPoint2DDouble GetMidPoint() const; + virtual double GetOffset() const { return m_lineOffset; } + virtual void SetOffset(double offset) { m_lineOffset = offset; } + virtual ConnectionLineType GetType() const { return m_type; } + virtual void SetType(ConnectionLineType newType) { m_type = newType; } + virtual ConnectionLine* GetParentLine() const { return m_parentLine; } + virtual bool SetParentLine(ConnectionLine* parent); + + virtual std::vector<ConnectionLine*> GetLineChildList() const; + + protected: + double m_lineOffset = 0.0; + double m_moveStartPtY = 0.0; + double m_moveStartOffset = 0.0; + wxPoint2DDouble m_tmpSndPt; + + ConnectionLineType m_type = ELEMENT_ELEMENT; + ConnectionLine* m_parentLine = NULL; +}; + +#endif // CONNECTIONLINE_H |