]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxListenerPanel.cpp
b9468cb243784e1c8b75b293c507d0351747beee
[creaImageIO.git] / src / creaImageIOWxListenerPanel.cpp
1 #include <creaImageIOWxListenerPanel.h>
2 #include <creaImageIOSystem.h>
3
4 namespace creaImageIO
5 {
6   // CTor
7   WxListenerPanel::WxListenerPanel(wxWindow *parent, wxDialog* dial, WxGimmickView* view, bool stat)
8  :   wxPanel( parent, 
9                   -1, wxDefaultPosition, 
10                   wxDefaultSize,
11                   wxRESIZE_BORDER | 
12               wxSYSTEM_MENU  |
13                   wxCLOSE_BOX |
14                   wxMAXIMIZE_BOX | 
15                   wxMINIMIZE_BOX | 
16                   wxCAPTION  
17                ),       
18                    dialog(dial),
19                    mView(view)
20   {
21     GimmickDebugMessage(1,"WxListener::WxListener"
22                         <<std::endl);
23         state=stat;
24         /// \TODO fix warning: unused variable cp
25         wxStaticText * cp=new wxStaticText(this,-1,_T(" Drive to monitor: "), wxPoint(5,15));
26         const wxString choices[] = { _T("D:"), 
27                 _T("E:"), 
28                 _T("F:"), 
29                 _T("G:") };
30         drives=new wxComboBox(this, -1,crea::std2wx("E:"),wxPoint(100, 10),wxDefaultSize,4,choices);
31
32         addCheckBox = new wxCheckBox(this, -1, _T("Automatically add images to the database when CD/DVD is mounted?"), wxPoint(5,45) );
33         addCheckBox->SetValue(true);
34         removeCheckBox = new wxCheckBox(this, -1, _T("Automatically remove images from the database when CD/DVD is unmounted?"), wxPoint(5,75) );
35         removeCheckBox->SetValue(true);
36         Connect( addCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &WxListenerPanel::OnAdd );
37         Connect( removeCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &WxListenerPanel::OnRemove );
38         std::string name;
39         if (state){name="Start Monitoring Drive";}
40         else {name="Stop Monitoring Drive";}
41         wxButton *start = new wxButton(this,wxID_ANY,crea::std2wx(name), wxPoint(5,110) );
42         Connect( start->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxListenerPanel::OnChangeThreadState ); 
43
44         wxButton *save = new wxButton(this,wxID_ANY,_T("Save Changes"), wxPoint(130,110) );
45         Connect( save->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxListenerPanel::OnChangeListenState ); 
46   
47
48     //topsizer->Add( mView,1,wxGROW,0);
49
50 //    SetSizer( topsizer );     
51     Layout(); 
52   }
53
54   /// Destructor
55   WxListenerPanel::~WxListenerPanel()
56   {
57     GimmickDebugMessage(1,"WxCustomizeConfigPanel::~WxCustomizeConfigPanel"
58                         <<std::endl);
59   }
60
61   void WxListenerPanel::OnAdd(wxCommandEvent& event)
62   {
63                 addFiles = addCheckBox->GetValue();
64   }
65
66   void WxListenerPanel::OnRemove(wxCommandEvent& event)
67   {
68                 removeFiles = removeCheckBox->GetValue();
69   }
70
71   void WxListenerPanel::OnChangeListenState(wxCommandEvent& event)
72   {
73           mView->OnListenerCallback(crea::wx2std(drives->GetValue()),addFiles, removeFiles);
74           dialog->Destroy();
75   }
76
77   void WxListenerPanel::OnChangeThreadState(wxCommandEvent& event)
78   {
79           if(state)
80           {
81                 mView->StartListeningThread();
82           }
83           else
84           {
85                 mView->StopListeningThread();
86           }
87           dialog->Destroy();
88   }
89   
90 //======================================================================
91   
92 //====================================================================== 
93
94 } // EO namespace creaImageIO
95
96