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