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

Initial avalonia GUI #148

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Initial avalonia GUI #148

wants to merge 1 commit into from

Conversation

nimrof
Copy link
Collaborator

@nimrof nimrof commented Nov 15, 2024

WORK IN PROGRESS, DO NOT MERGE

Now that we have .net8 in master i can add this.
I have been playing a little bit with the cross platform avalonia gui and this is the branch.
Hopping this can replace the windows-only gui.

Its not in any way ready to merge, for me it is useful to find flaws in the protobuffer and supporting code and testing out avalonia when i feel like fiddling with gui and not code.

There are a loot that is missing so it is way easier to list the things that work:

  • file->new
  • partial device info (without a save button)
  • very basic copy of device view

Working my way from left to right in the device view....very slowly

Just a disclaimer:

  • I am i no way Avaloia expert
  • Currently just copying the gui 1:1 with minor changes
    Not saying that is how it should be, but it does require less brain so that how i do it now.

Feel free to comment and commit

@nimrof nimrof added the enhancement New feature or request label Nov 15, 2024
@CANopenNode
Copy link
Owner

Nice. Works on Linux without problem:

sudo apt install dotnet-sdk-8.0
dotnet EDSEditorGUI2.dll

@CANopenNode
Copy link
Owner

Actually Linux also compiles it, if there are no binaries:

cd EDSEditorGUI2
dotnet run

@trojanobelix
Copy link
Collaborator

Nice and clean GUI

@CANopenNode
Copy link
Owner

Maybe at this point we could add some conversation about license. I don't have special interests, but anyway.

Current license of CANopenEditor (forked from https://github.com/robincornelius/libedssharp) is GPL v3. According to my experience with CANopenNode, people had problems with that license, if they tried to use the library in commercial products.

For commercial products more permissive licenses like MIT or Apache are more popular. If this project will grow, people may integrate it into own commercial products in the future.

If there is an interest, then we may add new code (Avalonia, protobuffer, new protobuffer-EDS converter, ...) under the MIT license. @nimrof ? Also important is the opinion of the original author @robincornelius ?

@nimrof
Copy link
Collaborator Author

nimrof commented Dec 13, 2024

I was waiting for @robincornelius to pinch in.

Maybe at this point we could add some conversation about license. I don't have special interests, but anyway.

Just to mention it again, i have interests.

Current license of CANopenEditor (forked from https://github.com/robincornelius/libedssharp) is GPL v3. According to my experience with CANopenNode, people had problems with that license, if they tried to use the library in commercial products.

For commercial products more permissive licenses like MIT or Apache are more popular. If this project will grow, people may integrate it into own commercial products in the future.

If there is an interest, then we may add new code (Avalonia, protobuffer, new protobuffer-EDS converter, ...) under the MIT license. @nimrof ? Also important is the opinion of the original author @robincornelius ?

Not sure if there is any interest in the GUI as it is today, but i definitely think we should use a permissive licenses on the protobuffer definition.
No problem using LGPT on the avalonia code and new protobuffer EDS, but it would not change anything as it needs GPL code in this project.

Not sure why people would like MIT/apache over LGPL on linux/windows/mac, but on embedded system where dynamic linking is non-existing i very much understand it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants