4#ifndef QCALENDAR_BACKEND_P_H
5#define QCALENDAR_BACKEND_P_H
18#include <QtCore/qobjectdefs.h>
19#include <QtCore/qcalendar.h>
20#include <QtCore/qstringlist.h>
21#include <QtCore/qstring.h>
22#include <QtCore/qmap.h>
23#include <QtCore/qanystringview.h>
24#include <QtCore/private/qlocale_p.h>
29class QCalendarRegistry;
37#define rangeGetter(name) \
38 QLocaleData::DataRange name() const { return { m_ ## name ## _idx, m_ ## name ## _size }; }
73 virtual int daysInYear(
int year)
const;
74 virtual int monthsInYear(
int year)
const;
75 virtual bool isDateValid(
int year,
int month,
int day)
const;
81 virtual bool isProleptic()
const;
82 virtual bool hasYearZero()
const;
83 virtual int maximumDaysInMonth()
const;
84 virtual int minimumDaysInMonth()
const;
85 virtual int maximumMonthsInYear()
const;
90 virtual int dayOfWeek(
qint64 jd)
const;
93 virtual QString monthName(
const QLocale &locale,
int month,
int year,
95 virtual QString standaloneMonthName(
const QLocale &locale,
int month,
int year,
99 virtual QString standaloneWeekDayName(
const QLocale &locale,
int day,
107 bool isGregorian()
const;
The QCalendarBackend class provides basic calendaring functions.
virtual int daysInMonth(int month, int year=QCalendar::Unspecified) const =0
Returns number of days in the month number month, in year year.
virtual const char16_t * localeMonthData() const =0
virtual bool isSolar() const =0
Returns true if this calendar is a solar calendar.
virtual bool isLuniSolar() const =0
Returns true if this calendar is a lunisolar calendar.
QCalendar::SystemId calendarId() const
virtual const QCalendarLocale * localeMonthIndexData() const =0
virtual bool isLeapYear(int year) const =0
Returns true if the specified year is a leap year for this calendar.
virtual bool isLunar() const =0
Returns true if this calendar is a lunar calendar.
virtual bool dateToJulianDay(int year, int month, int day, qint64 *jd) const =0
Computes the Julian day number corresponding to the specified year, month, and day.
virtual QCalendar::YearMonthDay julianDayToDate(qint64 jd) const =0
Computes the year, month, and day in this calendar for the given Julian day number jd.
virtual QString name() const =0
Returns the primary name of the calendar.
The QCalendar class describes calendar systems.
System
This enumerated type is used to specify a choice of calendar system.
\inmodule QtCore\reentrant
\inmodule QtCore \reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
\inmodule QtCore \reentrant
Combined button and popup list for selecting options.
#define rangeGetter(name)
static void setIndex(int *index, int candidate, int min, int max, bool isIncreasing)
GLint GLsizei GLsizei GLenum format
quint16 m_longMonthStandalone_size
quint16 m_shortMonthStandalone_idx
quint8 m_narrowMonthStandalone_size
quint8 m_shortMonthStandalone_size
rangeGetter(longMonthStandalone) rangeGetter(longMonth) rangeGetter(shortMonthStandalone) rangeGetter(shortMonth) rangeGetter(narrowMonthStandalone) rangeGetter(narrowMonth) quint16 m_longMonthStandalone_idx
quint16 m_narrowMonthStandalone_idx
quint8 m_narrowMonth_size
quint16 m_narrowMonth_idx