![]() |
Kukatz 3D
0.1
Török Attila szakdolgozata
|
00001 /* 00002 * selector.hpp 00003 * Copyright (c) 2011 - TÖRÖK Attila (torokati44@gmail.com) 00004 * 00005 * This software is provided 'as-is', without any express or implied 00006 * warranty. In no event will the authors be held liable for any damages 00007 * arising from the use of this software. 00008 * 00009 * Permission is granted to anyone to use this software for any purpose, 00010 * including commercial applications, and to alter it and redistribute it 00011 * freely, subject to the following restrictions: 00012 * 00013 * 1. The origin of this software must not be misrepresented; you must not 00014 * claim that you wrote the original software. If you use this software 00015 * in a product, an acknowledgment in the product documentation would be 00016 * appreciated but is not required. 00017 * 00018 * 2. Altered source versions must be plainly marked as such, and must not be 00019 * misrepresented as being the original software. 00020 * 00021 * 3. This notice may not be removed or altered from any source 00022 * distribution. 00023 */ 00024 00025 #ifndef SELECTOR_HPP_INCLUDED 00026 #define SELECTOR_HPP_INCLUDED 00027 00028 #include <vector> 00029 00030 #include <SFML/System/Unicode.hpp> 00031 00032 #include "guielementcontainer.hpp" 00033 #include "guistring.hpp" 00034 #include "guiimage.hpp" 00035 00036 class Selector: public GUIElementContainer 00037 { 00038 private: 00039 GUIString* label; 00040 00041 /* 00042 GUIString* leftarrow_single; 00043 GUIString* leftarrow_double; 00044 GUIString* rightarrow_single; 00045 GUIString* rightarrow_double; 00046 */ 00047 00048 GUIImage* leftarrow_single; 00049 GUIImage* leftarrow_double; 00050 GUIImage* rightarrow_single; 00051 GUIImage* rightarrow_double; 00052 00053 GUIElementContainer* label_container; 00054 GUIElementContainer* leftarrow_container; 00055 GUIElementContainer* option_container; 00056 GUIElementContainer* rightarrow_container; 00057 00058 std::vector< GUIString* > options; 00059 00060 bool turnaround; 00061 unsigned int current_option; 00062 00063 void update_arrows(); 00064 00065 public: 00066 Selector(const sf::Unicode::Text&, const std::vector< sf::Unicode::Text >&, 00067 unsigned int = 0, bool = false, float = 10.0f, float = 0.5f); 00068 00069 float separator; 00070 00071 virtual void render(); 00072 00073 void set_color(sf::Uint8, sf::Uint8, sf::Uint8, sf::Uint8 = 255); 00074 00075 unsigned int get_option(); 00076 00077 void next(); 00078 void prev(); 00079 00080 virtual ~Selector(); 00081 }; 00082 00083 #endif // DELECTOR_HPP_INCLUDED