]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxListenerPanel.cpp
b9212766370a67ad563239f7634ba6493c54f875
[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         wxStaticText * cp=new wxStaticText(this,-1,_T(" Drive to monitor: "), wxPoint(5,15));
25         const wxString choices[] = { _T("D:"), 
26                 _T("E:"), 
27                 _T("F:"), 
28                 _T("G:") };
29         drives=new wxComboBox(this, -1,crea::std2wx("E:"),wxPoint(100, 10),wxDefaultSize,4,choices);
30
31         addCheckBox = new wxCheckBox(this, -1, _T("Automatically add images to the database when CD/DVD is mounted?"), wxPoint(5,45) );
32         addCheckBox->SetValue(true);
33         removeCheckBox = new wxCheckBox(this, -1, _T("Automatically remove images from the database when CD/DVD is unmounted?"), wxPoint(5,75) );
34         removeCheckBox->SetValue(true);
35         Connect( addCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &WxListenerPanel::OnAdd );
36         Connect( removeCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &WxListenerPanel::OnRemove );
37         std::string name;
38         if (state){name="Start Monitoring Drive";}
39         else {name="Stop Monitoring Drive";}
40         wxButton *start = new wxButton(this,wxID_ANY,crea::std2wx(name), wxPoint(5,110) );
41         Connect( start->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxListenerPanel::OnChangeThreadState ); 
42
43         wxButton *save = new wxButton(this,wxID_ANY,_T("Save Changes"), wxPoint(130,110) );
44         Connect( save->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxListenerPanel::OnChangeListenState ); 
45   
46
47     //topsizer->Add( mView,1,wxGROW,0);
48
49 //    SetSizer( topsizer );     
50     Layout(); 
51   }
52
53   /// Destructor
54   WxListenerPanel::~WxListenerPanel()
55   {
56     GimmickDebugMessage(1,"WxCustomizeConfigPanel::~WxCustomizeConfigPanel"
57                         <<std::endl);
58   }
59
60   void WxListenerPanel::OnAdd(wxCommandEvent& event)
61   {
62                 addFiles = addCheckBox->GetValue();
63   }
64
65   void WxListenerPanel::OnRemove(wxCommandEvent& event)
66   {
67                 removeFiles = removeCheckBox->GetValue();
68   }
69
70   void WxListenerPanel::OnChangeListenState(wxCommandEvent& event)
71   {
72           mView->OnListenerCallback(crea::wx2std(drives->GetValue()),addFiles, removeFiles);
73           dialog->Destroy();
74   }
75
76   void WxListenerPanel::OnChangeThreadState(wxCommandEvent& event)
77   {
78           if(state)
79           {
80                 mView->StartListeningThread();
81           }
82           else
83           {
84                 mView->StopListeningThread();
85           }
86           dialog->Destroy();
87   }
88   
89 //======================================================================
90   
91 //====================================================================== 
92
93 } // EO namespace creaImageIO
94
95