flexprops.hpp

来自「FlexGraphics是一套创建矢量图形的VCL组件」· HPP 代码 · 共 966 行 · 第 1/3 页

HPP
966
字号
// CodeGear C++Builder
// Copyright (c) 1995, 2008 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Flexprops.pas' rev: 20.00

#ifndef FlexpropsHPP
#define FlexpropsHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Typinfo.hpp>	// Pascal unit
#include <Jpeg.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Flexutils.hpp>	// Pascal unit
#include <Flexalpha.hpp>	// Pascal unit
#include <Flexhistory.hpp>	// Pascal unit

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

namespace Flexprops
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TPropType { ptSimple, ptComplex, ptStrList, ptHexData };
#pragma option pop

#pragma option push -b-
enum TPropStyleItem { psReadOnly, psVisible, psDontStore, psNonVisual, psDisplayEdit, psEditForm, psScalable, psRef };
#pragma option pop

typedef Set<TPropStyleItem, psReadOnly, psRef>  TPropStyle;

typedef TMetaClass* TEditFormClass;

typedef TMetaClass* TCustomPropClass;

class DELPHICLASS TCustomProp;
typedef void __fastcall (__closure *TPropChangedEvent)(System::TObject* Sender, TCustomProp* Prop);

typedef void __fastcall (__closure *TPropStoredEvent)(System::TObject* Sender, TCustomProp* Prop, bool &IsStored, const System::UnicodeString PropName = L"");

typedef void __fastcall (__closure *TPropReadOnlyEvent)(System::TObject* Sender, TCustomProp* Prop, bool &IsReadOnly);

typedef void __fastcall (__closure *TPropHistoryActionEvent)(System::TObject* Sender, TCustomProp* Prop, Flexhistory::THistoryActionClass &ActionClass);

typedef void __fastcall (*TPictureLinkResolve)(System::TObject* Sender, const System::UnicodeString LinkName, Graphics::TPicture* APicture);

typedef void __fastcall (*TBitmapLinkResolve)(System::TObject* Sender, const System::UnicodeString LinkName, Graphics::TBitmap* ABitmap);

class DELPHICLASS TPropList;
class PASCALIMPLEMENTATION TCustomProp : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	TPropList* FOwner;
	TCustomProp* FParent;
	TPropStyle FStyle;
	TEditFormClass FEditFormClass;
	System::UnicodeString __fastcall GetName();
	void __fastcall SetStyle(const TPropStyle Value);
	Flexutils::TNotifyLink* __fastcall GetNotifyLink(void);
	
protected:
	TPropType FPropType;
	bool FIsEnum;
	Flexutils::TNotifyLink* FNotifyLink;
	bool FSkipHistoryAction;
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const System::UnicodeString Value);
	virtual void __fastcall DoBeforeChanged(void);
	virtual void __fastcall DoChanged(void);
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	virtual TPropType __fastcall GetPropType(const System::UnicodeString PropName);
	
public:
	__fastcall TCustomProp(TPropList* AOwner, const System::UnicodeString AName);
	__fastcall virtual ~TCustomProp(void);
	bool __fastcall Assign(TCustomProp* Prop);
	virtual void __fastcall Setup(Graphics::TCanvas* Canvas, int Scale = 0x64);
	virtual bool __fastcall Edit(void);
	virtual void __fastcall GetEnumList(Classes::TStrings* List);
	virtual bool __fastcall IsComplexStored(const System::UnicodeString PropName);
	void __fastcall InitPublished(TPropList* AOwner, TCustomProp* PublishedProp);
	TCustomProp* __fastcall GetPublishedComplexProp(const System::UnicodeString PropName);
	void __fastcall GetPropNames(Classes::TStrings* StrList);
	bool __fastcall IsParentOf(TCustomProp* Prop);
	__property TPropList* Owner = {read=FOwner, write=FOwner};
	__property System::UnicodeString Name = {read=GetName};
	__property TCustomProp* Parent = {read=FParent};
	__property TPropStyle Style = {read=FStyle, write=SetStyle, nodefault};
	__property TPropType PropType = {read=FPropType, nodefault};
	__property System::UnicodeString DisplayValue = {read=GetDisplayValue, write=SetDisplayValue};
	__property bool IsEnum = {read=FIsEnum, nodefault};
	__property TEditFormClass EditFormClass = {read=FEditFormClass, write=FEditFormClass};
	__property Flexutils::TNotifyLink* NotifyLink = {read=GetNotifyLink, write=FNotifyLink};
	__property System::Variant PropData[const System::UnicodeString PropName] = {read=GetPropValue, write=SetPropValue};
	__property TPropType PublishedPropType[const System::UnicodeString PropName] = {read=GetPropType};
};


