1/*
2 * Copyright 2004-2011, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Andrew McCall <mccall@@digitalparadise.co.uk>
7 *		Mike Berg <mike@berg-net.us>
8 *		Julun <host.haiku@gmx.de>
9 *		Philippe Saint-Pierre <stpere@gmail.com>
10 *		Hamish Morrison <hamish@lavabit.com>
11 */
12#ifndef _DATE_TIME_VIEW_H
13#define _DATE_TIME_VIEW_H
14
15
16#include <LayoutBuilder.h>
17
18
19class TDateEdit;
20class TTimeEdit;
21class TAnalogClock;
22
23
24namespace BPrivate {
25	class BCalendarView;
26}
27using BPrivate::BCalendarView;
28
29
30class DateTimeView : public BGroupView {
31public:
32								DateTimeView(const char* name);
33	virtual 					~DateTimeView();
34
35	virtual	void			 	AttachedToWindow();
36	virtual	void 				MessageReceived(BMessage* message);
37
38			bool				CheckCanRevert();
39
40private:
41			void 				_InitView();
42			void 				_UpdateDateTime(BMessage* message);
43			void				_Revert();
44			time_t				_PrefletUptime() const;
45
46			TDateEdit*			fDateEdit;
47			TTimeEdit*			fTimeEdit;
48			BCalendarView*		fCalendarView;
49			TAnalogClock*		fClock;
50
51			bool				fInitialized;
52
53			time_t				fTimeAtStart;
54			bigtime_t			fSystemTimeAtStart;
55};
56
57
58#endif	// _DATE_TIME_VIEW_H
59