# 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     Crazy Eddie's GUI System (http://www.cegui.org.uk)
    00010     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
    00011
    00012     This library is free software; you can redistribute it and/or
    00013     modify it under the terms of the GNU Lesser General Public
    00014     License as published by the Free Software Foundation; either
    00015     version 2.1 of the License, or (at your option) any later version.
    00016
    00017     This library is distributed in the hope that it will be useful,
    00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00020     Lesser General Public License for more details.
    00021
    00022     You should have received a copy of the GNU Lesser General Public
    00023     License along with this library; if not, write to the Free Software
    00024     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00025 *************************************************************************/
    00026 #ifndef _CEGUIScheme_xmlHandler_h_
    00027 #define _CEGUIScheme_xmlHandler_h_
    00028
    00029 #include "CEGUIScheme.h"
    00030 #include "CEGUIXMLHandler.h"
    00031
    00032 // Start of CEGUI namespace section
    00033 namespace CEGUI
    00034 {
    00035
    00040     class Scheme_xmlHandler : public XMLHandler
    00041     {
    00042     public:
    00043         /*************************************************************************
    00044         Construction & Destruction
    00045         *************************************************************************/
    00053         Scheme_xmlHandler(Scheme* scheme) : d_scheme(scheme)
    00054         {}
    00055
    00060         virtual ~Scheme_xmlHandler(void)
    00061         {}
    00062
    00063         /*************************************************************************
    00064         SAX2 Handler overrides
    00065         *************************************************************************/
    00070         virtual void elementStart(const String& element, const XMLAttributes& attributes);
    00071         virtual void elementEnd(const String& element);
    00072
    00073     private:
    00074         /*************************************************************************
    00075         Implementation Constants
    00076         *************************************************************************/
    00077         // XML related strings
    00078         static const String GUISchemeElement;
    00079         static const String ImagesetElement;
    00080         static const String ImagesetFromImageElement;
    00081         static const String FontElement;
    00082         static const String WindowSetElement;
    00083         static const String WindowFactoryElement;
    00084         static const String WindowAliasElement;
    00085         static const String FalagardMappingElement;
    00086         static const String LookNFeelElement;
    00087         static const String NameAttribute;
    00088         static const String FilenameAttribute;
    00089         static const String AliasAttribute;
    00090         static const String TargetAttribute;
    00091         static const String ResourceGroupAttribute;
    00092         static const String WindowTypeAttribute;
    00093         static const String TargetTypeAttribute;
    00094         static const String LookNFeelAttribute;
    00095
    00096
    00097         /*************************************************************************
    00098         Implementation Data
    00099         *************************************************************************/
    00100         Scheme* d_scheme;
    00101     };
    00102
    00103 } // End of  CEGUI namespace section
    00104
    00105 #endif  // end of guard _CEGUIScheme_xmlHandler_h_