kmail Library API Documentation

kmail_part.h

00001 /*
00002     This file is part of KMail.
00003     Copyright (c) 2002-2003 Don Sanders <sanders@kde.org>,
00004     Copyright (c) 2003      Zack Rusin  <zack@kde.org>,
00005     Based on the work of Cornelius Schumacher <schumacher@kde.org>
00006 
00007     This program is free software; you can redistribute it and/or modify
00008     it under the terms of the GNU General Public License as published by
00009     the Free Software Foundation; either version 2 of the License, or
00010     (at your option) any later version.
00011 
00012     This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program; if not, write to the Free Software
00019     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00020 
00021     As a special exception, permission is given to link this program
00022     with any edition of Qt, and distribute the resulting executable,
00023     without including the source code for Qt in the source distribution.
00024 */
00025 #ifndef KMail_PART_H
00026 #define KMail_PART_H
00027 
00028 #include "kmailpartIface.h"
00029 
00030 #include <kdeversion.h>
00031 #include <kparts/browserextension.h>
00032 #if KDE_IS_VERSION( 3, 1, 90 )
00033 #include <kparts/statusbarextension.h>
00034 #endif
00035 #include <kparts/factory.h>
00036 #include <kparts/event.h>
00037 #include <qwidget.h>
00038 
00039 class KInstance;
00040 class KAboutData;
00041 class KMailBrowserExtension;
00042 class KMailStatusBarExtension;
00043 class KMKernel;
00044 class KMMainWidget;
00045 class KMLittleProgressDlg;
00046 class KMFolder;
00047 class KMFolderTreeItem;
00048 
00049 class ActionManager;
00050 
00051 class KMailPart: public KParts::ReadOnlyPart, virtual public KMailPartIface
00052 {
00053     Q_OBJECT
00054   public:
00055     KMailPart(QWidget *parentWidget, const char *widgetName,
00056               QObject *parent, const char *name, const QStringList &);
00057     virtual ~KMailPart();
00058 
00059     QWidget* parentWidget() const;
00060 
00061     static KAboutData *createAboutData();
00062 
00063   public slots:
00064     virtual void save() { /*TODO*/ }
00065     virtual void exit();
00066     virtual void updateEditMenu() {};
00067     void exportFolder( KMFolder* folder );
00068     void slotIconChanged( KMFolderTreeItem *fti );
00069     void slotNameChanged( KMFolderTreeItem *fti );
00070 
00071   signals:
00072     void textChanged( const QString& );
00073     void iconChanged( const QPixmap& );
00074 
00075   protected:
00076     virtual bool openFile();
00077     virtual void guiActivateEvent(KParts::GUIActivateEvent *e);
00078 
00079   private:
00080     KMKernel *kmailKernel;
00081     KMMainWidget *mainWidget;
00082     ActionManager *mActionManager;
00083     KMailBrowserExtension *m_extension;
00084 #if KDE_IS_VERSION( 3, 1, 90 )
00085     KMailStatusBarExtension *mStatusBar;
00086 #endif
00087     QWidget *mParentWidget;
00088 };
00089 
00090 class KMailBrowserExtension : public KParts::BrowserExtension
00091 {
00092     Q_OBJECT
00093     friend class KMailPart;
00094   public:
00095     KMailBrowserExtension(KMailPart *parent);
00096     virtual ~KMailBrowserExtension();
00097 };
00098 
00099 #if KDE_IS_VERSION( 3, 1, 90 )
00100 class KMailStatusBarExtension : public KParts::StatusBarExtension
00101 {
00102 public:
00103   KMailStatusBarExtension( KMailPart *parent );
00104 
00105   KMainWindow *mainWindow() const;
00106 
00107 private:
00108   KMailPart *mParent;
00109   KMLittleProgressDlg *mLittleProgress;
00110 };
00111 #endif
00112 
00113 #endif
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:37:19 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003