QT Classes Overview

 

Overview

The QT classes implement the AIS Lisp Research Lab Foundation Classes. The Research Lab Foundation Classes allow the AIS Lisp programmer to produce generic research lab desk top applications easily and cost efficiently. The Research Lab Foundation Classes support an extendable tabbed GUI style with generic GUI elements and also remote process execution and control. The purpose of the Research Lab Foundation Classes is to support write-once-run-anywhere research lab applications in Lisp with very low engineering development cost. Currently there are Research Lab Foundation Classes implemented for C++ QT which runs across many platforms. The design benefit for the Research Lab Foundation Classes is reasonably complex research lab applications with very low engineering development costs. The design sacrifice for the Research Lab Foundation Classes low-cost-development-benefit is that one is restricted to a stylized, generic GUI with few embellishments.

 

Extendable Tabbed GUI Style

The QT classes support a stylized GUI desk top application interface which is composed of multiple tabbed windows. At the top of the main window is a title bar. Beneath the title bar is a row of pull down menus. Beneath the row of pull down menus is a row of titled tabs. When selected, each tab exposes another full featured window containing generic QT controls populated by the developer. Clearly a wide variety of research lab desk top applications can be produced quickly and cheaply within these stylized design constraints.

 

Remote Process Execution & Control

The QT classes support the execution and control of remote processes on the local computer. This allows multiprocessing research applications to be easily developed. QT remote process execution also allows the Lisp programmer to execute remote applications such as Excel and 3rd party charting packages.

 

Internet Web Page Reading

The QT classes support the reading and parsing of Internet Web pages from the local research application. This allows research applications to be easily fully connected to the Internet for collecting and analyzing publicly available research data.

 

Tutorials

The AIS folder contains a number of tutorials containing research lab desk top applications for machine learning, chat bots, QSQL local database, all of which were quickly and easily developed using the QT classes services. The Lisp code for creating these many interfaces can be found in each tutorial.

 

Tutorial IDE

The AIS Lisp IDE (Integrated Development Environment) is one of these tutorials. The IDE is created entirely in Lisp using the QT classes and allows the development and debugging of Lisp applications for use in the research lab. The AIS Lisp IDE contains the complete Lisp source code for the Integrated Development Environment for AIS. The IDE contains a stylized QT desk top interface with four tabs: Console, Libraries, Editor, and Debugger.

 

IDE Console Tab

The Console tab contains the Lisp console window which displays all Lisp (writeln ...) function output as well as logging all console output to the log file. The console main pane also allows the researcher to enter an execute Lisp commands.

IDE Console Tab

 

IDE Libraries Tab

The Libraries tab contains the list of libraries referenced by this research project. Clicking on any one of the libraries, causes the list of elements in the selected library to appear in the right hand pane. Clicking on any element in the right hand pane causes the element to open an editor window in the Editor Tab.

IDE Console Tab

 

IDE Editor Tab

The Editor tab contains the set of edit windows opened by the researcher. Each edit window has its own tab and allows the researcher to edit the elements of each Library. Edited library elements can be compiled and saved from options in the Edit pull down menu above.

IDE Console Tab

 

IDE Debugger Tab

The Debugger tab allows the Lisp researcher to walk through the execution of the various library elements as they execute. The lambdas in the project can be listed, selected, and examined during execution. Variables within each lambda can be viewed, set, and explored in the right hand debugger panes.

IDE Debugger Tab