Exemplo n.º 1
0
 /// <summary>
 /// Constructor: initializes snoozeUntilTime to harmless value
 /// </summary>
 public AlarmController()
 {
     this.alarmList       = new List <Alarm>();
     this.audioController = AbstractAudioController.GetController();
     this.guiController   = AbstractGuiController.GetController();
     this.snoozeUntilTime = TimeFetcher.getCurrentTime();
 }
Exemplo n.º 2
0
        /// <summary>
        /// Called when the timezone offset changes
        /// </summary>
        /// <param name="offset"></param>
        public void TimeZoneOffsetChanged(double offset)
        {
            double localOffset = GetLocalTimeZoneOffset();

            AbstractGuiController.GetController().SetActiveTimeZoneForDisplay(offset + localOffset);
            TimeFetcher.setOffset(offset);
        }
Exemplo n.º 3
0
        public void AlarmRequested(int hour, int minute, bool repeat, string audioFile, bool weekly, List <DayOfWeek> days, string AlarmName)
        {
            Alarm newAlarm = new Alarm(hour, minute, repeat, audioFile, weekly, days, AlarmName);

            AbstractGuiController.GetController().AddAlarm(newAlarm);
            alarmList.Add(newAlarm);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Assigns the platform dependent controllers at runtime
 /// </summary>
 private void AssignPlatformControllers()
 {
     AbstractAudioController.SetController(new AudioController());
     AbstractGuiController.SetController(new GuiController());
     AbstractDataDriver.addType(typeof(List <Alarm>));
     AbstractDataDriver.addType(typeof(Alarm));
     AbstractDataDriver.addType(typeof(Audio.Audio));
     AbstractDataDriver.Instance = new DataDriver();
 }
Exemplo n.º 5
0
 /// <summary>
 /// Called when the main window is shutting down
 /// </summary>
 public void MainWindowShutdown()
 {
     foreach (Alarm alarm in alarmList)
     {
         if (alarm.IsRinging)
         {
             AlarmDismissed(false);
             break;
         }
     }
     Teardown();
     if (alarmList.Count == 0)
     {
         AbstractGuiController.GetController().Shutdown();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Builds controller objects and starts th e app
        /// </summary>
        public App()
        {
            AbstractGuiController.SetController(new GuiController());
            TimePulseGenerator.Instance = new TimePulseGenerator(new SengDispatcherTimer());
            AbstractAudioController.SetController(new AudioController());

            this.Startup            += this.Application_Startup;
            this.Exit               += this.Application_Exit;
            this.UnhandledException += this.Application_UnhandledException;

            InitializeComponent();


            TimeController tc = new TimeController();

            GuiEventCaller.GetCaller().AddListener(tc);
            TimePulseGenerator.Instance.registerListener(tc);

            AlarmController ac = new AlarmController();

            GuiEventCaller.GetCaller().AddListener(ac);
            TimePulseGenerator.Instance.registerListener(ac);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Setup default timezone
        /// </summary>
        public void Setup()
        {
            double localOffset = GetLocalTimeZoneOffset();

            AbstractGuiController.GetController().SetActiveTimeZoneForDisplay(localOffset);
        }
Exemplo n.º 8
0
 /// <summary>
 /// Called whenever a time pulse occurs
 /// </summary>
 /// <param name="currentTime"></param>
 public void TimePulse(DateTime currentTime)
 {
     AbstractGuiController.GetController().SetTime(currentTime);
 }
Exemplo n.º 9
0
 public void AlarmEdited(Alarm alarm, string name, int hour, int minute, bool repeat, string audioFile, bool weekly, List <DayOfWeek> days)
 {
     alarm.EditAlarm(name, hour, minute, repeat, audioFile, weekly, days);
     //reflect the changes in the gui
     AbstractGuiController.GetController().EditAlarm(alarm);
 }