Seaside/SpyCustom/sdk/EditablePanel.h

98 lines
3.3 KiB
C
Raw Normal View History

2021-06-16 18:45:17 +03:00
#ifndef EDITABLEPANEL_H
#define EDITABLEPANEL_H
#ifdef _WIN32
#pragma once
#endif
#include "Panel.h"
#include "FocusNavGroup.h"
namespace vgui
{
class EditablePanel : public Panel
{
DECLARE_CLASS_SIMPLE(EditablePanel, Panel);
public:
EditablePanel(Panel* parent, const char* panelName);
EditablePanel(Panel* parent, const char* panelName, HScheme hScheme);
virtual ~EditablePanel();
virtual void LoadControlSettings(const char* dialogResourceName, const char* pathID = NULL, KeyValues* pPreloadedKeyValues = NULL, KeyValues* pConditions = NULL);
virtual void ApplySettings(KeyValues* inResourceData);
virtual void LoadUserConfig(const char* configName, int dialogID = 0);
virtual void SaveUserConfig();
virtual void LoadControlSettingsAndUserConfig(const char* dialogResourceName, int dialogID = 0);
virtual void ActivateBuildMode();
virtual BuildGroup* GetBuildGroup();
virtual Panel* CreateControlByName(const char* controlName);
virtual void SetControlString(const char* controlName, const char* string);
virtual void SetControlString(const char* controlName, const wchar_t* string);
virtual void SetControlInt(const char* controlName, int state);
virtual int GetControlInt(const char* controlName, int defaultState);
virtual const char* GetControlString(const char* controlName, const char* defaultString = "");
virtual void GetControlString(const char* controlName, char* buf, int bufSize, const char* defaultString = "");
virtual void SetControlEnabled(const char* controlName, bool enabled);
virtual void SetControlVisible(const char* controlName, bool visible);
virtual void SetDialogVariable(const char* varName, const char* value);
virtual void SetDialogVariable(const char* varName, const wchar_t* value);
virtual void SetDialogVariable(const char* varName, int value);
virtual void SetDialogVariable(const char* varName, float value);
virtual void RequestFocus(int direction = 0);
virtual bool RequestFocusNext(VPANEL panel);
virtual bool RequestFocusPrev(VPANEL panel);
virtual void OnSetFocus();
virtual void OnRequestFocus(VPANEL subFocus, VPANEL defaultPanel);
virtual VPANEL GetCurrentKeyFocus();
virtual Panel* HasHotkey(wchar_t key);
virtual void OnKeyCodePressed(KeyCode code);
virtual bool RequestInfo(KeyValues* data);
virtual void RegisterControlSettingsFile(const char* dialogResourceName, const char* pathID = NULL);
KeyValues* GetDialogVariables();
protected:
virtual void PaintBackground();
virtual FocusNavGroup& GetFocusNavGroup();
MESSAGE_FUNC_HANDLE(OnDefaultButtonSet, "DefaultButtonSet", button);
MESSAGE_FUNC_HANDLE(OnCurrentDefaultButtonSet, "CurrentDefaultButtonSet", button);
MESSAGE_FUNC(OnFindDefaultButton, "FindDefaultButton");
virtual void OnChildAdded(VPANEL child);
virtual void OnSizeChanged(int wide, int tall);
virtual void OnClose();
virtual void ApplyUserConfigSettings(KeyValues* userConfig);
virtual void GetUserConfigSettings(KeyValues* userConfig);
private:
void ForceSubPanelsToUpdateWithNewDialogVariables();
BuildGroup* _buildGroup;
FocusNavGroup m_NavGroup;
KeyValues* m_pDialogVariables;
char* m_pszConfigName;
int m_iConfigID;
bool m_bShouldSkipAutoResize;
};
}
#endif