public override void SetModel (IListModel<TrackInfo> value, double vpos) { //Console.WriteLine ("TrackListView.SetModel for {0} with vpos {1}", value, vpos); if (value != null) { Source source = ServiceManager.SourceManager.ActiveSource; ColumnController controller = null; // Get the controller from this source, or its parent(s) if it doesn't have one while (source != null && controller == null) { controller = source.Properties.Get<ColumnController> ("TrackView.ColumnController"); if (controller == null) { string controller_xml = source.Properties.Get<string> ("TrackView.ColumnControllerXml"); if (controller_xml != null) { controller = new XmlColumnController (controller_xml); source.Properties.Remove ("TrackView.ColumnControllerXml"); source.Properties.Set<ColumnController> ("TrackView.ColumnController", controller); } } source = source.Parent; } controller = controller ?? default_column_controller; PersistentColumnController persistent_controller = controller as PersistentColumnController; if (persistent_controller != null) { //Hyena.Log.InformationFormat ("Setting controller source to {0}", ServiceManager.SourceManager.ActiveSource.Name); persistent_controller.Source = ServiceManager.SourceManager.ActiveSource; } ColumnController = controller; } base.SetModel (value, vpos); }
public override void SetModel(IListModel <TrackInfo> value, double vpos) { //Console.WriteLine ("TrackListView.SetModel for {0} with vpos {1}", value, vpos); if (value != null) { Source active_source = ServiceManager.SourceManager.ActiveSource; Source source = active_source; ColumnController controller = null; // Get the controller from this source, or its parent(s) if it doesn't have one while (source != null && controller == null) { controller = source.Properties.Get <ColumnController> ("TrackView.ColumnController"); if (controller == null) { string controller_xml = source.Properties.Get <string> ("TrackView.ColumnControllerXml"); if (controller_xml != null) { controller = new XmlColumnController(controller_xml); source.Properties.Remove("TrackView.ColumnControllerXml"); source.Properties.Set <ColumnController> ("TrackView.ColumnController", controller); } } source = source.Parent; } controller = controller ?? default_column_controller; PersistentColumnController persistent_controller = controller as PersistentColumnController; if (persistent_controller != null) { //Hyena.Log.InformationFormat ("Setting controller source to {0}", ServiceManager.SourceManager.ActiveSource.Name); persistent_controller.Source = active_source; } var sort_field = active_source.Properties.Get <string> ("TrackListSortField"); if (sort_field != null) { var column = controller.FirstOrDefault(c => { var s = c as SortableColumn; return(s != null && s.Field.Name == sort_field); }) as SortableColumn; if (column != null) { column.Visible = true; column.SortType = active_source.Properties.Get <bool> ("TrackListSortAscending") ? Hyena.Data.SortType.Ascending : Hyena.Data.SortType.Descending; controller.DefaultSortColumn = column; } } ColumnController = controller; } base.SetModel(value, vpos); }
public override void SetModel (IListModel<TrackInfo> value, double vpos) { //Console.WriteLine ("TrackListView.SetModel for {0} with vpos {1}", value, vpos); if (value != null) { Source active_source = ServiceManager.SourceManager.ActiveSource; Source source = active_source; ColumnController controller = null; // Get the controller from this source, or its parent(s) if it doesn't have one while (source != null && controller == null) { controller = source.Properties.Get<ColumnController> ("TrackView.ColumnController"); if (controller == null) { string controller_xml = source.Properties.Get<string> ("TrackView.ColumnControllerXml"); if (controller_xml != null) { controller = new XmlColumnController (controller_xml); source.Properties.Remove ("TrackView.ColumnControllerXml"); source.Properties.Set<ColumnController> ("TrackView.ColumnController", controller); } } source = source.Parent; } controller = controller ?? default_column_controller; PersistentColumnController persistent_controller = controller as PersistentColumnController; if (persistent_controller != null) { //Hyena.Log.InformationFormat ("Setting controller source to {0}", ServiceManager.SourceManager.ActiveSource.Name); persistent_controller.Source = active_source; } var sort_field = active_source.Properties.Get<string> ("TrackListSortField"); if (sort_field != null) { var column = controller.FirstOrDefault (c => { var s = c as SortableColumn; return s != null && s.Field.Name == sort_field; }) as SortableColumn; if (column != null) { column.Visible = true; column.SortType = active_source.Properties.Get<bool> ("TrackListSortAscending") ? Hyena.Data.SortType.Ascending : Hyena.Data.SortType.Descending; controller.DefaultSortColumn = column; } } ColumnController = controller; } base.SetModel (value, vpos); }
public override void SetModel(IListModel <TrackInfo> value, double vpos) { //Console.WriteLine ("TrackListView.SetModel for {0} with vpos {1}", value, vpos); if (value != null) { Source source = ServiceManager.SourceManager.ActiveSource; ColumnController controller = null; // Get the controller from this source, or its parent(s) if it doesn't have one while (source != null && controller == null) { controller = source.Properties.Get <ColumnController> ("TrackView.ColumnController"); if (controller == null) { string controller_xml = source.Properties.Get <string> ("TrackView.ColumnControllerXml"); if (controller_xml != null) { controller = new XmlColumnController(controller_xml); source.Properties.Remove("TrackView.ColumnControllerXml"); source.Properties.Set <ColumnController> ("TrackView.ColumnController", controller); } } source = source.Parent; } controller = controller ?? default_column_controller; PersistentColumnController persistent_controller = controller as PersistentColumnController; if (persistent_controller != null) { //Hyena.Log.InformationFormat ("Setting controller source to {0}", ServiceManager.SourceManager.ActiveSource.Name); persistent_controller.Source = ServiceManager.SourceManager.ActiveSource; } ColumnController = controller; } base.SetModel(value, vpos); }