1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// menuentry.h
//
// (c) Robert Schuster, 2007
//
// Licensed under GNU GPL version 2 or, at your option, any later version.
#ifndef MENUENTRY_H
#define MENUENTRY_H
#include "guichan/guichan.hpp"
class MenuSystem;
class MenuEntry
{
protected:
gcn::Widget *widget;
MenuSystem *menuSystem;
MenuEntry(gcn::Widget *);
public:
virtual ~MenuEntry();
void registered(MenuSystem *);
gcn::Widget *getWidget() const { return widget; }
virtual void invoke() = 0;
virtual void next() { };
virtual void previous() { };
/** Returns true if some operation was cancelled or false if not.
*
* This is neccessary for the menu to know whether it should go
* on level up or not.
*/
virtual bool cancel() { return false; }
/**
* Puts the underlying attribute to its default value.
*
* Needs only be implemented by entries that support this.
*/
virtual void reset() { };
};
#endif
|