Example #1
0
        public IAcceptGroups Add(Grouping grouping, object group, int indent)
        {
            XmlNode child = parent.ChildNodes[i];

            Assert.IsNotNull(child, "Too many results under " + parent.OuterXml + " in the search '" + search.Name + "'");

            IXenObject   o         = group as IXenObject;
            XmlAttribute opaqueref = child.Attributes["opaqueref"];
            XmlAttribute toString  = child.Attributes["ToString"];

            if (o != null)
            {
                Assert.IsNotNull(opaqueref, "Expected group " + (toString == null ? "" : toString.Value) + ", found resource " + o.opaque_ref + " in the search '" + search.Name + "'");
                Assert.AreEqual(opaqueref.Value, o.opaque_ref, "Wrong resource found in the search '" + search.Name + "'");
            }
            else
            {
                string expected = grouping.GetGroupName(group);
                Assert.IsNotNull(toString, "Expected resource " + (opaqueref == null ? "" : opaqueref.Value) + ", found group " + expected + " in the search '" + search.Name + "'");
                Assert.AreEqual(toString.Value, expected, "Wrong group found in the search '" + search.Name + "'");
            }

            ++i;
            return(new ComparerAdapter(search, child));
        }
Example #2
0
            public IAcceptGroups Add(Grouping grouping, Object group, int indent)
            {
                if (group == null)
                {
                    return(null);
                }

                VirtualTreeNode node;

                if (group is Pool)
                {
                    node = AddPoolNode((Pool)group);
                }
                else if (group is Host)
                {
                    node = AddHostNode((Host)group);
                }
                else if (group is VM)
                {
                    node = AddVMNode((VM)group);
                }
                else if (group is DockerContainer)
                {
                    node = AddDockerContainerNode((DockerContainer)group);
                }
                else if (group is VM_appliance)
                {
                    node = AddVmApplianceNode((VM_appliance)group);
                }
                else if (group is SR)
                {
                    node = AddSRNode((SR)group);
                }
                else if (group is XenAPI.Network)
                {
                    node = AddNetworkNode((XenAPI.Network)group);
                }
                else if (group is VDI)
                {
                    node = AddVDINode((VDI)group);
                }
                else if (group is Folder)
                {
                    node = AddFolderNode((Folder)group);
                }
                else
                {
                    node = AddNode(grouping.GetGroupName(group), grouping.GetGroupIcon(group),
                                   false, new GroupingTag(grouping, GetGroupingTagFromNode(_parent), group));

                    if (group is DateTime)
                    {
                        Program.BeginInvoke(Program.MainWindow, () => { node.Text = HelpersGUI.DateTimeToString((DateTime)group, Messages.DATEFORMAT_DMY_HMS, true); }); // annoying: has to be on the event thread because of CA-46983
                    }
                }

                return(new MainWindowTreeNodeGroupAcceptor(_highlightedDragTarget, _treeViewForeColor, _treeViewBackColor, node));
            }
Example #3
0
        private static GridVerticalArrayItem NewDoubleRowItem(Grouping grouping, object group)
        {
            string line1 = grouping.GroupingName;
            object line2 = (group is DateTime ? group : grouping.GetGroupName(group));    // exception for DateTime: CA-46983
            List <GridStringItem> items = new List <GridStringItem>();

            if (line1 != null)
            {
                items.Add(new GridStringItem(line1, HorizontalAlignment.Left, VerticalAlignment.Middle, false, true, TextBrush, Program.DefaultFont));
            }
            if (line2 != null)
            {
                items.Add(new GridStringItem(line2, HorizontalAlignment.Left, VerticalAlignment.Middle, false, false, DarkGreyBrush, Program.DefaultFont));
            }
            return(new GridVerticalArrayItem(items.ToArray(), false));
        }
