| | 1 | = Development = |
| | 2 | |
| | 3 | == modRana == |
| | 4 | |
| | 5 | === Structure === |
| | 6 | !ModRana consists of the main modrana.py "kernel", which handles the core functionality, like loading modules, managing the persistent options dictionary, providing platform-independent paths to essential modRana files and folders. It also handles modRana startup and shutdown. |
| | 7 | |
| | 8 | Rest of the functionality is provided by "modules". All modules inherit the ranaModule base class. There are three types of modules: |
| | 9 | * '''device modules''' - provide platform/device adaptation |
| | 10 | * '''GUI modules''' - provide the GUI layer, are independent on the device modules |
| | 11 | * '''normal modules''' - provide various functionality independently on the platform and device modules (or more specifically should not depend on any specific GUI or device module) |
| | 12 | |
| | 13 | Modules can be either file-modules (mod_foo.py) of folder-modules (mod_foo/mod_foo.py). Usually when a file-module grows to an unmaintainable size, it should be converted to a folder module and its functionality split to more files in its folder. |
| | 14 | |
| | 15 | ==== Modules ==== |
| | 16 | |
| | 17 | ===== mod_location ===== |
| | 18 | Supports various location data providers and provides location data in a consistent format. |
| | 19 | |
| | 20 | ===== mod_online_services ===== |
| | 21 | Wraps various online services for use in modRana. |
| | 22 | |
| | 23 | ===== mod_messages ===== |
| | 24 | Handles messaging between modules. |
| | 25 | |
| | 26 | ===== mod_menu ===== |
| | 27 | Menu structure representation and drawing. Currently mostyl used by the GTK GUI. |
| | 28 | |
| | 29 | ===== mod_options ===== |
| | 30 | GTK GUI options menu structure. |
| | 31 | |
| | 32 | ===== mod_map_data ===== |
| | 33 | Batch tile download handling. |
| | 34 | |
| | 35 | ===== mod_ ===== |
| | 36 | |
| | 37 | |
| | 38 | == Development notes == |
| | 39 | |
| | 40 | [wiki:modranaIfrastructureImprovemetsEN modRana infrastructure improvements] |
| | 41 | |
| | 42 | [wiki:pyclutter_notes python-clutter notes] |
| | 43 | |
| | 44 | [wiki:pygame_touchpad running PyGame on the HP Touchpad] |
| | 45 | |
| | 46 | [wiki:voiceOutputLocalizationEN voice output localization] |