[Idle-dev] my work plans

Mark Roseman mark at markroseman.com
Thu Aug 13 20:21:20 CEST 2015


I just wanted to give a quick update on some of the things I’ve been working on in terms of IDLE UI improvements. Any comments or feedback appreciated.


Short-term - incremental improvements to existing behaviours:

  * (patch done) minor cosmetic updates to the editor window (#24750, #24745)

  * (patch done) changes to make existing preferences and about dialogs non-modal (#24760)

  * (patch done) modified about dialog to display credits, readme, etc. inline rather than launching further (modal) windows

  * (patch done) mac-specific bug fixes to workaround problems in Tk (#24801, #24570)

  * (patch done) centralize creation of ui components in a new ‘uifactory’ module. This is now used by about/prefs (#24760), and soon others. This module will also be in charge of choosing to use ‘ttk’ or ‘non-ttk’ based components (#24759)

  * (patch done) utilities to help with functional/integration testing across application via tkinter introspection/event generation (#24845); much more to come

  * (in progress) replacement for simpledialog calls: adding ttk option, some behaviour fixes (e.g. #24812), displaying errors inline rather than launching another modal dialog; integrate in uifactory

  * (in progress) ttk-based redesign of preferences+extensions dialog, when running Tk >= 8.5 (#24759, #24776, #24782, etc.)

  * (in progress) ttk-based version of find dialogs, with minor enhancements

  * (in progress) new ‘tkextras’ module, to centralize some of the small tricks, wrappers and workarounds that get used multiple places in the code

  * (soon) make find dialogs non-modal, integrate with uifactory


The next things I plan on having a look at:

  * create a 'stand-alone' canvas-based tab widget (modelled after the one in textmate) to later be used as the ui to handle switching between multiple editors/shell within same window (#9262, #24826)

  * separate UI of debugger from underlying internals (so ui can be attached ‘on the fly’), make it runnable as a frame (so can embed in toplevel or panedwindow), and improve UI

  * menu handling, in particular enabling/disabling items according to app state (#24814 etc.)


For others making or planning broad changes, the main thing to note of at this point is the ‘uifactory’ addition, as well as some of the module decoupling that’s happening as a result of other changes like making things non-modal. The functional testing pieces are early stages, but I hope it can fill in some gaps and also replace a subset of the manual ‘htest’ tests with automation.

Mark



More information about the IDLE-dev mailing list