// CodeGear C++Builder
// Copyright (c) 1995, 2014 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FMX.TMSFindDialog.pas' rev: 27.00 (Windows)

#ifndef Fmx_TmsfinddialogHPP
#define Fmx_TmsfinddialogHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <FMX.Forms.hpp>	// Pascal unit
#include <FMX.Memo.hpp>	// Pascal unit
#include <FMX.Menus.hpp>	// Pascal unit
#include <FMX.Edit.hpp>	// Pascal unit
#include <FMX.Controls.hpp>	// Pascal unit
#include <FMX.Types.hpp>	// Pascal unit
#include <FMX.TMSBaseControl.hpp>	// Pascal unit
#include <FMX.Layouts.hpp>	// Pascal unit
#include <FMX.ListBox.hpp>	// Pascal unit
#include <System.UITypes.hpp>	// Pascal unit
#include <FMX.StdCtrls.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Fmx
{
namespace Tmsfinddialog
{
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TTMSFMXFindDialogOption : unsigned char { fdoCaseSensitive, fdoExpression, fdoCloseIfFound, fdoWholeWordOnly, fdoWrapAtEndOfFile, fdoContinueToNextFile, fdoMoreEnabled, fdoSetMarkerEnabled, fdoPreviousEnabled, fdoFindEnabled, fdoCloseEnabled, fdoMoreExpanded, fdoFindList, fdoDown, fdoSelection };

enum DECLSPEC_DENUM TTMSFMXFindDialogVisibleOption : unsigned char { fdovCaseSensitive, fdovExpression, fdovCloseIfFound, fdovWholeWordOnly, fdovWrapAtEndOfFile, fdovContinueToNextFile, fdovMore, fdovSetMarker, fdovPrevious, fdovFind, fdovClose, fdovFindCombo, fdovFindMemo, fdovDirection, fdovSelection };

typedef System::Set<TTMSFMXFindDialogOption, TTMSFMXFindDialogOption::fdoCaseSensitive, TTMSFMXFindDialogOption::fdoSelection> TTMSFMXFindDialogOptions;

typedef System::Set<TTMSFMXFindDialogVisibleOption, TTMSFMXFindDialogVisibleOption::fdovCaseSensitive, TTMSFMXFindDialogVisibleOption::fdovSelection> TTMSFMXFindDialogVisibleOptions;

typedef void __fastcall (__closure *TFindEditChangeEvent)(System::TObject* Sender, System::UnicodeString &AText);

class DELPHICLASS TFindUILanguage;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TFindUILanguage : public System::Classes::TPersistent
{
	typedef System::Classes::TPersistent inherited;
	
private:
	System::UnicodeString FCloseIfFound;
	System::UnicodeString FFindWhat;
	System::UnicodeString FCaseSensitive;
	System::UnicodeString FWrapAtEndOfFile;
	System::UnicodeString FExpression;
	System::UnicodeString FMore;
	System::UnicodeString FSetMarker;
	System::UnicodeString FPrevious;
	System::UnicodeString FWholeWordOnly;
	System::UnicodeString FClose;
	System::UnicodeString FFind;
	System::UnicodeString FContinueToNextFile;
	System::UnicodeString FLess;
	System::UnicodeString FDirection;
	System::UnicodeString FDown;
	System::UnicodeString FUp;
	System::UnicodeString FFindCaption;
	System::UnicodeString FSelection;
	
public:
	__fastcall TFindUILanguage(System::Classes::TComponent* AOwner);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	void __fastcall Init(void);
	
__published:
	__property System::UnicodeString FindCaption = {read=FFindCaption, write=FFindCaption};
	__property System::UnicodeString FindWhat = {read=FFindWhat, write=FFindWhat};
	__property System::UnicodeString CaseSensitive = {read=FCaseSensitive, write=FCaseSensitive};
	__property System::UnicodeString Expression = {read=FExpression, write=FExpression};
	__property System::UnicodeString CloseIfFound = {read=FCloseIfFound, write=FCloseIfFound};
	__property System::UnicodeString WholeWordOnly = {read=FWholeWordOnly, write=FWholeWordOnly};
	__property System::UnicodeString WrapAtEndOfFile = {read=FWrapAtEndOfFile, write=FWrapAtEndOfFile};
	__property System::UnicodeString ContinueToNextFile = {read=FContinueToNextFile, write=FContinueToNextFile};
	__property System::UnicodeString Find = {read=FFind, write=FFind};
	__property System::UnicodeString Previous = {read=FPrevious, write=FPrevious};
	__property System::UnicodeString SetMarker = {read=FSetMarker, write=FSetMarker};
	__property System::UnicodeString Close = {read=FClose, write=FClose};
	__property System::UnicodeString More = {read=FMore, write=FMore};
	__property System::UnicodeString Less = {read=FLess, write=FLess};
	__property System::UnicodeString Direction = {read=FDirection, write=FDirection};
	__property System::UnicodeString Up = {read=FUp, write=FUp};
	__property System::UnicodeString Down = {read=FDown, write=FDown};
	__property System::UnicodeString Selection = {read=FSelection, write=FSelection};
public:
	/* TPersistent.Destroy */ inline __fastcall virtual ~TFindUILanguage(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TTMSFMXFindDialog;
class DELPHICLASS TTMSFMXFindDialogForm;
class PASCALIMPLEMENTATION TTMSFMXFindDialog : public System::Classes::TComponent
{
	typedef System::Classes::TComponent inherited;
	
private:
	System::UnicodeString FFindText;
	System::Classes::TNotifyEvent FOnFind;
	System::Classes::TNotifyEvent FOnSetMarker;
	System::Classes::TNotifyEvent FOnFindPrevious;
	System::Classes::TNotifyEvent FOnClose;
	TTMSFMXFindDialogOptions FOptions;
	System::Classes::TStringList* FFindList;
	TFindUILanguage* FUILanguage;
	TTMSFMXFindDialogVisibleOptions FVisibleOptions;
	TFindEditChangeEvent FOnFindEditChange;
	bool FAutoHistory;
	TTMSFMXFindDialogForm* Frm;
	void __fastcall SetUILanguage(TFindUILanguage* const Value);
	
protected:
	void __fastcall DoClose(System::TObject* Sender);
	void __fastcall DoFind(System::TObject* Sender);
	void __fastcall DoFindPrevious(System::TObject* Sender);
	void __fastcall DoSetMarker(System::TObject* Sender);
	void __fastcall DoFindEditChange(System::TObject* Sender, System::UnicodeString &AText);
	virtual TTMSFMXFindDialogForm* __fastcall CreateDialogForm(System::Classes::TComponent* AOwner);
	virtual Fmx::Forms::TCustomForm* __fastcall InitDialog(void);
	
public:
	virtual void __fastcall Execute(void);
	__fastcall virtual TTMSFMXFindDialog(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTMSFMXFindDialog(void);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	__property TTMSFMXFindDialogForm* Form = {read=Frm};
	void __fastcall Close(void);
	
__published:
	__property bool AutoHistory = {read=FAutoHistory, write=FAutoHistory, default=1};
	__property System::UnicodeString FindText = {read=FFindText, write=FFindText};
	__property System::Classes::TStringList* FindList = {read=FFindList, write=FFindList};
	__property TFindEditChangeEvent OnFindEditChange = {read=FOnFindEditChange, write=FOnFindEditChange};
	__property System::Classes::TNotifyEvent OnFind = {read=FOnFind, write=FOnFind};
	__property System::Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
	__property System::Classes::TNotifyEvent OnFindPrevious = {read=FOnFindPrevious, write=FOnFindPrevious};
	__property System::Classes::TNotifyEvent OnSetMarker = {read=FOnSetMarker, write=FOnSetMarker};
	__property TTMSFMXFindDialogOptions Options = {read=FOptions, write=FOptions, default=10176};
	__property TTMSFMXFindDialogVisibleOptions VisibleOptions = {read=FVisibleOptions, write=FVisibleOptions, default=16159};
	__property TFindUILanguage* UILanguage = {read=FUILanguage, write=SetUILanguage};
};


class PASCALIMPLEMENTATION TTMSFMXFindDialogForm : public Fmx::Forms::TForm
{
	typedef Fmx::Forms::TForm inherited;
	
__published:
	Fmx::Stdctrls::TLabel* Label1;
	Fmx::Edit::TComboEdit* ComboBox1;
	Fmx::Stdctrls::TSpeedButton* SpeedButton1;
	Fmx::Menus::TPopupMenu* PopupMenu1;
	Fmx::Menus::TMenuItem* abCharacter1;
	Fmx::Menus::TMenuItem* NewLine1;
	Fmx::Menus::TMenuItem* AnyCharacter1;
	Fmx::Menus::TMenuItem* CharacterinRange1;
	Fmx::Menus::TMenuItem* CharacternotinRange1;
	Fmx::Menus::TMenuItem* BeginningofLine1;
	Fmx::Menus::TMenuItem* EndofLine1;
	Fmx::Menus::TMenuItem* aggedExpression1;
	Fmx::Menus::TMenuItem* Or1;
	Fmx::Menus::TMenuItem* N0or1matches1;
	Fmx::Menus::TMenuItem* N1orMoreMatches1;
	Fmx::Menus::TMenuItem* N0or1Matches2;
	Fmx::Menus::TMenuItem* N1;
	Fmx::Stdctrls::TButton* FindBtn;
	Fmx::Stdctrls::TButton* PrevBtn;
	Fmx::Stdctrls::TButton* Marker;
	Fmx::Stdctrls::TButton* CloseBtn;
	Fmx::Stdctrls::TButton* MoreBtn;
	Fmx::Stdctrls::TCheckBox* CheckBox1;
	Fmx::Stdctrls::TCheckBox* CheckBox2;
	Fmx::Stdctrls::TCheckBox* CheckBox3;
	Fmx::Stdctrls::TCheckBox* CheckBox4;
	Fmx::Stdctrls::TCheckBox* CheckBox5;
	Fmx::Stdctrls::TCheckBox* CheckBox6;
	Fmx::Stdctrls::TLabel* Label2;
	Fmx::Memo::TMemo* Memo1;
	Fmx::Stdctrls::TGroupBox* DirGroup;
	Fmx::Stdctrls::TRadioButton* RadioButton1;
	Fmx::Stdctrls::TRadioButton* RadioButton2;
	Fmx::Stdctrls::TCheckBox* SelCheck;
	void __fastcall abCharacter1Click(System::TObject* Sender);
	void __fastcall NewLine1Click(System::TObject* Sender);
	void __fastcall AnyCharacter1Click(System::TObject* Sender);
	void __fastcall CharacterinRange1Click(System::TObject* Sender);
	void __fastcall CharacternotinRange1Click(System::TObject* Sender);
	void __fastcall BeginningofLine1Click(System::TObject* Sender);
	void __fastcall EndofLine1Click(System::TObject* Sender);
	void __fastcall aggedExpression1Click(System::TObject* Sender);
	void __fastcall Or1Click(System::TObject* Sender);
	void __fastcall N0or1matches1Click(System::TObject* Sender);
	void __fastcall N1orMoreMatches1Click(System::TObject* Sender);
	void __fastcall N0or1Matches2Click(System::TObject* Sender);
	void __fastcall CloseBtnClick(System::TObject* Sender);
	void __fastcall FindBtnClick(System::TObject* Sender);
	void __fastcall PrevBtnClick(System::TObject* Sender);
	void __fastcall MarkerClick(System::TObject* Sender);
	void __fastcall MoreBtnClick(System::TObject* Sender);
	void __fastcall CheckBox1Click(System::TObject* Sender);
	void __fastcall CheckBox2Click(System::TObject* Sender);
	void __fastcall CheckBox3Click(System::TObject* Sender);
	void __fastcall CheckBox4Click(System::TObject* Sender);
	void __fastcall CheckBox5Click(System::TObject* Sender);
	void __fastcall CheckBox6Click(System::TObject* Sender);
	void __fastcall FormCreate(System::TObject* Sender);
	void __fastcall ComboBox1Change(System::TObject* Sender);
	void __fastcall DirGroupClick(System::TObject* Sender);
	void __fastcall Memo1Change(System::TObject* Sender);
	void __fastcall FormClose(System::TObject* Sender, System::Uitypes::TCloseAction &Action);
	void __fastcall SelCheckChange(System::TObject* Sender);
	
private:
	System::Classes::TNotifyEvent FOnFind;
	System::Classes::TNotifyEvent FOnSetMarker;
	System::Classes::TNotifyEvent FOnFindPrevious;
	System::Classes::TNotifyEvent FOnClose;
	TFindEditChangeEvent FOnFindEditChange;
	TTMSFMXFindDialog* FDialog;
	System::UnicodeString __fastcall GetFindText(void);
	void __fastcall SetFindText(const System::UnicodeString Value);
	
protected:
	virtual void __fastcall DoFindEditChange(System::UnicodeString &AText);
	virtual void __fastcall EnableButtons(void);
	virtual void __fastcall UpdateMoreButton(const System::UnicodeString AValue);
	
public:
	__property TTMSFMXFindDialog* Dialog = {read=FDialog, write=FDialog};
	__property TFindEditChangeEvent OnFindEditChange = {read=FOnFindEditChange, write=FOnFindEditChange};
	__property System::Classes::TNotifyEvent OnFind = {read=FOnFind, write=FOnFind};
	__property System::Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
	__property System::Classes::TNotifyEvent OnFindPrevious = {read=FOnFindPrevious, write=FOnFindPrevious};
	__property System::Classes::TNotifyEvent OnSetMarker = {read=FOnSetMarker, write=FOnSetMarker};
	__property System::UnicodeString FindText = {read=GetFindText, write=SetFindText};
public:
	/* TCustomForm.Create */ inline __fastcall virtual TTMSFMXFindDialogForm(System::Classes::TComponent* AOwner) : Fmx::Forms::TForm(AOwner) { }
	/* TCustomForm.CreateNew */ inline __fastcall virtual TTMSFMXFindDialogForm(System::Classes::TComponent* AOwner, NativeInt Dummy) : Fmx::Forms::TForm(AOwner, Dummy) { }
	/* TCustomForm.Destroy */ inline __fastcall virtual ~TTMSFMXFindDialogForm(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
#define DefaultFindOptions (System::Set<TTMSFMXFindDialogOption, TTMSFMXFindDialogOption::fdoCaseSensitive, TTMSFMXFindDialogOption::fdoSelection>() << TTMSFMXFindDialogOption::fdoMoreEnabled << TTMSFMXFindDialogOption::fdoSetMarkerEnabled << TTMSFMXFindDialogOption::fdoPreviousEnabled << TTMSFMXFindDialogOption::fdoFindEnabled << TTMSFMXFindDialogOption::fdoCloseEnabled << TTMSFMXFindDialogOption::fdoDown )
#define DefaultVisibleFindOptions (System::Set<TTMSFMXFindDialogVisibleOption, TTMSFMXFindDialogVisibleOption::fdovCaseSensitive, TTMSFMXFindDialogVisibleOption::fdovSelection>() << TTMSFMXFindDialogVisibleOption::fdovCaseSensitive << TTMSFMXFindDialogVisibleOption::fdovExpression << TTMSFMXFindDialogVisibleOption::fdovCloseIfFound << TTMSFMXFindDialogVisibleOption::fdovWholeWordOnly << TTMSFMXFindDialogVisibleOption::fdovWrapAtEndOfFile << TTMSFMXFindDialogVisibleOption::fdovPrevious << TTMSFMXFindDialogVisibleOption::fdovFind << TTMSFMXFindDialogVisibleOption::fdovClose << TTMSFMXFindDialogVisibleOption::fdovFindCombo << TTMSFMXFindDialogVisibleOption::fdovFindMemo << TTMSFMXFindDialogVisibleOption::fdovDirection )
extern DELPHI_PACKAGE TTMSFMXFindDialogForm* TMSFMXFindDialogForm;
extern DELPHI_PACKAGE bool More;
}	/* namespace Tmsfinddialog */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMSFINDDIALOG)
using namespace Fmx::Tmsfinddialog;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Fmx_TmsfinddialogHPP
