File indexing completed on 2024-12-01 06:51:43
0001 /*************************************************************************** 0002 cmapelementutil.h 0003 ------------------- 0004 begin : Thu Jan 10 2002 0005 copyright : (C) 2002 by Kmud Developer Team 0006 (C) 2014-2015 by Tomas Mecir <mecirt@gmail.com> 0007 email : kmud-devel@kmud.de 0008 ***************************************************************************/ 0009 0010 /*************************************************************************** 0011 * * 0012 * This program is free software; you can redistribute it and/or modify * 0013 * it under the terms of the GNU General Public License as published by * 0014 * the Free Software Foundation; either version 2 of the License, or * 0015 * (at your option) any later version. * 0016 * * 0017 ***************************************************************************/ 0018 0019 #ifndef CMAPELEMENTUTIL_H 0020 #define CMAPELEMENTUTIL_H 0021 0022 #include <qpoint.h> 0023 0024 #include "cmapelement.h" 0025 0026 class CMapManager; 0027 class CMapLevel; 0028 class CMapRoom; 0029 class CMapText; 0030 class CMapZone; 0031 class CMapPath; 0032 0033 #include "kmemconfig.h" 0034 #include <kconfiggroup.h> 0035 0036 /** Classes that inherit this calls will be able to create map elements directly onto the map 0037 * These functions do not alter the undo history. 0038 */ 0039 0040 class CMapElementUtil 0041 { 0042 public: 0043 CMapElementUtil(CMapManager *mapManager); 0044 ~CMapElementUtil(); 0045 0046 public: 0047 /** Used to delete a element specifyed in a list of properties */ 0048 void deleteElement(KConfigGroup grp,bool delOpsite = true); 0049 /** Used to create a new element from a list of properties */ 0050 CMapElement *createElement(KConfigGroup grp); 0051 0052 // static functions - note that these are low-level and do not modify the undo history 0053 0054 /** Used to create a new room */ 0055 static CMapRoom *createRoom(CMapManager *manager, QPoint pos, CMapLevel *level); 0056 static CMapText *createText(CMapManager *manager, QPoint pos, CMapLevel *level, QString str); 0057 static CMapText *createText(CMapManager *manager, QPoint pos, CMapLevel *level, QString str, QFont f, QColor col); 0058 0059 /** Delete a path map element */ 0060 static void deletePath(CMapPath *path, bool delOpsite = true); 0061 0062 private: 0063 CMapManager *manager; 0064 }; 0065 0066 #endif