TreeViewColumn CreateTextColumn(string name, ColNr colNr) { var col = new TreeViewColumn(name, cellRendererText, "text", (int)colNr); col.SetCellDataFunc(cellRendererText, TreeCellDataFunc); return(col); }
TreeViewColumn AddHexColumn(string name, ColNr colNr) { TreeViewColumn col = new TreeViewColumn(name, cellRendererText, "text", (int)colNr); col.SetCellDataFunc(cellRendererText, TreeCellDataFuncHex); return(col); }
TreeViewColumn AddColumn(TreeViewColumn column, ColNr colNr) { // Reorderable: default false column.Reorderable = true; // Resizable: default false column.Resizable = true; if (colNr != ColNr.Icon) column.SortColumnId = (int)colNr; treeviewCSums.AppendColumn (column); columnsDict.Add (column, colNr); return column; }
TreeViewColumn AddColumn(TreeViewColumn column, ColNr colNr) { // Reorderable: default false column.Reorderable = true; // Resizable: default false column.Resizable = true; if (colNr != ColNr.Icon) { column.SortColumnId = (int)colNr; } treeviewCSums.AppendColumn(column); columnsDict.Add(column, colNr); return(column); }
// These should be fast as they are called a lot, even for measuring hidden columns. void TreeCellDataFuncHex(TreeViewColumn treeViewColumn, CellRenderer renderer, TreeModel treeModel, TreeIter iter) { // need col number to get value from store ColNr colNr = columnsDict[treeViewColumn]; int nr = (int)store.GetValue(iter, (int)colNr); string formatStr; switch (colNr) { case ColNr.SumTable: case ColNr.SumCalc: formatStr = "X8"; break; default: formatStr = "X"; break; } cellRendererText.Text = nr.ToString(formatStr); }
// These should be fast as they are called a lot, even for measuring hidden columns. void TreeCellDataFunc(TreeViewColumn treeViewColumn, CellRenderer renderer, TreeModel treeModel, TreeIter iter) { // need col number to get value from store ColNr colNr = columnsDict [treeViewColumn]; string formatStr; switch (colNr) { case ColNr.SumTable: case ColNr.SumCalc: formatStr = "{0:X8}"; break; case ColNr.Start: case ColNr.End: formatStr = "{0,6:X}"; break; case ColNr.Size: formatStr = "{0,9:#,###}"; break; case ColNr.Index: formatStr = "{0,2:0}"; break; default: formatStr = "{0}"; break; } int nr = (int)store.GetValue(iter, (int)colNr); cellRendererText.Text = string.Format(formatStr, nr); }
TreeViewColumn AddHexColumn(string name, ColNr colNr) { TreeViewColumn col = new TreeViewColumn (name, cellRendererText, "text", (int)colNr); col.SetCellDataFunc (cellRendererText, TreeCellDataFuncHex); return col; }
TreeViewColumn AddTextColumn(string name, ColNr colNr) { return(AddColumn(CreateTextColumn(name, colNr), colNr)); }