public static LayoutControlItem CreateSaveSettingsButtonItem <TSimulation>(this ISimulationOutputSelectionPresenter <TSimulation> presenter, IToolTipCreator toolTipCreator, LayoutControl layoutControl)
            where TSimulation : Simulation
        {
            var toolTip        = toolTipCreator.CreateToolTip(PKSimConstants.UI.SaveSimulationSettingsToolTip, PKSimConstants.UI.SaveSimulationSettings);
            var dropDownButton = new UxDropDownButton(PKSimConstants.UI.SaveSimulationSettings, ApplicationIcons.Save, toolTip);

            dropDownButton.AddMenu(PKSimConstants.UI.SaveSimulationSettingsToProject, presenter.SaveSettingsToProject, ApplicationIcons.PKSim);
            dropDownButton.AddMenu(PKSimConstants.UI.SaveSimulationSettingsToUserSettings, presenter.SaveSettingsToUserSettings, ApplicationIcons.UserSettings);
            return(layoutControl.AddButtonItemFor(dropDownButton));
        }
        public static void UpdateSaveSettingsButtonItem <TSimulation>(this ISimulationOutputSelectionPresenter <TSimulation> presenter, IToolTipCreator toolTipCreator, UxDropDownButton dropDownButton)
            where TSimulation : Simulation
        {
            var toolTip = toolTipCreator.CreateToolTip(PKSimConstants.UI.SaveSimulationSettingsToolTip, PKSimConstants.UI.SaveSimulationSettings);

            dropDownButton.Text     = PKSimConstants.UI.SaveSimulationSettings;
            dropDownButton.Image    = ApplicationIcons.Save.ToImage(IconSizes.Size16x16);
            dropDownButton.SuperTip = toolTip;
            dropDownButton.AddMenu(PKSimConstants.UI.SaveSimulationSettingsToProject, presenter.SaveSettingsToProject, ApplicationIcons.PKSim);
            dropDownButton.AddMenu(PKSimConstants.UI.SaveSimulationSettingsToUserSettings, presenter.SaveSettingsToUserSettings, ApplicationIcons.UserSettings);
        }