X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_Icons_NDimensions%2FinterfSegmentationMenu.cxx;h=8ec2fa73f27784b86d1e244ca4a9994f3de1383b;hb=8e43346f916bb1b027660dd175241d5d611ba9a0;hp=8ae1df67c48eb73bdcee2a949ff6d7c4d5209db5;hpb=c7aa7286e02028ade712c1284fea9439d0d3c61c;p=creaContours.git diff --git a/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx b/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx index 8ae1df6..8ec2fa7 100644 --- a/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx +++ b/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx @@ -5,14 +5,13 @@ interfSegmentationMenu::interfSegmentationMenu(wxWindow * parent, int sizex, int : interfMenuBar(parent, sizex, sizey) { this->datadir = datdir; - contourevent = (wxContourEventHandler*)evtHandler; + //contourevent = (wxContourEventHandler*)evtHandler; infoWin = NULL; configPanel = NULL; - segmentPanel = NULL; spreadPanel = NULL; segmentPanelITK = NULL; - eventHandler = evtHandler; + //eventHandler = evtHandler; initButtons(this); } @@ -34,6 +33,14 @@ void interfSegmentationMenu::initButtons(wxEvtHandler* evtHandler) { nom.push_back("Find shapes using border snake interaction"); funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSnakePressed); + path.push_back(datadir + "/Mirror.png"); + nom.push_back("Create an Axis and select a contour to mirror it accordingly"); + funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onMirrorPressed); + + path.push_back(datadir + "/Threshold.png"); + nom.push_back("Superpose a 'Red Image' to the selected Image Threshold"); + funct.push_back((wxObjectEventFunction)&interfSegmentationMenu::onThreshold); + this->addButtons(path, nom); this->setVectorFunction(funct); @@ -55,65 +62,36 @@ interfSegmentationMenu::~interfSegmentationMenu() void interfSegmentationMenu::onSegmentationPressed(wxCommandEvent& event){ - if(segmentPanel == NULL){ - segmentPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); - - - wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); - segmentPanel->SetSizer(flexsizer, true); - segmentPanel->SetAutoLayout( true ); - segmentPanel->SetEventHandler(this->contourevent); - - wxPanel* panel = contourevent->getSegmentationPanel(segmentPanel); - - wxStaticText* stattext = new wxStaticText(segmentPanel, -1, wxString(_T(" Automatic Segmentation ")), wxDefaultPosition, - wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); - - flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); - flexsizer->Add(panel, wxEXPAND); - segmentPanel->Layout(); - } - interfMainPanel::getInstance()->showPanel(segmentPanel); - contourevent->showAxis(true); - axisshown = true; + interfMainPanel::getInstance()->onSegmentationPressed(); } -void interfSegmentationMenu::hideAxis(){ - if(axisshown){ - axisshown = false; - contourevent->showAxis(axisshown); - } -} void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){ - if(segmentPanelITK == NULL){ - segmentPanelITK = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); - - - wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); - segmentPanelITK->SetSizer(flexsizer, true); - segmentPanelITK->SetAutoLayout( true ); - segmentPanelITK->SetEventHandler(this->contourevent); - - wxPanel* panel = contourevent->getSegmentationPanelITK(segmentPanelITK); - - wxStaticText* stattext = new wxStaticText(segmentPanelITK, -1, wxString(_T(" Automatic ITK Segmentation ")), wxDefaultPosition, - wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + interfMainPanel::getInstance()->onSegmentationPressedITK(); - flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); - flexsizer->Add(panel, wxEXPAND); - segmentPanelITK->Layout(); - } - interfMainPanel::getInstance()->showPanel(segmentPanelITK); - //contourevent->showAxis(true); - //axisshown = true; + } void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){ - contourevent->onSnakePressed(this); + interfMainPanel::getInstance()->onSnakePressed(); } + +void interfSegmentationMenu::onMirrorPressed(wxCommandEvent& event){ + + interfMainPanel::getInstance()->onMirrorPressed(); + +} + +void interfSegmentationMenu::onThreshold(wxCommandEvent& event){ + + interfMainPanel::getInstance()->onThresholdPressed(); + +} + +//------------------------------------------------------------------------------------------------------------ +