diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/vgui_controls/EditablePanel.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/vgui_controls/EditablePanel.h')
| -rw-r--r-- | mp/src/public/vgui_controls/EditablePanel.h | 326 |
1 files changed, 163 insertions, 163 deletions
diff --git a/mp/src/public/vgui_controls/EditablePanel.h b/mp/src/public/vgui_controls/EditablePanel.h index 3530d7a2..11b8e768 100644 --- a/mp/src/public/vgui_controls/EditablePanel.h +++ b/mp/src/public/vgui_controls/EditablePanel.h @@ -1,163 +1,163 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef EDITABLEPANEL_H
-#define EDITABLEPANEL_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include <vgui_controls/Panel.h>
-#include <vgui_controls/FocusNavGroup.h>
-
-namespace vgui
-{
-
-//-----------------------------------------------------------------------------
-// Purpose: Panel that supports editing via the build dialog
-//-----------------------------------------------------------------------------
-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();
-
- // Load the control settings - should be done after all the children are added
- // If you pass in pPreloadedKeyValues, it won't actually load the file. That way, you can cache
- // the keyvalues outside of here if you want to prevent file accesses in the middle of the game.
- virtual void LoadControlSettings(const char *dialogResourceName, const char *pathID = NULL, KeyValues *pPreloadedKeyValues = NULL, KeyValues *pConditions = NULL);
- virtual void ApplySettings(KeyValues *inResourceData);
-
- // sets the name of this dialog so it can be saved in the user config area
- // use dialogID to differentiate multiple instances of the same dialog
- virtual void LoadUserConfig(const char *configName, int dialogID = 0);
- virtual void SaveUserConfig();
-
- // combines both of the above, LoadControlSettings & LoadUserConfig
- virtual void LoadControlSettingsAndUserConfig(const char *dialogResourceName, int dialogID = 0);
-
- // Override to change how build mode is activated
- virtual void ActivateBuildMode();
-
- // Return the buildgroup that this panel is part of.
- virtual BuildGroup *GetBuildGroup();
-
- // Virtual factory for control creation
- // controlName is a string which is the same as the class name
- virtual Panel *CreateControlByName(const char *controlName);
-
- // Shortcut function to set data in child controls
- virtual void SetControlString(const char *controlName, const char *string);
- // Shortcut function to set data in child controls
- virtual void SetControlString(const char *controlName, const wchar_t *string);
- // Shortcut function to set data in child controls
- virtual void SetControlInt(const char *controlName, int state);
- // Shortcut function to get data in child controls
- virtual int GetControlInt(const char *controlName, int defaultState);
- // Shortcut function to get data in child controls
- // Returns a maximum of 511 characters in the string
- virtual const char *GetControlString(const char *controlName, const char *defaultString = "");
- // as above, but copies the result into the specified buffer instead of a static buffer
- virtual void GetControlString(const char *controlName, char *buf, int bufSize, const char *defaultString = "");
- // sets the enabled state of a control
- virtual void SetControlEnabled(const char *controlName, bool enabled);
- virtual void SetControlVisible(const char *controlName, bool visible);
-
- // localization variables (used in constructing UI strings)
- // after the variable is set, causes all the necessary sub-panels to update
- 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);
-
- // Focus handling
- // Delegate focus to a sub panel
- virtual void RequestFocus(int direction = 0);
- virtual bool RequestFocusNext(VPANEL panel);
- virtual bool RequestFocusPrev(VPANEL panel);
- // Pass the focus down onto the last used panel
- virtual void OnSetFocus();
- // Update focus info for navigation
- virtual void OnRequestFocus(VPANEL subFocus, VPANEL defaultPanel);
- // Get the panel that currently has keyfocus
- virtual VPANEL GetCurrentKeyFocus();
- // Get the panel with the specified hotkey
- virtual Panel *HasHotkey(wchar_t key);
-
- virtual void OnKeyCodePressed( KeyCode code );
-
- // Handle information requests
- virtual bool RequestInfo(KeyValues *data);
- /* INFO HANDLING
- "BuildDialog"
- input:
- "BuildGroupPtr" - pointer to the panel/dialog to edit
- returns:
- "PanelPtr" - pointer to a new BuildModeDialog()
-
- "ControlFactory"
- input:
- "ControlName" - class name of the control to create
- returns:
- "PanelPtr" - pointer to the newly created panel, or NULL if no such class exists
- */
- // registers a file in the list of control settings, so the vgui dialog can choose between them to edit
- virtual void RegisterControlSettingsFile(const char *dialogResourceName, const char *pathID = NULL);
-
- // localization variables - only use this if you need to iterate the variables, use the SetLoc*() to set them
- KeyValues *GetDialogVariables();
-
-protected:
- virtual void PaintBackground();
-
- // nav group access
- virtual FocusNavGroup &GetFocusNavGroup();
-
- // called when default button has been set
- MESSAGE_FUNC_HANDLE( OnDefaultButtonSet, "DefaultButtonSet", button );
- // called when the current default button has been set
- MESSAGE_FUNC_HANDLE( OnCurrentDefaultButtonSet, "CurrentDefaultButtonSet", button );
- MESSAGE_FUNC( OnFindDefaultButton, "FindDefaultButton" );
-
- // overrides
- virtual void OnChildAdded(VPANEL child);
- virtual void OnSizeChanged(int wide, int tall);
- virtual void OnClose();
-
- // user configuration settings
- // this is used for any control details the user wants saved between sessions
- // eg. dialog positions, last directory opened, list column width
- virtual void ApplyUserConfigSettings(KeyValues *userConfig);
-
- // returns user config settings for this control
- virtual void GetUserConfigSettings(KeyValues *userConfig);
-
- // optimization for text rendering, returns true if text should be rendered immediately after Paint()
- // disabled for now
- // virtual bool ShouldFlushText();
-
-private:
- void ForceSubPanelsToUpdateWithNewDialogVariables();
-
- BuildGroup *_buildGroup;
- FocusNavGroup m_NavGroup;
- KeyValues *m_pDialogVariables;
-
- // the wide and tall to which all controls are locked - used for autolayout deltas
- char *m_pszConfigName;
- int m_iConfigID;
- bool m_bShouldSkipAutoResize;
-};
-
-} // namespace vgui
-
-#endif // EDITABLEPANEL_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef EDITABLEPANEL_H +#define EDITABLEPANEL_H + +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui_controls/Panel.h> +#include <vgui_controls/FocusNavGroup.h> + +namespace vgui +{ + +//----------------------------------------------------------------------------- +// Purpose: Panel that supports editing via the build dialog +//----------------------------------------------------------------------------- +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(); + + // Load the control settings - should be done after all the children are added + // If you pass in pPreloadedKeyValues, it won't actually load the file. That way, you can cache + // the keyvalues outside of here if you want to prevent file accesses in the middle of the game. + virtual void LoadControlSettings(const char *dialogResourceName, const char *pathID = NULL, KeyValues *pPreloadedKeyValues = NULL, KeyValues *pConditions = NULL); + virtual void ApplySettings(KeyValues *inResourceData); + + // sets the name of this dialog so it can be saved in the user config area + // use dialogID to differentiate multiple instances of the same dialog + virtual void LoadUserConfig(const char *configName, int dialogID = 0); + virtual void SaveUserConfig(); + + // combines both of the above, LoadControlSettings & LoadUserConfig + virtual void LoadControlSettingsAndUserConfig(const char *dialogResourceName, int dialogID = 0); + + // Override to change how build mode is activated + virtual void ActivateBuildMode(); + + // Return the buildgroup that this panel is part of. + virtual BuildGroup *GetBuildGroup(); + + // Virtual factory for control creation + // controlName is a string which is the same as the class name + virtual Panel *CreateControlByName(const char *controlName); + + // Shortcut function to set data in child controls + virtual void SetControlString(const char *controlName, const char *string); + // Shortcut function to set data in child controls + virtual void SetControlString(const char *controlName, const wchar_t *string); + // Shortcut function to set data in child controls + virtual void SetControlInt(const char *controlName, int state); + // Shortcut function to get data in child controls + virtual int GetControlInt(const char *controlName, int defaultState); + // Shortcut function to get data in child controls + // Returns a maximum of 511 characters in the string + virtual const char *GetControlString(const char *controlName, const char *defaultString = ""); + // as above, but copies the result into the specified buffer instead of a static buffer + virtual void GetControlString(const char *controlName, char *buf, int bufSize, const char *defaultString = ""); + // sets the enabled state of a control + virtual void SetControlEnabled(const char *controlName, bool enabled); + virtual void SetControlVisible(const char *controlName, bool visible); + + // localization variables (used in constructing UI strings) + // after the variable is set, causes all the necessary sub-panels to update + 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); + + // Focus handling + // Delegate focus to a sub panel + virtual void RequestFocus(int direction = 0); + virtual bool RequestFocusNext(VPANEL panel); + virtual bool RequestFocusPrev(VPANEL panel); + // Pass the focus down onto the last used panel + virtual void OnSetFocus(); + // Update focus info for navigation + virtual void OnRequestFocus(VPANEL subFocus, VPANEL defaultPanel); + // Get the panel that currently has keyfocus + virtual VPANEL GetCurrentKeyFocus(); + // Get the panel with the specified hotkey + virtual Panel *HasHotkey(wchar_t key); + + virtual void OnKeyCodePressed( KeyCode code ); + + // Handle information requests + virtual bool RequestInfo(KeyValues *data); + /* INFO HANDLING + "BuildDialog" + input: + "BuildGroupPtr" - pointer to the panel/dialog to edit + returns: + "PanelPtr" - pointer to a new BuildModeDialog() + + "ControlFactory" + input: + "ControlName" - class name of the control to create + returns: + "PanelPtr" - pointer to the newly created panel, or NULL if no such class exists + */ + // registers a file in the list of control settings, so the vgui dialog can choose between them to edit + virtual void RegisterControlSettingsFile(const char *dialogResourceName, const char *pathID = NULL); + + // localization variables - only use this if you need to iterate the variables, use the SetLoc*() to set them + KeyValues *GetDialogVariables(); + +protected: + virtual void PaintBackground(); + + // nav group access + virtual FocusNavGroup &GetFocusNavGroup(); + + // called when default button has been set + MESSAGE_FUNC_HANDLE( OnDefaultButtonSet, "DefaultButtonSet", button ); + // called when the current default button has been set + MESSAGE_FUNC_HANDLE( OnCurrentDefaultButtonSet, "CurrentDefaultButtonSet", button ); + MESSAGE_FUNC( OnFindDefaultButton, "FindDefaultButton" ); + + // overrides + virtual void OnChildAdded(VPANEL child); + virtual void OnSizeChanged(int wide, int tall); + virtual void OnClose(); + + // user configuration settings + // this is used for any control details the user wants saved between sessions + // eg. dialog positions, last directory opened, list column width + virtual void ApplyUserConfigSettings(KeyValues *userConfig); + + // returns user config settings for this control + virtual void GetUserConfigSettings(KeyValues *userConfig); + + // optimization for text rendering, returns true if text should be rendered immediately after Paint() + // disabled for now + // virtual bool ShouldFlushText(); + +private: + void ForceSubPanelsToUpdateWithNewDialogVariables(); + + BuildGroup *_buildGroup; + FocusNavGroup m_NavGroup; + KeyValues *m_pDialogVariables; + + // the wide and tall to which all controls are locked - used for autolayout deltas + char *m_pszConfigName; + int m_iConfigID; + bool m_bShouldSkipAutoResize; +}; + +} // namespace vgui + +#endif // EDITABLEPANEL_H |