korganizer
kdatenavigator.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KDATENAVIGATOR_H
00026 #define KDATENAVIGATOR_H
00027
00028 #include <tqframe.h>
00029 #include <tqdatetime.h>
00030
00031 #include <libkcal/incidencebase.h>
00032
00033 class TQPushButton;
00034 class TQLabel;
00035
00036 namespace KCal {
00037 class Calendar;
00038 class Incidence;
00039 }
00040 class NavigatorBar;
00041 using namespace KCal;
00042
00043 class KODayMatrix;
00044
00045 class KDateNavigator: public TQFrame
00046 {
00047 Q_OBJECT
00048 TQ_OBJECT
00049 public:
00050 KDateNavigator( TQWidget *parent = 0, const char *name = 0 );
00051 ~KDateNavigator();
00052
00056 void setCalendar( Calendar * );
00057
00058 void setBaseDate( const TQDate & );
00059
00060 KCal::DateList selectedDates() const { return mSelectedDates; }
00061
00062 TQSizePolicy sizePolicy () const;
00063
00064 NavigatorBar *navigatorBar() const { return mNavigatorBar; }
00065 TQDate startDate() const;
00066 TQDate endDate() const;
00067 void setUpdateNeeded();
00068
00074 TQDate month() const;
00075
00076 public slots:
00077 void selectDates( const KCal::DateList & );
00078 void updateView();
00079 void updateConfig();
00080 void updateDayMatrix();
00081 void updateToday();
00082
00083 signals:
00084 void datesSelected( const KCal::DateList & );
00085 void incidenceDropped( Incidence *, const TQDate & );
00086 void incidenceDroppedMove( Incidence *, const TQDate & );
00087 void weekClicked( const TQDate & );
00088
00089 void goPrevious();
00090 void goNext();
00091 void nextMonthClicked();
00092 void prevMonthClicked();
00093 void nextYearClicked();
00094 void prevYearClicked();
00095
00096 void monthSelected( int month );
00097 void yearSelected( int year );
00098
00099 protected:
00100 void updateDates();
00101
00102 void wheelEvent( TQWheelEvent * );
00103
00104 bool eventFilter( TQObject *, TQEvent * );
00105
00106 void setShowWeekNums( bool enabled );
00107
00108 private:
00109 NavigatorBar *mNavigatorBar;
00110
00111 TQLabel *mHeadings[ 7 ];
00112 TQLabel *mWeeknos[ 7 ];
00113
00114 KODayMatrix *mDayMatrix;
00115
00116 KCal::DateList mSelectedDates;
00117 TQDate mBaseDate;
00118
00119
00120 KDateNavigator( const KDateNavigator & );
00121 KDateNavigator &operator=( const KDateNavigator & );
00122 };
00123
00124 #endif
|