ODABA GUI framework and tools
Besides the database, ODABA provides several development tools summarized in ODABA Development Environment (ODE). ODE tools handle application resources stored in an application resource database. ODE tools support all phases of a production life cycle beginning with problem analysis via database and application design and implementation up to documentation and maintenance.
In addition to APIs ODABA supports a GUI frame work. The ODABA GUI framework is a technology based on Active Data Link (ADL), which passes database events to GUI controls in order to automatically fill data in GUI forms and lists. The GUI framework supports implementing GUI applications based on database model.
GUI tools are provided, which allow designing complex GUI applications by mouse clicks or drag and drop. Since the GUI framework transforms data events into GUI events, filling and updating lists and fields in a GUI application is not a task of application programming anymore.
The GUI framework is the base of a number of development tools supporting development phases from analysis (Terminus) via defining database model and implementing methods (ClassEditor), GUI designer for building GUI applications (Designer) up to documentation (Terminus) and test (TestBrowser).
Development resources are linked with documentation topics, that support documentation during application development. Later, document generation features may be used for creating documents from document topics. Content of document topics may also be displayed as detailed online help in GUI applications.
- Terminus - provides problem analysis functionality, but also document generation features for producing LibreOffice and HTML documents
- ClassEditor - provides database model builder and database model check functions. Besides, it contains class implementation features inclusive check functionality for OSI functions, documentation features and code generator for C++ and C#, interface generator for generating OSI interface functions that allow calling C++ functions from OSI functions, and others.
- Designer - supports object-oriented GUI design. Controls and forms are considered as methods of design classes inheriting from ODABA data types. Data binding to class properties automatically controls filling and refreshing controls and forms.
- TestBrowser - ODABA provides a test framework that allows running automated tests in a command line environment. The TestBrowser provides a GUI application for defining and running tests.
The ODABA GUI framework also supports debugging GUI sessions after being executed. In order to record and replay GUI sessions, the Activity Log may be enabled. The activity log records all activities of one or more GU applications. For each action in a GUI application, a timestamp, user name, process ID, action type and name and action parameters are recorded.
The ObjectCommander (GUI data browser) is the GUI equivalent of the OShell command line tool. The ObjectCommander supports defining any number of data sources (databases) and browses data for two data sources simultaneously similar to midnight or total commander.
Besides browsing data, instances or collections may be copied within or between databases and data may be created, updated or deleted. Also, one may run OShell commands or OSI functions.
ODABA provides a number of Browser applications, which may be used for browsing specific application resources, but may also be used as examples for ODABA GUI framework applications. Many of these applications are scripted simply using OSI, so one may adapt these applications to special needs.
- MessageBrowser -has been provided in order to provide an enhanced message view to the error log. Besides the error written to the error log the Message Browser displays explanatory text for each registered error. Depending to the configuration, the display refreshes continuously and old messages are removed from the message browser.
- OptionBrowser - has been provided for configuring application database options or examining application options. Beside using configuration or ini-files for setting options, options may also be defined in an option hierarchy in the application database.
- ActionBrowser - The action browser, which is also an integrated function in ClassEditor (menu item Objects/Action Controls), is used for defining and documenting actions to be executed in an application.
- DirectoryBrowser - is an example demonstrating how to access file system resources in an ODABA environment. Is shows directories and file content of a directory defined in the option ROOT_PATH. The file structure is imported into a (temporary) database and shows the directory trees and file content.