69 lines
1.5 KiB
C++
69 lines
1.5 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Defines a special dockable dialog bar that activates itself when
|
|
// the mouse cursor moves over it. This enables stacking of the
|
|
// bars with only a small portion of each visible.
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// $Log: $
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef HAMMERBAR_H
|
|
#define HAMMERBAR_H
|
|
#pragma once
|
|
|
|
#include "utlvector.h"
|
|
|
|
#define RIGHT_JUSTIFY 0x01
|
|
#define BOTTOM_JUSTIFY 0x02
|
|
#define GROUP_BOX 0x04
|
|
|
|
struct ControlInfo_t
|
|
{
|
|
int m_nIDDialogItem;
|
|
DWORD m_dwPlacementFlag;
|
|
int m_nWidthBuffer;
|
|
int m_nHeightBuffer;
|
|
int m_nPosX;
|
|
int m_nPosY;
|
|
};
|
|
|
|
class CHammerBar : public CDialogBar
|
|
{
|
|
public:
|
|
|
|
CHammerBar(void)
|
|
{
|
|
}
|
|
|
|
~CHammerBar(void);
|
|
|
|
BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID );
|
|
BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID, char *pszName );
|
|
|
|
CSize m_sizeDocked;
|
|
CSize m_sizeFloating;
|
|
|
|
virtual CSize CalcDynamicLayout(int nLength, DWORD dwMode);
|
|
virtual void OnSize( UINT nType, int cx, int cy );
|
|
|
|
void AddControl( int nIDTemplate, DWORD dwPlacementFlag );
|
|
void AdjustControls( void );
|
|
|
|
CUtlVector< ControlInfo_t > m_ControlList;
|
|
|
|
protected:
|
|
|
|
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
#endif // HAMMERBAR_H
|