00001
00002 #ifndef AEDXMLFILE_H
00003 #define AEDXMLFILE_H
00004
00005 #include "dllmacros.h"
00006 #include "aedRect.h"
00007 #include <string>
00008
00009 class TiXmlElement;
00010
00011
00012 class DLLEXPORT aedXmlFile
00013 {
00014
00015 public:
00016 bool loadFromFile(const std::string & fileName,
00017 aedWidget * parent);
00018
00019 bool loadFromString(const std::string & xml, aedWidget * parent);
00020
00021
00022
00023 std::string getError();
00024
00025
00026 private:
00027 std::string m_ErrorText;
00028
00029
00030 private:
00031 bool parseElement(TiXmlElement * element, aedWidget * parent);
00032
00033 bool parseChildElements(TiXmlElement * element, aedWidget * parent);
00034
00035
00036 bool parseWindow(TiXmlElement * element, aedWidget * parent);
00037
00038 bool parseStaticText(TiXmlElement * element, aedWidget * parent);
00039
00040 bool parseButton(TiXmlElement * element, aedWidget * parent);
00041
00042 bool parseTextBox(TiXmlElement * element, aedWidget * parent);
00043
00044 bool parseProgressBar(TiXmlElement * element, aedWidget * parent);
00045
00046 bool parseFrame(TiXmlElement * element, aedWidget * parent);
00047
00048 bool parseCheckBox(TiXmlElement * element, aedWidget * parent);
00049
00050 bool parseStaticImage(TiXmlElement * element, aedWidget * parent);
00051
00052 bool parseSlider(TiXmlElement * element, aedWidget * parent);
00053
00054 bool parseScrollBar(TiXmlElement * element, aedWidget * parent);
00055
00056 bool parseRadioButtonGroup(TiXmlElement * element, aedWidget * parent);
00057
00058 bool parseListBox(TiXmlElement * element, aedWidget * parent);
00059
00060 bool parseSpinner(TiXmlElement * element, aedWidget * parent);
00061
00062
00063 std::string safeExtractString(TiXmlElement * element,
00064 const std::string & attributeName);
00065
00066 int safeExtractInt(TiXmlElement * element,
00067 const std::string & attributeName);
00068
00069 aedRect safeExtractPosition(TiXmlElement * element);
00070
00071 };
00072
00073
00074
00075 #endif
00076