]> Creatis software - creaContours.git/blobdiff - lib/Interface_ManagerContour_NDimensions/wxContourEventHandler.cxx
fixes
[creaContours.git] / lib / Interface_ManagerContour_NDimensions / wxContourEventHandler.cxx
index 36ff6c8d937276ac184139905641c80302a58f6f..a87fa34acb6ac467135fef515bc5636baf5b03ee 100644 (file)
@@ -119,9 +119,9 @@ PanelBullEyeOptions::PanelBullEyeOptions (wxWindow * parent, wxSize size) :
 
 
        wxString lstOptions[2];
-       lstOptions[0]="General options";
-       lstOptions[1]="Detail options";
-       _radioboxBullEyeGenOpt  = new wxRadioBox(panel, -1, "General/Detail options", wxDefaultPosition, wxSize(200,45), 2 , lstOptions,  2, wxRA_SPECIFY_COLS);
+       lstOptions[0]=_T("General options");
+       lstOptions[1]=_T("Detail options");
+       _radioboxBullEyeGenOpt  = new wxRadioBox(panel, -1, _T("General/Detail options"), wxDefaultPosition, wxSize(200,45), 2 , lstOptions,  2, wxRA_SPECIFY_COLS);
        _radioboxBullEyeGenOpt->SetSelection(0);
 
        _spinctrlBullEyeNumOfCrowns = new wxSpinCtrl( panel , -1,_T("B"),wxDefaultPosition, wxSize(40,20) );
@@ -369,7 +369,10 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
                inundo = 0;
                inredo = 0;
                stundoredo = "data/temp";
-               mkdir(stundoredo.c_str());
+               char buff[3000]; // hope it's enough!
+               sprintf(buff, "mkdir %s;",stundoredo.c_str());
+               system(buff); 
+               //mkdir(stundoredo.c_str());
                stundoredo += "/cont";
        }
        //------------------------------------------------------------------------------------------------------------
@@ -518,7 +521,7 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
 
        void wxContourEventHandler::onSpreadReset( wxCommandEvent& event )
        {
-               _wxtextctrlSpread->SetValue("");
+               _wxtextctrlSpread->SetValue(_T(""));
                _contourPropagation->resetAppend();
        }
 
@@ -542,7 +545,9 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
 
                        _contourPropagation->appendContour(&vecX , &vecY , &vecZ);
                        wxString newstring;
-                       newstring.Printf("%s %d -",_wxtextctrlSpread->GetValue(), actualSlice );
+                       newstring.Printf(_T("%s %d -"),
+                                        _wxtextctrlSpread->GetValue().c_str(),
+                                        actualSlice );
                        _wxtextctrlSpread->SetValue(newstring);
                } // if 
        }
@@ -584,7 +589,7 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
                for ( z=(int)minZ ; z<=(int)maxZ ; z++ )
                {
                        porcent = 100.0* (z-minZ)/totalZ;
-                       tmpString.Printf("  %d %c            %d/%d            %d", (int)porcent , 37 , (int)(z-minZ+1), (int)totalZ,z );
+                       tmpString.Printf( _T(" %d %c            %d/%d            %d"), (int)porcent , 37 , (int)(z-minZ+1), (int)totalZ,z );
                        _staticTextSpread->SetLabel(tmpString);
 
                        if (_contourPropagation->ifSliceKeyContourExist(z)==false)
@@ -627,7 +632,7 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
                                } // if addedModel
                        }// ifSliceKeyContourExist
                } // for z
-               _staticTextSpread->SetLabel("   ");
+               _staticTextSpread->SetLabel(_T("   "));
                //RefreshInterface();
 
 
@@ -698,22 +703,22 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
 
                _contourPropagation                     = new ContourPropagation();
 
-               wxPanel *panel                                                  = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, wxString(""));
+               wxPanel *panel                          = new wxPanel(parent,-1,wxDefaultPosition, wxDefaultSize,wxNO_BORDER, /*wxString("")*/  _T("") );
 
                wxButton *spreadResetBtn        = new wxButton(panel,-1,_T("Reset"),wxDefaultPosition, wxDefaultSize );
                wxButton *spreadAddBtn          = new wxButton(panel,-1,_T("Add"),wxDefaultPosition, wxDefaultSize);
 
                wxString lstOptions[3];
