]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/tools/MaracasTools.h
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / tools / MaracasTools.h
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 /*-----------------------------------------------------
27   DEFINE
28 *------------------------------------------------------*/
29 #if !defined(__TOOLS_MARACAS_TOOLS_H__)
30 #define __TOOLS_MARACAS_TOOLS_H__
31
32 //#include "interface/wxWindows/widgets/wxManualSegmentation_MPRWidget.h"
33 /*-----------------------------------------------------
34   INCLUDE
35 *------------------------------------------------------*/
36 #include <vector>
37
38 #include "wx/frame.h"
39 #include "wx/window.h"
40 #include "wx/event.h"
41
42 #include "osgi/impl/Framework.h"
43 #include "maracas/toolbox/IToolbox.h"
44 #include "maracas/toolbox/IClient.h"
45 #include "maracas/toolbox/IParameter.h"
46
47
48
49
50 class wxManualSegmentation_MPRWidget;
51
52
53
54
55 //using namespace std;
56 /*-----------------------------------------------------
57 Class MaracasTools
58
59   Doc goes here.
60           
61 *------------------------------------------------------*/
62
63 class wxToolsHandler: public wxEvtHandler{
64 public:
65         virtual void OnSelectToolEvent(wxCommandEvent& event)=0;
66 };
67
68
69
70 class MaracasTools: public wxToolsHandler, public IClient{
71         public:
72                 static MaracasTools* GetInstance();
73                 wxFrame* GetToolbox(wxWindow* parent);
74                 IParameter* GetParameter(std::string name);
75                 void SetMPRWidget(wxManualSegmentation_MPRWidget* pWidget){widget = pWidget;}
76                 void OnSelectToolEvent(wxCommandEvent& event);
77                 
78         protected:
79                 MaracasTools();
80         private:
81                 static MaracasTools* INSTANCE;
82                 
83                 wxManualSegmentation_MPRWidget* widget;
84                 
85                 std::vector<int> ids;
86                 
87                 FILE* logger;
88         
89                 Framework* framework;
90                 IToolbox* toolbox;
91                 
92                 wxFrame* toolsFrame;
93                 wxFrame* optionsFrame;
94                 wxPanel* currentToolPanel;
95                 
96                 
97
98                 
99                 int GetIndexForButton(int _wxbuttonid);
100                 void SetIndexForButton(int _wxbuttonid);
101 };
102
103
104
105 #endif //__TOOLS_MARACAS_TOOLS_H__
106
107
108