void InitTreeView()
{
InitCellRenderers ();
#region Columns
// must be appended/inserted in correct order
foreach (ColumnNr2D colNr in ColumnsOrder) {
TreeViewColumn column = CreateColumn (colNr);
// null means column is not being used on view
if (column == null)
continue;
columnsDict.Add (column, (int)colNr);
if (column.SortColumnId < 0 && colNr != ColumnNr2D.Icon)
column.SortColumnId = (int)colNr;
column.Reorderable = true;
column.Resizable = true;
}
AjustIconCol ();
#endregion Columns
#region TreeView
treeView.Selection.Mode = SelectionMode.Browse;
treeView.RulesHint = true;
treeView.EnableSearch = true;
treeView.SearchColumn = (int)ColumnNr2D.Title;
treeView.SearchEqualFunc = TreeViewSearchFunc;
treeView.CursorChanged += OnCursorChanged;
treeView.RowActivated += HandleTreeViewRowActivated;
treeView.Model = treeModel;
#endregion TreeView
}