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