void SelectModelImpl(SelectModelCommand command) { // Empty ModelGuid means clear selection. if (command.ModelGuid == Guid.Empty) { DynamoSelection.Instance.ClearSelection(); return; } ModelBase model = CurrentWorkspace.GetModelInternal(command.ModelGuid); if (false == model.IsSelected) { if (!command.Modifiers.HasFlag(ModifierKeys.Shift)) { DynamoSelection.Instance.ClearSelection(); } if (!DynamoSelection.Instance.Selection.Contains(model)) { DynamoSelection.Instance.Selection.Add(model); } } else { if (command.Modifiers.HasFlag(ModifierKeys.Shift)) { DynamoSelection.Instance.Selection.Remove(model); } } }
void SelectModelImpl(SelectModelCommand command) { // Empty ModelGuid means clear selection. if (command.ModelGuid == Guid.Empty) { DynamoSelection.Instance.ClearSelection(); return; } ModelBase model = CurrentWorkspace.GetModelInternal(command.ModelGuid); if (false == model.IsSelected) { if (!command.Modifiers.HasFlag(ModifierKeys.Shift)) DynamoSelection.Instance.ClearSelection(); if (!DynamoSelection.Instance.Selection.Contains(model)) DynamoSelection.Instance.Selection.Add(model); } else { if (command.Modifiers.HasFlag(ModifierKeys.Shift)) DynamoSelection.Instance.Selection.Remove(model); } }
void SelectModelImpl(SelectModelCommand command) { // Empty ModelGuid means clear selection. if (command.ModelGuid == Guid.Empty) { DynamoSelection.Instance.ClearSelection(); return; } foreach (var guid in command.ModelGuids) { ModelBase model = CurrentWorkspace.GetModelInternal(guid); if (!model.IsSelected) { if (!command.Modifiers.HasFlag(ModifierKeys.Shift) && command.ModelGuids.Count() == 1) { DynamoSelection.Instance.ClearSelection(); } DynamoSelection.Instance.Selection.AddUnique(model); } else { if (command.Modifiers.HasFlag(ModifierKeys.Shift)) { DynamoSelection.Instance.Selection.Remove(model); } } } }
/// <summary> /// Call this static method to reconstruct a RecordableCommand-derived /// object given an XmlElement that was previously saved with Serialize /// method. This method simply redirects the XmlElement to respective /// RecordableCommand-derived classes based on its type. /// </summary> /// <param name="element">The XmlElement from which the RecordableCommand /// can be reconstructed.</param> /// <returns>Returns the reconstructed RecordableCommand object. If a /// RecordableCommand cannot be reconstructed, this method throws a /// relevant exception.</returns> /// internal static RecordableCommand Deserialize(XmlElement element) { if (string.IsNullOrEmpty(element.Name)) { throw new ArgumentException("XmlElement without name"); } RecordableCommand command = null; switch (element.Name) { case "CreateNodeCommand": command = CreateNodeCommand.DeserializeCore(element); break; case "SelectModelCommand": command = SelectModelCommand.DeserializeCore(element); break; case "CreateNoteCommand": command = CreateNoteCommand.DeserializeCore(element); break; case "SelectInRegionCommand": command = SelectInRegionCommand.DeserializeCore(element); break; case "DragSelectionCommand": command = DragSelectionCommand.DeserializeCore(element); break; case "MakeConnectionCommand": command = MakeConnectionCommand.DeserializeCore(element); break; case "DeleteModelCommand": command = DeleteModelCommand.DeserializeCore(element); break; case "UndoRedoCommand": command = UndoRedoCommand.DeserializeCore(element); break; case "UpdateModelValueCommand": command = UpdateModelValueCommand.DeserializeCore(element); break; } if (null != command) { command.IsInPlaybackMode = true; return(command); } string message = string.Format("Unknown command: {0}", element.Name); throw new ArgumentException(message); }
public void SelectModelCommand_Constructor() { //Arrange Guid commandGuid = Guid.NewGuid(); //Act var command = new SelectModelCommand(commandGuid.ToString(), ModifierKeys.Control); //Assert Assert.AreEqual(command.ModelGuid.ToString(), commandGuid.ToString()); Assert.AreEqual(command.Modifiers, ModifierKeys.Control); }
/// <summary> /// Call this static method to reconstruct a RecordableCommand-derived /// object given an XmlElement that was previously saved with Serialize /// method. This method simply redirects the XmlElement to respective /// RecordableCommand-derived classes based on its type. /// </summary> /// <param name="element">The XmlElement from which the RecordableCommand /// can be reconstructed.</param> /// <returns>Returns the reconstructed RecordableCommand object. If a /// RecordableCommand cannot be reconstructed, this method throws a /// relevant exception.</returns> /// internal static RecordableCommand Deserialize(XmlElement element) { if (string.IsNullOrEmpty(element.Name)) { throw new ArgumentException("XmlElement without name"); } switch (element.Name) { case "CreateNodeCommand": return(CreateNodeCommand.DeserializeCore(element)); case "SelectModelCommand": return(SelectModelCommand.DeserializeCore(element)); case "CreateNoteCommand": return(CreateNoteCommand.DeserializeCore(element)); case "SelectInRegionCommand": return(SelectInRegionCommand.DeserializeCore(element)); case "DragSelectionCommand": return(DragSelectionCommand.DeserializeCore(element)); case "MakeConnectionCommand": return(MakeConnectionCommand.DeserializeCore(element)); case "DeleteModelCommand": return(DeleteModelCommand.DeserializeCore(element)); case "UndoRedoCommand": return(UndoRedoCommand.DeserializeCore(element)); } string message = string.Format("Unknown command: {0}", element.Name); throw new ArgumentException(message); }
/// <summary> /// Call this static method to reconstruct a RecordableCommand-derived /// object given an XmlElement that was previously saved with Serialize /// method. This method simply redirects the XmlElement to respective /// RecordableCommand-derived classes based on its type. /// </summary> /// <param name="element">The XmlElement from which the RecordableCommand /// can be reconstructed.</param> /// <returns>Returns the reconstructed RecordableCommand object. If a /// RecordableCommand cannot be reconstructed, this method throws a /// relevant exception.</returns> /// internal static RecordableCommand Deserialize(XmlElement element) { if (string.IsNullOrEmpty(element.Name)) { throw new ArgumentException("XmlElement without name"); } RecordableCommand command = null; switch (element.Name) { case "OpenFileCommand": command = OpenFileCommand.DeserializeCore(element); break; case "PausePlaybackCommand": command = PausePlaybackCommand.DeserializeCore(element); break; case "RunCancelCommand": command = RunCancelCommand.DeserializeCore(element); break; case "CreateNodeCommand": command = CreateNodeCommand.DeserializeCore(element); break; case "SelectModelCommand": command = SelectModelCommand.DeserializeCore(element); break; case "CreateNoteCommand": command = CreateNoteCommand.DeserializeCore(element); break; case "SelectInRegionCommand": command = SelectInRegionCommand.DeserializeCore(element); break; case "DragSelectionCommand": command = DragSelectionCommand.DeserializeCore(element); break; case "MakeConnectionCommand": command = MakeConnectionCommand.DeserializeCore(element); break; case "DeleteModelCommand": command = DeleteModelCommand.DeserializeCore(element); break; case "UndoRedoCommand": command = UndoRedoCommand.DeserializeCore(element); break; case "ModelEventCommand": command = ModelEventCommand.DeserializeCore(element); break; case "UpdateModelValueCommand": command = UpdateModelValueCommand.DeserializeCore(element); break; case "ConvertNodesToCodeCommand": command = ConvertNodesToCodeCommand.DeserializeCore(element); break; case "CreateCustomNodeCommand": command = CreateCustomNodeCommand.DeserializeCore(element); break; case "SwitchTabCommand": command = SwitchTabCommand.DeserializeCore(element); break; } if (null != command) { command.IsInPlaybackMode = true; command.Tag = element.GetAttribute("Tag"); return(command); } string message = string.Format("Unknown command: {0}", element.Name); throw new ArgumentException(message); }
void SelectModelImpl(SelectModelCommand command) { // Empty ModelGuid means clear selection. if (command.ModelGuid == Guid.Empty) { DynamoSelection.Instance.ClearSelection(); return; } foreach (var guid in command.ModelGuids) { ModelBase model = CurrentWorkspace.GetModelInternal(guid); if (!model.IsSelected) { if (!command.Modifiers.HasFlag(ModifierKeys.Shift) && command.ModelGuids.Count() == 1) DynamoSelection.Instance.ClearSelection(); DynamoSelection.Instance.Selection.AddUnique(model); } else { if (command.Modifiers.HasFlag(ModifierKeys.Shift)) DynamoSelection.Instance.Selection.Remove(model); } } }