Announcing the initial (pre-alpha-stage) release of the TeamSTARS “tsWxGTUI_PyVx” Toolkit. It is designed to be a foundation for developing, operating and troubleshooting those Python Curses based application programs embedded in local and remote 32-/64-bit computer systems used to monitor and control mission critical equipment.
It features Python 2x & Python 3x based Command Line Interfaces (CLI) and “Curses”-based “wxPython”-style, Graphical-Text User Interfaces (GUI). With it, you get that cross-platform, pixel-mode “ wxPython" feeling on character-mode 8-/16-color (xterm-family) & non-color (vt100-family) terminals and terminal emulators.
It supports:
- Launching from command line interface mode
- Frames, Dialogs, Scrolled Windows
- Panels
- Buttons, CheckBoxes, Radio Boxes/Buttons
- Text Entry and Password Entry (still under development)
- Splash Screen display constructed or re-used during launch
- 68-color palette (mapped into 8-/16-color Curses palette)
- Logging to Screen and Files
- Event Handling (not yet general purpose)
- Task Bar (not yet capable of changing focus)
- Position and dimensions accepted in Pixel (default) or Character (option) cell units.
Keyboard and mouse input works with Curses-compatible "Terminal” applications on 32-/64-bit Linux, “iTerm2” on Mac OS X and “Terminal” on Unix. It also works with nCurses-compatible “Terminal”, “XTerm” and "UXTerm” applications on 32-/64-bit Linux and with the Cygwin plugin for Microsoft Windows (using its “Mintty” Terminal application). It does not yet support keyboard Shortcut/Hotkey input.
Though its still a work in progress (pre-alpha), I"ve released all source code, documentation and draft engineering notebook on github
(https://github.com/rigordo959/tsWxGTUI_PyVx_Repository) hoping to get feedback on the features, performance and priorities of features to
implement next.
The repository includes Python 2x and 3x versions of:
- Python sub-version-specific installable Site-Packages (e.g. using “python2.6.8 setup.py install” or "python2.7.9 setup.py install” in "./tsWxGTUI_PyVx_Repository/SourceDistributions/Site-Packages/Python-2x”) which augments the standard Python Global Module Index
- Python sub-version-independant Developer-Sandboxes (e.g. run test and tool applications in “./tsWxGTUI_PyVx_Repository/SourceDistributions/Developer-Sandboxes/Python-3x/tsWxGTUI_Py3x”) which facilitates experimentation without corrupting installed Site-Packages.
I’ve included applications and instructions that demonstrate the Toolkit’s local and remote usage, functions and coding techniques.
See “./tsWxGTUI_PyVx_Repository/Documents/Demo.txt” for details.
Unlike host operating systems, which provide native GUI services, the Toolkit attempts to emulate the wxPython 68-color palette, and association of mouse input with wxPython triggering objects (such as scroll bar buttons and thumb buttons/gauges). It seems unlikely that the toolkit could be easily
re-implemented in c++ and integrated in the wxWidgets build system.
Richard S. Gordon