part.h
00001 /* 00002 This file is part of the KOrganizer interfaces. 00003 00004 Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library 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 GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00021 #ifndef KORG_PART_H 00022 #define KORG_PART_H 00023 00024 #include <tqstring.h> 00025 00026 #include <klibloader.h> 00027 #include <tdeparts/part.h> 00028 00029 #include <korganizer/mainwindow.h> 00030 00031 namespace KOrg { 00032 00033 class Part : public KParts::Part 00034 { 00035 public: 00036 static int interfaceVersion() { return 2; } 00037 static TQString serviceType() { return "KOrganizer/Part"; } 00038 00039 typedef TQPtrList<Part> List; 00040 00041 Part( MainWindow *parent, const char *name ) 00042 : KParts::Part( parent?(TQT_TQOBJECT(parent->topLevelWidget())):0, name ), mMainWindow( parent ) {} 00043 00044 virtual ~Part() {} 00045 00046 virtual TQString info() = 0; 00048 virtual TQString shortInfo() = 0; 00049 00050 MainWindow *mainWindow() { return mMainWindow; } 00051 00052 private: 00053 MainWindow *mMainWindow; 00054 }; 00055 00056 class PartFactory : public KLibFactory 00057 { 00058 public: 00059 virtual Part *create( MainWindow *parent, const char *name = 0 ) = 0; 00060 00061 protected: 00062 virtual TQObject *createObject( TQObject *, const char *,const char *, 00063 const TQStringList & ) 00064 { 00065 return 0; 00066 } 00067 }; 00068 00069 } 00070 00071 #endif