Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Expose IPalette / PaletteBase as a public interface in KryptonManager #827

Closed
PWagner1 opened this issue Oct 30, 2022 · 4 comments
Labels
completed This issue has been completed. enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested.

Comments

@PWagner1
Copy link
Contributor

The KryptonManager needs an overhaul to accept palette files (non-XML based) that might be out of the range of this toolkit. Currently, KryptonManager is a sealed class, which makes injecting new themes more difficult. See Krypton-Suite/Theme-Palettes#33 for more discussion.

@PWagner1 PWagner1 added enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested. labels Oct 30, 2022
@PWagner1
Copy link
Contributor Author

PWagner1 commented Nov 3, 2022

@Smurf-IV Just a thought, since all built-in palettes use IPalette, can't we just expose it in KryptonManager? See PaletteBase for details.

@Smurf-IV Smurf-IV self-assigned this Dec 4, 2022
@Smurf-IV Smurf-IV added the awaiting feedback A fix for this issue has been implemented, waiting for feedback on the fix. label Dec 11, 2022
@PWagner1
Copy link
Contributor Author

PWagner1 commented Dec 11, 2022

@Smurf-IV We can just test exposing IPalette is there also a way to 'open' up PaletteBase, so that we can build external classes, like the ones' in the 'builtin' directory? For example a load/import feature?

@Smurf-IV Smurf-IV added under investigation This bug/issue is currently under investigation. and removed awaiting feedback A fix for this issue has been implemented, waiting for feedback on the fix. labels Dec 18, 2022
@Smurf-IV Smurf-IV changed the title [Feature Request]: KryptonManager Overhaul [Feature Request]: Expose IPalette / PaletteBase as a public interface in KryptonManager Dec 18, 2022
Smurf-IV added a commit that referenced this issue Dec 21, 2022
…ion ComboBox"

- Remove Design elements that are not allowed to be set for this comboBox
- Fix Example to actually demonstrate usage
- Provide picture of it in use

- Found whilst investigating:
#827
Smurf-IV added a commit to Krypton-Suite/Standard-Toolkit-Demos that referenced this issue Dec 21, 2022
…ion ComboBox"

- Remove Design elements that are not allowed to be set for this comboBox
- Fix Example to actually demonstrate usage
- Provide picture of it in use

- Found whilst investigating:
Krypton-Suite/Standard-Toolkit#827
Smurf-IV added a commit to Krypton-Suite/Standard-Toolkit-Demos that referenced this issue Dec 23, 2022
- Fix fallout in abstract class useage
- Rename `KryptonPalette` to `KryptonCustomPaletteBase` to reflect usage
- Start to sort out code in `ThemeManager`
- Some spelling mistake fixes

#Krypton-Suite/Standard-Toolkit#827
Smurf-IV added a commit that referenced this issue Dec 23, 2022
- Fix fallout in abstract class useage
- Rename `KryptonPalette` to `KryptonCustomPaletteBase` to reflect usage
- Start to sort out code in `ThemeManager`
- Some spelling mistake fixes

##827
@Smurf-IV
Copy link
Member

Smurf-IV commented Dec 23, 2022

Progress:
2022-12-20

  • Remove IPalette and use PaletteBase instead
  • Fix fallout in abstract class useage
  • Rename KryptonPalette to KryptonCustomPaletteBase to reflect usage
  • Start to sort out code in ThemeManager
  • More fixes for the ThemeComboBoxSelector

2022-12-24

  • Remove confusing usage of PaletteModeManager and PaletteMode
  • Fix fallout from type removal
  • start work on a single set of strings for the theme names

2023-01-21

  • Sort ThemeManager
  • More work on the the ThemeComobBox (Add CustomPalette assignment in designer)
  • Update example projects

Next: (In Request #913)

  • Add doc's on how to use the various theming options (xml, base, designer, programmatic, etc.)
  • Aim for a single set of strings for the theme names
  • Sort loading of Themes (xml)
  • Sort loading of Themes (Designer)
  • Sort loading of Themes (Binary) ?
  • Add / Update example projects
  • Update Theme creator so "save / load" in "Designer / Binary" format ??

@Smurf-IV Smurf-IV added in progress A fix for this issue is in the works. and removed under investigation This bug/issue is currently under investigation. labels Dec 23, 2022
@PWagner1
Copy link
Contributor Author

I'll update the Extended Toolkit where required

Smurf-IV added a commit to Krypton-Suite/Theme-Palettes that referenced this issue Dec 23, 2022
Smurf-IV added a commit that referenced this issue Dec 24, 2022
- Fix fallout from type removal
- Now a single set of strings for the theme names

##827
Smurf-IV added a commit to Krypton-Suite/Standard-Toolkit-Demos that referenced this issue Dec 24, 2022
- Fix fallout from type removal
- Now a single set of strings for the theme names

#Krypton-Suite/Standard-Toolkit#827
Smurf-IV added a commit that referenced this issue Jan 21, 2023
…vious what it is.

- Add designer code to allow the `KryptonThemeComboBox` to add a `KryptonCustomPalette`

#827
Smurf-IV added a commit to Krypton-Suite/Standard-Toolkit-Demos that referenced this issue Jan 21, 2023
  - include all palettes
  - include a Custom palette in the selection
  - Better demonstrate the comboBox usage

#Krypton-Suite/Standard-Toolkit#827
@Smurf-IV Smurf-IV added completed This issue has been completed. and removed in progress A fix for this issue is in the works. labels Jan 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
completed This issue has been completed. enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested.
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants