//protected override void InsertProxy (Action menuAction, Widget menu, MenuItem afterItem) //{ // base.InsertProxy (menuAction, menu, afterItem); //} protected override ComplexMenuItem GetNewMenuItem() { RatingMenuItem item = new RatingMenuItem (); item.RatingEntry.Changing += HandleChanging; rating_items.Add (item); return item; }
private void BuildContextMenu() { if (menu != null) { return; } menu = (Menu)interface_action_service.UIManager.GetWidget("/NotificationAreaIconMenu"); menu.Show (); for (int i = 0; i < menu.Children.Length; i++) { if (menu.Children[i].Name == "Previous") { int j = i; PlaybackRepeatActions repeat_group = interface_action_service.FindActionGroup ("PlaybackRepeat") as PlaybackRepeatActions; if (repeat_group != null) { menu.Insert (repeat_group.CreateSubmenu (), i++ + 2); } PlaybackShuffleActions shuffle_group = interface_action_service.FindActionGroup ("PlaybackShuffle") as PlaybackShuffleActions; if (shuffle_group != null) { menu.Insert (shuffle_group.CreateSubmenu (), i++ + 2); } if (j != i) { menu.Insert (new SeparatorMenuItem (), i++ + 2); } rating_menu_item = new RatingMenuItem (); rating_menu_item.Activated += OnRatingChanged; ToggleRatingMenuSensitive (); menu.Insert (rating_menu_item, i + 2); break; } } }