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/Label.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/Label.h')
| -rw-r--r-- | mp/src/public/vgui_controls/Label.h | 450 |
1 files changed, 225 insertions, 225 deletions
diff --git a/mp/src/public/vgui_controls/Label.h b/mp/src/public/vgui_controls/Label.h index aefc37b3..53422f76 100644 --- a/mp/src/public/vgui_controls/Label.h +++ b/mp/src/public/vgui_controls/Label.h @@ -1,225 +1,225 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef LABEL_H
-#define LABEL_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "utlvector.h"
-#include "vgui/VGUI.h"
-#include "vgui_controls/Panel.h"
-#include "vgui_controls/PHandle.h"
-
-namespace vgui
-{
-
-//-----------------------------------------------------------------------------
-// Purpose: Contains and displays a set of images
-// By default starts with one TextImage
-//-----------------------------------------------------------------------------
-class Label : public Panel
-{
- DECLARE_CLASS_SIMPLE( Label, Panel );
-
-public:
- // Constructors
- Label(Panel *parent, const char *panelName, const char *text);
- Label(Panel *parent, const char *panelName, const wchar_t *wszText);
- ~Label();
-
-public:
- // Take the string and looks it up in the localization file to convert it to unicode
- virtual void SetText(const char *tokenName);
-
- // Set unicode text directly
- virtual void SetText(const wchar_t *unicodeString, bool bClearUnlocalizedSymbol = false );
-
- // Get the current text
- virtual void GetText(OUT_Z_BYTECAP(bufferLen) char *textOut, int bufferLen);
- virtual void GetText(OUT_Z_BYTECAP(bufLenInBytes) wchar_t *textOut, int bufLenInBytes);
-
- // Content alignment
- // Get the size of the content within the label
- virtual void GetContentSize(int &wide, int &tall);
-
- // Set how the content aligns itself within the label
- // alignment code, used to determine how the images are layed out within the Label
- enum Alignment
- {
- a_northwest = 0,
- a_north,
- a_northeast,
- a_west,
- a_center,
- a_east,
- a_southwest,
- a_south,
- a_southeast,
- };
-
- virtual void SetContentAlignment(Alignment alignment);
- virtual void SetEnabled(bool state);
- // Additional offset at the Start of the text (from whichever sides it is aligned)
- virtual void SetTextInset(int xInset, int yInset);
- virtual void GetTextInset(int *xInset, int *yInset );
-
- // Text colors
- virtual void SetFgColor(Color color);
- virtual Color GetFgColor();
-
- // colors to use when the label is disabled
- virtual void SetDisabledFgColor1(Color color);
- virtual void SetDisabledFgColor2(Color color);
- virtual Color GetDisabledFgColor1();
- virtual Color GetDisabledFgColor2();
-
- // Set whether the text is displayed bright or dull
- enum EColorState
- {
- CS_NORMAL,
- CS_DULL,
- CS_BRIGHT,
- };
- virtual void SetTextColorState(EColorState state);
-
- // Font
- virtual void SetFont(HFont font);
- virtual HFont GetFont();
-
- // Hotkey
- virtual Panel *HasHotkey(wchar_t key);
- virtual void SetHotkey(wchar_t key);
- virtual wchar_t GetHotKey();
-
- // Labels can be associated with controls, and alter behaviour based on the associates behaviour
- // If the associate is disabled, so are we
- // If the associate has focus, we may alter how we draw
- // If we get a hotkey press or focus message, we forward the focus to the associate
- virtual void SetAssociatedControl(Panel *control);
-
- // Multiple image handling
- // Images are drawn from left to right across the label, ordered by index
- // By default there is a TextImage in position 0 (see GetTextImage()/SetTextImageIndex())
- virtual int AddImage(IImage *image, int preOffset); // Return the index the image was placed in
- virtual void SetImageAtIndex(int index, IImage *image, int preOffset);
- virtual void SetImagePreOffset(int index, int preOffset); // Set the offset in pixels before the image
- virtual IImage *GetImageAtIndex(int index);
- virtual int GetImageCount();
- virtual void ClearImages();
- virtual void ResetToSimpleTextImage();
- // fixes the layout bounds of the image within the label
- virtual void SetImageBounds(int index, int x, int width);
-
- // Teturns a pointer to the default text image
- virtual TextImage *GetTextImage();
-
- // Moves where the default text image is within the image array (it starts in position 0)
- // Setting it to -1 removes it from the image list
- // Returns the index the default text image was previously in
- virtual int SetTextImageIndex(int newIndex);
-
- // Message handling
- // outputData - keyName is the name of the attribute requested.
- // for Labels "text" is an option that returns the default text image text
- // returns true on success in finding the requested value. false on failure.
- virtual bool RequestInfo(KeyValues *outputData);
- /* INFO HANDLING
- "GetText"
- returns:
- "text" - text contained in the label
- */
-
- /* CUSTOM MESSAGE HANDLING
- "SetText"
- input: "text" - label text is set to be this string
- */
-
- virtual void SizeToContents();
-
- // the +8 is padding to the content size
- // the code which uses it should really set that itself;
- // however a lot of existing code relies on this
- enum Padding
- {
- Content = 8,
- };
-
- void SetWrap( bool bWrap );
- void SetCenterWrap( bool bWrap );
-
- void SetAllCaps( bool bAllCaps );
-
-protected:
- virtual void PerformLayout();
- virtual wchar_t CalculateHotkey(const char *text);
- virtual wchar_t CalculateHotkey(const wchar_t *text);
- virtual void ComputeAlignment(int &tx0, int &ty0, int &tx1, int &ty1);
- virtual void Paint();
- MESSAGE_FUNC_PARAMS( OnSetText, "SetText", params );
- virtual void DrawDashedLine(int x0, int y0, int x1, int y1, int dashLen, int gapLen);
- virtual void OnRequestFocus(VPANEL subFocus, VPANEL defaultPanel);
- MESSAGE_FUNC( OnHotkeyPressed, "Hotkey" );
- virtual void OnMousePressed(MouseCode code);
- virtual void OnSizeChanged(int wide, int tall);
-
- // makes sure that the maxIndex will be a valid index
- virtual void EnsureImageCapacity(int maxIndex);
-
- // editing
- virtual void ApplySchemeSettings(IScheme *pScheme);
- virtual void GetSettings( KeyValues *outResourceData );
- virtual void ApplySettings( KeyValues *inResourceData );
- virtual const char *GetDescription( void );
-
- MESSAGE_FUNC_PARAMS( OnDialogVariablesChanged, "DialogVariables", dialogVariables );
-
- void HandleAutoSizing( void );
-
-private:
- void Init();
-
- Alignment _contentAlignment;
- TextImage *_textImage; // this is the textImage, if the full text will not
- // fit we put as much as we can and add an elipsis (...)
- struct TImageInfo
- {
- IImage *image;
- short offset;
- short xpos;
- short width;
- };
- CUtlVector<TImageInfo> _imageDar;
-
- int _textInset[2];
- Color _disabledFgColor1;
- Color _disabledFgColor2;
- Color _associateColor;
- int _textImageIndex; // index in the image array that the default _textimage resides
- EColorState _textColorState;
-
- PHandle _associate;
- char *_associateName;
-
- char *_fontOverrideName;
-
- wchar_t _hotkey; // the hotkey contained in the text
-
- bool m_bWrap;
- bool m_bCenterWrap;
- bool m_bAllCaps;
- bool m_bAutoWideToContents;
- bool m_bAutoWideDirty;
- bool m_bUseProportionalInsets;
-
-};
-
-} // namespace vgui
-
-#endif // LABEL_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef LABEL_H +#define LABEL_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "utlvector.h" +#include "vgui/VGUI.h" +#include "vgui_controls/Panel.h" +#include "vgui_controls/PHandle.h" + +namespace vgui +{ + +//----------------------------------------------------------------------------- +// Purpose: Contains and displays a set of images +// By default starts with one TextImage +//----------------------------------------------------------------------------- +class Label : public Panel +{ + DECLARE_CLASS_SIMPLE( Label, Panel ); + +public: + // Constructors + Label(Panel *parent, const char *panelName, const char *text); + Label(Panel *parent, const char *panelName, const wchar_t *wszText); + ~Label(); + +public: + // Take the string and looks it up in the localization file to convert it to unicode + virtual void SetText(const char *tokenName); + + // Set unicode text directly + virtual void SetText(const wchar_t *unicodeString, bool bClearUnlocalizedSymbol = false ); + + // Get the current text + virtual void GetText(OUT_Z_BYTECAP(bufferLen) char *textOut, int bufferLen); + virtual void GetText(OUT_Z_BYTECAP(bufLenInBytes) wchar_t *textOut, int bufLenInBytes); + + // Content alignment + // Get the size of the content within the label + virtual void GetContentSize(int &wide, int &tall); + + // Set how the content aligns itself within the label + // alignment code, used to determine how the images are layed out within the Label + enum Alignment + { + a_northwest = 0, + a_north, + a_northeast, + a_west, + a_center, + a_east, + a_southwest, + a_south, + a_southeast, + }; + + virtual void SetContentAlignment(Alignment alignment); + virtual void SetEnabled(bool state); + // Additional offset at the Start of the text (from whichever sides it is aligned) + virtual void SetTextInset(int xInset, int yInset); + virtual void GetTextInset(int *xInset, int *yInset ); + + // Text colors + virtual void SetFgColor(Color color); + virtual Color GetFgColor(); + + // colors to use when the label is disabled + virtual void SetDisabledFgColor1(Color color); + virtual void SetDisabledFgColor2(Color color); + virtual Color GetDisabledFgColor1(); + virtual Color GetDisabledFgColor2(); + + // Set whether the text is displayed bright or dull + enum EColorState + { + CS_NORMAL, + CS_DULL, + CS_BRIGHT, + }; + virtual void SetTextColorState(EColorState state); + + // Font + virtual void SetFont(HFont font); + virtual HFont GetFont(); + + // Hotkey + virtual Panel *HasHotkey(wchar_t key); + virtual void SetHotkey(wchar_t key); + virtual wchar_t GetHotKey(); + + // Labels can be associated with controls, and alter behaviour based on the associates behaviour + // If the associate is disabled, so are we + // If the associate has focus, we may alter how we draw + // If we get a hotkey press or focus message, we forward the focus to the associate + virtual void SetAssociatedControl(Panel *control); + + // Multiple image handling + // Images are drawn from left to right across the label, ordered by index + // By default there is a TextImage in position 0 (see GetTextImage()/SetTextImageIndex()) + virtual int AddImage(IImage *image, int preOffset); // Return the index the image was placed in + virtual void SetImageAtIndex(int index, IImage *image, int preOffset); + virtual void SetImagePreOffset(int index, int preOffset); // Set the offset in pixels before the image + virtual IImage *GetImageAtIndex(int index); + virtual int GetImageCount(); + virtual void ClearImages(); + virtual void ResetToSimpleTextImage(); + // fixes the layout bounds of the image within the label + virtual void SetImageBounds(int index, int x, int width); + + // Teturns a pointer to the default text image + virtual TextImage *GetTextImage(); + + // Moves where the default text image is within the image array (it starts in position 0) + // Setting it to -1 removes it from the image list + // Returns the index the default text image was previously in + virtual int SetTextImageIndex(int newIndex); + + // Message handling + // outputData - keyName is the name of the attribute requested. + // for Labels "text" is an option that returns the default text image text + // returns true on success in finding the requested value. false on failure. + virtual bool RequestInfo(KeyValues *outputData); + /* INFO HANDLING + "GetText" + returns: + "text" - text contained in the label + */ + + /* CUSTOM MESSAGE HANDLING + "SetText" + input: "text" - label text is set to be this string + */ + + virtual void SizeToContents(); + + // the +8 is padding to the content size + // the code which uses it should really set that itself; + // however a lot of existing code relies on this + enum Padding + { + Content = 8, + }; + + void SetWrap( bool bWrap ); + void SetCenterWrap( bool bWrap ); + + void SetAllCaps( bool bAllCaps ); + +protected: + virtual void PerformLayout(); + virtual wchar_t CalculateHotkey(const char *text); + virtual wchar_t CalculateHotkey(const wchar_t *text); + virtual void ComputeAlignment(int &tx0, int &ty0, int &tx1, int &ty1); + virtual void Paint(); + MESSAGE_FUNC_PARAMS( OnSetText, "SetText", params ); + virtual void DrawDashedLine(int x0, int y0, int x1, int y1, int dashLen, int gapLen); + virtual void OnRequestFocus(VPANEL subFocus, VPANEL defaultPanel); + MESSAGE_FUNC( OnHotkeyPressed, "Hotkey" ); + virtual void OnMousePressed(MouseCode code); + virtual void OnSizeChanged(int wide, int tall); + + // makes sure that the maxIndex will be a valid index + virtual void EnsureImageCapacity(int maxIndex); + + // editing + virtual void ApplySchemeSettings(IScheme *pScheme); + virtual void GetSettings( KeyValues *outResourceData ); + virtual void ApplySettings( KeyValues *inResourceData ); + virtual const char *GetDescription( void ); + + MESSAGE_FUNC_PARAMS( OnDialogVariablesChanged, "DialogVariables", dialogVariables ); + + void HandleAutoSizing( void ); + +private: + void Init(); + + Alignment _contentAlignment; + TextImage *_textImage; // this is the textImage, if the full text will not + // fit we put as much as we can and add an elipsis (...) + struct TImageInfo + { + IImage *image; + short offset; + short xpos; + short width; + }; + CUtlVector<TImageInfo> _imageDar; + + int _textInset[2]; + Color _disabledFgColor1; + Color _disabledFgColor2; + Color _associateColor; + int _textImageIndex; // index in the image array that the default _textimage resides + EColorState _textColorState; + + PHandle _associate; + char *_associateName; + + char *_fontOverrideName; + + wchar_t _hotkey; // the hotkey contained in the text + + bool m_bWrap; + bool m_bCenterWrap; + bool m_bAllCaps; + bool m_bAutoWideToContents; + bool m_bAutoWideDirty; + bool m_bUseProportionalInsets; + +}; + +} // namespace vgui + +#endif // LABEL_H |