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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }