//---------------------------------------------------------------------------
#ifndef Track_SignalH
#define Track_SignalH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "_GClass.hpp"
#include "AbCBitBt.hpp"
#include "HideButton.h"
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include "AbNumEdit.hpp"
#include "AbLED.hpp"
//#include "perfgraph.h"
#include "PERFGRAP.h"   // have to do this twice due to a misconfiguration in CB10.1

// Forward Declaration
class TOp;

//---------------------------------------------------------------------------
class TTrackSignal : public TForm
{
__published:	// IDE-managed Components
	TLabel *Track_Signal_Label;
	TPanel *TrackSignalPanel;
	TEdit *FTS;
	TLabel *Label5;
	TAbNumSpin *UpdateRateSpin;
	TLabel *Label6;
	TButton *StartButton;
	TButton *StopButton;
	TEdit *FTSAverage;
	TLabel *Label1;
	TLabel *QueryLabel;
	TLabel *Label2;
	TAbLED *SoundLED;
	TAbLED *LED;
    TPanel *Panel1;
    TImage *Copyright;
    THideButton *HideButton;
    TAbColBitBtn *ESTOP;
    TPanel *Panel2;
    TPerformanceGraph *Signals;
    TPanel *Panel3;
    TLabel *TSMaximum;
    TLabel *Label10;
    TButton *ResetButton;
    TButton *FeatureResetButton;
	void __fastcall StartButtonClick(TObject *Sender);
	void __fastcall StopButtonClick(TObject *Sender);
	void __fastcall HideButtonClick(TObject *Sender);
	void __fastcall FormActivate(TObject *Sender);
	void __fastcall FormDeactivate(TObject *Sender);
	void __fastcall Track_Signal_LabelClick(TObject *Sender);
	void __fastcall CopyrightClick(TObject *Sender);
    void __fastcall TSMaximumClick(TObject *Sender);
    void __fastcall ResetButtonClick(TObject *Sender);
    void __fastcall FeatureResetButtonClick(TObject *Sender);
    
private:	// User declarations
    int RemoteNo, EngineNo, TIUNo;
    String EngineName;
   	HWND ParentHandle;
    String RegFileRootKey;
    TOp * CallingOpScreen;
   	__fastcall TTrackSignal(TComponent* Owner);
    bool LocalTransparencyOverride;

public:		// User declarations
    __fastcall TTrackSignal(TComponent* Owner, HWND Parent, int Remote, int Engine, int TIU, String EngName);
    __fastcall ~TTrackSignal(void);
    TTrackSignalThread * ptrTrackSignalThread;	// pointer to thread
};
//---------------------------------------------------------------------------
extern PACKAGE TTrackSignal *TrackSignal;
//---------------------------------------------------------------------------
#endif
