Пример #1
0
void CAclNet::Add()
{
	if((m_bButtonFlags & ACL_BUTTON_ADD_MASK) != ACL_BUTTON_ADD_MASK) return;

	CAclDialog dlg;
	dlg.SetDialog(ACL_CAPTION_ADD, ACL_CAPTION_NET_ADD, ACL_DIALOG_NET);
	CAclNetSet* pSet = dlg.GetAclNetSet();
	PXACL_IP pIp = pSet->GetIp();

	int nIndex = m_List.GetItemCount();
	if(nIndex == 0)
		pIp->dwId = 1;
	else
		pIp->dwId = atol(m_List.GetItemText(nIndex - 1, 0)) + 1;

	int iRet = dlg.DoModal();

	if(iRet == IDCANCEL) return;

	m_arIp[m_iTreeIndex].Add(*pIp);

	ListAddOne(pIp);
	m_bButtonFlags |= ACL_BUTTON_SHOW_APPLY_GROUP;
	m_History[m_iTreeIndex].AddHistory(OPT_TYPE_ADD, m_bButtonFlags & (pIp->bNotAllowEdit ? 0x00 : 0xFF), (char*)pIp);
	SendMessageEx(m_bButtonFlags);
}
Пример #2
0
void CAclNet::Edit()
{
	if((m_bButtonFlags & ACL_BUTTON_EDIT_MASK) != ACL_BUTTON_EDIT_MASK) return;
	if(m_iListIndex < 0) 
		return;

	CAclDialog dlg;
	dlg.SetDialog(ACL_CAPTION_EDIT, ACL_CAPTION_NET_EDIT, ACL_DIALOG_NET);
	CAclNetSet* pSet = dlg.GetAclNetSet();
	PXACL_IP pIp = pSet->GetIp();
	pSet->SetEdit(TRUE);

	*pIp = m_arIp[m_iTreeIndex][m_iListIndex];

	int iRet = dlg.DoModal();

	if(iRet == IDCANCEL || !pSet->IsChange()) return;

	ListAddOne(pIp, TRUE, TRUE, m_iListIndex);
	m_bButtonFlags |= ACL_BUTTON_SHOW_APPLY_GROUP;
	SendMessageEx(m_bButtonFlags);
	m_History[m_iTreeIndex].AddHistory(OPT_TYPE_EDIT, m_bButtonFlags, (char*)pIp, (char*)&m_arIp[m_iTreeIndex][m_iListIndex]);
	m_arIp[m_iTreeIndex][m_iListIndex] = *pIp;
}