diff options
author | Thales1330 <thaleslima.ufu@gmail.com> | 2016-08-19 17:53:45 -0300 |
---|---|---|
committer | Thales1330 <thaleslima.ufu@gmail.com> | 2016-08-19 17:53:45 -0300 |
commit | 474b1f94ced70e1d183a79bb6df87603982755aa (patch) | |
tree | be4d12d44aa7cffa1cd7b712d6a736cbdf61ae02 /Project/Workspace.cpp | |
parent | d4efffcdedbb41596eecd0882a1cef76f6afc435 (diff) | |
download | PSP.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.cpp | 22 |
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; } } |