summaryrefslogtreecommitdiffstats
path: root/Project/Workspace.h
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-01-05 19:37:42 -0200
committerGitHub <noreply@github.com>2017-01-05 19:37:42 -0200
commit9df133274802731220546d1f9383c213193c8413 (patch)
tree9c6e2fa2a45d6c6c4c14d8711b2b89066bfb37d7 /Project/Workspace.h
parentc5343c718cf80620c2fc7452a4315f7ddb9e5826 (diff)
parentb6f96ca48bc156898df79deba63d270b393fb150 (diff)
downloadPSP.git-9df133274802731220546d1f9383c213193c8413.tar.gz
PSP.git-9df133274802731220546d1f9383c213193c8413.tar.xz
PSP.git-9df133274802731220546d1f9383c213193c8413.zip
Merge pull request #5 from Thales1330/opt/element-parent-search
Opt element parent search
Diffstat (limited to 'Project/Workspace.h')
-rw-r--r--Project/Workspace.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/Project/Workspace.h b/Project/Workspace.h
index 21a1a56..4ac469c 100644
--- a/Project/Workspace.h
+++ b/Project/Workspace.h
@@ -7,6 +7,7 @@
#include <wx/msgdlg.h>
#include <wx/statusbr.h>
#include <wx/clipbrd.h>
+#include <wx/tipwin.h>
#include "WorkspaceBase.h"
#include "Bus.h"
@@ -76,11 +77,12 @@ public:
wxFileName GetSavedPath() const { return m_savedPath; }
void SetName(wxString name) { m_name = name; }
- void SetElementList(std::vector<Element*> elementList) { m_elementList = elementList; }
- void SetTextList(std::vector<Text*> textList) { m_textList = textList; }
+ void SetElementList(std::vector<Element*> elementList);
+ void SetTextList(std::vector<Text*> textList);
void SetStatusBarText(wxString text) { m_statusBar->SetStatusText(text); }
void SetWorkspaceMode(WorkspaceMode mode) { m_mode = mode; }
void SetSavedPath(wxFileName savedPath) { m_savedPath = savedPath; }
+ void SetJustOpened(bool justOpened) { m_justOpened = justOpened; }
void Redraw() { m_glCanvas->Refresh(); }
void RotateSelectedElements(bool clockwise = true);
@@ -91,7 +93,8 @@ public:
void ValidateBusesVoltages(Element* initialBus);
void ValidateElementsVoltages();
-
+
+ void UpdateElementsID();
void UpdateTextElements();
int GetElementNumber(ElementID elementID) { return m_elementNumber[elementID]; }
@@ -100,6 +103,8 @@ public:
bool RunPowerFlow();
protected:
+ virtual void OnIdle(wxIdleEvent& event);
+ virtual void OnTimer(wxTimerEvent& event);
virtual void OnLeftDoubleClick(wxMouseEvent& event);
virtual void OnRightClickDown(wxMouseEvent& event);
virtual void OnLeftClickUp(wxMouseEvent& event);
@@ -115,9 +120,10 @@ protected:
void SetViewport();
void UpdateStatusBar();
- wxGLContext* m_glContext;
- wxStatusBar* m_statusBar;
- Camera* m_camera;
+ wxGLContext* m_glContext = NULL;
+ wxStatusBar* m_statusBar = NULL;
+ Camera* m_camera = NULL;
+ wxTipWindow* m_tipWindow = NULL;
wxString m_name;
WorkspaceMode m_mode = MODE_EDIT;
@@ -128,10 +134,11 @@ protected:
std::vector<Text*> m_textList;
wxFileName m_savedPath;
-
-private:
+
wxRect2DDouble m_selectionRect;
wxPoint2DDouble m_startSelRect;
+
+ bool m_justOpened = false;
};
class Camera
@@ -159,7 +166,7 @@ protected:
wxPoint2DDouble m_mousePosition;
- double m_zoomMin = 0.05;
+ double m_zoomMin = 0.01;
double m_zoomMax = 3.0;
};