Source code of Windows XP (NT5)
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.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: editorui.h
//
//--------------------------------------------------------------------------
#ifndef _EDITORUI_H
#define _EDITORUI_H
#include "attredit.h"
#include "snapdata.h"
#include "aclpage.h"
#include <initguid.h>
#include "IAttrEdt.h"
/////////////////////////////////////////////////////////////////////////////
// CADSIEditPropertyPage
class CADSIEditPropertyPage : public CPropertyPageBase {
// Construction
public: CADSIEditPropertyPage(); CADSIEditPropertyPage(CAttrList* pAttrList); virtual ~CADSIEditPropertyPage() { }
// Used to initialize data that is needed in the UI
//
void SetClass(LPCWSTR sClass) { m_sClass = sClass; } void SetServer(LPCWSTR sServer) { m_sServer = sServer; } void SetPath(LPCWSTR sPath) { m_sPath = sPath; } void SetConnectionData(CConnectionData* pConnectData) { m_pConnectData = pConnectData; }
void SetAttrList(CAttrList* pAttrList); void CopyAttrList(CAttrList* pAttrList); CAttrList* GetAttrList() { return m_pOldAttrList; }
// Implementation
protected: // Message map functions
//
virtual BOOL OnInitDialog(); virtual BOOL OnApply(); virtual void OnCancel(); afx_msg void OnSelChangeAttrList(); afx_msg void OnSelChangePropList();
// Helper functions
//
void FillAttrList(); void AddPropertiesToBox(BOOL bMand, BOOL bOpt); BOOL GetProperties();
// Member data
CString m_sPath; CString m_sClass; CString m_sServer; CConnectionData* m_pConnectData; CStringList m_sMandatoryAttrList; CStringList m_sOptionalAttrList; CAttrEditor m_attrEditor; CAttrList* m_pOldAttrList;
// REVIEW_JEFFJON : since this is an imbedded member and its destructor deletes everything in the list,
// we have to remove everything in the list that is also in m_pOldAttrList so that it
// doesn't get deleted.
CAttrList m_AttrList; BOOL m_bExisting;
DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CADSIEditPropertyPageHolder
class CADSIEditPropertyPageHolder : public CPropertyPageHolderBase { public: CADSIEditPropertyPageHolder(CADSIEditContainerNode* pRootDataNode, CTreeNode* pContainerNode, CComponentDataObject* pComponentData, LPCWSTR lpszClass, LPCWSTR lpszServer, LPCWSTR lpszPath); ~CADSIEditPropertyPageHolder() { if (m_pAclEditorPage != NULL) { delete m_pAclEditorPage; m_pAclEditorPage = NULL; } }
HRESULT OnAddPage(int nPage, CPropertyPageBase* pPage);
virtual CADSIEditContainerNode* GetContainerNode() { return m_pContainer; }
private: CAclEditorPage* m_pAclEditorPage;
CComPtr<IDsAttributeEditor> m_spIDsAttributeEditor;
CString m_sPath;
CComPtr<IADs> m_pADs; CADSIEditContainerNode* m_pContainer; };
/////////////////////////////////////////////////////////////////////////////////////
// CCreateWizPropertyPageHolder
class CCreateWizPropertyPageHolder : public CPropertyPageHolderBase { public: CCreateWizPropertyPageHolder(CADSIEditContainerNode* pRootDataNode, CComponentDataObject* pComponentData, LPCWSTR lpszClass, LPCWSTR lpszServer, CAttrList* pAttrList); ~CCreateWizPropertyPageHolder() { }
virtual CADSIEditContainerNode* GetContainerNode() { return m_pContainer; }
private: CADSIEditPropertyPage m_propPage;
CADSIEditContainerNode* m_pContainer; };
#endif _EDITORUI_H
|