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 /sp/src/public/vgui_controls/Frame.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 'sp/src/public/vgui_controls/Frame.h')
| -rw-r--r-- | sp/src/public/vgui_controls/Frame.h | 520 |
1 files changed, 260 insertions, 260 deletions
diff --git a/sp/src/public/vgui_controls/Frame.h b/sp/src/public/vgui_controls/Frame.h index d5ce4a99..0485a374 100644 --- a/sp/src/public/vgui_controls/Frame.h +++ b/sp/src/public/vgui_controls/Frame.h @@ -1,260 +1,260 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef VGUI_FRAME_H
-#define VGUI_FRAME_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include <vgui/VGUI.h>
-#include <vgui/Dar.h>
-#include <vgui_controls/Panel.h>
-#include <vgui_controls/EditablePanel.h>
-#include <vgui_controls/FocusNavGroup.h>
-
-namespace vgui
-{
-
-class FrameButton;
-class FrameSystemButton;
-
-//-----------------------------------------------------------------------------
-// Purpose: Windowed frame
-//-----------------------------------------------------------------------------
-class Frame : public EditablePanel
-{
- DECLARE_CLASS_SIMPLE( Frame, EditablePanel );
-
-public:
- Frame(Panel *parent, const char *panelName, bool showTaskbarIcon = true, bool bPopup = true );
- virtual ~Frame();
-
- // Set the text in the title bar. Set surfaceTitle=true if you want this to be the taskbar text as well.
- virtual void SetTitle(const char *title, bool surfaceTitle);
- virtual void SetTitle(const wchar_t *title, bool surfaceTitle);
-
- // Bring the frame to the front and requests focus, ensures it's not minimized
- virtual void Activate();
-
- // activates the dialog; if dialog is not currently visible it starts it minimized and flashing in the taskbar
- virtual void ActivateMinimized();
-
- // closes the dialog
- MESSAGE_FUNC( Close, "Close" );
- MESSAGE_FUNC( CloseModal, "CloseModal" );
-
- // sets the dialog to delete self on close
- virtual void SetDeleteSelfOnClose( bool state );
-
- // Move the dialog to the center of the screen
- virtual void MoveToCenterOfScreen();
-
- // Set the movability of the panel
- virtual void SetMoveable(bool state);
- // Check the movability of the panel
- virtual bool IsMoveable();
-
- // Set the resizability of the panel
- virtual void SetSizeable(bool state);
- // Check the resizability of the panel
- virtual bool IsSizeable();
- // Toggle visibility of the system menu button
- virtual void SetMenuButtonVisible(bool state);
- void SetMenuButtonResponsive(bool state);
-
- // Toggle visibility of the minimize button
- virtual void SetMinimizeButtonVisible(bool state);
- // Toggle visibility of the maximize button
- virtual void SetMaximizeButtonVisible(bool state);
- // Toggles visibility of the minimize-to-systray icon (defaults to false)
- virtual void SetMinimizeToSysTrayButtonVisible(bool state);
-
- // Toggle visibility of the close button
- virtual void SetCloseButtonVisible(bool state);
-
- // returns true if the dialog is currently minimized
- virtual bool IsMinimized();
- // Flash the window system tray button until the frame gets focus
- virtual void FlashWindow();
- // Stops any window flashing
- virtual void FlashWindowStop();
- // command handling
- virtual void OnCommand(const char *command);
-
- // Get the system menu
- virtual Menu *GetSysMenu();
- // Set the system menu
- virtual void SetSysMenu(Menu *menu);
-
- // Set the system menu images
- void SetImages( const char *pEnabledImage, const char *pDisabledImage = NULL );
-
- // set whether the title bar should be rendered
- virtual void SetTitleBarVisible( bool state );
-
- // When moving via caption, don't let any part of window go outside parent's bounds
- virtual void SetClipToParent( bool state );
- virtual bool GetClipToParent() const;
-
- // Set to true to make the caption height small
- virtual void SetSmallCaption( bool state );
- virtual bool IsSmallCaption() const;
-
- virtual int GetDraggerSize();
- virtual int GetCornerSize();
- virtual int GetBottomRightSize();
- virtual int GetCaptionHeight();
-
- /* CUSTOM MESSAGE HANDLING
- "SetTitle"
- input: "text" - string to set the title to be
- */
-
- // Load the control settings
- virtual void LoadControlSettings( const char *dialogResourceName, const char *pathID = NULL, KeyValues *pPreloadedKeyValues = NULL, KeyValues *pConditions = NULL );
-
- void SetChainKeysToParent( bool state );
- bool CanChainKeysToParent() const;
-
- // Shows the dialog in a modal fashion
- virtual void DoModal();
-
- void PlaceUnderCursor( );
-
- // Disables the fade-in/out-effect even if configured in the scheme settings
- void DisableFadeEffect( void );
-
- // Temporarily enables or disables the fade effect rather than zeroing the fade times as done in DisableFadeEffect
- void SetFadeEffectDisableOverride( bool disabled );
-
-protected:
- // Respond to mouse presses
- virtual void OnMousePressed(MouseCode code);
- // Respond to Key typing
- virtual void OnKeyCodeTyped(KeyCode code);
- virtual void OnKeyTyped(wchar_t unichar);
- // Respond to Key releases
- virtual void OnKeyCodeReleased(KeyCode code);
- // Respond to Key focus ticks
- virtual void OnKeyFocusTicked();
- virtual void ApplySchemeSettings(IScheme *pScheme);
- // Recalculate the position of all items
- virtual void PerformLayout();
- // Respond when a close message is recieved. Can be called directly to close a frame.
- virtual void OnClose();
- // Respond to a window finishing its closure. i.e. when a fading window has fully finished its fadeout.
- virtual void OnFinishedClose();
- // Minimize the window on the taskbar.
- MESSAGE_FUNC( OnMinimize, "Minimize" );
- // Called when minimize-to-systray button is pressed (does nothing by default)
- virtual void OnMinimizeToSysTray();
- // the frame close button was pressed
- MESSAGE_FUNC( OnCloseFrameButtonPressed, "CloseFrameButtonPressed" );
- // Add the child to the focus nav group
- virtual void OnChildAdded(VPANEL child);
- // settings
- virtual void ApplySettings(KeyValues *inResourceData);
- // records the settings into the resource data
- virtual void GetSettings(KeyValues *outResourceData);
- virtual const char *GetDescription( void );
-
- // gets the default position and size on the screen to appear the first time (defaults to centered)
- virtual bool GetDefaultScreenPosition(int &x, int &y, int &wide, int &tall);
-
- // painting
- virtual void PaintBackground();
-
- // per-frame thinking, used for transition effects
- virtual void OnThink();
-
- // screen size
- virtual void OnScreenSizeChanged(int iOldWide, int iOldTall);
-
- // Get the size of the panel inside the frame edges.
- virtual void GetClientArea(int &x, int &y, int &wide, int &tall);
-
- // 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, return true if this control has any user config settings
- virtual bool HasUserConfigSettings();
-
-private:
- MESSAGE_FUNC_CHARPTR( InternalSetTitle, "SetTitle", text );
- MESSAGE_FUNC( InternalFlashWindow, "FlashWindow" );
- MESSAGE_FUNC_PARAMS( OnDialogVariablesChanged, "DialogVariables", dialogVariables );
-
- void SetupResizeCursors();
- void LayoutProportional( FrameButton *bt);
- void FinishClose();
- void OnFrameFocusChanged(bool bHasFocus);
-
- Color _titleBarBgColor;
- Color _titleBarDisabledBgColor;
- Color _titleBarFgColor;
- Color _titleBarDisabledFgColor;
- Color m_InFocusBgColor;
- Color m_OutOfFocusBgColor;
- TextImage *_title;
-
-#if !defined( _X360 )
- Panel *_topGrip;
- Panel *_bottomGrip;
- Panel *_leftGrip;
- Panel *_rightGrip;
- Panel *_topLeftGrip;
- Panel *_topRightGrip;
- Panel *_bottomLeftGrip;
- Panel *_bottomRightGrip;
- Panel *_captionGrip;
- FrameButton *_minimizeButton;
- FrameButton *_maximizeButton;
- FrameButton *_minimizeToSysTrayButton;
- FrameButton *_closeButton;
- FrameSystemButton *_menuButton;
- Menu *_sysMenu;
-#endif
-
- float m_flTransitionEffectTime;
- float m_flFocusTransitionEffectTime;
- int m_iClientInsetX;
- int m_iClientInsetY;
- int m_iTitleTextInsetX;
- int m_nGripperWidth;
- VPANEL m_hPreviousModal;
- HFont m_hCustomTitleFont;
-
- bool _sizeable : 1;
- bool _moveable : 1;
- bool m_bHasFocus : 1;
- bool _flashWindow : 1;
- bool _nextFlashState : 1;
- bool _drawTitleBar : 1;
- bool m_bPreviouslyVisible : 1;
- bool m_bFadingOut : 1;
- bool m_bDeleteSelfOnClose : 1;
- bool m_bDisableFadeEffect : 1;
- bool m_bClipToParent : 1;
- bool m_bSmallCaption : 1;
- bool m_bChainKeysToParent : 1;
- bool m_bPrimed : 1;
- bool m_iClientInsetXOverridden : 1;
-
- CPanelAnimationVarAliasType( int, m_iTitleTextInsetXOverride, "titletextinsetX", "0", "proportional_int" );
- CPanelAnimationVar( int, m_iTitleTextInsetYOverride, "titletextinsetY", "0" );
-};
-
-} // namespace vgui
-
-#endif // VGUI_FRAME_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef VGUI_FRAME_H +#define VGUI_FRAME_H + +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui/VGUI.h> +#include <vgui/Dar.h> +#include <vgui_controls/Panel.h> +#include <vgui_controls/EditablePanel.h> +#include <vgui_controls/FocusNavGroup.h> + +namespace vgui +{ + +class FrameButton; +class FrameSystemButton; + +//----------------------------------------------------------------------------- +// Purpose: Windowed frame +//----------------------------------------------------------------------------- +class Frame : public EditablePanel +{ + DECLARE_CLASS_SIMPLE( Frame, EditablePanel ); + +public: + Frame(Panel *parent, const char *panelName, bool showTaskbarIcon = true, bool bPopup = true ); + virtual ~Frame(); + + // Set the text in the title bar. Set surfaceTitle=true if you want this to be the taskbar text as well. + virtual void SetTitle(const char *title, bool surfaceTitle); + virtual void SetTitle(const wchar_t *title, bool surfaceTitle); + + // Bring the frame to the front and requests focus, ensures it's not minimized + virtual void Activate(); + + // activates the dialog; if dialog is not currently visible it starts it minimized and flashing in the taskbar + virtual void ActivateMinimized(); + + // closes the dialog + MESSAGE_FUNC( Close, "Close" ); + MESSAGE_FUNC( CloseModal, "CloseModal" ); + + // sets the dialog to delete self on close + virtual void SetDeleteSelfOnClose( bool state ); + + // Move the dialog to the center of the screen + virtual void MoveToCenterOfScreen(); + + // Set the movability of the panel + virtual void SetMoveable(bool state); + // Check the movability of the panel + virtual bool IsMoveable(); + + // Set the resizability of the panel + virtual void SetSizeable(bool state); + // Check the resizability of the panel + virtual bool IsSizeable(); + // Toggle visibility of the system menu button + virtual void SetMenuButtonVisible(bool state); + void SetMenuButtonResponsive(bool state); + + // Toggle visibility of the minimize button + virtual void SetMinimizeButtonVisible(bool state); + // Toggle visibility of the maximize button + virtual void SetMaximizeButtonVisible(bool state); + // Toggles visibility of the minimize-to-systray icon (defaults to false) + virtual void SetMinimizeToSysTrayButtonVisible(bool state); + + // Toggle visibility of the close button + virtual void SetCloseButtonVisible(bool state); + + // returns true if the dialog is currently minimized + virtual bool IsMinimized(); + // Flash the window system tray button until the frame gets focus + virtual void FlashWindow(); + // Stops any window flashing + virtual void FlashWindowStop(); + // command handling + virtual void OnCommand(const char *command); + + // Get the system menu + virtual Menu *GetSysMenu(); + // Set the system menu + virtual void SetSysMenu(Menu *menu); + + // Set the system menu images + void SetImages( const char *pEnabledImage, const char *pDisabledImage = NULL ); + + // set whether the title bar should be rendered + virtual void SetTitleBarVisible( bool state ); + + // When moving via caption, don't let any part of window go outside parent's bounds + virtual void SetClipToParent( bool state ); + virtual bool GetClipToParent() const; + + // Set to true to make the caption height small + virtual void SetSmallCaption( bool state ); + virtual bool IsSmallCaption() const; + + virtual int GetDraggerSize(); + virtual int GetCornerSize(); + virtual int GetBottomRightSize(); + virtual int GetCaptionHeight(); + + /* CUSTOM MESSAGE HANDLING + "SetTitle" + input: "text" - string to set the title to be + */ + + // Load the control settings + virtual void LoadControlSettings( const char *dialogResourceName, const char *pathID = NULL, KeyValues *pPreloadedKeyValues = NULL, KeyValues *pConditions = NULL ); + + void SetChainKeysToParent( bool state ); + bool CanChainKeysToParent() const; + + // Shows the dialog in a modal fashion + virtual void DoModal(); + + void PlaceUnderCursor( ); + + // Disables the fade-in/out-effect even if configured in the scheme settings + void DisableFadeEffect( void ); + + // Temporarily enables or disables the fade effect rather than zeroing the fade times as done in DisableFadeEffect + void SetFadeEffectDisableOverride( bool disabled ); + +protected: + // Respond to mouse presses + virtual void OnMousePressed(MouseCode code); + // Respond to Key typing + virtual void OnKeyCodeTyped(KeyCode code); + virtual void OnKeyTyped(wchar_t unichar); + // Respond to Key releases + virtual void OnKeyCodeReleased(KeyCode code); + // Respond to Key focus ticks + virtual void OnKeyFocusTicked(); + virtual void ApplySchemeSettings(IScheme *pScheme); + // Recalculate the position of all items + virtual void PerformLayout(); + // Respond when a close message is recieved. Can be called directly to close a frame. + virtual void OnClose(); + // Respond to a window finishing its closure. i.e. when a fading window has fully finished its fadeout. + virtual void OnFinishedClose(); + // Minimize the window on the taskbar. + MESSAGE_FUNC( OnMinimize, "Minimize" ); + // Called when minimize-to-systray button is pressed (does nothing by default) + virtual void OnMinimizeToSysTray(); + // the frame close button was pressed + MESSAGE_FUNC( OnCloseFrameButtonPressed, "CloseFrameButtonPressed" ); + // Add the child to the focus nav group + virtual void OnChildAdded(VPANEL child); + // settings + virtual void ApplySettings(KeyValues *inResourceData); + // records the settings into the resource data + virtual void GetSettings(KeyValues *outResourceData); + virtual const char *GetDescription( void ); + + // gets the default position and size on the screen to appear the first time (defaults to centered) + virtual bool GetDefaultScreenPosition(int &x, int &y, int &wide, int &tall); + + // painting + virtual void PaintBackground(); + + // per-frame thinking, used for transition effects + virtual void OnThink(); + + // screen size + virtual void OnScreenSizeChanged(int iOldWide, int iOldTall); + + // Get the size of the panel inside the frame edges. + virtual void GetClientArea(int &x, int &y, int &wide, int &tall); + + // 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, return true if this control has any user config settings + virtual bool HasUserConfigSettings(); + +private: + MESSAGE_FUNC_CHARPTR( InternalSetTitle, "SetTitle", text ); + MESSAGE_FUNC( InternalFlashWindow, "FlashWindow" ); + MESSAGE_FUNC_PARAMS( OnDialogVariablesChanged, "DialogVariables", dialogVariables ); + + void SetupResizeCursors(); + void LayoutProportional( FrameButton *bt); + void FinishClose(); + void OnFrameFocusChanged(bool bHasFocus); + + Color _titleBarBgColor; + Color _titleBarDisabledBgColor; + Color _titleBarFgColor; + Color _titleBarDisabledFgColor; + Color m_InFocusBgColor; + Color m_OutOfFocusBgColor; + TextImage *_title; + +#if !defined( _X360 ) + Panel *_topGrip; + Panel *_bottomGrip; + Panel *_leftGrip; + Panel *_rightGrip; + Panel *_topLeftGrip; + Panel *_topRightGrip; + Panel *_bottomLeftGrip; + Panel *_bottomRightGrip; + Panel *_captionGrip; + FrameButton *_minimizeButton; + FrameButton *_maximizeButton; + FrameButton *_minimizeToSysTrayButton; + FrameButton *_closeButton; + FrameSystemButton *_menuButton; + Menu *_sysMenu; +#endif + + float m_flTransitionEffectTime; + float m_flFocusTransitionEffectTime; + int m_iClientInsetX; + int m_iClientInsetY; + int m_iTitleTextInsetX; + int m_nGripperWidth; + VPANEL m_hPreviousModal; + HFont m_hCustomTitleFont; + + bool _sizeable : 1; + bool _moveable : 1; + bool m_bHasFocus : 1; + bool _flashWindow : 1; + bool _nextFlashState : 1; + bool _drawTitleBar : 1; + bool m_bPreviouslyVisible : 1; + bool m_bFadingOut : 1; + bool m_bDeleteSelfOnClose : 1; + bool m_bDisableFadeEffect : 1; + bool m_bClipToParent : 1; + bool m_bSmallCaption : 1; + bool m_bChainKeysToParent : 1; + bool m_bPrimed : 1; + bool m_iClientInsetXOverridden : 1; + + CPanelAnimationVarAliasType( int, m_iTitleTextInsetXOverride, "titletextinsetX", "0", "proportional_int" ); + CPanelAnimationVar( int, m_iTitleTextInsetYOverride, "titletextinsetY", "0" ); +}; + +} // namespace vgui + +#endif // VGUI_FRAME_H |