#ifndef __creaImageIOWxGimmickPanel_h_INCLUDED__ #define __creaImageIOWxGimmickPanel_h_INCLUDED__ #ifdef USE_WXWIDGETS // Signal/slot mechanism for progress events #include #include #include #include namespace creaImageIO { /** * \ingroup GUI */ //===================================================================== //===================================================================== class CREAIMAGEIO_EXPORT WxGimmickPanel : public wxPanel { public: WxGimmickPanel(); WxGimmickPanel(wxWindow *parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, const std::string i_namedescp , const std::string i_namedb = "Local Database", int threads = 0); ~WxGimmickPanel(); //============================================= typedef boost::signal SendImageSignalType; typedef SendImageSignalType::slot_function_type SendImageCallbackType; //============================================= //================================================================== /// Adds the function f to the list of functions to call /// when the addition progresses. /// f is of type ProgressCallbackType which is: /// void (*ProgressCallbackType)(Progress&) /// To pass a member function 'f' of an instance 'c' of a class 'C' /// as callback you have to 'bind' it, i.e. call: /// ConnectSendImageObserver ( boost::bind( &C::f , c, _1 ) ); void ConnectSendImageObserver(SendImageCallbackType callback); //================================================================== //=============================================================================================== //Image Selection //=============================================================================================== void GetSelectedImages(std::vector& s, int dim) { mView->GetSelectedImages(s, dim); } void GetSelectedImagesInVector(std::vector& s, int dim) { mView->GetSelectedImagesInVector(s, dim); } void OnSelectedImage(bool t); void AddImagesToDB(std::string dir); // DECLARE_EVENT_TABLE(); private : boost::shared_ptr mGimmick; WxGimmickView* mView; ///The sendImage signal SendImageSignalType mSendImageSignal; }; // class WxGimmickPanel //===================================================================== } // EO namespace creaImageIO #endif // USE_WIDGETS // EOF #endif