]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxGimmickPanel.h
move directory
[creaImageIO.git] / src / creaImageIOWxGimmickPanel.h
diff --git a/src/creaImageIOWxGimmickPanel.h b/src/creaImageIOWxGimmickPanel.h
new file mode 100644 (file)
index 0000000..ad776dd
--- /dev/null
@@ -0,0 +1,86 @@
+#ifndef __creaImageIOWxGimmickPanel_h_INCLUDED__
+#define __creaImageIOWxGimmickPanel_h_INCLUDED__
+
+#ifdef USE_WXWIDGETS
+
+// Signal/slot mechanism for progress events
+#include <boost/signal.hpp>
+#include <boost/bind.hpp>
+
+#include <creaImageIOWxGimmickView.h>
+#include <creaWx.h>
+
+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<void (bool)> 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<vtkImageData*>& s, int dim)
+    { 
+       mView->GetSelectedImages(s, dim); 
+    }
+
+    void GetSelectedImagesInVector(std::vector<vtkImageData*>& s, int dim)
+    { 
+       mView->GetSelectedImagesInVector(s, dim); 
+    }
+
+    void OnSelectedImage(bool t);
+
+    void AddImagesToDB(std::string dir);
+
+    //    DECLARE_EVENT_TABLE();
+  private :
+    
+       boost::shared_ptr<Gimmick>       mGimmick;
+    WxGimmickView* mView;
+
+       ///The sendImage signal
+    SendImageSignalType mSendImageSignal;
+
+  }; // class WxGimmickPanel
+  //=====================================================================
+
+  
+} // EO namespace creaImageIO
+
+
+#endif // USE_WIDGETS
+// EOF
+#endif