Example #4
0
        public IAcceptGroups Add(Grouping grouping, object group, int indent)
        {
            XmlNode child = parent.ChildNodes[i];
            Assert.IsNotNull(child, "Too many results under " + parent.OuterXml + " in the search '" + search.Name + "'");

            IXenObject o = group as IXenObject;
            XmlAttribute opaqueref = child.Attributes["opaqueref"];
            XmlAttribute toString = child.Attributes["ToString"];
            if (o != null)
            {
                Assert.IsNotNull(opaqueref, "Expected group " + (toString == null ? "" : toString.Value) + ", found resource " + o.opaque_ref + " in the search '" + search.Name + "'");
                Assert.AreEqual(opaqueref.Value, o.opaque_ref, "Wrong resource found in the search '" + search.Name + "'");
            }
            else
            {
                string expected = grouping.GetGroupName(group);
                Assert.IsNotNull(toString, "Expected resource " + (opaqueref == null ? "" : opaqueref.Value) + ", found group " + expected + " in the search '" + search.Name + "'");
                Assert.AreEqual(toString.Value, expected, "Wrong group found in the search '" + search.Name + "'");
            }

            ++i;
            return new ComparerAdapter(search, child);
        }
            public IAcceptGroups Add(Grouping grouping, Object group, int indent)
            {
                if (group == null)
                {
                    return(null);
                }

                VirtualTreeNode node;

                if (group is Pool)
                {
                    node = AddPoolNode((Pool)group);
                }
                else if (group is Host)
                {
                    node = AddHostNode((Host)group);
                }
                else if (group is VM)
                {
                    VM vm = group as VM;
                    if ((vm.is_a_snapshot && vm.other_config.ContainsKey("halsign_snapshot")) ||
                        (vm.DefaultTemplate && (vm.TemplateType == VM.VmTemplateType.Citrix ||
                                                vm.name_label.ToLowerInvariant().Contains("xen api") ||
                                                vm.name_label.ToLowerInvariant().Contains("centos 4"))))
                    {
                        return(null);
                    }
                    if (vm.IsHidden && vm.name_label.ToLowerInvariant().Contains("transfer"))
                    {
                        return(null);
                    }
                    node = AddVMNode((VM)group);
                }
                else if (group is DockerContainer)
                {
                    node = AddDockerContainerNode((DockerContainer)group);
                }
                else if (group is VM_appliance)
                {
                    node = AddVmApplianceNode((VM_appliance)group);
                }
                else if (group is SR)
                {
                    node = AddSRNode((SR)group);
                }
                else if (group is XenAPI.Network)
                {
                    node = AddNetworkNode((XenAPI.Network)group);
                }
                else if (group is VDI)
                {
                    node = AddVDINode((VDI)group);
                }
                else if (group is Folder)
                {
                    node = AddFolderNode((Folder)group);
                }
                else
                {
                    node = AddNode(grouping.GetGroupName(group), grouping.GetGroupIcon(group),
                                   false, new GroupingTag(grouping, GetGroupingTagFromNode(_parent), group));

                    if (group is DateTime)
                    {
                        Program.BeginInvoke(Program.MainWindow, () => { node.Text = HelpersGUI.DateTimeToString((DateTime)group, Messages.DATEFORMAT_DMY_HMS, true); }); // annoying: has to be on the event thread because of CA-46983
                    }
                }

                return(new MainWindowTreeNodeGroupAcceptor(_highlightedDragTarget, _treeViewForeColor, _treeViewBackColor, node));
            }
            public IAcceptGroups Add(Grouping grouping, Object group, int indent)
            {
                if (group == null)
                    return null;

                VirtualTreeNode node;

                if (group is Pool)
                {
                    node = AddPoolNode((Pool)group);
                }
                else if (group is Host)
                {
                    node = AddHostNode((Host)group);
                }
                else if (group is VM)
                {
                    node = AddVMNode((VM)group);
                }
                else if (group is DockerContainer)
                {
                    node = AddDockerContainerNode((DockerContainer)group);
                }
                else if (group is VM_appliance)
                {
                    node = AddVmApplianceNode((VM_appliance)group);
                }
                else if (group is SR)
                {
                    node = AddSRNode((SR)group);
                }
                else if (group is XenAPI.Network)
                {
                    node = AddNetworkNode((XenAPI.Network)group);
                }
                else if (group is VDI)
                {
                    node = AddVDINode((VDI)group);
                }
                else if (group is Folder)
                {
                    node = AddFolderNode((Folder)group);
                }
                else
                {
                    node = AddNode(grouping.GetGroupName(group), grouping.GetGroupIcon(group),
                        false, new GroupingTag(grouping, GetGroupingTagFromNode(_parent), group));

                    if (group is DateTime)
                        Program.BeginInvoke(Program.MainWindow, () => { node.Text = HelpersGUI.DateTimeToString((DateTime)group, Messages.DATEFORMAT_DMY_HMS, true); }); // annoying: has to be on the event thread because of CA-46983
                }

                return new MainWindowTreeNodeGroupAcceptor(_highlightedDragTarget, _treeViewForeColor, _treeViewBackColor, node);
            }
            public IAcceptGroups Add(Grouping grouping, Object group, int indent)
            {
                if (group != null)
                {
                    VirtualTreeNode node;

                    if (group is Pool)
                    {
                        node = AddPoolNode(_parent, _index, (Pool)group);
                    }
                    else if (group is Host)
                    {
                        node = AddHostNode(_parent, _index, (Host)group);
                    }
                    else if (group is VM)
                    {
                        node = AddVMNode(_parent, _index, (VM)group);
                    }
                    else if (group is VM_appliance)
                    {
                        node = AddVmApplianceNode(_parent, _index, (VM_appliance)group);
                    }
                    else if (group is SR)
                    {
                        node = AddSRNode(_parent, _index, (SR)group);
                    }
                    else if (group is XenAPI.Network)
                    {
                        node = AddNetworkNode(_parent, _index, (XenAPI.Network)group);
                    }
                    else if (group is VDI)
                    {
                        node = AddVDINode(_parent, _index, (VDI)group);
                    }
                    else if (group is Folder)
                    {
                        node = AddFolderNode(_parent, _index, (Folder)group);
                    }
                    else if (group is StorageLinkServer)
                    {
                        node = AddStorageLinkServerNode(_parent, _index, (StorageLinkServer)group);
                    }
                    else if (group is StorageLinkSystem)
                    {
                        node = AddStorageLinkSystemNode(_parent, _index, (StorageLinkSystem)group);
                    }
                    else if (group is StorageLinkPool)
                    {
                        node = AddStorageLinkPoolNode(_parent, _index, (StorageLinkPool)group);
                    }
                    else if (group is StorageLinkVolume)
                    {
                        node = AddStorageLinkVolumeNode(_parent, _index, (StorageLinkVolume)group);
                    }
                    else if (group is StorageLinkRepository)
                    {
                        node = AddStorageLinkRepositoryNode(_parent, _index, (StorageLinkRepository)group);
                    }
                    else
                    {
                        node = AddNode(_parent, _index, grouping.GetGroupName(group), grouping.GetGroupIcon(group), false, new GroupingTag(grouping, FindGroupingParent(_parent.Tag), group));
                        if (group is DateTime)
                            Program.BeginInvoke(Program.MainWindow, () => { node.Text = HelpersGUI.DateTimeToString((DateTime)group, Messages.DATEFORMAT_DMY_HMS, true); });   // annoying: has to be on the event thread because of CA-46983
                    }

                    _index++;

                    return new MainWindowTreeNodeGroupAcceptor(_highlightedDragTarget, _treeViewForeColor, _treeViewBackColor, node);
                }
                return null;
            }
