Ejemplo n.º 1
0
        private void InitializeOpenWithSpecifiedDefinitionMenu()
        {
            var hierarchy = FirmwareDefinitionManager.CreateHierarchy(m_definitions);

            OpenUsingSpecifiedDefinitionMenuItem.DropDownItems.Clear();
            foreach (var deviceKvp in hierarchy)
            {
                var deviceMenu = new ToolStripMenuItem(deviceKvp.Key, OpenUsingSpecifiedDefinitionMenuItem.Image);
                foreach (var definitionKvp in deviceKvp.Value)
                {
                    var kvp        = definitionKvp;
                    var definition = kvp.Value;
                    deviceMenu.DropDownItems.Add(definitionKvp.Key, deviceMenu.Image, (s, e) =>
                    {
                        OpenDialogAndReadFirmwareOnOk(definition.Name, fileName => m_loader.TryLoadUsingDefinition(fileName, definition));
                    });
                }
                OpenUsingSpecifiedDefinitionMenuItem.DropDownItems.Add(deviceMenu);
            }
        }