00001 #ifndef __WX__IMAGE__BROWSER__WDG__
00002 #define __WX__IMAGE__BROWSER__WDG__
00003
00004 #include <wx/wx.h>
00005 #include <wx/image.h>
00006 #include <wx/imaglist.h>
00007 #include <wx/list.h>
00008 #include <wx/scrolwin.h>
00009
00013 class wxImageBrowserWdg : public wxScrolledWindow
00014 {
00015 public:
00016 wxImageBrowserWdg(
00017 wxWindow* parent,
00018 wxWindowID id = -1,
00019 int sx = 100,
00020 int sy = 100,
00021 int gap = 10,
00022 const wxPoint& pos = wxDefaultPosition,
00023 const wxSize& size = wxDefaultSize,
00024 long style = wxScrolledWindowStyle,
00025 const wxString& name = wxPanelNameStr
00026 );
00027
00028 void SetVolume(
00029 unsigned short*** volume,
00030 wxArrayString& names,
00031 int width,
00032 int height,
00033 int depth,
00034 int min,
00035 int max
00036 );
00037
00038 void SetScaleX( int sx );
00039 void SetScaleY( int sy );
00040 void SetGap( int gap );
00041 int GetScaleX( );
00042 int GetScaleY( );
00043 int GetGap( );
00044
00045 int GetFirst( );
00046 int GetLast( );
00047
00048 void GetSizeParameters( int* n, int* c, int* r );
00049
00050 void OnDraw( wxDC& dc );
00051 void OnSize( wxSizeEvent& event );
00052
00053 void OnMouseLeftClick( wxMouseEvent& event );
00054 void OnMouseRightClick( wxMouseEvent& event );
00055
00056
00057
00058 private:
00059
00060 int GetIndexClicked( wxMouseEvent& event );
00061
00062 wxImageList _ima_list;
00063 wxArrayString _nrs_list;
00064 int _sx;
00065 int _sy;
00066 int _gap;
00067 int _first_selected;
00068 int _last_selected;
00069
00070 DECLARE_EVENT_TABLE( );
00071
00072 };
00073
00074 #endif // __WX__IMAGE__BROWSER__WDG__