wxWidgets/contrib/utils/wxrcedit/nodesdb.h
Gilles Depeyrot ab7ce33c56 disable use of #pragma interface under Mac OS X
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer
Tools update contain a bug concerning #pragma interface handling that can only
be worked around by not using them (and they are not necessary anyways)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-07 12:28:46 +00:00

85 lines
1.8 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Purpose: XML resources editor
// Author: Vaclav Slavik
// Created: 2000/05/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "nodesdb.h"
#endif
#ifndef _NODESDB_H_
#define _NODESDB_H_
#include "wx/dynarray.h"
class WXDLLEXPORT wxXmlNode;
class WXDLLEXPORT wxString;
class WXDLLEXPORT wxPathList;
class PropertyInfo
{
public:
PropertyInfo() {}
PropertyInfo(const wxString& atype, const wxString& aname, const wxString& amoreinfo)
: Type(atype), Name(aname), MoreInfo(amoreinfo) {}
PropertyInfo& operator=(const PropertyInfo& p)
{
Type = p.Type; Name = p.Name; MoreInfo = p.MoreInfo;
return *this;
}
wxString Type;
wxString Name;
wxString MoreInfo;
};
WX_DECLARE_OBJARRAY(PropertyInfo, PropertyInfoArray);
class NodeInfo
{
public:
wxString NodeClass;
wxString Type;
PropertyInfoArray Props;
wxArrayString DerivedFrom;
bool Abstract;
wxString ChildType;
int Icon;
void Read(const wxString& filename, wxPathList& list);
};
WX_DECLARE_OBJARRAY(NodeInfo, NodeInfoArray);
class NodesDb
{
public:
NodesDb();
void Load();
void LoadDir(const wxString& path);
void LoadFile(const wxString& file);
NodeInfoArray& GetNodesInfo() { return m_Infos; }
static NodesDb *Get();
private:
static NodesDb *ms_Instance;
NodeInfoArray m_Infos;
wxArrayString m_Paths;
};
#endif