diff --git a/Documents/Help/Changelog.md b/Documents/Help/Changelog.md index 98815a806..ce5ce26b8 100644 --- a/Documents/Help/Changelog.md +++ b/Documents/Help/Changelog.md @@ -5,6 +5,7 @@ ======= ## 2023-11-xx - Build 2311 - November 2023 +* Complete [#827](https://github.com/Krypton-Suite/Standard-Toolkit/issues/827),Expose IPalette / PaletteBase as a public interface in KryptonManager * Resolved [#891](https://github.com/Krypton-Suite/Standard-Toolkit/issues/891), `LabelStyle` does not appear to have a default designer value * Implemented [#887](https://github.com/Krypton-Suite/Standard-Toolkit/issues/887), A 'LinkLabel' version of the `KryptonWrapLabel` * Fixed the display of the initial selected theme in the "ThemeSelection ComboBox" diff --git a/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonPalette.cs b/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonCustomPaletteBase.cs similarity index 99% rename from Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonPalette.cs rename to Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonCustomPaletteBase.cs index f7fa1956a..ee5411014 100644 --- a/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonPalette.cs +++ b/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonCustomPaletteBase.cs @@ -2704,7 +2704,7 @@ public IRenderer BaseRenderer protected override void DefineFonts() { - throw new NotImplementedException(); + // This class has no font fields } /// diff --git a/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonThemeComboBox.cs b/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonThemeComboBox.cs index c38b3f88e..143508d3d 100644 --- a/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonThemeComboBox.cs +++ b/Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonThemeComboBox.cs @@ -48,6 +48,13 @@ public int ThemeSelectedIndex private bool ShouldSerializeThemeSelectedIndex() => _selectedIndex != 25; + /// + /// Gets and sets the ThemeSelectedIndex. + /// + [Category(@"Visuals")] + [Description(@"Custom Theme to use when `Custom` is selected")] + [DefaultValue(null)] + public KryptonCustomPaletteBase KryptonCustomPalette { get; set; } [EditorBrowsable(EditorBrowsableState.Never)] public KryptonManager Manager @@ -98,6 +105,12 @@ protected override void OnSelectedIndexChanged(EventArgs e) ThemeSelectedIndex = SelectedIndex; base.OnSelectedIndexChanged(e); + if ((ThemeManager.GetThemeManagerMode(Text) == PaletteMode.Custom) + && (KryptonCustomPalette != null) + ) + { + Manager.GlobalPalette = KryptonCustomPalette; + } } #endregion