KDECore
kcalendarsystemhebrew.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KCALENDARSYSTEMHEBREW_H
00025 #define KCALENDARSYSTEMHEBREW_H
00026
00027 #include "kcalendarsystem.h"
00028
00029 class KCalendarSystemHebrewPrivate;
00030
00041 class KDECORE_EXPORT KCalendarSystemHebrew : public KCalendarSystem
00042 {
00043 public:
00044 explicit KCalendarSystemHebrew( const KLocale * locale = 0 );
00045 virtual ~KCalendarSystemHebrew();
00046
00047 virtual QString calendarType() const;
00048
00049 virtual QDate epoch() const;
00050 virtual QDate earliestValidDate() const;
00051 virtual QDate latestValidDate() const;
00052 virtual bool isValid( int year, int month, int day ) const;
00053 virtual bool isValid( const QDate &date ) const;
00054
00055 virtual bool setDate( QDate &date, int year, int month, int day ) const;
00057 virtual bool setYMD( QDate &date, int year, int month, int day ) const;
00058
00059 virtual int year( const QDate &date ) const;
00060 virtual int month( const QDate &date ) const;
00061 virtual int day( const QDate &date ) const;
00062
00063 virtual QDate addYears( const QDate &date, int nyears ) const;
00064 virtual QDate addMonths( const QDate &date, int nmonths ) const;
00065 virtual QDate addDays( const QDate &date, int ndays ) const;
00066
00067 virtual int monthsInYear( const QDate &date ) const;
00068 virtual int weeksInYear( const QDate &date ) const;
00069 virtual int weeksInYear( int year ) const;
00070 virtual int daysInYear( const QDate &date ) const;
00071 virtual int daysInMonth( const QDate &date ) const;
00072 virtual int daysInWeek( const QDate &date ) const;
00073
00074 virtual int dayOfYear( const QDate &date ) const;
00075 virtual int dayOfWeek( const QDate &date ) const;
00076
00077 virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
00078
00079 virtual bool isLeapYear( int year ) const;
00080 virtual bool isLeapYear( const QDate &date ) const;
00081
00082 virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
00083 virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
00084
00085 virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
00086 virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
00087
00088 virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
00089 virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
00090 virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
00091
00092 virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
00093 virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
00094 virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
00095
00096 virtual QString formatDate( const QDate &date, KLocale::DateFormat format = KLocale::LongDate ) const;
00097
00098 virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
00099 virtual QDate readDate( const QString &intstr, const QString &fmt, bool *ok = 0 ) const;
00100 virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
00101
00102 virtual int weekStartDay() const;
00103 virtual int weekDayOfPray () const;
00104
00105 virtual bool isLunar() const;
00106 virtual bool isLunisolar() const;
00107 virtual bool isSolar() const;
00108 virtual bool isProleptic() const;
00109
00110 protected:
00111 virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
00112 virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
00113
00114 private:
00115 KCalendarSystemHebrewPrivate * const d;
00116 };
00117
00118 #endif // KCALENDARSYSTEMHEBREW_H