Building a DX application consists largely of dragging widgets into place, then setting their resources.
By setting widget resources you can:
- control the connection to your database;
- manage the flow of information between the database and your user interface;
- specify the way database information is validated, displayed and updated;
- manage the instance hierarchy of your application.
There are four categories of DBPak widgets:
Database Access widgets specify a connection to the database. You can either require users to log in at runtime, or you can specify login information in advance. Unless you are connecting to multiple databases simultaneously, you need only one Database Access widget per application.
Data Presentation widgets manage the display of database information. By modifying Data Presentation widgets, you control how fields are validated, formatted, and labeled. You need one (or more) Data Presentation widgets for each database column used in your application.
Query widgets coordinate between the Database Access and Data Presentation widgets. By modifying Query widget resources (and adding callbacks), you control what data is retrieved, how it is displayed and how it can be updated. Query widget store data that has been retrieved from the database. They also maintain a cursor into the database for browsing from row to row. You can think of them as holders for the result set of an SQL select statement, with extra 'smarts' to edit and update the retrieved data. You generally need one or more Query widgets per application screen.
- Control widgets are push buttons that tell the Query to move between rows of a table, i.e. "Next Record", "First Record", "Search", etc. Control widgets are commonly grouped together to form a Control Panel.
The following figure illustrates the relationshis between DBPak widgets: