home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1997 May
/
Pcwk0597.iso
/
borland
/
cb
/
setup
/
cbuilder
/
data.z
/
UPDATE.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1997-02-28
|
6KB
|
148 lines
//----------------------------------------------------------------------------
// Update.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
// From: Update.pas
//----------------------------------------------------------------------------
#ifndef UpdateHPP
#define UpdateHPP
//----------------------------------------------------------------------------
#include <TypInfo.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <System.hpp>
#pragma warn -par
#pragma warn -hid
#pragma warn -inl
namespace Update
{
//-- type declarations -------------------------------------------------------
enum TUpdateFilterState { usFilter, usReading, usWriting };
class __declspec(delphiclass) TUpdateFiler;
class __declspec(delphiclass) TUpdateObject;
class __declspec(delphiclass) TUpdateManager;
class __declspec(pascalimplementation) TUpdateObject : public System::TObject
{
typedef System::TObject inherited;
private:
TUpdateObject* FOwner;
Classes::TPersistent* FObject;
Classes::TPersistent* FAncestor;
Classes::TComponent* FObjectOwner;
Classes::TComponent* FAncestorOwner;
Classes::TList* FPropList;
Classes::TList* FChildList;
TUpdateFiler* FUpdateFiler;
bool FIsComponent;
bool FIsCollection;
bool FUpdateCollection;
bool FUpdateOrder;
int FOrder;
Typinfo::TPropInfo *FPropInfo;
bool FCompare;
__fastcall TUpdateObject(TUpdateObject* AOwner, Classes::TPersistent* AObject, Classes::TPersistent*
AAncestor, Typinfo::PPropInfo APropInfo, bool Compare);
__fastcall virtual ~TUpdateObject(void);
void __fastcall AddChild(Classes::TComponent* Component);
bool __fastcall CanRevert(Classes::TPersistent* Instance, Typinfo::PPropInfo PropInfo, bool &Continue
);
Sysutils::TMethod __fastcall GetAncestorMethod(Typinfo::PPropInfo PropInfo);
void * __fastcall GetAncestorPointer(void * Value);
void * __fastcall GetAncestorReference(Typinfo::PPropInfo PropInfo);
TUpdateObject* __fastcall FindChild(Classes::TComponent* Component);
TUpdateObject* __fastcall FindChildProp(Typinfo::PPropInfo APropInfo);
void __fastcall ComponentDelete(Classes::TComponent* AComponent);
void __fastcall Filter(void);
void __fastcall FilterOrder(void);
bool __fastcall Revert(Classes::TPersistent* Instance, Typinfo::PPropInfo PropInfo);
void __fastcall Update(TUpdateManager* UpdateManager);
void __fastcall ValidateObjects(void);
public:
/* TObject.Create */ __fastcall TUpdateObject(void) : System::TObject() { }
};
class __declspec(pascalimplementation) TUpdateFiler : public Classes::TFiler
{
typedef Classes::TFiler inherited;
private:
Classes::TStringList* FPropertyList;
TUpdateObject* FUpdateObject;
Classes::TWriter* FWriter;
Classes::TReader* FReader;
bool FFiltered;
TUpdateFilterState FState;
System::AnsiString FPropName;
bool FCompare;
bool __fastcall Empty(void);
void __fastcall Filter(void);
void __fastcall FilterProp(const System::AnsiString Name, bool HasData);
void __fastcall Update(void);
public:
__fastcall TUpdateFiler(TUpdateObject* AUpdateObject, bool ACompare);
__fastcall virtual ~TUpdateFiler(void);
virtual void __fastcall DefineProperty(const System::AnsiString Name, Classes::TReaderProc ReadData
, Classes::TWriterProc WriteData, bool HasData);
virtual void __fastcall DefineBinaryProperty(const System::AnsiString Name, Classes::TStreamProc ReadData
, Classes::TStreamProc WriteData, bool HasData);
virtual void __fastcall FlushBuffer(void);
};
enum TUpdateMode { umNone, umUpdate, umFilter };
class __declspec(pascalimplementation) TUpdateManager : public System::TObject
{
typedef System::TObject inherited;
private:
TUpdateObject* FComponentUpdate;
Classes::TList* FChildList;
Classes::TComponent* FComponent;
Classes::TComponent* FAncestor;
TUpdateManager* FParent;
TUpdateMode FMode;
Classes::TList* FUpdateList;
Classes::TNotifyEvent FOnUpdating;
Classes::TNotifyEvent FOnUpdate;
void __fastcall Filter(void);
bool __fastcall GetHasDescendents(void);
bool __fastcall GetIsDescendent(void);
void __fastcall UpdateChildren(void);
void __fastcall SetChildAncestor(Classes::TComponent* Child);
void __fastcall Updating(Classes::TComponent* Component);
public:
__fastcall TUpdateManager(Classes::TComponent* AComponent, Classes::TComponent* AAncestor, TUpdateManager*
AAncestorManager);
__fastcall virtual ~TUpdateManager(void);
bool __fastcall CanRevert(Classes::TPersistent* Instance, Typinfo::PPropInfo PropInfo);
void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
void __fastcall Modified(void);
bool __fastcall NameExists(const System::AnsiString Name);
void __fastcall Revert(Classes::TPersistent* Instance, Typinfo::PPropInfo PropInfo);
void __fastcall Update(void);
__property Classes::TNotifyEvent OnUpdating = {read=FOnUpdating, write=FOnUpdating};
__property Classes::TNotifyEvent OnUpdate = {read=FOnUpdate, write=FOnUpdate};
__property Classes::TComponent* Component = {read=FComponent, nodefault};
__property Classes::TComponent* Ancestor = {read=FAncestor, nodefault};
__property bool HasDescendents = {read=GetHasDescendents, nodefault};
__property bool IsDescendent = {read=GetIsDescendent, nodefault};
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Update */
#pragma warn .par
#pragma warn .hid
#pragma warn .inl
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Update;
#endif
//-- end unit ----------------------------------------------------------------
#endif // Update