summaryrefslogtreecommitdiffstats
path: root/Project/ConnectionLine.h
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-04-24 17:39:03 -0300
committerGitHub <noreply@github.com>2017-04-24 17:39:03 -0300
commit7804c1bd2c0bd2a5f135c30b20991e8187581cc6 (patch)
tree725e524253d6fd714460402194b408cb33b80b3f /Project/ConnectionLine.h
parent69131a727782090ffd7cb467f449e8f26d3d2949 (diff)
parent9529a6ed44645842adc6f938478acc1dfa17a284 (diff)
downloadPSP.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.h43
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