Version: 0.6.0
gxmldatasetui.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Catalog)
3  * Purpose: Markup language object classes.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2010,2011,2013,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/catalogui/catalogui.h"
24 #include "wxgis/catalog/gxmldataset.h"
25 
33 class WXDLLIMPEXP_GIS_CLU wxGxMLDatasetUI :
34  public wxGxMLDataset,
35  public IGxObjectUI,
36  public IGxObjectEditUI,
37  public wxThreadHelper
38 {
39  DECLARE_CLASS(wxGxMLDatasetUI)
40 public:
41  wxGxMLDatasetUI(wxGISEnumVectorDatasetType eType, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "", const wxIcon &LargeIcon = wxNullIcon, const wxIcon &SmallIcon = wxNullIcon, const wxIcon &SubLargeIcon = wxNullIcon, const wxIcon &SubSmallIcon = wxNullIcon);
42  virtual ~wxGxMLDatasetUI(void);
43  //IGxObjectUI
44  virtual wxIcon GetLargeImage(void);
45  virtual wxIcon GetSmallImage(void);
46  virtual wxString ContextMenu(void) const {return wxString(wxT("wxGxFeatureDataset.ContextMenu"));};
47  virtual wxString NewMenu(void) const {return wxString(wxT("wxGxKMLDataset.NewMenu"));};
48  //IGxObjectEditUI
49  virtual void EditProperties(wxWindow *parent);
50  //wxGxKMLDataset
51  virtual wxGISDataset* const GetDataset(bool bCache, ITrackCancel* const pTrackCancel = NULL);
52  virtual void LoadChildren(void);
53 protected:
54  virtual wxThread::ExitCode Entry();
55  bool CreateAndRunCheckThread(void);
56 protected:
57  wxIcon m_LargeIcon, m_SmallIcon;
58  wxIcon m_LargeSubIcon, m_SmallSubIcon;
59  long m_nPendUId;
60 };
61 
69 class WXDLLIMPEXP_GIS_CLU wxGxMLSubDatasetUI :
70  public wxGxMLSubDataset,
71  public IGxObjectUI,
72  public IGxObjectEditUI
73 {
74  DECLARE_CLASS(wxGxMLSubDatasetUI)
75 public:
76  wxGxMLSubDatasetUI(wxGISEnumVectorDatasetType nType, wxGISDataset* pwxGISDataset, wxGxObject *oParent, const wxString &soName = wxEmptyString, const CPLString &soPath = "", const wxIcon &LargeIcon = wxNullIcon, const wxIcon &SmallIcon = wxNullIcon);
77  virtual ~wxGxMLSubDatasetUI(void);
78  //IGxObjectUI
79  virtual wxIcon GetLargeImage(void);
80  virtual wxIcon GetSmallImage(void);
81  virtual wxString ContextMenu(void) const {return wxString(wxT("wxGxKMLSubDataset.ContextMenu"));};
82  virtual wxString NewMenu(void) const {return wxEmptyString;};
83  //IGxObjectEditUI
84  virtual void EditProperties(wxWindow *parent);
85 protected:
86  wxIcon m_LargeIcon, m_SmallIcon;
87 };
Definition: gxmldataset.h:35
Definition: gxmldatasetui.h:69
A TrackCancel interface class.
Definition: core.h:144
Definition: catalogui.h:73
Definition: dataset.h:33
Definition: gxmldataset.h:71
Definition: catalogui.h:90
Definition: gxmldatasetui.h:33
Definition: gxobject.h:37