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 DATENAVIGATOR_H
00025 #define DATENAVIGATOR_H
00026
00027 #include <libkcal/incidencebase.h>
00028
00029 #include <tqobject.h>
00030
00036 class DateNavigator : public TQObject
00037 {
00038 Q_OBJECT
00039
00040 public:
00041 DateNavigator( TQObject *parent = 0, const char *name = 0 );
00042 ~DateNavigator();
00043
00044 KCal::DateList selectedDates();
00045
00046 int datesCount() const;
00047
00048 public slots:
00049 void selectDates( const KCal::DateList & );
00050 void selectDate( const TQDate & );
00051
00052 void selectDates( int count );
00053 void selectDates( const TQDate &, int count, const TQDate &preferredMonth = TQDate() );
00054
00055 void selectWeek();
00056 void selectWeek( const TQDate &, const TQDate &preferredMonth = TQDate() );
00057
00058 void selectWorkWeek();
00059 void selectWorkWeek( const TQDate & );
00060
00061 void selectWeekByDay( int weekDay, const TQDate &, const TQDate &preferredMonth = TQDate() );
00062
00063 void selectToday();
00064
00065 void selectPreviousYear();
00066 void selectPreviousMonth( const TQDate ¤tMonth = TQDate(),
00067 const TQDate &selectionLowerLimit = TQDate(),
00068 const TQDate &selectionUpperLimit = TQDate() );
00069 void selectPreviousWeek();
00070 void selectNextWeek();
00071 void selectNextMonth( const TQDate ¤tMonth = TQDate(),
00072 const TQDate &selectionLowerLimit = TQDate(),
00073 const TQDate &selectionUpperLimit = TQDate() );
00074 void selectNextYear();
00075
00076 void selectPrevious();
00077 void selectNext();
00078
00079 void selectMonth( int month );
00080 void selectYear( int year );
00081
00082 signals:
00083
00084
00085
00086 void datesSelected( const KCal::DateList &, const TQDate &preferredMonth );
00087
00088 protected:
00089 void emitSelected( const TQDate &preferredMonth = TQDate() );
00090
00091 private:
00092
00093
00094
00095
00096
00097
00098 void shiftMonth( const TQDate &date,
00099 const TQDate &selectionLowerLimit,
00100 const TQDate &selectionUpperLimit,
00101 int offset );
00102
00103 KCal::DateList mSelectedDates;
00104
00105 enum {
00106 MAX_SELECTABLE_DAYS = 50
00107 };
00108 };
00109
00110 #endif