Abaqus GUI Toolkit basics

The Abaqus GUI Toolkit is an extension of the FOX GUI Toolkit, just as the Abaqus Scripting Interface is an extension of the Python programming language. FOX, which stands for Free Objects for X, is a modern, object-oriented, platform-independent GUI toolkit. Since the Abaqus GUI Toolkit is platform-independent, once you write an application for one platform, you can run that application on all supported platforms—you do not need to change your source code.

The user interface produced by the Abaqus GUI Toolkit looks similar on all platforms. This is due to the architecture of the toolkit. While the application programming interface (API) is the same on all platforms, the underlying calls made to the operating system’s GUI libraries differ—on Linux systems calls are made to the Xt library, whereas on Windows systems calls are made to the Win32 library. These differences are hidden from the application developer.

Since the FOX GUI Toolkit is object oriented, it allows developers to extend its functionality easily by deriving new classes from the base toolkit. The Abaqus GUI Toolkit takes advantage of this feature by adding special functionality required for Abaqus GUIs. Class names that begin with FX are part of the standard FOX library; for example, FXButton. Class names that begin with AFX are part of the Abaqus extensions to the FOX library; for example, AFXDialog. When the same class exists with both the FX and AFX prefix (for example, FXTable and AFXTable), you should use the AFX version since it provides enhanced functionality for building applications using Abaqus.