Control GUI Developer Guidelines
2
Table of Contents
1. Introduction
1.1. Scope
1.2. Definitions and Conventions
1.2.1. Abbreviations and Acronyms
1.2.2. Definitions
2. Related Documents
2.1. Applicable Documents
2.2. Reference Documents
3. Context of ELT Control GUIs
3.1. Users
3.2. Locations
3.2.1. Control Room
3.2.2. ELT Plateau
3.2.3. GRAF/VRAF Remote operations
3.3. Software Environment
4. Development Stack
4.1. Toolkit and Language
4.2. Communication Middleware and External Libraries
4.3. Tooling
5. Ergonomics
5.1. Visual Design
5.2. Fonts
5.3. Widgets Style
5.4. Colour Scheme
5.5. Icon and Images
6. Design Guidelines
6.1. Icon selection
6.2. Progress and Feedback – Presentation to the user
6.3. Data loss operations
6.4. Desktop or Menu entry in the system
6.5. Operations that involves risks
6.6. Lists, Tables, and too much data
6.7. The system is too complex to present it on a UI
6.8. Response from a remote procedure is expensive to process
6.9. What fonts and colors should I use?
6.10. The design of the application includes 3D graphics. How can these be included and what considerations I should take?
6.11. I need to create a new widget. How can I?
6.12. What graphical design should I follow for an application?
6.13. When the application is resized, all elements are fixed to coordinates.
6.14. Users keep making mistakes using the application. What can I do?
6.15. Keyboard shortcuts
6.16. User Manual or documentation for the application
6.17. Expert users
7. Coding Guidelines
7.1. Language Agnostic Guidelines
7.1.1. Widget Names
7.1.2. Application Identification
7.1.3. Additional “About” Entries
7.1.4. Organization of Classes
7.2. Python
7.2.1. Basic GUI Application
7.3. C++
7.3.1. New Widget, Plugin and Bindings to Python
7.3.1.1. Widgets
7.3.1.2. Plugin
7.3.1.3. Bindings
Control GUI Developer Guidelines
Index
Index