KCal Library
24 #ifndef KCAL_RECURRENCERULE_H
25 #define KCAL_RECURRENCERULE_H
27 #include "kcal_export.h"
31 #include <kdatetime.h>
33 #include <QtCore/QList>
39 typedef SortableList<QDate>
DateList;
41 typedef SortableList<QTime> TimeList;
52 virtual ~RuleObserver() {}
74 explicit WDayPos(
int ps = 0,
short dy = 0 ) : mDay( dy ), mPos( ps ) {}
75 short day()
const {
return mDay; }
76 int pos()
const {
return mPos; }
77 void setDay(
short dy ) { mDay = dy; }
78 void setPos(
int ps ) { mPos = ps; }
81 return mDay == pos2.mDay && mPos == pos2.mPos;
95 bool operator!=(
const RecurrenceRule &r )
const {
return !operator==(r); }
99 void setReadOnly(
bool readOnly );
104 bool isReadOnly()
const;
111 void setRecurrenceType( PeriodType period );
112 PeriodType recurrenceType()
const;
120 uint frequency()
const;
125 void setFrequency(
int freq );
132 KDateTime startDt()
const;
145 void setStartDt(
const KDateTime &start );
155 void setAllDay(
bool allDay );
162 KDateTime endDt(
bool *result = 0 )
const;
166 void setEndDt(
const KDateTime &endDateTime );
172 int duration()
const;
176 void setDuration(
int duration );
179 int durationTo(
const KDateTime &dt )
const;
182 int durationTo(
const QDate &date )
const;
198 void shiftTimes(
const KDateTime::Spec &oldSpec,
const KDateTime::Spec &newSpec );
206 bool recursOn(
const QDate &date,
const KDateTime::Spec &timeSpec )
const;
214 bool recursAt(
const KDateTime &dt )
const;
223 bool dateMatchesRules(
const KDateTime &dt )
const;
231 TimeList recurTimesOn(
const QDate &date,
const KDateTime::Spec &timeSpec )
const;
244 DateTimeList timesInInterval(
const KDateTime &start,
const KDateTime &end )
const;
251 KDateTime getNextDate(
const KDateTime &preDateTime )
const;
259 KDateTime getPreviousDate(
const KDateTime &afterDateTime )
const;
261 void setBySeconds(
const QList<int> bySeconds );
262 void setByMinutes(
const QList<int> byMinutes );
263 void setByHours(
const QList<int> byHours );
265 void setByDays(
const QList<WDayPos> byDays );
266 void setByMonthDays(
const QList<int> byMonthDays );
267 void setByYearDays(
const QList<int> byYearDays );
268 void setByWeekNumbers(
const QList<int> byWeekNumbers );
269 void setByMonths(
const QList<int> byMonths );
270 void setBySetPos(
const QList<int> bySetPos );
271 void setWeekStart(
short weekStart );
273 const QList<int> &bySeconds()
const;
274 const QList<int> &byMinutes()
const;
275 const QList<int> &byHours()
const;
277 const QList<WDayPos> &byDays()
const;
278 const QList<int> &byMonthDays()
const;
279 const QList<int> &byYearDays()
const;
280 const QList<int> &byWeekNumbers()
const;
281 const QList<int> &byMonths()
const;
282 const QList<int> &bySetPos()
const;
283 short weekStart()
const;
292 void setRRule(
const QString &rrule );
293 QString rrule()
const;
303 void addObserver( RuleObserver *observer );
311 void removeObserver( RuleObserver *observer );
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:29:16 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.