Sat down and started working on NPM again, this is my first commit in a few weeks… Mainly because the last few weeks have been a living pain in the ass rather then a codeathon.
Terry@dixie$ svn log -r HEAD 8:55
------------------------------------------------------------------------
r53 | sas_spidey01 | 2008-02-20 08:54:55 +0000 (Wed, 20 Feb 2008) | 23 lines
optionsinterface.py added
A thin wrapper around a dictionary of options (to be kept private)
that exposes a getter and setter method for each key:value pair.
For which is intended to be used as a slot from the GUI or a call back
of sorts from a slot in the GUI to the options interface.
A simple 'flush' method is provided to update saved config (not
finished). NPM_OptionsInterface is to be integrated with NPM_Options
in some suitable manor that removes as much as possible of the system
from the 'middle' of code that needs to get / set options values.
The question of using Qt's settings subsystem or the existing one
remains to be decided.
npmwidgets.py modified, gaining an extra slot for NPM_SpinBox -> man I wish Python had Cs Preprocessor some times.
settingspages.py -> checkboxes, spinboxes, and the override server prompt connected to the NPM_OptionsInterface provided.
More to be changed in the future design wise (for the better).. When I've got more sleep to think about it.
------------------------------------------------------------------------
Terry@dixie$ 8:5
If I didn’t have work in the next city tomorrow I’d be working on this for another two hours nut alas it’s already approaching 0400R / 0900Z rapidly… And I’m to tired to comment much more.
I do know this, I want to be able to get / set options as necessary through slots. Without having to have any understanding of how the config file is handled else wheres. At the moment I’ve basically started a switch from NPM_Options::config to NPM_OptionsInterface::config for storing the options in memory. The difference being at the moment NPM_Options is only able to read the configuration files using Pythons INI parsing classes for our needs. And it exposes a dictionary of option=settings. The difference between obj.config[‘optionKey’] = value and obj.getOptionKey(value) is negiable for me.
The thing of it is, what if we need to do more then just assign a value to keep things in order ? At least with a set of methods around the problem the rest of the program can be insulated from any major changes in that part of the system. I also know that I have very little interest in extending pythons dictionary class just for the occasion lol.
sleep….