summaryrefslogtreecommitdiff
path: root/src/guiFileSelectMenu.h
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2013-06-23 18:30:21 +0200
committerkwolekr <kwolekr@minetest.net>2013-07-02 19:58:20 -0400
commit967121a34bbc60e6b46c7ec470b151f668ef1fef (patch)
treee5cc5ec845d3c286bcb0e203e3a5f146950bfaf1 /src/guiFileSelectMenu.h
parentfe4ce03d529f70346b2e2c4872223ebdcd37fffa (diff)
downloadminetest-967121a34bbc60e6b46c7ec470b151f668ef1fef.tar.gz
minetest-967121a34bbc60e6b46c7ec470b151f668ef1fef.tar.bz2
minetest-967121a34bbc60e6b46c7ec470b151f668ef1fef.zip
Replace C++ mainmenu by formspec powered one
Diffstat (limited to 'src/guiFileSelectMenu.h')
-rw-r--r--src/guiFileSelectMenu.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/guiFileSelectMenu.h b/src/guiFileSelectMenu.h
new file mode 100644
index 000000000..987a9f2ee
--- /dev/null
+++ b/src/guiFileSelectMenu.h
@@ -0,0 +1,80 @@
+/*
+ Minetest
+ Copyright (C) 2013 sapier
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef GUIFILESELECTMENU_H_
+#define GUIFILESELECTMENU_H_
+
+#include <string>
+
+#include "modalMenu.h"
+#include "IGUIFileOpenDialog.h"
+#include "guiFormSpecMenu.h" //required because of TextDest only !!!
+
+
+class GUIFileSelectMenu: public GUIModalMenu
+{
+public:
+ GUIFileSelectMenu(gui::IGUIEnvironment* env, gui::IGUIElement* parent,
+ s32 id, IMenuManager *menumgr,
+ std::string title,
+ std::string formid);
+ ~GUIFileSelectMenu();
+
+ void removeChildren();
+
+ /*
+ Remove and re-add (or reposition) stuff
+ */
+ void regenerateGui(v2u32 screensize);
+
+ void drawMenu();
+
+ bool OnEvent(const SEvent& event);
+
+ bool isRunning() {
+ return m_running;
+ }
+
+ void setTextDest(TextDest * dest) {
+ m_text_dst = dest;
+ }
+
+private:
+ void acceptInput();
+
+ std::wstring m_title;
+ bool m_accepted;
+ gui::IGUIElement* m_parent;
+
+ std::string m_selectedPath;
+
+ gui::IGUIFileOpenDialog* m_fileOpenDialog;
+
+ std::string m_previous_locale;
+
+ bool m_running;
+
+ TextDest *m_text_dst;
+
+ std::string m_formname;
+};
+
+
+
+#endif /* GUIFILESELECTMENU_H_ */