|General GUI framework|
|This is the main component one will use to create a modern GUI application. In general, any GUI application will use one FRAMEWORK object to handle its main window. The FRAMEWORK object handle the general layout and the following items: menubar, taskbar, part of the help menu, document area (up to 5, status area. Each document area may be multi-documents with a notebook. The framework handle various core function such as the quit/mayquit protocol and the focus notification.|
|void loop ()||void about ()|
|void newdocument (void *data)||void area1 (FRAMEWORK_INFO&info)|
|void newdocument (void *data, int noarea)||void area2 (FRAMEWORK_INFO&info)|
|void area3 (FRAMEWORK_INFO&info)|
|void area4 (FRAMEWORK_INFO&info)|
|void area5 (FRAMEWORK_INFO&info)|
|void document (int noarea, FRAMEWORK_INFO&info)|
|void ending (bool &do_not_end)|
|void helpindex ()|
|void layout ()|
|void menubar ()|
|void menudo (int id, FRAMEWORK_INFOSinfos, FRAMEWORK_INFO *focus)|
|void message ()|
|void messages ()|
|void nodocument (int area, bool &end)|
|void status (PRIVATE_MESSAGE&ending)|
|void taskbar ()|
|int taskdo (int id, int allo)|
|void taskdo (int id, FRAMEWORK_INFOSinfos, FRAMEWORK_INFO *focus)|
Main constructor, normally used for the first FRAMEWORK of a program
This function ends when all documents (areas) have ended.
document is called if the areaN tag is not defined
When every document accepted to end, but the framework ask all document to end. this functags is called. This is generally used to collect various information about the current documents and potentially as a last chance to abort the end.
You anchor the areas you want to use in your framework using the layout_areaN() fhelper. You use the various layout_xxx() fhelper to place various GUI components (forms, groups, book) and insert position the layout_areaN() in the right position. By default a framework has just one area (area1) with nothing around.
A PRIVATE_MESSAGE may be passed to the FRAMEWORK constructor. Whenever a message is received, this functag is called.
This usually happen when a framework is used inside another framework and receives in its constructor a FRAMEWORK_MSGS object. This is generally useful to process taskbar and menubar event.
The application may use this to create setup a default document.
The application can define any status bar. In fact, the application sets a dialog with whatever content. In general, PRIVATE_MESSAGE are used to signal the dialog so it updates its content.
Not much But it will get better with time
Multiple documents or views program need a way to restart in the exact state they were when the user quitted. The program usually record a set of strings in a resource database and read them back at startup time. The program use FRAMEWORK::getdocumentids to learn the IDs of all active documents.