[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdepim/libkcal
From: Cornelius Schumacher <schumacher () kde ! org>
Date: 2003-01-29 13:53:42
[Download RAW message or body]
CVS commit by cschumac:
Replaced AddIncidenceVisitor classes by a common template class
Incidence::AddVisitor.
M +1 -15 calendar.cpp 1.37
M +18 -0 incidence.h 1.27
M +1 -16 resourcecalendar.cpp 1.8
--- kdepim/libkcal/calendar.cpp #1.36:1.37
@@ -32,18 +32,4 @@
using namespace KCal;
-class AddIncidenceVisitor : public Incidence::Visitor
-{
- public:
- /** Add incidence to calendar \a calendar. */
- AddIncidenceVisitor( Calendar *calendar ) : mCalendar( calendar ) {}
-
- bool visit( Event *e ) { return mCalendar->addEvent( e ); }
- bool visit( Todo *t ) { return mCalendar->addTodo( t ); }
- bool visit( Journal *j ) { return mCalendar->addJournal( j ); }
-
- private:
- Calendar *mCalendar;
-};
-
Calendar::Calendar()
{
@@ -309,5 +295,5 @@ QPtrList<Event> Calendar::events()
bool Calendar::addIncidence(Incidence *i)
{
- AddIncidenceVisitor v(this);
+ Incidence::AddVisitor<Calendar> v(this);
return i->accept(v);
--- kdepim/libkcal/incidence.h #1.26:1.27
@@ -79,4 +79,22 @@ class Incidence : public IncidenceBase
};
+ /**
+ This class implements a visitor for adding an Incidence to a resource
+ supporting addEvent(), addTodo() and addJournal() calls.
+ */
+ template<class T>
+ class AddVisitor : public Visitor
+ {
+ public:
+ AddVisitor( T *r ) : mResource( r ) {}
+
+ bool visit( Event *e ) { return mResource->addEvent( e ); }
+ bool visit( Todo *t ) { return mResource->addTodo( t ); }
+ bool visit( Journal *j ) { return mResource->addJournal( j ); }
+
+ private:
+ T *mResource;
+ };
+
/** enumeration for describing an event's secrecy. */
enum { SecrecyPublic = 0, SecrecyPrivate = 1, SecrecyConfidential = 2 };
--- kdepim/libkcal/resourcecalendar.cpp #1.7:1.8
@@ -30,19 +30,4 @@
using namespace KCal;
-class AddIncidenceVisitor : public Incidence::Visitor
-{
- public:
- /** Add incidence to calendar \a calendar. */
- AddIncidenceVisitor( ResourceCalendar *r ) : mResource( r ) {}
-
- bool visit( Event *e ) { return mResource->addEvent( e ); }
- bool visit( Todo *t ) { return mResource->addTodo( t ); }
- bool visit( Journal *j ) { return mResource->addJournal( j ); }
-
- private:
- ResourceCalendar *mResource;
-};
-
-
ResourceCalendar::ResourceCalendar( const KConfig *config )
: KRES::Resource( config )
@@ -63,5 +48,5 @@ void ResourceCalendar::writeConfig( KCon
bool ResourceCalendar::addIncidence( Incidence *incidence )
{
- AddIncidenceVisitor v( this );
+ Incidence::AddVisitor<ResourceCalendar> v( this );
return incidence->accept( v );
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic