Kukatz 3D  0.1
Török Attila szakdolgozata
projects/Kukatz 3D/include/editprofile.hpp
00001 /*
00002  * editprofile.hpp - Kukatz 3D
00003  * Copyright (c) 2012 - 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 EDITPROFILE_HPP_INCLUDED
00026 #define EDITPROFILE_HPP_INCLUDED
00027 
00028 #include "statebase.hpp"
00029 
00030 #include "viewport.hpp"
00031 #include "guistring.hpp"
00032 #include "guielementcontainer.hpp"
00033 #include "profile.hpp"
00034 #include "selector.hpp"
00035 
00036 class EditProfile: public StateBase
00037 {
00038 private:
00039         Viewport viewport;
00040         GUIElementContainer gui;
00041         
00042         GUIString* title;
00043         GUIElementContainer* table;
00044         
00045         Profile* profile;
00046         Profile* temp_profile;
00047         
00048         enum EditMode
00049         {
00050                 MODE_SELECTION,
00051                 MODE_KEY_UP,
00052                 MODE_KEY_LEFT,
00053                 MODE_KEY_DOWN,
00054                 MODE_KEY_RIGHT
00055         } mode;
00056         
00057         unsigned int selected;
00058         unsigned int prev_selected;
00059         
00060         bool name_is_placeholder;
00061         
00062         Selector* type_selector;
00063         Selector* head_selector;
00064         
00065         GUIString* name_label;
00066         GUIString* name_string;
00067         GUIString* delete_label;
00068         GUIString* save_label;
00069         
00070         Selector* skill_selector;
00071         
00072         GUIString* buttons_label;
00073         
00074         GUIString* up_label;
00075         GUIString* up_string;
00076         GUIString* left_label;
00077         GUIString* left_string;
00078         GUIString* down_label;
00079         GUIString* down_string;
00080         GUIString* right_label;
00081         GUIString* right_string;
00082         
00083         void set_color();
00084         void set_type();
00085         
00086 public:
00087         EditProfile(unsigned int w, unsigned int h, Profile* = 0);
00088         
00089         virtual void process_events(std::vector< sf::Event >&);
00090         virtual void render();
00091         virtual void update(float);
00092         virtual void resize(const sf::Vector2i&);
00093         
00094         virtual ~EditProfile();
00095 };
00096 
00097 #endif // EDITPROFILE_HPP_INCLUDED
 Összes Osztályok