📄 dsacd_ivrview.cpp
字号:
pInfo->Content = "空";
dsACDObjectBase * pObj = new dsACDDBConnect;
pObj->Write(pInfo);
g_MapObj.AddMapItem(hItem,pObj);
m_bModified=TRUE;
}
void CDsACD_IVRView::OnOpeCharconvert()
{
HTREEITEM hItem = AddGeneralOperate(8) ;
dsChar_INFO * pCharInfo = new dsChar_INFO;
pCharInfo->Variable = "无变量";
pCharInfo->Type = "无操作";
pCharInfo->SubstrLength = 0;
pCharInfo->SubstrPlace = 0;
dsACDObjectBase * pObj = new dsACDConvert;
pObj->Write(pCharInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeDatatime()
{
HTREEITEM hItem = AddGeneralOperate(9) ;
dsDT_INFO * pDTInfo = new dsDT_INFO;
pDTInfo->Variable = "无变量";
pDTInfo->Style = "系统日期";
pDTInfo->Type = "无操作";
dsACDObjectBase * pObj = new dsACDDateTime;
pObj->Write(pDTInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeDboperate()
{
HTREEITEM hItem = AddGeneralOperate(10) ;
dsDBOpe_INFO * pInfo = new dsDBOpe_INFO;
pInfo->Name = "无数据库";
pInfo->Type = "无操作";
dsACDObjectBase * pObj = new dsACDDBOperate;
pObj->Write(pInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeFieldoperate()
{
HTREEITEM hItem = AddGeneralOperate(11) ;
dsField_INFO * pInfo = new dsField_INFO;
pInfo->Name = "无数据库";
pInfo->Field = "空";
pInfo->Variable = "无变量";
dsACDObjectBase * pObj = new dsACDGetField;
pObj->Write(pInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeQuerycommand()
{
HTREEITEM hItem = AddGeneralOperate(12) ;
dsQC_INFO * pInfo = new dsQC_INFO;
pInfo->Name = "无数据库";
pInfo->Type = "自动匹配";
pInfo->Content = "空";
dsACDObjectBase * pObj = new dsACDQueryCommand;
pObj->Write(pInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeQueryparameter()
{
HTREEITEM hItem = AddGeneralOperate(13) ;
dsQP_INFO * pInfo = new dsQP_INFO;
pInfo->Name = "无数据库";
pInfo->Parameter = "空";
pInfo->Value = "空";
dsACDObjectBase * pObj = new dsACDQueryParameter;
pObj->Write(pInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnOpeVaroperate()
{
HTREEITEM hItem = AddGeneralOperate(7) ;
dsVO_INFO * pVOInfo = new dsVO_INFO;
pVOInfo->Result = "无变量";
pVOInfo->OpeType = "无操作";
pVOInfo->DestVar = "空";
pVOInfo->SrcVar = "空";
dsACDObjectBase * pObj = new dsACDOperate;
pObj->Write(pVOInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnFlowSwitch()
{
HTREEITEM hSelectedItem = m_TreeCtrl->GetSelectedItem();
HTREEITEM hSelectedItemBackup = hSelectedItem;
HTREEITEM hParentItem = m_TreeCtrl->GetParentItem(hSelectedItem);
HTREEITEM hItem;
if (NULL != hParentItem)
hSelectedItem = hParentItem;
if(m_hParent1 == hSelectedItem)
{
hItem = AddFlowSwitch(m_hParent2, TVI_LAST);
}
else if(m_hParent2 == hSelectedItem)
{
hItem = AddFlowSwitch(m_hParent2, m_TreeCtrl->GetSelectedItem());
}
else if(m_hParent3 == hSelectedItem)
{
hItem = AddFlowSwitch(m_hParent3, m_TreeCtrl->GetSelectedItem());
}
else
{
CString csItemName = m_TreeCtrl->GetItemText(hParentItem);
if (csItemName.Left(8) == _T("条件控制") || csItemName.Left(8) == _T("多路分支"))
{
hItem = AddFlowSwitch(hSelectedItemBackup, TVI_FIRST);
}
else
{
hItem = AddFlowSwitch(hParentItem, m_TreeCtrl->GetSelectedItem());
}
}
m_TreeCtrl->SelectItem(hItem);
}
void CDsACD_IVRView::OnFlowSign()
{
static int k= 0;
k++;
CString csTemp;
csTemp.Format("%s%d", "新标号位置", k);
CString csNewVariable = csTreeItems[20] + csTemp;
HTREEITEM hItem = AddGeneralOperate(20);
m_TreeCtrl->SetItemText(hItem, csNewVariable);
dsSig_INFO * pSigInfo = new dsSig_INFO;
pSigInfo->Name = csTemp;
dsACDObjectBase * pObj = new dsACDSign;
pObj->Write(pSigInfo);
g_MapObj.AddMapItem(hItem,pObj);
}
void CDsACD_IVRView::OnFlowRestart()
{
HTREEITEM hItem = AddGeneralOperate(23);
dsACDObjectBase * pObj = new dsACDRestart;
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnFlowMatch()
{
HTREEITEM hSelectedItem = m_TreeCtrl->GetSelectedItem();
HTREEITEM hParentItem = m_TreeCtrl->GetParentItem(hSelectedItem);
HTREEITEM hItem;
CString csItemName = m_TreeCtrl->GetItemText(hParentItem);
CString csItemName1 = m_TreeCtrl->GetItemText(hSelectedItem);
if (csItemName.Left(8) == _T("多路分支"))
{
if (csItemName1.Left(8) == _T("缺省匹配"))
{
HTREEITEM hPrevSiblingItem = m_TreeCtrl->GetPrevSiblingItem(hSelectedItem);
if (hPrevSiblingItem == NULL)
hItem = m_TreeCtrl->InsertItem (csTreeItems[17], 17, 17, hParentItem, TVI_FIRST);
else
hItem = m_TreeCtrl->InsertItem (csTreeItems[17], 17, 17, hParentItem, hPrevSiblingItem);
m_TreeCtrl->Expand(hParentItem, TVE_EXPAND);
}
else
{
hItem = m_TreeCtrl->InsertItem (csTreeItems[17], 17, 17, hParentItem, hSelectedItem);
m_TreeCtrl->Expand(hParentItem, TVE_EXPAND);
}
}
else if (csItemName1.Left(8) == _T("多路分支"))
{
hItem = m_TreeCtrl->InsertItem (csTreeItems[17], 17, 17, hSelectedItem, TVI_FIRST);
m_TreeCtrl->Expand(hSelectedItem, TVE_EXPAND);
}
dsMM_INFO * pMMInfo = new dsMM_INFO;
dsACDObjectBase * pObj = new dsACDMatch;
pObj->Write(pMMInfo);
g_MapObj.AddMapItem(hItem, pObj);
m_TreeCtrl->SelectItem(hItem);
m_bModified=TRUE;
}
void CDsACD_IVRView::OnFlowJump()
{
HTREEITEM hItem = AddGeneralOperate(21);
dsJmp_INFO * pJmpInfo = new dsJmp_INFO;
pJmpInfo->SignPos = "无标号位置";
dsACDObjectBase * pObj = new dsACDJump;
pObj->Write(pJmpInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnFlowFunction()
{
HTREEITEM hItem = AddGeneralOperate(19);
dsFun_INFO * pFunInfo = new dsFun_INFO;
dsACDObjectBase * pObj = new dsACDFunction;
pObj->Write(pFunInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnFlowEnd()
{
HTREEITEM hItem = AddGeneralOperate(22);
dsACDObjectBase * pObj = new dsACDEndFlow;
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnFlowCondition()
{
HTREEITEM hSelectedItem = m_TreeCtrl->GetSelectedItem();
HTREEITEM hSelectedItemBackup = hSelectedItem;
HTREEITEM hParentItem = m_TreeCtrl->GetParentItem(hSelectedItem);
HTREEITEM hItem;
if (NULL != hParentItem)
hSelectedItem = hParentItem;
if(m_hParent1 == hSelectedItem)
{
hItem = AddFlowCondition(m_hParent2, TVI_LAST);
}
else if(m_hParent2 == hSelectedItem)
{
hItem = AddFlowCondition(m_hParent2, m_TreeCtrl->GetSelectedItem());
}
else if(m_hParent3 == hSelectedItem)
{
hItem = AddFlowCondition(m_hParent3, m_TreeCtrl->GetSelectedItem());
}
else
{
CString csItemName = m_TreeCtrl->GetItemText(hParentItem);
if (csItemName.Left(8) == _T("条件控制") || csItemName.Left(8) == _T("多路分支"))
{
hItem = AddFlowCondition(hSelectedItemBackup, TVI_FIRST);
}
else
{
hItem = AddFlowCondition(hParentItem, m_TreeCtrl->GetSelectedItem());
}
}
m_TreeCtrl->SelectItem(hItem);
}
void CDsACD_IVRView::OnFlowCirculate()
{
HTREEITEM hItem = AddGeneralOperate(18);
dsCir_INFO * pCirInfo = new dsCir_INFO;
dsACDObjectBase * pObj = new dsACDCirculate;
pObj->Write(pCirInfo);
g_MapObj.AddMapItem(hItem, pObj);
}
void CDsACD_IVRView::OnACDAssigntoACDgroup()
{
AddGeneralOperate(32);
}
void CDsACD_IVRView::OnACDAssigntoAgent()
{
AddGeneralOperate(31);
}
void CDsACD_IVRView::OnACDFindEmptyAgent()
{
AddGeneralOperate(29);
}
void CDsACD_IVRView::OnACDFindRecentAgent()
{
AddGeneralOperate(30);
}
void CDsACD_IVRView::OnACDGetCalledInfo()
{
AddGeneralOperate(27);
}
void CDsACD_IVRView::OnACDGetCallerID()
{
AddGeneralOperate(25);
}
void CDsACD_IVRView::OnACDGetCallerInfo()
{
AddGeneralOperate(26);
}
void CDsACD_IVRView::OnACDQueueCall()
{
AddGeneralOperate(24);
}
void CDsACD_IVRView::OnACDSetPriority()
{
AddGeneralOperate(28);
}
void CDsACD_IVRView::OnIVRCall()
{
AddGeneralOperate(35);
}
void CDsACD_IVRView::OnIVRPlay()
{
AddGeneralOperate(36);
}
void CDsACD_IVRView::OnIVRReceiveCode()
{
AddGeneralOperate(38);
}
void CDsACD_IVRView::OnIVRRecord()
{
AddGeneralOperate(37);
}
void CDsACD_IVRView::OnIVRResponse()
{
AddGeneralOperate(34);
}
void CDsACD_IVRView::OnIVRRing()
{
AddGeneralOperate(33);
}
void CDsACD_IVRView::OnIVRSendCode()
{
AddGeneralOperate(39);
}
void CDsACD_IVRView::OnIVRSuspend()
{
AddGeneralOperate(40);
}
/*******************************************************************
AddItem()
Helper Function for adding an item to the tree control
********************************************************************/
HTREEITEM CDsACD_IVRView::AddItem(
HTREEITEM hParent,
CString csItemName,
HTREEITEM hInsAfter,
int iSelImage ,
int iNonSelImage,
long lParam
)
{
HTREEITEM hItem;
TV_ITEM tvItem;
TV_INSERTSTRUCT tvIns;
tvItem.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE|TVIF_SELECTEDIMAGE;
int nLength = csItemName.GetLength() ;
tvItem.pszText = csItemName.GetBuffer(nLength);
tvItem.cchTextMax = nLength;
tvItem.lParam = lParam;
tvItem.iImage = iNonSelImage;
tvItem.iSelectedImage = iSelImage;
tvIns.item = tvItem;
tvIns.hInsertAfter = hInsAfter;
tvIns.hParent = hParent;
hItem = m_TreeCtrl->InsertItem(&tvIns);
m_bModified=TRUE;
return (hItem);
}
/*******************************************************************
OnBegindrag()
Called when drag operation begins
********************************************************************/
void CDsACD_IVRView::OnBegindrag(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
HTREEITEM hTSelItem = pNMTreeView->itemNew.hItem;
// Highlight selected item
m_TreeCtrl->SelectItem(hTSelItem);
m_TreeCtrl->Select(hTSelItem, TVGN_DROPHILITE);
COleDataSource *poleSourceObj = new COleDataSource ;
CTreeDropTarget::m_shWndTreeCtrl = m_hWnd;
// Begin Drag operation
DROPEFFECT dropeffect = poleSourceObj->DoDragDrop();
// Remove the highlighting
SendMessage(TVM_SELECTITEM, TVGN_DROPHILITE,0);
// If user is moving item by pressing Shift, delete selected item
if ( dropeffect == DROPEFFECT_MOVE ) //by 郭建国
{
m_TreeCtrl->DeleteItem(hTSelItem);
m_bModified=TRUE;
}
delete poleSourceObj;
*pResult = 0;
}
void CDsACD_IVRView::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu popMenu;
CMenu *pMenu;
POINT pt;
::GetCursorPos((LPPOINT)&pt);
ScreenToClient(&pt);
ClientToScreen (&pt);
popMenu.LoadMenu(IDR_POP_MENU);
HTREEITEM hSelectedItem = m_TreeCtrl->GetSelectedItem();
CString csItemName = m_TreeCtrl->GetItemText(hSelectedItem);
if (csItemName.Left(8) == _T("数据定义") || csItemName.Left(6) == _T("返回值")
|| csItemName.Left(8) == _T("流程开始") || csItemName.Left(8) == _T("流程结束")
|| csItemName.Left(8) == _T("条件为真") || csItemName.Left(8) == _T("条件为假")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -