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 QFrame
00046 {
00047 Q_OBJECT
00048 public:
00049 KDateNavigator( TQWidget *parent = 0, const char *name = 0 );
00050 ~KDateNavigator();
00051
00055 void setCalendar( Calendar * );
00056
00057 void setBaseDate( const TQDate & );
00058
00059 KCal::DateList selectedDates() const { return mSelectedDates; }
00060
00061 TQSizePolicy sizePolicy () const;
00062
00063 NavigatorBar *navigatorBar() const { return mNavigatorBar; }
00064 TQDate startDate() const;
00065 TQDate endDate() const;
00066 void setUpdateNeeded();
00067
00073 TQDate month() const;
00074
00075 public slots:
00076 void selectDates( const KCal::DateList & );
00077 void updateView();
00078 void updateConfig();
00079 void updateDayMatrix();
00080 void updateToday();
00081
00082 signals:
00083 void datesSelected( const KCal::DateList & );
00084 void incidenceDropped( Incidence *, const TQDate & );
00085 void incidenceDroppedMove( Incidence *, const TQDate & );
00086 void weekClicked( const TQDate & );
00087
00088 void goPrevious();
00089 void goNext();
00090 void nextMonthClicked();
00091 void prevMonthClicked();
00092 void nextYearClicked();
00093 void prevYearClicked();
00094
00095 void monthSelected( int month );
00096 void yearSelected( int year );
00097
00098 protected:
00099 void updateDates();
00100
00101 void wheelEvent( TQWheelEvent * );
00102
00103 bool eventFilter( TQObject *, TQEvent * );
00104
00105 void setShowWeekNums( bool enabled );
00106
00107 private:
00108 NavigatorBar *mNavigatorBar;
00109
00110 TQLabel *mHeadings[ 7 ];
00111 TQLabel *mWeeknos[ 7 ];
00112
00113 KODayMatrix *mDayMatrix;
00114
00115 KCal::DateList mSelectedDates;
00116 TQDate mBaseDate;
00117
00118
00119 KDateNavigator( const KDateNavigator & );
00120 KDateNavigator &operator=( const KDateNavigator & );
00121 };
00122
00123 #endif
|