#include <vtkColorTransferFunction.h>
#include <vtkVolumeRayCastMapper.h>
#include <vtkVolume.h>
- #include "../wxMPRWidget.h"
-#include "HistogramDialogComboBoxItem.h"
-
-#include <wx/bmpcbox.h>
-
+ //#include "../wxMPRWidget.h"
-#define FILENAME "/Data/colorsfunction.txt"
+#include "HistogramDialogComboBoxItem.h"
+#include <wx/checkbox.h>
+#include <wx/statbmp.h>
class HistogramDialog:public wxDialog
{
/*
Constructor
*/
- HistogramDialog(wxWindow *parent,wxString title,vtkImageData* imageData,int type);
+ HistogramDialog(wxWindow *parent,wxString title,vtkImageData* imageData,bool extracontrols=false);
/*
Constructor
*/
- HistogramDialog(wxWindow *parent,wxString title);
+ HistogramDialog(wxWindow *parent,wxString title,bool extracontrols=false);
+ ~HistogramDialog();
/*
Methods
*/
void setTF(vtkPiecewiseFunction* tf);
void setVolumeMapper(vtkVolumeRayCastMapper* volMapper);
void setVolume(vtkVolume* vol);
- void setMPR3Dview(wxVtkMPR3DView *wxvtkmpr3Dview1);
- void setClipping3DView(wxVtkClipping3DView *wxvtkclipping3Dview1);
+ //void setMPR3Dview(wxVtkMPR3DView *wxvtkmpr3Dview1);
+ //void setClipping3DView(wxVtkClipping3DView *wxvtkclipping3Dview1);
//--------------------
// plotter Information
void OnSaveData(wxCommandEvent& event);
void OnLoadData(wxCommandEvent& event);
void OnRefreshBtn(wxCommandEvent& event);
- void OnEditBitmapCombo(wxCommandEvent& event);
+
/**
** Initialize the histogram
std::vector<double>& blue);
void SetFunctions(vtkPiecewiseFunction* _opac, vtkColorTransferFunction* _color);
- void OnBitmapComboItemSelected(wxCommandEvent& event);
+ /**
+ ** Set to true in the constructor
+ **/
+ void setInfoPanExtraControls(std::vector<HistogramDialogComboBoxItem*> comboitems);
+
+
+ /**
+ *
+ */
+ void OnEditColorsCombo(wxCommandEvent& event);
+ void OnDeleteColor(wxCommandEvent& event);
+
+ std::vector<HistogramDialogComboBoxItem*> getComboBoxItems(){return _comboitems;}
+
+ void UpdateCurrentComboElement();
+
private:
/*
Histogram Widget
/**
**
**/
- double _maxgreyvalue;
/*
ok Button
*/
*/
wxButton *refreshBtn;
- wxSizer* _bitmapsizer;
+ wxPanel* _panextracontrols;
+
// the user had pressed refresh
bool refreshed;
vtkVolume *newvol;
//things to refresh
- wxVtkMPR3DView *wxvtkmpr3Dview;
- wxVtkClipping3DView *wxvtkclipping3Dview;
-
- wxBitmapComboBox* _bitmapcombo;
- std::vector<HistogramDialogComboBoxItem*> _bitmapsitems;
- wxSizer* getControls();
- wxSizer* getBitmapCombo();
- wxBitmapComboBox* getBitmapComboElements();
- void OnLoadComboBoxData(std::vector<HistogramDialogComboBoxItem*>& itembitmaps, std::string filename,std::vector<double>& greyvect, std::vector<int>& redvect, std::vector<int>& greenvect, std::vector<int>& bluevect);
- std::vector<wxBitmap*> GetBitmapsList(std::vector<double> greyvect, std::vector<int> redvect, std::vector<int> greenvect, std::vector<int> bluevect);
+ //wxVtkMPR3DView *wxvtkmpr3Dview;
+ //wxVtkClipping3DView *wxvtkclipping3Dview;
+
+
+ wxSizer* getControls(bool extracontrols = false);
+
+
+
// DECLARE_CLASS(HistogramDialog);
// any class wishing to process wxWindows events must use this macro
//DECLARE_EVENT_TABLE()
- void initializeHistogramDialog();
+ void initializeHistogramDialog(bool extracontrols);
+
+ wxPanel* getPanExtraControls();
+
+ std::vector<wxBitmapButton*> bitmapbuttonsvect;
+ std::vector<HistogramDialogComboBoxItem*> _comboitems;
+
+ void setCurrentColorConfigurationIntoButton();
+ void AddNewBitmapButton();
+ wxSizer* getBitmapButtonDelete(wxBitmap bitmap);
+ std::vector<wxBitmapButton*> _deletebuttonsvector;
+
+ int _maxgreyvalue;
+ int _currentcolorselectedbitmap;
};
#endif