]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/include/wxImageBrowserWdg.h
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / include / wxImageBrowserWdg.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 #ifndef __WX__IMAGE__BROWSER__WDG__
27 #define __WX__IMAGE__BROWSER__WDG__
28
29 #include <wx/wx.h>
30 #include <wx/image.h>
31 #include <wx/imaglist.h>
32 #include <wx/list.h>
33 #include <wx/scrolwin.h>
34
35 /**
36  * \brief Widget class that shows thumbnails images
37  */
38 class wxImageBrowserWdg : public wxScrolledWindow
39 {
40 public:
41     wxImageBrowserWdg(
42         wxWindow* parent,
43         wxWindowID id = -1,
44         int sx = 100,
45         int sy = 100,
46         int gap = 10,
47         const wxPoint& pos = wxDefaultPosition,
48         const wxSize& size = wxDefaultSize,
49         long style = wxScrolledWindowStyle,
50         const wxString& name = wxPanelNameStr
51         );
52
53     void SetVolume(
54         unsigned short*** volume,
55         wxArrayString& names,
56         int width,
57         int height,
58         int depth,
59         int min,
60         int max
61         );
62
63     void SetScaleX( int sx );
64     void SetScaleY( int sy );
65     void SetGap( int gap );
66     int GetScaleX( );
67     int GetScaleY( );
68     int GetGap( );
69
70     int GetFirst( );
71     int GetLast( );
72
73     void GetSizeParameters( int* n, int* c, int* r );
74
75     void OnDraw( wxDC& dc );
76     void OnSize( wxSizeEvent& event );
77
78     void OnMouseLeftClick( wxMouseEvent& event );
79     void OnMouseRightClick( wxMouseEvent& event );
80
81 //    void Add( const wxImage& ima, const wxString& nrs );
82
83 private:
84
85     int GetIndexClicked( wxMouseEvent& event );
86
87     wxImageList _ima_list;
88     wxArrayString _nrs_list;
89     int _sx;
90     int _sy;
91     int _gap;
92     int _first_selected;
93     int _last_selected;
94
95     DECLARE_EVENT_TABLE( );
96
97 };
98
99 #endif // __WX__IMAGE__BROWSER__WDG__