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.
 
 
 
 
 
 

233 lines
6.9 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000 - 2001.
//
// File: headers.h
//
// Contents:
//
// History: 08-28-2001 Hiteshr Created
//
//----------------------------------------------------------------------------
/******************************************************************************
Class: CBaseAddDialog
Purpose: This is the base class for all Add Dialog classes.
******************************************************************************/
class CBaseAddDialog: public CHelpEnabledDialog
{
public:
CBaseAddDialog(CList<CBaseAz*,CBaseAz*>& listAzObjectsToDisplay,
CList<CBaseAz*,CBaseAz*>& listAzObjectsSelected,
ULONG IDD_DIALOG,
INT nIDListCtrl,
COL_FOR_LV *pColForLv,
UINT uiListCtrlFlags)
:CHelpEnabledDialog(IDD_DIALOG),
m_listCtrl(uiListCtrlFlags,FALSE,pColForLv,TRUE),
m_listAzObjectsToDisplay(listAzObjectsToDisplay),
m_listAzObjectsSelected(listAzObjectsSelected),
m_nIDListCtrl(nIDListCtrl),
m_uiListCtrlFlags(uiListCtrlFlags)
{
}
~CBaseAddDialog()
{
}
protected:
virtual BOOL
OnInitDialog();
virtual void
OnOkCancel(BOOL bCancel);
virtual void
OnCancel();
virtual void
OnOK();
private:
//DATA MEMBERS
CSortListCtrl m_listCtrl;
//List of objects to display. This is provided by
//caller of dialog box.
CList<CBaseAz*,CBaseAz*>& m_listAzObjectsToDisplay;
//List of objects selected by uses. This is return to
//user.
CList<CBaseAz*,CBaseAz*>& m_listAzObjectsSelected;
//Control Id for ListBox Control
INT m_nIDListCtrl;
UINT m_uiListCtrlFlags;
};
/******************************************************************************
Class: CAddOperationDlg
Purpose: Add Operation Dlg box
******************************************************************************/
class CAddOperationDlg :public CBaseAddDialog
{
public:
CAddOperationDlg(CList<CBaseAz*,CBaseAz*>& listAzObjectsToDisplay,
CList<CBaseAz*,CBaseAz*>& listAzObjectsSelected);
~CAddOperationDlg();
enum {IDD = IDD_ADD_OPERATION};
private:
DECLARE_MESSAGE_MAP()
};
/******************************************************************************
Class: CAddTaskDlg
Purpose: Add Task Dlg box
******************************************************************************/
class CAddTaskDlg :public CBaseAddDialog
{
public:
CAddTaskDlg(CList<CBaseAz*,CBaseAz*>& listAzObjectsToDisplay,
CList<CBaseAz*,CBaseAz*>& listAzObjectsSelected,
ULONG IDD_DIALOG);
~CAddTaskDlg();
private:
DECLARE_MESSAGE_MAP()
};
/******************************************************************************
Class: CAddGroupDlg
Purpose: Add Group Dlg box
******************************************************************************/
class CAddGroupDlg :public CBaseAddDialog
{
public:
CAddGroupDlg(CList<CBaseAz*,CBaseAz*>& listAzObjectsToDisplay,
CList<CBaseAz*,CBaseAz*>& listAzObjectsSelected);
~CAddGroupDlg();
enum {IDD = IDD_ADD_GROUP};
private:
DECLARE_MESSAGE_MAP()
};
//+----------------------------------------------------------------------------
// Function:GetSelectedAzObjects
// Synopsis:Display the add dlg box for eObjecType and return the objects
// selected by user
// Arguments:hwnd
// eObjectType: Shows Add Dlg for this objecttype
// pContainerAz:ContainerAz object from whose child objects are
// shown
// listObjectsSelected: Gets list of selected object types
// Returns:
//-----------------------------------------------------------------------------
BOOL GetSelectedAzObjects(IN HWND hWnd,
IN OBJECT_TYPE_AZ eObjectType,
IN CContainerAz* pContainerAz,
OUT CList<CBaseAz*,CBaseAz*>& listObjectsSelected);
//+----------------------------------------------------------------------------
// Function:GetSelectedTasks
// Synopsis:Display the add dlg box for Tasks/RoleDefintions
// and return the objects selected by user
// Arguments:hwnd
// bTaskIsRoleDefintion if True Display AddTask else Add Role Def.
// pContainerAz:ContainerAz object from whose child objects are
// shown
// listObjectsSelected: Gets list of selected object types
// Returns:
//-----------------------------------------------------------------------------
BOOL GetSelectedTasks(IN HWND hWnd,
IN BOOL bTaskIsRoleDefintion,
IN CContainerAz* pContainerAz,
OUT CList<CBaseAz*,CBaseAz*>& listObjectsSelected);
/******************************************************************************
Class: CAddDefinition
Purpose:Property Page for Add Definition Tab. Allows to add Role, Task or
Operation
******************************************************************************/
class CAddDefinition :public CPropertyPage
{
public:
CAddDefinition(CList<CBaseAz*,CBaseAz*>& listAzObjectsSelected,
ULONG IDD_DIALOG,
IN CContainerAz* pContainerAz,
IN OBJECT_TYPE_AZ eObjectType,
IN BOOL bTaskIsRoleDefintion)
:CPropertyPage(IDD_DIALOG),
m_listCtrl(COL_NAME |COL_PARENT_TYPE|COL_DESCRIPTION,FALSE,Col_For_Add_Object,TRUE),
m_listAzObjectsSelected(listAzObjectsSelected),
m_pContainerAz(pContainerAz),
m_eObjectType(eObjectType),
m_bTaskIsRoleDefintion(bTaskIsRoleDefintion),
m_iSortDirection(1),
m_iLastColumnClick(0)
{
}
virtual BOOL
OnInitDialog();
virtual void
OnCancel();
virtual void
OnOK();
private:
void
OnOkCancel(BOOL bCancel);
DECLARE_MESSAGE_MAP()
//DATA MEMBERS
CSortListCtrl m_listCtrl;
//List of objects selected by uses. This is return to
//user.
CList<CBaseAz*,CBaseAz*>& m_listAzObjectsSelected;
//
//Cotainer which contians objects to be selected
//
CContainerAz* m_pContainerAz;
//
//Type of the object to be selected
//
OBJECT_TYPE_AZ m_eObjectType;
//
//used if m_eObjectType == TASK_AZ. m_bTaskIsRoleDefintion is
//true, display only Role Definitions
//
BOOL m_bTaskIsRoleDefintion;
int m_iSortDirection;
int m_iLastColumnClick;
};
//+----------------------------------------------------------------------------
// Function:GetSelectedDefinitions
// Synopsis:Display the dlg boxes for Tasks/RoleDefintions/Operations
// and return the objects selected by user
// Arguments:hwnd
// bRoleDefintion if True Display Add Role dialog also.
// pContainerAz:ContainerAz object from whose child objects are
// shown
// listObjectsSelected: Gets list of selected object types
// Returns:
//-----------------------------------------------------------------------------
BOOL GetSelectedDefinitions(IN BOOL bAllowRoleDefinition,
IN CContainerAz* pContainerAz,
OUT CList<CBaseAz*,CBaseAz*>& listObjectsSelected);