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
00063 class BaseView :
public QWidget
00064 {
00065 Q_OBJECT
00066
public:
00075 BaseView( Calendar *cal, QWidget *parent = 0,
const char *name = 0 )
00076 : QWidget( parent, name ), mCalendar( cal ) {}
00077
00081 virtual ~BaseView() {}
00082
00083
virtual void setCalendar( Calendar *cal ) { mCalendar = cal; }
00087 virtual Calendar *
calendar() {
return mCalendar; }
00088
00094
virtual Incidence::List
selectedIncidences() = 0;
00095
00101
virtual DateList
selectedDates() = 0;
00102
00110
00111
00112
00113
00114
00115 virtual void printPreview(
CalPrinter *,
const QDate &,
const QDate & )
00116 {
00117 KMessageBox::sorry(
this, i18n(
"Unfortunately, we don't handle printing for\n"
00118
"that view yet.\n"));
00119 }
00120
00126 virtual void print(
CalPrinter * )
00127 {
00128 KMessageBox::sorry(
this, i18n(
"Unfortunately, we don't handle printing for\n"
00129
"that view yet.\n"));
00130 }
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
00145
public slots:
00154
virtual void showDates(
const QDate &start,
const QDate &end ) = 0;
00155
00162
virtual void showEvents(
const Event::List &eventList ) = 0;
00163
00168
virtual void updateView() = 0;
00169
00173 virtual void flushView() {}
00174
00178
virtual void changeEventDisplay( Event *,
int ) = 0;
00179
00184 virtual void updateConfig() {}
00185
00189 virtual void clearSelection() {}
00190
00191 signals:
00192
void incidenceSelected( Incidence * );
00193
00194
private:
00195 Calendar *mCalendar;
00196 };
00197
00198 }
00199
00200
#endif