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]: Implement embedded XML/Json based themes #2021

Open
29 tasks
giduac opened this issue Dec 29, 2024 · 15 comments
Open
29 tasks

[Feature Request]: Implement embedded XML/Json based themes #2021

giduac opened this issue Dec 29, 2024 · 15 comments
Assignees
Labels
enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested. under investigation This bug/issue is currently under investigation.
Milestone

Comments

@giduac
Copy link
Contributor

giduac commented Dec 29, 2024

Is your feature request related to a problem? Please describe.
In V100 implement the current built-in themes as XML based embedded themes.

Describe the solution you'd like
The objective is to make all themes editable in the Palette Designer to remove the need to change theme settings via the source.
The Palette Designer will need to be updated as well.


At this point Inventory only (all is subjected to change).

We need a good plan so the outcome will be known and we can control the process throughout.
We should set ourselves the goal to complete this without breaking changes.

So far.

General discussion points

  • Is it the right moment to combine all those proposed changes to KryptonCustomPaletteBase with this migration? Or is it better to do this before or afterwards?

Current built-in themes

KryptonCustomPaletteBase

Toolkit Embedded theming implementation

Palette Designer

Points made but outside of the migration path (for now)

@giduac giduac added enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested. under investigation This bug/issue is currently under investigation. labels Dec 29, 2024
@giduac giduac added this to the Version 100 milestone Dec 29, 2024
@PWagner1
Copy link
Contributor

I really think that the palletes might have to be re-arcitected, as there are features that are redundant for some but not for others, for example image margins

@PWagner1
Copy link
Contributor

Also, I think it would be a good idea to simplify creation of new palettes.

@PWagner1
Copy link
Contributor

JSON would be a great replacement for XML, as it's simple and easy to read and edit in another code editor such as VS Code.

@PWagner1
Copy link
Contributor

PWagner1 commented Dec 30, 2024

I do have a bulk upgrader ready to go, I wonder if it can be modified to convert XML to JSON?

Edit: Yes, it can but it needs to be done within the app itself, as it requires a specific NuGet package

@Smurf-IV
Copy link
Member

Yes, it can but it needs to be done within the app itself, as it requires a specific NuGet package

There is no reason to have a nuget package, when core has System.json built in. Just make the Palette tool be core only !

@PWagner1
Copy link
Contributor

@Smurf-IV & @giduac

We now have a workable conversion tool (.NET only)

Conversion Tool

@Smurf-IV
Copy link
Member

Smurf-IV commented Jan 1, 2025

So how will "these" new json files be used in Framework version sof the suite without using an external nuget ?

@PWagner1
Copy link
Contributor

PWagner1 commented Jan 1, 2025

So how will "these" new json files be used in Framework version sof the suite without using an external nuget ?

This is using the native System.Json API

@Smurf-IV
Copy link
Member

Smurf-IV commented Jan 1, 2025

This is using the native System.Json API

BUT I thought that System.Json that does not exist prior to .net Core.
Or, is there also a a retrofit for that ?

@PWagner1
Copy link
Contributor

PWagner1 commented Jan 1, 2025

This is using the native System.Json API

BUT I thought that System.Json that does not exist prior to .net Core. Or, is there also a a retrofit for that ?

It's only for .NET at the moment. I don't know if it'll be easier to use the existing code to create a temporary XML file, then convert it to JSON?

Smurf-IV added a commit that referenced this issue Jan 2, 2025
…ement-embedded-xml-based-themes-JSON-conversion

* #2021 - Conversion from XML -> JSON using native APIs
@giduac
Copy link
Contributor Author

giduac commented Jan 13, 2025

@PWagner1, @Smurf-IV & @Ahmed-Abdelhameed

Topic start updated with the findings so far.
please re-read and comment here, I will process the outcome.

@giduac giduac changed the title [Feature Request]: Implement embedded XML based themes [Feature Request]: Implement embedded XML/Json based themes Jan 13, 2025
@Krypton-Suite Krypton-Suite deleted a comment from Smurf-IV Jan 13, 2025
@giduac
Copy link
Contributor Author

giduac commented Jan 14, 2025

System.Json

@PWagner1 & @Smurf-IV
I suggest you have read about Json here to see if this will "fit".
https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/overview

@PWagner1
Copy link
Contributor

@Smurf-IV & @giduac

I'm going to turn each item in the list into individual FR's, so as soon as they're completed, the list updates with check marks

@giduac
Copy link
Contributor Author

giduac commented Jan 16, 2025

@Smurf-IV & @giduac

I'm going to turn each item in the list into individual FR's, so as soon as they're completed, the list updates with check marks

@PWagner1 & @Smurf-IV

  • That's fine, but, please, no sooner as when the list is final (still some discussion open of how to go about things, which will save work in the end).
  • Also we can add the FR number to each item so we can easily find it.

@PWagner1
Copy link
Contributor

@Smurf-IV & @giduac
I'm going to turn each item in the list into individual FR's, so as soon as they're completed, the list updates with check marks

@PWagner1 & @Smurf-IV

  • That's fine, but, please, no sooner as when the list is final (still some discussion open of how to go about things, which will save work in the end).
  • Also we can add the FR number to each item so we can easily find it.

Hi @giduac

Yes, the FR number is added to the list automatically (and hyperlinked)

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new feature A new feature has been requested. suggestion A suggestion has been requested. under investigation This bug/issue is currently under investigation.
Projects
None yet
Development

No branches or pull requests

4 participants