kig
common.h
Go to the documentation of this file.00001 // Copyright (C) 2002 Dominique Devriese <devriese@kde.org> 00002 00003 // This program is free software; you can redistribute it and/or 00004 // modify it under the terms of the GNU General Public License 00005 // as published by the Free Software Foundation; either version 2 00006 // of the License, or (at your option) any later version. 00007 00008 // This program is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 // GNU General Public License for more details. 00012 00013 // You should have received a copy of the GNU General Public License 00014 // along with this program; if not, write to the Free Software 00015 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00016 // 02110-1301, USA. 00017 00018 #ifndef KIG_OBJECTS_COMMON_H 00019 #define KIG_OBJECTS_COMMON_H 00020 00021 #include <set> 00022 #include <vector> 00023 #include <qbytearray.h> 00024 #include <qlist.h> 00025 #include <qstringlist.h> 00026 #include <cassert> 00027 #include <klocale.h> 00028 00029 class Coordinate; 00030 class KigDocument; 00031 class KigPainter; 00032 class KigPart; 00033 class KigWidget; 00034 class NormalMode; 00035 class ObjectCalcer; 00036 class ObjectDrawer; 00037 class ObjectHolder; 00038 class ObjectImp; 00039 class ObjectImpType; 00040 class ObjectPropertyCalcer; 00041 class ObjectType; 00042 class ObjectTypeCalcer; 00043 class QDomDocument; 00044 class QDomElement; 00045 class Rect; 00046 class ScreenInfo; 00047 class Transformation; 00048 00049 typedef std::vector<const ObjectImp*> Args; 00050 typedef QList<QByteArray> QByteArrayList; 00051 00052 template<typename T> 00053 void delete_all( T begin, T end ) 00054 { 00055 for( ; begin != end; ++begin ) 00056 { 00057 delete *begin; 00058 } 00059 } 00060 00064 std::vector<ObjectCalcer*> getAllCalcers( const std::vector<ObjectHolder*>& os ); 00065 00069 std::vector<ObjectCalcer*> getCalcers( const std::vector<ObjectHolder*>& os ); 00070 00099 class FakeClass { 00100 public: 00101 FakeClass( const ObjectType* ) { 00102 } 00103 }; 00104 00105 #define KIG_INSTANTIATE_OBJECT_TYPE_INSTANCE( type ) static class FakeClass _fake_class_instance_##type( type::instance() ); 00106 00107 #endif
KDE 4.2 API Reference