korganizer
baseview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KORG_BASEVIEW_H
00023 #define KORG_BASEVIEW_H
00024
00025 #include <qwidget.h>
00026 #include <qptrlist.h>
00027 #include <qvaluelist.h>
00028
00029 #include <klocale.h>
00030 #include <kdebug.h>
00031 #include <kmessagebox.h>
00032 #include <kdepimmacros.h>
00033 #include "korganizer/incidencechangerbase.h"
00034
00035 #include "printplugin.h"
00036
00037 #include <libkcal/event.h>
00038
00039 using namespace KCal;
00040
00041 namespace KCal { class Calendar; }
00042
00043 namespace KOrg {
00044
00045
00057 class KDE_EXPORT BaseView : public QWidget
00058 {
00059 Q_OBJECT
00060 public:
00069 BaseView( Calendar *cal, QWidget *parent = 0,
00070 const char *name = 0 )
00071 : QWidget( parent, name ), mCalendar( cal ), mChanger( 0 ) {}
00072
00076 virtual ~BaseView() {}
00077
00078 virtual void setCalendar( Calendar *cal ) { mCalendar = cal; }
00082 virtual Calendar *calendar() { return mCalendar; }
00083
00089 virtual Incidence::List selectedIncidences() = 0;
00090
00096 virtual DateList selectedDates() = 0;
00097
00098 virtual CalPrinterBase::PrintType printType()
00099 {
00100 return CalPrinterBase::Month;
00101 }
00102
00106 virtual int currentDateCount() = 0;
00107
00109 virtual bool isEventView() { return false; }
00110
00111 public slots:
00120 virtual void showDates( const QDate &start, const QDate &end ) = 0;
00121
00129 virtual void showIncidences( const Incidence::List &incidenceList, const QDate &date ) = 0;
00130
00135 virtual void updateView() = 0;
00136 virtual void dayPassed( const QDate & ) { updateView(); }
00137
00141 virtual void setIncidenceChanger( IncidenceChangerBase *changer ) { mChanger = changer; }
00142
00146 virtual void flushView() {}
00147
00151 virtual void changeIncidenceDisplay( Incidence *, int ) = 0;
00152
00157 virtual void updateConfig() {}
00158
00162 virtual void clearSelection() {}
00163
00167 virtual bool eventDurationHint(QDateTime &, QDateTime &, bool &) { return false; }
00168
00169 signals:
00170 void incidenceSelected( Incidence *, const QDate & );
00171
00175 void showIncidenceSignal(Incidence *);
00176
00182 void editIncidenceSignal(Incidence *);
00183
00189 void deleteIncidenceSignal(Incidence *);
00190
00194 void cutIncidenceSignal(Incidence *);
00195
00199 void copyIncidenceSignal(Incidence *);
00200
00204 void pasteIncidenceSignal();
00205
00209 void toggleAlarmSignal(Incidence *);
00212 void dissociateOccurrenceSignal( Incidence *, const QDate & );
00215 void dissociateFutureOccurrenceSignal( Incidence *, const QDate & );
00216
00217 void startMultiModify( const QString & );
00218 void endMultiModify();
00219
00224 void newEventSignal();
00229 void newEventSignal( const QDate & );
00234 void newEventSignal( const QDateTime & );
00240 void newEventSignal( const QDateTime &, const QDateTime & );
00241
00242 void newTodoSignal( const QDate & );
00243 void newSubTodoSignal( Todo * );
00244
00245 void newJournalSignal( const QDate & );
00246
00247 private:
00248 Calendar *mCalendar;
00249 protected:
00250 IncidenceChangerBase *mChanger;
00251 };
00252
00253 }
00254
00255 #endif
|