X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2FHistogramDialog.h;h=5ac1e398857d340b6fcbdf0fe47cb760a1c4d54b;hb=3f720c906477d6f466d04829ab0f76815fd7117c;hp=011314d19e71d17e5e0fc5f4d64435b4a78e016d;hpb=1f7a3dc82e27e218ecf69e19be2f36c02456ea2d;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 011314d..5ac1e39 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__ @@ -25,13 +50,11 @@ #include #include #include - #include "../wxMPRWidget.h" -#include "HistogramDialogComboBoxItem.h" - -#include - + //#include "../wxMPRWidget.h" -#define FILENAME "/Data/colorsfunction.txt" +#include "HistogramDialogComboBoxItem.h" +#include +#include class HistogramDialog:public wxDialog { @@ -39,11 +62,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 */ @@ -119,8 +143,8 @@ public: 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 @@ -134,7 +158,7 @@ public: void OnSaveData(wxCommandEvent& event); void OnLoadData(wxCommandEvent& event); void OnRefreshBtn(wxCommandEvent& event); - void OnEditBitmapCombo(wxCommandEvent& event); + /** ** Initialize the histogram @@ -155,7 +179,22 @@ public: std::vector& blue); void SetFunctions(vtkPiecewiseFunction* _opac, vtkColorTransferFunction* _color); - void OnBitmapComboItemSelected(wxCommandEvent& event); + /** + ** 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 @@ -164,56 +203,67 @@ private: /** ** **/ - double _maxgreyvalue; /* 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; - wxSizer* _bitmapsizer; + wxPanel *_panextracontrols; + // the user had pressed refresh bool refreshed; - vtkColorTransferFunction *_ctfun; + vtkColorTransferFunction *_ctfun; vtkPiecewiseFunction *_tfun; - vtkVolumeRayCastMapper *volumeMapper; + vtkVolumeRayCastMapper *volumeMapper; vtkVolume *newvol; //things to refresh - wxVtkMPR3DView *wxvtkmpr3Dview; - wxVtkClipping3DView *wxvtkclipping3Dview; - - wxBitmapComboBox* _bitmapcombo; - std::vector _bitmapsitems; - wxSizer* getControls(); - wxSizer* getBitmapCombo(); - wxBitmapComboBox* getBitmapComboElements(); - void OnLoadComboBoxData(std::vector& itembitmaps, std::string filename,std::vector& greyvect, std::vector& redvect, std::vector& greenvect, std::vector& bluevect); - std::vector GetBitmapsList(std::vector greyvect, std::vector redvect, std::vector greenvect, std::vector 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 bitmapbuttonsvect; + std::vector _comboitems; + + void setCurrentColorConfigurationIntoButton(); + void AddNewBitmapButton(); + wxSizer* getBitmapButtonDelete(wxBitmap bitmap); + std::vector _deletebuttonsvector; + + int _maxgreyvalue; + int _currentcolorselectedbitmap; }; #endif