R3 Graphical User Interface (GUI)
About the GUI:
- The primary objectives of the R3 GUI have been clearly stated in prior documents. However, to be sure we're all in sync: the GUI is designed to make simple apps simple, and sophisticated apps possible. That is, you really can write a useful app in just a few lines of GUI dialect, and a full scale app may require just a few dozen pages.
- You can use the GUI in programs without knowing the details about how it works. That's fine; however, if you want to create new styles or features, it is critical that you undertand the desgin.
- We have begun writing the official R3 GUI documentation, as you see below. We seek the best ways to explain how the GUI works and provide you with a solid conceptual model.
User's Guide
This is a whole new guide that's being started for new users it goes step-by-step. (Currently, this part is lower priority compared to developer docs.)
GUI Guide | Getting started with the GUI. In development. |
Developer's Guide
This section is for developers to understand the language of the GUI. Here are the primary terms you need to know, with each linked to its documentation:
Style | Defines the look and feel of a GUI element. A GUI class. |
Face | An instance of a style, with specific attributes and options. A GUI object. |
Panel | An organized collection of related faces. A GUI layout. |
Actor | A style-defined function that acts on face instances. A GUI method. |
Reactor | A top level "result" from user input or other events. GUI results. |
Dialect | Specifies the styles, faces, and layout within a GUI panel. The GUI language. |
Lower-level Graphics
Window | An area of the screen managed by the operating system. |
Event | A datatype that indicates user input or other activities. |
Gob | A lower level graphical object, optimized for size and performance. |
Draw | A block of graphical rendering commands. |
[?Effect?] | A block of graphical effect commands. |
[?Richtext?] | A block of text and formatting commands. |