Exemplo n.º 1
0
        private void SetRenderer(IArtistListRenderer renderer)
        {
            this.renderer = renderer;
            ArtistListMode.Set(renderer.GetType().FullName);

            ThreadAssist.ProxyToMain(() => {
                var handler = ArtistListModeChanged;
                if (handler != null)
                {
                    handler(this, new ArtistListModeChangedEventArgs {
                        Renderer = renderer
                    });
                }
            });
        }
Exemplo n.º 2
0
        private void UpdateActions()
        {
            // Clear out the old options
            foreach (string id in rendererActions.Values)
            {
                Remove(id);
            }
            rendererActions.Clear();

            var radio_group = new RadioActionEntry [renderers.Count];
            int i           = 0;

            // Add all the renderer options
            foreach (var rendererIterator in renderers)
            {
                string action_name = rendererIterator.GetType().FullName;
                int    id          = rendererActions.Count;
                rendererActions [id] = action_name;
                radio_group [i++]    = new RadioActionEntry(
                    action_name, null,
                    rendererIterator.Name, null,
                    rendererIterator.Name,
                    id
                    );
            }

            Add(radio_group, 0, OnActionChanged);

            var radio_action = this [ArtistListMode.Get()] as RadioAction;

            if (renderers.Count > 0 && radio_action != null)
            {
                this.renderer = renderers [radio_action.Value];

                if (this.renderer == null)
                {
                    SetRenderer(renderers [0]);
                }

                var action = this [this.renderer.GetType().FullName];
                if (action is RadioAction)
                {
                    Active = (RadioAction)action;
                }

                Active.Activate();
            }
        }