|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.
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
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
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
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
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
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]|