koeventviewer.h
00001 /* 00002 This file is part of KOrganizer. 00003 00004 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org> 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 00020 As a special exception, permission is given to link this program 00021 with any edition of TQt, and distribute the resulting executable, 00022 without including the source code for TQt in the source distribution. 00023 */ 00024 #ifndef KOEVENTVIEWER_H 00025 #define KOEVENTVIEWER_H 00026 00027 #include <kdepimmacros.h> 00028 #include <kconfig.h> 00029 #include <tqtextbrowser.h> 00030 00031 namespace KCal { 00032 class Calendar; 00033 class Incidence; 00034 } 00035 using namespace KCal; 00036 00040 class KDE_EXPORT KOEventViewer : public TQTextBrowser 00041 { 00042 Q_OBJECT 00043 TQ_OBJECT 00044 public: 00045 explicit KOEventViewer( Calendar *calendar, TQWidget *parent = 0, const char *name = 0 ); 00046 virtual ~KOEventViewer(); 00047 00051 void setSource( const TQString & ); 00052 00053 virtual bool appendIncidence( Incidence *incidence, const TQDate &date ); 00054 00058 void setCalendar ( Calendar *calendar ); 00059 00064 void clearEvents( bool now = false ); 00065 00070 void addText( const TQString &text ); 00071 00076 void setDefaultText( const TQString &text ); 00077 00078 void readSettings( KConfig *config ); 00079 void writeSettings ( KConfig *config ); 00080 00081 public slots: 00085 void setIncidence( Incidence *incidence, const TQDate &date ); 00086 void changeIncidenceDisplay( Incidence *incidence, const TQDate &date, int action ); 00087 void message( const TQString &link ); 00088 void contentsContextMenuEvent( TQContextMenuEvent * ); 00089 00090 private: 00091 Calendar *mCalendar; 00092 Incidence *mIncidence; 00093 TQTextBrowser *mEventTextView; 00094 TQString mDefaultText; 00095 TQString mText; 00096 TQString mAttachLink; 00097 }; 00098 00099 #endif