51 lines
1012 B
C++
51 lines
1012 B
C++
#ifndef __MENUITEM_H
|
|
#define __MENUITEM_H
|
|
|
|
#include <string>
|
|
#include "../glfontengine.h"
|
|
#include "../punkt2d.h"
|
|
|
|
namespace segl {
|
|
|
|
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);
|
|
};
|
|
|
|
} // namespace segl
|
|
|
|
#endif
|