libsegl/glmenu/menuitem.h

47 lines
973 B
C++

#ifndef __MENUITEM_H
#define __MENUITEM_H
#include <string>
#include "../glfontengine.h"
#include "../punkt2d.h"
class MenuItem {
protected:
std::string caption;
std::string value;
GLFontEngine fontengine;
std::string fontname;
int fontsizeadd;
bool grey;
bool usevalue;
bool selectable;
bool novaluecenter;
public:
MenuItem(std::string);
virtual ~MenuItem();
std::string getValue();
std::string getCaption();
void setCaption(std::string str);
virtual void left() { };
virtual void right() { };
virtual void select() { };
virtual void charInput(char c) { };
virtual int getMaxValueLen();
bool hasValue();
void setFontSizeAdd(int fsa);
int getFontSizeAdd();
bool isSelectable();
void greyItem(bool _grey);
void noValueCenter(bool _vc);
virtual void render(Punkt2D pos, bool center, int basefontsize, int maxwidth, int valuewidth, bool highlight, int caplen, int capvallen, int maxlen);
};
#endif