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, grouping.GetGroupOpaqueRef(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); }
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, grouping.GetGroupOpaqueRef(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; }