]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickPanel.cpp
move directory
[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                                                    const std::string i_namedescp , 
12                                                    const std::string i_namedb ,
13                                                int threads)
14  :   wxPanel( parent, 
15                   id, 
16                   pos,
17                   size,
18                   wxRESIZE_BORDER | 
19               wxSYSTEM_MENU  |
20                   wxCLOSE_BOX |
21                   wxMAXIMIZE_BOX | 
22                   wxMINIMIZE_BOX | 
23                   wxCAPTION  
24                ),
25      //mGimmick(0),
26      mView(0)
27   {
28     GimmickDebugMessage(1,"WxGimmickPanel::WxGimmickPanel"
29                         <<std::endl);
30     wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
31     
32     try {
33       
34                 mGimmick = boost::shared_ptr<Gimmick>(new Gimmick());
35                 mGimmick->Initialize(i_namedescp,i_namedb);
36       int min_dim = GIMMICK_2D_IMAGE_SELECTION;
37           int max_dim = GIMMICK_3D_IMAGE_SELECTION;
38       mView = new WxGimmickView(mGimmick,
39                                 this,
40                                 -1,
41                                 wxDefaultPosition,
42                                 size,
43                                 min_dim,
44                                 max_dim,
45                                 threads);
46       mView->Initialize();
47           // Connect the AddProgress callback
48       mView->ConnectValidationObserver ( boost::bind( &WxGimmickPanel::OnSelectedImage , this, _1 ) );
49     }
50     catch (crea::Exception e)
51     {
52       e.Print();
53       return;
54     }
55
56     topsizer->Add( mView,1,wxGROW,0);
57
58     SetSizer( topsizer );     
59     Layout(); 
60   }
61
62   /// Destructor
63   WxGimmickPanel::~WxGimmickPanel()
64   {
65     GimmickDebugMessage(1,"WxGimmickPanel::~WxGimmickPanel"
66                         <<std::endl);
67     if (mView) 
68       {
69         delete mView;
70       }
71     if (mGimmick) 
72       {
73         mGimmick->Finalize();
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