New submission from Terry J. Reedy:

configdialog.ConfigDialog mixes together two things: a user interface for  
changing options and a mechanism for storing proposed changes and applying them 
to the configuration dictionaries managed by config.  The change mechanism is 
based on a 3-level dict that maps user config file, config file section, and 
section entry to a new values.  Most GUI event handlers insert entries into the 
dict.  Cancel clears the dict. Apply and call a method to apply changes (and 
then clear them).

This issue will factor out the changes structure and all methods that touch it 
into a new Changes class.  ConfigDialog needs to be able to call methods to add 
changes, clear changes, apply changes, and maybe something else.  GUI tests 
need to be able to query currently stored changes.

Tests of Changes, which are part of this issue and should be 'complete', will 
accept examples changes from the test functions and send changes to either 
configparser mocks or even the actual configparser structures, but not to disk.

A complete test of the GUI (not part of this issue) will simulate user 
interaction with every widget and then query Changes() to see that the proper 
changes orders have been recorded.

----------
messages: 296962
nosy: terry.reedy
priority: normal
severity: normal
stage: test needed
status: open
title: IDLE: configdialog -- factor out Changes class
type: enhancement
versions: Python 3.6, Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue30779>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to