Ejemplo n.º 1
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public ControlDeleteUndoEvent(HeliosVisualContainer container, List <HeliosVisual> controls, List <int> indexes)
 {
     _container = container;
     _controls  = controls;
     _controls.Reverse();
     _indexes = indexes;
     _indexes.Reverse();
 }
Ejemplo n.º 3
0
 public ControlDeleteUndoEvent(HeliosVisualContainer container, List<HeliosVisual> controls, List<int> indexes)
 {
     _container = container;
     _controls = controls;
     _controls.Reverse();
     _indexes = indexes;
     _indexes.Reverse();
 }
Ejemplo n.º 4
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
 public ControlAddUndoEvent(HeliosVisualContainer container, HeliosVisual control)
 {
     _container = container;
     _control = control;
 }
Ejemplo n.º 6
0
 public DisplayOrderUndoItem(HeliosVisualContainer container, HeliosVisual control, bool up)
 {
     _container = container;
     _control = control;
     _up = up;
 }
Ejemplo n.º 7
0
 public DisplayOrderUndoItem(HeliosVisualContainer container, HeliosVisual control, bool up)
 {
     _container = container;
     _control   = control;
     _up        = up;
 }
Ejemplo n.º 8
0
 public ControlAddUndoEvent(HeliosVisualContainer container, HeliosVisual control)
 {
     _container = container;
     _control   = control;
 }
        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());
        }