Kukatz 3D  0.1
Török Attila szakdolgozata
projects/Kukatz 3D/include/selector.hpp
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
 Összes Osztályok