-               lstOptions[0]="A";
-               lstOptions[1]="B";
-               lstOptions[2]="C";
-               _spreadMethodRadiobox                                           = new wxRadioBox(panel, -1, "Method (find ctrl. Points)", wxDefaultPosition, wxDefaultSize, 3 , lstOptions,  3, wxRA_SPECIFY_COLS);
+               lstOptions[0]=_T("A");
+               lstOptions[1]=_T("B");
+               lstOptions[2]=_T("C");
+               _spreadMethodRadiobox           = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxDefaultSize, 3 , lstOptions,  3, wxRA_SPECIFY_COLS);
                _spreadMethodRadiobox->SetSelection(2);
 
                wxButton *spreadGoBtn           = new wxButton(panel,-1,_T("Go"),wxDefaultPosition, wxDefaultSize);
                _staticTextSpread                       = new wxStaticText(panel,-1,_T("    "));
 
-               _wxtextctrlSpread           = new wxTextCtrl(panel,-1, "",wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
+               _wxtextctrlSpread           = new wxTextCtrl(panel,-1, _T("") ,wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
 
                
                Connect( spreadResetBtn->GetId(),       wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourEventHandler::onSpreadReset ); 
@@ -755,11 +760,11 @@ double PanelBullEyeOptions::GetAngDeltaOfCrownSection(int nCrown)
                for( z=minZ ; z<=maxZ ; z++ )
                {
                        porcent = 100.0* (z-minZ)/totalZ;
-                       tmpString.Printf("  %d %c            %d/%d            %d", (int)porcent , 37 , z-minZ+1, (int)totalZ,z );
+                       tmpString.Printf(_T("  %d %c            %d/%d            %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ,z );
                        _staticTextSegmentation->SetLabel(tmpString);
                        SegmentationOneSlice( x,y,z );
                }
-               _staticTextSegmentation->SetLabel("   ");
+               _staticTextSegmentation->SetLabel(_T("   "));
                RefreshInterface();
 
                
@@ -1037,16 +1042,16 @@ myfile.close();
                double range[2];
                _sceneManager->GetImageDataRange(range);
 
-               wxPanel *panel                                          = new wxPanel(parent,-1);
+               wxPanel *panel                          = new wxPanel(parent,-1);
                wxButton *segmentationOneSliceBtn       = new wxButton(panel,-1,_T("Actual slice"), wxDefaultPosition, wxSize(200,35) );
-               wxButton *segmentationAllSliceBtn       = new wxButton(panel,-1,_T("All slices") ,wxDefaultPosition, wxSize(200,35) );
-               _isovalue                                                       = new wxSlider(panel, -1, 40 , (int)(range[0]), (int)(range[1]), wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
-               _sampling                                                       = new wxSlider(panel, -1, 20 , 4, 50, wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+               wxButton *segmentationAllSliceBtn       = new wxButton(panel,-1,_T("All slices") ,wxDefaultPosition, wxSize(200,35) );
+               _isovalue                               = new wxSlider(panel, -1, 40 , (int)(range[0]), (int)(range[1]), wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+               _sampling                               = new wxSlider(panel, -1, 20 , 4, 50, wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
                wxString lstOptions[3];
-               lstOptions[0]="A";
-               lstOptions[1]="B";
-               lstOptions[2]="C";
-               methodRadiobox                                          = new wxRadioBox(panel, -1, "Method (find ctrl. Points)", wxDefaultPosition, wxSize(200,45), 3 , lstOptions,  3, wxRA_SPECIFY_COLS);
+               lstOptions[0]=_T("A");
+               lstOptions[1]=_T("B");
+               lstOptions[2]=_T("C");
+               methodRadiobox                                  = new wxRadioBox(panel, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions,  3, wxRA_SPECIFY_COLS);
                methodRadiobox->SetSelection(2);
                _staticTextSegmentation                         = new wxStaticText(panel,-1,_T("    "));
 
@@ -1096,15 +1101,15 @@ myfile.close();
        {
                if (_TestFrame==NULL)
                {
-                       _contourPropagation                     = new ContourPropagation();
-                       _TestFrame                                      = new wxFrame (_theViewPanel, -1,_T("  Test Segmentation  "), wxDefaultPosition, wxDefaultSize, wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION |  wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT );
+                       _contourPropagation             = new ContourPropagation();
+                       _TestFrame                      = new wxFrame (_theViewPanel, -1,_T("  Test Segmentation  "), wxDefaultPosition, wxDefaultSize, wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION |  wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT );
                        wxSize sizepanel(200,300);
                        _TestFrame->SetSize( sizepanel );
-                       wxPanel *panel                          = new wxPanel(_TestFrame,-1);
+                       wxPanel *panel                  = new wxPanel(_TestFrame,-1);
                        wxButton *spreadResetBtn        = new wxButton(panel,-1,_T("Reset"),wxDefaultPosition, wxSize(80,35) );
                        wxButton *spreadAddBtn          = new wxButton(panel,-1,_T("Add"),wxDefaultPosition, wxSize(80,35));
                        wxButton *spreadGoBtn           = new wxButton(panel,-1,_T("GoA"),wxDefaultPosition, wxSize(80,35));
-                       _wxtextctrlTest                         = new wxTextCtrl(panel,-1, "",wxDefaultPosition, wxSize(200,150), wxTE_MULTILINE );
+                       _wxtextctrlTest                 = new wxTextCtrl(panel,-1, _T(""),wxDefaultPosition, wxSize(200,150), wxTE_MULTILINE );
 
                        _TestFrame->SetEventHandler( this );
                        Connect( spreadResetBtn->GetId(),       wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourEventHandler::onTestReset ); 
@@ -1134,7 +1139,7 @@ myfile.close();
 
        void wxContourEventHandler::onTestReset( wxCommandEvent& event )
        {
-               _wxtextctrlTest->SetValue("");
+               _wxtextctrlTest->SetValue(_T(""));
                _contourPropagation->resetAppend();
        }
 
@@ -1157,8 +1162,15 @@ myfile.close();
                        } // for
 
                        _contourPropagation->appendContour(&vecX , &vecY , &vecZ);
+                       wxString newstring1( _wxtextctrlTest->GetValue().c_str() , wxConvUTF8);
+                       wxString newstring2;
+                       newstring2.Printf(_T(" %d -"), actualSlice );
+                       
                        wxString newstring;
-                       newstring.Printf("%s %d -",_wxtextctrlTest->GetValue(), actualSlice );
+                       newstring = newstring1+newstring2;
+                       
+                       //newstring.Printf("%s %d -",_wxtextctrlTest->GetValue(), actualSlice );
+                       
                        _wxtextctrlTest->SetValue(newstring);
                } // if 
        }
@@ -1244,7 +1256,6 @@ myfile.close();
        //------------------------------------------------------------------------------------------------------------
        void wxContourEventHandler::FillGridWithContoursInformation()
        {
-               wxString tempString;
                _grid->ClearGrid();
                _grid->SetColLabelValue(0, _T("A") );
                _grid->SetColLabelValue(1, _T("B") );
@@ -1265,14 +1276,19 @@ myfile.close();
                        std::vector<ContourThing**> lstContourThings = this->_modelManager->getOutlinesAtInstant( &instant );
 
                        sizeLstContourThings = lstContourThings.size();
-                       tempString.Printf("%d - %d",z, sizeLstContourThings);
+                       wxString tempString;
+                       tempString.Printf(_T("%d - %d"), 
+                                         z, 
+                                         sizeLstContourThings);
+                       
                        _grid->SetRowLabelValue(z, tempString );
 
                        for (ii=0 ; ii<sizeLstContourThings ; ii++)
                        {
                                ContourThing **contourthing = lstContourThings[ii];
-                               tempString = (*contourthing)->getName().c_str() ;
-                               _grid->SetCellValue( z, ii, tempString );
+                               //wxString tempString =  (*contourthing)->getName()  ;  // Doesn't compile. See Creatis Wiki !
+                               const wxString tempString2((*contourthing)->getName().c_str(),wxConvUTF8 );
+                               _grid->SetCellValue( z, ii, tempString2 );
                        }
                }
 
@@ -1366,7 +1382,7 @@ myfile.close();
                for ( z=minZ ; z<=maxZ ; z++ )
                {
                        porcent = 100.0* (z-minZ)/totalZ;
-                       tmpString.Printf("  %d %c            %d/%d             %d", (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+                       tmpString.Printf(_T("  %d %c            %d/%d             %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
                        _staticTextInformation->SetLabel(tmpString);
 
                        //Extraction data from contours of each slice
@@ -1387,7 +1403,7 @@ myfile.close();
 
 
                        wxString tempString;
-                       tempString.Printf("%d - %d",z, sizeLstContourThings);
+                       tempString.Printf(_T("%d - %d"),z, sizeLstContourThings);
                        _grid->SetRowLabelValue(z, tempString );
 //EED004
                        int iContourGroup,sizeContourGroup;
@@ -1443,17 +1459,17 @@ myfile.close();
 
                                tmpIntA=_numberOfVariablesStatistics*iContourGroup ;
 
-                               tempString.Printf("%d",resultSize);
+                               tempString.Printf(_T("%d"),resultSize);
                                _grid->SetCellValue( z, tmpIntA + 0, tempString );
-                               tempString.Printf("%d",resultGrayRangeCount);
+                               tempString.Printf(_T("%d"),resultGrayRangeCount);
                                _grid->SetCellValue( z, tmpIntA + 1, tempString );
-                               tempString.Printf("%f",resultMin);
+                               tempString.Printf(_T("%f"),resultMin);
                                _grid->SetCellValue( z, tmpIntA + 2, tempString );
-                               tempString.Printf("%f",resultMax);
+                               tempString.Printf(_T("%f"),resultMax);
                                _grid->SetCellValue( z, tmpIntA + 3, tempString );
-                               tempString.Printf("%f",resultAverage);
+                               tempString.Printf(_T("%f"),resultAverage);
                                _grid->SetCellValue( z, tmpIntA + 4, tempString );
-                               tempString.Printf("%f",resultStandardeviation);
+                               tempString.Printf(_T("%f"),resultStandardeviation);
                                _grid->SetCellValue( z, tmpIntA + 5, tempString );
 
                        } // for iContourGroup
@@ -1520,7 +1536,7 @@ myfile.close();
                {
 
                        porcent = 100.0* (z-minZ)/totalZ;
-                       tmpString.Printf("Saving Values  %d %c            %d/%d             %d", (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+                       tmpString.Printf(_T("Saving Values  %d %c            %d/%d             %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
                        _staticTextInformation->SetLabel(tmpString);
 
 
@@ -1572,7 +1588,7 @@ myfile.close();
                                                                                                                        &pLstValuePosZ);
 
                                wxString filename;
-                               filename.Printf("%s\\%s-slice%d-cont%d.txt",directory.c_str(),namefile.c_str(),z,iContourGroup);
+                               filename.Printf(_T("%s\\%s-slice%d-cont%d.txt"),directory.c_str(),namefile.c_str(),z,iContourGroup);
                                FILE *pFile=fopen((const char *)filename.mb_str(),"w+");
                                fprintf(pFile,"value \t x \t y \t z\n"  );
                                int iLstValue,sizeLstValue=pLstValue.size();
@@ -1630,7 +1646,7 @@ myfile.close();
                {
 
                        porcent = 100.0* (z-minZ)/totalZ;
-                       tmpString.Printf("Saving Values  %d %c            %d/%d             %d", (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
+                       tmpString.Printf(_T("Saving Values  %d %c            %d/%d             %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ ,z);
                        _staticTextInformation->SetLabel(tmpString);
 
                        //Extraction data from contours of each slice
@@ -1684,7 +1700,7 @@ myfile.close();
 
 
                wxString filename;
-               filename.Printf("%s\\%s-Value.mhd",directory.c_str(),namefile.c_str(),z);
+               filename.Printf(_T("%s\\%s-Value.mhd"),directory.c_str(),namefile.c_str(),z);
 
 // Image Value
                vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( );
@@ -1694,7 +1710,7 @@ myfile.close();
                writerValueImage->Write( );
 
 // Image Mask
-               filename.Printf("%s\\%s-Mask.mhd",directory.c_str(),namefile.c_str(),z);
+               filename.Printf(_T("%s\\%s-Mask.mhd"),directory.c_str(),namefile.c_str(),z);
                vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( );
                writerMaskImage->SetInput( contourextractdata->GetVtkImageMaskResult() );
                writerMaskImage->SetFileName( (const char *)filename.mb_str() );
@@ -2068,7 +2084,7 @@ myfile.close();
                std::vector<int> tempVector;
                _instantPanel->getInstant( tempVector );
         _performingOperation->reset();
-               _performingOperation->setStartCommand( (char)wxContour_ActionCommandsID::COPY_TOOL );
+               _performingOperation->setStartCommand( /*(char)*/wxContour_ActionCommandsID::COPY_TOOL );
                _performingOperation->setStartOperationInstantVector( tempVector );
                _performingOperation->setKeyNamesOperationElems( keyNamesVector );
 
@@ -3097,7 +3113,7 @@ void wxContourEventHandler::OnInterpolation(wxCommandEvent& event)
 
 
 //------------------------------------------------------------------
-       void wxContourEventHandler :: executeActionCommand( const char  toolCommand )
+       void wxContourEventHandler :: executeActionCommand( const wxString &  toolCommand )
        {
                std::vector<std::string> currentSelection = _sceneManager->getSelectedObjects();
                int elementsSelected = currentSelection.size();
@@ -3270,7 +3286,8 @@ void wxContourEventHandler::OnInterpolation(wxCommandEvent& event)
                inredo = 0;
 
                char str[9000];
-               itoa(inundo, str, 10);
+               //itoa(inundo, str, 10);
+               sprintf(str, "%d", inundo);
 
                std::string temp = stundoredo + *str + ".roi";
                saveFileWithContours(temp);
@@ -3309,7 +3326,8 @@ void wxContourEventHandler :: onREDO()
                        inundo++;
 
             char str[9000];
-                       itoa(inundo, str, 10);
+                       //itoa(inundo, str, 10);
+                       sprintf(str, "%d", inundo);
 
             
                        std::string temp = stundoredo + *str + ".roi";
@@ -3324,10 +3342,12 @@ void wxContourEventHandler :: onREDO()
        void wxContourEventHandler :: onUNDO()
        {
                if(inundo>0){
+                  char str[9000];
                        if(inredo==0){
 
-                               char str[9000];
-                               itoa(inundo, str, 10);
+                               
+                               //itoa(inundo, str, 10);
+                               sprintf(str, "%d",inundo); 
 
                                std::string temp = stundoredo + *str + ".roi";
                                saveFileWithContours(temp);                             
@@ -3336,9 +3356,9 @@ void wxContourEventHandler :: onREDO()
                        inredo++;
                        inundo--;
 
-                       char str[9000];
-                       itoa(inundo, str, 10);
-
+                       
+                       //itoa(inundo, str, 10);
+                        sprintf(str, "%d",inundo);
             
                        std::string temp = stundoredo + *str + ".roi";
                
@@ -3664,9 +3684,9 @@ void wxContourEventHandler :: onREDO()
                                vecZ[i] = actualSlice;
                        } // for
 
-                       wxDialog* dialog = new wxDialog(parent, -1, wxString("Snake"));
+                       wxDialog* dialog = new wxDialog(parent, -1, _T("Snake"));
                        wxPanel* panel = new wxPanel(dialog,-1); 
-                       wxStaticText* sttext = new wxStaticText(panel, -1, wxString("Panel para snake"));
+                       wxStaticText* sttext = new wxStaticText(panel, -1, _T("Panel para snake"));
                        dialog->ShowModal();
                } // if