/// <summary> /// Show the given Prompt /// </summary> /// <param name="name">ActivePrompt name</param> public static void Show(string name, string text, int timeout) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException("name", "A valid ActivePrompt name must be provided."); } if (!manager.activePrompts.ContainsKey(name)) { throw new InvalidOperationException("An ActivePrompt must first be created."); } qf4net.QF.Instance.Publish(new PromptEvent(QFSignal.PromptShow, name, text, timeout)); ActivePrompt aPrompt = manager.activePrompts[name]; while ((!aPrompt.IsInState(aPrompt.m_StateFaulted)) && (!aPrompt.IsInState(aPrompt.m_StateShown))) { System.Threading.Thread.Sleep(1); } }
private static void Create(IPrompt prompt) { if (prompt == null) { throw new ArgumentNullException("prompt", "A valid prompt must be provided."); } if ((string.IsNullOrEmpty(prompt.Name) || manager.activePrompts.ContainsKey(prompt.Name))) { throw new ArgumentNullException("prompt.Name", "An ActivePrompt must have a valid, unique name."); } manager.activePrompts.Add(prompt.Name, new ActivePrompt(prompt)); manager.activePrompts[prompt.Name].Start(manager.priority++); ActivePrompt aPrompt = manager.activePrompts[prompt.Name]; while ((!aPrompt.IsInState(aPrompt.m_StateFaulted)) && (!aPrompt.IsInState(aPrompt.m_StateCreated))) { System.Threading.Thread.Sleep(1); } }