creaImageIOWxGimmickReaderDialog.h

Go to the documentation of this file.
00001 #ifndef __creaImageIOWxGimmickReaderDialog_h_INCLUDED__
00002 #define __creaImageIOWxGimmickReaderDialog_h_INCLUDED__
00003 
00004 #ifdef USE_WXWIDGETS
00005 
00006 #include <creaImageIOWxGimmickView.h>
00007 #include "creaImageIOSystem.h"
00008 #include <creaWx.h>
00009 #include "wx/wx.h"
00010 namespace creaImageIO
00011 {
00016   //=====================================================================
00017  //=====================================================================
00018   class CREAIMAGEIO_EXPORT  WxGimmickReaderDialog : public wxDialog
00019   {
00020   public:
00021     WxGimmickReaderDialog();
00022     WxGimmickReaderDialog(wxWindow *parent,
00023                           const wxWindowID id,
00024                           const std::string i_namedescp , 
00025                           const std::string i_namedb ,
00026                           wxString title,
00027                           const wxPoint& pos,
00028                           const wxSize& size,
00029                           int image_min_dim = GIMMICK_2D_IMAGE_SELECTION,
00030                           int image_max_dim = GIMMICK_3D_IMAGE_SELECTION,
00031                           int output_dim = NATIVE,
00032                           int threads = 0);
00033 
00034     boost::shared_ptr<Gimmick> GetGimmick() { return mGimmick; }
00035     //    typedef WxGimmick ViewType;
00036     typedef WxGimmickView::EventType EventType;
00037 
00038     ~WxGimmickReaderDialog();
00039 
00040         //===============================================================================================
00041         //Image Selection
00042         //===============================================================================================
00043 
00044     void GetSelectedImages(std::vector<vtkImageData*>& s, int dim)
00045     { mView->GetSelectedImages(s, dim); }
00046 
00047     void GetSelectedImagesInVector(std::vector<vtkImageData*>& s, int dim)
00048     { mView->GetSelectedImagesInVector(s, dim); }
00049 
00050         // ----get selected files in an Output structure-------
00051         // out: vector structure output  < <img, info>, ... >
00052         // i_attr: list of dicom tags to extract 
00053         // mult: information of one file or multiple files
00054         // outmodel: xml-filename that specifies images order..(todo) 
00055         void getSelected(std::vector<OutStrGimmick> &outG,std::vector< std::string> i_attr, bool mult, const std::string outmodel)
00056         {
00057                 mView->getSelectedFiles(outG, i_attr, mult, outmodel);
00058         }
00059 
00060     void GetSelectedFiles(std::vector<std::string>& s) 
00061     { mView->GetSelectedFiles(s); }
00062 
00063     void OnSelChanged(EventType& event);
00064     void OnContextualMenu(EventType& event);
00065     void OnMenuTest(wxCommandEvent& event);
00066     void OnValid(bool valid);
00067     void OnExit(){ mView->StopPlayer(); }
00068         void deleteMessage();
00069     // void OnButtonOk(wxCommandEvent& event);
00070     // void OnButtonCancel(wxCommandEvent& event);
00071         void stopReading()
00072         {
00073                 mView->stopReader();
00074         }
00075 
00076   private :
00077 
00078     boost::shared_ptr<Gimmick>   mGimmick;
00079     WxGimmickView* mView;
00080 
00081     wxButton* mOkButton;
00082     wxButton* mCancelButton;
00083         wxBoxSizer *mtopsizer;
00084 
00085     enum 
00086       {
00087         TVID = 1
00088         //      OKID = 2,
00089         //      CANCELID = 3
00090       };
00091 
00092   }; // class WxGimmickReaderDialog
00093   //=====================================================================
00094         
00095 } // EO namespace creaImageIO
00096 
00097 
00098 #endif // USE_WIDGETS
00099 // EOF
00100 #endif