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 }); } }); }
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(); } }