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 {
00042 class Calendar;
00043 class ResourceCalendar;
00044 }
00045
00046 namespace KOrg {
00047
00059 class KDE_EXPORT BaseView : public QWidget
00060 {
00061 Q_OBJECT
00062 public:
00071 BaseView( Calendar *cal, QWidget *parent = 0, const char *name = 0 )
00072 : QWidget( parent, name ),
00073 mReadOnly( false ), mCalendar( cal ), mResource( 0 ), mChanger( 0 ) {}
00074
00078 virtual ~BaseView() {}
00079
00081 void setReadOnly( bool readonly ) { mReadOnly = readonly; }
00082 bool readOnly() { return mReadOnly; }
00083
00084 virtual void setCalendar( Calendar *cal ) { mCalendar = cal; }
00088 virtual Calendar *calendar() { return mCalendar; }
00089
00090 virtual void setResource( ResourceCalendar *res, const QString &subResource )
00091 {
00092 mResource = res;
00093 mSubResource = subResource;
00094 }
00095
00099 ResourceCalendar *resourceCalendar() { return mResource; }
00100
00104 QString subResourceCalendar() const { return mSubResource; }
00105
00111 virtual Incidence::List selectedIncidences() = 0;
00112
00118 virtual DateList selectedIncidenceDates() = 0;
00119
00124 virtual QDateTime selectionStart() { return QDateTime(); }
00125
00130 virtual QDateTime selectionEnd() { return QDateTime(); }
00131
00132 virtual CalPrinterBase::PrintType printType()
00133 {
00134 return CalPrinterBase::Month;
00135 }
00136
00140 virtual int currentDateCount() = 0;
00141
00143 virtual bool isEventView() { return false; }
00144
00148 virtual bool supportsDateNavigation() const { return false; }
00149
00150 public slots:
00159 virtual void showDates( const QDate &start, const QDate &end ) = 0;
00160
00168 virtual void showIncidences( const Incidence::List &incidenceList, const QDate &date ) = 0;
00169
00174 virtual void updateView() = 0;
00175 virtual void dayPassed( const QDate & ) { updateView(); }
00176
00180 virtual void setIncidenceChanger( IncidenceChangerBase *changer ) { mChanger = changer; }
00181
00185 virtual void flushView() {}
00186
00190 virtual void changeIncidenceDisplay( Incidence *, int ) = 0;
00191
00196 virtual void updateConfig() {}
00197
00201 virtual void clearSelection() {}
00202
00206 virtual bool eventDurationHint(QDateTime &, QDateTime &, bool &) { return false; }
00207
00208 signals:
00209 void incidenceSelected( Incidence *, const QDate & );
00210
00214 void showIncidenceSignal( Incidence *, const QDate & );
00215
00221 void editIncidenceSignal( Incidence *, const QDate & );
00222
00228 void deleteIncidenceSignal(Incidence *);
00229
00233 void cutIncidenceSignal(Incidence *);
00234
00238 void copyIncidenceSignal(Incidence *);
00239
00243 void pasteIncidenceSignal();
00244
00248 void toggleAlarmSignal(Incidence *);
00251 void dissociateOccurrenceSignal( Incidence *, const QDate & );
00254 void dissociateFutureOccurrenceSignal( Incidence *, const QDate & );
00255
00256 void startMultiModify( const QString & );
00257 void endMultiModify();
00258
00263 void newEventSignal( ResourceCalendar *res, const QString &subResource );
00268 void newEventSignal( ResourceCalendar *res, const QString &subResource,
00269 const QDate & );
00274 void newEventSignal( ResourceCalendar *res, const QString &subResource,
00275 const QDateTime & );
00281 void newEventSignal( ResourceCalendar *res, const QString &subResource,
00282 const QDateTime &, const QDateTime & );
00283
00284 void newTodoSignal( ResourceCalendar *res,const QString &subResource,
00285 const QDate & );
00286 void newSubTodoSignal( Todo * );
00287
00288 void newJournalSignal( ResourceCalendar *res,const QString &subResource,
00289 const QDate & );
00290
00291 private:
00292 bool mReadOnly;
00293 Calendar *mCalendar;
00294 ResourceCalendar *mResource;
00295 QString mSubResource;
00296
00297 protected:
00298 IncidenceChangerBase *mChanger;
00299 };
00300
00301 }
00302
00303 #endif
|