There are 15 instantiable GUI Object types (defined in 29 files),
four different abstract GUI Object base classes (defined in 8 files),
six different GUI Setting types (defined in 9 files)
that are not commonly used in other GUI contexts.
There are the following advantages of gruping these files into folders:
- Allows identification of all files of one group immediately.
- It's easier to get an overview of which components are present that are not Objects nor Settings (neglected types).
- Differences between the types within a group stick out more.
- One can traverse all files of one group when wanting to read or modify that group. For example when changing the virtual methods of the multiple GUI Object base classes, all GUI object types need to be checked and possibly updated. Then one is happy if there is a subfolder with all these files.
Discussion with Vladislav on http://irclogs.wildfiregames.com/2019-10/2019-10-01-QuakeNet-%230ad-dev.log.