/// <summary> /// Renders the icon of a file reference in the export queue. /// </summary> /// <param name="column">The column which the cell is in.</param> /// <param name="cell">The cell which the icon is in.</param> /// <param name="model">The model of the treeview.</param> /// <param name="iter">The <see cref="TreeIter"/> pointing to the row the icon is in.</param> public static void RenderExportQueueReferenceIcon(TreeViewColumn column, CellRenderer cell, ITreeModel model, TreeIter iter) { CellRendererPixbuf cellIcon = cell as CellRendererPixbuf; FileReference reference = (FileReference)model.GetValue(iter, 0); if (reference == null || cellIcon == null) { return; } if (reference.Node.Type.HasFlag(NodeType.Directory)) { cellIcon.Pixbuf = IconManager.GetIconForFiletype(WarcraftFileType.Directory); return; } cellIcon.Pixbuf = IconManager.GetIconForFiletype(reference.Node.FileType); }
/// <summary> /// Handles rendering of the icon of a node in the tree. /// </summary> /// <param name="column">The column which the icon is in.</param> /// <param name="cell">The cell which the reference is in.</param> /// <param name="model">The model of the treeview.</param> /// <param name="iter">The <see cref="TreeIter"/> pointing to the row the icon is in.</param> private void RenderNodeIcon(TreeViewColumn column, CellRenderer cell, ITreeModel model, TreeIter iter) { var cellIcon = cell as CellRendererPixbuf; var node = (SerializedNode)model.GetValue(iter, 0); if (node == null || cellIcon == null) { return; } if (node.Type.HasFlag(NodeType.Directory)) { cellIcon.Pixbuf = IconManager.GetIconForFiletype(WarcraftFileType.Directory); return; } if (node.Type.HasFlag(NodeType.Deleted)) { cellIcon.Pixbuf = IconManager.GetIcon("package-broken"); return; } if (node.Type.HasFlag(NodeType.Meta) && _treeModel.GetNodeName(node) == "Packages") { cellIcon.Pixbuf = IconManager.GetIcon("applications-other"); return; } if (node.Type.HasFlag(NodeType.Package)) { cellIcon.Pixbuf = IconManager.GetIcon("package-x-generic"); return; } cellIcon.Pixbuf = IconManager.GetIconForFiletype(node.FileType); }