1 // SuperTuxKart - a fun racing game with go-kart 2 // Copyright (C) 2010-2015 Marianne Gagnon 3 // 4 // This program is free software; you can redistribute it and/or 5 // modify it under the terms of the GNU General Public License 6 // as published by the Free Software Foundation; either version 3 7 // of the License, or (at your option) any later version. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program; if not, write to the Free Software 16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 19 #ifndef HEADER_DEBUG_SLIDER_DIALOG_HPP 20 #define HEADER_DEBUG_SLIDER_DIALOG_HPP 21 22 #include "guiengine/modaldialog.hpp" 23 #include "utils/cpp2011.hpp" 24 #include "utils/leak_check.hpp" 25 #include <functional> 26 27 /** 28 * \brief For internal value tweaking 29 * \ingroup states_screens 30 */ 31 class DebugSliderDialog : public GUIEngine::ModalDialog 32 { 33 private: 34 35 std::string m_id; 36 std::map<std::string, std::function<void(int)> >Setters; 37 38 public: 39 DebugSliderDialog(); 40 ~DebugSliderDialog()41 ~DebugSliderDialog() {}; 42 void setSliderHook(std::string id, unsigned min, unsigned max, std::function<int()> G, std::function<void(int)> S); 43 void changeLabel(std::string id, std::string new_label); 44 45 virtual void onEnterPressedInternal() OVERRIDE; 46 virtual void onUpdate(float dt) OVERRIDE; 47 48 GUIEngine::EventPropagation processEvent(const std::string& eventSource) OVERRIDE; 49 }; 50 51 52 #endif 53