]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/HistogramDialogComboBox.cxx
#2846 creaMaracasVisu Bug New Normal - HistogramDialogComboBox not finding good...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / pPlotter / HistogramDialogComboBox.cxx
index e57059a3fed44f08493276d8d7f8684a49800434..15d4495e401a6649a3f87145554f3c633854fcd7 100644 (file)
 HistogramDialogComboBox::HistogramDialogComboBox(wxWindow* parent)
 : wxPanel(parent)
 {
-       _img                    = NULL;
+       _img                            = NULL;
        _bitmapcombo            = NULL;
        _slidercolor            = NULL;
        _sliderwindowlevel      = NULL;
+       _ckboxActive            = NULL;
        colorBar_Bitmap         = NULL;
        _bitmapsizer            = NULL;
-
        InitCurrentPathColorsFuntion();
        this->SetSizer(getBitmapCombo());
-       _img                    = NULL;
+       _img                            = NULL;
        _currentitem            = -1;    
        _maxgreyvalue           = 0;
-
-
 }
 
 
-
-
 HistogramDialogComboBox::~HistogramDialogComboBox()
 {
 }
@@ -74,35 +70,39 @@ wxSizer* HistogramDialogComboBox::getBitmapCombo()
 
        wxBoxSizer* comboeditsizer = new wxBoxSizer(wxHORIZONTAL);
        _bitmapcombo = getBitmapComboElements();
-        BitmapComboItemSelect(0);
-
+    BitmapComboItemSelect(0);
        wxBitmap bitmap1(Edit_xpm);
        wxBitmapButton* edit = new wxBitmapButton(this, -1, bitmap1,wxDefaultPosition,wxSize(30,30));
        Connect(edit->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&HistogramDialogComboBox::OnEditBitmapCombo);
-
+       _ckboxActive= new wxCheckBox( this, 
+                             -1, 
+                             _T(" "),
+                             wxDefaultPosition, 
+                             //wxSize(sizeX,sizeY),
+                             wxDefaultSize, 
+                             wxCHK_2STATE | wxALIGN_RIGHT);      
+       _ckboxActive->SetValue(false);
+
+    Connect( _ckboxActive->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) (void (wxPanel::*)(wxScrollEvent&))  &HistogramDialogComboBox::OnChkBoxActive);
+
+       comboeditsizer->Add(_ckboxActive,wxSizerFlags().Center().FixedMinSize());
        comboeditsizer->Add(_bitmapcombo,wxSizerFlags().Center().FixedMinSize());
        comboeditsizer->Add(edit,wxSizerFlags().Center());
-
        _bitmapsizer->Add(comboeditsizer,wxSizerFlags().FixedMinSize().Center());
        _bitmapsizer->AddSpacer(5);
        _bitmapsizer->Add(getSlidersWlCo(),wxSizerFlags().Expand().Center());
-
        return _bitmapsizer;
 }
 
 wxSizer* HistogramDialogComboBox::getSlidersWlCo()
 {
-       wxBoxSizer* sizersliders = new wxBoxSizer(wxVERTICAL);
-
-       _slidercolor = new wxSlider(this, -1,1,0,1,wxDefaultPosition,wxDefaultSize,wxSL_LABELS);
-       _sliderwindowlevel = new wxSlider(this, -1,1,0,1,wxDefaultPosition,wxDefaultSize,wxSL_LABELS);
-
+       wxBoxSizer* sizersliders        = new wxBoxSizer(wxVERTICAL);
+       _slidercolor                            = new wxSlider(this, -1,1,0,1,wxDefaultPosition,wxDefaultSize,wxSL_LABELS);
+       _sliderwindowlevel                      = new wxSlider(this, -1,1,0,1,wxDefaultPosition,wxDefaultSize,wxSL_LABELS);
        sizersliders->Add(_slidercolor,wxSizerFlags().Expand().Center());
        sizersliders->Add(_sliderwindowlevel,wxSizerFlags().Expand().Center());
-
-       Connect(_slidercolor->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&HistogramDialogComboBox::OnColorLevelChanged);
+    Connect(_slidercolor->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&HistogramDialogComboBox::OnColorLevelChanged);
        Connect(_sliderwindowlevel->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&HistogramDialogComboBox::OnWindowLevelChanged);
-
        return sizersliders;
 }
 
