Version: 0.6.0
gxssdataset.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Catalog)
3  * Purpose: Spreadsheet Dataset classes.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2014 Dmitry Baryshnikov
7 * Copyright (C) 2014 NextGIS
8 *
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21  ****************************************************************************/
22 #pragma once
23 
24 #include "wxgis/catalog/catalog.h"
25 #include "wxgis/catalog/gxobject.h"
26 #include "wxgis/catalog/gxdataset.h"
27 #include "wxgis/datasource/dataset.h"
28 
36 class WXDLLIMPEXP_GIS_CLT wxGxSpreadsheetDataset :
38 {
39  DECLARE_CLASS(wxGxSpreadsheetDataset)
40 public:
41  wxGxSpreadsheetDataset(wxGISEnumTableType eType, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "");
42  virtual ~wxGxSpreadsheetDataset(void);
43  //wxGxObject
44  virtual wxString GetCategory(void) const;
45  virtual void Refresh(void);
46  //wxGxDatasetContainer
47  virtual wxGISDataset* const GetDataset(bool bCache = true, ITrackCancel* const pTrackCancel = NULL);
48  virtual wxGISEnumDatasetType GetType(void) const;
49  virtual int GetSubType(void) const {return m_eType;};
50  //wxGxObjectContainer
51  virtual bool DestroyChildren();
52  virtual bool AreChildrenViewable(void) const {return true;};
53  virtual bool HasChildren(void);
54 protected:
55  //wxGxSpreadsheetDataset
56  virtual void LoadChildren(void);
57  //create wxGISDataset without openning it
58  virtual wxGISDataset* const GetDatasetFast(void);
59 protected:
60  bool m_bIsChildrenLoaded;
61  wxGISDataset* m_pwxGISDataset;
62  wxGISEnumTableType m_eType;
63 };
64 
72 class WXDLLIMPEXP_GIS_CLT wxGxSpreadsheetSubDataset :
73  public wxGxTable
74 {
75  DECLARE_CLASS(wxGxSpreadsheetSubDataset)
76 public:
77  wxGxSpreadsheetSubDataset(wxGISEnumTableType nType, wxGISDataset* pwxGISDataset, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "");
78  virtual ~wxGxSpreadsheetSubDataset(void);
79  //IGxObject
80  virtual wxString GetCategory(void) const;
81 };
A TrackCancel interface class.
Definition: core.h:144
Definition: gxdataset.h:80
Definition: dataset.h:33
Definition: gxdataset.h:124
Definition: gxssdataset.h:72
Definition: gxssdataset.h:36
Definition: gxobject.h:37