00001
00002
00003
#ifndef MOD_TEXTENTRY_H
00004
#define MOD_TEXTENTRY_H
00005
00006
00007
00008
00009
#include <string>
00010
#include "MenuItem.h"
00011
#include "Font.h"
00012
00013
00014
00015 class TextEntry :
public MenuItem
00016 {
00017
public:
00018
00019 enum TextEntryType {
00020
NORMAL
00021 ,
UPPERCASE
00022 ,
LOWERCASE
00023 };
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
TextEntry(
const string &label,
const string &name,
Font *font,
00042 TextEntryType type = NORMAL,
const string &defaultValue=
"",
00043
int maxLength_=0);
00044 ~
TextEntry();
00045
void load(ifstream &file);
00046
void save(ofstream &file);
00047
void draw(
float x,
float y,
float zoom);
00048 Type
getType(){
return CONTROL;}
00049
float getWidth(
float zoom);
00050
float getHeight(
float zoom);
00051 string &
getName(){
return name_;}
00052
00053 string &
getValue(){
return value_;}
00054
bool handleKeyEvent(SDL_Event *event);
00055
private:
00056 string getVisualString();
00057
00058 string value_;
00059 TextEntryType type_;
00060
bool grabbingKey_;
00061
int maxLength_;
00062
00063
Font *font_;
00064 string label_;
00065 string name_;
00066 };
00067
00068
#endif