Version 1 (modified by 13 years ago) (diff) | ,
---|
Development
modRana
Structure
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.
Rest of the functionality is provided by "modules". All modules inherit the ranaModule base class. There are three types of modules:
- device modules - provide platform/device adaptation
- GUI modules - provide the GUI layer, are independent on the device modules
- 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)
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.
Modules
mod_location
Supports various location data providers and provides location data in a consistent format.
mod_online_services
Wraps various online services for use in modRana.
mod_messages
Handles messaging between modules.
mod_menu
Menu structure representation and drawing. Currently mostyl used by the GTK GUI.
mod_options
GTK GUI options menu structure.
mod_map_data
Batch tile download handling.