Programming Guide:xppguide

User Interface and Dialog Concepts Foundation

A large part of the program code for most applications is associated with the user interface and allowing the user to access features of the application. The operating system offers two operating modes for the user interface, the VIO mode (Video Input Output Mode) and GUI mode (Graphic User Interface). The VIO mode is a text based operating mode which is selected when the full screen mode is active or when a DOS program is running in a DOS window. The GUI mode is a graphic operating mode. An example of the GUI mode is the desktop. Xbase++ supports both operating modes which makes it possible to easily port existing Xbase programs written for DOS to a 32bit operating system.

To simplify migration of existing DOS Xbase programs from the text based VIO mode to the GUI mode, Xbase++ also includes a special "hybrid" mode. In this mode, character based program elements can be mixed with graphic dialog elements. This allows the programmer to transition existing text based DOS Xbase programs in a stepwise manner to applications with a full graphic user interface.

This chapter describes how programs can be created for the different operating modes and illustrates various concepts for programming user interfaces. This includes aspects of data input and output for both the procedural programming of VIO applications and the event driven, object oriented programming of GUI applications.

Applications in character mode (VIO mode)

Unformatted input and output

Formatted input and output

Keyboard and mouse

The default Get system

Modification of the Get system

Display of tables

Applications in graphics mode (GUI mode)

Basics of Xbase Parts

Windows and relationships

XbpCrt() - The window for hybrid mode

XbpDialog() - The window for GUI mode

Class hierarchy of Xbase Parts

DataRef() - The connection between XBP and DBE

Creating GUI applications

Tasks of AppSys()

The menu system of an application

Tasks of the Main procedure

A DataDialog class for integrating databases

DataDialog and data entry screens

Program control in dialog windows

Touch input

Touch Gestures

Processing touch gestures

Touch input in character mode applications

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.