Skip to content

Conversation

@fwdekker
Copy link
Owner

@fwdekker fwdekker commented Aug 8, 2021

Fixes #365. Fixes #366.

#388 implemented a basic UDS syntax, but I did not close #365 yet because I didn't feel that the syntax was completely well-defined. This PR removes the UDS syntax as designed so far, and replaces it with UI-only controls. The dialog is not feature-complete, as error detection, resetting, and recursive templates are not optimally implemented just yet. However, all the main features are there, and users can create their own template consisting of multiple schemes, and can adjust those schemes as desired. In that sense, I think this PR gives a good impression of what the global idea of v3.0.0 will be, but the user experience leaves much to be desired. Additionally, nearly all tests will have to be rewritten.

Template dialog

The next steps are, in order:

fwdekker added 19 commits August 4, 2021 15:48
Basically breaks the entire settings in order to make way for the new design that will be used to centralise settings into a single UDS dialog, as discussed in #366. At the same time, most parts are not implemented fully yet so the application is now completely broken until then.
Decimals, integers, etc. can no longer be edited directly from the main menu, and their code has had all the boilerplate removed so that they are now "isolated" units that can be embedded into the UDS dialog when the context requires it. I'm not quite sure what to do with arrays, so for now they'll just behave like the UDS dialog.
To make more advantage of the fact that they no longer have to be serialised like they did before, and instead are to be typed out by users.
The goal is now to use JSON to serialise the primitives safely back and forth between its representation of an array of schemes which are individually configured. The interface will consist first of a list of available templates (currently not implemented), and then the list of schemes the template consists of in the next list. Finally, a panel from which the currently-selected scheme can be edited. The second-level list can be used by users to add new schemes, including another template because another template is also a scheme.

A future goal is also to allow users to specify how arrays and repetitions and so on should work together when inserted.
Re-adds some of the optional fields that were removed in a previous commit.
It's currently super duper buggy though, I wouldn't recommend using it.
Not as buggy anymore, but still slow and some features need improvement.
Into a structure that contains much less duplication.
I think I also regressed in terms of several bugs :-(
Most significantly, makes it so that Scheme (formerly Settings) is no longer generic, which makes it much, much easier to use.
@fwdekker fwdekker added the feature New feature or request label Aug 8, 2021
@fwdekker fwdekker added this to the v3.0.0 milestone Aug 8, 2021
@fwdekker fwdekker self-assigned this Aug 8, 2021
@fwdekker fwdekker merged commit 5e01a2a into dev Aug 8, 2021
@fwdekker fwdekker deleted the uds-dialog branch August 8, 2021 11:19
@fwdekker fwdekker mentioned this pull request Aug 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants