]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickPanel.cpp
f01f0bff457e7c1354270c1302e00e68865fe9c3
[creaImageIO.git] / src2 / creaImageIOWxGimmickPanel.cpp
1 #include <creaImageIOWxGimmickPanel.h>
2 #include <creaImageIOSystem.h>
3
4 namespace creaImageIO
5 {
6   // CTor
7   WxGimmickPanel::WxGimmickPanel(wxWindow *parent, 
8                                                wxWindowID id,
9                                                const wxPoint& pos,
10                                                const wxSize& size,
11                                                int threads)
12  :   wxPanel( parent, 
13                   id, 
14                   pos,
15                   size,
16                   wxRESIZE_BORDER | 
17               wxSYSTEM_MENU  |
18                   wxCLOSE_BOX |
19                   wxMAXIMIZE_BOX | 
20                   wxMINIMIZE_BOX | 
21                   wxCAPTION  
22                ),
23   //   mGimmick(0),
24      mView(0)
25   {
26     GimmickDebugMessage(1,"WxGimmickPanel::WxGimmickPanel"
27                         <<std::endl);
28     wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
29     
30     try {
31       
32                 mGimmick = boost::shared_ptr<Gimmick>(new Gimmick());
33       mGimmick->Initialize();
34      
35       int min_dim = GIMMICK_2D_IMAGE_SELECTION;
36           int max_dim = GIMMICK_3D_IMAGE_SELECTION;
37       mView = new WxGimmickView(mGimmick,
38                                 this,
39                                 -1,
40                                 wxDefaultPosition,
41                                 size,
42                                 min_dim,
43                                 max_dim,
44                                 threads);
45       mView->Initialize();
46           // Connect the AddProgress callback
47       mView->ConnectValidationObserver ( boost::bind( &WxGimmickPanel::OnSelectedImage , this, _1 ) );
48     }
49     catch (crea::Exception e)
50     {
51       e.Print();
52       return;
53     }
54
55     topsizer->Add( mView,1,wxGROW,0);
56
57     SetSizer( topsizer );     
58     Layout(); 
59   }
60
61   /// Destructor
62   WxGimmickPanel::~WxGimmickPanel()
63   {
64     GimmickDebugMessage(1,"WxGimmickPanel::~WxGimmickPanel"
65                         <<std::endl);
66     if (mView) 
67       {
68         delete mView;
69       }
70     if (mGimmick) 
71       {
72         mGimmick->Finalize();
73 //      delete mGimmick;
74       }
75   }
76   
77 //======================================================================
78   
79 //====================================================================== 
80   
81   ///Callback method on a selection
82   void WxGimmickPanel::OnSelectedImage(bool t)
83   {
84                 mSendImageSignal(t);
85   }
86
87   void WxGimmickPanel::AddImagesToDB(std::string dir)
88   {
89       mView->AddDir(dir);
90   }
91
92   //================================================================
93   //  BEGIN_EVENT_TABLE(WxGimmickPanel, wxDialog)
94   //    END_EVENT_TABLE()
95   //================================================================
96
97
98   //====================================================================
99
100   //====================================================================
101   void WxGimmickPanel::ConnectSendImageObserver(SendImageCallbackType callback)
102   {
103     mSendImageSignal.connect(callback);
104   }
105
106 } // EO namespace creaImageIO
107
108