cl_dll/game_controls/commandmenu.h
2324252627282930313233343536373839
#include "UtlVector.h"
#include
using namespace vgui;
class CommandMenu : public Menu
{
private:
DECLARE_CLASS_SIMPLE( CommandMenu, Menu );
typedef struct
{
Menu * menu;
int itemnr;
} CommandMenuItem;
public:
2324252627282930313233343536373839
#include "UtlVector.h"
#include
//using namespace vgui;
class CommandMenu : public vgui::Menu
{
private:
DECLARE_CLASS_SIMPLE( CommandMenu, vgui::Menu );
typedef struct
{
vgui::Menu * menu;
int itemnr;
} CommandMenuItem;
public:
4849505152535455
public:
// overwrite these in your derived class
// virtual CommandMenu * CommandMenu::Factory(Panel *parent, const char *panelName, IViewPort * viewport = NULL, IFileSystem * pFileSytem = NULL); // overwrite
virtual int AddCustomItem(KeyValues * params, Menu * menu) {return 0;} // return MenuItem nr
virtual void UpdateCustomItem(KeyValues * params, MenuItem * item ) {}; // maybe change your item
virtual void OnCustomItem(KeyValues * params) {}; // a custom item was pressed
virtual bool CheckRules(const char *rule, const char *ruledata); // check a menu item rule
virtual void SetVisible(bool state);
4849505152535455
public:
// overwrite these in your derived class
// virtual CommandMenu * CommandMenu::Factory(Panel *parent, const char *panelName, IViewPort * viewport = NULL, IFileSystem * pFileSytem = NULL); // overwrite
virtual int AddCustomItem(KeyValues * params, vgui::Menu * menu) {return 0;} // return MenuItem nr
virtual void UpdateCustomItem(KeyValues * params, vgui::MenuItem * item ) {}; // maybe change your item
virtual void OnCustomItem(KeyValues * params) {}; // a custom item was pressed
virtual bool CheckRules(const char *rule, const char *ruledata); // check a menu item rule
virtual void SetVisible(bool state);
58596061626364
protected:
void OnMessage(const KeyValues *params, VPANEL fromPanel);
void StartNewSubMenu(KeyValues * params);
void FinishSubMenu();
void AddMenuCommandItem(KeyValues * params);
58596061626364
protected:
void OnMessage(const KeyValues *params, vgui::VPANEL fromPanel);
void StartNewSubMenu(KeyValues * params);
void FinishSubMenu();
void AddMenuCommandItem(KeyValues * params);