-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLCDClock.cpp
87 lines (61 loc) · 1.91 KB
/
LCDClock.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/////////////////////////////////////////////////////////////////////////////
// Name: LCDClock.cpp
// Purpose: wxIndustrialControls Library
// Author: Marco Cavallini <m.cavallini AT koansoftware.com>
// Modified by:
// Copyright: (C)2004-2006 Copyright by Koan s.a.s. - www.koansoftware.com
// Licence: KWIC License http://www.koansoftware.com/kwic/kwic-license.htm
/////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
//#include "kprec.h" //#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include <wx/event.h>
#include "LCDClock.h"
#include "LCDWindow.h"
#include "TimeAlarm.h"
BEGIN_EVENT_TABLE(kwxLCDClock,kwxLCDDisplay)
EVT_TIMER(TIMER_TIME, kwxLCDClock::OnTimer)
END_EVENT_TABLE()
kwxLCDClock::kwxLCDClock(wxWindow *parent,
const wxPoint& pos ,
const wxSize& size )
:kwxLCDDisplay(parent, pos, size)
{
time_t reset = 0 ;
m_LastCheck.Set(reset) ;
wxDateTime now = wxDateTime::Now();
alarm = new CTimeAlarm();
alarm->SetAlarmTime(now) ;
}
kwxLCDClock::~kwxLCDClock()
{
if (m_timer.IsRunning())
m_timer.Stop() ;
delete alarm ;
}
void kwxLCDClock::OnTimer(wxTimerEvent &WXUNUSED(event))
{
wxDateTime now = wxDateTime::Now();
double jDate ;
if (!now.IsEqualTo(m_LastCheck))
{
jDate = now.GetModifiedJulianDayNumber();
SetValue(now.FormatISOTime()) ; //(HH:MM:SS)
// SetValue(DateTime.FormatISODate()) ; //(YYYY-MM-DD)
// SetValue(DateTime.Format("%d-%m-%Y") ); //(DD-MM-YYYY) ;
m_LastCheck = now ;
}
}
void kwxLCDClock::StartClock()
{
m_timer.SetOwner(this, TIMER_TIME) ;
m_timer.Start(500, wxTIMER_CONTINUOUS) ;
}
void kwxLCDClock::StopClock()
{
m_timer.Stop() ;
}