packages feed

keera-posture-0.1.3: src/Controller/Conditions.hs

-- | This module contains a series of conditions that must hold between
-- the view and the model. Most of these conditions can be separated in
-- two conditions: one that must be checked only when the model changes
-- (and updates the view accordingly), and another that must be checked
-- when the view receives an event (and updates the model accordingly).

module Controller.Conditions where

-- Internal libraries
import CombinedEnvironment

-- Internal libraries: specific conditions
import qualified Controller.Conditions.Config                         as Config
import qualified Controller.Conditions.LanguageConfig                 as Language
import qualified Controller.Conditions.Detector                       as Detector
import qualified Controller.Conditions.PreferencesLanguageCombo       as PreferencesLanguage
import qualified Controller.Conditions.MenuEnabled                    as MenuEnabled
import qualified Controller.Conditions.MenuEnabledClick               as MenuEnabledClick
import qualified Controller.Conditions.NotificationMenu               as NotificationMenu
-- import qualified Controller.Conditions.PreferencesDetectionMethods    as PreferencesDetectionMethods
import qualified Controller.Conditions.PreferencesDialog              as PreferencesDialog
import qualified Controller.Conditions.PreferencesDialogDestroy       as PreferencesDialogDestroy
import qualified Controller.Conditions.PreferencesDetectionCorrection as Correction
import qualified Controller.Conditions.PreferencesDetectionDelay      as Delay
import qualified Controller.Conditions.PreferencesDetectionCamera     as Camera
import qualified Controller.Conditions.PreferencesSoundCustomise      as PreferencesSound
import qualified Controller.Conditions.PopupMenu                      as PopupMenu
import qualified Controller.Conditions.Quit                           as Quit
import qualified Controller.Conditions.PreferencesUplink              as PreferencesUplink
import qualified Controller.Conditions.Calibrate                      as Calibrate
import qualified Controller.Conditions.Precalibration                      as Precalibration
import qualified Controller.Conditions.Postcalibration                      as Postcalibration
import qualified Controller.Conditions.NotifySound                    as Sound
import qualified Controller.Conditions.NotifyWindow                   as Window
import qualified Controller.Conditions.UpdateCheck                    as UpdateCheck
import qualified Controller.Conditions.Status                         as Status
import qualified Controller.Conditions.Website                        as Website
import qualified Controller.Conditions.Help                           as Help
import qualified Controller.Conditions.Welcome                        as Welcome

installHandlers :: CEnv -> IO()
installHandlers cenv = do
  Config.installHandlers                      cenv
  Language.installHandlers                    cenv
  Status.installHandlers                      cenv
  Detector.installHandlers                    cenv
  PreferencesLanguage.installHandlers         cenv
  MenuEnabled.installHandlers                 cenv
  MenuEnabledClick.installHandlers            cenv
  NotificationMenu.installHandlers            cenv
  -- PreferencesDetectionMethods.installHandlers cenv
  PreferencesDialog.installHandlers           cenv
  PreferencesDialogDestroy.installHandlers    cenv
  Correction.installHandlers                  cenv
  Delay.installHandlers                       cenv
  Camera.installHandlers                      cenv
  PreferencesSound.installHandlers            cenv
  PreferencesUplink.installHandlers           cenv
  PopupMenu.installHandlers                   cenv
  Quit.installHandlers                        cenv
  Calibrate.installHandlers                   cenv
  Precalibration.installHandlers              cenv
  Postcalibration.installHandlers             cenv
  Sound.installHandlers                       cenv
  Window.installHandlers                      cenv
  UpdateCheck.installHandlers                 cenv
  Website.installHandlers                     cenv
  Help.installHandlers                        cenv
  Welcome.installHandlers                     cenv