: wxPanel(parent)
{
+ _img = NULL;
+ _bitmapcombo=NULL;
+ _slidercolor=NULL;
+ _sliderwindowlevel=NULL;
+ colorBar_Bitmap=NULL;
+ _bitmapsizer=NULL;
+
this->SetSizer(getBitmapCombo());
_img = NULL;
_currentitem = -1;
wxSizer* HistogramDialogComboBox::getBitmapCombo(){
- _bitmapsizer = new wxBoxSizer(wxHORIZONTAL);
+ //_bitmapsizer = new wxBoxSizer(wxVERTICAL);
+ _bitmapsizer = new wxBoxSizer(wxVERTICAL);
+
+
+
+ wxBoxSizer* comboeditsizer = new wxBoxSizer(wxHORIZONTAL);
_bitmapcombo = getBitmapComboElements();
wxBitmapButton* edit = new wxBitmapButton(this, -1, bitmap1,wxDefaultPosition,wxSize(30,30));
Connect(edit->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&HistogramDialogComboBox::OnEditBitmapCombo);
- _bitmapsizer->Add(_bitmapcombo,wxSizerFlags().Center().FixedMinSize());
- _bitmapsizer->Add(edit,wxSizerFlags().Center());
+ 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);
+
+ sizersliders->Add(_slidercolor,wxSizerFlags().Expand().Center());
+ sizersliders->Add(_sliderwindowlevel,wxSizerFlags().Expand().Center());
+
+ Connect(_slidercolor->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&HistogramDialogComboBox::OnColorLevelChanged);
+ Connect(_sliderwindowlevel->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction)&HistogramDialogComboBox::OnWindowLevelChanged);
+
+ return sizersliders;
+
+}
+
+double HistogramDialogComboBox::GetWindowLevel(){
+ if(_sliderwindowlevel != NULL){
+ return _sliderwindowlevel->GetValue();
+ }
+}
+double HistogramDialogComboBox::GetColorLevel(){
+ if(_slidercolor != NULL){
+ return _slidercolor->GetValue();
+ }
+}
+
+void HistogramDialogComboBox::OnColorLevelChanged(wxCommandEvent& event){
+ _slidercolor->GetValue();
+
+ wxCommandEvent newevent(wxEVT_SCROLL_THUMBTRACK,this->GetId());
+ ProcessEvent(newevent);
+
+}
+void HistogramDialogComboBox::OnWindowLevelChanged(wxCommandEvent& event){
+ _sliderwindowlevel->GetValue();
+
+ wxCommandEvent newevent(wxEVT_SCROLL_THUMBTRACK,this->GetId());
+ ProcessEvent(newevent);
+
}
void HistogramDialogComboBox::setImageData(vtkImageData* img){
_maxgreyvalue = img->GetScalarRange()[1];
_img = img;
+
+ setSlidersValue();
+
+}
+void HistogramDialogComboBox::setSlidersValue(){
+ if(_img!=NULL){
+ if(_slidercolor!=NULL){
+ _slidercolor->SetRange(_img->GetScalarRange()[0],_img->GetScalarRange()[1]);
+ _slidercolor->SetValue((_img->GetScalarRange()[0]+_img->GetScalarRange()[1])/2);
+ }
+ if(_sliderwindowlevel!=NULL){
+ _sliderwindowlevel->SetRange(_img->GetScalarRange()[0],_img->GetScalarRange()[1]);
+ _sliderwindowlevel->SetValue((_img->GetScalarRange()[0]+_img->GetScalarRange()[1])/2);
+ }
+ }
}
void HistogramDialogComboBox::OnEditBitmapCombo(wxCommandEvent& event){
bitmapcombo->SetSize(65,30);
Connect(bitmapcombo->GetId(), wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction)&HistogramDialogComboBox::OnBitmapComboItemSelected);
-
+
+
for(int i = 0; i < bitmapsitems.size(); i++){
bitmapcombo->SetItemBitmap(i, bitmapsitems[i]->GetBitmap());
wxCommandEvent newevent(wxEVT_COMMAND_COMBOBOX_SELECTED,this->GetId());
ProcessEvent(newevent);
}
+
+
}