Version: 0.6.0
gxobjectfactory.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Catalog)
3  * Purpose: wxGxObjectFactory class. Base abstract class for all factories
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2012,2014 Dmitry Baryshnikov
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  ****************************************************************************/
21 #pragma once
22 
23 #include "wxgis/catalog/catalog.h"
24 #include "wxgis/catalog/gxobject.h"
25 
26 #define CHECK_DUBLES
27 #define CHECK_DUBLES_MAX_COUNT 48
28 
32 class WXDLLIMPEXP_GIS_CLT wxGxObjectFactory :
33  public wxObject
34 {
35  DECLARE_ABSTRACT_CLASS(wxGxObjectFactory)
36 public:
37  wxGxObjectFactory(void);
38  virtual ~wxGxObjectFactory(void);
39  virtual void Serialize(wxXmlNode* const pConfig, bool bStore);
40  virtual wxString GetClassName(void) const;
41  virtual wxString GetName(void) const = 0;
42  virtual bool GetChildren(wxGxObject* pParent, char** &pFileNames, wxArrayLong & pChildrenIds) = 0;
43  virtual bool GetEnabled(void) const;
44  virtual void SetEnabled(bool bIsEnabled);
45  virtual bool IsNameExist(wxGxObject* pParent, const wxString &soName);
46 protected:
47  bool m_bIsEnabled;
48 };
49 
A base class for GxObject factory.
Definition: gxobjectfactory.h:32
Definition: gxobject.h:37