class EE::UI::UIState

#include <uistate.hpp>

class UIState {
public:
    // enums

    enum UIStates;
    enum UIStatesFlags;

    // construction

    virtual ~UIState();

    // methods

    static const char* getStateName(const Uint32& State);
    static int getStateNumber(const std::string& State);
    static const char* getStateNameFromStateFlag(const Uint32& stateFlag);
    static const Uint32& getStateFlag(const Uint32& stateIndex);
    static Uint32 getStateFlagFromName(const std::string& name);
    static bool isStateName(const std::string& State);
    const Uint32& getState() const;
    void setState(const Uint32& State);
    void pushState(const Uint32& State);
    void popState(const Uint32& State);
    virtual bool stateExists(const Uint32& State) const = 0;
    const Uint32& getCurrentState() const;
    const Uint32& getPreviousState() const;
};