|
From: | Richard S . Gordon |
Subject: | Feasability of an nCurses-based, Python emulation of wxWidgets/wxPython |
Date: | Tue, 9 Jul 2013 07:57:48 -0400 |
This is not a bug report. I'm not sure how to propose this. Would your organization be interested in an nCurses-based, Python emulation of wxWidgets/ WxPython. While it is still under development, it demonstrates the feasibility of building a high level, graphical-style user interface upon the low level, nCurses API. Attached is a sample screen shot on a virtual machine running OpenSolaris. Summary of Capabilities and limitations
Below, is a more detailed summary of my accomplishments. Dick Gordon These are details of my accomplishments. 1. Developed, enhanced and maintained a library of general-purpose, re-usable building block modules for embedded systems. The building blocks: a) Provides both Command Line and Graphical-style User Interfaces that enable application developers to focus on the application specific functionality and not waste effort re-inventing the functionality typical of Command Line and Graphical User Interfaces. b) Can operate in an isolated system (Stand-Alone mode) or in a networked system (Stand-Among mode). c) Are implemented in Python 2.x. d) Are ported to Python 3.x using a Python program (2to3) which reads Python 2.x source code and apply a series of fixers to transform it into valid Python 3.x code. 2. Cross-platform designs run, without change, on Linux, Mac OS X and Microsoft Windows (the latter requires Cygwin, a Linux-like environment add-on from Red Hat). 3. Command Line Interface includes building blocks that create a sophisticated POSIX-/ Unix-like terminal interface. It features: a) Command line keyword option and positional argument parsing; b) Error/exception handling; c) Event logging to application designated terminals, files or devices (stderr, stdout, syslog, stdscr); d) Launching, event dispatching and terminating of the Graphical-style User Interface; e) Wrapper used to ensure that each application terminates with the exit code and message appropriate for co-ordination of a sequence of multiple applications. f) Tool to scan an operator designated directory tree and strip lines of source code of any superfluous trailing blank characters; g) Tool to scan an operator designated directory tree and report on the total number of files, total number of lines of code, total number of blank/comment lines and their distribution among the file name extensions associated with various programming language such as Ada, Assembler, C/C++, Fortran, Pascal, Python and shell script. 4. Graphical-style User Interface includes building blocks that create a sophisticated Desktop, Laptop and Workstation Computer- like terminal interface. Using the "nCurses" character-mode and xterm libraries of the host platform, it emulates a subset of the "wxPython" pixel-mode Graphical User Interface. This enables "wxPython" applications to run with little, if any, change if they neither use icons nor other bit-mapped images, nor use proportional sized fonts or associated special features. The emulation features the following widgets: a) Tiled (side-by-side) and overlapped (partially hidden) windows; b) Frames / Dialogs (top-level windows) containing other widgets; c) Menu bars (placeholder windows) containing drop down menus (windows); d) Tool bars (windows) containing a collection of windows for on-screen buttons, menus, or other input or output widgets; e) Status bars (windows) containing an information window, at the bottom of a top-level window, sometimes divided into sections, each of which shows different information); f) Task bar (a top-level window) containing windows for buttons used to control which top-level window has focus and is not partially hidden; g) Sizers (non-windows) containing sizers or windows for tables of data or buttons; h) Panels (windows) containing sizers or windows; i) Buttons (windows) for operator control action triggers, j) Check boxes (windows) containing buttons for enabling/ disabling any one or combination of several operator mode and option control action triggers; k) Radio boxes (windows) containing Radio buttons for choice of one of several operator mode and option control action triggers; l) Gauges (windows) for horizontal and vertical bar graph widgets; m) Scrolled windows (windows) containing a scrollable text window and horizontal and/or vertical scroll bars (each with associated scroll position gauge and scroll control buttons (up, down, left, right) for action triggers; n) Redirected output (a top-level window or log file) containing system and application messages annotated with date, time and event severity levels that are printed or sent to syslog, stderr, stdout or scrolled windows; o) Splash screen (pre-recorded image) that notifies the operator that the program is in the lengthy process of loading |
[Prev in Thread] | Current Thread | [Next in Thread] |