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)); }
private static GridRow CreateRow(Grouping grouping, Object o, int indent) { IXenObject ixmo = o as IXenObject; if (ixmo != null) { bool isFolderRow = (o is Folder); GridRow _row = NewGroupRow(ixmo.opaque_ref, ixmo, isFolderRow ? FOLDER_ROW_HEIGHT : ROW_HEIGHT, 0); foreach (ColumnNames column in Enum.GetValues(typeof(ColumnNames))) { GridItemBase item = ColumnAccessors.Get(column).GetGridItem(ixmo); if (item != null) { if (column == XenAdmin.XenSearch.ColumnNames.name) { EventHandler onDoubleClickDelegate = isFolderRow ? (EventHandler) delegate { Program.MainWindow.DoSearch(Search.SearchForFolder(ixmo.opaque_ref)); } : (EventHandler) delegate { if (Program.MainWindow.SelectObject(ixmo) && Program.MainWindow.TheTabControl.TabPages.Contains(Program.MainWindow.TabPageGeneral)) { Program.MainWindow.SwitchToTab(MainWindow.Tab.Settings); } }; GridImageItem _statusItem = new GridImageItem( "foo", new ImageDelegate(delegate() { return(Images.GetImage16For(ixmo)); }), HorizontalAlignment.Left, VerticalAlignment.Top, true, onDoubleClickDelegate); _row.AddItem("name", NewNameItem(_statusItem, item, 16, indent)); } else { _row.AddItem(column.ToString(), item); } } } AddCustomFieldsToRow(ixmo, _row); return(_row); } if (grouping == null) { return(null); } GridRow row = NewGroupRow(String.Format("{0}: {1}", grouping.GroupingName, o), null, ROW_HEIGHT, 0); GridImageItem statusItem = new GridImageItem( grouping.GroupingName, new ImageDelegate(delegate() { return(Images.GetImage16For(grouping.GetGroupIcon(o))); }), HorizontalAlignment.Left, VerticalAlignment.Top, true); GridVerticalArrayItem nameItem = NewDoubleRowItem(grouping, o); row.AddItem("name", NewNameItem(statusItem, nameItem, 16, indent)); return(row); }
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; }
private static GridRow CreateRow(Grouping grouping, Object o, int indent) { IXenObject ixmo = o as IXenObject; if (ixmo != null) { bool isFolderRow = (o is Folder); GridRow _row = NewGroupRow(ixmo.opaque_ref, ixmo, isFolderRow ? FOLDER_ROW_HEIGHT : ROW_HEIGHT, 0); foreach (ColumnNames column in Enum.GetValues(typeof(ColumnNames))) { GridItemBase item = ColumnAccessors.Get(column).GetGridItem(ixmo); if (item != null) { if (column == XenAdmin.XenSearch.ColumnNames.name) { EventHandler onDoubleClickDelegate = isFolderRow ? (EventHandler)delegate { Program.MainWindow.DoSearch(Search.SearchForFolder(ixmo.opaque_ref)); } : (EventHandler)delegate { if (Program.MainWindow.SelectObject(ixmo) && Program.MainWindow.TheTabControl.TabPages.Contains(Program.MainWindow.TabPageGeneral)) Program.MainWindow.SwitchToTab(MainWindow.Tab.Settings); }; GridImageItem _statusItem = new GridImageItem( "foo", new ImageDelegate(delegate() { return Images.GetImage16For(ixmo); }), HorizontalAlignment.Left, VerticalAlignment.Top, true, onDoubleClickDelegate); _row.AddItem("name", NewNameItem(_statusItem, item, 16, indent)); } else _row.AddItem(column.ToString(), item); } } AddCustomFieldsToRow(ixmo, _row); return _row; } if (grouping == null) return null; GridRow row = NewGroupRow(String.Format("{0}: {1}", grouping.GroupingName, o), null, ROW_HEIGHT, 0); GridImageItem statusItem = new GridImageItem( grouping.GroupingName, new ImageDelegate(delegate() { return Images.GetImage16For(grouping.GetGroupIcon(o)); }), HorizontalAlignment.Left, VerticalAlignment.Top, true); GridVerticalArrayItem nameItem = NewDoubleRowItem(grouping, o); row.AddItem("name", NewNameItem(statusItem, nameItem, 16, indent)); return row; }
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); }