www.riscos.com Technical Support:
The Acorn C/C++ product introduced the RISC OS Toolbox, which makes it much easier to write consistent, high-quality desktop applications whose user interface complies with the RISC OS 3 Style Guide. The key parts of the Toolbox are:
Using the Toolbox has a number of advantages. In particular:
The Toolbox modules support multiple applications, so their code can be shared, avoiding unnecessary duplication of code, and hence cutting down on memory usage.
To cut down still further on the memory requirement of applications written to use the Toolbox, the RISC OS 3.6 ROM contains all its modules (ie the Toolbox module itself, the TinyStubs module, and each of the object modules). Toolbox applications therefore don't need to load the modules into RAM, and much of their user interface is implemented by shared code that runs from ROM. The object modules supplied are:
|ColourMenu||a menu for selecting a desktop colour|
|ColourDbox||a dialogue box for selecting any colour|
|DCS||a dialogue box for discard/cancel/save for unsaved data, and a dialogue box for handling quit with unsaved data|
|FileInfo||a dialogue box showing information on a given file|
|FontDbox||a dialogue box for selecting font characteristics|
|FontMenu||a menu for selecting a font|
|Iconbar||an icon on the left or right of the iconbar|
|Menu||a Wimp menu|
a dialogue box for selecting print options
|ProgInfo||a dialogue box for showing program information|
|SaveAs||a dialogue box for saving data by icon drag|
|Scale||a dialogue box for selecting a scale factor|
|Window||a Wimp window|
The Toolbox is documented in the User Interface Toolbox guide, supplied with Acorn C/C++.
To write applications that use the Toolbox, you will need to purchase Acorn C/C++, so that you have:
Applications communicate with the Toolbox using standard RISC OS mechanisms such as SWIs (known as Toolbox methods) and Wimp events (known as Toolbox events). You therefore don't have to write Toolbox applications using the languages supplied with Acorn C/C++ (ie C, C++, and ARM assembler); you can use other languages such as BASIC.