private void NotificationMessageReceived(NotificationMessageEx message) { Dispatcher.BeginInvoke(new Action(() => { if (message.Notification == MsgDestination.WindowApiExtension) // Csak akkor foglalkozunk az özenettel, ha nekünk szól { switch (message.Command) { case MsgCommand.CloseWindow: this.Close(); break; case MsgCommand.ShowDialogQuestion: DialogMessageEx dialogMessageEx = (DialogMessageEx)message.Parameters[0]; var result = MessageBox.Show(dialogMessageEx.Content, dialogMessageEx.Caption, MessageBoxButton.OKCancel, MessageBoxImage.Question); dialogMessageEx.Callback.Invoke(result); break; case MsgCommand.ShowWaitWindow: if (waitWindow != null) waitWindow.Close(); waitWindow = new WaitWindow("Loading please wait..."); waitWindow.Closed += waitWindow_Closed; waitWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner; waitWindow.Owner = this; waitWindow.Show(); break; case MsgCommand.CloseWaitWindow: if (waitWindow != null) { waitWindow.Closed -= waitWindow_Closed; waitWindow.Close(); waitWindow = null; } break; } } })); }
private void NotificationMessageReceived(NotificationMessageEx message) { if (message.Notification == MsgDestination.WindowMain) // Csak akkor foglalkozunk az özenettel, ha nekünk szól { switch (message.Command) { case MsgCommand.PopulateTreeView: MenuTreeView.Items.Clear(); PopulateTreeView((List<VmIVRMenuElementBase>)message.Parameters[0], IVRMenuElementBase.RootIdentifier, null); if (MenuTreeView.Items.Count > 0 && MenuTreeView.Items.GetItemAt(0) is TreeViewItem) { TreeViewItem root = (TreeViewItem)MenuTreeView.Items.GetItemAt(0); root.IsExpanded = true; } break; case MsgCommand.ShowWindowApiExtensionSelector: if (wndApiExtension!=null) { wndApiExtension.Close(); wndApiExtension = null; } wndApiExtension = new WindowAPIExtensionSelector(); wndApiExtension.Owner = this; wndApiExtension.Show(); break; case MsgCommand.ShowLoadDialog: var opendlg = new OpenFileDialog(); opendlg.DefaultExt = ".ozivr"; opendlg.Title = "Open an Ozeki IVR Studion project"; opendlg.Filter = "Ozeki IVR Studio project file (.ozivr)|*.ozivr"; if (opendlg.ShowDialog() == true) { ((FileOperationMessage)message.Parameters[0]).Callback(opendlg.FileName); } break; case MsgCommand.ShowDialogQuestion: DialogMessageEx dialogMessageEx = (DialogMessageEx)message.Parameters[0]; var result = MessageBox.Show(dialogMessageEx.Content, dialogMessageEx.Caption, MessageBoxButton.OKCancel, MessageBoxImage.Question); dialogMessageEx.Callback.Invoke(result); break; case MsgCommand.StartWithExtension: Dispatcher.BeginInvoke(new Action(() => { ((VmMain) DataContext).StartEnginewith(message.Parameters[0]); })); break; } } }