John Ralls
96b09ded9f
Doxygen documentation for new options classes.
2021-11-12 15:27:36 -08:00
John Ralls
bed44f404f
Remove the always questionable Scheme generation and parsing code.
...
It's more reasonable to do that in Scheme than in C++.
2021-08-30 11:47:04 -07:00
John Ralls
b361582cf2
Ensure option UI is sorted: Tabs by names, items by keys.
2021-08-18 15:42:29 -07:00
John Ralls
1af97ebb9a
Implement registering/unregistering/calling change callbacks.
...
Drives reloading the report when the Apply or OK button is pressed.
2021-08-13 14:06:47 -07:00
John Ralls
0a8f66ee90
Fold GncOptionGncOwnerValue into GncOptionValue<const QofQuery*>.
...
Reflecting the way Scheme options handles it.
2021-07-31 17:54:30 -07:00
John Ralls
7fa6778b4b
Add a register_option overload to GncOptionDB
...
For compatibility with existing scheme code.
2021-07-31 17:54:29 -07:00
John Ralls
41e59df71f
Remove unused and un-needed function.
2021-07-31 17:54:28 -07:00
John Ralls
eb6e31f803
dialog-options: Change signature of gnc_option_get_gtk_widget()
...
So that it can be called from C.
2021-07-31 17:54:28 -07:00
John Ralls
3b4785e744
Convert GncOptionSection from a std::pair to a class.
...
Provides find_option(const char*) and foreach_option(func) for easy
iteration. find_option and find_section now return plain const ptrs
instead of std::optionals. Much less cumbersome though the compiler
won't nag if you forget the nullptr check.
2021-07-31 17:54:28 -07:00
John Ralls
1bea809cec
Remove the UI interface from GncOptionDB.
...
UI operations occur only in dialog-option so there's no need to expose
them from GncOptionDB.
2021-07-10 17:29:15 -07:00
John Ralls
aa246d3096
Make implementation classes and template code visible only in app-utils.
...
So only GncOption and the GncOptionDB free-function interface are public.
We don't want to expose template headers widely, it would blow up compilation
times and might lead to one definition rule violations.
2021-07-10 17:24:58 -07:00