class DELPHICLASS TIdHistoryAction;
class PASCALIMPLEMENTATION TIdHistoryAction : public Flexhistory::THistoryStreamAction
{
	typedef Flexhistory::THistoryStreamAction inherited;
	
protected:
	unsigned FSourceId;
	System::UnicodeString FSourcePropName;
	virtual void __fastcall DoBeginAction(System::TObject* Source);
	
public:
	__property unsigned SourceId = {read=FSourceId, write=FSourceId, nodefault};
	__property System::UnicodeString SourcePropName = {read=FSourcePropName, write=FSourcePropName};
public:
	/* THistoryStreamAction.Destroy */ inline __fastcall virtual ~TIdHistoryAction(void) { }
	
public:
	/* THistoryAction.Create */ inline __fastcall virtual TIdHistoryAction(Flexhistory::THistory* AOwner, Flexhistory::THistoryGroup* AParent) : Flexhistory::THistoryStreamAction(AOwner, AParent) { }
	
};


class DELPHICLASS TPropHistoryAction;
class PASCALIMPLEMENTATION TPropHistoryAction : public TIdHistoryAction
{
	typedef TIdHistoryAction inherited;
	
protected:
	virtual bool __fastcall ProcessSource(Classes::TStream* Stream, System::TObject* Source, bool DoLoad);
public:
	/* THistoryStreamAction.Destroy */ inline __fastcall virtual ~TPropHistoryAction(void) { }
	
public:
	/* THistoryAction.Create */ inline __fastcall virtual TPropHistoryAction(Flexhistory::THistory* AOwner, Flexhistory::THistoryGroup* AParent) : TIdHistoryAction(AOwner, AParent) { }
	
};


class DELPHICLASS TPropHistoryGroup;
class PASCALIMPLEMENTATION TPropHistoryGroup : public Flexhistory::THistoryGroup
{
	typedef Flexhistory::THistoryGroup inherited;
	
public:
	__fastcall virtual TPropHistoryGroup(Flexhistory::THistory* AOwner, Flexhistory::THistoryGroup* AParent);
public:
	/* THistoryGroup.Destroy */ inline __fastcall virtual ~TPropHistoryGroup(void) { }
	
};


class DELPHICLASS TEnumProp;
class PASCALIMPLEMENTATION TEnumProp : public TCustomProp
{
	typedef TCustomProp inherited;
	
private:
	int FEnumIndex;
	Classes::TStrings* FEnumList;
	int __fastcall GetEnumCount(void);
	
protected:
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetEnumIndex(int Value);
	__property Classes::TStrings* EnumList = {read=FEnumList, write=FEnumList};
	
public:
	__fastcall TEnumProp(TPropList* AOwner, const System::UnicodeString AName);
	__fastcall virtual ~TEnumProp(void);
	int __fastcall AddItem(const System::UnicodeString s);
	void __fastcall SetItem(int EnumIndex, const System::UnicodeString s);
	bool __fastcall SetEnumType(Typinfo::PTypeInfo TypeInfo);
	virtual void __fastcall GetEnumList(Classes::TStrings* List);
	__property int EnumIndex = {read=FEnumIndex, write=SetEnumIndex, nodefault};
	__property int EnumCount = {read=GetEnumCount, nodefault};
};


