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
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);
|