//---------------------------------------------------------------------------

#ifndef FMainH
#define FMainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "ZylGPSReceiver.hpp"
#include "ZylCustomGPSReceiver.hpp"
#include "ZylFileGPSReceiver.hpp"
#include <Buttons.hpp>
#include <Dialogs.hpp>

//---------------------------------------------------------------------------
class TfrmMain : public TForm
{
__published:	// IDE-managed Components
        TLabel *Label13;
        TButton *btnStart;
        TButton *btnStop;
        TMemo *memRaw;
        TGroupBox *GroupBox1;
        TLabel *Label1;
        TLabel *Label2;
        TLabel *Label3;
        TLabel *Label4;
        TEdit *efLatDeg;
        TEdit *efLatMin;
        TEdit *efLatSec;
        TEdit *efLatDir;
        TGroupBox *GroupBox2;
        TLabel *Label5;
        TLabel *Label6;
        TLabel *Label7;
        TLabel *Label8;
        TEdit *efLongDeg;
        TEdit *efLongMin;
        TEdit *efLongSec;
        TEdit *efLongDir;
        TGroupBox *GroupBox3;
        TLabel *Label9;
        TLabel *Label10;
        TLabel *Label11;
        TLabel *Label12;
        TEdit *efAlt;
        TEdit *efSpeed;
        TEdit *efHeading;
        TEdit *efSatCount;
        TZylFileGPSReceiver *ZylGPSReceiver;
        TLabel *Label14;
        TEdit *efFile;
        TBitBtn *btnBrowseTitle;
        TOpenDialog *OpenDialog;
        void __fastcall btnStartClick(TObject *Sender);
        void __fastcall btnStopClick(TObject *Sender);
        void __fastcall ZylGPSReceiverReceive(TObject *Sender);
        void __fastcall ZylGPSReceiver2DPositionChange(TObject *Sender,
          Extended Latitude, Extended Longitude);
        void __fastcall ZylGPSReceiver3DPositionChange(TObject *Sender,
          Extended Latitude, Extended Longitude, Extended Altitude);
        void __fastcall ZylGPSReceiverAltitudeChange(TObject *Sender,
          Extended Value);
        void __fastcall ZylGPSReceiverHeadingChange(TObject *Sender,
          Extended Value);
        void __fastcall ZylGPSReceiverLatitudeChange(TObject *Sender,
          int Degree, int Minute, Extended Second,
          TCardinalPoint Direction);
        void __fastcall ZylGPSReceiverLongitudeChange(TObject *Sender,
          int Degree, int Minute, Extended Second,
          TCardinalPoint Direction);
        void __fastcall ZylGPSReceiverSpeedChange(TObject *Sender,
          Extended Value);
        void __fastcall btnBrowseTitleClick(TObject *Sender);
        void __fastcall ZylGPSReceiverConnect(TObject *Sender,
          AnsiString FileName);
        void __fastcall ZylGPSReceiverDisconnect(TObject *Sender,
          AnsiString FileName);
private:	// User declarations
public:		// User declarations
        __fastcall TfrmMain(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmMain *frmMain;
//---------------------------------------------------------------------------
#endif
