* Indentation update in DateTime.h
* Extended BTime, BDate and BDateTime with archiving functionality. * Adjusted code which uses these classes, since including DateTime.h already imports the classes from the BPrivate namespace. * Moved DateTime.h into Support Kit. It is still in the BPrivate namespace, as I am uncertain what to do with time_type and diff_type. I'd favor moving the constants into the classes itself. Possibly removing the B_ prefix from them. Feedback welcome. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35772 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,215 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2007-2010, Haiku, Inc. All Rights Reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*/
|
||||||
|
#ifndef _DATE_TIME_H_
|
||||||
|
#define _DATE_TIME_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <String.h>
|
||||||
|
|
||||||
|
|
||||||
|
class BMessage;
|
||||||
|
|
||||||
|
|
||||||
|
namespace BPrivate {
|
||||||
|
|
||||||
|
|
||||||
|
enum time_type {
|
||||||
|
B_GMT_TIME,
|
||||||
|
B_LOCAL_TIME
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
enum diff_type {
|
||||||
|
B_HOURS_DIFF,
|
||||||
|
B_MINUTES_DIFF,
|
||||||
|
B_SECONDS_DIFF,
|
||||||
|
B_MILLISECONDS_DIFF,
|
||||||
|
B_MICROSECONDS_DIFF
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class BTime {
|
||||||
|
public:
|
||||||
|
BTime();
|
||||||
|
BTime(int32 hour, int32 minute, int32 second,
|
||||||
|
int32 microsecond = 0);
|
||||||
|
BTime(const BMessage* archive);
|
||||||
|
~BTime();
|
||||||
|
|
||||||
|
status_t Archive(BMessage* into) const;
|
||||||
|
|
||||||
|
bool IsValid() const;
|
||||||
|
bool IsValid(const BTime& time) const;
|
||||||
|
bool IsValid(int32 hour, int32 minute, int32 second,
|
||||||
|
int32 microsecond = 0) const;
|
||||||
|
|
||||||
|
static BTime CurrentTime(time_type type);
|
||||||
|
|
||||||
|
BTime Time() const;
|
||||||
|
bool SetTime(const BTime& time);
|
||||||
|
bool SetTime(int32 hour, int32 minute, int32 second,
|
||||||
|
int32 microsecond = 0);
|
||||||
|
|
||||||
|
void AddHours(int32 hours);
|
||||||
|
void AddMinutes(int32 minutes);
|
||||||
|
void AddSeconds(int32 seconds);
|
||||||
|
void AddMilliseconds(int32 milliseconds);
|
||||||
|
void AddMicroseconds(int32 microseconds);
|
||||||
|
|
||||||
|
int32 Hour() const;
|
||||||
|
int32 Minute() const;
|
||||||
|
int32 Second() const;
|
||||||
|
int32 Millisecond() const;
|
||||||
|
int32 Microsecond() const;
|
||||||
|
bigtime_t Difference(const BTime& time,
|
||||||
|
diff_type type) const;
|
||||||
|
|
||||||
|
bool operator!=(const BTime& time) const;
|
||||||
|
bool operator==(const BTime& time) const;
|
||||||
|
|
||||||
|
bool operator<(const BTime& time) const;
|
||||||
|
bool operator<=(const BTime& time) const;
|
||||||
|
|
||||||
|
bool operator>(const BTime& time) const;
|
||||||
|
bool operator>=(const BTime& time) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
bigtime_t _Microseconds() const;
|
||||||
|
void _AddMicroseconds(bigtime_t microseconds);
|
||||||
|
bool _SetTime(bigtime_t hour, bigtime_t minute,
|
||||||
|
bigtime_t second, bigtime_t microsecond);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bigtime_t fMicroseconds;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class BDate {
|
||||||
|
public:
|
||||||
|
BDate();
|
||||||
|
BDate(int32 year, int32 month, int32 day);
|
||||||
|
BDate(const BMessage* archive);
|
||||||
|
~BDate();
|
||||||
|
|
||||||
|
status_t Archive(BMessage* into) const;
|
||||||
|
|
||||||
|
bool IsValid() const;
|
||||||
|
bool IsValid(const BDate& date) const;
|
||||||
|
bool IsValid(int32 year, int32 month,
|
||||||
|
int32 day) const;
|
||||||
|
|
||||||
|
static BDate CurrentDate(time_type type);
|
||||||
|
|
||||||
|
BDate Date() const;
|
||||||
|
bool SetDate(const BDate& date);
|
||||||
|
|
||||||
|
bool SetDate(int32 year, int32 month, int32 day);
|
||||||
|
void GetDate(int32* year, int32* month, int32* day);
|
||||||
|
|
||||||
|
void AddDays(int32 days);
|
||||||
|
void AddYears(int32 years);
|
||||||
|
void AddMonths(int32 months);
|
||||||
|
|
||||||
|
int32 Day() const;
|
||||||
|
int32 Year() const;
|
||||||
|
int32 Month() const;
|
||||||
|
int32 Difference(const BDate& date) const;
|
||||||
|
|
||||||
|
int32 DayOfWeek() const;
|
||||||
|
int32 DayOfYear() const;
|
||||||
|
|
||||||
|
int32 WeekNumber() const;
|
||||||
|
bool IsLeapYear(int32 year) const;
|
||||||
|
|
||||||
|
int32 DaysInYear() const;
|
||||||
|
int32 DaysInMonth() const;
|
||||||
|
|
||||||
|
BString ShortDayName(int32 day) const;
|
||||||
|
BString ShortMonthName(int32 month) const;
|
||||||
|
|
||||||
|
BString LongDayName(int32 day) const;
|
||||||
|
BString LongMonthName(int32 month) const;
|
||||||
|
|
||||||
|
int32 DateToJulianDay() const;
|
||||||
|
static BDate JulianDayToDate(int32 julianDay);
|
||||||
|
|
||||||
|
bool operator!=(const BDate& date) const;
|
||||||
|
bool operator==(const BDate& date) const;
|
||||||
|
|
||||||
|
bool operator<(const BDate& date) const;
|
||||||
|
bool operator<=(const BDate& date) const;
|
||||||
|
|
||||||
|
bool operator>(const BDate& date) const;
|
||||||
|
bool operator>=(const BDate& date) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
int32 _DaysInMonth(int32 year, int32 month) const;
|
||||||
|
bool _SetDate(int32 year, int32 month, int32 day);
|
||||||
|
int32 _DateToJulianDay(int32 year, int32 month,
|
||||||
|
int32 day) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
int32 fDay;
|
||||||
|
int32 fYear;
|
||||||
|
int32 fMonth;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class BDateTime {
|
||||||
|
public:
|
||||||
|
BDateTime();
|
||||||
|
BDateTime(const BDate &date, const BTime &time);
|
||||||
|
BDateTime(const BMessage* archive);
|
||||||
|
~BDateTime();
|
||||||
|
|
||||||
|
status_t Archive(BMessage* into) const;
|
||||||
|
|
||||||
|
bool IsValid() const;
|
||||||
|
|
||||||
|
static BDateTime CurrentDateTime(time_type type);
|
||||||
|
void SetDateTime(const BDate &date, const BTime &time);
|
||||||
|
|
||||||
|
BDate Date() const;
|
||||||
|
void SetDate(const BDate &date);
|
||||||
|
|
||||||
|
BTime Time() const;
|
||||||
|
void SetTime(const BTime &time);
|
||||||
|
|
||||||
|
int32 Time_t() const;
|
||||||
|
void SetTime_t(uint32 seconds);
|
||||||
|
|
||||||
|
bool operator!=(const BDateTime& dateTime) const;
|
||||||
|
bool operator==(const BDateTime& dateTime) const;
|
||||||
|
|
||||||
|
bool operator<(const BDateTime& dateTime) const;
|
||||||
|
bool operator<=(const BDateTime& dateTime) const;
|
||||||
|
|
||||||
|
bool operator>(const BDateTime& dateTime) const;
|
||||||
|
bool operator>=(const BDateTime& dateTime) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
BDate fDate;
|
||||||
|
BTime fTime;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace BPrivate
|
||||||
|
|
||||||
|
|
||||||
|
using BPrivate::time_type;
|
||||||
|
using BPrivate::B_GMT_TIME;
|
||||||
|
using BPrivate::B_LOCAL_TIME;
|
||||||
|
using BPrivate::diff_type;
|
||||||
|
using BPrivate::B_HOURS_DIFF;
|
||||||
|
using BPrivate::B_MINUTES_DIFF;
|
||||||
|
using BPrivate::B_SECONDS_DIFF;
|
||||||
|
using BPrivate::B_MILLISECONDS_DIFF;
|
||||||
|
using BPrivate::B_MICROSECONDS_DIFF;
|
||||||
|
using BPrivate::BTime;
|
||||||
|
using BPrivate::BDate;
|
||||||
|
using BPrivate::BDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
#endif // _DATE_TIME_H_
|
||||||
@@ -1,186 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2007-2009, Haiku, Inc. All Rights Reserved.
|
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
*/
|
|
||||||
#ifndef _DATE_TIME_H_
|
|
||||||
#define _DATE_TIME_H_
|
|
||||||
|
|
||||||
|
|
||||||
#include <String.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace BPrivate {
|
|
||||||
|
|
||||||
|
|
||||||
enum time_type {
|
|
||||||
B_GMT_TIME,
|
|
||||||
B_LOCAL_TIME
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
enum diff_type {
|
|
||||||
B_HOURS_DIFF,
|
|
||||||
B_MINUTES_DIFF,
|
|
||||||
B_SECONDS_DIFF,
|
|
||||||
B_MILLISECONDS_DIFF,
|
|
||||||
B_MICROSECONDS_DIFF
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BTime {
|
|
||||||
public:
|
|
||||||
BTime();
|
|
||||||
BTime(int32 hour, int32 minute, int32 second,
|
|
||||||
int32 microsecond = 0);
|
|
||||||
~BTime();
|
|
||||||
|
|
||||||
bool IsValid() const;
|
|
||||||
bool IsValid(const BTime& time) const;
|
|
||||||
bool IsValid(int32 hour, int32 minute, int32 second,
|
|
||||||
int32 microsecond = 0) const;
|
|
||||||
|
|
||||||
static BTime CurrentTime(time_type type);
|
|
||||||
|
|
||||||
BTime Time() const;
|
|
||||||
bool SetTime(const BTime& time);
|
|
||||||
bool SetTime(int32 hour, int32 minute, int32 second,
|
|
||||||
int32 microsecond = 0);
|
|
||||||
|
|
||||||
void AddHours(int32 hours);
|
|
||||||
void AddMinutes(int32 minutes);
|
|
||||||
void AddSeconds(int32 seconds);
|
|
||||||
void AddMilliseconds(int32 milliseconds);
|
|
||||||
void AddMicroseconds(int32 microseconds);
|
|
||||||
|
|
||||||
int32 Hour() const;
|
|
||||||
int32 Minute() const;
|
|
||||||
int32 Second() const;
|
|
||||||
int32 Millisecond() const;
|
|
||||||
int32 Microsecond() const;
|
|
||||||
bigtime_t Difference(const BTime& time, diff_type type) const;
|
|
||||||
|
|
||||||
bool operator!=(const BTime& time) const;
|
|
||||||
bool operator==(const BTime& time) const;
|
|
||||||
|
|
||||||
bool operator<(const BTime& time) const;
|
|
||||||
bool operator<=(const BTime& time) const;
|
|
||||||
|
|
||||||
bool operator>(const BTime& time) const;
|
|
||||||
bool operator>=(const BTime& time) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
bigtime_t _Microseconds() const;
|
|
||||||
void _AddMicroseconds(bigtime_t microseconds);
|
|
||||||
bool _SetTime(bigtime_t hour, bigtime_t minute, bigtime_t second,
|
|
||||||
bigtime_t microsecond);
|
|
||||||
|
|
||||||
private:
|
|
||||||
bigtime_t fMicroseconds;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BDate {
|
|
||||||
public:
|
|
||||||
BDate();
|
|
||||||
BDate(int32 year, int32 month, int32 day);
|
|
||||||
~BDate();
|
|
||||||
|
|
||||||
bool IsValid() const;
|
|
||||||
bool IsValid(const BDate& date) const;
|
|
||||||
bool IsValid(int32 year, int32 month, int32 day) const;
|
|
||||||
|
|
||||||
static BDate CurrentDate(time_type type);
|
|
||||||
|
|
||||||
BDate Date() const;
|
|
||||||
bool SetDate(const BDate& date);
|
|
||||||
|
|
||||||
bool SetDate(int32 year, int32 month, int32 day);
|
|
||||||
void GetDate(int32* year, int32* month, int32* day);
|
|
||||||
|
|
||||||
void AddDays(int32 days);
|
|
||||||
void AddYears(int32 years);
|
|
||||||
void AddMonths(int32 months);
|
|
||||||
|
|
||||||
int32 Day() const;
|
|
||||||
int32 Year() const;
|
|
||||||
int32 Month() const;
|
|
||||||
int32 Difference(const BDate& date) const;
|
|
||||||
|
|
||||||
int32 DayOfWeek() const;
|
|
||||||
int32 DayOfYear() const;
|
|
||||||
|
|
||||||
int32 WeekNumber() const;
|
|
||||||
bool IsLeapYear(int32 year) const;
|
|
||||||
|
|
||||||
int32 DaysInYear() const;
|
|
||||||
int32 DaysInMonth() const;
|
|
||||||
|
|
||||||
BString ShortDayName(int32 day) const;
|
|
||||||
BString ShortMonthName(int32 month) const;
|
|
||||||
|
|
||||||
BString LongDayName(int32 day) const;
|
|
||||||
BString LongMonthName(int32 month) const;
|
|
||||||
|
|
||||||
int32 DateToJulianDay() const;
|
|
||||||
static BDate JulianDayToDate(int32 julianDay);
|
|
||||||
|
|
||||||
bool operator!=(const BDate& date) const;
|
|
||||||
bool operator==(const BDate& date) const;
|
|
||||||
|
|
||||||
bool operator<(const BDate& date) const;
|
|
||||||
bool operator<=(const BDate& date) const;
|
|
||||||
|
|
||||||
bool operator>(const BDate& date) const;
|
|
||||||
bool operator>=(const BDate& date) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
int32 _DaysInMonth(int32 year, int32 month) const;
|
|
||||||
bool _SetDate(int32 year, int32 month, int32 day);
|
|
||||||
int32 _DateToJulianDay(int32 year, int32 month, int32 day) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
int32 fDay;
|
|
||||||
int32 fYear;
|
|
||||||
int32 fMonth;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BDateTime {
|
|
||||||
public:
|
|
||||||
BDateTime();
|
|
||||||
BDateTime(const BDate &date, const BTime &time);
|
|
||||||
~BDateTime();
|
|
||||||
|
|
||||||
bool IsValid() const;
|
|
||||||
|
|
||||||
static BDateTime CurrentDateTime(time_type type);
|
|
||||||
void SetDateTime(const BDate &date, const BTime &time);
|
|
||||||
|
|
||||||
BDate Date() const;
|
|
||||||
void SetDate(const BDate &date);
|
|
||||||
|
|
||||||
BTime Time() const;
|
|
||||||
void SetTime(const BTime &time);
|
|
||||||
|
|
||||||
int32 Time_t() const;
|
|
||||||
void SetTime_t(uint32 seconds);
|
|
||||||
|
|
||||||
bool operator!=(const BDateTime& dateTime) const;
|
|
||||||
bool operator==(const BDateTime& dateTime) const;
|
|
||||||
|
|
||||||
bool operator<(const BDateTime& dateTime) const;
|
|
||||||
bool operator<=(const BDateTime& dateTime) const;
|
|
||||||
|
|
||||||
bool operator>(const BDateTime& dateTime) const;
|
|
||||||
bool operator>=(const BDateTime& dateTime) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
BDate fDate;
|
|
||||||
BTime fTime;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace BPrivate
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _DATE_TIME_H_
|
|
||||||
@@ -274,8 +274,8 @@ FlurryView::_SetupFlurryBaseInfo()
|
|||||||
double
|
double
|
||||||
FlurryView::_CurrentTime() const
|
FlurryView::_CurrentTime() const
|
||||||
{
|
{
|
||||||
return double(fDateTime.CurrentDateTime(B_LOCAL_TIME).Time_t() +
|
return double(BDateTime::CurrentDateTime(B_LOCAL_TIME).Time_t() +
|
||||||
double(fTime.CurrentTime(B_LOCAL_TIME).Millisecond() / 1000.0));
|
double(BTime::CurrentTime(B_LOCAL_TIME).Millisecond() / 1000.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ private:
|
|||||||
double fOldFrameTime;
|
double fOldFrameTime;
|
||||||
flurry_info_t* fFlurryInfo_t;
|
flurry_info_t* fFlurryInfo_t;
|
||||||
|
|
||||||
BPrivate::BTime fTime;
|
BTime fTime;
|
||||||
BPrivate::BDateTime fDateTime;
|
BDateTime fDateTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
SubDir HAIKU_TOP src add-ons screen_savers flurry ;
|
SubDir HAIKU_TOP src add-ons screen_savers flurry ;
|
||||||
|
|
||||||
UsePrivateHeaders shared ;
|
|
||||||
|
|
||||||
ScreenSaver Flurry :
|
ScreenSaver Flurry :
|
||||||
Flurry.cpp
|
Flurry.cpp
|
||||||
Smoke.cpp
|
Smoke.cpp
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
|
|
||||||
using BPrivate::BCalendarView;
|
using BPrivate::BCalendarView;
|
||||||
using BPrivate::B_LOCAL_TIME;
|
|
||||||
using BPrivate::B_WEEK_START_SUNDAY;
|
using BPrivate::B_WEEK_START_SUNDAY;
|
||||||
using BPrivate::B_WEEK_START_MONDAY;
|
using BPrivate::B_WEEK_START_MONDAY;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ namespace BPrivate {
|
|||||||
class BCalendarView;
|
class BCalendarView;
|
||||||
}
|
}
|
||||||
using BPrivate::BCalendarView;
|
using BPrivate::BCalendarView;
|
||||||
using BPrivate::BDate;
|
|
||||||
|
|
||||||
|
|
||||||
class CalendarMenuWindow : public BWindow {
|
class CalendarMenuWindow : public BWindow {
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ StaticLibrary libshared.a :
|
|||||||
CalendarView.cpp
|
CalendarView.cpp
|
||||||
ColorQuantizer.cpp
|
ColorQuantizer.cpp
|
||||||
CommandPipe.cpp
|
CommandPipe.cpp
|
||||||
DateTime.cpp
|
|
||||||
DragTrackingFilter.cpp
|
DragTrackingFilter.cpp
|
||||||
HashString.cpp
|
HashString.cpp
|
||||||
RWLockManager.cpp
|
RWLockManager.cpp
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2007-2009, Haiku, Inc. All Rights Reserved.
|
* Copyright 2007-2010, Haiku, Inc. All Rights Reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
@@ -7,12 +7,14 @@
|
|||||||
* Stephan Aßmus <superstippi@gmx.de>
|
* Stephan Aßmus <superstippi@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <DateTime.h>
|
#include "DateTime.h"
|
||||||
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#include <Message.h>
|
||||||
|
|
||||||
|
|
||||||
namespace BPrivate {
|
namespace BPrivate {
|
||||||
|
|
||||||
@@ -55,6 +57,18 @@ BTime::BTime(int32 hour, int32 minute, int32 second, int32 microsecond)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Constructs a new BTime object from the provided BMessage archive.
|
||||||
|
*/
|
||||||
|
BTime::BTime(const BMessage* archive)
|
||||||
|
: fMicroseconds(-1)
|
||||||
|
{
|
||||||
|
if (archive == NULL)
|
||||||
|
return;
|
||||||
|
archive->FindInt64("mircoseconds", &fMicroseconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Empty destructor.
|
Empty destructor.
|
||||||
*/
|
*/
|
||||||
@@ -63,6 +77,22 @@ BTime::~BTime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Archives the BTime object into the provided BMessage object.
|
||||||
|
@returns \c B_OK if all went well.
|
||||||
|
\c B_BAD_VALUE, if the message is \c NULL.
|
||||||
|
\c other error codes, depending on failure to append
|
||||||
|
fields to the message.
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BTime::Archive(BMessage* into) const
|
||||||
|
{
|
||||||
|
if (into == NULL)
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
return into->AddInt64("mircoseconds", fMicroseconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns true if the time is valid, otherwise false. A valid time can be
|
Returns true if the time is valid, otherwise false. A valid time can be
|
||||||
BTime(23, 59, 59, 999999) while BTime(24, 00, 01) would be invalid.
|
BTime(23, 59, 59, 999999) while BTime(24, 00, 01) would be invalid.
|
||||||
@@ -424,6 +454,22 @@ BDate::BDate(int32 year, int32 month, int32 day)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Constructs a new BDate object from the provided archive.
|
||||||
|
*/
|
||||||
|
BDate::BDate(const BMessage* archive)
|
||||||
|
: fDay(-1),
|
||||||
|
fYear(0),
|
||||||
|
fMonth(-1)
|
||||||
|
{
|
||||||
|
if (archive == NULL)
|
||||||
|
return;
|
||||||
|
archive->FindInt32("day", &fDay);
|
||||||
|
archive->FindInt32("year", &fYear);
|
||||||
|
archive->FindInt32("month", &fMonth);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Empty destructor.
|
Empty destructor.
|
||||||
*/
|
*/
|
||||||
@@ -432,6 +478,27 @@ BDate::~BDate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Archives the BDate object into the provided BMessage object.
|
||||||
|
@returns \c B_OK if all went well.
|
||||||
|
\c B_BAD_VALUE, if the message is \c NULL.
|
||||||
|
\c other error codes, depending on failure to append
|
||||||
|
fields to the message.
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BDate::Archive(BMessage* into) const
|
||||||
|
{
|
||||||
|
if (into == NULL)
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
status_t ret = into->AddInt32("day", fDay);
|
||||||
|
if (ret == B_OK)
|
||||||
|
ret = into->AddInt32("year", fYear);
|
||||||
|
if (ret == B_OK)
|
||||||
|
ret = into->AddInt32("month", fMonth);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns true if the date is valid, otherwise false.
|
Returns true if the date is valid, otherwise false.
|
||||||
|
|
||||||
@@ -1064,8 +1131,8 @@ BDate::_DateToJulianDay(int32 _year, int32 month, int32 day) const
|
|||||||
Constructs a new BDateTime object. IsValid() will return false.
|
Constructs a new BDateTime object. IsValid() will return false.
|
||||||
*/
|
*/
|
||||||
BDateTime::BDateTime()
|
BDateTime::BDateTime()
|
||||||
: fDate(BDate()),
|
: fDate(),
|
||||||
fTime(BTime())
|
fTime()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1081,6 +1148,16 @@ BDateTime::BDateTime(const BDate& date, const BTime& time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Constructs a new BDateTime object. IsValid() will return false.
|
||||||
|
*/
|
||||||
|
BDateTime::BDateTime(const BMessage* archive)
|
||||||
|
: fDate(archive),
|
||||||
|
fTime(archive)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Empty destructor.
|
Empty destructor.
|
||||||
*/
|
*/
|
||||||
@@ -1089,6 +1166,23 @@ BDateTime::~BDateTime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Archives the BDateTime object into the provided BMessage object.
|
||||||
|
@returns \c B_OK if all went well.
|
||||||
|
\c B_BAD_VALUE, if the message is \c NULL.
|
||||||
|
\c other error codes, depending on failure to append
|
||||||
|
fields to the message.
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BDateTime::Archive(BMessage* into) const
|
||||||
|
{
|
||||||
|
status_t ret = fDate.Archive(into);
|
||||||
|
if (ret == B_OK)
|
||||||
|
ret = fTime.Archive(into);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns true if the date time is valid, otherwise false.
|
Returns true if the date time is valid, otherwise false.
|
||||||
*/
|
*/
|
||||||
@@ -10,6 +10,7 @@ MergeObject <libbe>support_kit.o :
|
|||||||
BlockCache.cpp
|
BlockCache.cpp
|
||||||
ByteOrder.cpp
|
ByteOrder.cpp
|
||||||
DataIO.cpp
|
DataIO.cpp
|
||||||
|
DateTime.cpp
|
||||||
BufferIO.cpp
|
BufferIO.cpp
|
||||||
Flattenable.cpp
|
Flattenable.cpp
|
||||||
List.cpp
|
List.cpp
|
||||||
|
|||||||
@@ -15,12 +15,6 @@
|
|||||||
#include <OS.h>
|
#include <OS.h>
|
||||||
|
|
||||||
|
|
||||||
using BPrivate::BDate;
|
|
||||||
using BPrivate::BTime;
|
|
||||||
using BPrivate::BDateTime;
|
|
||||||
using BPrivate::B_LOCAL_TIME;
|
|
||||||
|
|
||||||
|
|
||||||
TTimeBaseView::TTimeBaseView(BRect frame, const char *name)
|
TTimeBaseView::TTimeBaseView(BRect frame, const char *name)
|
||||||
: BView(frame, name, B_FOLLOW_NONE, B_PULSE_NEEDED),
|
: BView(frame, name, B_FOLLOW_NONE, B_PULSE_NEEDED),
|
||||||
fMessage(H_TIME_UPDATE)
|
fMessage(H_TIME_UPDATE)
|
||||||
|
|||||||
@@ -18,10 +18,6 @@
|
|||||||
#include <DateTime.h>
|
#include <DateTime.h>
|
||||||
|
|
||||||
|
|
||||||
using BPrivate::BDate;
|
|
||||||
using BPrivate::BTime;
|
|
||||||
|
|
||||||
|
|
||||||
class TTimeEdit : public TSectionEdit {
|
class TTimeEdit : public TSectionEdit {
|
||||||
public:
|
public:
|
||||||
TTimeEdit(BRect frame, const char *name, uint32 sections);
|
TTimeEdit(BRect frame, const char *name, uint32 sections);
|
||||||
|
|||||||
Reference in New Issue
Block a user