00001 /********************************************************************************/ 00002 /* */ 00003 /* Netrinjo-Engine - a library for game-development */ 00004 /* Copyright (C) 1999, 2000, 2005 by Tobias Nadler und Georg Schnattinger */ 00005 /* */ 00006 /* This library is free software; you can redistribute it and/or */ 00007 /* modify it under the terms of the GNU Lesser General Public */ 00008 /* License as published by the Free Software Foundation; either */ 00009 /* version 2.1 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 /* Lesser General Public License for more details. */ 00015 /* */ 00016 /* You should have received a copy of the GNU Lesser General Public */ 00017 /* License along with this library; if not, write to the Free Software */ 00018 /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 00019 /* */ 00020 /********************************************************************************/ 00021 00022 #ifndef GUIFILEELEMENT_H 00023 #define GUIFILEELEMENT_H 00024 00025 #include "guielement.h" 00026 00044 class DECLSPEC GuiFileElement : public GuiElement 00045 { 00046 public: 00050 DECLSPEC GuiFileElement( SDL_Rect &r, GuiElement *el, const char *name, const char *filename = NULL ); 00057 DECLSPEC GuiFileElement(TiXmlElement *el, GuiElement *p); 00058 virtual DECLSPEC ~GuiFileElement(); 00065 DECLSPEC bool initByFile(const char *fn); 00066 00067 virtual const char *getClassName() { return "GuiFileElement"; } 00068 00069 static void newguiobject(void *presult, BasicObject *o, void *xmldata) 00070 { 00071 GuiElement *r = new GuiFileElement((TiXmlElement*)xmldata, (GuiElement*)o); 00072 *(GuiElement**)presult = r; 00073 } 00074 protected: 00075 virtual DECLSPEC void onInit(); 00076 00077 private: 00078 // returns the number of children (in 1st generation) added to this element 00079 int create(); 00080 // the XML data that was used to create the currently existing children 00081 TiXmlDocument xmlChildrenDoc; 00082 }; 00083 00084 #endif