Mapx.h
上传用户:hzwailv
上传日期:2010-01-09
资源大小:405k
文件大小:100k
源码类别:

GIS编程

开发平台:

Visual C++

  1. #ifndef __MAPX_H__
  2. #define __MAPX_H__
  3. #pragma warning( disable: 4100)
  4. // event dispids
  5. #define MAPX_DISPID_SELECTION_CHANGED 0x1
  6. #define MAPX_DISPID_RESOLVEDATABIND 0x2
  7. #define MAPX_DISPID_TOOLUSED 0x3
  8. #define MAPX_DISPID_REQUESTDATA 0x4
  9. #define MAPX_DISPID_DATAMISMATCH 0x5
  10. #define MAPX_DISPID_MAPVIEWCHANGED 0x6
  11. #define MAPX_DISPID_ANNOTATIONADDED 0x7
  12. #define MAPX_DISPID_ANNOTATIONCHANGED 0x8
  13. #define MAPX_DISPID_THEMEMODIFYREQUESTED 0x9
  14. #define MAPX_DISPID_DRAWUSERLAYER 0x0a
  15. #define MAPX_DISPID_POLYTOOLUSED 0x0b
  16. #define MAPX_DISPID_MOUSEWHEEL 0x0c
  17. #define MAPX_DISPID_MAPINITIALIZED 0x0d
  18. #define MAPX_DISPID_RESOLVEDATABINDEX 0xe
  19. #define MAPX_DISPID_MAPDRAW 0xf
  20. // dispatch id definitions for ole stock events are
  21. // defined in <olectl.h>
  22. // they are included here for reference
  23. //#define DISPID_CLICK                    (-600)
  24. //#define DISPID_DBLCLICK                 (-601)
  25. //#define DISPID_KEYDOWN                  (-602)
  26. //#define DISPID_KEYPRESS                 (-603)
  27. //#define DISPID_KEYUP                    (-604)
  28. //#define DISPID_MOUSEDOWN                (-605)
  29. //#define DISPID_MOUSEMOVE                (-606)
  30. //#define DISPID_MOUSEUP                  (-607)
  31. //#define DISPID_ERROREVENT               (-608)
  32. // enum definitions to match typelib
  33. enum ToolConstants
  34. {
  35. miArrowTool = 1000,
  36. miPanTool = 1001,
  37. miCenterTool = 1002,
  38. miZoomInTool = 1003,
  39. miZoomOutTool = 1004,
  40. miSymbolTool = 1005,
  41. miTextTool = 1006,
  42. miSelectTool = 1007,
  43. miRadiusSelectTool = 1008,
  44. miRectSelectTool = 1009,
  45. miPolygonSelectTool = 1010,
  46. miLabelTool = 1011,
  47. miAddLineTool = 1012,
  48. miAddPolylineTool = 1013,
  49. miAddRegionTool = 1014,
  50. miAddPointTool = 1015
  51. };
  52. /* Synchronize this with mimoapp.odl! */
  53. enum CursorConstants
  54. {
  55. miDefaultCursor = 0,
  56. miArrowCursor = 1,
  57. miCrossCursor = 2,
  58. miIBeamCursor = 3,
  59. miIconCursor = 4,
  60. miSizeCursor = 5,
  61. miSizeNESWCursor = 6,
  62. miSizeNSCursor = 7,
  63. miSizeNWSECursor = 8,
  64. miSizeEWCursor = 9,
  65. miUpArrowCursor = 10,
  66. miHourglassCursor = 11,
  67. miNoDropCursor = 12,
  68. miArrowHourglassCursor = 13,
  69. miArrowQuestionCursor = 14,
  70. miSizeAllCursor = 15,
  71. miArrowToolCursor = 16,
  72. miPanCursor = 17,
  73. miCenterCursor = 18,
  74. miZoomInCursor = 19,
  75. miZoomOutCursor = 20,
  76. miSymbolCursor = 21,
  77. miTextCursor = 22,
  78. miSelectCursor = 23,
  79. miRadiusSelectCursor = 24,
  80. miRectSelectCursor = 25,
  81. miRegionSelectCursor = 26,
  82. miInfoCursor = 27,
  83. miSelectPlusCursor = 28,
  84. miSelectRadiusPlusCursor = 29,
  85. miSelectRectPlusCursor = 30,
  86. miSelectRegionPlusCursor = 31,
  87. miSelectMinusCursor = 32,
  88. miSelectRadiusMinusCursor = 33,
  89. miSelectRectMinusCursor = 34,
  90. miSelectRegionMinusCursor = 35,
  91. miLabelCursor = 36,
  92. miDrilldownExpandCursor = 37,
  93. miDrilldownContractCursor = 38,
  94. miInfoCursorOld = 39,
  95. miCustomCursor = 40
  96. };
  97. enum MapUnitConstants
  98. {
  99. miUnitMile = 0,
  100. miUnitKilometer = 1,
  101. miUnitInch = 2,
  102. miUnitFoot = 3,
  103. miUnitYard = 4,
  104. miUnitMillimeter = 5,
  105. miUnitCentimeter = 6,
  106. miUnitMeter = 7,
  107. miUnitSurveyFoot = 8,
  108. miUnitNauticalMile = 9,
  109. miUnitTwip = 10,
  110. miUnitPoint = 11,
  111. miUnitPica = 12,
  112. miUnitDegree = 13,
  113. miUnitLink = 30,
  114. miUnitChain = 31,
  115. miUnitRod = 32
  116. };
  117. enum PaperUnitConstants
  118. {
  119. miPaperUnitMile = 0,
  120. miPaperUnitKilometer = 1,
  121. miPaperUnitInch = 2,
  122. miPaperUnitFoot = 3,
  123. miPaperUnitYard = 4,
  124. miPaperUnitMillimeter = 5,
  125. miPaperUnitCentimeter = 6,
  126. miPaperUnitMeter = 7,
  127. miPaperUnitSurveyFoot = 8,
  128. miPaperUnitNauticalMile = 9,
  129. miPaperUnitTwip = 10,
  130. miPaperUnitPoint = 11,
  131. miPaperUnitPica = 12,
  132. miPaperUnitDegree = 13,
  133. miPaperUnitLink = 30,
  134. miPaperUnitChain = 31,
  135. miPaperUnitRod = 32
  136. };
  137. enum SelectionTypeConstants
  138. {
  139. miSelectionNew = 0,
  140. miSelectionAppend = 1,
  141. miSelectionRemove = 2
  142. };
  143. enum ConversionConstants
  144. {
  145. miMapToScreen = 0,
  146. miScreenToMap = 1
  147. };
  148. enum DotSizeConstants
  149. {
  150. miDotSizeSmall = 0,
  151. miDotSizeLarge = 1
  152. };
  153. enum DistribMethodConstants
  154. {
  155. miCustomRanges = 0,
  156. miEqualCountPerRange = 1,
  157. miEqualRangeSize = 2,
  158. miNaturalBreak = 3,
  159. miStandardDeviation = 4
  160. };
  161. enum PenStyleConstants
  162. {
  163. miPenNone = 0,
  164. miPenSolid = 1
  165. };
  166. enum FieldTypeConstants
  167. {
  168. miTypeString = 0,
  169. miTypeNumeric = 1,
  170. miTypeDate = 2,
  171. miTypeInteger = 3,
  172. miTypeSmallInt = 4,
  173. miTypeFloat = 5,
  174. miTypeLogical = 6
  175. };
  176. enum AggregationFunctionConstants
  177. {
  178. miAggregationSum = 0,
  179. miAggregationAverage = 1,
  180. miAggregationCount = 2,
  181. miAggregationIndividual = 4,
  182. miAggregationAuto = 5
  183. };
  184. enum FillPatternConstants
  185. {
  186. miPatternNoFill = 0,
  187. miPatternHollow = 1,
  188. miPatternSolid = 2,
  189. miPatternHorizontal = 3,
  190. miPatternVertical = 4,
  191. miPatternFDiag = 5,
  192. miPatternFilBDiag = 6,
  193. miPatternCross = 7,
  194. miPatternDiagCross = 8
  195. };
  196. enum ThemeTypeConstants
  197. {
  198. miThemeRanged = 0,
  199. miThemeBarChart = 1,
  200. miThemePieChart = 2,
  201. miThemeGradSymbol = 3,
  202. miThemeDotDensity = 4,
  203. miThemeIndividualValue = 5,
  204. miThemeAuto = 6,
  205. miThemeNone = 9,
  206. };
  207. enum AnnotationTypeConstants
  208. {
  209. miSymbolAnnotation = 1,
  210. miTextAnnotation = 6,
  211. };
  212. enum ToolTypeConstants
  213. {
  214. miToolTypePoint = 0,
  215. miToolTypeLine = 1,
  216. miToolTypeCircle = 2,
  217. miToolTypeMarquee = 3,
  218. miToolTypePoly = 4,
  219. miToolTypePolygon = 5
  220. };
  221. enum PolyToolFlagConstants
  222. {
  223. miPolyToolBegin = 0,
  224. miPolyToolEnd = 1,
  225. miPolyToolEndEscaped = 2,
  226. miPolyToolInProgress = 3
  227. };
  228. enum DatasetTypeConstants
  229. {
  230. miDataSetDAO = 1,
  231. miDataSetODBC = 2,
  232. miDataSetUnbound = 3,
  233. miDataSetGlobalHandle = 4,
  234. miDataSetOLEData = 5,
  235. miDataSetLayer = 6,
  236. miDataSetNotesView = 7,
  237. miDataSetNotesQuery = 8,
  238. miDataSetSafeArray = 9,
  239. miDataSetOEO = 10,
  240. miDataSetDelphi = 1010,
  241. miDataSetDelphi4 = 1011,
  242. miDataSetDelphi5 = 1012,
  243. miDataSetADO = 12,
  244. miDataSetRDO = 13,
  245. miDataSetXML = 14
  246. };
  247. enum AnnotationChangedTypeConstants
  248. {
  249. miAddAnnotation = 0,
  250. miDeleteAnnotation = 1,
  251. miSelectAnnotation = 2,
  252. miEditAnnotation = 3
  253. };
  254. enum ResolveDataBindConstants
  255. {
  256. miChooseField = 0,
  257. miChooseLayer = 1,
  258. miChooseGeoSet = 2
  259. };
  260. enum SpreadByConstants
  261. {
  262. miSpreadByNone = 0,
  263. miSpreadByColor = 1,
  264. miSpreadBySize = 2
  265. };
  266. enum BindLayerTypeConstants
  267. {
  268. miBindLayerTypeNormal = 0,
  269. miBindLayerTypeXY = 1,
  270. miBindLayerTypePointRef = 2
  271. };
  272. enum ExportFormatConstants
  273. {
  274. miFormatWMF = 0,
  275. miFormatBMP = 1,
  276. miFormatGIF = 2,
  277. miFormatJPEG = 3,
  278. miFormatTIF = 4,
  279. miFormatPNG = 5,
  280. miFormatPSD = 6
  281. };
  282. enum FeatureTypeConstants
  283. {
  284. miFeatureTypeRegion = 0,
  285. miFeatureTypeLine = 1,
  286. miFeatureTypeSymbol = 2,
  287. miFeatureTypeMixed = 3,
  288. miFeatureTypeUnknown = 4,
  289. miFeatureTypeText = 5,
  290. miFeatureTypeNull = 6
  291. };
  292. enum LineTypeConstants
  293. {
  294. miLineTypeNone = 0,
  295. miLineTypeSimple = 1,
  296. miLineTypeArrow = 2
  297. };
  298. enum PositionConstants
  299. {
  300. miPositionCC = 0,
  301. miPositionTL = 1,
  302. miPositionTC = 2,
  303. miPositionTR = 3,
  304. miPositionCL = 4,
  305. miPositionCR = 5,
  306. miPositionBL = 6,
  307. miPositionBC = 7,
  308. miPositionBR = 8
  309. };
  310. enum SearchTypeConstants
  311. {
  312. miSearchTypeCentroidWithin = 0,
  313. miSearchTypePartiallyWithin = 1,
  314. miSearchTypeEntirelyWithin = 2
  315. };
  316. enum LayerTypeConstants
  317. {
  318. miLayerTypeNormal = 0,
  319. miLayerTypeRaster = 2,
  320. miLayerTypeSeamless = 4,
  321. miLayerTypeUnknown = 5,
  322. miLayerTypeUserDraw = 6,
  323. miLayerTypeDrilldown = 7,
  324. };
  325. enum AreaUnitConstants
  326. {
  327. miUnitSquareMile = 14,
  328. miUnitSquareKilometer = 15,
  329. miUnitSquareInch = 16,
  330. miUnitSquareFoot = 17,
  331. miUnitSquareYard = 18,
  332. miUnitSquareMillimeter = 19,
  333. miUnitSquareCentimeter = 20,
  334. miUnitSquareMeter = 21,
  335. miUnitSquareSurveyFoot = 22,
  336. miUnitSquareNauticalMile = 23,
  337. miUnitSquareTwip = 24,
  338. miUnitSquarePoint = 25,
  339. miUnitSquarePica = 26,
  340. miUnitSquareDegree = 27,
  341. miUnitAcre = 28,
  342. miUnitHectare = 29,
  343. miUnitSquareLink = 33,
  344. miUnitSquareChain = 34,
  345. miUnitSquareRod = 35,
  346. miUnitPerch = 36,
  347. miUnitRood = 37
  348. };
  349. enum CircleTypeConstants
  350. {
  351. miCircleTypeScreen= 0,
  352. miCircleTypeMap = 1,
  353. };
  354. enum CoordSysTypeConstants
  355. {
  356. miNonEarth = 0,
  357. miLongLat = 1,
  358. miCylindricalEqualArea = 2,
  359. miLambertConformalConic = 3,
  360. miLambertAzimuthalEqualArea = 4,
  361. miAzimuthalEquidistant = 5,
  362. miEquidistantConic = 6,
  363. miHotineObliqueMercator = 7,
  364. miTransverseMercator = 8,
  365. miAlbersEqualAreaConic = 9,
  366. miMercator = 10,
  367. miMillerCylindrical = 11,
  368. miRobinson = 12,
  369. miMollweide = 13,
  370. miEckertIV = 14,
  371. miEckertVI = 15,
  372. miSinusoidal = 16,
  373. miGall = 17,
  374. miNewZealandMapGrid = 18,
  375. miLambertConformalConicBelgium = 19,
  376. miStereographic = 20,
  377. miTransverseMercatorDenmarkS34J = 21,
  378. miTransverseMercatorDenmarkS34S = 22,
  379. miTransverseMercatorDenmarkS45B = 23,
  380. miTransverseMercatorFinland = 24,
  381. miSwissObliqueMercator = 25
  382. };
  383. enum SymbolTypeConstants
  384. {
  385. miSymbolTypeTrueTypeFont = 0,
  386. miSymbolTypeBitmap = 1,
  387. miSymbolTypeVector = 2
  388. };
  389. enum ColorConstants
  390. {
  391. miColorBlack = 0,
  392. miColorRed = 255,
  393. miColorGreen = 65280,
  394. miColorBlue = 16711680,
  395. miColorMagenta = 16711935,
  396. miColorCyan = 16776960,
  397. miColorWhite = 16777215,
  398. miColorLightGray = 12632256,
  399. miColorDarkGray = 4210752,
  400. miColorGray = 8421504,
  401. miColorPaleYellow = 13697023,
  402. miColorLightYellow = 8454143,
  403. miColorYellow = 65535,
  404. miColorLimeGreen = 12639424,
  405. miColorTeal = 8421440,
  406. miColorDarkGreen = 16384,
  407. miColorMaroon = 128,
  408. miColorPurple = 8388736,
  409. miColorOrange = 33023,
  410. miColorKhaki = 7051175,
  411. miColorOlive = 32896,
  412. miColorBrown = 4210816,
  413. miColorNavy = 8404992,
  414. miColorScrollBars = 0x80000000,
  415. miColorDesktop = 0x80000001,
  416. miColorActiveTitleBar = 0x80000002,
  417. miColorInactiveTitleBar = 0x80000003,
  418. miColorMenuBar = 0x80000004,
  419. miColorWindowBackground = 0x80000005,
  420. miColorWindowFrame = 0x80000006,
  421. miColorMenuText = 0x80000007,
  422. miColorWindowText = 0x80000008,
  423. miColorTitleBarText = 0x80000009,
  424. miColorActiveBorder = 0x8000000A,
  425. miColorInactiveBorder = 0x8000000B,
  426. miColorApplicationWorkspace = 0x8000000C,
  427. miColorHighlight = 0x8000000D,
  428. miColorHighlightText = 0x8000000E,
  429. miColorButtonFace = 0x8000000F,
  430. miColorButtonShadow = 0x80000010,
  431. miColorGrayText = 0x80000011,
  432. miColorButtonText = 0x80000012,
  433. miColorInactiveCaptionText = 0x80000013,
  434. miColor3DHighlight = 0x80000014,
  435. miColor3DDarkShadow = 0x80000015,
  436. miColor3DLight = 0x80000016,
  437. miColorInfoText = 0x80000017,
  438. miColorInfoBackground = 0x80000018,
  439. };
  440. enum IntersectionTestConstants
  441. {
  442. miIntersectCentroidWithinFeature = 0,
  443. miIntersectFeature = 1,
  444. miIntersectEntirelyWithinFeature = 2
  445. };
  446. enum IntersectionPointConstants
  447. {
  448. miIntersectCrossings = 9,
  449. miIntersectCommon = 10,
  450. miIntersectAll = 11
  451. };
  452. enum MousewheelSupportConstants
  453. {
  454. miNoMousewheelSupport = 1,
  455. miMousewheelNoAutoScroll = 2,
  456. miFullMousewheelSupport = 3
  457. };
  458. enum StyleUnitConstants
  459. {
  460. miStyleUnitPixel = 0,
  461. miStyleUnitTenthsOfPoint = 1
  462. };
  463. enum ServerLayerOptions // bit mask for long, must be power of 2
  464. {
  465. miLayerCacheOn = 0, // default = Cache on
  466. miLayerMBRSearchOn = 0, // default = Search on
  467. miLayerCacheOff = 1,
  468. miMBRSearchOff  = 2
  469. };
  470. enum LayerBeginAccessConstants
  471. {
  472. miAccessRead= 0,
  473. miAccessReadWrite = 1,
  474. };
  475. enum LayerEndAccessConstants
  476. {
  477. miAccessEnd= 0,
  478. };
  479. enum GraduationConstants
  480. {
  481. miGraduateBySquareRoot = 0,
  482. miGraduateByConstant = 1,
  483. miGraduateByLogarithm = 2
  484. };
  485. enum LayerInfoTypeConstants
  486. {
  487. miLayerInfoTypeTab = 0,
  488. miLayerInfoTypeUserDraw = 1,
  489. miLayerInfoTypeRaster = 2,
  490. miLayerInfoTypeShape = 3,
  491. miLayerInfoTypeServer = 4,
  492. miLayerInfoTypeGeodictUserName = 5,
  493. miLayerInfoTypeTemp = 6,
  494. miLayerInfoTypeNewTable = 7
  495. };
  496. enum MapDrawConstants
  497. {
  498. miDrawBegin = 1,
  499. miDrawEnd = 2
  500. };
  501. enum ColorSpreadingMethodConstants
  502. {
  503. miColorMethodRGB = 0,
  504. miColorMethodHSV = 1
  505. };
  506. enum ApplyAttributeConstants
  507. {
  508. miApplyAttributeAll = 0,
  509. miApplyAttributeColor = 1,
  510. miApplyAttributeSize = 2
  511. };
  512. enum ToolFlagConstants
  513. {
  514. miToolBegin = 0,
  515. miToolEnd = 1,
  516. miToolEndEscaped = 2,
  517. miToolInProgress = 3,
  518. miToolCompleted = 4
  519. };
  520. enum FeatureEditModeConstants
  521. {
  522. miEditModeFeature = 1,
  523. miEditModeNode = 2,
  524. miMoveDuplicateNodes = 4,
  525. miDeleteDuplicateNodes = 8,
  526. miEditModeAddNode = 64
  527. };
  528. // forward delcarations
  529. class CMapXAnnotation;
  530. class CMapXAnnotations;
  531. class CMapXBitmapSymbol;
  532. class CMapXBitmapSymbols;
  533. class CMapXCoordSys;
  534. class CMapXDataset;
  535. class CMapXDatasets;
  536. class CMapXFeature;
  537. class CMapXFeatureFactory;
  538. class CMapXFeatures;
  539. class CMapXField;
  540. class CMapXFields;
  541. class CMapXFindFeature;
  542. class CMapXFindMatch;
  543. class CMapXFindMatches;
  544. class CMapXFindResult;
  545. class CMapXGeoset;
  546. class CMapXGeosets;
  547. class CMapXGraphic;
  548. class CMapXIndividualValueCategories;
  549. class CMapXIndividualValueCategory;
  550. class CMapXLabelProperties;
  551. class CMapXLayer;
  552. class CMapXLayerFind;
  553. class CMapXLayerInfo;
  554. class CMapXLayers;
  555. class CMapXLegend;
  556. class CMapXLegendText;
  557. class CMapXLegendTexts;
  558. class CMapXMultivarCategories;
  559. class CMapXMultivarCategory;
  560. class CMapXParts;
  561. class CMapXPoint;
  562. class CMapXPoints;
  563. class CMapXRangeCategories;
  564. class CMapXRangeCategory;
  565. class CMapXRectangle;
  566. class CMapXResolveObject;
  567. class CMapXResolveObjects;
  568. class CMapXRowValue;
  569. class CMapXRowValues;
  570. class CMapXSelection;
  571. class CMapXSourceRow;
  572. class CMapXSourceRows;
  573. class CMapXStyle;
  574. class CMapXTheme;
  575. class CMapXThemeProperties;
  576. class CMapXThemes;
  577. class CMapXTitle;
  578. class CMapXVariable;
  579. class CMapXVariables;
  580. class COptionalVariant;
  581. // simple class to pass to methods that take
  582. // a variant that we want to mark as optional (not supplied by the method call)
  583. class COptionalVariant: public COleVariant
  584. {
  585. public:
  586. COptionalVariant() { vt = VT_ERROR; scode = DISP_E_PARAMNOTFOUND; }
  587. };
  588. // another helper class to handle dispatch variants
  589. class COleVariantDispatch: public COleVariant
  590. {
  591. public:
  592. COleVariantDispatch(LPDISPATCH pdisp)
  593. {
  594. vt = VT_DISPATCH;
  595. pdispVal = pdisp;
  596. pdispVal->AddRef();
  597. }
  598. };
  599. // to derive CMapX from COleDispatchDriver instead of CWnd,
  600. // comment out the next line
  601. #define CWND_MAPX
  602. /////////////////////////////////////////////////////////////////////////////
  603. // CMapX wrapper class
  604. #ifdef CWND_MAPX
  605. //----------------------------
  606. class CMapX : public CWnd
  607. {
  608. protected:
  609. DECLARE_DYNCREATE(CMapX)
  610. public:
  611. CLSID const& GetClsid()
  612. {
  613. static CLSID const clsid =
  614. { 0x9d6ed188, 0x5910, 0x11d2,  { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  615. return clsid;
  616. }
  617. virtual BOOL Create(LPCTSTR lpszClassName,
  618. LPCTSTR lpszWindowName, DWORD dwStyle,
  619. const RECT& rect,
  620. CWnd* pParentWnd, UINT nID,
  621. CCreateContext* pContext = NULL)
  622. { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
  623. BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
  624. const RECT& rect, CWnd* pParentWnd, UINT nID,
  625. CFile* pPersist = NULL, BOOL bStorage = FALSE,
  626. BSTR bstrLicKey = NULL)
  627. { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
  628. pPersist, bStorage, bstrLicKey); }
  629. #else
  630. class CMapX : public COleDispatchDriver
  631. {
  632. public:
  633. CLSID const& GetClsid()
  634. {
  635. static CLSID const clsid =
  636. { 0x9d6ed188, 0x5910, 0x11d2,  { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  637. return clsid;
  638. }
  639. #endif //of #ifdef CWND_MAPX
  640. // default bAddRef is false because you don't need to addref
  641. // when passing result to Feature.Attach();
  642. LPDISPATCH GetDispatch(BOOL bAddRef=FALSE);
  643. // Attributes
  644. public:
  645. CString GetDataSetGeoField();
  646. void SetDataSetGeoField(LPCTSTR);
  647. CString GetVersion();
  648. OLE_HANDLE GetHWnd();
  649. CMapXAnnotations GetAnnotations();
  650. CMapXLayers GetLayers();
  651. BOOL GetAutoRedraw();
  652. void SetAutoRedraw(BOOL);
  653. double GetZoom();
  654. void SetZoom(double);
  655. double GetCenterX();
  656. void SetCenterX(double);
  657. double GetCenterY();
  658. void SetCenterY(double);
  659. CString GetGeoSet();
  660. void SetGeoSet(LPCTSTR);
  661. double GetGeoSetWidth();
  662. double GetMapPaperHeight();
  663. double GetMapPaperWidth();
  664. short GetMaxSearchTime();
  665. void SetMaxSearchTime(short);
  666. long GetPaperUnit();
  667. void SetPaperUnit(long);
  668. BOOL GetPreferCompactLegends();
  669. void SetPreferCompactLegends(BOOL);
  670. CMapXStyle GetDefaultStyle();
  671. void SetDefaultStyle(LPDISPATCH);
  672. CString GetGeoDictionary();
  673. // this method currently will not work in 'run' mode. which
  674. // is the only mode MFC Control containers support, so don't bother calling it.
  675. void SetGeoDictionary(LPCTSTR);
  676. long GetDataSetTheme();
  677. void SetDataSetTheme(long);
  678. long GetCurrentTool();
  679. void SetCurrentTool(long);
  680. long GetMousePointer();
  681. void SetMousePointer(long);
  682. CMapXDatasets GetDatasets();
  683. CMapXTitle GetTitle();
  684. CString GetTitleText();
  685. void SetTitleText(LPCTSTR);
  686. long GetMapUnit();
  687. void SetMapUnit(long);
  688. double GetRotation();
  689. void SetRotation(double);
  690. CMapXGeosets GetGeosets();
  691. long GetAreaUnit();
  692. void SetAreaUnit(long);
  693. CMapXRectangle GetBounds();
  694. void SetBounds(LPDISPATCH);
  695. CMapXCoordSys GetDisplayCoordSys();
  696. void SetDisplayCoordSys(LPDISPATCH);
  697. CMapXCoordSys GetNumericCoordSys();
  698. void SetNumericCoordSys(LPDISPATCH);
  699. BOOL GetExportSelection();
  700. void SetExportSelection(BOOL);
  701. CMapXStyle GetSelectionStyle();
  702. void SetSelectionStyle(LPDISPATCH);
  703. CMapXFeatureFactory GetFeatureFactory();
  704. long GetDefaultConversionResolution();
  705. void SetDefaultConversionResolution(long);
  706. OLE_COLOR GetBackColor();
  707. void SetBackColor(OLE_COLOR);
  708. long GetMousewheelSupport();
  709. void SetMousewheelSupport(long);
  710. BOOL GetMatchNumericFields();
  711. void SetMatchNumericFields(BOOL);
  712. double GetMapScreenWidth();
  713. double GetMapScreenHeight();
  714. long GetRedrawInterval();
  715. void SetRedrawInterval(long l);
  716. CString GetSearchPath();
  717. void SetSearchPath(LPCTSTR propVal);
  718. short GetMatchThreshold();
  719. void SetMatchThreshold(short l);
  720. BOOL GetWaitCursorEnabled();
  721. void SetWaitCursorEnabled(BOOL b);
  722. BOOL GetPanAnimationLayer();
  723. void SetPanAnimationLayer(BOOL b);
  724. long GetInfotipPopupDelay();
  725. void SetInfotipPopupDelay(long propVal);
  726. CString GetMouseIcon();
  727. void SetMouseIcon(LPCTSTR propVal);
  728. BOOL GetInfotipSupport();
  729. void SetInfotipSupport(BOOL b);
  730. short GetFeatureEditMode();
  731. void SetFeatureEditMode(short);
  732. long GetCheckEscapeKeyInterval();
  733. void SetCheckEscapeKeyInterval(long);
  734. // Operations
  735. public:
  736. void ConvertCoord(float* ScreenX, float* ScreenY, double* MapX, double* MapY, short Direction);
  737. void ZoomTo(double Zoom, double X, double Y);
  738. void CreateCustomTool(short ToolNumber, short Type, const VARIANT& Cursor, const VARIANT& ShiftCursor, const VARIANT& CtrlCursor, const VARIANT& bInfoTips);
  739. void CreateCustomTool(short ToolNumber, short Type, short Cursor)
  740. { CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COptionalVariant()); }
  741. void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor)
  742. { CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COptionalVariant()); }
  743. void CreateCustomTool(short ToolNumber, short Type, short Cursor, bool bInfoTips)
  744. {
  745. short sInfoTips = (short) bInfoTips;
  746. CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COleVariant(sInfoTips));
  747. }
  748. void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor, bool bInfoTips)
  749. {
  750. short sInfoTips = (short) bInfoTips;
  751. CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COptionalVariant(), COptionalVariant(), COleVariant(sInfoTips));
  752. }
  753. void CreateCustomTool(short ToolNumber, short Type, short Cursor, short ShiftCursor, short CtrlCursor)
  754. { CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COleVariant(ShiftCursor), COleVariant(CtrlCursor), COptionalVariant()); }
  755. void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor, LPCTSTR ShiftCursor, LPCTSTR CtrlCursor)
  756. { CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COleVariant(ShiftCursor), COleVariant(CtrlCursor), COptionalVariant()); }
  757. void CreateCustomTool(short ToolNumber, short Type, short Cursor, short ShiftCursor, short CtrlCursor, bool bInfoTips)
  758. {
  759. short sInfoTips = (short) bInfoTips;
  760. CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COleVariant(ShiftCursor), COleVariant(CtrlCursor), COleVariant(sInfoTips));
  761. }
  762. void CreateCustomTool(short ToolNumber, short Type, LPCTSTR Cursor, LPCTSTR ShiftCursor, LPCTSTR CtrlCursor, bool bInfoTips)
  763. {
  764. short sInfoTips = (short) bInfoTips;
  765. CreateCustomTool(ToolNumber, Type, COleVariant(Cursor), COleVariant(ShiftCursor), COleVariant(CtrlCursor), COleVariant(sInfoTips));
  766. }
  767. double Distance(double X1, double Y1, double X2, double Y2);
  768. void Refresh();
  769. void PrintMap(long hDC, long X, long Y, long W, long H);
  770. void ExportMap(LPCTSTR Destination, short Format, const VARIANT& Width, const VARIANT& Height);
  771. void ExportMap(LPCTSTR Destination, short Format)
  772. { ExportMap(Destination, Format, COptionalVariant(), COptionalVariant()); }
  773. void ExportMap(LPCTSTR Destination, short Format, double Width, double Height)
  774. { ExportMap(Destination, Format, COleVariant(Width), COleVariant(Height)); }
  775. void PropertyPage();
  776. void ConvertCoordV(VARIANT* ScreenX, VARIANT* ScreenY, VARIANT* MapX, VARIANT* MapY, short Direction);
  777. void SetSize(long Width, long Height);
  778. BOOL IsPointVisible(double X, double Y);
  779. BOOL ClipLine(double* X1, double* Y1, double* X2, double* Y2);
  780. BOOL ClipLineV(VARIANT* X1, VARIANT* Y1, VARIANT* X2, VARIANT* Y2);
  781. void SaveMapAsGeoset(LPCTSTR Name, LPCTSTR Filespec);
  782. void Pan(float ScreenX, float ScreenY);
  783. void AboutBox();
  784. };
  785. // EVENT Prototypes
  786. // For dispatch objects passed to events, the event handler should not change the reference count
  787. // ie: do not call release on the object because an ocx does not do an addref before passing the
  788. // object to the event
  789. /*
  790. void Click();
  791. void DblClick();
  792. void Error(short Number, BSTR* Description, long Scode, LPCTSTR Source, LPCTSTR HelpFile, long HelpContext, BOOL* CancelDisplay);
  793. void KeyDown(short* KeyCode, short Shift);
  794. void KeyPress(short* KeyAscii);
  795. void KeyUp(short* KeyCode, short Shift);
  796. void MouseMove(short Button, short Shift, float X, float Y);
  797. void MouseDown(short Button, short Shift, float X, float Y);
  798. void MouseUp(short Button, short Shift, float X, float Y);
  799. void SelectionChanged();
  800. void ResolveDataBind(short Flag, short NumMatches, const VARIANT& Matches, short* Choice, BOOL* Cancel);
  801. void ToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault);
  802. void RequestData(LPCTSTR DataSetName, long Row, short Field, VARIANT* Value, BOOL* Done);
  803. void DataMismatch(LPCTSTR DataSetName, long Row, BSTR* GeoFieldValue);
  804. void MapViewChanged();
  805. void AnnotationAdded(LPDISPATCH Annotation);
  806. void AnnotationChanged(short ChangeType, LPDISPATCH Annotation, BOOL* EnableDefault);
  807. void ThemeModifyRequested(LPDISPATCH Theme);
  808. void DrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid);
  809. void PolyToolUsed(short ToolNum, long Flags, LPDISPATCH Points, BOOL bShift, BOOL bCtrl, BOOL FAR* EnableDefault)
  810. void ResolveDataBindEx(short Flag, short NumMatches, const VARIANT& Matches, short* Choice, BOOL* Cancel);
  811. void MapDraw(short Flag);
  812. void AddFeatureToolUsed(short ToolNum, long Flags, IDispatch* Feature, boolean bShift, boolean bCtrl, boolean* EnableDefault);
  813. */
  814. /////////////////////////////////////////////////////////////////////////////
  815. // CMapXSourceRow wrapper class
  816. class CMapXSourceRow : public COleDispatchDriver
  817. {
  818. public:
  819. CMapXSourceRow() {} // Calls COleDispatchDriver default constructor
  820. CMapXSourceRow(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  821. CMapXSourceRow(const CMapXSourceRow& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  822. // Attributes
  823. public:
  824. long GetRow();
  825. // Operations
  826. public:
  827. };
  828. /////////////////////////////////////////////////////////////////////////////
  829. // CMapXSourceRows wrapper class
  830. class CMapXSourceRows : public COleDispatchDriver
  831. {
  832. public:
  833. CMapXSourceRows() {} // Calls COleDispatchDriver default constructor
  834. CMapXSourceRows(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  835. CMapXSourceRows(const CMapXSourceRows& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  836. CMapXSourceRow operator[](long Index) { return Item(Index); }
  837. // Attributes
  838. public:
  839. LPENUMVARIANT GetEnumerator();
  840. long GetCount();
  841. // Operations
  842. public:
  843. CMapXSourceRow Item(const VARIANT& Index);
  844. CMapXSourceRow Item(long Index) { return Item(COleVariant(Index)); }
  845. };
  846. /////////////////////////////////////////////////////////////////////////////
  847. // CMapXRowValues wrapper class
  848. class CMapXRowValues : public COleDispatchDriver
  849. {
  850. public:
  851. CMapXRowValues() {} // Calls COleDispatchDriver default constructor
  852. CMapXRowValues(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  853. CMapXRowValues(const CMapXRowValues& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  854. CLSID const& GetClsid()
  855. {
  856. static CLSID clsid =
  857. { 0x7a5ffdc1, 0xfe6c, 0x11d2, { 0x98, 0xa9, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  858. return clsid;
  859. }
  860. // Attributes
  861. public:
  862. LPENUMVARIANT GetEnumerator();
  863. long GetCount();
  864. BOOL GetReadOnly();
  865. // Operations
  866. public:
  867. CMapXRowValue Item(const VARIANT& Index);
  868. void Remove(const VARIANT& Index);
  869. CMapXRowValue Add(LPDISPATCH RowValue);
  870. void RemoveAll();
  871. CMapXRowValues Clone();
  872. };
  873. /////////////////////////////////////////////////////////////////////////////
  874. // CMapXRowValue wrapper class
  875. class CMapXRowValue : public COleDispatchDriver
  876. {
  877. public:
  878. CMapXRowValue() {} // Calls COleDispatchDriver default constructor
  879. CMapXRowValue(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  880. CMapXRowValue(const CMapXRowValue& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  881. CLSID const& GetClsid()
  882. {
  883. static CLSID clsid =
  884. { 0x2ef654e1, 0xfe50, 0x11d2, { 0x98, 0xa9, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  885. return clsid;
  886. }
  887. // Attributes
  888. public:
  889. BOOL GetReadOnly();
  890. LPDISPATCH GetDataset();
  891. void SetDataset(LPDISPATCH);
  892. LPDISPATCH GetField();
  893. void SetField(LPDISPATCH);
  894. VARIANT GetValue();
  895. void SetValue(const VARIANT&);
  896. // Operations
  897. public:
  898. };
  899. /////////////////////////////////////////////////////////////////////////////
  900. // CMapXDataset wrapper class
  901. class CMapXDataset : public COleDispatchDriver
  902. {
  903. public:
  904. CMapXDataset() {} // Calls COleDispatchDriver default constructor
  905. CMapXDataset(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  906. CMapXDataset(const CMapXDataset& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  907. // Attributes
  908. public:
  909. CString GetName();
  910. void SetName(LPCTSTR);
  911. long GetRowCount();
  912. CMapXFields GetFields();
  913. CMapXThemes GetThemes();
  914. long GetGeoField();
  915. long GetSecondaryGeoField();
  916. CMapXLayer GetLayer();
  917. short GetType();
  918. BOOL GetReadOnly();
  919. // Operations
  920. public:
  921. void Refresh();
  922. VARIANT GetValue(const VARIANT& Row, const VARIANT& Column);
  923. VARIANT GetValue(long Row, long Column)
  924. { return GetValue(COleVariant(Row), COleVariant(Column)); }
  925. VARIANT GetValue(long Row, LPCTSTR Column)
  926. { return GetValue(COleVariant(Row), COleVariant(Column)); }
  927. CMapXSourceRows GetSourceRows(const VARIANT& Row);
  928. CMapXSourceRows GetSourceRows(long Row)
  929. { return GetSourceRows(COleVariant(Row)); }
  930. CMapXRowValues GetRowValues(const VARIANT& Row);
  931. CMapXRowValues GetRowValues(long Row)
  932. { return GetRowValues(COleVariant(Row)); }
  933. CMapXField AddField(LPCTSTR Name, LPCTSTR Expression);
  934. };
  935. /////////////////////////////////////////////////////////////////////////////
  936. // CMapXDatasets wrapper class
  937. class CMapXDatasets : public COleDispatchDriver
  938. {
  939. public:
  940. CMapXDatasets() {} // Calls COleDispatchDriver default constructor
  941. CMapXDatasets(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  942. CMapXDatasets(const CMapXDatasets& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  943. // Attributes
  944. public:
  945. LPENUMVARIANT GetEnumerator();
  946. long GetCount();
  947. CMapXDataset operator[](long Index) { return Item(Index); }
  948. CMapXDataset operator[](LPCTSTR Index) { return Item(Index); }
  949. BOOL GetBuildSourceRows();
  950. void SetBuildSourceRows(BOOL b);
  951. // Operations
  952. public:
  953. CMapXDataset Add(long Type, const VARIANT& SourceData, const VARIANT& Name, const VARIANT& GeoField, const VARIANT& SecondaryGeoField, const VARIANT& BindLayer, const VARIANT& Fields, const VARIANT& Dynamic);
  954. CMapXDataset Add(short Type, const VARIANT& SourceData, LPCTSTR Name=NULL, long GeoField=0)
  955. { return Add( Type, SourceData, COleVariant(Name), COleVariant(GeoField),
  956. COptionalVariant(), COptionalVariant(), COptionalVariant(), COptionalVariant());
  957. }
  958. CMapXDataset Item(const VARIANT& Index);
  959. CMapXDataset Item(long Index) { return Item(COleVariant(Index)); }
  960. CMapXDataset Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  961. void Remove(const VARIANT& Index);
  962. void Remove(long Index) { Remove(COleVariant(Index)); }
  963. void Remove(LPCTSTR Index) { Remove(COleVariant(Index)); }
  964. CMapXDataset Restore(LPCTSTR Name, const VARIANT& SourceData);
  965. void RemoveAll();
  966. };
  967. /////////////////////////////////////////////////////////////////////////////
  968. // CMapXLabelProperties wrapper class
  969. class CMapXLabelProperties : public COleDispatchDriver
  970. {
  971. public:
  972. CMapXLabelProperties() {} // Calls COleDispatchDriver default constructor
  973. CMapXLabelProperties(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  974. CMapXLabelProperties(const CMapXLabelProperties& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  975. // Attributes
  976. public:
  977. CMapXStyle GetStyle();
  978. void SetStyle(LPDISPATCH);
  979. BOOL GetVisible();
  980. void SetVisible(BOOL);
  981. BOOL GetLabelZoom();
  982. void SetLabelZoom(BOOL);
  983. double GetLabelZoomMin();
  984. void SetLabelZoomMin(double);
  985. double GetLabelZoomMax();
  986. void SetLabelZoomMax(double);
  987. short GetLineType();
  988. void SetLineType(short);
  989. short GetOffset();
  990. void SetOffset(short);
  991. BOOL GetParallel();
  992. void SetParallel(BOOL);
  993. CMapXDataset GetDataset();
  994. void SetDataset(LPDISPATCH);
  995. BOOL GetDuplicate();
  996. void SetDuplicate(BOOL);
  997. BOOL GetOverlap();
  998. void SetOverlap(BOOL);
  999. short GetLabelMax();
  1000. void SetLabelMax(short);
  1001. CMapXField GetDataField();
  1002. void SetDataField(LPDISPATCH);
  1003. short GetPosition();
  1004. void SetPosition(short);
  1005. BOOL GetPartialSegments();
  1006. void SetPartialSegments(BOOL);
  1007. // Operations
  1008. public:
  1009. };
  1010. /////////////////////////////////////////////////////////////////////////////
  1011. // CMapXFeature wrapper class
  1012. class CMapXFeature : public COleDispatchDriver
  1013. {
  1014. public:
  1015. CMapXFeature() {} // Calls COleDispatchDriver default constructor
  1016. CMapXFeature(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1017. CMapXFeature(const CMapXFeature& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1018. CLSID const& GetClsid()
  1019. {
  1020. static CLSID clsid =
  1021. { 0x9d6ed187, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  1022. return clsid;
  1023. }
  1024. // Attributes
  1025. public:
  1026. long GetFeatureID();
  1027. short GetType();
  1028. void SetType(short);
  1029. double GetLength();
  1030. double GetCenterX();
  1031. double GetCenterY();
  1032. CMapXStyle GetStyle();
  1033. void SetStyle(LPDISPATCH);
  1034. CMapXRectangle GetBounds();
  1035. CMapXParts GetParts();
  1036. double GetArea();
  1037. CMapXLayer GetLayer();
  1038. CString GetCaption();
  1039. void SetCaption(LPCTSTR);
  1040. CMapXPoint GetPoint();
  1041. void SetPoint(LPDISPATCH);
  1042. CMapXPoint GetLabelPoint();
  1043. double GetPerimeter();
  1044. BOOL GetSmooth();
  1045. void SetSmooth(BOOL);
  1046. CString GetName();
  1047. CString GetKeyValue();
  1048. void SetKeyValue(LPCTSTR);
  1049. CString GetFeatureKey();
  1050. // Operations
  1051. public:
  1052. void Update(const VARIANT& UpdateFeature, const VARIANT& RowValues);
  1053. void Update(bool UpdateFeature, LPDISPATCH RowValues)
  1054. { Update(COleVariant((short)UpdateFeature), COleVariantDispatch(RowValues)); }
  1055. void Update(bool UpdateFeature)
  1056. {
  1057. short sUpdateFeature = (short) UpdateFeature;
  1058. Update(COleVariant(sUpdateFeature), COptionalVariant());
  1059. }
  1060. void Update(LPDISPATCH RowValues)
  1061. {
  1062. Update(COptionalVariant(), COleVariantDispatch(RowValues));
  1063. }
  1064. void Update()
  1065. { Update(COptionalVariant(), COptionalVariant()); }
  1066. void Offset(double deltaX, double deltaY);
  1067. void Attach(LPDISPATCH Map);
  1068. CMapXFeature Clone();
  1069. VARIANT GetNodes(const VARIANT& CSys);
  1070. VARIANT GetNodes()
  1071. { return GetNodes(COptionalVariant()); }
  1072. void SetNodes(const VARIANT& CSys, const VARIANT& newValue);
  1073. // Obsolete. You should use GetNodes(CSys) instead:
  1074. VARIANT Nodes(const VARIANT& CSys);
  1075. // Obsolete. You should use GetNodes() instead:
  1076. VARIANT Nodes()
  1077. { return Nodes(COptionalVariant()); }
  1078. };
  1079. /////////////////////////////////////////////////////////////////////////////
  1080. // CMapXFeatures wrapper class
  1081. class CMapXFeatures : public COleDispatchDriver
  1082. {
  1083. public:
  1084. CMapXFeatures() {} // Calls COleDispatchDriver default constructor
  1085. CMapXFeatures(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1086. CMapXFeatures(const CMapXFeatures& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1087. CMapXFeature operator[](long Index) { return Item(Index); }
  1088. // Attributes
  1089. public:
  1090. LPENUMVARIANT GetEnumerator();
  1091. long GetCount();
  1092. CMapXRectangle GetBounds();
  1093. // Operations
  1094. public:
  1095. CMapXFeature Item(const VARIANT& Index);
  1096. CMapXFeature Item(long Index) { return Item(COleVariant(Index)); }
  1097. void Remove(const VARIANT& Source);
  1098. void Remove(long Index) { Remove(COleVariant(Index)); }
  1099. void Remove(LPDISPATCH Source=NULL)
  1100. { Remove(COleVariantDispatch(Source)); }
  1101. CMapXFeatures Clone();
  1102. void AddByID(const VARIANT& FeatureID);
  1103. void AddByID(long FeatureID)
  1104. { AddByID(COleVariant(FeatureID)); }
  1105. void AddByID(LPCTSTR FeatureID)
  1106. { AddByID(COleVariant(FeatureID)); }
  1107. void RemoveByID(const VARIANT& FeatureID);
  1108. void RemoveByID(long FeatureID)
  1109. { RemoveByID(COleVariant(FeatureID)); }
  1110. void RemoveByID(LPCTSTR FeatureID)
  1111. { RemoveByID(COleVariant(FeatureID)); }
  1112. void Add(LPDISPATCH Source);
  1113. void Common(LPDISPATCH Source);
  1114. void Replace(LPDISPATCH Source);
  1115. };
  1116. /////////////////////////////////////////////////////////////////////////////
  1117. // CMapXLayer wrapper class
  1118. class CMapXLayer : public COleDispatchDriver
  1119. {
  1120. public:
  1121. CMapXLayer() {} // Calls COleDispatchDriver default constructor
  1122. CMapXLayer(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1123. CMapXLayer(const CMapXLayer& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1124. // Attributes
  1125. public:
  1126. CString GetName();
  1127. void SetName(LPCTSTR);
  1128. BOOL GetVisible();
  1129. void SetVisible(BOOL);
  1130. BOOL GetSelectable();
  1131. void SetSelectable(BOOL);
  1132. CString GetFilespec();
  1133. CMapXLabelProperties GetLabelProperties();
  1134. CMapXLabelProperties GetLabel() { return GetLabelProperties(); }
  1135. BOOL GetAutoLabel();
  1136. void SetAutoLabel(BOOL);
  1137. BOOL GetZoomLayer();
  1138. void SetZoomLayer(BOOL);
  1139. BOOL GetOverrideStyle();
  1140. void SetOverrideStyle(BOOL);
  1141. CMapXStyle GetStyle();
  1142. void SetStyle(LPDISPATCH);
  1143. double GetZoomMin();
  1144. void SetZoomMin(double);
  1145. double GetZoomMax();
  1146. void SetZoomMax(double);
  1147. CMapXSelection GetSelection();
  1148. short GetPredominantFeatureType();
  1149. CMapXLayerFind GetFind();
  1150. short GetType();
  1151. CString GetKeyField();
  1152. void SetKeyField(LPCTSTR);
  1153. CMapXCoordSys GetCoordSys();
  1154. CMapXRectangle GetBounds();
  1155. BOOL GetDrawLabelsAfter();
  1156. void SetDrawLabelsAfter(BOOL);
  1157. CMapXDatasets GetDatasets();
  1158. BOOL GetShowNodes();
  1159. void SetShowNodes(BOOL propVal);
  1160. BOOL GetShowCentroids();
  1161. void SetShowCentroids(BOOL propVal);
  1162. BOOL GetShowLineDirection();
  1163. void SetShowLineDirection(BOOL propVal);
  1164. BOOL GetEditable();
  1165. void SetEditable(BOOL propVal);
  1166. // Operations
  1167. public:
  1168. void LabelAtPoint(double X, double Y);
  1169. void ClearCustomLabels();
  1170. CMapXFeature AddFeature(LPDISPATCH Source, const VARIANT& RowValues);
  1171. CMapXFeature AddFeature(LPDISPATCH Source)
  1172. { return AddFeature(Source, COptionalVariant()); }
  1173. CMapXFeature AddFeature(LPDISPATCH Source, LPDISPATCH RowValues)
  1174. {
  1175. return AddFeature(Source, COleVariantDispatch(RowValues));
  1176. }
  1177. void UpdateFeature(const VARIANT& Target, const VARIANT& Source, const VARIANT& RowValues);
  1178. void UpdateFeature(LPDISPATCH Target, LPDISPATCH Source, LPDISPATCH RowValues)
  1179. {
  1180. UpdateFeature(COleVariantDispatch(Target), COleVariantDispatch(Source), COleVariantDispatch(RowValues));
  1181. }
  1182. void UpdateFeature(LPCTSTR Target, LPDISPATCH Source, LPDISPATCH RowValues)
  1183. {
  1184. UpdateFeature(COleVariant(Target), COleVariantDispatch(Source), COleVariantDispatch(RowValues));
  1185. }
  1186. void UpdateFeature(long Target, LPDISPATCH Source, LPDISPATCH RowValues)
  1187. {
  1188. UpdateFeature(COleVariant(Target), COleVariantDispatch(Source), COleVariantDispatch(RowValues));
  1189. }
  1190. void UpdateFeature(LPDISPATCH Target, LPDISPATCH Source)
  1191. {
  1192. UpdateFeature(COleVariantDispatch(Target), COleVariantDispatch(Source), COptionalVariant());
  1193. }
  1194. void UpdateFeature(LPCTSTR Target, LPDISPATCH Source)
  1195. {
  1196. UpdateFeature(COleVariant(Target), COleVariantDispatch(Source), COptionalVariant());
  1197. }
  1198. void UpdateFeature(long Target, LPDISPATCH Source)
  1199. {
  1200. UpdateFeature(COleVariant(Target), COleVariantDispatch(Source), COptionalVariant());
  1201. }
  1202. void UpdateFeature(LPDISPATCH Target)
  1203. {
  1204. UpdateFeature(COleVariantDispatch(Target), COptionalVariant(), COptionalVariant());
  1205. }
  1206. void UpdateFeature(LPCTSTR Target)
  1207. { UpdateFeature(COleVariant(Target), COptionalVariant(), COptionalVariant()); }
  1208. void UpdateFeature(long Target)
  1209. { UpdateFeature(COleVariant(Target), COptionalVariant(), COptionalVariant()); }
  1210. void DeleteFeature(const VARIANT& Target);
  1211. void DeleteFeature(LPDISPATCH Target)
  1212. {
  1213. DeleteFeature(COleVariantDispatch(Target));
  1214. }
  1215. void DeleteFeature(LPCTSTR Target)
  1216. { DeleteFeature(COleVariant(Target)); }
  1217. void DeleteFeature(long Target)
  1218. { DeleteFeature(COleVariant(Target)); }
  1219. void Invalidate(const VARIANT& InvalidRect);
  1220. void Invalidate() { Invalidate(COptionalVariant()); }
  1221. CMapXFeatures SearchWithinDistance(LPDISPATCH Source, double Distance, short Units, short SearchType);
  1222. CMapXFeatures SearchWithinRectangle(LPDISPATCH Rectangle, short SearchType);
  1223. CMapXFeatures AllFeatures();
  1224. CMapXFeatures NoFeatures();
  1225. CMapXFeatures SearchWithinFeature(LPDISPATCH Feature, short SearchType);
  1226. CMapXFeatures SearchAtPoint(LPDISPATCH Point);
  1227. void DrillDownRemoveFeatures(LPCTSTR Level, const VARIANT& FeatureKeys);
  1228. void DrillDownAddFeatures(LPCTSTR Level, const VARIANT& FeatureKeys);
  1229. CMapXFeatures GetDrilldownFeaturesByID(LPCTSTR Level, const VARIANT& FeatureKeys);
  1230. void DrilldownReset(LPCTSTR Level);
  1231. CMapXFeature GetFeatureByID(long FeatureID);
  1232. void Refresh();
  1233. long FeatureIDFromFeatureName(LPCTSTR Name);
  1234. CMapXFeatures Search(LPCTSTR Where, const VARIANT& Variables);
  1235. CMapXFeatures Search(LPCTSTR Where)
  1236. { return Search(Where, COptionalVariant()); }
  1237. CMapXFeatures Search(LPCTSTR Where, LPDISPATCH Variables)
  1238. { return Search(Where, COleVariantDispatch(Variables)); }
  1239. void BeginAccess(long BeginAccessType);
  1240. void EndAccess(const VARIANT& EndAccessType);
  1241. void EndAccess()
  1242. { EndAccess(COptionalVariant()); }
  1243. CMapXFeature GetFeatureByKey(LPCTSTR);
  1244. CString FeatureKeyFromFeatureName(LPCTSTR);
  1245. };
  1246. class CMapXLayers : public COleDispatchDriver
  1247. {
  1248. public:
  1249. CMapXLayers() {} // Calls COleDispatchDriver default constructor
  1250. CMapXLayers(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1251. CMapXLayers(const CMapXLayers& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1252. CMapXLayer operator[](long Index) { return Item(Index); }
  1253. CMapXLayer operator[](LPCTSTR Index) { return Item(Index); }
  1254. // Attributes
  1255. public:
  1256. LPENUMVARIANT GetEnumerator();
  1257. long GetCount();
  1258. CMapXLayer GetAnimationLayer();
  1259. void SetAnimationLayer(LPDISPATCH);
  1260. CMapXRectangle GetBounds();
  1261. CMapXLayer GetInsertionLayer();
  1262. void SetInsertionLayer(LPDISPATCH);
  1263. // Operations
  1264. public:
  1265. void ClearSelection();
  1266. BOOL Move(short From, short To);
  1267. CMapXLayer Add(const VARIANT& LayerInfo, const VARIANT& Position);
  1268. CMapXLayer Add(LPDISPATCH LayerInfo)
  1269. {
  1270. return Add(COleVariantDispatch(LayerInfo), COptionalVariant());
  1271. }
  1272. CMapXLayer Add(LPDISPATCH LayerInfo, long Position)
  1273. {
  1274. return Add(COleVariantDispatch(LayerInfo), COleVariant(Position));
  1275. }
  1276. CMapXLayer Add(LPCTSTR Filespec, const VARIANT& Position)
  1277. { return Add(COleVariant(Filespec), Position); }
  1278. CMapXLayer Add(LPCTSTR Filespec) // for backward compatiblity
  1279. { return Add(COleVariant(Filespec), COptionalVariant()); }
  1280. CMapXLayer Add(LPCTSTR Filespec, long Position)
  1281. { return Add(COleVariant(Filespec), COleVariant(Position)); }
  1282. void AddGeoSetLayers(LPCTSTR GeoSetName);
  1283. CMapXLayer Item(const VARIANT& Index);
  1284. CMapXLayer Item(long Index) { return Item(COleVariant(Index)); }
  1285. CMapXLayer Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  1286. void Remove(const VARIANT& Index);
  1287. void Remove(long Index) { Remove(COleVariant(Index)); }
  1288. void Remove(LPCTSTR Index) { Remove(COleVariant(Index)); }
  1289. CMapXLayer AddUserDrawLayer(LPCTSTR Name, short Position);
  1290. CMapXLayer CreateLayer(LPCTSTR Name, const VARIANT& Filespec, const VARIANT& Position, const VARIANT& KeyLength, const VARIANT& CoordSys);
  1291. CMapXLayer CreateLayer(LPCTSTR Name, LPCTSTR Filespec=NULL, long Position=-1, short KeyLength=32)
  1292. { return CreateLayer(Name, COleVariant(Filespec), COleVariant(Position), COleVariant(KeyLength), COptionalVariant()); }
  1293. BOOL LayersDlg(const VARIANT& HelpFile, const VARIANT& HelpID);
  1294. BOOL LayersDlg(LPCTSTR HelpFile, UINT HelpID=HELP_FINDER)
  1295. { return LayersDlg(COleVariant(HelpFile), COleVariant((long)HelpID)); }
  1296. BOOL LayersDlg()
  1297. { return LayersDlg(COptionalVariant(), COptionalVariant()); }
  1298. CMapXLayer AddServerLayer(LPCTSTR Name, LPCTSTR ConnectString, LPCTSTR Query, const VARIANT& Position, const VARIANT& Options);
  1299. CMapXLayer AddServerLayer(LPCTSTR Name, LPCTSTR ConnectString, LPCTSTR Query, long Position, long Options=0)
  1300. { return AddServerLayer(Name, ConnectString, Query, COleVariant(Position), COleVariant(Options)); }
  1301. CMapXLayer AddServerLayer(LPCTSTR Name, LPCTSTR ConnectString, LPCTSTR Query)
  1302. { return AddServerLayer(Name, ConnectString, Query, COptionalVariant(), COptionalVariant()); }
  1303. void RemoveAll();
  1304. };
  1305. /////////////////////////////////////////////////////////////////////////////
  1306. // CMapXField wrapper class
  1307. class CMapXField : public COleDispatchDriver
  1308. {
  1309. public:
  1310. CMapXField() {} // Calls COleDispatchDriver default constructor
  1311. CMapXField(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1312. CMapXField(const CMapXField& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1313. // Attributes
  1314. public:
  1315. long GetType();
  1316. CString GetName();
  1317. long GetAggregationFunction();
  1318. short GetWidth();
  1319. short GetPrecision();
  1320. short GetDecimals();
  1321. // Operations
  1322. public:
  1323. };
  1324. /////////////////////////////////////////////////////////////////////////////
  1325. // CMapXTheme wrapper class
  1326. class CMapXTheme : public COleDispatchDriver
  1327. {
  1328. public:
  1329. CMapXTheme() {} // Calls COleDispatchDriver default constructor
  1330. CMapXTheme(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1331. CMapXTheme(const CMapXTheme& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1332. // Attributes
  1333. public:
  1334. BOOL GetVisible();
  1335. void SetVisible(BOOL);
  1336. short GetType();
  1337. CMapXThemeProperties GetProperties();
  1338. CMapXLegend GetLegend();
  1339. BOOL GetAutoRecompute();
  1340. void SetAutoRecompute(BOOL);
  1341. CString GetName();
  1342. void SetName(LPCTSTR);
  1343. CMapXThemeProperties GetThemeProperties();
  1344. CMapXLayer GetLayer();
  1345. CMapXFields GetFields();
  1346. double GetDataMin();
  1347. void SetDataMin(double);
  1348. double GetDataMax();
  1349. void SetDataMax(double);
  1350. BOOL GetComputeTheme();
  1351. void SetComputeTheme(BOOL);
  1352. // Operations
  1353. public:
  1354. BOOL ThemeDlg(const VARIANT& HelpFile, const VARIANT& HelpID);
  1355. BOOL ThemeDlg(LPCTSTR HelpFile, UINT HelpID=HELP_FINDER)
  1356. { return ThemeDlg(COleVariant(HelpFile), COleVariant((long)HelpID)); }
  1357. BOOL ThemeDlg()
  1358. { return ThemeDlg(COptionalVariant(), COptionalVariant()); }
  1359. };
  1360. /////////////////////////////////////////////////////////////////////////////
  1361. // CMapXThemes wrapper class
  1362. class CMapXThemes : public COleDispatchDriver
  1363. {
  1364. public:
  1365. CMapXThemes() {} // Calls COleDispatchDriver default constructor
  1366. CMapXThemes(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1367. CMapXThemes(const CMapXThemes& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1368. CMapXTheme operator[](long Index) { return Item(Index); }
  1369. CMapXTheme operator[](LPCTSTR Index) { return Item(Index); }
  1370. // Attributes
  1371. public:
  1372. LPENUMVARIANT GetEnumerator();
  1373. long GetCount();
  1374. // Operations
  1375. public:
  1376. CMapXTheme Add(const VARIANT& Type, const VARIANT& Field, const VARIANT& Name, const VARIANT& ComputeTheme);
  1377. CMapXTheme Add(const VARIANT& Type, const VARIANT& Field, const VARIANT& Name)
  1378. { return Add(COleVariant(Type), COleVariant(Field), COleVariant(Name), COptionalVariant()); }
  1379. CMapXTheme Add(short Type, long Field, LPCTSTR Name)
  1380. { return Add(COleVariant(Type), COleVariant(Field), COleVariant(Name), COptionalVariant()); }
  1381. CMapXTheme Add(short Type, LPCTSTR Field, LPCTSTR Name)
  1382. { return Add(COleVariant(Type), COleVariant(Field), COleVariant(Name), COptionalVariant()); }
  1383. CMapXTheme Add(short Type, long Field)
  1384. { return Add(COleVariant(Type), COleVariant(Field), COptionalVariant(), COptionalVariant()); }
  1385. CMapXTheme Add(short Type, LPCTSTR Field)
  1386. { return Add(COleVariant(Type), COleVariant(Field), COptionalVariant(), COptionalVariant()); }
  1387. CMapXTheme Add(short Type=miThemeAuto)
  1388. { return Add(COleVariant(Type), COptionalVariant(), COptionalVariant(), COptionalVariant()); }
  1389. CMapXTheme Item(const VARIANT& Index);
  1390. CMapXTheme Item(long Index) { return Item(COleVariant(Index)); }
  1391. CMapXTheme Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  1392. void Remove(const VARIANT& Index);
  1393. void Remove(long Index) { Remove(COleVariant(Index)); }
  1394. void Remove(LPCTSTR Index) { Remove(COleVariant(Index)); }
  1395. void RemoveAll();
  1396. };
  1397. /////////////////////////////////////////////////////////////////////////////
  1398. // CMapXLegend wrapper class
  1399. class CMapXLegend : public COleDispatchDriver
  1400. {
  1401. public:
  1402. CMapXLegend() {} // Calls COleDispatchDriver default constructor
  1403. CMapXLegend(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1404. CMapXLegend(const CMapXLegend& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1405. // Attributes
  1406. public:
  1407. BOOL GetCompact();
  1408. void SetCompact(BOOL);
  1409. BOOL GetVisible();
  1410. void SetVisible(BOOL);
  1411. CMapXStyle GetTitleStyle();
  1412. void SetTitleStyle(LPDISPATCH);
  1413. CMapXStyle GetSubTitleStyle();
  1414. void SetSubTitleStyle(LPDISPATCH);
  1415. CMapXStyle GetCompactTitleStyle();
  1416. void SetCompactTitleStyle(LPDISPATCH);
  1417. CMapXStyle GetBodyTextStyle();
  1418. void SetBodyTextStyle(LPDISPATCH);
  1419. CMapXLegendTexts GetLegendTexts();
  1420. BOOL GetCurrencyFormat();
  1421. void SetCurrencyFormat(BOOL);
  1422. CString GetTitle();
  1423. void SetTitle(LPCTSTR);
  1424. CString GetSubTitle();
  1425. void SetSubTitle(LPCTSTR);
  1426. CString GetCompactTitle();
  1427. void SetCompactTitle(LPCTSTR);
  1428. double GetLeft();
  1429. void SetLeft(double);
  1430. double GetTop();
  1431. void SetTop(double);
  1432. double GetWidth();
  1433. double GetHeight();
  1434. BOOL GetShowEmptyRanges();
  1435. void SetShowEmptyRanges(BOOL);
  1436. BOOL GetShowCount();
  1437. void SetShowCount(BOOL propVal);
  1438. double GetPaperHeight();
  1439. double GetPaperWidth();
  1440. // Operations
  1441. public:
  1442. BOOL LegendDlg(const VARIANT& HelpFile, const VARIANT& HelpID);
  1443. BOOL LegendDlg(LPCTSTR HelpFile, UINT HelpID=HELP_FINDER)
  1444. { return LegendDlg(COleVariant(HelpFile), COleVariant((long)HelpID)); }
  1445. BOOL LegendDlg()
  1446. { return LegendDlg(COptionalVariant(), COptionalVariant()); }
  1447. void ExportLegend(LPCTSTR Destination, short Format);
  1448. void PrintLegend(long hDC, long X, long Y, long W, long H);
  1449. };
  1450. /////////////////////////////////////////////////////////////////////////////
  1451. // CMapXAnnotation wrapper class
  1452. class CMapXAnnotation : public COleDispatchDriver
  1453. {
  1454. public:
  1455. CMapXAnnotation() {} // Calls COleDispatchDriver default constructor
  1456. CMapXAnnotation(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1457. CMapXAnnotation(const CMapXAnnotation& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1458. // Attributes
  1459. public:
  1460. short GetType();
  1461. CMapXGraphic GetGraphic();
  1462. // Operations
  1463. public:
  1464. };
  1465. /////////////////////////////////////////////////////////////////////////////
  1466. // CMapXAnnotations wrapper class
  1467. class CMapXAnnotations : public COleDispatchDriver
  1468. {
  1469. public:
  1470. CMapXAnnotations() {} // Calls COleDispatchDriver default constructor
  1471. CMapXAnnotations(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1472. CMapXAnnotations(const CMapXAnnotations& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1473. CMapXAnnotation operator[](long Index) { return Item(Index); }
  1474. CMapXAnnotation operator[](LPCTSTR Index) { return Item(Index); }
  1475. // Attributes
  1476. public:
  1477. LPENUMVARIANT GetEnumerator();
  1478. BOOL GetEditable();
  1479. void SetEditable(BOOL);
  1480. long GetCount();
  1481. // Operations
  1482. public:
  1483. CMapXAnnotation Item(const VARIANT& Index);
  1484. CMapXAnnotation Item(long Index) { return Item(COleVariant(Index)); }
  1485. CMapXAnnotation Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  1486. void Remove(const VARIANT& Index);
  1487. void Remove(long Index) { Remove(COleVariant(Index)); }
  1488. CMapXAnnotation AddSymbol(double X, double Y);
  1489. CMapXAnnotation AddText(LPCTSTR Text, double X, double Y, const VARIANT& Position);
  1490. CMapXAnnotation AddText(LPCTSTR Text, double X, double Y, short Position)
  1491. { return AddText(Text, X, Y, COleVariant(Position)); }
  1492. void RemoveAll();
  1493. CMapXAnnotation ActiveAnnotation();
  1494. };
  1495. /////////////////////////////////////////////////////////////////////////////
  1496. // CMapXThemeProps wrapper class
  1497. class CMapXThemeProperties : public COleDispatchDriver
  1498. {
  1499. public:
  1500. CMapXThemeProperties() {} // Calls COleDispatchDriver default constructor
  1501. CMapXThemeProperties(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1502. CMapXThemeProperties(const CMapXThemeProperties& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1503. // Attributes
  1504. public:
  1505. short GetDistMethod();
  1506. void SetDistMethod(short);
  1507. short GetNumRanges();
  1508. void SetNumRanges(short);
  1509. CMapXRangeCategories GetRangeCategories();
  1510. short GetDotSize();
  1511. void SetDotSize(short);
  1512. BOOL GetGraduated();
  1513. void SetGraduated(BOOL);
  1514. CMapXMultivarCategories GetMultivarCategories();
  1515. BOOL GetIndependent();
  1516. void SetIndependent(BOOL);
  1517. CMapXIndividualValueCategories GetIndividualValueCategories();
  1518. double GetValuePerDot();
  1519. void SetValuePerDot(double);
  1520. double GetDataValue();
  1521. void SetDataValue(double);
  1522. double GetSize();
  1523. void SetSize(double);
  1524. double GetWidth();
  1525. void SetWidth(double);
  1526. CMapXStyle GetSymbolStyle();
  1527. void SetSymbolStyle(LPDISPATCH);
  1528. short GetSpreadBy();
  1529. void SetSpreadBy(short);
  1530. BOOL GetAllowEmptyRanges();
  1531. void SetAllowEmptyRanges(BOOL);
  1532. unsigned long GetDotColor();
  1533. void SetDotColor(unsigned long);
  1534. BOOL GetPieClockwise();
  1535. void SetPieClockwise(BOOL);
  1536. BOOL GetPieHalfPies();
  1537. void SetPieHalfPies(BOOL);
  1538. short GetPieStartAngle();
  1539. void SetPieStartAngle(short);
  1540. BOOL GetBarStacked();
  1541. void SetBarStacked(BOOL);
  1542. CMapXStyle GetNegativeSymbolStyle();
  1543. void SetNegativeSymbolStyle(LPDISPATCH);
  1544. BOOL GetShowNegativeValues();
  1545. void SetShowNegativeValues(BOOL);
  1546. short GetGraduateSizeBy();
  1547. void SetGraduateSizeBy(short);
  1548. CMapXStyle GetBorderStyle();
  1549. void SetBorderStyle(LPDISPATCH);
  1550. double GetBarWidth();
  1551. void SetBarWidth(double);
  1552. BOOL GetBarIndependentScale();
  1553. void SetBarIndependentScale(BOOL);
  1554. CMapXStyle GetPositiveSymbolStyle();
  1555. void SetPositiveSymbolStyle(LPDISPATCH);
  1556. CMapXStyle GetBarFrameStyle();
  1557. void SetBarFrameStyle(LPDISPATCH);
  1558. BOOL GetPieGraduated();
  1559. void SetPieGraduated(BOOL);
  1560. BOOL GetBarGraduatedStack();
  1561. void SetBarGraduatedStack(BOOL);
  1562. short GetApplyAttribute();
  1563. void SetApplyAttribute(short);
  1564. BOOL GetRoundRanges();
  1565. void SetRoundRanges(BOOL);
  1566. double GetRoundBy();
  1567. void SetRoundBy(double);
  1568. short GetColorMethod();
  1569. void SetColorMethod(short);
  1570. BOOL GetInflectRanges();
  1571. void SetInflectRanges(BOOL);
  1572. short GetInflectionRange();
  1573. void SetInflectionRange(short);
  1574. unsigned long GetInflectionColor();
  1575. void SetInflectionColor(unsigned long);
  1576. BOOL GetBarFramed();
  1577. void SetBarFramed(BOOL);
  1578. // Operations
  1579. public:
  1580. };
  1581. /////////////////////////////////////////////////////////////////////////////
  1582. // CMapXSelection wrapper class
  1583. class CMapXSelection : public COleDispatchDriver
  1584. {
  1585. public:
  1586. CMapXSelection() {} // Calls COleDispatchDriver default constructor
  1587. CMapXSelection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1588. CMapXSelection(const CMapXSelection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1589. CMapXFeature operator[](long Index) { return Item(Index); }
  1590. // Attributes
  1591. public:
  1592. LPENUMVARIANT GetEnumerator();
  1593. long GetCount();
  1594. CMapXRectangle GetBounds();
  1595. // Operations
  1596. public:
  1597. void SelectByRegion(LPDISPATCH Layer, const VARIANT& FeatureID, short Flag);
  1598. void SelectByRegion(LPDISPATCH Layer, long FeatureID, short Flag)
  1599. { SelectByRegion(Layer, COleVariant(FeatureID), Flag); }
  1600. void SelectByRegion(LPDISPATCH Layer, LPCTSTR FeatureID, short Flag)
  1601. { SelectByRegion(Layer, COleVariant(FeatureID), Flag); }
  1602. void ClearSelection();
  1603. void SelectByPoint(double X, double Y, short Flag);
  1604. void SelectByRadius(double X, double Y, double radius, short Flag);
  1605. void SelectByRectangle(double X1, double Y1, double X2, double Y2, short Flag);
  1606. BOOL SelectAll(short Flag);
  1607. void SelectByID(const VARIANT& FeatureID, short Flag);
  1608. void SelectByID(long FeatureID, short Flag)
  1609. { SelectByID(COleVariant(FeatureID), Flag); }
  1610. void SelectByID(LPCTSTR FeatureID, short Flag)
  1611. { SelectByID(COleVariant(FeatureID), Flag); }
  1612. CMapXFeature Item(const VARIANT& Index);
  1613. CMapXFeature Item(long Index) { return Item(COleVariant(Index)); }
  1614. void Remove(const VARIANT& Source);
  1615. void Remove(long Index) { Remove(COleVariant(Index)); }
  1616. void Remove(LPDISPATCH Source=NULL)
  1617. { Remove(COleVariantDispatch(Source));}
  1618. CMapXFeatures Clone();
  1619. void Add(LPDISPATCH Source);
  1620. void Common(LPDISPATCH Source);
  1621. void Replace(LPDISPATCH Source);
  1622. void AddByID(const VARIANT& FeatureID);
  1623. void RemoveByID(const VARIANT& FeatureID);
  1624. };
  1625. /////////////////////////////////////////////////////////////////////////////
  1626. // CMapXRangeCategory wrapper class
  1627. class CMapXRangeCategory : public COleDispatchDriver
  1628. {
  1629. public:
  1630. CMapXRangeCategory() {} // Calls COleDispatchDriver default constructor
  1631. CMapXRangeCategory(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1632. CMapXRangeCategory(const CMapXRangeCategory& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1633. // Attributes
  1634. public:
  1635. double GetMin();
  1636. void SetMin(double);
  1637. double GetMax();
  1638. void SetMax(double);
  1639. long GetNumItems();
  1640. CMapXStyle GetStyle();
  1641. void SetStyle(LPDISPATCH);
  1642. // Operations
  1643. public:
  1644. };
  1645. /////////////////////////////////////////////////////////////////////////////
  1646. // CMapXFields wrapper class
  1647. class CMapXFields : public COleDispatchDriver
  1648. {
  1649. public:
  1650. CMapXFields() {} // Calls COleDispatchDriver default constructor
  1651. CMapXFields(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1652. CMapXFields(const CMapXFields& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1653. CLSID const& GetClsid()
  1654. {
  1655. static CLSID clsid =
  1656. { 0x9d6ed186, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  1657. return clsid;
  1658. }
  1659. CMapXField operator[](long Index) { return Item(Index); }
  1660. CMapXField operator[](LPCTSTR Index) { return Item(Index); }
  1661. // Attributes
  1662. public:
  1663. LPENUMVARIANT GetEnumerator();
  1664. long GetCount();
  1665. // Operations
  1666. public:
  1667. CMapXField Add(const VARIANT& SourceField, const VARIANT& Name, const VARIANT& AggregationFunction, const VARIANT& Type);
  1668. CMapXField Add(LPCTSTR SourceField, LPCTSTR Name="", short AggregationFunction=miAggregationAuto)
  1669. { return Add(COleVariant(SourceField), COleVariant(Name), COleVariant(AggregationFunction), COptionalVariant()); }
  1670. CMapXField Add(long SourceField, LPCTSTR Name="", short AggregationFunction=miAggregationAuto)
  1671. { return Add(COleVariant(SourceField), COleVariant(Name), COleVariant(AggregationFunction), COptionalVariant()); }
  1672. CMapXField Item(const VARIANT& Index);
  1673. CMapXField Item(long Index) { return Item(COleVariant(Index)); }
  1674. CMapXField Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  1675. void Remove(const VARIANT& Index);
  1676. void Remove(long Index) { Remove(COleVariant(Index)); }
  1677. void Remove(LPCTSTR Index) { Remove(COleVariant(Index)); }
  1678. void RemoveAll();
  1679. CMapXField AddStringField(const VARIANT& Name, const VARIANT& Width);
  1680. CMapXField AddStringField(LPCTSTR Name, long Width)
  1681. {
  1682. return AddStringField(COleVariant(Name), COleVariant(Width));
  1683. }
  1684. CMapXField AddLogicalField(const VARIANT& Name);
  1685. CMapXField AddLogicalField(LPCTSTR Name)
  1686. {
  1687. return AddLogicalField(COleVariant(Name));
  1688. }
  1689. CMapXField AddIntegerField(const VARIANT& Name);
  1690. CMapXField AddIntegerField(LPCTSTR Name)
  1691. {
  1692. return AddIntegerField(COleVariant(Name));
  1693. }
  1694. CMapXField AddSmallIntField(const VARIANT& Name);
  1695. CMapXField AddSmallIntField(LPCTSTR Name)
  1696. {
  1697. return AddSmallIntField(COleVariant(Name));
  1698. }
  1699. CMapXField AddNumericField(const VARIANT& Name, const VARIANT& Precision, const VARIANT& Decimals);
  1700. CMapXField AddNumericField(LPCTSTR Name, long Precision, long Decimals)
  1701. {
  1702. return AddNumericField(COleVariant(Name), COleVariant(Precision), COleVariant(Decimals));
  1703. }
  1704. CMapXField AddFloatField(const VARIANT& Name);
  1705. CMapXField AddFloatField(LPCTSTR Name)
  1706. {
  1707. return AddFloatField(COleVariant(Name));
  1708. }
  1709. CMapXField AddDateField(const VARIANT& Name);
  1710. CMapXField AddDateField(LPCTSTR Name)
  1711. {
  1712. return AddDateField(COleVariant(Name));
  1713. }
  1714. };
  1715. class COleFont : public COleDispatchDriver
  1716. {
  1717. public:
  1718. COleFont() {} // Calls COleDispatchDriver default constructor
  1719. COleFont(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1720. COleFont(const COleFont& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1721. // Attributes
  1722. public:
  1723. CString GetName();
  1724. void SetName(LPCTSTR);
  1725. CY GetSize();
  1726. void SetSize(const CY&);
  1727. BOOL GetBold();
  1728. void SetBold(BOOL);
  1729. BOOL GetItalic();
  1730. void SetItalic(BOOL);
  1731. BOOL GetUnderline();
  1732. void SetUnderline(BOOL);
  1733. BOOL GetStrikethrough();
  1734. void SetStrikethrough(BOOL);
  1735. short GetWeight();
  1736. void SetWeight(short);
  1737. short GetCharset();
  1738. void SetCharset(short);
  1739. // Operations
  1740. public:
  1741. };
  1742. /////////////////////////////////////////////////////////////////////////////
  1743. // CMapXStyle wrapper class
  1744. class CMapXStyle : public COleDispatchDriver
  1745. {
  1746. public:
  1747. CMapXStyle() {} // Calls COleDispatchDriver default constructor
  1748. CMapXStyle(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1749. CMapXStyle(const CMapXStyle& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1750. CLSID const& GetClsid()
  1751. {
  1752. // {BB5C2B31-F30E-11d0-9DB6-00AA00A478BC}
  1753. static CLSID clsid =
  1754. { 0x9d6ed192, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  1755. return clsid;
  1756. }
  1757. // Attributes
  1758. public:
  1759. short GetSymbolCharacter();
  1760. void SetSymbolCharacter(short);
  1761. unsigned long GetLineColor();
  1762. void SetLineColor(unsigned long);
  1763. short GetLineStyle();
  1764. void SetLineStyle(short);
  1765. short GetLineWidth();
  1766. void SetLineWidth(short);
  1767. unsigned long GetRegionColor();
  1768. void SetRegionColor(unsigned long);
  1769. short GetRegionPattern();
  1770. void SetRegionPattern(short);
  1771. BOOL GetRegionTransparent();
  1772. void SetRegionTransparent(BOOL);
  1773. unsigned long GetRegionBackColor();
  1774. void SetRegionBackColor(unsigned long);
  1775. short GetRegionBorderStyle();
  1776. void SetRegionBorderStyle(short);
  1777. unsigned long GetRegionBorderColor();
  1778. void SetRegionBorderColor(unsigned long);
  1779. short GetRegionBorderWidth();
  1780. void SetRegionBorderWidth(short);
  1781. COleFont GetTextFont();
  1782. COleFont GetSymbolFont();
  1783. unsigned long GetTextFontColor();
  1784. void SetTextFontColor(unsigned long);
  1785. unsigned long GetTextFontBackColor();
  1786. void SetTextFontBackColor(unsigned long);
  1787. unsigned long GetSymbolFontColor();
  1788. void SetSymbolFontColor(unsigned long);
  1789. unsigned long GetSymbolFontBackColor();
  1790. void SetSymbolFontBackColor(unsigned long);
  1791. BOOL GetSymbolFontOpaque();
  1792. void SetSymbolFontOpaque(BOOL);
  1793. BOOL GetTextFontOpaque();
  1794. void SetTextFontOpaque(BOOL);
  1795. BOOL GetSymbolFontHalo();
  1796. void SetSymbolFontHalo(BOOL);
  1797. BOOL GetSymbolFontShadow();
  1798. void SetSymbolFontShadow(BOOL);
  1799. BOOL GetTextFontHalo();
  1800. void SetTextFontHalo(BOOL);
  1801. BOOL GetTextFontShadow();
  1802. void SetTextFontShadow(BOOL);
  1803. BOOL GetTextFontAllCaps();
  1804. void SetTextFontAllCaps(BOOL);
  1805. BOOL GetTextFontDblSpace();
  1806. void SetTextFontDblSpace(BOOL);
  1807. BOOL GetSymbolBitmapTransparent();
  1808. void SetSymbolBitmapTransparent(BOOL bNewValue);
  1809. BOOL GetSymbolBitmapOverrideColor();
  1810. void SetSymbolBitmapOverrideColor(BOOL bNewValue);
  1811. unsigned long GetSymbolBitmapColor();
  1812. void SetSymbolBitmapColor(unsigned long nNewValue);
  1813. CString GetSymbolBitmapName();
  1814. void SetSymbolBitmapName(LPCTSTR lpszNewValue);
  1815. short GetSymbolType();
  1816. void SetSymbolType(short nNewValue);
  1817. long GetSymbolBitmapSize();
  1818. void SetSymbolBitmapSize(long nNewValue);
  1819. BOOL GetSupportsBitmapSymbols();
  1820. short GetSymbolFontRotation();
  1821. void SetSymbolFontRotation(short nNewValue);
  1822. long GetLineStyleCount();
  1823. BOOL GetLineInterleaved();
  1824. void SetLineInterleaved(BOOL bNewValue);
  1825. long GetLineWidthUnit();
  1826. void SetLineWidthUnit(long nNewValue);
  1827. long GetRegionBorderWidthUnit();
  1828. void SetRegionBorderWidthUnit(long nNewValue);
  1829. BOOL GetLineSupportsInterleave();
  1830. short GetTextFontRotation();
  1831. void SetTextFontRotation(short propVal);
  1832. unsigned long GetSymbolVectorColor();
  1833. void SetSymbolVectorColor(unsigned long);
  1834. short GetSymbolVectorSize();
  1835. void SetSymbolVectorSize(short);
  1836. short GetMinVectorSymbolCharacter();
  1837. short GetMaxVectorSymbolCharacter();
  1838. // Operations
  1839. public:
  1840. BOOL PickRegion();
  1841. BOOL PickLine();
  1842. BOOL PickText();
  1843. BOOL PickSymbol();
  1844. void DrawTextSample(long hDC, LPDISPATCH Rectangle, LPCTSTR SampleText);
  1845. void DrawSymbolSample(long hDC, LPDISPATCH Rectangle);
  1846. void DrawRegionSample(long hDC, LPDISPATCH Rectangle);
  1847. void DrawLineSample(long hDC, LPDISPATCH Rectangle);
  1848. CMapXStyle Clone();
  1849. void ExportSymbolSample(LPCTSTR Destination, short Format, double Width, double Height, const VARIANT& BackgroundColor);
  1850. void ExportRegionSample(LPCTSTR Destination, short Format, double Width, double Height, const VARIANT& BackgroundColor);
  1851. void ExportLineSample(LPCTSTR Destination, short Format, double Width, double Height, const VARIANT& BackgroundColor);
  1852. void ExportTextSample(LPCTSTR Destination, short Format, double Width, double Height, LPCTSTR SampleText, const VARIANT& BackgroundColor);
  1853. };
  1854. /////////////////////////////////////////////////////////////////////////////
  1855. // CMapXIndividualValueCategory wrapper class
  1856. class CMapXIndividualValueCategory : public COleDispatchDriver
  1857. {
  1858. public:
  1859. CMapXIndividualValueCategory() {} // Calls COleDispatchDriver default constructor
  1860. CMapXIndividualValueCategory(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1861. CMapXIndividualValueCategory(const CMapXIndividualValueCategory& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1862. // Attributes
  1863. public:
  1864. CMapXStyle GetStyle();
  1865. void SetStyle(LPDISPATCH);
  1866. long GetNumItems();
  1867. CString GetValue();
  1868. void SetValue(LPCTSTR);
  1869. // Operations
  1870. public:
  1871. };
  1872. /////////////////////////////////////////////////////////////////////////////
  1873. // CMapXMultivarCategory wrapper class
  1874. class CMapXMultivarCategory : public COleDispatchDriver
  1875. {
  1876. public:
  1877. CMapXMultivarCategory() {} // Calls COleDispatchDriver default constructor
  1878. CMapXMultivarCategory(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1879. CMapXMultivarCategory(const CMapXMultivarCategory& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1880. // Attributes
  1881. public:
  1882. CMapXStyle GetStyle();
  1883. void SetStyle(LPDISPATCH);
  1884. // Operations
  1885. public:
  1886. };
  1887. /////////////////////////////////////////////////////////////////////////////
  1888. // CMapXText wrapper class (Same as CMapXGraphic)
  1889. // Used for both Text and Symbol annotations
  1890. // NOTE: ***OBSOLETE***: Do not use this class use CMapXGraphic instead
  1891. class CMapXText : public COleDispatchDriver
  1892. {
  1893. public:
  1894. CMapXText() {} // Calls COleDispatchDriver default constructor
  1895. CMapXText(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1896. CMapXText(const CMapXText& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1897. // Attributes
  1898. public:
  1899. CString GetCaption();
  1900. void SetCaption(LPCTSTR);
  1901. double GetX();
  1902. void SetX(double);
  1903. double GetY();
  1904. void SetY(double);
  1905. short GetPosition();
  1906. void SetPosition(short);
  1907. CMapXStyle GetStyle();
  1908. void SetStyle(LPDISPATCH);
  1909. // Operations
  1910. public:
  1911. };
  1912. /////////////////////////////////////////////////////////////////////////////
  1913. // CMapXGraphic wrapper class (Same as CMapXText)
  1914. // Used for both Text and Symbol annotations
  1915. class CMapXGraphic : public COleDispatchDriver
  1916. {
  1917. public:
  1918. CMapXGraphic() {} // Calls COleDispatchDriver default constructor
  1919. CMapXGraphic(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1920. CMapXGraphic(const CMapXGraphic& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1921. // Attributes
  1922. public:
  1923. CString GetCaption();
  1924. void SetCaption(LPCTSTR);
  1925. double GetX();
  1926. void SetX(double);
  1927. double GetY();
  1928. void SetY(double);
  1929. short GetPosition();
  1930. void SetPosition(short);
  1931. CMapXStyle GetStyle();
  1932. void SetStyle(LPDISPATCH);
  1933. // Operations
  1934. public:
  1935. };
  1936. /////////////////////////////////////////////////////////////////////////////
  1937. // CMapXLegendText wrapper class
  1938. class CMapXLegendText : public COleDispatchDriver
  1939. {
  1940. public:
  1941. CMapXLegendText() {} // Calls COleDispatchDriver default constructor
  1942. CMapXLegendText(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1943. CMapXLegendText(const CMapXLegendText& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1944. // Attributes
  1945. public:
  1946. CString GetText();
  1947. void SetText(LPCTSTR);
  1948.   BOOL GetVisible();
  1949. void SetVisible(BOOL bNewValue);
  1950. // Operations
  1951. public:
  1952. };
  1953. /////////////////////////////////////////////////////////////////////////////
  1954. // CMapXLegendTexts wrapper class
  1955. class CMapXLegendTexts : public COleDispatchDriver
  1956. {
  1957. public:
  1958. CMapXLegendTexts() {} // Calls COleDispatchDriver default constructor
  1959. CMapXLegendTexts(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1960. CMapXLegendTexts(const CMapXLegendTexts& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1961. CMapXLegendText operator[](long Index) { return Item(Index); }
  1962. // Attributes
  1963. public:
  1964. LPENUMVARIANT GetEnumerator();
  1965. BOOL GetAutoGenerate();
  1966. void SetAutoGenerate(BOOL);
  1967. long GetCount();
  1968. CMapXLegendText GetAllOthersText();
  1969. // Operations
  1970. public:
  1971. CMapXLegendText Item(const VARIANT& Index);
  1972. CMapXLegendText Item(long Index) { return Item(COleVariant(Index)); }
  1973. };
  1974. /////////////////////////////////////////////////////////////////////////////
  1975. // CMapXTitle wrapper class
  1976. class CMapXTitle : public COleDispatchDriver
  1977. {
  1978. public:
  1979. CMapXTitle() {} // Calls COleDispatchDriver default constructor
  1980. CMapXTitle(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  1981. CMapXTitle(const CMapXTitle& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  1982. // Attributes
  1983. public:
  1984. CString GetCaption();
  1985. void SetCaption(LPCTSTR);
  1986. CMapXStyle GetTextStyle();
  1987. void SetTextStyle(LPDISPATCH);
  1988. BOOL GetVisible();
  1989. void SetVisible(BOOL);
  1990. double GetX();
  1991. void SetX(double);
  1992. double GetY();
  1993. void SetY(double);
  1994. BOOL GetEditable();
  1995. void SetEditable(BOOL);
  1996. short GetPosition();
  1997. void SetPosition(short);
  1998. BOOL GetBorder();
  1999. void SetBorder(BOOL);
  2000. // Operations
  2001. public:
  2002. };
  2003. /////////////////////////////////////////////////////////////////////////////
  2004. // CMapXBindLayer wrapper class
  2005. class CMapXBindLayer : public COleDispatchDriver
  2006. {
  2007. public:
  2008. CMapXBindLayer() {} // Calls COleDispatchDriver default constructor
  2009. CMapXBindLayer(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2010. CMapXBindLayer(const CMapXBindLayer& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2011. CLSID const& GetClsid()
  2012. {
  2013. static CLSID clsid =
  2014. { 0x9d6ed182, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca} };
  2015. return clsid;
  2016. }
  2017. // Attributes
  2018. public:
  2019. CString GetLayerName();
  2020. void SetLayerName(LPCTSTR);
  2021. VARIANT GetRefColumn1();
  2022. void SetRefColumn1(const VARIANT&);
  2023. void SetRefColumn1(long Column) { SetRefColumn1(COleVariant(Column)); }
  2024. void SetRefColumn1(LPCTSTR Column) { SetRefColumn1(COleVariant(Column)); }
  2025. VARIANT GetRefColumn2();
  2026. void SetRefColumn2(const VARIANT&);
  2027. void SetRefColumn2(long Column) { SetRefColumn2(COleVariant(Column)); }
  2028. void SetRefColumn2(LPCTSTR Column) { SetRefColumn2(COleVariant(Column)); }
  2029. short GetLayerType();
  2030. void SetLayerType(short);
  2031. CString GetReferenceLayer();
  2032. void SetReferenceLayer(LPCTSTR);
  2033. CMapXCoordSys GetCoordSys();
  2034. void SetCoordSys(LPDISPATCH);
  2035. CString GetFilespec();
  2036. void SetFilespec(LPCTSTR);
  2037. short GetKeyLength();
  2038. void SetKeyLength(short);
  2039. long GetReferenceLayerField();
  2040. void SetReferenceLayerField(long);
  2041. // Operations
  2042. public:
  2043. };
  2044. /////////////////////////////////////////////////////////////////////////////
  2045. // CMapXMultivarCategories wrapper class
  2046. class CMapXMultivarCategories : public COleDispatchDriver
  2047. {
  2048. public:
  2049. CMapXMultivarCategories() {} // Calls COleDispatchDriver default constructor
  2050. CMapXMultivarCategories(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2051. CMapXMultivarCategories(const CMapXMultivarCategories& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2052. CMapXMultivarCategory operator[](long Index) { return Item(Index); }
  2053. // Attributes
  2054. public:
  2055. LPENUMVARIANT GetEnumerator();
  2056. long GetCount();
  2057. // Operations
  2058. public:
  2059. CMapXMultivarCategory Item(const VARIANT& Index);
  2060. CMapXMultivarCategory Item(long Index) { return Item(COleVariant(Index)); }
  2061. };
  2062. /////////////////////////////////////////////////////////////////////////////
  2063. // CMapXRangeCategories wrapper class
  2064. class CMapXRangeCategories : public COleDispatchDriver
  2065. {
  2066. public:
  2067. CMapXRangeCategories() {} // Calls COleDispatchDriver default constructor
  2068. CMapXRangeCategories(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2069. CMapXRangeCategories(const CMapXRangeCategories& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2070. CMapXRangeCategory operator[](long Index) { return Item(Index); }
  2071. // Attributes
  2072. public:
  2073. LPENUMVARIANT GetEnumerator();
  2074. long GetCount();
  2075. CMapXRangeCategory GetAllOthersCategory();
  2076. // Operations
  2077. public:
  2078. CMapXRangeCategory Item(const VARIANT& Index);
  2079. CMapXRangeCategory Item(long Index) { return Item(COleVariant(Index)); }
  2080. };
  2081. /////////////////////////////////////////////////////////////////////////////
  2082. // CMapXIndividualValueCategories  wrapper class
  2083. class CMapXIndividualValueCategories : public COleDispatchDriver
  2084. {
  2085. public:
  2086. CMapXIndividualValueCategories () {} // Calls COleDispatchDriver default constructor
  2087. CMapXIndividualValueCategories (LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2088. CMapXIndividualValueCategories (const CMapXIndividualValueCategories & dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2089. CMapXIndividualValueCategory operator[](long Index) { return Item(Index); }
  2090. // Attributes
  2091. public:
  2092. LPENUMVARIANT GetEnumerator();
  2093. long GetCount();
  2094. CMapXIndividualValueCategory GetAllOthersCategory();
  2095. // Operations
  2096. public:
  2097. CMapXIndividualValueCategory Item(const VARIANT& Index);
  2098. CMapXIndividualValueCategory Item(long Index) { return Item(COleVariant(Index)); }
  2099. };
  2100. // CMapXRectangle wrapper class
  2101. class CMapXRectangle : public COleDispatchDriver
  2102. {
  2103. public:
  2104. CMapXRectangle() {} // Calls COleDispatchDriver default constructor
  2105. CMapXRectangle(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2106. CMapXRectangle(const CMapXRectangle& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2107. CLSID const& GetClsid()
  2108. {
  2109. static CLSID clsid =
  2110. { 0x9d6ed191, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2111. return clsid;
  2112. }
  2113. // Attributes
  2114. public:
  2115. double GetXMin();
  2116. double GetYMin();
  2117. double GetXMax();
  2118. double GetYMax();
  2119. double GetHeight();
  2120. double GetWidth();
  2121. // Operations
  2122. public:
  2123. void Set(double X1, double Y1, double X2, double Y2);
  2124. void Offset(double deltaX, double deltaY);
  2125. };
  2126. /////////////////////////////////////////////////////////////////////////////
  2127. // CMapXFindFeature wrapper class
  2128. class CMapXFindFeature : public COleDispatchDriver
  2129. {
  2130. public:
  2131. CMapXFindFeature() {} // Calls COleDispatchDriver default constructor
  2132. CMapXFindFeature(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2133. CMapXFindFeature(const CMapXFindFeature& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2134. // Attributes
  2135. public:
  2136. long GetFeatureID();
  2137. short GetType();
  2138. void SetType(short);
  2139. double GetLength();
  2140. double GetCenterX();
  2141. double GetCenterY();
  2142. CMapXStyle GetStyle();
  2143. void SetStyle(LPDISPATCH);
  2144. CMapXRectangle GetBounds();
  2145. CString GetCaption();
  2146. void SetCaption(LPCTSTR);
  2147. CMapXParts GetParts();
  2148. double GetArea();
  2149. CMapXLayer GetLayer();
  2150. CMapXPoint GetPoint();
  2151. void SetPoint(LPDISPATCH);
  2152. CMapXPoint GetLabelPoint();
  2153. double GetPerimeter();
  2154. BOOL GetSmooth();
  2155. void SetSmooth(BOOL);
  2156. CString GetName();
  2157. CString GetKeyValue();
  2158. void SetKeyValue(LPCTSTR);
  2159. CString GetFeatureKey();
  2160. short GetFindRC();
  2161. // Operations
  2162. public:
  2163. void Update(const VARIANT& UpdateFeature, const VARIANT& RowValues);
  2164. void Update()
  2165. {
  2166. Update(COptionalVariant(), COptionalVariant());
  2167. }
  2168. void Offset(double deltaX, double deltaY);
  2169. void Attach(LPDISPATCH Map);
  2170. LPDISPATCH Clone();
  2171. VARIANT GetNodes(const VARIANT& CSys);
  2172. void SetNodes(const VARIANT& CSys, const VARIANT& newValue);
  2173. };
  2174. /////////////////////////////////////////////////////////////////////////////
  2175. // CMapXFindResult wrapper class
  2176. class CMapXFindResult : public COleDispatchDriver
  2177. {
  2178. public:
  2179. CMapXFindResult() {} // Calls COleDispatchDriver default constructor
  2180. CMapXFindResult(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2181. CMapXFindResult(const CMapXFindResult& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2182. // Attributes
  2183. public:
  2184. BOOL GetExactMatch();
  2185. BOOL GetSubstitute();
  2186. BOOL GetAddressOutOfRange();
  2187. BOOL GetIntersectionNotFound();
  2188. BOOL GetMultipleMatches();
  2189. BOOL GetRefineRegion();
  2190. short GetFindRC();
  2191. CMapXFindMatches GetMatches();
  2192. CMapXFeature GetMatchedFeature();
  2193. };
  2194. /////////////////////////////////////////////////////////////////////////////
  2195. // CMapXLayerFind wrapper class
  2196. class CMapXLayerFind : public COleDispatchDriver
  2197. {
  2198. public:
  2199. CMapXLayerFind() {} // Calls COleDispatchDriver default constructor
  2200. CMapXLayerFind(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2201. CMapXLayerFind(const CMapXLayerFind& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2202. // Attributes
  2203. public:
  2204. CMapXLayer GetRefineLayer();
  2205. void SetRefineLayer(LPDISPATCH);
  2206. BOOL GetAbbreviations();
  2207. void SetAbbreviations(BOOL);
  2208. BOOL GetClosestAddr();
  2209. void SetClosestAddr(BOOL);
  2210. BOOL GetOtherBoundary();
  2211. void SetOtherBoundary(BOOL);
  2212. CMapXField GetFindField();
  2213. void SetFindField(LPDISPATCH);
  2214. CMapXField GetRefineField();
  2215. void SetRefineField(LPDISPATCH);
  2216. CMapXDataset GetFindDataset();
  2217. void SetFindDataset(LPDISPATCH);
  2218. CMapXDataset GetRefineDataset();
  2219. void SetRefineDataset(LPDISPATCH);
  2220. long GetCloseMatchMax();
  2221. void SetCloseMatchMax(long);
  2222. // Operations
  2223. public:
  2224. CMapXFindFeature Search(LPCTSTR Address, const VARIANT& RefineBoundary);
  2225. CMapXFindFeature Search(LPCTSTR Address, LPCTSTR RefineBoundary)
  2226. { return Search(Address, COleVariant(RefineBoundary)); }
  2227. CMapXFindFeature Search(LPCTSTR Address)
  2228. { return Search(Address, COptionalVariant()); }
  2229. CMapXFindResult SearchEx(LPCTSTR Address, const VARIANT& RefineBoundary);
  2230. CMapXFindResult SearchEx(LPCTSTR Address, LPCTSTR RefineBoundary)
  2231. { return SearchEx(Address, COleVariant(RefineBoundary)); }
  2232. CMapXFindResult SearchEx(LPCTSTR Address)
  2233. { return SearchEx(Address, COptionalVariant()); }
  2234. };
  2235. /////////////////////////////////////////////////////////////////////////////
  2236. // CMapXFindMatch wrapper class
  2237. class CMapXFindMatch : public COleDispatchDriver
  2238. {
  2239. public:
  2240. CMapXFindMatch() {} // Calls COleDispatchDriver default constructor
  2241. CMapXFindMatch(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2242. CMapXFindMatch(const CMapXFindMatch& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2243. // Attributes
  2244. public:
  2245. long GetFeatureID();
  2246. CString GetName();
  2247. long GetScore();
  2248. CString GetFeatureKey();
  2249. };
  2250. /////////////////////////////////////////////////////////////////////////////
  2251. // CMapXFindMatches wrapper class
  2252. class CMapXFindMatches : public COleDispatchDriver
  2253. {
  2254. public:
  2255. CMapXFindMatches() {} // Calls COleDispatchDriver default constructor
  2256. CMapXFindMatches(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2257. CMapXFindMatches(const CMapXFindMatches& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2258. CMapXFindMatch operator[](long Index) { return Item(Index); }
  2259. // Attributes
  2260. public:
  2261. LPENUMVARIANT GetEnumerator();
  2262. long GetCount();
  2263. // Operations
  2264. public:
  2265. CMapXFindMatch Item(const VARIANT& Index);
  2266. CMapXFindMatch Item(long Index) { return Item(COleVariant(Index)); }
  2267. };
  2268. /////////////////////////////////////////////////////////////////////////////
  2269. // CMapXGeoset wrapper class
  2270. class CMapXGeoset : public COleDispatchDriver
  2271. {
  2272. public:
  2273. CMapXGeoset() {} // Calls COleDispatchDriver default constructor
  2274. CMapXGeoset(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2275. CMapXGeoset(const CMapXGeoset& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2276. // Attributes
  2277. public:
  2278. CMapXPoint GetCentroid();
  2279. CString GetPathName();
  2280. CString GetUserName();
  2281. // Operations
  2282. public:
  2283. };
  2284. /////////////////////////////////////////////////////////////////////////////
  2285. // CMapXGeosets wrapper class
  2286. class CMapXGeosets : public COleDispatchDriver
  2287. {
  2288. public:
  2289. CMapXGeosets() {} // Calls COleDispatchDriver default constructor
  2290. CMapXGeosets(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2291. CMapXGeosets(const CMapXGeosets& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2292. CMapXGeoset operator[](long Index) { return Item(Index); }
  2293. CMapXGeoset operator[](LPCTSTR Index) { return Item(Index); }
  2294. // Attributes
  2295. public:
  2296. LPENUMVARIANT GetEnumerator();
  2297. long GetCount();
  2298. // Operations
  2299. public:
  2300. CMapXGeoset Item(const VARIANT& Index);
  2301. CMapXGeoset Item(long Index) { return Item(COleVariant(Index)); }
  2302. CMapXGeoset Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  2303. };
  2304. /////////////////////////////////////////////////////////////////////////////
  2305. // CMapXPoint wrapper class
  2306. class CMapXPoint : public COleDispatchDriver
  2307. {
  2308. public:
  2309. CMapXPoint() {} // Calls COleDispatchDriver default constructor
  2310. CMapXPoint(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2311. CMapXPoint(const CMapXPoint& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2312. CLSID const& GetClsid()
  2313. {
  2314. static CLSID clsid =
  2315. { 0x9d6ed18b, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2316. return clsid;
  2317. }
  2318. // Attributes
  2319. public:
  2320. double GetX();
  2321. double GetY();
  2322. // Operations
  2323. public:
  2324. void Set(double X, double Y);
  2325. void Offset(double deltaX, double deltaY);
  2326. };
  2327. /////////////////////////////////////////////////////////////////////////////
  2328. // CMapXPoints wrapper class
  2329. class CMapXPoints : public COleDispatchDriver
  2330. {
  2331. public:
  2332. CMapXPoints() {} // Calls COleDispatchDriver default constructor
  2333. CMapXPoints(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2334. CMapXPoints(const CMapXPoints& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2335. CMapXPoint operator[](long Index) { return Item(Index); }
  2336. CLSID const& GetClsid()
  2337. {
  2338. static CLSID clsid =
  2339. { 0x9d6ed18c, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2340. return clsid;
  2341. }
  2342. // Attributes
  2343. public:
  2344. LPENUMVARIANT GetEnumerator();
  2345. long GetCount();
  2346. // Operations
  2347. public:
  2348. CMapXPoint Item(const VARIANT& Index);
  2349. CMapXPoint Item(long Index) { return Item(COleVariant(Index)); }
  2350. void Remove(const VARIANT& Index);
  2351. void Remove(long Index) { Remove(COleVariant(Index)); }
  2352. CMapXPoint Add(LPDISPATCH Point, const VARIANT& Position);
  2353. CMapXPoint Add(LPDISPATCH Point, short Position) { return Add(Point, COleVariant(Position)); }
  2354. CMapXPoint Add(LPDISPATCH Point) { return Add(Point, COptionalVariant()); }
  2355. CMapXPoint AddXY(double X, double Y, const VARIANT& Position);
  2356. CMapXPoint AddXY(double X, double Y) { return AddXY(X,Y, COptionalVariant()); }
  2357. CMapXPoint AddXY(double X, double Y, short Position) { return AddXY(X,Y, COleVariant(Position)); }
  2358. void RemoveAll();
  2359. };
  2360. /////////////////////////////////////////////////////////////////////////////
  2361. // CMapXParts wrapper class
  2362. class CMapXParts : public COleDispatchDriver
  2363. {
  2364. public:
  2365. CMapXParts() {} // Calls COleDispatchDriver default constructor
  2366. CMapXParts(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2367. CMapXParts(const CMapXParts& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2368. CMapXPoints operator[](long Index) { return Item(Index); }
  2369. CLSID const& GetClsid()
  2370. {
  2371. static CLSID clsid =
  2372. { 0x9d6ed18a, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2373. return clsid;
  2374. }
  2375. // Attributes
  2376. public:
  2377. LPENUMVARIANT GetEnumerator();
  2378. long GetCount();
  2379. // Operations
  2380. public:
  2381. CMapXPoints Add(LPDISPATCH Points);
  2382. CMapXPoints Add() { return Add(NULL); }
  2383. CMapXPoints Item(const VARIANT& Index);
  2384. CMapXPoints Item(long Index) { return Item(COleVariant(Index)); }
  2385. void Remove(const VARIANT& Index);
  2386. void Remove(long Index) { Remove(COleVariant(Index)); }
  2387. void RemoveAll();
  2388. };
  2389. /////////////////////////////////////////////////////////////////////////////
  2390. // CMapXNotesViewInfo wrapper class
  2391. class CMapXNotesViewInfo : public COleDispatchDriver
  2392. {
  2393. public:
  2394. CMapXNotesViewInfo() {} // Calls COleDispatchDriver default constructor
  2395. CMapXNotesViewInfo(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2396. CMapXNotesViewInfo(const CMapXNotesViewInfo& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2397. CLSID const& GetClsid()
  2398. {
  2399. // {DA1EA908-85C3-11d0-83F2-00AA00BD34FC}
  2400. static CLSID clsid =
  2401. { 0x9d6ed196, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2402. return clsid;
  2403. }
  2404. // Attributes
  2405. public:
  2406. CString GetServer();
  2407. void SetServer(LPCTSTR);
  2408. CString GetDatabase();
  2409. void SetDatabase(LPCTSTR);
  2410. CString GetView();
  2411. void SetView(LPCTSTR);
  2412. // Operations
  2413. public:
  2414. };
  2415. /////////////////////////////////////////////////////////////////////////////
  2416. // CMapXNotesQueryInfo wrapper class
  2417. class CMapXNotesQueryInfo : public COleDispatchDriver
  2418. {
  2419. public:
  2420. CMapXNotesQueryInfo() {} // Calls COleDispatchDriver default constructor
  2421. CMapXNotesQueryInfo(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2422. CMapXNotesQueryInfo(const CMapXNotesQueryInfo& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2423. CLSID const& GetClsid()
  2424. {
  2425. // {F4BBB761-9403-11D0-96AF-00AA00A4760F}
  2426. static CLSID clsid =
  2427. { 0x9d6ed195, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2428. return clsid;
  2429. }
  2430. // Attributes
  2431. public:
  2432. CString GetServer();
  2433. void SetServer(LPCTSTR);
  2434. CString GetDatabase();
  2435. void SetDatabase(LPCTSTR);
  2436. CString GetQuery();
  2437. void SetQuery(LPCTSTR);
  2438. CString GetBeginDate();
  2439. void SetBeginDate(LPCTSTR);
  2440. CString GetEndDate();
  2441. void SetEndDate(LPCTSTR);
  2442. BOOL GetFullTextSearch();
  2443. void SetFullTextSearch(BOOL);
  2444. CString GetDefaultStringValue();
  2445. void SetDefaultStringValue(LPCTSTR);
  2446. double GetDefaultNumericValue();
  2447. void SetDefaultNumericValue(double);
  2448. long GetMaxNumDocs();
  2449. void SetMaxNumDocs(long);
  2450. // Operations
  2451. public:
  2452. };
  2453. /////////////////////////////////////////////////////////////////////////////
  2454. // CMapXODBCQueryInfo wrapper class
  2455. class CMapXODBCQueryInfo : public COleDispatchDriver
  2456. {
  2457. public:
  2458. CMapXODBCQueryInfo() {} // Calls COleDispatchDriver default constructor
  2459. CMapXODBCQueryInfo(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2460. CMapXODBCQueryInfo(const CMapXODBCQueryInfo& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2461. CLSID const& GetClsid()
  2462. {
  2463. static CLSID clsid =
  2464. { 0x9d6ed194, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca} };
  2465. return clsid;
  2466. }
  2467. // Attributes
  2468. public:
  2469. CString GetDataSource();
  2470. void SetDataSource(LPCTSTR);
  2471. CString GetSqlQuery();
  2472. void SetSqlQuery(LPCTSTR);
  2473. CString GetConnectString();
  2474. void SetConnectString(LPCTSTR);
  2475. // Operations
  2476. public:
  2477. };
  2478. /////////////////////////////////////////////////////////////////////////////
  2479. // CMapXDatum wrapper class
  2480. class CMapXDatum : public COleDispatchDriver
  2481. {
  2482. public:
  2483. CMapXDatum() {} // Calls COleDispatchDriver default constructor
  2484. CMapXDatum(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2485. CMapXDatum(const CMapXDatum& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2486. CLSID const& GetClsid()
  2487. {
  2488. static CLSID clsid =
  2489. { 0x9d6ed185, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2490. return clsid;
  2491. }
  2492. // Attributes
  2493. public:
  2494. short GetEllipsoid();
  2495. double GetShiftX();
  2496. double GetShiftY();
  2497. double GetShiftZ();
  2498. double GetRotateX();
  2499. double GetRotateY();
  2500. double GetRotateZ();
  2501. double GetScaleAdjust();
  2502. double GetPrimeMeridian();
  2503. double GetSemiMajorAxis();
  2504. double GetSemiMinorAxis();
  2505. double GetFlattening();
  2506. double GetEccentricity();
  2507. // Operations
  2508. public:
  2509. void Set(short Ellipsoid, double ShiftX, double ShiftY, double ShiftZ, double RotateX, double RotateY, double RotateZ, double ScaleAdjust, double PrimeMeridian);
  2510. void SetFromList(short DatumNum);
  2511. };
  2512. /////////////////////////////////////////////////////////////////////////////
  2513. // CMapXAffineTransform wrapper class
  2514. class CMapXAffineTransform : public COleDispatchDriver
  2515. {
  2516. public:
  2517. CMapXAffineTransform() {} // Calls COleDispatchDriver default constructor
  2518. CMapXAffineTransform(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2519. CMapXAffineTransform(const CMapXAffineTransform& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2520. CLSID const& GetClsid()
  2521. {
  2522. static CLSID clsid = { 0x9d6ed181, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca} };
  2523. return clsid;
  2524. }
  2525. // Attributes
  2526. public:
  2527. short GetUnits();
  2528. double GetA();
  2529. double GetB();
  2530. double GetC();
  2531. double GetD();
  2532. double GetE();
  2533. double GetF();
  2534. // Operations
  2535. public:
  2536. void Set(short Units, double A, double B, double C, double D, double E, double F);
  2537. };
  2538. /////////////////////////////////////////////////////////////////////////////
  2539. // CMapXCoordSys wrapper class
  2540. class CMapXCoordSys : public COleDispatchDriver
  2541. {
  2542. public:
  2543. CMapXCoordSys() {} // Calls COleDispatchDriver default constructor
  2544. CMapXCoordSys(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2545. CMapXCoordSys(const CMapXCoordSys& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2546. CLSID const& GetClsid()
  2547. {
  2548. static CLSID clsid =
  2549. { 0x9d6ed183, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2550. return clsid;
  2551. }
  2552. // Attributes
  2553. public:
  2554. short GetType();
  2555. CMapXDatum GetDatum();
  2556. short GetUnits();
  2557. CMapXRectangle GetBounds();
  2558. double GetOriginLongitude();
  2559. double GetOriginLatitude();
  2560. double GetStandardParallelOne();
  2561. double GetStandardParallelTwo();
  2562. double GetAzimuth();
  2563. double GetScaleFactor();
  2564. double GetFalseEasting();
  2565. double GetFalseNorthing();
  2566. double GetRange();
  2567. CMapXAffineTransform GetAffineTransform();
  2568. // Operations
  2569. public:
  2570. void Set(short Type, const VARIANT& Datum, const VARIANT& Units, const VARIANT& OriginLongitude, const VARIANT& OriginLatitude, const VARIANT& StandardParallelOne, const VARIANT& StandardParallelTwo, const VARIANT& Azimuth,
  2571. const VARIANT& ScaleFactor, const VARIANT& FalseEasting, const VARIANT& FalseNorthing, const VARIANT& Range, const VARIANT& Bounds, const VARIANT& AffineTransform);
  2572. void Set(short Type, LPDISPATCH Datum, const VARIANT& Units, const VARIANT& OriginLongitude, const VARIANT& OriginLatitude, const VARIANT& StandardParallelOne, const VARIANT& StandardParallelTwo, const VARIANT& Azimuth,
  2573. const VARIANT& ScaleFactor, const VARIANT& FalseEasting, const VARIANT& FalseNorthing, const VARIANT& Range, const VARIANT& Bounds, const VARIANT& AffineTransform)
  2574. {
  2575. Set(Type, COleVariantDispatch(Datum), Units, OriginLongitude, OriginLatitude, StandardParallelOne,
  2576. StandardParallelTwo, Azimuth, ScaleFactor, FalseEasting, FalseNorthing, Range, Bounds,
  2577. AffineTransform);
  2578. }
  2579. void Set(short Type, short Datum, const VARIANT& Units, const VARIANT& OriginLongitude, const VARIANT& OriginLatitude, const VARIANT& StandardParallelOne, const VARIANT& StandardParallelTwo, const VARIANT& Azimuth,
  2580. const VARIANT& ScaleFactor, const VARIANT& FalseEasting, const VARIANT& FalseNorthing, const VARIANT& Range, const VARIANT& Bounds, const VARIANT& AffineTransform)
  2581. {
  2582. Set(Type, COleVariant(Datum), Units, OriginLongitude, OriginLatitude, StandardParallelOne,
  2583. StandardParallelTwo, Azimuth, ScaleFactor, FalseEasting, FalseNorthing, Range, Bounds,
  2584. AffineTransform);
  2585. }
  2586. BOOL PickCoordSys(const VARIANT& HelpFile, const VARIANT& HelpID);
  2587. BOOL PickCoordSys(LPCTSTR HelpFile, UINT HelpID=HELP_FINDER)
  2588. { return PickCoordSys(COleVariant(HelpFile), COleVariant((long)HelpID)); }
  2589. BOOL PickCoordSys()
  2590. { return PickCoordSys(COptionalVariant(), COptionalVariant()); }
  2591. CMapXCoordSys Clone();
  2592. };
  2593. /////////////////////////////////////////////////////////////////////////////
  2594. // CMapXBitmapSymbol wrapper class
  2595. class CMapXBitmapSymbol : public COleDispatchDriver
  2596. {
  2597. public:
  2598. CMapXBitmapSymbol() {} // Calls COleDispatchDriver default constructor
  2599. CMapXBitmapSymbol(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2600. CMapXBitmapSymbol(const CMapXBitmapSymbol& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2601. // Attributes
  2602. public:
  2603. CString GetName();
  2604. };
  2605. /////////////////////////////////////////////////////////////////////////////
  2606. // CMapXBitmapSymbols wrapper class
  2607. class CMapXBitmapSymbols : public COleDispatchDriver
  2608. {
  2609. public:
  2610. CMapXBitmapSymbols() {} // Calls COleDispatchDriver default constructor
  2611. CMapXBitmapSymbols(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2612. CMapXBitmapSymbols(const CMapXBitmapSymbols& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2613. CLSID const& GetClsid()
  2614. {
  2615. static CLSID clsid =
  2616. { 0x9d6ed184, 0x5910, 0x11d2, { 0x98, 0xa6, 0x0, 0xa0, 0xc9, 0x74, 0x2c, 0xca } };
  2617. return clsid;
  2618. }
  2619. // Attributes
  2620. public:
  2621. LPENUMVARIANT GetEnumerator();
  2622. long GetCount();
  2623. CMapXBitmapSymbol operator[](long Index) { return Item(Index); }
  2624. // Operations
  2625. public:
  2626. CMapXBitmapSymbol Item(const VARIANT& Index);
  2627. CMapXBitmapSymbol Item(long Index) { return Item(COleVariant(Index)); }
  2628. void Refresh();
  2629. void Unload();
  2630. // Operations
  2631. public:
  2632. };
  2633. /////////////////////////////////////////////////////////////////////////////
  2634. // CMapXFeatureFactory wrapper class
  2635. class CMapXFeatureFactory : public COleDispatchDriver
  2636. {
  2637. public:
  2638. CMapXFeatureFactory() {} // Calls COleDispatchDriver default constructor
  2639. CMapXFeatureFactory(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2640. CMapXFeatureFactory(const CMapXFeatureFactory& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2641. // Attributes
  2642. public:
  2643. // Operations
  2644. public:
  2645. CMapXFeature BufferFeatures(LPDISPATCH Source, double Distance, const VARIANT& Units, const VARIANT& Resolution);
  2646. CMapXFeature BufferFeatures(LPDISPATCH Source, double Distance, short Units, short Resolution)
  2647. { return BufferFeatures(Source, Distance, COleVariant(Units), COleVariant(Resolution));}
  2648. CMapXFeature BufferFeatures(LPDISPATCH Source, double Distance, short Units)
  2649. { return BufferFeatures(Source, Distance, COleVariant(Units), COptionalVariant());}
  2650. CMapXFeature CombineFeatures(LPDISPATCH Source1, const VARIANT& Source2);
  2651. CMapXFeature CombineFeatures(LPDISPATCH Source1)
  2652. { return CombineFeatures(Source1, COptionalVariant()); }
  2653. CMapXFeature IntersectFeatures(LPDISPATCH Source1, const VARIANT& Source2);
  2654. CMapXFeature IntersectFeatures(LPDISPATCH Source1)
  2655. { return IntersectFeatures(Source1, COptionalVariant()); }
  2656. CMapXFeature EraseFeature(LPDISPATCH Feature, LPDISPATCH EraserFeature);
  2657. CMapXFeature CreateSymbol(const VARIANT& Point, const VARIANT& Style);
  2658. CMapXFeature CreateSymbol(const VARIANT& Point)
  2659. { return CreateSymbol(Point, COptionalVariant());}
  2660. CMapXFeature CreateSymbol()
  2661. { return CreateSymbol(COptionalVariant(), COptionalVariant());}
  2662. CMapXFeature CreateRegion(const VARIANT& Points, const VARIANT& Style);
  2663. CMapXFeature CreateRegion(const VARIANT& Points)
  2664. { return CreateRegion(Points, COptionalVariant());}
  2665. CMapXFeature CreateRegion()
  2666. { return CreateRegion(COptionalVariant(), COptionalVariant());}
  2667. CMapXFeature CreateLine(const VARIANT& Points, const VARIANT& Style);
  2668. CMapXFeature CreateLine(const VARIANT& Points)
  2669. { return CreateLine(Points, COptionalVariant());}
  2670. CMapXFeature CreateLine()
  2671. { return CreateLine(COptionalVariant(), COptionalVariant());}
  2672. CMapXFeature CreateText(const VARIANT& Point, const VARIANT& Caption, const VARIANT& Position, const VARIANT& Style);
  2673. CMapXFeature CreateText(const VARIANT& Point, LPCTSTR Caption, short Position, const VARIANT& Style)
  2674. { return CreateText(Point, COleVariant(Caption), COleVariant(Position), Style);}
  2675. CMapXFeature CreateText(const VARIANT& Point, LPCTSTR Caption="", short Position=miPositionTL)
  2676. { return CreateText(Point, COleVariant(Caption), COleVariant(Position), COptionalVariant());}
  2677. CMapXFeature CreateText(LPCTSTR Caption="", short Position=miPositionTL)
  2678. { return CreateText(COptionalVariant(), COleVariant(Caption), COleVariant(Position), COptionalVariant());}
  2679. CMapXFeature CreateArc(LPDISPATCH Point1, LPDISPATCH Point2, const VARIANT& Angle, const VARIANT& Distance, const VARIANT& Resolution, const VARIANT& Style);
  2680. CMapXFeature CreateArc(LPDISPATCH Point1, LPDISPATCH Point2, double Angle, double Distance, short Resolution)
  2681. { return CreateArc(Point1, Point2, COleVariant(Angle), COleVariant(Distance), COleVariant(Resolution), COptionalVariant());}
  2682. CMapXFeature CreateArc(LPDISPATCH Point1, LPDISPATCH Point2, double Angle=90.0, double Distance=1.0)
  2683. { return CreateArc(Point1, Point2, COleVariant(Angle), COleVariant(Distance), COptionalVariant(), COptionalVariant());}
  2684. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, const VARIANT& Angle, const VARIANT& Resolution, const VARIANT& Style);
  2685. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, double Angle=0.0)
  2686. { return CreateEllipticalRegion(Rectangle, COleVariant(Angle), COptionalVariant(), COptionalVariant());}
  2687. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, short Resolution)
  2688. { return CreateEllipticalRegion(Rectangle, COptionalVariant(), COleVariant(Resolution), COptionalVariant());}
  2689. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, LPDISPATCH Style)
  2690. {
  2691. return CreateEllipticalRegion(Rectangle, COptionalVariant(), COptionalVariant(), COleVariantDispatch(Style));
  2692. }
  2693. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, double Angle, short Resolution)
  2694. { return CreateEllipticalRegion(Rectangle, COleVariant(Angle), COleVariant(Resolution), COptionalVariant());}
  2695. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, double Angle, LPDISPATCH Style)
  2696. {
  2697. return CreateEllipticalRegion(Rectangle, COleVariant(Angle), COptionalVariant(), COleVariantDispatch(Style));
  2698. }
  2699. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, short Resolution, LPDISPATCH Style)
  2700. {
  2701. return CreateEllipticalRegion(Rectangle, COptionalVariant(), COleVariant(Resolution), COleVariantDispatch(Style));
  2702. }
  2703. CMapXFeature CreateEllipticalRegion(LPDISPATCH Rectangle, double Angle, short Resolution, LPDISPATCH Style)
  2704. {
  2705. return CreateEllipticalRegion(Rectangle, COleVariant(Angle), COleVariant(Resolution), COleVariantDispatch(Style));
  2706. }
  2707. CMapXFeature CreateCircularRegion(short Type, LPDISPATCH Point, double Distance, const VARIANT& Units, const VARIANT& Resolution, const VARIANT& Style);
  2708. CMapXFeature CreateCircularRegion(short Type, LPDISPATCH Point, double Distance, short Units, short Resolution)
  2709. { return CreateCircularRegion(Type, Point, Distance, COleVariant(Units), COleVariant(Resolution), COptionalVariant());}
  2710. CMapXFeature CreateCircularRegion(short Type, LPDISPATCH Point, double Distance, short Units)
  2711. { return CreateCircularRegion(Type, Point, Distance, COleVariant(Units), COptionalVariant(), COptionalVariant());}
  2712. BOOL IntersectionTest(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag);
  2713. BOOL IntersectionTest(LPDISPATCH Feature1, LPDISPATCH Feature2, short Flag=miIntersectFeature)
  2714. { return IntersectionTest(Feature1, Feature2, COleVariant(Flag)); }
  2715. CMapXPoints IntersectionPoints(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag);
  2716. CMapXPoints IntersectionPoints(LPDISPATCH Feature1, LPDISPATCH Feature2, short Flag=miIntersectAll)
  2717. { return IntersectionPoints(Feature1, Feature2, COleVariant(Flag)); }
  2718. };
  2719. class CMapXResolveObject : public COleDispatchDriver
  2720. {
  2721. public:
  2722. CMapXResolveObject() {} // Calls COleDispatchDriver default constructor
  2723. CMapXResolveObject(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2724. CMapXResolveObject(const CMapXResolveObject& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2725. // Attributes
  2726. public:
  2727. CString GetTableName();
  2728. long GetSourceMatch();
  2729. long GetTableMatch();
  2730. // Operations
  2731. public:
  2732. };
  2733. class CMapXResolveObjects : public COleDispatchDriver
  2734. {
  2735. public:
  2736. CMapXResolveObjects() {} // Calls COleDispatchDriver default constructor
  2737. CMapXResolveObjects(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2738. CMapXResolveObjects(const CMapXResolveObjects& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2739. // Attributes
  2740. public:
  2741. LPENUMVARIANT GetEnumerator();
  2742. long GetCount();
  2743. CMapXResolveObject operator[](long Index) { return Item(Index); }
  2744. // Operations
  2745. public:
  2746. CMapXResolveObject Item(const VARIANT& Index);
  2747. CMapXResolveObject Item(long Index) { return Item(COleVariant(Index)); }
  2748. };
  2749. /////////////////////////////////////////////////////////////////////////////
  2750. // CMapXLayerInfo wrapper class
  2751. class CMapXLayerInfo : public COleDispatchDriver
  2752. {
  2753. public:
  2754. CMapXLayerInfo() {} // Calls COleDispatchDriver default constructor
  2755. CMapXLayerInfo(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2756. CMapXLayerInfo(const CMapXRowValue& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2757. CLSID const& GetClsid()
  2758. {
  2759. static CLSID clsid =
  2760. { 0x30d28171, 0xfe33, 0x11d2, { 0x98, 0x78, 0x0, 0x60, 0x08, 0x9f, 0x59, 0xa5} };
  2761. return clsid;
  2762. }
  2763. // Attributes
  2764. public:
  2765. short GetType();
  2766. void SetType(short);
  2767. // Operations
  2768. public:
  2769. void AddParameter(LPCTSTR ParamName, const VARIANT& Param);
  2770. };
  2771. /////////////////////////////////////////////////////////////////////////////
  2772. // CMapXVariable wrapper class
  2773. class CMapXVariable : public COleDispatchDriver
  2774. {
  2775. public:
  2776. CMapXVariable() {} // Calls COleDispatchDriver default constructor
  2777. CMapXVariable(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2778. CMapXVariable(const CMapXVariable& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2779. // Attributes
  2780. public:
  2781. CString GetName();
  2782. VARIANT GetValue();
  2783. void SetValue(const VARIANT&);
  2784. void SetValue(short n)
  2785. { SetValue(COleVariant(n)); }
  2786. void SetValue(long n)
  2787. { SetValue(COleVariant(n)); }
  2788. void SetValue(double d)
  2789. { SetValue(COleVariant(d)); }
  2790. void SetValue(const char *pszValue)
  2791. { SetValue(COleVariant(pszValue)); }
  2792. // Operations
  2793. public:
  2794. };
  2795. // CMapXVariables wrapper class
  2796. class CMapXVariables : public COleDispatchDriver
  2797. {
  2798. public:
  2799. CMapXVariables() {} // Calls COleDispatchDriver default constructor
  2800. CMapXVariables(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
  2801. CMapXVariables(const CMapXVariables& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
  2802. CLSID const& GetClsid()
  2803. {
  2804. static CLSID clsid =
  2805. { 0x9a5d5584, 0xefb8, 0x11d3, { 0x9c, 0x33, 0x0, 0x50, 0x4, 0x9d, 0xa6, 0x82 } };
  2806. return clsid;
  2807. }
  2808. // Attributes
  2809. public:
  2810. LPENUMVARIANT GetEnumerator();
  2811. long GetCount();
  2812. CMapXVariable operator[](long Index) { return Item(Index); }
  2813. CMapXVariable operator[](LPCTSTR Index) { return Item(Index); }
  2814. // Operations
  2815. public:
  2816. CMapXVariable Add(LPCTSTR Name, const VARIANT& Value);
  2817. CMapXVariable Add(LPCTSTR Name, long Value) 
  2818. { return Add(Name, COleVariant(Value)); }
  2819. CMapXVariable Add(LPCTSTR Name, short Value) 
  2820. { return Add(Name, COleVariant(Value)); }
  2821. CMapXVariable Add(LPCTSTR Name, double Value) 
  2822. { return Add(Name, COleVariant(Value)); }
  2823. CMapXVariable Add(LPCTSTR Name, LPCTSTR Value) 
  2824. { return Add(Name, COleVariant(Value)); }
  2825. CMapXVariable Item(const VARIANT& Index);
  2826. CMapXVariable Item(long Index) { return Item(COleVariant(Index)); }
  2827. CMapXVariable Item(LPCTSTR Index) { return Item(COleVariant(Index)); }
  2828. void Remove(const VARIANT& Index);
  2829. void Remove(long Index) { Remove(COleVariant(Index)); }
  2830. void Remove(LPCTSTR Index) { Remove(COleVariant(Index)); }
  2831. void RemoveAll();
  2832. CMapXVariables Clone();
  2833. };
  2834. #endif // __MAPX_H__/////////////////////////////////////////////////////////////////////////////