]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickPanel.h
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOWxGimmickPanel.h
1 #ifndef __creaImageIOWxGimmickPanel_h_INCLUDED__
2 #define __creaImageIOWxGimmickPanel_h_INCLUDED__
3
4 #ifdef USE_WXWIDGETS
5
6 // Signal/slot mechanism for progress events
7 #include <boost/signal.hpp>
8 #include <boost/bind.hpp>
9
10 #include <creaImageIOWxGimmickView.h>
11 #include <creaWx.h>
12
13 namespace creaImageIO
14 {
15   /**
16    * \ingroup GUI
17    */
18   //=====================================================================
19  //=====================================================================
20   class CREAIMAGEIO_EXPORT WxGimmickPanel : public wxPanel
21   {
22   public:
23     WxGimmickPanel();    
24     WxGimmickPanel(wxWindow *parent, 
25                    const wxWindowID id,
26                    const wxPoint& pos, 
27                    const wxSize& size,
28                    int threads = 0);
29     
30     ~WxGimmickPanel();
31
32       //=============================================
33       typedef boost::signal<void (bool)> SendImageSignalType;
34       typedef SendImageSignalType::slot_function_type SendImageCallbackType;
35       //=============================================
36
37      //==================================================================
38       /// Adds the function f to the list of functions to call 
39       /// when the addition progresses.
40       /// f is of type ProgressCallbackType which is:
41       /// void (*ProgressCallbackType)(Progress&)
42       /// To pass a member function 'f' of an instance 'c' of a class 'C' 
43       /// as callback you have to 'bind' it, i.e. call:
44       /// ConnectSendImageObserver ( boost::bind( &C::f , c, _1 ) );
45       void ConnectSendImageObserver(SendImageCallbackType callback);
46      //==================================================================
47
48         //===============================================================================================
49         //Image Selection
50         //===============================================================================================
51
52         void GetSelectedImages(std::vector<vtkImageData*>& s, int dim)
53     { mView->GetSelectedImages(s, dim); }
54
55     void OnSelectedImage(bool t);
56
57         void AddImagesToDB(std::string dir);
58
59     //    DECLARE_EVENT_TABLE();
60   private :
61     
62     Gimmick*       mGimmick;
63     WxGimmickView* mView;
64
65         ///The sendImage signal
66         SendImageSignalType mSendImageSignal;
67
68   }; // class WxGimmickPanel
69   //=====================================================================
70
71   
72 } // EO namespace creaImageIO
73
74
75 #endif // USE_WIDGETS
76 // EOF
77 #endif