mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-03-13 06:01:53 +00:00
69 lines
1.8 KiB
C++
69 lines
1.8 KiB
C++
#ifndef _INCLUDED_SWARMOPEDIA_PANEL_H
|
|
#define _INCLUDED_SWARMOPEDIA_PANEL_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <vgui_controls/Panel.h>
|
|
|
|
namespace vgui
|
|
{
|
|
class Label;
|
|
class TextEntry;
|
|
class ComboBox;
|
|
class CheckButton;
|
|
class Button;
|
|
class PanelListPanel;
|
|
};
|
|
class SwarmopediaTopicButton;
|
|
|
|
// shows a list of buttons down the left side of the screen, each one corresponding to a HTML page to display on the right
|
|
|
|
class SwarmopediaPanel : public vgui::Panel
|
|
{
|
|
DECLARE_CLASS_SIMPLE( SwarmopediaPanel, vgui::Panel );
|
|
public:
|
|
SwarmopediaPanel( vgui::Panel *pParent, const char *pElementName);
|
|
virtual ~SwarmopediaPanel();
|
|
|
|
virtual void PerformLayout();
|
|
virtual void ApplySchemeSettings(vgui::IScheme *pScheme);
|
|
virtual void OnCommand(const char* command);
|
|
virtual void OnThink();
|
|
|
|
bool ShowDoc(const char *szDoc);
|
|
bool ShowList(const char *szListName);
|
|
|
|
void AddListEntry(const char* szName, const char* szArticle, const char* szListTarget, int iSectionHeader);
|
|
void ListEntryClicked(SwarmopediaTopicButton *pTopic);
|
|
|
|
private:
|
|
vgui::Label *m_pTopicLabel;
|
|
vgui::PanelListPanel *m_pList;
|
|
vgui::HTML *m_pHTML;
|
|
bool m_bCreatedPanels;
|
|
};
|
|
|
|
class SwarmopediaTopicButton : public vgui::Panel
|
|
{
|
|
DECLARE_CLASS_SIMPLE( SwarmopediaTopicButton, vgui::Panel );
|
|
public:
|
|
SwarmopediaTopicButton( vgui::Panel *pParent, const char *pElementName, SwarmopediaPanel *pSwarmopedia);
|
|
virtual ~SwarmopediaTopicButton();
|
|
|
|
virtual void PerformLayout();
|
|
virtual void ApplySchemeSettings(vgui::IScheme *pScheme);
|
|
virtual void OnMouseReleased(vgui::MouseCode code);
|
|
virtual void OnCursorEntered();
|
|
virtual void OnCursorExited();
|
|
|
|
char m_szArticleTarget[128];
|
|
char m_szListTarget[128];
|
|
|
|
vgui::Label* m_pLabel;
|
|
vgui::HFont m_hFont;
|
|
SwarmopediaPanel* m_pSwarmopedia;
|
|
int m_iSectionHeader;
|
|
};
|
|
|
|
#endif _INCLUDED_SWARMOPEDIA_PANEL_H |