CEGUIScheme_xmlHandler.h

00001 /***********************************************************************
00002     filename:   CEGUIScheme_xmlHandler.h
00003     created:    21/2/2004
00004     author:     Paul D Turner
00005     
00006     purpose:    Defines abstract base class for the GUI Scheme object.
00007 *************************************************************************/
00008 /***************************************************************************
00009  *   Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
00010  *
00011  *   Permission is hereby granted, free of charge, to any person obtaining
00012  *   a copy of this software and associated documentation files (the
00013  *   "Software"), to deal in the Software without restriction, including
00014  *   without limitation the rights to use, copy, modify, merge, publish,
00015  *   distribute, sublicense, and/or sell copies of the Software, and to
00016  *   permit persons to whom the Software is furnished to do so, subject to
00017  *   the following conditions:
00018  *
00019  *   The above copyright notice and this permission notice shall be
00020  *   included in all copies or substantial portions of the Software.
00021  *
00022  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00023  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00024  *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00025  *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
00026  *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
00027  *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00028  *   OTHER DEALINGS IN THE SOFTWARE.
00029  ***************************************************************************/
00030 #ifndef _CEGUIScheme_xmlHandler_h_
00031 #define _CEGUIScheme_xmlHandler_h_
00032 
00033 #include "CEGUIScheme.h"
00034 #include "CEGUIXMLHandler.h"
00035 
00036 // Start of CEGUI namespace section
00037 namespace CEGUI
00038 {
00039 
00044     class Scheme_xmlHandler : public XMLHandler
00045     {
00046     public:
00047         /*************************************************************************
00048         Construction & Destruction
00049         *************************************************************************/
00057         Scheme_xmlHandler(Scheme* scheme) : d_scheme(scheme)
00058         {}
00059 
00064         virtual ~Scheme_xmlHandler(void)
00065         {}
00066 
00067         /*************************************************************************
00068         SAX2 Handler overrides
00069         *************************************************************************/
00074         virtual void elementStart(const String& element, const XMLAttributes& attributes);
00075         virtual void elementEnd(const String& element);
00076 
00077     private:
00078         /*************************************************************************
00079         Implementation Constants
00080         *************************************************************************/
00081         // XML related strings
00082         static const String GUISchemeElement;               
00083         static const String ImagesetElement;                
00084         static const String ImagesetFromImageElement;       
00085         static const String FontElement;                    
00086         static const String WindowSetElement;               
00087         static const String WindowFactoryElement;           
00088         static const String WindowAliasElement;             
00089         static const String FalagardMappingElement;         
00090         static const String LookNFeelElement;               
00091         static const String NameAttribute;                  
00092         static const String FilenameAttribute;              
00093         static const String AliasAttribute;                 
00094         static const String TargetAttribute;                
00095         static const String ResourceGroupAttribute;         
00096         static const String WindowTypeAttribute;            
00097         static const String TargetTypeAttribute;            
00098         static const String LookNFeelAttribute;             
00099         static const String WindowRendererSetElement;       
00100         static const String WindowRendererFactoryElement;   
00101         static const String WindowRendererAttribute;        
00102 
00107         void elementGUISchemeStart(const XMLAttributes& attributes);
00108 
00113         void elementImagesetStart(const XMLAttributes& attributes);
00114 
00119         void elementImagesetFromImageStart(const XMLAttributes& attributes);
00120 
00125         void elementFontStart(const XMLAttributes& attributes);
00126 
00131         void elementWindowSetStart(const XMLAttributes& attributes);
00132 
00137         void elementWindowFactoryStart(const XMLAttributes& attributes);
00138 
00143         void elementWindowRendererSetStart(const XMLAttributes& attributes);
00144 
00149         void elementWindowRendererFactoryStart(const XMLAttributes& attributes);
00150 
00155         void elementWindowAliasStart(const XMLAttributes& attributes);
00156 
00161         void elementFalagardMappingStart(const XMLAttributes& attributes);
00162 
00167         void elementLookNFeelStart(const XMLAttributes& attributes);
00168 
00173         void elementGUISchemeEnd();
00174 
00175         /*************************************************************************
00176         Implementation Data
00177         *************************************************************************/
00178         Scheme* d_scheme;           
00179     };
00180 
00181 } // End of  CEGUI namespace section
00182 
00183 #endif  // end of guard _CEGUIScheme_xmlHandler_h_

Generated on Sun Nov 5 14:35:28 2006 for Crazy Eddies GUI System by  doxygen 1.4.7