class DELPHICLASS TBoolProp;
class PASCALIMPLEMENTATION TBoolProp : public TEnumProp
{
	typedef TEnumProp inherited;
	
private:
	void __fastcall SetValue(bool Value);
	bool __fastcall GetValue(void);
	
protected:
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	
public:
	__fastcall TBoolProp(TPropList* AOwner, const System::UnicodeString AName);
	__property bool Value = {read=GetValue, write=SetValue, nodefault};
public:
	/* TEnumProp.Destroy */ inline __fastcall virtual ~TBoolProp(void) { }
	
};


typedef void __fastcall (__closure *TGetIntEvent)(System::TObject* Sender, /* out */ int &Value);

class DELPHICLASS TIntProp;
class PASCALIMPLEMENTATION TIntProp : public TCustomProp
{
	typedef TCustomProp inherited;
	
private:
	int FValue;
	int *FSource;
	TGetIntEvent FOnGetValue;
	void __fastcall SetValue(int Value);
	int __fastcall GetValue(void);
	
protected:
	int FBeforeValue;
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const System::UnicodeString Value);
	
public:
	__fastcall TIntProp(TPropList* AOwner, const System::UnicodeString AName);
	__property int Value = {read=GetValue, write=SetValue, nodefault};
	__property int BeforeValue = {read=FBeforeValue, write=FBeforeValue, nodefault};
	__property int SavedValue = {read=FValue, nodefault};
	__property System::PInteger Source = {read=FSource, write=FSource};
	__property TGetIntEvent OnGetValue = {read=FOnGetValue, write=FOnGetValue};
public:
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TIntProp(void) { }
	
};


class DELPHICLASS TLongWordProp;
class PASCALIMPLEMENTATION TLongWordProp : public TCustomProp
{
	typedef TCustomProp inherited;
	
protected:
	unsigned FValue;
	virtual void __fastcall SetValue(unsigned Value);
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const System::UnicodeString Value);
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	
public:
	__fastcall TLongWordProp(TPropList* AOwner, const System::UnicodeString AName);
	__property unsigned Value = {read=FValue, write=SetValue, nodefault};
public:
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TLongWordProp(void) { }
	
};


class DELPHICLASS TDoubleProp;
class PASCALIMPLEMENTATION TDoubleProp : public TCustomProp
{
	typedef TCustomProp inherited;
	
private:
	double FValue;
	void __fastcall SetValue(double Value);
	
protected:
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const System::UnicodeString Value);
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	
public:
	__fastcall TDoubleProp(TPropList* AOwner, const System::UnicodeString AName);
	__property double Value = {read=FValue, write=SetValue};
public:
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TDoubleProp(void) { }
	
};


class DELPHICLASS TDateTimeProp;
class PASCALIMPLEMENTATION TDateTimeProp : public TCustomProp
{
	typedef TCustomProp inherited;
	
private:
	System::TDateTime FValue;
	void __fastcall SetValue(System::TDateTime Value);
	
protected:
	virtual System::UnicodeString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const System::UnicodeString Value);
	virtual void __fastcall SetPropValue(const System::UnicodeString PropName, const System::Variant &Value);
	virtual System::Variant __fastcall GetPropValue(const System::UnicodeString PropName);
	
public:
	__fastcall TDateTimeProp(TPropList* AOwner, const System::UnicodeString AName);
	__property System::TDateTime Value = {read=FValue, write=SetValue};
public:
	/* TCustomProp.Destroy */ inline __fastcall virtual ~TDateTimeProp(void) { }
	
};


typedef void __fastcall (__closure *TGetStringEvent)(System::TObject* Sender, /* out */ System::UnicodeString &s);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?