diff -r 7602d7fb60d9 -r 026da5437111 core/MenuStyle_Base.h
--- a/core/MenuStyle_Base.h Fri Jul 11 06:51:21 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/**
- * vim: set ts=4 :
- * =============================================================================
- * SourceMod
- * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
- * =============================================================================
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, version 3.0, as published by the
- * Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
- *
- * As a special exception, AlliedModders LLC gives you permission to link the
- * code of this program (as well as its derivative works) to "Half-Life 2," the
- * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
- * by the Valve Corporation. You must obey the GNU General Public License in
- * all respects for all other code used. Additionally, AlliedModders LLC grants
- * this exception to all derivative works. AlliedModders LLC defines further
- * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
- * or .
- *
- * Version: $Id$
- */
-
-#ifndef _INCLUDE_MENUSTYLE_BASE_H
-#define _INCLUDE_MENUSTYLE_BASE_H
-
-#include
-#include
-#include
-#include
-#include "sm_memtable.h"
-#include "sm_fastlink.h"
-
-using namespace SourceMod;
-using namespace SourceHook;
-
-class CItem
-{
-public:
- CItem()
- {
- infoString = -1;
- displayString = -1;
- style = 0;
- access = 0;
- }
-public:
- int infoString;
- int displayString;
- unsigned int style;
- unsigned int access;
-};
-
-class CBaseMenuPlayer
-{
-public:
- CBaseMenuPlayer() : bInMenu(false), bAutoIgnore(false), bInExternMenu(false)
- {
- }
- menu_states_t states;
- bool bInMenu;
- bool bAutoIgnore;
- float menuStartTime;
- unsigned int menuHoldTime;
- bool bInExternMenu;
-};
-
-class CBaseMenu;
-
-class BaseMenuStyle :
- public IMenuStyle,
- public IClientListener
-{
-public:
- BaseMenuStyle();
-public: //IMenuStyle
- bool CancelClientMenu(int client, bool autoIgnore/* =false */);
- MenuSource GetClientMenu(int client, void **object);
- Handle_t GetHandle();
-public: //IClientListener
- void OnClientDisconnected(int client);
-public: //what derived must implement
- virtual CBaseMenuPlayer *GetMenuPlayer(int client) =0;
- virtual void SendDisplay(int client, IMenuPanel *display) =0;
-public: //what derived may implement
- virtual bool DoClientMenu(int client,
- CBaseMenu *menu,
- unsigned int first_item,
- IMenuHandler *mh,
- unsigned int time);
- virtual bool DoClientMenu(int client, IMenuPanel *menu, IMenuHandler *mh, unsigned int time);
- virtual void AddClientToWatch(int client);
- virtual void RemoveClientFromWatch(int client);
- virtual void ProcessWatchList();
-public: //helpers
- void CancelMenu(CBaseMenu *menu);
- void ClientPressedKey(int client, unsigned int key_press);
-protected:
- void _CancelClientMenu(int client, MenuCancelReason reason, bool bAutoIgnore=false);
- bool RedoClientMenu(int client, ItemOrder order);
-protected:
- FastLink m_WatchList;
- Handle_t m_hHandle;
-};
-
-class CBaseMenu : public IBaseMenu
-{
-public:
- CBaseMenu(IMenuHandler *pHandler, IMenuStyle *pStyle, IdentityToken_t *pOwner);
- virtual ~CBaseMenu();
-public:
- virtual bool AppendItem(const char *info, const ItemDrawInfo &draw);
- virtual bool InsertItem(unsigned int position, const char *info, const ItemDrawInfo &draw);
- virtual bool RemoveItem(unsigned int position);
- virtual void RemoveAllItems();
- virtual const char *GetItemInfo(unsigned int position, ItemDrawInfo *draw=NULL);
- virtual unsigned int GetItemCount();
- virtual bool SetPagination(unsigned int itemsPerPage);
- virtual unsigned int GetPagination();
- virtual IMenuStyle *GetDrawStyle();
- virtual void SetDefaultTitle(const char *message);
- virtual const char *GetDefaultTitle();
- virtual void Cancel();
- virtual void Destroy(bool releaseHandle);
- virtual void Cancel_Finally() =0;
- virtual Handle_t GetHandle();
- virtual unsigned int GetMenuOptionFlags();
- virtual void SetMenuOptionFlags(unsigned int flags);
- virtual IMenuHandler *GetHandler();
- unsigned int GetBaseMemUsage();
-private:
- void InternalDelete();
-protected:
- String m_Title;
- IMenuStyle *m_pStyle;
- BaseStringTable m_Strings;
- unsigned int m_Pagination;
- CVector m_items;
- bool m_bShouldDelete;
- bool m_bCancelling;
- IdentityToken_t *m_pOwner;
- bool m_bDeleting;
- bool m_bWillFreeHandle;
- Handle_t m_hHandle;
- IMenuHandler *m_pHandler;
- unsigned int m_nFlags;
-};
-
-#endif //_INCLUDE_MENUSTYLE_BASE_H