00001 /* Modified April 2002 00002 Modified by Christopher Steinbach 00003 00004 Modified to work on the IRIXes... the casts were causing errors. 00005 */ 00006 00007 #ifndef _vuGUIPARSER_H_ 00008 #define _vuGUIPARSER_H_ 00009 00010 #include "vuParser.h" 00011 00013 00025 class vuGuiParser : public vuParser 00026 { 00027 public: 00029 vuGuiParser(); 00031 ~vuGuiParser(); 00032 00034 void Parse(const char* filename) throw (const char *); 00035 00036 private: 00037 00039 void ParseGui(); 00041 void ParseSections(); 00042 00044 void ParseAPIs(); 00046 void ParseControls(const char *Location); 00047 00049 00055 vuString ParseListBox(const char *Name); 00057 00063 vuString ParseSlider(const char *Name); 00065 00071 vuString ParseButton(const char *Name); 00073 00079 vuString ParseCheckBox(const char *Name); 00081 00087 vuString ParseRadioBox(const char *Name); 00088 00090 void ParseMethod(const char *Header); 00092 00094 vuString ParseStatement(); 00096 00098 StringList ParseList(); 00099 00101 00105 void WriteData(); 00106 00107 private: 00109 ofstream m_fHeader; 00111 ofstream m_fImpl; 00112 00114 vuString m_Name; 00116 vuString m_Base; 00118 StringList m_Apis; 00120 StringList m_Controls; 00121 }; 00122 00123 #endif