diff --git a/README.md b/README.md index 10c905e..bca3563 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,17 @@ apt install git\ ## Development +### Structure + +Application sources located at `src/app` folder, by following basic principles: + +* Every file extends one of GTK 4 Widgets according to subject (e.g. `class Browser : public Gtk::ApplicationWindow`) +* `src/app` does not contain other class entities like models or libraries (another folders and namespaces at `src` root are reserved for these needs) +* Every file work with it own, 1th level child only, to prevent massive logic levels keeping in mind +* To access any children features, deeper or higher than 1th level of current class, use delegation methods (actions, getters and setters) +* One file - one class. If the file requires additional (GTK) component, this component should be placed at similar folder with same name as parent filename. So we have simple hierarchy navigation logic - from app to window, from window to it container, etc. +* At this moment, all constants named with uppercase, const everything that not mutable + ### Environment ``` bash