00001
00018 #ifndef INC_MGUI_TOOLGPS_H
00019 #define INC_MGUI_TOOLGPS_H
00020
00021 #ifndef INC_MGUI_TOOLBASE_H
00022 #include <mgui/toolbase.h>
00023 #endif
00024
00025 #ifndef GENERATING_DOXYGEN_OUTPUT
00026 namespace MGPS {
00027 class SOURCE;
00028 struct REPORT;
00029 }
00030 #endif // GENERATING_DOXYGEN_OUTPUT
00031
00032 namespace MGUI {
00033
00035 class TOOL_GPS : public TOOL_BASE {
00036 public:
00037
00039 virtual ~TOOL_GPS () = 0;
00040
00045 MGUI::FORM* CreateGPSForm (
00046 MGUI::LAYOUT_PANE_BASE& ParentPane
00047 );
00048
00049 protected:
00050
00052 explicit TOOL_GPS (
00053 TOOLCANVAS *canvas,
00054 CONTROLNEED ControlNeed = CONTROLNEED_None,
00055 CAPABILITY capability = CAPABILITY_Default
00056 );
00057
00058 private:
00059 #ifndef GENERATING_DOXYGEN_OUTPUT
00060 typedef TOOL_BASE BASECLASS;
00061
00062 class CONTROLFORM;
00063 friend class CONTROLFORM;
00064 class SOURCEOBSERVER;
00065 friend class SOURCEOBSERVER;
00066 class MANAGEROBSERVER;
00067 friend class MANAGEROBSERVER;
00068
00069 MGPS::SOURCE* m_GPSsource;
00070 SOURCEOBSERVER* m_SourceObserver;
00071 MANAGEROBSERVER* m_ManagerObserver;
00072 CONTROLFORM* m_ControlForm;
00073 TRANS2D_MAPGEN m_GPStoTool;
00074 DPOINT3D m_CurrentGPSPoint;
00075 bool m_UseGPSCoord;
00076
00077 void SendGPSCoordToTool (const MGPS::REPORT& gpsdata);
00078
00079 void v_OnSetTransToMap ();
00080 #endif // GENERATING_DOXYGEN_OUTPUT
00081
00084 virtual void v_OnGPSCoordinate (
00085 const DPOINT3D& point
00086 ) = 0;
00087 };
00088
00089 }
00090
00091 #endif // INC_MGUI_TOOLGPS_H
00092