summaryrefslogtreecommitdiff
path: root/FreeFileSync/Source/ui/on_completion_box.h
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:31:50 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:31:50 +0200
commit570916ddc376b09205125eaaab517561dfead9f0 (patch)
tree309a94f040707c402623e4f9f887346d1b561df7 /FreeFileSync/Source/ui/on_completion_box.h
parent6.2 (diff)
downloadFreeFileSync-570916ddc376b09205125eaaab517561dfead9f0.tar.gz
FreeFileSync-570916ddc376b09205125eaaab517561dfead9f0.tar.bz2
FreeFileSync-570916ddc376b09205125eaaab517561dfead9f0.zip
6.3
Diffstat (limited to 'FreeFileSync/Source/ui/on_completion_box.h')
-rw-r--r--FreeFileSync/Source/ui/on_completion_box.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/FreeFileSync/Source/ui/on_completion_box.h b/FreeFileSync/Source/ui/on_completion_box.h
new file mode 100644
index 00000000..1e05a14f
--- /dev/null
+++ b/FreeFileSync/Source/ui/on_completion_box.h
@@ -0,0 +1,61 @@
+// **************************************************************************
+// * 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) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
+// **************************************************************************
+
+#ifndef EXEC_FINISHED_BOX_18947773210473214
+#define EXEC_FINISHED_BOX_18947773210473214
+
+#include <vector>
+#include <string>
+#include <map>
+#include <wx/combobox.h>
+#include <zen/string_tools.h>
+#include <zen/zstring.h>
+
+//combobox with history function + functionality to delete items (DEL)
+
+//special command
+bool isCloseProgressDlgCommand(const Zstring& value);
+
+
+class OnCompletionBox : public wxComboBox
+{
+public:
+ OnCompletionBox(wxWindow* parent,
+ wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0,
+ const wxString choices[] = nullptr,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
+
+ void initHistory(std::vector<Zstring>& history, size_t historyMax) { history_ = &history; historyMax_ = historyMax; }
+ void addItemHistory(); //adds current item to history
+
+ // use these two accessors instead of GetValue()/SetValue():
+ Zstring getValue() const;
+ void setValue(const Zstring& value);
+ //required for setting value correctly + Linux to ensure the dropdown is shown as being populated
+
+private:
+ void OnKeyEvent(wxKeyEvent& event);
+ void OnMouseWheel(wxMouseEvent& event) {} //swallow! this gives confusing UI feedback anyway
+ void OnSelection(wxCommandEvent& event);
+ void OnValidateSelection(wxCommandEvent& event);
+ void OnUpdateList(wxEvent& event);
+
+ void setValueAndUpdateList(const std::wstring& value);
+
+ std::vector<Zstring>* history_;
+ size_t historyMax_;
+
+ const std::vector<std::pair<std::wstring, Zstring>> defaultCommands;
+};
+
+
+#endif //EXEC_FINISHED_BOX_18947773210473214
bgstack15