00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef KOINCIDENCETOOLTIP_H
00025
#define KOINCIDENCETOOLTIP_H
00026
00027
#include <qtooltip.h>
00028
00029
namespace KCal
00030 {
00031
class Incidence;
00032
class Event;
00033
class Todo;
00034
class Journal;
00035 }
00036
using namespace KCal;
00037
00041 class KOIncidenceToolTip :
public QToolTip
00042 {
00043
public:
00044
KOIncidenceToolTip(
QWidget * widget,
QToolTipGroup * group = 0 ):
QToolTip (widget, group) {}
00045
00046
00047
public:
00048
static void add (
QWidget * widget, Incidence *incidence,
00049
QToolTipGroup * group = 0,
const QString & longText =
"" );
00050 };
00051
00052
class ToolTipVisitor :
public Incidence::Visitor
00053 {
00054
public:
00055 ToolTipVisitor() : mRichText( true ),mTipText(0) {}
00056
00057
bool act( Incidence *incidence,
QString* tipText,
bool richText=
true)
00058 {
00059 mTipText = tipText;
00060 mRichText = richText;
00061
return incidence ? incidence->accept( *
this ) : false;
00062 }
00063
00064
protected:
00065
bool visit( Event *event );
00066
bool visit( Todo *todo );
00067
bool visit( Journal *journal );
00068
00069
QString dateRangeText( Event*event );
00070
QString dateRangeText( Todo *todo );
00071
QString dateRangeText( Journal *journal );
00072
00073
bool generateToolTip( Incidence* incidence,
QString dtRangeText );
00074
00075
protected:
00076
bool mRichText;
00077
QString *mTipText;
00078 };
00079
00080
00081
#endif