makerplane / pyEfis

Electronic Flight Information System in Python
GNU General Public License v2.0
58 stars 31 forks source link

HMI Package Addition #62

Closed birkelbach closed 5 years ago

birkelbach commented 5 years ago

The 'hmi' package (Human Machine Interface) is an abstraction for most of the user interaction into the system. The menu is moved into the hmi package and and 'actions' module is added. An action is a pyqtSignal or a function that could be generated from some user event. The user events can be triggered by data from the FIX database, keystrokes or menu items. Any part of the system can 'trigger' an action and any part of the system can 'connect' to an action. The actions are identified by strings that can be used in configuration files and compared and checked at configuration time so that errors can be caught early in the startup of the program.