X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2FHistogramDialog.h;h=c3ba219648c39cef58f1e74017e7de8897724d79;hb=80b04dc9e3b981e24fe9ae0d81cdeb8af6e6f8c1;hp=d1881f6dd883cd620d5f09ade7825d24ccb11732;hpb=0006c401e6399555e1cfa83989a3343ccce51813;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h index d1881f6..c3ba219 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/HistogramDialog.h @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #ifndef __HISTOGRAMSDIALOG__ #define __HISTOGRAMSDIALOG__ @@ -23,9 +48,17 @@ //#include #include #include - #include +#if (VTK_MAJOR_VERSION <= 7) + #include +#else + #include +#endif #include - #include "../wxMPRWidget.h" + //#include "../wxMPRWidget.h" + +#include "HistogramDialogComboBoxItem.h" +#include +#include class HistogramDialog:public wxDialog { @@ -33,11 +66,12 @@ public: /* 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 */ @@ -111,10 +145,14 @@ public: bool getRefreshed(); void setCTF(vtkColorTransferFunction* cf); void setTF(vtkPiecewiseFunction* tf); +#if (VTK_MAJOR_VERSION <= 7) void setVolumeMapper(vtkVolumeRayCastMapper* volMapper); +#else + void setVolumeMapper(vtkFixedPointVolumeRayCastMapper* volMapper); +#endif void setVolume(vtkVolume* vol); - void setMPR3Dview(wxVtkMPR3DView *wxvtkmpr3Dview1); - void setClipping3DView(wxVtkClipping3DView *wxvtkclipping3Dview1); + //void setMPR3Dview(wxVtkMPR3DView *wxvtkmpr3Dview1); + //void setClipping3DView(wxVtkClipping3DView *wxvtkclipping3Dview1); //-------------------- // plotter Information @@ -128,6 +166,7 @@ public: void OnSaveData(wxCommandEvent& event); void OnLoadData(wxCommandEvent& event); void OnRefreshBtn(wxCommandEvent& event); + /** ** Initialize the histogram @@ -147,51 +186,94 @@ public: std::vector& green, std::vector& blue); void SetFunctions(vtkPiecewiseFunction* _opac, vtkColorTransferFunction* _color); + + /** + ** Set to true in the constructor + **/ + void setInfoPanExtraControls(std::vector comboitems); + + + /** + * + */ + void OnEditColorsCombo(wxCommandEvent& event); + void OnDeleteColor(wxCommandEvent& event); + + std::vector getComboBoxItems(){return _comboitems;} + + void UpdateCurrentComboElement(); + private: /* Histogram Widget */ HistogramWidget* histogramW; - +/** +** +**/ /* ok Button */ - wxButton *okBtn; + //wxButton *okBtn; + wxBitmapButton *okBtn; /* cancel Button */ - wxButton *cancelBtn; + //wxButton *cancelBtn; + wxBitmapButton *cancelBtn; /* save Button */ - wxButton *saveDataBtn; + wxButton *saveDataBtn; /* Load Button */ - wxButton *loadDataBtn; + wxButton *loadDataBtn; /* Refresh Button */ - wxButton *refreshBtn; - - + wxButton *refreshBtn; + wxPanel *_panextracontrols; // the user had pressed refresh bool refreshed; vtkColorTransferFunction *_ctfun; vtkPiecewiseFunction *_tfun; +#if (VTK_MAJOR_VERSION <= 7) vtkVolumeRayCastMapper *volumeMapper; +#else + vtkFixedPointVolumeRayCastMapper *volumeMapper; +#endif vtkVolume *newvol; //things to refresh - wxVtkMPR3DView *wxvtkmpr3Dview; - wxVtkClipping3DView *wxvtkclipping3Dview; + //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(bool extracontrols); + + wxPanel* getPanExtraControls(); + + std::vector bitmapbuttonsvect; + std::vector _comboitems; + + void setCurrentColorConfigurationIntoButton(); + void AddNewBitmapButton(); + wxSizer* getBitmapButtonDelete(wxBitmap bitmap); + std::vector _deletebuttonsvector; + + int _maxgreyvalue; + int _currentcolorselectedbitmap; }; #endif