]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRendererView.h
7714676410c5df5ad31f94d577c4a83f324108da
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRendererView.h
1 /*=========================================================================
2
3   Program:   wxMaracas
4   Module:    $RCSfile: wxMaracasRendererView.h,v $
5   Language:  C++
6
7 =========================================================================*/
8
9 #ifndef __wxMaracasRendererViewPanelH__
10 #define __wxMaracasRendererViewPanelH__
11
12 #include <vector>
13 #include <wx/wx.h>
14 #include "wx/aui/aui.h"
15 #include <iostream>
16 #include "marTypes.h"
17 #include "vtkProp3D.h"
18
19 #include "wxMaracasRendererView.h"
20 #include "wxMaracasRenderTabbedPanel.h"
21 #include "wxMaracasMultipleVolumeRendererManager.h"
22 #include "wxMaracasSurfaceRenderingManager.h"
23 //#include "wxMaracasMultipleVolumeRendererPanel.h"
24 //#include "wxMaracasSurfaceRenderingProp3DMHD.h"
25
26 class  creaMaracasVisu_EXPORT  wxMaracasRendererView : public wxPanel
27 {
28
29 public:
30         wxMaracasRendererView( wxWindow* parent, std::string path);
31     ~wxMaracasRendererView( );
32
33         static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path="");
34         static wxMaracasRendererView* getInstance();
35         
36         std::string getPath();
37         wxMaracasRenderTabbedPanel* getTabbedPanel(int id)throw(char*);
38
39         void setRenderer(vtkRenderer*  renderer) throw(char*);
40         void onLoadImageFile();
41         void addVolumes(vtkImageData* img, std::string pathfile, std::string filename);
42         void addPanels(wxMaracasRenderTabbedPanel* wxtabs, vtkImageData* img, std::string pathfile, std::string filename);
43
44         void deleteVolume(int volid);
45         void addRemoveActorVol(int id, bool remove);
46         void addRemoveSurf1Actor(int id, bool addremove);
47         void addRemoveSurf2Actor(int id, bool addremove);
48         void addRemoveSurf3Actor(int id, bool addremove);
49
50         std::vector<std::string> getFiles();
51         
52 private:
53         static wxMaracasRendererView* instance;
54
55         std::vector<wxMaracasRenderTabbedPanel*> tabsVector;
56         std::vector<std::string> files;
57         
58         wxAuiManager* wxauimanager;
59         wxToolBar * _toolb;
60
61         vtkRenderer*  _renderer;
62         std::string _path;
63 };
64
65 class ToolBarEventHandlerRenderer : public wxEvtHandler
66 {
67
68         public:
69                 ToolBarEventHandlerRenderer();
70                 ~ToolBarEventHandlerRenderer();
71
72                 void onLoadImageFile(wxCommandEvent& event);
73
74         private:
75
76                 DECLARE_EVENT_TABLE()
77         };
78
79 class ToolBarRenderer : public wxToolBar{
80
81         
82 public:
83         ToolBarRenderer(wxWindow * parent,std::string iconsdir);
84         ~ToolBarRenderer(void);
85
86
87 private:
88
89         ToolBarEventHandlerRenderer* _evthand;
90
91 };
92
93 #endif