51
Development / Re: Add UI to store default values and descriptions of global variables in project
« Last post by AndrewCot on June 20, 2022, 03:32:24 am »Good work. I like this and where it is heading.
Some feedback on the Project "Global variables" tab GUI:
1. The stored column is not intuitive as to what it means. When I first opened the GUI I thought it was that the global variables is not stored in the C::B default.config file. After looking at the code it is for saving the info into the project file if it is ticked.
2. It may be an idea to include the currently selected global config set name some where. This will allow users to find where the value is from.
3. The columns do not automatically expand to use up the full width of the dialog. Attached is a dialog capture showing the default loading.
3a) The Used and stores columns could be made smaller in width
3b) Tee Name column needs to be expanded to show/fit the text.
3c) The Description could be swapped with the Default value so that it would make comparing the values easier.
3d) The values and description should be expanded to fill the rest of the dialog width.
4. If there is a missing global variable (in the project file, but not in the config) then the GUI does not let you know this has happened.
This is for trouble shooting.
5. I am confident that this is NOT part of this change, but conversely what about the other case where there a global variables defined in the default.confg, but not used.
6. I saved two variables and then modified the project file to add text for the descriptions and default values. I also added a non existent variable.
I modified the project file while C::B was closed.
On opening the C::B workspace the project file only showed the first variable changes..
The info in the project file is:
<GlobalVariables>
<Variable name="#BOOST.INCLUDE" description="Boost include" default="1111.boost" />
<Variable name="#CB_BUILD.CFLAGS" description="CodeBlocks build cflags" default="not here" />
<Variable name="#ZZZ_FAIL" description="Fail desc" default="failing more" />
</GlobalVariables>
7. In item 6) above the #ZZZ_FAIL variable is not in the project file and I was trying to see what was going to be shown in the GUI so the end user could see that there is a variable configured, but not used.
Some thoughts about the future use of global variables:
a) When you get to loading the default values into the default.config file then what happens when in one project file
the default is different to the default in another project file for the same global variable?
b) For workspace files that are made up of multiple project files (like the C::B workspace) then it would be nice
to have a similar GUI that shows all of the global variables used in all of the projects loaded so you can see all of them in one GUI.
I have also attached the global variables I use for my local builds.
Some feedback on the Project "Global variables" tab GUI:
1. The stored column is not intuitive as to what it means. When I first opened the GUI I thought it was that the global variables is not stored in the C::B default.config file. After looking at the code it is for saving the info into the project file if it is ticked.
2. It may be an idea to include the currently selected global config set name some where. This will allow users to find where the value is from.
3. The columns do not automatically expand to use up the full width of the dialog. Attached is a dialog capture showing the default loading.
3a) The Used and stores columns could be made smaller in width
3b) Tee Name column needs to be expanded to show/fit the text.
3c) The Description could be swapped with the Default value so that it would make comparing the values easier.
3d) The values and description should be expanded to fill the rest of the dialog width.
4. If there is a missing global variable (in the project file, but not in the config) then the GUI does not let you know this has happened.
This is for trouble shooting.
5. I am confident that this is NOT part of this change, but conversely what about the other case where there a global variables defined in the default.confg, but not used.
6. I saved two variables and then modified the project file to add text for the descriptions and default values. I also added a non existent variable.
I modified the project file while C::B was closed.
On opening the C::B workspace the project file only showed the first variable changes..
The info in the project file is:
<GlobalVariables>
<Variable name="#BOOST.INCLUDE" description="Boost include" default="1111.boost" />
<Variable name="#CB_BUILD.CFLAGS" description="CodeBlocks build cflags" default="not here" />
<Variable name="#ZZZ_FAIL" description="Fail desc" default="failing more" />
</GlobalVariables>
7. In item 6) above the #ZZZ_FAIL variable is not in the project file and I was trying to see what was going to be shown in the GUI so the end user could see that there is a variable configured, but not used.
Some thoughts about the future use of global variables:
a) When you get to loading the default values into the default.config file then what happens when in one project file
the default is different to the default in another project file for the same global variable?
b) For workspace files that are made up of multiple project files (like the C::B workspace) then it would be nice
to have a similar GUI that shows all of the global variables used in all of the projects loaded so you can see all of them in one GUI.
I have also attached the global variables I use for my local builds.