Understanding How The Framework Is Designed
The GLX Application Framework is the foundation that your application is built upon. Understanding how this foundation is designed will be helpful when working on your application.
The framework helps you by:
1) Organizing and loading your application stacks.
2) Providing a library to help you with common application specific tasks.
3) Providing additional libraries that help with common application features (saving window position between sessions, undo, broadcasting messages, working with proxy servers, etc.)
Files Included In An Application
Any application based on the framework will have at least 4 different stack files on disk. They are:
1) launcher.rev (named glxappLauncher in memory)
2) glxapp_framework.dat (named glxApplicationFramework in memory)
3) application.dat (named application in memory)
4) program.dat (named program in memory)
launcher.rev (glxappLauncher): This is the "stub" stack that you will attach the Revolution engine to, or in other words, build as a standalone. This stack contains enough logic to load the glxapp_framework.dat stack. You should not have to modify any code in this stack.
glxapp_framework.dat (glxApplicationFramework): This stack has all of the glxapp_* library handlers and provides the majority of the primary framework functionality. Code in this library will take care of loading your application stacks (i.e. application.dat and program.dat) and externals into memory and dispatching the appropriate messages to the application stack. You should not have to modify any code in this stack.
application.dat (application): The ApplicationObject group of this stack is where the framework stores all of the information about your application. You should not modify anything in this group manually but rather use the API calls to manipulate it. It is appropriate to store any library stacks as substacks of this stack. It is also appropriate to add any buttons used as front/backscripts to this stack's card.
program.dat (program): This stack contains the UI of your application. You can store palettes, dialogs and other stacks related to your UI as substacks of this stack.