Example #8
0
 private static GridVerticalArrayItem NewDoubleRowItem(Grouping grouping, object group)
 {
     string line1 = grouping.GroupingName;
     object line2 = (group is DateTime ? group : grouping.GetGroupName(group));    // exception for DateTime: CA-46983
     List<GridStringItem> items = new List<GridStringItem>();
     if (line1 != null)
         items.Add(new GridStringItem(line1, HorizontalAlignment.Left, VerticalAlignment.Middle, false, true, TextBrush, Program.DefaultFont));
     if (line2 != null)
         items.Add(new GridStringItem(line2, HorizontalAlignment.Left, VerticalAlignment.Middle, false, false, DarkGreyBrush, Program.DefaultFont));
     return new GridVerticalArrayItem(items.ToArray(), false);
 }
            public IAcceptGroups Add(Grouping grouping, Object group, int indent)
            {
                if (group != null)
                {
                    VirtualTreeNode node;

                    if (group is Pool)
                    {
                        node = AddPoolNode(_parent, _index, (Pool)group);
                    }
                    else if (group is Host)
                    {
                        node = AddHostNode(_parent, _index, (Host)group);
                    }
                    else if (group is VM)
                    {
                        node = AddVMNode(_parent, _index, (VM)group);
                    }
                    else if (group is VM_appliance)
                    {
                        node = AddVmApplianceNode(_parent, _index, (VM_appliance)group);
                    }
                    else if (group is SR)
                    {
                        node = AddSRNode(_parent, _index, (SR)group);
                    }
                    else if (group is XenAPI.Network)
                    {
                        node = AddNetworkNode(_parent, _index, (XenAPI.Network)group);
                    }
                    else if (group is VDI)
                    {
                        node = AddVDINode(_parent, _index, (VDI)group);
                    }
                    else if (group is Folder)
                    {
                        node = AddFolderNode(_parent, _index, (Folder)group);
                    }
                    else if (group is StorageLinkServer)
                    {
                        node = AddStorageLinkServerNode(_parent, _index, (StorageLinkServer)group);
                    }
                    else if (group is StorageLinkSystem)
                    {
                        node = AddStorageLinkSystemNode(_parent, _index, (StorageLinkSystem)group);
                    }
                    else if (group is StorageLinkPool)
                    {
                        node = AddStorageLinkPoolNode(_parent, _index, (StorageLinkPool)group);
                    }
                    else if (group is StorageLinkVolume)
                    {
                        node = AddStorageLinkVolumeNode(_parent, _index, (StorageLinkVolume)group);
                    }
                    else if (group is StorageLinkRepository)
                    {
                        node = AddStorageLinkRepositoryNode(_parent, _index, (StorageLinkRepository)group);
                    }
                    else
                    {
                        node = AddNode(_parent, _index, grouping.GetGroupName(group), grouping.GetGroupIcon(group), false, new GroupingTag(grouping, FindGroupingParent(_parent.Tag), group));

                        if (group is DateTime)
                        {
                            Program.BeginInvoke(Program.MainWindow, () => { node.Text = HelpersGUI.DateTimeToString((DateTime)group, Messages.DATEFORMAT_DMY_HMS, true); });   // annoying: has to be on the event thread because of CA-46983
                        }
                    }

                    _index++;

                    return(new MainWindowTreeNodeGroupAcceptor(_highlightedDragTarget, _treeViewForeColor, _treeViewBackColor, node));
                }
                return(null);
            }