Version: 0.6.0
geoprocessing.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Toolbox)
3  * Purpose: geoprocessing header.
4  * Author: Dmitry Baryshnikov (aka Bishop), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2009,2011 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 
22 #pragma once
23 
24 #include "wxgis/catalog/catalog.h"
25 
26 #define CTSTR _("Conversion Tools")
27 #define VECSTR _("Vector")
28 #define DMTSTR _("Data Management Tools")
29 #define RASSTR _("Raster")
30 #define STATSTR _("Statistics Tools")
31 
32 #define TOOLBX_NAME wxT("wxGISToolbox")
33 
34 #define SEGSTEP 3.0
36 //GPFunctionTool 1
37 //GPModelTool 2
38 //GPScriptTool 3
39 //GPCustomTool
40 
46 enum wxGISEnumGPMessageType
47 {
48  wxGISEnumGPMessageUnknown = 0,
49  wxGISEnumGPMessageInformation,
50  wxGISEnumGPMessageError,
51  wxGISEnumGPMessageWarning,
52  wxGISEnumGPMessageRequired,
53  wxGISEnumGPMessageOk,
54  wxGISEnumGPMessageNone
55 };
56 
57 
63 enum wxGISEnumGPParameterType
64 {
65  enumGISGPParameterTypeRequired = 1,
66  enumGISGPParameterTypeOptional
67 };
68 
73 enum wxGISEnumGPParameterDirection
74 {
75  enumGISGPParameterDirectionInput = 1,
76  enumGISGPParameterDirectionOutput
77 };
78 
83 enum wxGISEnumGPParameterDataType
84 {
85  enumGISGPParamDTUnknown = 0,
86  enumGISGPParamDTBool,
87  enumGISGPParamDTInteger,
88  enumGISGPParamDTDouble,
89  enumGISGPParamDTText,
91  enumGISGPParamDTStringChoice,
92  enumGISGPParamDTIntegerChoice,
93  enumGISGPParamDTDoubleChoice,
94  enumGISGPParamDTStringChoiceEditable,
96  enumGISGPParamDTFieldAnyChoice,
97  enumGISGPParamDTFieldStringChoice,
98  enumGISGPParamDTFieldIntegerChoice,
99  enumGISGPParamDTFieldRealChoice,
100  enumGISGPParamDTFieldDateChoice,
101  enumGISGPParamDTFieldTimeChoice,
102  enumGISGPParamDTFieldDateTimeChoice,
103  enumGISGPParamDTFieldBinaryChoice,
105  enumGISGPParamDTStringList,
106  enumGISGPParamDTIntegerList,
107  enumGISGPParamDTDoubleList,
109  enumGISGPParamDTSpatRef,
110  enumGISGPParamDTQuery,
112  enumGISGPParamDTPath,
113  enumGISGPParamDTFolderPath,
114  enumGISGPParamDTPathArray,
116  enumGISGPParamDTParamArray,
118  enumGISGPParamMax
119 };
120 
128 class IGxTask
129 {
130 public:
132  virtual ~IGxTask(void){};
134  virtual wxGISEnumTaskStateType GetState(void) const = 0;
136  virtual long GetPriority(void) const = 0;
138  virtual wxDateTime GetStart() const = 0;
140  virtual wxDateTime GetFinish() const = 0;
142  virtual double GetDone() const = 0;
144  virtual bool StartTask() = 0;
146  virtual bool StopTask() = 0;
153  virtual void SetPriority(long nNewPriority) = 0;
154 };
155 
156 /*
157 class IGPTool
158 {
159 public:
160  virtual ~IGPTool(void){};
161  virtual const wxString GetDisplayName(void) = 0;
162  virtual const wxString GetName(void) = 0;
163  virtual const wxString GetCategory(void) = 0;
164  virtual bool Execute(ITrackCancel* pTrackCancel) = 0;
165  virtual bool Validate(void) = 0;
166  virtual GPParameters GetParameterInfo(void) = 0; /*
171  virtual const wxString GetAsString(void) = 0; /*
176  virtual bool SetFromString(const wxString& sParams) = 0;
177  virtual void SetCatalog(IGxCatalog* pCatalog) = 0;
178  virtual IGxCatalog* const GetCatalog(void) = 0;
179  //virtual GetToolType(void) = 0;
180  virtual void Copy(IGPTool* const pTool) = 0;
181 };
182 */
virtual wxDateTime GetStart() const =0
virtual ~IGxTask(void)
Definition: geoprocessing.h:132
virtual void SetPriority(long nNewPriority)=0
virtual bool StartTask()=0
virtual long GetPriority(void) const =0
virtual bool StopTask()=0
virtual wxDateTime GetFinish() const =0
virtual double GetDone() const =0
virtual wxGISEnumTaskStateType GetState(void) const =0
Definition: geoprocessing.h:128