Tuesday, February 19, 2008

Codes before Pillows

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.


No comments:

Post a Comment