public DialogBuilder(Menus.Menu i_menu, Commands i_commands, DtmfKeyToSpokenEquivalentMappings i_DtmfToSpokenMapping, VxmlGenerationParameters i_VxmlGenerationParameters) { m_menu = i_menu; m_commands = i_commands; m_commands.DtmfCanBeSpoken = m_menu.DtmfCanBeSpoken; // This setting is stored in the menu object but the logic becomes cleaner if the commands collection knows its value. if (m_menu.DtmfCanBeSpoken) { if (null == i_DtmfToSpokenMapping) { Console.Error.WriteLine("{0} DialogBuilder: ERROR - DtmfCanBeSpoken is true but no DtmfToSpokenMapping is provided.", DateTime.Now.ToString()); //$$$ LP - use logger. throw new ArgumentNullException("i_DtmfToSpokenMapping", "DtmfCanBeSpoken is true but no DtmfToSpokenMapping is provided."); } else if (0 == i_DtmfToSpokenMapping.Count) { Console.Error.WriteLine("{0} DialogBuilder: ERROR - DtmfCanBeSpoken is true but DtmfToSpokenMapping is empty.", DateTime.Now.ToString()); //$$$ LP - use logger. throw new ArgumentOutOfRangeException("i_DtmfToSpokenMapping", "DtmfCanBeSpoken is true but DtmfToSpokenMapping is empty."); } } m_DtmfToSpokenMapping = i_DtmfToSpokenMapping; if (m_menu.ConfirmationEnabled) { if (null == i_VxmlGenerationParameters) { Console.Error.WriteLine("{0} DialogBuilder: ERROR - ConfirmationEnabled is true but no VxmlGenerationParameters is provided.", DateTime.Now.ToString()); //$$$ LP - use logger. throw new ArgumentNullException("i_VxmlGenerationParameters", "ConfirmationEnabled is true but no VxmlGenerationParameters is provided."); } } m_VxmlGenerationParameters = i_VxmlGenerationParameters; FormName = i_menu.MenuName; }
// The reason the menu and its associated commands are passed in (rather then retrieve the commands from the database inside the method) // is that this method is used to create a VXML file when a menu is saved on the Menu Editor page (at which point the commands already // exists in memory so no point wasting time retrieving them again). public static bool ProcessMenu(Menus.Menu i_menu, Commands i_commands, string i_sVxmlDirectory) { DtmfKeyToSpokenEquivalentMappings dtmfToSpokenMapping = null; VxmlGenerationParameters vxmlGenerationParameters = null; if (ConfigParams.IsVoiceRecognitionEnabled()) { if (i_menu.DtmfCanBeSpoken) { DialogDesignerDAL dal = new DialogDesignerDAL(); DialogDesignerDAL.ErrorCode ecDal = dal.GetDtmfToSpokenMapping(i_menu.LanguageCode, out dtmfToSpokenMapping); } } else { // If the system is not capable of voice recognition then it doesn't matter what the "DTMF keys can be spoken" setting in the menu is. i_menu.DtmfCanBeSpoken = false; } if (i_menu.ConfirmationEnabled) { vxmlGenerationParameters = GetVxmlGenerationParameters(); } DialogBuilder dialogBuilder = new DialogBuilder(i_menu, i_commands, dtmfToSpokenMapping, vxmlGenerationParameters); bool bMenuGenerated = dialogBuilder.GenerateVxml(GetFileNameForMenu(i_menu, i_sVxmlDirectory)); return(bMenuGenerated); }
public MenuItemSpinnerList(Client client, Menus.Menu owner, string label, List <T> list, int defaultIndex, bool modulus = false, string ace = "", int priority = -1) : base(client, owner, label, defaultIndex, 0, list.Count, 1, modulus, ace, priority) { Data = list; }
public MenuItemSpinnerF(Client client, Menus.Menu owner, string label, float defaultValue, float min, float max, float step, bool modulus = false, string ace = "", int priority = -1) : base(client, owner, label, defaultValue, min, max, step, modulus, ace, priority) { }
public MenuItemCheckbox(Client client, Menus.Menu owner, string label, bool isChecked = false, string ace = "", int priority = -1) : base(client, owner, label, ace, priority) { _isChecked = isChecked; IsChecked = () => _isChecked; }
private static string GetFileNameForMenu(Menus.Menu i_menu, string i_sVxmlDirectory) { string sFullFileName = Path.Combine(i_sVxmlDirectory, String.Format("{0}.vxml.xml", i_menu.MenuName)); return(StringFilter.GetFilteredStringPath(sFullFileName)); }
public static Menus.Menu ParseMenuData(StreamReader file) { List<Menus.Buttons.Button> buttons = new List<Menus.Buttons.Button>(); Menus.Menu menu; string m_name, line, b_name; Vector2 position; string[] split; int inIndex = 0, deIndex = 0, boIndex = 0; m_name = file.ReadLine().Split(':')[1]; while ((line = file.ReadLine()) != null) { split = line.Split(':'); b_name = split[0]; split = split[1].Split(','); position = new Vector2(Convert.ToInt32(split[0]), Convert.ToInt32(split[1])); switch (b_name) { case "IncreaseButton": buttons.Add(new Menus.Buttons.IncreaseButton(position, b_name, m_name, inIndex)); inIndex++; break; case "DecreaseButton": buttons.Add(new Menus.Buttons.DecreaseButton(position, b_name, m_name, deIndex)); deIndex++; break; case "EditorButton": buttons.Add(new Menus.Buttons.EditorButton(position, b_name)); break; case "StartEditorButton": buttons.Add(new Menus.Buttons.StartEditorButton(position, b_name)); break; case "BackButton": buttons.Add(new Menus.Buttons.BackButton(position, b_name)); break; case "BoolButton": buttons.Add(new Menus.Buttons.BoolButton(position, b_name, boIndex)); boIndex++; break; case "TextField": buttons.Add(new Menus.Buttons.TextField(position, b_name)); break; case "SmallButton": buttons.Add(new Menus.Buttons.SmallButton(position, b_name)); break; case "SmallRowButton": buttons.Add(new Menus.Buttons.SmallButton(position, b_name)); break; case "SmallColButton": buttons.Add(new Menus.Buttons.SmallButton(position, b_name)); break; case "SmallLevelButton": buttons.Add(new Menus.Buttons.SmallButton(position, b_name)); break; default: buttons.Add(new Menus.Buttons.Button(position, b_name)); break; } } file.Close(); switch (m_name) { case "EditorMenu": menu = new Menus.EditorMenu(m_name, buttons); break; default: menu = new Menus.Menu(m_name, buttons); break; } return menu; }