//---------------------------------------------------------------------------
/*
Remote Train Control Program for Windows

(c) Copyright 2015 by Mark DiVecchio

    This file is part of Remote Train Control.

    Remote Train Control is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Remote Train Control is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Remote Train Control.  If not, see <http://www.gnu.org/licenses/>.

*/
//---------------------------------------------------------------------------
#ifndef UtilityH
#define UtilityH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include "QuitButton.h"
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TUtilities : public TForm
{
__published:	// IDE-managed Components
	TEdit *XOROUT;
	TLabel *Label37;
	TEdit *XOR2IN;
	TLabel *Label20;
	TEdit *XOR1IN;
	TLabel *Label21;
	TLabel *X;
	TLabel *HexInt;
	TLabel *Label28;
	TEdit *HexCon;
	TEdit *IntOut;
	TEdit *HexOut;
	TLabel *Label30;
	TLabel *Label29;
	TEdit *IntCon;
	TLabel *Label5;
	TEdit *D_Dec;
	TUpDown *UpDown2;
	TEdit *D_Bin;
	TEdit *H_Bin;
	TLabel *Label40;
	TEdit *Encoded;
	TEdit *C_Encoded;
	TEdit *H_Encoded;
	TButton *HideButton;
	TLabel *Operation_Controls_Label;
	TButton *CreateEncodedTable;
	TButton *HextoString;
	TEdit *HexStringIn;
	TEdit *StringOut;
	TLabel *Label1;
	TLabel *Label2;
	TImage *Copyright;
	TComboBox *MRUComboBox;
	TButton *MRUButton;
    TLabel *Label3;
    TEdit *AddrIn;
    TLabel *Label4;
    TEdit *qOut;
    TLabel *Label6;
    TEdit *ByteIn;
    TLabel *Label7;
    TLabel *Label8;
    TLabel *Label9;
    TEdit *qIn;
    TLabel *Label10;
    TEdit *AddrOut;
    TLabel *Label11;
    TEdit *ByteOut;
	void __fastcall D_DecChange(TObject *Sender);
	void __fastcall EncodedExit(TObject *Sender);
	void __fastcall XORINChange(TObject *Sender);
	void __fastcall HexConChange(TObject *Sender);
	void __fastcall IntConChange(TObject *Sender);
	void __fastcall EncodedKeyPress(TObject *Sender, char &Key);
	void __fastcall HideButtonClick(TObject *Sender);
	void __fastcall CreateEncodedTableClick(TObject *Sender);
	void __fastcall HextoStringClick(TObject *Sender);
	void __fastcall MRUButtonClick(TObject *Sender);
	void __fastcall CopyrightClick(TObject *Sender);
	void __fastcall Operation_Controls_LabelClick(TObject *Sender);
	void __fastcall FormActivate(TObject *Sender);
	void __fastcall FormDeactivate(TObject *Sender);
    void __fastcall AddrInChange(TObject *Sender);
    void __fastcall ByteInChange(TObject *Sender);
    void __fastcall qInChange(TObject *Sender);
private:	// User declarations
    String RegFileRootKey;
    bool LocalTransparencyOverride;    
    
public:		// User declarations
	__fastcall TUtilities(TComponent* Owner);
	__fastcall ~TUtilities(void);
};
//---------------------------------------------------------------------------
extern PACKAGE TUtilities *Utilities;
//---------------------------------------------------------------------------
#endif
