Well, I'm not sure of what the OP has in mind either, but I have a vision I've been hoping to put into action one of these days.
A given application can have a lot of configuration settings. While tools like ConfigObject provide a nice easy way to save and reload them, they don't provide a way for the user to view/edit them.
In Mike's nice blog post, he shows how to do that, but it takes a fair bit of hand-written code. If your app has a half a dozen configuration settings, then no big deal, but there could be many, many, more.
So my vision is to define a set of configuration_object classes, each one representing a type of configuration data:
integer
float
string
color
etc...
each class would provide a way to persist itself and provide a GUI widget to let the user edit it.
You could then have a "configuration_sub_set" that would hold a number of these objects, and a "configuration_set" that would hold a bunch of "_sub_sets" -- at the GUI level each _sub_set would map to a panel, and the whole _set would be a notebook control.
A bunch of code to write, but once written, you could very quickly throw together a configuration system that could have a lot of elements.
To make things a bit fancier, a configuration object could be fairly smart, i.e. "an integer between 0 and 100", etc, etc.
One thing to look at for this would be Enthought's "traits" -- a "trait" is kind of a smart class attribute -- it can do things like know what range of values are valid, etc, and even cooler, there is a notification system, so you can have other classes react to a change in a given trait very easily. The system also provides a wxPython GUI for editing the trait. I don't think they have a persistence system, but you could build one pretty easily on top of traits.
http://code.enthought.com/projects/traits/
Someone has also written a system similar to what I have in mind, including editing numpy arrays, with a QT GUI -- he expressed interest in collaborating, to create a wx version that would share the same back-end, with a different GUI.
-Chris
···
On 4/4/11 9:00 AM, Mike Driscoll wrote:
I'm not sure what you mean by binding to the UI. Basically, I just
extract my settings into my program as class properties and if I need to
persist the changes my app makes, then I save them back to the config
file(s).
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov