diff options
author | Praveen Arimbrathodiyil <pravi.a@gmail.com> | 2008-12-28 00:21:13 -0800 |
---|---|---|
committer | Praveen Arimbrathodiyil <pravi.a@gmail.com> | 2008-12-28 00:21:13 -0800 |
commit | e8021bc59b06e8924205530cef77a7c7d13f4fdc (patch) | |
tree | bfb8b7495144afe14dba2708ae1c182aeb31692a /calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h | |
parent | 6aae3f22ce4e7ed3e901cf350cf4663b03ed2824 (diff) | |
download | Rachana.git-e8021bc59b06e8924205530cef77a7c7d13f4fdc.tar.gz Rachana.git-e8021bc59b06e8924205530cef77a7c7d13f4fdc.tar.xz Rachana.git-e8021bc59b06e8924205530cef77a7c7d13f4fdc.zip |
added all files needed to build saka kalendar in kde trunk
Diffstat (limited to 'calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h')
-rw-r--r-- | calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h b/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h new file mode 100644 index 0000000..510d6c5 --- /dev/null +++ b/calendar/kde/kdelibs/kdecore/date/kcalendarsystemindic.h @@ -0,0 +1,117 @@ +/* + Copyright (c) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KCALENDARSYSTEMINDIC_H +#define KCALENDARSYSTEMINDIC_H + +#include "kcalendarsystem.h" + +class KCalendarSystemIndicPrivate; + +/** + * @internal + * This is the Indic calendar implementation. + * + * The Indic calendar is the traditional Islamic calendar used in the Middle + * East. + * + * @b license GNU-LGPL v2+ + * + * @see KLocale,KCalendarSystem + * + * @author Carlos Moro <cfmoro@correo.uniovi.es> + */ +class KDECORE_EXPORT KCalendarSystemIndic : public KCalendarSystem +{ +public: + explicit KCalendarSystemIndic( const KLocale *locale = 0 ); + virtual ~KCalendarSystemIndic(); + + virtual QString calendarType() const; + + virtual QDate epoch() const; + virtual QDate earliestValidDate() const; + virtual QDate latestValidDate() const; + virtual bool isValid( int year, int month, int day ) const; + virtual bool isValid( const QDate &date ) const; + + virtual bool setDate( QDate &date, int year, int month, int day ) const; + /** @deprecated */ + virtual bool setYMD( QDate &date, int year, int month, int day ) const; + + virtual int year( const QDate &date ) const; + virtual int month( const QDate &date ) const; + virtual int day( const QDate &date ) const; + + virtual QDate addYears( const QDate &date, int nyears ) const; + virtual QDate addMonths( const QDate &date, int nmonths ) const; + virtual QDate addDays( const QDate &date, int ndays ) const; + + virtual int monthsInYear( const QDate &date ) const; + virtual int weeksInYear( const QDate &date ) const; + virtual int weeksInYear( int year ) const; + virtual int daysInYear( const QDate &date ) const; + virtual int daysInMonth( const QDate &date ) const; + virtual int daysInWeek( const QDate &date ) const; + + virtual int dayOfYear( const QDate &date ) const; + virtual int dayOfWeek( const QDate &date ) const; + + virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const; + + virtual bool isLeapYear( int year ) const; + virtual bool isLeapYear( const QDate &date ) const; + + virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const; + virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const; + + virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const; + virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const; + + virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const; + virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const; + virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const; + + virtual int yearStringToInteger( const QString &sNum, int &iLength ) const; + virtual int monthStringToInteger( const QString &sNum, int &iLength ) const; + virtual int dayStringToInteger( const QString &sNum, int &iLength ) const; + + virtual QString formatDate( const QDate &date, KLocale::DateFormat format = KLocale::LongDate ) const; + + virtual QDate readDate( const QString &str, bool *ok = 0 ) const; + virtual QDate readDate( const QString &intstr, const QString &fmt, bool *ok = 0 ) const; + virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const; + + virtual int weekStartDay() const; + virtual int weekDayOfPray () const; + + virtual bool isLunar() const; + virtual bool isLunisolar() const; + virtual bool isSolar() const; + virtual bool isProleptic() const; + +protected: + virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const; + virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const; + +private: + KCalendarSystemIndicPrivate * const d; +}; + +#endif // KCALENDARSYSTEMINDIC_H |