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

Remove the Winforms style property grid #1529

Open
vchelaru opened this issue Oct 1, 2024 · 1 comment
Open

Remove the Winforms style property grid #1529

vchelaru opened this issue Oct 1, 2024 · 1 comment

Comments

@vchelaru
Copy link
Owner

vchelaru commented Oct 1, 2024

Glue has a property grid:

image

This property grid has a few problems:

  1. It's winforms (difficult to style, bind, and share code with it and the rest of the app)
  2. It's referencing old projects that can be removed
  3. It looks ugly and usability is low compared to the WPF DataUiGrid (tabbing, dropdowns, customizability)

We should get rid of it. To get rid of it, we need to have a replacement PropertyGrid. By getting rid of this, we can get rid of this project too:

image

The property grid appears when selecting any of the following:

  • Entity
  • Screen
  • File
  • Object
  • Variable
  • Event
  • State

The replacement will be to use the DataUiGrid.

Work on this has started incrementally. The Files object now shows both Properties and "Settings (Preview)" which is the replacement for Properties:

image

We should remove the Properties from one type of object at a time, doing extensive testing as we remove them.

Therefore, since File (ReferencedFileSave) has started first, we should complete that and eventually get rid of the Properties tab.

@vchelaru
Copy link
Owner Author

vchelaru commented Oct 1, 2024

ReferencedFileSave tasks for the new Settings window. All of the items below should be done/checked on the following file types:

  • png
  • achx
  • wav (pipeline and not pipeline, SoundEffect and SoundEffectInstance)
  • mp3 (NAudio and MonoGame Song)
  • gumx
  • ogg

Things to verify:

  • Any property that does not appear in the Properties tab should not appear in the Settings tab - properties are conditionally hidden based on the type or other properties
  • Changing types should refresh the property grid as necessary. For example, switching between NAudio and MonoGame songs should update the UI for content pipeline
  • All UI should be functional, including lists. If there are any that aren't functional in the old propertygrid, list them so we can talk about whether they should be removed
  • Any changes should result in codegen
  • Any changes on disk should be hot-reloaded and reflected in the UI
  • General appearance should be checked and nothing should be super ugly/out of place

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

No branches or pull requests

1 participant