/// ------------------------------------------------------------------------------------ /// <summary> /// Get the possible message targets, i.e. the view(s) we are showing /// </summary> /// <returns>Message targets</returns> /// ------------------------------------------------------------------------------------ public IxCoreColleague[] GetMessageTargets() { CheckDisposed(); // return list of view windows with focused window being the first one List<IxCoreColleague> targets = new List<IxCoreColleague>(); foreach (Control control in m_rgClientViews.Values) { IxCoreColleague view = control as IxCoreColleague; if (view != null && control != null) { if (control.Focused || control == ActiveView) targets.InsertRange(0, view.GetMessageTargets()); else if (control.Visible || control.ContainsFocus) targets.AddRange(view.GetMessageTargets()); } } targets.Add(this); return targets.ToArray(); }