@@ -110,7 +110,9 @@ double HistogramDialogComboBox::GetWindowLevel()
 {
    double val(0.0);
    if(_sliderwindowlevel != NULL)
+       {
       val= _sliderwindowlevel->GetValue();
+       }
    return val; // JPR
 }
 
@@ -118,10 +120,31 @@ double HistogramDialogComboBox::GetColorLevel()
 {
    double val(0.0);
    if(_slidercolor != NULL)
+       {
       val = _slidercolor->GetValue();
+       }
    return val; // JPR
 }
 
+
+bool HistogramDialogComboBox::GetActive()
+{
+       bool result = false;
+       if (_ckboxActive!=NULL) 
+       {
+               result = _ckboxActive->GetValue();
+       }
+       return result;
+}
+
+
+void HistogramDialogComboBox::OnChkBoxActive(wxCommandEvent& event)
+{
+   wxCommandEvent newevent(wxEVT_COMMAND_COMBOBOX_SELECTED,this->GetId());
+   ProcessEvent(newevent);
+}
+
+
 void HistogramDialogComboBox::OnColorLevelChanged(wxCommandEvent& event)
 {
    _slidercolor->GetValue();
@@ -259,6 +282,7 @@ void HistogramDialogComboBox::InitCurrentPathColorsFuntion()
       _currentpathColorsFuntion = "";
 #ifdef WIN32
        _currentpathColorsFuntion = crea::System::GetDllAppPath("bbcreaMaracasVisu");
+       _currentpathColorsFuntion.append("/data/");
 #endif
 #ifdef LINUX
        _currentpathColorsFuntion = crea::System::GetExecutablePath();
@@ -375,13 +399,13 @@ void HistogramDialogComboBox::OnLoadComboBoxData(std::vector<HistogramDialogComb
                {
                        item = new HistogramDialogComboBoxItem();
                }else if((int)(line.find("<greyValue>"))!=-1) {
-                       int pos1=line.find(">");
+            int pos1=line.find(">");
                        int pos2=line.find("<",pos1+1);
                        std::string x=line.substr(pos1+1,pos2-pos1-1);
                        gvtransfer=atof(x.c_str());
                        greyvecttransfunct.push_back(gvtransfer);
                }else if((int)(line.find("<intensity>"))!=-1) {
-                       int pos1=line.find(">");
+            int pos1=line.find(">");
                        int pos2=line.find("<",pos1+1);
                        std::string x=line.substr(pos1+1,pos2-pos1-1);
                        intensity=atof(x.c_str());
@@ -455,10 +479,11 @@ void HistogramDialogComboBox::OnLoadComboBoxData(std::vector<HistogramDialogComb
 **/
 void HistogramDialogComboBox::GetValuesPointsFunction(std::vector<double>& greylevel,std::vector<double>& value)
 {
-       for(int i = 0; i < _greyvecttransfer.size();i++) {
+       for(int i = 0; i < _greyvecttransfer.size();i++) 
+       {
                greylevel.push_back(_greyvecttransfer[i]*_maxgreyvalue);
                value.push_back(_value[i]);
-       }
+       } // for i
 }
 
 /**
@@ -470,10 +495,12 @@ void HistogramDialogComboBox::GetValuesColorPointsFunction(std::vector<double>&
                                                                std::vector<double>& green,
                                                                std::vector<double>& blue)
 {
-       for(int i = 0; i < _greyvect.size();i++) {
+       for(int i = 0; i < _greyvect.size();i++) 
+       {
                greylevel.push_back(_greyvect[i]*_maxgreyvalue);
                red.push_back(_redvect[i]);
                green.push_back(_greenvect[i]);
                blue.push_back(_bluevect[i]);
-       }
+       } // for i
 }
+