X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxVtkBaseView_SceneManager.cxx;h=3d65b286f89258637ee757a8aeb585d2f602dc1a;hb=a654abbc209ed3104e98553cb381ef1c2845937a;hp=383fc7995639dc937f70fb1d3fe4757419aa9d91;hpb=7c5793ded16fbbcdcb077f70f86dffe846b0f38f;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx b/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx index 383fc79..3d65b28 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx @@ -57,6 +57,7 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) _creatingROI = false; _drawingSelectionROI = false; + _wxVtk_BaseView = theWxBaseViewToManage; if( _wxVtk_BaseView!=NULL ) { @@ -250,6 +251,7 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) std::map :: iterator iter; iter = _contours_ViewControl->find( theName ); return iter->second; + //return iter->first; } //------------------------------------------------------------------------------------------------------------ ContourWrap_ViewControl * wxVtkBaseView_SceneManager :: getContourWrap_ViewControlOf ( std::string theName, std::map * theMap ) @@ -659,51 +661,67 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) // Inherited Methods //------------------------------------------------------------------------------------------------------------ + bool wxVtkBaseView_SceneManager :: isCtrlPressed() + { + return _ctrlKey; + } + bool wxVtkBaseView_SceneManager :: isShiftPressed() + { + return _shiftKey; + } + char wxVtkBaseView_SceneManager :: getLastKeyCode() + { + return _lastKeyCode; + } bool wxVtkBaseView_SceneManager :: OnChar() { - bool ctrlKey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey() == 1; - bool shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1; + _ctrlKey = _vtkInteractorStyleBaseView->GetInteractor()->GetControlKey() == 1; + _shiftKey = _vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey() == 1; _lastKeyCode = _vtkInteractorStyleBaseView->GetInteractor()-> GetKeyCode(); + + wxCommandEvent cevent( wxEVT_COMMAND_BUTTON_CLICKED ); + _eventHandler->ProcessEvent( cevent ); - - if( _eventHandler!=NULL ) + + /*if( _eventHandler!=NULL ) { - const char * toolCommand = NULL; + char * toolCommand = NULL; if ( _lastKeyCode == 3 && ctrlKey ) //'C' || 'c' { - toolCommand = &(wxContour_ActionCommandsID::COPY_TOOL); + toolCommand = &(COPY_TOOL); } else if( _lastKeyCode == 22 && ctrlKey ) //'V' || 'v' { - toolCommand = &(wxContour_ActionCommandsID::PASTE_TOOL); + toolCommand = &(PASTE_TOOL); } else if( _lastKeyCode == 8 || (_lastKeyCode==127) ) // Delete { - toolCommand = &(wxContour_ActionCommandsID::DELETE_KEY); + toolCommand = &(DELETE_KEY); } else if( _lastKeyCode == 14 && ctrlKey ) //'N' || 'n' { - toolCommand = &(wxContour_ActionCommandsID::CREATE_CONTOUR_KEY); + toolCommand = &(CREATE_CONTOUR_KEY); } else if( _lastKeyCode == 15 && ctrlKey ) //'O' || 'o' { - toolCommand = &(wxContour_ActionCommandsID::OPEN_TOOL); + toolCommand = &(OPEN_TOOL); } else if( _lastKeyCode == 19 && ctrlKey ) //'S' || 's' { - toolCommand = &(wxContour_ActionCommandsID::SAVE_KEY); + toolCommand = &(SAVE_KEY); } if ( toolCommand!=NULL ) { + currentkey = toolCommand; wxCommandEvent cevent( wxEVT_COMMAND_BUTTON_CLICKED ); cevent.SetClientData( (void *) toolCommand); _eventHandler->ProcessEvent( cevent ); } - } + }*/ // long int endtime = clock(); @@ -820,7 +838,7 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) _lastInteractionName = iter->first; viewer->UpdateColorActor(); - control->SetPosibleToMove( true ); + control->SetPosibleToMove( true ); // viewer->AddCompleteContourActor(); } iter++; @@ -1201,3 +1219,31 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) cViewer->SetWidthLine(_widthOfContour); } } + + bool wxVtkBaseView_SceneManager::isEditableCControler(std::string theKeyName){ + + ContourWrap_ViewControl* ccon = getContourWrap_ViewControlOf(theKeyName); + if(ccon != NULL ){ + manualContourBaseControler* cControler = ccon->getControler(); + if(cControler != NULL && cControler->IsEditable() == false){ + return true; + } + } + return false; + } + + void wxVtkBaseView_SceneManager::deleteCViewerCControler(std::string theKeyName){ + + + ContourWrap_ViewControl* ccon = getContourWrap_ViewControlOf(theKeyName); + + manualViewBaseContour * cViewer = ccon->getViewer(); + manualContourBaseControler * cControler = ccon->getControler(); + + removeFromScene(theKeyName); + removeWrap(theKeyName); + + delete cViewer; + delete cControler; + } + \ No newline at end of file