00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KORG_BASEVIEW_H
00022
#define KORG_BASEVIEW_H
00023
00024
#include <qwidget.h>
00025
#include <qptrlist.h>
00026
#include <qvaluelist.h>
00027
00028
#include <klocale.h>
00029
#include <kdebug.h>
00030
#include <kmessagebox.h>
00031
00032
#include <libkcal/event.h>
00033
#include <libkcal/calendar.h>
00034
00035
using namespace KCal;
00036
00037
class CalPrinter;
00038
00039
namespace KOrg {
00040
00044 class CalPrinterBase
00045 {
00046
public:
00047
enum PrintType { Day, Week, Month, Todolist };
00048 };
00049
00050
00062 class BaseView :
public QWidget
00063 {
00064 Q_OBJECT
00065
public:
00074 BaseView( Calendar *cal,
QWidget *parent = 0,
const char *name = 0 )
00075 :
QWidget( parent, name ), mCalendar( cal ) {}
00076
00080 virtual ~BaseView() {}
00081
00082
virtual void setCalendar( Calendar *cal ) { mCalendar = cal; }
00086 virtual Calendar *
calendar() {
return mCalendar; }
00087
00093
virtual Incidence::List
selectedIncidences() = 0;
00094
00100
virtual DateList
selectedDates() = 0;
00101
00109
00110
00111
00112
00113
00114 virtual void printPreview(
CalPrinter *,
const QDate &,
const QDate & )
00115 {
00116 KMessageBox::sorry(
this, i18n(
"Unfortunately, we don't handle printing for\n"
00117
"that view yet.\n"));
00118 }
00119
00125 virtual void print(
CalPrinter * )
00126 {
00127 KMessageBox::sorry(
this, i18n(
"Unfortunately, we don't handle printing for\n"
00128
"that view yet.\n"));
00129 }
00130
00131
virtual CalPrinterBase::PrintType printType()
00132 {
00133
return CalPrinterBase::Month;
00134 }
00135
00139
virtual int currentDateCount() = 0;
00140
00142 virtual bool isEventView() {
return false; }
00143
00144
public slots:
00153
virtual void showDates(
const QDate &start,
const QDate &end ) = 0;
00154
00161
virtual void showIncidences(
const Incidence::List &eventList ) = 0;
00162
00167
virtual void updateView() = 0;
00168
virtual void dayPassed(
QDate ) {
updateView(); }
00169
00173 virtual void flushView() {}
00174
00178
virtual void changeIncidenceDisplay( Incidence *,
int ) = 0;
00179
00184 virtual void updateConfig() {}
00185
00189 virtual void clearSelection() {}
00190
00194 virtual bool eventDurationHint(
QDateTime &,
QDateTime &,
bool &) {
return false; }
00195
00196 signals:
00197
void incidenceSelected( Incidence * );
00198
00202
void showIncidenceSignal(Incidence *);
00203
00209
void editIncidenceSignal(Incidence *);
00210
00216
void deleteIncidenceSignal(Incidence *);
00217
00221
void toggleAlarmSignal(Incidence *);
00222
00223
void incidenceAdded( Incidence* );
00224
void incidenceChanged( Incidence*, Incidence*,
int );
00225
void incidenceChanged( Incidence*, Incidence* );
00226
void incidenceDeleted( Incidence* );
00227
void incidenceToBeDeleted( Incidence* );
00228
00229
void startMultiModify(
const QString & );
00230
void endMultiModify();
00231
00236
void newEventSignal();
00241
void newEventSignal(
QDate);
00246
void newEventSignal(
QDateTime);
00252
void newEventSignal(
QDateTime,
QDateTime);
00253
00254
void newTodoSignal(
QDate );
00255
void newSubTodoSignal( Todo * );
00256
00257
private:
00258 Calendar *mCalendar;
00259 };
00260
00261 }
00262
00263
#endif