/// <summary> /// Selects a list of controls, and updates all views to reflect that selection /// </summary> /// <param name="control"></param> private void SelectControls(object source, GUIView view, List<GUIControl> controls) { mIgnoreSelectionChanges = true; { NotifyingList<GUIControl> selectedControls = new NotifyingList<GUIControl>(controls); // Set the current scene's selected control, as well as the properties and // the scene hierarchy SceneView sceneView = mDockPanel.ActiveDocument as SceneView; if (source != sceneView && sceneView != null && sceneView.ActiveView == view) { sceneView.SelectedControls = selectedControls; } if (source != Globals.TimelineView) Globals.TimelineView.SelectedControls = selectedControls; if (source != Globals.SceneHierarchyView) Globals.SceneHierarchyView.SelectedControls = selectedControls; if (source != Globals.PropertiesView) Globals.PropertiesView.PropertyGrid.SelectedObjects = selectedControls.ToArray(); } mIgnoreSelectionChanges = false; }