Common Application Framework Interfaces
- Last UpdatedJan 28, 2025
- 2 minute read
The Common Application Framework (CAF) is an extensible framework which provides the .NET programmer with access to various services which support both application development and customization. The foundations of the CAF are provided by the two interface assemblies:
-
Aveva.ApplicationFramework.dll
-
Aveva.ApplicationFramework.Presentation.dll
These interfaces provide the following major services:
Namespace: Aveva.ApplicationFramework
Simple customization can be achieved by creating User Defined Attributes in Lexicon, delivering them in C# and loading them using the Aveva.ApplicationFramework.dll.
-
AddinManager:
This class provides properties and methods for the management of ApplicationFramework Addins. -
ServiceManager:
This class defines an interface which provides a means by which the various components of the ApplicationFramework can publish their services. The ServiceManager also acts as a service provider responding to requests for services. It can also be used by applications and application addins to publish additional services. -
SettingsManager:
This class provides properties and methods for the management of application settings which are stored in settings groups which are persisted between sessions.
Namespace: Aveva.ApplicationFramework.Presentation
It may be desirable to introduce extra GUI tools with complex customizations, this can be achieved using the Aveva.ApplicationFramework.Presentation.dll.
-
CommandBarManager:
This provides access to the ribbon menus and commandbars of a CAF based application. It also has methods to load the definition of menus and commandbars from User Interface customization (UIC) files. -
CommandManager:
This class defines an interface to provide the presentation framework client with a mechanism for the management of command objects which can be associated with Tools or other User interface objects. The action of invoking a tool, for example: clicking a ButtonTool, will cause the execution of the associated command object. It is possible to associate the same command object with a number of different user interface objects, for example: ButtonTool on a Menu and a LinkLabel, thereby allowing for the centralization of these user interface object actions within a command. Various state-like properties of a command, for example: enabled/checked, would also be reflected in all user interface objects associated with a command; disabling a command would cause all associated user interface objects to be disabled. User interface objects are associated with a command via a CommandExecutor derived class. -
ResourceManager:
This class defines an interface to provide Addins with a simplified mechanism to access localizable resources. The ResourceManager provides a number of methods which allows an addin to then access the various types of resources (string, image, cursor, icon etc.) which resource files may contain. -
WindowManager:
This provides access to the main application window, the StatusBar and a collection of MDI and docked windows. It also provides the addin writer with methods to create MDI and docked windows to host user controls.
The Application Framework Interfaces are documented. Refer to AVEVA CAF API Documentation for further information.