]> Creatis software - creaContours.git/blobdiff - lib/Interface_Icons_NDimensions/interfToolsPanels.cxx
no message
[creaContours.git] / lib / Interface_Icons_NDimensions / interfToolsPanels.cxx
index 08f736097b34d432237b9bcbfdf7dc353bcad5a3..145d5110f8dc1dfe4dd1474f41cb6870b5b300d2 100644 (file)
@@ -8,7 +8,7 @@ interfConfigurationPanel::interfConfigurationPanel(wxWindow * parent)
        _withOfContourLine                                              = new wxSlider(this, -1, 1 , 1, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
 
        double range[2];
-       interfMainPanel::getInstance()->GetImageDataRange(range);
+       interfMainPanel::getInstance()->getImageRange(range);
        //this->_theViewPanel->getSceneManager()->GetImageDataRange(range);
 
        //wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)this->_theViewPanel->getWxVtkBaseView();
@@ -19,9 +19,12 @@ interfConfigurationPanel::interfConfigurationPanel(wxWindow * parent)
        int colorwindow = interfMainPanel::getInstance()->getColorWindow();
        int windowlevel = interfMainPanel::getInstance()->getWindowLevel();
 
+       int min = (int)floor (range[0]);
+       int max = (int)ceil (range[1]);
+
        
-       _brithtnessWindowLevel                                  = new wxSlider(this, -1, windowlevel , 1, (int)range[1], wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
-       _brithtnessColorLevel                                   = new wxSlider(this, -1, colorwindow , 1, (int)range[1], wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+       _brithtnessWindowLevel                                  = new wxSlider(this, -1, windowlevel , min, max, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+       _brithtnessColorLevel                                   = new wxSlider(this, -1, colorwindow , min, max, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
 
        _interpolationCheckBox = new wxCheckBox(this, -1, _T("Image interpolation") );
        _interpolationCheckBox->SetValue(true);         
@@ -212,11 +215,16 @@ interfInformationPanel::interfInformationPanel(wxWindow * parent)
        statisticsContourBtn->SetEventHandler( this );
        Connect( statisticsContourBtn->GetId(),         wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfInformationPanel::onExtractInformation ); 
 
+       wxButton *showResultImagesBtn                                           = new wxButton(this,-1,_T("Show result images"),wxDefaultPosition, wxSize(140,35) );
+       showResultImagesBtn->SetEventHandler( this );
+       Connect( showResultImagesBtn->GetId(),          wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfInformationPanel::onShowResultImages ); 
+       
+       
        wxButton *saveResultsBtn                                                = new wxButton(this,-1,_T("Save Results"),wxDefaultPosition, wxSize(140,35) );
        saveResultsBtn->SetEventHandler( this );
        Connect( saveResultsBtn->GetId(),               wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfInformationPanel::onSaveResults ); 
-
-
+       
+       
        int sizeZ = interfMainPanel::getInstance()->GetImageDataSizeZ();
        //_theViewPanel->getSceneManager()->GetImageDataSizeZ();                        
        _mbarrangeSliceInformation                                      =  new mBarRange(this,65,65);
@@ -232,22 +240,24 @@ interfInformationPanel::interfInformationPanel(wxWindow * parent)
        _mbarrangeSliceInformation-> SetStart( 0 );
        _mbarrangeSliceInformation-> SetEnd( sizeZ-1 );  
 
-
        double range[2];
-       interfMainPanel::getInstance()->GetImageDataRange(range);
-       //this->_theViewPanel->getSceneManager()->GetImageDataRange(range);
-       _mbarrangeRangeInformation                                      =  new mBarRange(this,65,65);
+       interfMainPanel::getInstance()->getImageRange(range);
+
+       int min = (int)floor (range[0]);
+       int max = (int)ceil (range[1]);
+
+       _mbarrangeRangeInformation      =  new mBarRange(this,65,65);
        _mbarrangeRangeInformation->SetMin(0);
        _mbarrangeRangeInformation->SetStart(0);
        _mbarrangeRangeInformation-> SetOrientation( true );
        _mbarrangeRangeInformation-> setActiveStateTo(true);
        _mbarrangeRangeInformation-> setVisibleLabels( true );
        _mbarrangeRangeInformation-> setDeviceEndMargin(10);
-       _mbarrangeRangeInformation-> setRepresentedValues( range[0] , range[1] );
+       _mbarrangeRangeInformation-> setRepresentedValues( min , max );
        _mbarrangeRangeInformation-> setDeviceBlitStart(10,10); 
        _mbarrangeRangeInformation-> setIfWithActualDrawed( false );
-       _mbarrangeRangeInformation-> SetStart( (int)range[0] );
-       _mbarrangeRangeInformation-> SetEnd( (int)range[1] );  
+       _mbarrangeRangeInformation-> SetStart( min );
+       _mbarrangeRangeInformation-> SetEnd( max );  
 
        _staticTextInformation  = new wxStaticText(this,-1,_T("    "));
 
@@ -285,6 +295,7 @@ interfInformationPanel::interfInformationPanel(wxWindow * parent)
        wxFlexGridSizer * sizerB                = new wxFlexGridSizer(10);
        sizerB->Add( informationContourLabelsBtn, 1, wxALL ,2 );
        sizerB->Add( statisticsContourBtn, 1, wxALL ,2 );
+       sizerB->Add( showResultImagesBtn, 1, wxALL ,2 );
        sizerB->Add( saveResultsBtn, 1, wxALL ,2 );
 
        wxFlexGridSizer * sizer         = new wxFlexGridSizer(1,8);
@@ -311,6 +322,16 @@ void interfInformationPanel::onInformationContourLabels(wxCommandEvent& event){
        wxBusyCursor wait;
        FillGridWithContoursInformation();
 }
+
+
+void interfInformationPanel::onShowResultImages(wxCommandEvent& event)
+{
+//     onExtractInformation( event );
+       int typeContourGroup = _radiolstboxContourGroup->GetSelection();
+       interfMainPanel::getInstance()->ShowResultImages( typeContourGroup );   
+}
+
+
 void interfInformationPanel::onExtractInformation(wxCommandEvent& event){
        wxBusyCursor wait;
        _grid->ClearGrid();
@@ -320,13 +341,12 @@ void interfInformationPanel::onExtractInformation(wxCommandEvent& event){
        int minZ        = _mbarrangeSliceInformation->GetStart();
        int maxZ        = _mbarrangeSliceInformation->GetEnd();
 
-       interfMainPanel::getInstance()->onInformationContourLabels(typeContourGroup, selection, minZ, maxZ);
-
-       
+       interfMainPanel::getInstance()->onInformationContourLabels(typeContourGroup, selection, minZ, maxZ);    
 }
+
 void interfInformationPanel::onSaveResults(wxCommandEvent& event)
 {
-       wxFileDialog dialog(this, _T("Choose a file"), _T(""), _T(""), _T("*.txt"), wxSAVE );
+       wxFileDialog dialog(this, _T("Choose a filename"), _T(""), _T(""), wxFileSelectorDefaultWildcardStr, wxSAVE );
        if (dialog.ShowModal() == wxID_OK)
        {
                onExtractInformation( event );