ivr流程编辑器

CtlToolsMeun.cs 5.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using HySoft.IVRFlowEditor.Utility;
  10. using HySoft.IVRFlowEditor.IVRControlUtility;
  11. namespace HySoft.IVRFlowEditor
  12. {
  13. public partial class CtlToolsMeun : UserControl
  14. {
  15. public CtlToolsMeun()
  16. {
  17. InitializeComponent();
  18. this.listView1.View = View.SmallIcon;
  19. this.listView1.SmallImageList = this.imageList1;
  20. this.listView1.Items.Add(new ListViewItem("开始", 0));
  21. this.listView1.Items.Add(new ListViewItem("外呼号码"));
  22. this.listView1.Items.Add(new ListViewItem("呼叫转移"));
  23. // this.listView1.Items.Add(new ListViewItem("排队组号"));
  24. this.listView1.Items.Add(new ListViewItem("变量"));
  25. this.listView1.Items.Add(new ListViewItem("跳转子流程"));
  26. this.listView1.Items.Add(new ListViewItem("放音收按键"));
  27. this.listView1.Items.Add(new ListViewItem("传真发送"));
  28. this.listView1.Items.Add(new ListViewItem("传真接收"));
  29. this.listView1.Items.Add(new ListViewItem("留言"));
  30. this.listView1.Items.Add(new ListViewItem("请求排队"));
  31. this.listView1.Items.Add(new ListViewItem("继续排队"));
  32. this.listView1.Items.Add(new ListViewItem("取消排队"));
  33. this.listView1.Items.Add(new ListViewItem("转人工"));
  34. this.listView1.Items.Add(new ListViewItem("数据比较"));
  35. this.listView1.Items.Add(new ListViewItem("算数运算"));
  36. this.listView1.Items.Add(new ListViewItem("分支节点"));
  37. this.listView1.Items.Add(new ListViewItem("字符串操作"));
  38. this.listView1.Items.Add(new ListViewItem("数据库读写"));
  39. this.listView1.Items.Add(new ListViewItem("数据集映射"));
  40. this.listView1.Items.Add(new ListViewItem("定时器"));
  41. this.listView1.Items.Add(new ListViewItem("结束"));
  42. }
  43. bool isCreate;
  44. private void listView1_SelectedIndexChanged(object sender, EventArgs e)
  45. {
  46. if (listView1.SelectedIndices != null && listView1.SelectedIndices.Count > 0)
  47. {
  48. isCreate = true;
  49. this.Cursor = Cursors.Hand;
  50. switch (this.listView1.SelectedItems[0].Text)
  51. {
  52. case "开始": GlobalController.SetCreateNodeType(new IVRStartNode(this.listView1.SelectedItems[0].Text)); break;
  53. case "外呼号码": GlobalController.SetCreateNodeType(new IVROutbound(this.listView1.SelectedItems[0].Text)); break;
  54. case "呼叫转移": GlobalController.SetCreateNodeType(new IVRTransfeOut(this.listView1.SelectedItems[0].Text)); break;
  55. case "变量": GlobalController.SetCreateNodeType(new IVRDefinevar(this.listView1.SelectedItems[0].Text)); break;
  56. case "跳转子流程": GlobalController.SetCreateNodeType(new IVRSubflow(this.listView1.SelectedItems[0].Text)); break;
  57. case "放音收按键": GlobalController.SetCreateNodeType(new IVRAudioDTMF(this.listView1.SelectedItems[0].Text)); break;
  58. // case "排队组号": GlobalController.SetCreateNodeType(new IVRQueueBuildNumber(this.listView1.SelectedItems[0].Text)); break;
  59. case "传真接收": GlobalController.SetCreateNodeType(new IVRRecvfax(this.listView1.SelectedItems[0].Text)); break;
  60. case "传真发送": GlobalController.SetCreateNodeType(new IVRSendfax(this.listView1.SelectedItems[0].Text)); break;
  61. case "留言": GlobalController.SetCreateNodeType(new IVRLeaveWord(this.listView1.SelectedItems[0].Text)); break;
  62. case "请求排队": GlobalController.SetCreateNodeType(new IVRQueue(this.listView1.SelectedItems[0].Text)); break;
  63. case "继续排队": GlobalController.SetCreateNodeType(new IVRContinueQueue(this.listView1.SelectedItems[0].Text)); break;
  64. case "取消排队": GlobalController.SetCreateNodeType(new IVRCancelQueue(this.listView1.SelectedItems[0].Text)); break;
  65. case "转人工": GlobalController.SetCreateNodeType(new IVRTurnagent(this.listView1.SelectedItems[0].Text)); break;
  66. case "数据比较": GlobalController.SetCreateNodeType(new IVRCompare(this.listView1.SelectedItems[0].Text)); break;
  67. case "算数运算": GlobalController.SetCreateNodeType(new IVRCalculate(this.listView1.SelectedItems[0].Text)); break;
  68. case "分支节点": GlobalController.SetCreateNodeType(new IVRBranch(this.listView1.SelectedItems[0].Text)); break;
  69. case "字符串操作": GlobalController.SetCreateNodeType(new IVRStringop(this.listView1.SelectedItems[0].Text)); break;
  70. case "数据库读写": GlobalController.SetCreateNodeType(new IVRSql(this.listView1.SelectedItems[0].Text)); break;
  71. case "数据集映射": GlobalController.SetCreateNodeType(new IVRRecordSet(this.listView1.SelectedItems[0].Text)); break;
  72. case "定时器": GlobalController.SetCreateNodeType(new IVRTimer(this.listView1.SelectedItems[0].Text)); break;
  73. case "结束": GlobalController.SetCreateNodeType(new IVREndNode(this.listView1.SelectedItems[0].Text)); break;
  74. }
  75. }
  76. }
  77. private void listView1_MouseLeave(object sender, EventArgs e)
  78. {
  79. if (isCreate)
  80. this.Cursor = Cursors.No;
  81. listView1.SelectedIndices.Clear();
  82. isCreate = false;
  83. }
  84. private void listView1_MouseMove(object sender, MouseEventArgs e)
  85. {
  86. this.Cursor = Cursors.Arrow;
  87. }
  88. }
  89. }