summaryrefslogtreecommitdiffstats
path: root/Project/Workspace.cpp
diff options
context:
space:
mode:
authorThales1330 <thaleslima.ufu@gmail.com>2016-08-19 17:53:45 -0300
committerThales1330 <thaleslima.ufu@gmail.com>2016-08-19 17:53:45 -0300
commit474b1f94ced70e1d183a79bb6df87603982755aa (patch)
treebe4d12d44aa7cffa1cd7b712d6a736cbdf61ae02 /Project/Workspace.cpp
parentd4efffcdedbb41596eecd0882a1cef76f6afc435 (diff)
downloadPSP.git-474b1f94ced70e1d183a79bb6df87603982755aa.tar.gz
PSP.git-474b1f94ced70e1d183a79bb6df87603982755aa.tar.xz
PSP.git-474b1f94ced70e1d183a79bb6df87603982755aa.zip
Line still under implementation
Diffstat (limited to 'Project/Workspace.cpp')
-rw-r--r--Project/Workspace.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index 26c913b..d180b2b 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -202,11 +202,13 @@ void Workspace::OnLeftClickDown(wxMouseEvent& event)
void Workspace::OnRightClickDown(wxMouseEvent& event)
{
+ bool redraw = false;
if(m_mode == MODE_EDIT) {
for(auto it = m_elementList.begin(); it != m_elementList.end(); ++it) {
Element* element = *it;
if(element->IsSelected()) {
if(element->Contains(m_camera->ScreenToWorld(event.GetPosition()))) {
+ element->ShowPickbox(false);
wxMenu menu;
if(element->GetContextMenu(menu)) {
menu.SetClientData(element);
@@ -214,10 +216,13 @@ void Workspace::OnRightClickDown(wxMouseEvent& event)
wxCommandEventHandler(Workspace::OnPopupClick), NULL, this);
PopupMenu(&menu);
}
+ element->ResetPickboxes();
+ redraw = true;
}
}
}
}
+ if(redraw) Redraw();
}
void Workspace::OnLeftClickUp(wxMouseEvent& event)
@@ -520,9 +525,23 @@ void Workspace::OnPopupClick(wxCommandEvent& event)
wxMessageBox("Edit line!");
}
break;
+ case ID_LINE_ADD_NODE:
+ {
+ Line* line = (Line*)element;
+ line->AddNode(m_camera->GetMousePosition());
+ Redraw();
+ }
+ break;
+ case ID_LINE_REMOVE_NODE:
+ {
+ Line* line = (Line*)element;
+ line->RemoveNode(m_camera->GetMousePosition());
+ Redraw();
+ }
+ break;
case ID_ROTATE:
{
- element->Rotate();
+ element->Rotate();
for(auto it = m_elementList.begin(); it != m_elementList.end(); ++it) {
Element* nonEditedElement = *it;
// Parent's element rotating...
@@ -535,5 +554,6 @@ void Workspace::OnPopupClick(wxCommandEvent& event)
}
Redraw();
}
+ break;
}
}