diff options
author | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:08:42 +0200 |
---|---|---|
committer | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:08:42 +0200 |
commit | c32707148292d104c66276b43796d6057c8c7a5d (patch) | |
tree | bb83513f4aff24153e21a4ec92e34e4c27651b1f /shared/dir_name.h | |
parent | 3.9 (diff) | |
download | FreeFileSync-c32707148292d104c66276b43796d6057c8c7a5d.tar.gz FreeFileSync-c32707148292d104c66276b43796d6057c8c7a5d.tar.bz2 FreeFileSync-c32707148292d104c66276b43796d6057c8c7a5d.zip |
3.10
Diffstat (limited to 'shared/dir_name.h')
-rw-r--r-- | shared/dir_name.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/shared/dir_name.h b/shared/dir_name.h new file mode 100644 index 00000000..163caaad --- /dev/null +++ b/shared/dir_name.h @@ -0,0 +1,77 @@ +// ************************************************************************** +// * This file is part of the FreeFileSync project. It is distributed under * +// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * +// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) * +// ************************************************************************** +// +#ifndef DRAGANDDROP_H_INCLUDED +#define DRAGANDDROP_H_INCLUDED + +#include <wx/event.h> +#include <vector> +#include <wx/sizer.h> +#include <wx/filepicker.h> +#include <wx/combobox.h> +#include "zstring.h" + + +class FFSFileDropEvent; +class wxCommandEvent; +class wxFileDirPickerEvent; + +namespace ffs3 +{ +//handle drag and drop, tooltip, label and manual input, coordinating a wxWindow, wxDirPickerCtrl, and wxComboBox/wxTextCtrl + +class DirectoryNameMainDlg : private wxEvtHandler +{ +public: + DirectoryNameMainDlg(wxWindow* dropWindow1, + wxWindow* dropWindow2, + wxDirPickerCtrl* dirPicker, + wxComboBox* dirName, + wxStaticBoxSizer* staticBox); + + virtual ~DirectoryNameMainDlg() {} + + Zstring getName() const; + void setName(const Zstring& dirname); + + virtual bool AcceptDrop(const std::vector<wxString>& droppedFiles) = 0; //return true if drop should be processed + +private: + void OnFilesDropped(FFSFileDropEvent& event); + void OnWriteDirManually(wxCommandEvent& event); + void OnDirSelected(wxFileDirPickerEvent& event); + + const wxWindow* dropWindow1_; + const wxWindow* dropWindow2_; + wxDirPickerCtrl* dirPicker_; + wxComboBox* dirName_; + wxStaticBoxSizer* staticBox_; +}; + + +class DirectoryName: private wxEvtHandler +{ +public: + DirectoryName(wxWindow* dropWindow, + wxDirPickerCtrl* dirPicker, + wxTextCtrl* dirName); + + Zstring getName() const; + void setName(const Zstring& dirname); + +private: + void OnFilesDropped(FFSFileDropEvent& event); + void OnWriteDirManually(wxCommandEvent& event); + void OnDirSelected(wxFileDirPickerEvent& event); + + const wxWindow* dropWindow_; + wxDirPickerCtrl* dirPicker_; + wxTextCtrl* dirName_; +}; +} + + +#endif // DRAGANDDROP_H_INCLUDED |