private void Delete_Executed(object sender, ExecutedRoutedEventArgs e) { ProfileExplorerTreeItem item = ProfileExplorerTree.SelectedItem as ProfileExplorerTreeItem; if (item != null) { if (item.ItemType.HasFlag(ProfileExplorerTreeItemType.Panel) || item.ItemType.HasFlag(ProfileExplorerTreeItemType.Visual)) { HeliosVisual visual = item.ContextItem as HeliosVisual; HeliosVisualContainer container = visual.Parent as HeliosVisualContainer; if (container != null) { ConfigManager.UndoManager.AddUndoItem(new ControlDeleteUndoEvent(container, new List <HeliosVisual> { visual }, new List <int> { container.Children.IndexOf(visual) })); OnDeleting(visual); container.Children.Remove(visual); } } else if (item.ItemType.HasFlag(ProfileExplorerTreeItemType.Interface)) { HeliosInterface interfaceItem = item.ContextItem as HeliosInterface; if (interfaceItem != null) { DeleteInterface(interfaceItem); } } } }
public ControlDeleteUndoEvent(HeliosVisualContainer container, List <HeliosVisual> controls, List <int> indexes) { _container = container; _controls = controls; _controls.Reverse(); _indexes = indexes; _indexes.Reverse(); }
public ControlDeleteUndoEvent(HeliosVisualContainer container, List<HeliosVisual> controls, List<int> indexes) { _container = container; _controls = controls; _controls.Reverse(); _indexes = indexes; _indexes.Reverse(); }
private void Delete_Executed(object sender, ExecutedRoutedEventArgs e) { ProfileExplorerTreeItem item = ProfileExplorerTree.SelectedItem as ProfileExplorerTreeItem; if (item != null) { if (item.ItemType.HasFlag(ProfileExplorerTreeItemType.Panel) || item.ItemType.HasFlag(ProfileExplorerTreeItemType.Visual)) { HeliosVisual visual = item.ContextItem as HeliosVisual; HeliosVisualContainer container = visual.Parent as HeliosVisualContainer; if (container != null) { ConfigManager.UndoManager.AddUndoItem(new ControlDeleteUndoEvent(container, new List <HeliosVisual> { visual }, new List <int> { container.Children.IndexOf(visual) })); OnDeleting(visual); container.Children.Remove(visual); } } else if (item.ItemType.HasFlag(ProfileExplorerTreeItemType.Interface)) { HeliosInterface interfaceItem = item.ContextItem as HeliosInterface; if (interfaceItem != null) { if (MessageBox.Show(Window.GetWindow(this), "Are you sure you want to remove the " + interfaceItem.Name + " interface from the profile. This will remove all bindings associated with this interface.", "Remove Interface", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No, MessageBoxOptions.None) == MessageBoxResult.Yes) { ConfigManager.UndoManager.AddUndoItem(new InterfaceDeleteUndoEvent(Profile, interfaceItem)); OnDeleting(interfaceItem); Profile.Interfaces.Remove(interfaceItem); } } } } }
public ControlAddUndoEvent(HeliosVisualContainer container, HeliosVisual control) { _container = container; _control = control; }
public DisplayOrderUndoItem(HeliosVisualContainer container, HeliosVisual control, bool up) { _container = container; _control = control; _up = up; }
private static void CopySelection(HeliosVisualContainer root, HeliosVisualCollection controls) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; // Loop through controls and add them in the proper visual order for serialization to the copy buffer. HeliosVisualCollection copiedControls = new HeliosVisualCollection(); foreach (HeliosVisual visual in root.Children) { if (controls.Contains(visual)) { copiedControls.Add(visual); } } StringBuilder sb = new StringBuilder(); XmlWriter xmlWriter = XmlWriter.Create(sb, settings); xmlWriter.WriteStartElement("HeliosCopyBuffer"); xmlWriter.WriteElementString("CopyRoot", HeliosSerializer.GetVisualPath(root)); HeliosSerializer serializer = new HeliosSerializer(null); serializer.SerializeControls(copiedControls, xmlWriter); HeliosBindingCollection serializedBindings = new HeliosBindingCollection(); xmlWriter.WriteStartElement("Bindings"); foreach (HeliosVisual control in copiedControls) { SerializeBindings(serializer, control, xmlWriter, serializedBindings); } xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.Close(); SetClipboard("Helios.Visuals", sb.ToString()); }