public RomContextMenu(ZoomContextMenuHandler item_select_handler, bool show_assign_image_item = true, bool show_delete_item = true, bool show_clear_image = true) { if (show_assign_image_item) { var assign_rom_image_menu_item = new ZoomContextMenuItem("Assign Rom Image...", ZoomContextMenuItem.Type.AssignRomImage); assign_rom_image_menu_item.Click += (sender, args) => item_select_handler.Invoke((ZoomContextMenuItem)sender); this.Items.Add(assign_rom_image_menu_item); } if (show_delete_item) { var delete_menu_item = new ZoomContextMenuItem("Delete", ZoomContextMenuItem.Type.DeleteRom); delete_menu_item.Click += (sender, args) => item_select_handler.Invoke((ZoomContextMenuItem)sender); this.Items.Add(delete_menu_item); } if (show_clear_image) { var clear_image_menu_item = new ZoomContextMenuItem("Clear Image", ZoomContextMenuItem.Type.ClearImage); clear_image_menu_item.Click += (sender, args) => item_select_handler.Invoke((ZoomContextMenuItem)sender); this.Items.Add(clear_image_menu_item); } }
public EmuAssignContextMenu(Dictionary <int, Emulator> emulators, ZoomContextMenuHandler select_handler) { foreach (var emulator in emulators) { if (emulator.Value.LaunchArgs.Count == 1) { string label = emulator.Value.Name; var item = new ZoomContextMenuItem(label, ZoomContextMenuItem.Type.AssignEmu, emulator.Key, emulator.Value.LaunchArgs.First().Key); item.Click += (sender, args) => select_handler.Invoke((ZoomContextMenuItem)sender); this.Items.Add(item); } else { foreach (var value_launch_arg in emulator.Value.LaunchArgs) { string label = $"{emulator.Value.Name} ({value_launch_arg.Value.Name})"; var item_with_arg = new ZoomContextMenuItem(label, ZoomContextMenuItem.Type.AssignEmu, emulator.Key, value_launch_arg.Key); item_with_arg.Click += (sender, args) => select_handler.Invoke((ZoomContextMenuItem)sender); this.Items.Add(item_with_arg); } } } }
public PlatformAssignContextMenu(List <PlatformId> available_platform_ids, ZoomContextMenuHandler item_select_handler) { var create_platform_menu_item = new ToolStripMenuItem("Set Platform..."); foreach (var avail_platform_id in available_platform_ids) { var item = new ZoomContextMenuItem(avail_platform_id.ToString(), ZoomContextMenuItem.Type.SetPlatform, avail_platform_id); item.Click += (sender, args) => item_select_handler.Invoke((ZoomContextMenuItem)sender); create_platform_menu_item.DropDownItems.Add(item); } this.Items.Add(create_platform_menu_item); }
public PlatformContextMenu(Dictionary <int, Emulator> emulators, ZoomContextMenuHandler item_select_handler) { var emus_sub_menu = new ToolStripMenuItem("Assign Emulator"); var emu_assign_context_menu = new EmuAssignContextMenu(emulators, item_select_handler); emus_sub_menu.DropDown = emu_assign_context_menu; var delete_menu_item = new ZoomContextMenuItem("Delete", ZoomContextMenuItem.Type.DeletePlatform); delete_menu_item.Click += (sender, args) => item_select_handler.Invoke((ZoomContextMenuItem)sender); Items.Add(emus_sub_menu); Items.Add(delete_menu_item); }