Version: 0.6.0
gxmldataset.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Catalog)
3  * Purpose: Markup language Dataset classes.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2009-2011,2013 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 #include "wxgis/catalog/gxdataset.h"
26 #include "wxgis/datasource/dataset.h"
27 
35 class WXDLLIMPEXP_GIS_CLT wxGxMLDataset :
37 {
38  DECLARE_CLASS(wxGxMLDataset)
39 public:
40  wxGxMLDataset(wxGISEnumVectorDatasetType eType, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "");
41  virtual ~wxGxMLDataset(void);
42  //wxGxObject
43  virtual wxString GetCategory(void) const;
44  virtual void Refresh(void);
45  //wxGxDatasetContainer
46  virtual wxGISDataset* const GetDataset(bool bCache = true, ITrackCancel* const pTrackCancel = NULL);
47  virtual wxGISEnumDatasetType GetType(void) const;
48  virtual int GetSubType(void) const {return m_eType;};
49  //wxGxObjectContainer
50  virtual bool DestroyChildren();
51  virtual bool AreChildrenViewable(void) const {return true;};
52  virtual bool HasChildren(void);
53 protected:
54  //wxGxMLDataset
55  virtual void LoadChildren(void);
56  //create wxGISDataset without openning it
57  virtual wxGISDataset* const GetDatasetFast(void);
58 protected:
59  bool m_bIsChildrenLoaded;
60  wxGISDataset* m_pwxGISDataset;
61  wxGISEnumVectorDatasetType m_eType;
62 };
63 
71 class WXDLLIMPEXP_GIS_CLT wxGxMLSubDataset :
72  public wxGxFeatureDataset
73 {
74  DECLARE_CLASS(wxGxMLSubDataset)
75 public:
76  wxGxMLSubDataset(wxGISEnumVectorDatasetType nType, wxGISDataset* pwxGISDataset, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "");
77  virtual ~wxGxMLSubDataset(void);
78  //IGxObject
79  virtual wxString GetCategory(void) const;
80 };
Definition: gxmldataset.h:35
Definition: gxdataset.h:151
A TrackCancel interface class.
Definition: core.h:144
Definition: gxdataset.h:80
Definition: dataset.h:33
Definition: gxmldataset.h:71
Definition: gxobject.h:37