kcalendarsystemjalali.h
00001 #ifndef KCALENDARSYSTEMJALALI_H 00002 #define KCALENDARSYSTEMJALALI_H 00003 00004 00005 /* 00006 Copyright (C) 2002-2003 Arash Bijanzadeh and FarsiKDE Project <www.farsikde.org> 00007 Contact: Arash Bijanzadeh <a.bijanzadeh@linuxiran.org> 00008 00009 This program is part of FarsiKDE 00010 00011 FarsiKDE is free software; you can redistribute it and/or 00012 modify it under the terms of the GNU Library General Public 00013 License as published by the Free Software Foundation; either 00014 version 2 of the License, or (at your option) any later version. 00015 00016 FarsiKDE is distributed in the hope that it will be useful, 00017 but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 Library General Public License for more details. 00020 00021 You should have received a copy of the GNU Library General Public License 00022 along with this library; see the file COPYING.LIB. If not, write to 00023 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00024 Boston, MA 02110-1301, USA. 00025 */ 00026 00027 #include <qdatetime.h> 00028 #include <qstring.h> 00029 00030 #include "kcalendarsystem.h" 00031 00032 class KCalendarSystemJalaliPrivate; 00036 class KDECORE_EXPORT KCalendarSystemJalali : public KCalendarSystem 00037 { 00038 public: 00040 KCalendarSystemJalali(const KLocale * locale = 0); 00041 virtual ~KCalendarSystemJalali(); 00042 00043 00044 00045 virtual int year (const QDate & date) const; 00046 virtual int month (const QDate & date) const; 00047 virtual int day (const QDate & date) const; 00048 virtual int dayOfWeek (const QDate & date) const; 00049 virtual int dayOfYear (const QDate & date) const; 00050 00051 virtual bool setYMD(QDate & date, int y, int m, int d) const; 00052 00053 virtual QDate addYears(const QDate & date, int nyears) const; 00054 virtual QDate addMonths(const QDate & date, int nmonths) const; 00055 virtual QDate addDays(const QDate & date, int ndays) const; 00056 00057 virtual int monthsInYear (const QDate & date) const; 00058 00059 virtual int daysInYear (const QDate & date) const; 00060 virtual int daysInMonth (const QDate & date) const; 00061 virtual int weeksInYear(int year) const; 00062 virtual int weekNumber(const QDate& date, int * yearNum = 0) const; 00063 00064 virtual QString monthName (const QDate & date, bool shortName = false ) const; 00065 virtual QString monthNamePossessive(const QDate & date, bool shortName = false ) const; 00066 virtual QString weekDayName (int weekDay, bool shortName = false) const; 00067 virtual QString weekDayName (const QDate & date, bool shortName = false) const; 00068 virtual QString monthNamePossessive(int month, int year, bool shortName = false) const; 00069 virtual QString monthName(int month, int year, bool shortName = false) const; 00070 00071 virtual int minValidYear () const; 00072 virtual int maxValidYear () const; 00073 virtual int weekDayOfPray () const; 00074 00075 virtual QString calendarName() const; 00076 00077 virtual bool isLunar() const; 00078 virtual bool isLunisolar() const; 00079 virtual bool isSolar() const; 00080 00081 }; 00082 00083 #endif