WindowsXP-SP1/enduser/netmeeting/nmrk/propwnd2.h
2020-09-30 16:53:49 +02:00

128 lines
4.2 KiB
C++

#ifndef __PropWnd2_h__
#define __PropWnd2_h__
////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma warning( disable : 4786 )
#include <list>
#include <map>
#include "poldata.h"
#include "controlID.h"
using namespace std;
////////////////////////////////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK DefaultProc( HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam );
class CPropertyDataWindow2
{
friend class CNmAkWiz;
public: // Static functions
static void MapControlsToRegKeys( void );
private: // Static functions
public: // Static Data
static const int mcs_iTop;
static const int mcs_iLeft;
static const int mcs_iBorder;
protected: // Static Data
static map< UINT, CPolicyData::eKeyType > ms_ClassMap;
static map< UINT, TCHAR* > ms_KeyMap;
static map< UINT, TCHAR* > ms_ValueMap;
protected: // DATA
// Frame Window for data boxes
TCHAR *m_szClassName;
HWND m_hwnd;
HWND m_hwndParent;
UINT m_IDD;
WNDPROC m_wndProc;
RECT m_rect;
list< UINT > m_checkIDList;
list< HWND > m_enableList;
list< CControlID * > m_condList;
list< CControlID * > m_specialControlList;
BOOL m_bInit;
public: // construction / destruction
CPropertyDataWindow2( HWND hwndParent, UINT uIDD, LPTSTR szClassName, WNDPROC wndProc, UINT PopUpHelpMenuTextId, int iX, int iY, int iWidth, int iHeight, BOOL bScroll = TRUE );
CPropertyDataWindow2( HWND hwndParent, UINT uIDD, LPTSTR szClassName, UINT PopUpHelpMenuTextId, int iX, int iY, int iWidth, int iHeight, BOOL bScroll = TRUE );
~CPropertyDataWindow2( void );
public: // Member fns
inline HWND GetHwnd() { return m_hwnd; };
inline int LoadString( UINT IDS, LPTSTR lpszBuffer, int cb ) { return ::LoadString( g_hInstance, IDS, lpszBuffer, cb ); }
void ConnectControlsToCheck( UINT idCheck, UINT uCount, ... );
void AddControl( CControlID *pControl );
void SetEnableListID( UINT uCount, ... );
void GetEditData( UINT id, TCHAR* sz, ULONG cb ) const;
void SetEditData( UINT id, TCHAR* sz );
ULONG GetEditDataLen( UINT id ) const;
BOOL SetFocus( UINT id );
BOOL GetCheck( UINT id ) const;
void SetCheck( UINT id, BOOL bCheck );
void ShowWindow( BOOL bShowWindow = TRUE );
void EnableWindow( BOOL bEnable = TRUE );
void ReadSettings( void );
BOOL WriteSettings( void );
void Reset();
BOOL WriteToINF( HANDLE hFile, BOOL bCheckValues );
int Spew( HWND hwndList, int iStartLine );
protected: // Helper Fns
BOOL _InitWindow( void );
BOOL _SizeWindow( int X, int Y, int Width, int Height );
void _PrepScrollBars( void );
void _ReadIntSetting( UINT ID, int *pData );
void _ReadEditSetting( UINT EditID );
void _ReadCheckSetting( UINT ID);
void _ReadComboSetting( UINT ComboID );
void _ReadSliderSetting( CControlID * );
void _ReadCheckSettings( void );
BOOL _WriteIntSetting(UINT ID, int iData);
BOOL _WriteEditSetting( UINT EditID );
BOOL _WriteCheckSetting( UINT ID);
BOOL _WriteComboSetting( UINT ComboID );
BOOL _WriteSliderSetting( UINT ID );
BOOL _WriteCheckSettings( void );
// We need these friends so that the WebView data can be shared
friend void ReadWebViewSettings(CPropertyDataWindow2 *pData);
friend void WriteWebViewSettings(CPropertyDataWindow2 *pData);
BOOL WriteStringValue(LPCTSTR szKeyName, LPCTSTR szValue);
BOOL WriteNumberValue(LPCTSTR szKeyName, int nValue);
void ReadStringValue(LPCTSTR szKeyName, LPTSTR szValue, UINT cchValueMax);
void ReadNumberValue(LPCTSTR szKeyName, int * pnValue);
void _WriteCheckToINF( HANDLE hFile, UINT ID, BOOL bCheckValues );
void _WriteChecksToINF( HANDLE hFile, BOOL bCheckValues );
void _WriteEditToINF( HANDLE hFile, UINT EditID, BOOL bCheckValues );
void _WriteEditNumToINF( HANDLE hFile, UINT EditID, BOOL bCheckValues );
void _WriteSliderToINF( HANDLE hFile, UINT SliderID, BOOL bCheckValues );
void _WriteComboToINF( HANDLE hFile, UINT ComboID, BOOL bCheckValues );
void _DeleteKey( HANDLE hFile, UINT ID );
int _Spew( HWND hwndList, int iStartLine, CControlID *pControlID );
};
#endif // __PropWnd_h__