summaryrefslogtreecommitdiffstats
path: root/Project/ControlEditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/ControlEditor.cpp')
-rw-r--r--Project/ControlEditor.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/Project/ControlEditor.cpp b/Project/ControlEditor.cpp
index 80c0813..cf79283 100644
--- a/Project/ControlEditor.cpp
+++ b/Project/ControlEditor.cpp
@@ -262,7 +262,23 @@ void ControlEditor::OnPaint(wxPaintEvent& event)
event.Skip();
}
-void ControlEditor::OnDoubleClick(wxMouseEvent& event) {}
+void ControlEditor::OnDoubleClick(wxMouseEvent& event)
+{
+ wxPoint2DDouble clickPoint = event.GetPosition();
+ bool redraw = false;
+
+ if(m_mode == MODE_EDIT) {
+ for(auto it = m_elementList.begin(), itEnd = m_elementList.end(); it != itEnd; ++it) {
+ Element* element = *it;
+ if(element->Contains(m_camera->ScreenToWorld(clickPoint))) {
+ element->ShowForm(this, element);
+ redraw = true;
+ }
+ }
+ }
+
+ if(redraw) Redraw();
+}
void ControlEditor::OnLeftClickDown(wxMouseEvent& event)
{
@@ -284,7 +300,7 @@ void ControlEditor::OnLeftClickDown(wxMouseEvent& event)
foundElement = true;
}
}
-
+
if(!foundNode) {
// Set movement initial position (not necessarily will be moved).
element->StartMove(m_camera->ScreenToWorld(clickPoint));