Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

142 lines
3.9 KiB

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corporation, 1999 - 1999 **/
/**********************************************************************/
/*
sscoppp.cpp
The superscope properties page
FILE HISTORY:
*/
#include "stdafx.h"
#include "sscoppp.h"
#include "server.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//
// CSuperscopeProperties holder
//
/////////////////////////////////////////////////////////////////////////////
CSuperscopeProperties::CSuperscopeProperties
(
ITFSNode * pNode,
IComponentData * pComponentData,
ITFSComponentData * pTFSCompData,
LPCTSTR pszSheetName
) : CPropertyPageHolderBase(pNode, pComponentData, pszSheetName)
{
//ASSERT(pFolderNode == GetContainerNode());
m_bAutoDeletePages = FALSE; // we have the pages as embedded members
AddPageToList((CPropertyPageBase*) &m_pageGeneral);
Assert(pTFSCompData != NULL);
m_spTFSCompData.Set(pTFSCompData);
}
CSuperscopeProperties::~CSuperscopeProperties()
{
RemovePageFromList((CPropertyPageBase*) &m_pageGeneral, FALSE);
}
/////////////////////////////////////////////////////////////////////////////
// CSuperscopePropGeneral property page
IMPLEMENT_DYNCREATE(CSuperscopePropGeneral, CPropertyPageBase)
CSuperscopePropGeneral::CSuperscopePropGeneral() : CPropertyPageBase(CSuperscopePropGeneral::IDD)
{
//{{AFX_DATA_INIT(CSuperscopePropGeneral)
m_strSuperscopeName = _T("");
//}}AFX_DATA_INIT
m_uImage = 0;
}
CSuperscopePropGeneral::~CSuperscopePropGeneral()
{
}
void CSuperscopePropGeneral::DoDataExchange(CDataExchange* pDX)
{
CPropertyPageBase::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSuperscopePropGeneral)
DDX_Text(pDX, IDC_EDIT_SUPERSCOPE_NAME, m_strSuperscopeName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSuperscopePropGeneral, CPropertyPageBase)
//{{AFX_MSG_MAP(CSuperscopePropGeneral)
ON_EN_CHANGE(IDC_EDIT_SUPERSCOPE_NAME, OnChangeEditSuperscopeName)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSuperscopePropGeneral message handlers
BOOL CSuperscopePropGeneral::OnPropertyChange(BOOL bScope, LONG_PTR *ChangeMask)
{
SPITFSNode spSuperscopeNode;
spSuperscopeNode = GetHolder()->GetNode();
CDhcpSuperscope * pSuperscope = GETHANDLER(CDhcpSuperscope, spSuperscopeNode);
BEGIN_WAIT_CURSOR;
pSuperscope->Rename(spSuperscopeNode, m_strSuperscopeName);
END_WAIT_CURSOR;
*ChangeMask = SCOPE_PANE_CHANGE_ITEM_DATA;
return FALSE;
}
void CSuperscopePropGeneral::OnChangeEditSuperscopeName()
{
SetDirty(TRUE);
}
BOOL CSuperscopePropGeneral::OnApply()
{
UpdateData();
return CPropertyPageBase::OnApply();
}
BOOL CSuperscopePropGeneral::OnInitDialog()
{
CPropertyPageBase::OnInitDialog();
// Limit the name and comment fields to 255 chars
CEdit *pEditName = reinterpret_cast<CEdit *>(GetDlgItem( IDC_EDIT_SUPERSCOPE_NAME ));
if ( 0 != pEditName ) {
pEditName->LimitText( MAX_NAME_LENGTH ); // max characters for superscope name
}
// load the correct icon
for (int i = 0; i < ICON_IDX_MAX; i++)
{
if (g_uIconMap[i][1] == m_uImage)
{
HICON hIcon = LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(g_uIconMap[i][0]));
if (hIcon)
((CStatic *) GetDlgItem(IDC_STATIC_ICON))->SetIcon(hIcon);
break;
}
}
SetDirty(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}