X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasIRMView.h;h=441f78cbef0bc9a1d2ef44410f96556dcd688323;hb=1bf58cfa1758464b422d1d0cca808e528043e691;hp=d8de471a0cffbf998c184fc27e068b8cc750dac1;hpb=bf59a58c8e18d27d491ce9681c06e50c8213cb23;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.h index d8de471..441f78c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasIRMView.h @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasIRMView.h,v $ Language: C++ - Date: $Date: 2009/04/01 16:16:59 $ - Version: $Revision: 1.1 $ + Date: $Date: 2009/05/04 07:35:42 $ + Version: $Revision: 1.3 $ Copyright: (c) 2002, 2003 License: @@ -15,73 +15,29 @@ =========================================================================*/ +#ifndef __wxMaracasIRMViewPanelH__ +#define __wxMaracasIRMViewPanelH__ -#ifndef __wxMaracasIRMViewH__ -#define __wxMaracasIRMViewH__ - - +#include #include #include "wx/aui/aui.h" - #include - #include "marTypes.h" - #include "vtkProp3D.h" #include "wxMaracasIRMViewManager.h" -class creaMaracasVisu_EXPORT wxMaracasIRMView : public wxPanel -{ - -public: - wxMaracasIRMView( wxWindow* parent); - ~wxMaracasIRMView( ); - - static wxMaracasIRMView* getInstance(wxWindow* parent); - - static wxMaracasIRMView* getInstance(); - - void setRenderer(vtkRenderer* renderer); - - void changeOpacity(int _propid, int value); - - void changeIsoValue(int _propid, int value); - - - - void addProp3D(vtkProp3D* prop3D); - - - void loadProp3D(); - -private: - static wxMaracasIRMView* instance; - - wxMaracasIRMViewManager* irmmanager; - - wxAuiManager* wxauimanager; - - void createFileChooser(); -}; - -#endif // __wxMaracasIRMViewH__ - -// EOF - wxMaracasIRMView.h - -#ifndef __wxMaracasIRMViewPanelH__ -#define __wxMaracasIRMViewPanelH__ - class wxMaracasIRMViewPanel : public wxPanel{ public: - wxMaracasIRMViewPanel(wxWindow* parent) + wxMaracasIRMViewPanel(wxWindow* parent, int propid) : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){ createPanel(); + _propid = propid; } //virtual ~wxMaracasIRMViewPanel(); virtual void createPanel(){ show = false; - wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL); + /*wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL); wxButton* b = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, wxString(_T("-"))); @@ -91,13 +47,13 @@ public: Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasIRMViewPanel::onActionButtonPressedEliminate); sizerButtons->Add(b, wxFIXED_MINSIZE); - sizerButtons->Add(b1, wxFIXED_MINSIZE); + sizerButtons->Add(b1, wxFIXED_MINSIZE);*/ sizercontrols = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sizerpanel = new wxBoxSizer(wxHORIZONTAL); - sizerpanel->Add(sizerButtons,wxGROW); + //sizerpanel->Add(sizerButtons,wxGROW); sizerpanel->Add(sizercontrols,wxGROW); this->SetSizer(sizerpanel, true); @@ -112,6 +68,14 @@ public: sizercontrols->Add(win, wxGROW); } } + /** + ** Adds a new control to the panel (sizer, radiob, etc) + **/ + virtual void addControl(wxSizer* sizer){ + if(sizercontrols!=NULL){ + sizercontrols->Add(sizer, wxGROW); + } + } /** ** Hides or show the controls in the panel @@ -130,53 +94,116 @@ public: /** ** The user must implement this function to remove the panel from the **/ - virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0; + //virtual void onActionButtonPressedEliminate( wxCommandEvent& event )=0; /** ** The user must implement this function to add the necessary controls to the panel **/ virtual void createControls( )=0; + /** + ** returns the id of the panel + **/ + int getPropId(){ + return _propid; + } private: wxBoxSizer* sizercontrols; bool show; +protected: + int _propid; + +}; + + + + +class creaMaracasVisu_EXPORT wxMaracasIRMView : public wxPanel +{ + +public: + wxMaracasIRMView( wxWindow* parent, std::string path); + ~wxMaracasIRMView( ); + + static wxMaracasIRMView* getInstance(wxWindow* parent,std::string path=""); + + static wxMaracasIRMView* getInstance(); + + void setRenderer(vtkRenderer* renderer); + + void changeOpacity(int propid, int value); + + void changeIsoValue(int propid, double value); + + void addRemoveActor(int propid, bool addremove); + + void changeColor(int propid, double red, double green, double blue); + + void addProp3D(vtkProp3D* prop3D, std::string dataname=""); + + void addPropMHD(vtkImageData* imgdata, std::string dataname=""); + + void loadProp3D(wxString filename, wxString dataname); + + void loadPropMHD(wxString filename, wxString dataname); + + void onLoadImageFile(); + + void addIRMViewPanel(wxMaracasIRMViewPanel* irmview, std::string dataname=""); + + std::string getPath(); + + void deleteActor(int propid); +private: + static wxMaracasIRMView* instance; + + wxMaracasIRMViewManager* irmmanager; + + wxAuiManager* wxauimanager; + + void createFileChooser(); + + std::string _path; }; -#endif -#ifndef __wxMaracasIRMViewPanelProp3DH__ -#define __wxMaracasIRMViewPanelProp3DH__ class wxMaracasIRMViewProp3D : public wxMaracasIRMViewPanel{ public: wxMaracasIRMViewProp3D(wxWindow* parent, int propid); ~wxMaracasIRMViewProp3D(); - void createControls(); - void onActionButtonPressedEliminate( wxCommandEvent& event ); - void onOpacityRelease(wxScrollEvent& event ); - void onIsoValueRelease(wxScrollEvent& event ); - void onRadioBoxChange(wxCommandEvent& event); + virtual void createControls(); + void onOpacityRelease(wxScrollEvent& event ); + void onCheckBoxChange(wxCommandEvent& event); + void onColorChange(wxCommandEvent& event); private: - wxRadioBox* radiob; - wxSlider* opacity; - wxSlider* isovalue; - int _propid; + wxCheckBox* checkbox; + wxSlider* opacity; + wxBitmapButton* _colorchoose; + }; -#endif -#pragma once -#ifndef __ToolBar__ -#define __ToolBar__ -#include +class wxMaracasIRMViewProp3DMHD : public wxMaracasIRMViewProp3D{ +public: + wxMaracasIRMViewProp3DMHD(wxWindow* parent, int propid); + ~wxMaracasIRMViewProp3DMHD(); + void onIsoValueRelease(wxScrollEvent& event ); + void createControls(int maxisovalue); + + +private: + wxSlider* isovalue; + int _propid; + +}; -#include @@ -184,13 +211,11 @@ class ToolBar : public wxToolBar{ public: - ToolBar(wxWindow * parent,std::string iconsdir="C:/Creatis/creaAppli/Development/creaPipeline/Data/Icons/"); + ToolBar(wxWindow * parent,std::string iconsdir); ~ToolBar(void); - void onExecPipeline(wxCommandEvent& event); - - void onLoadConfig(wxCommandEvent& event); + void onLoadImageFile(wxCommandEvent& event); private: