// -------------------------------------------------------------------- public static void Set(List <SceneObject> selected) { Selected.Clear(); Selected.AddRange(selected); OnSelectionChanged?.Invoke(Selected); }
/// <summary>Handle navigation keyboard shortcuts</summary> public virtual void OnTranslateKey(KeyEventArgs e) { // Notes: // - Default chart key bindings. These are intended as default key bindings // Applications should probably set DefaultKeyboardShortcuts to false and // handle key bindings themselves. if (e.Handled) { return; } // Allow users to handle the key TranslateKey?.Invoke(this, e); if (e.Handled) { return; } // Fall back to default switch (e.Key) { case Key.Escape: { // Deselect all on escape if (AllowSelection) { Selected.Clear(); Invalidate(); e.Handled = true; } break; } case Key.Delete: { //if (AllowEditing) { //// Allow the caller to cancel the deletion or change the selection //var res = new DiagramChangedRemoveElementsEventArgs(Selected.ToArray()); //if (!RaiseDiagramChanged(res).Cancel) //{ // foreach (var elem in res.Elements) // { // var node = elem as Node; // if (node != null) // node.DetachConnectors(); // var conn = elem as Connector; // if (conn != null) // conn.DetachNodes(); // Elements.Remove(elem); // } // Invalidate(); //} } break; } case Key.F5: { View3d.ReloadScriptSources(); Invalidate(); e.Handled = true; break; } case Key.F7: { var bounds = Keyboard.Modifiers.HasFlag(ModifierKeys.Shift) ? Gfx.View3d.ESceneBounds.Selected : Keyboard.Modifiers.HasFlag(ModifierKeys.Control) ? Gfx.View3d.ESceneBounds.Visible : Gfx.View3d.ESceneBounds.All; AutoRange(who: bounds); Invalidate(); e.Handled = true; break; } case Key.A: { if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { Selected.Clear(); Selected.AddRange(Elements); Invalidate(); Debug.Assert(CheckConsistency()); e.Handled = true; } break; } } }
private void SelectAllItems() { Selected.AddRange(NotSelected); NotSelected.Clear(); }