Componentes.Internos.GUISDK/Source/uGUIBase.pas

129 lines
4.7 KiB
ObjectPascal

unit uGUIBase;
interface
uses
Forms, Controls, Contnrs, Classes;
type
TOnGetModifiedEvent = procedure (Sender: TObject; var Modified: Boolean) of object;
TOnViewModifiedEvent = procedure (Sender: TObject) of object;
IEmbeddedable = interface(IInterface)
['{A1668B17-B355-4688-A78A-B30AE3C8C81E}']
procedure Release;
procedure ShowEmbedded; overload;
procedure ShowEmbedded(const AParent : TWinControl); overload;
end;
IModificable = interface(IEmbeddedable)
['{7F75A327-4ACC-4E4A-8B3D-21C1241DAFBF}']
function GetModified: Boolean;
procedure SetModified(const Value : Boolean);
property Modified: Boolean read GetModified write SetModified;
function GetOnGetModified: TOnGetModifiedEvent;
procedure SetOnGetModified(const Value : TOnGetModifiedEvent);
property OnGetModified: TOnGetModifiedEvent read GetOnGetModified write
SetOnGetModified;
function GetOnViewModified: TOnViewModifiedEvent;
procedure SetOnViewModified(const Value : TOnViewModifiedEvent);
property OnViewModified: TOnViewModifiedEvent read GetOnViewModified write
SetOnViewModified;
end;
IReadOnly = interface(IModificable)
['{2549ECF9-270F-4F3C-9852-E488C518F590}']
function GetReadOnly: Boolean;
procedure SetReadOnly(Value: Boolean);
property ReadOnly: Boolean read GetReadOnly write SetReadOnly;
end;
IValidable = interface(IReadOnly)
['{A2562A5E-E3B2-4C1B-B8FE-13A410D8B3DB}']
function GetValid: Boolean;
property Valid: Boolean read GetValid;
end;
IInstanceAware = interface(IValidable)
['{B6B2676A-1D8E-4597-ADDB-43734508E6F5}']
function GetInstance: TObject;
function GetInstanceID: Integer;
procedure SetInstanceID(Value: Integer);
property InstanceID: Integer read GetInstanceID write SetInstanceID;
end;
ICustomEditor = interface(IInstanceAware)
['{07A3AB52-B2B0-4DE3-B470-379834BBE7DB}']
end;
ICustomView = interface(IValidable)
['{98192DE2-19C5-4DA5-B4F4-F2B3782DB6E2}']
function CanFocus: Boolean;
function Focused: Boolean;
procedure SetFocus;
procedure Update;
end;
IHostForm = interface(IInterface)
['{2091401E-1F9C-4F05-8574-E9E0532780D1}']
function GetWorkPanel: TWinControl;
property WorkPanel: TWinControl read GetWorkPanel;
procedure OnWorkPanelChanged(AEditor : ICustomEditor);
procedure ShowEmbedded(AEditor : ICustomEditor);
end;
IGUIManager = interface(IInterface)
['{D0A5D2CC-36E1-4C61-8D3B-B6D00EBA3278}']
function FindInstance(const IID: TGUID): ICustomEditor;
function GetActiveInstance: ICustomEditor;
function GetActiveInstanceIndex: Integer;
function GetInstance(Index : Integer): ICustomEditor;
function GetWorkPanel: TWinControl;
function RegisterInstance(AInstance : ICustomEditor): Boolean;
procedure ReleaseInstance(AnInstance : ICustomEditor);
procedure SetActiveInstance(Value: ICustomEditor);
procedure SetActiveInstanceIndex(Value: Integer);
procedure SetWorkPanel(const Value: TWinControl);
property ActiveInstance: ICustomEditor read GetActiveInstance write
SetActiveInstance;
property ActiveInstanceIndex: Integer read GetActiveInstanceIndex write
SetActiveInstanceIndex;
property Instances[Index : Integer]: ICustomEditor read GetInstance;
property WorkPanel: TWinControl read GetWorkPanel write SetWorkPanel;
end;
IObservable = interface;
TObserverEvent = procedure (AObject : IObservable) of object;
IObserver = interface(IInterface)
['{79175C66-8435-4F2F-A3E0-A53A24554A0E}']
function GetOnNotifyObserver: TObserverEvent;
function GetOnObserverAttached: TObserverEvent;
function GetOnObserverDettached: TObserverEvent;
procedure NotifyObserver(const AObject: IObservable);
procedure ObserverAttached(AObject : IObservable);
procedure ObserverDettached(AObject : IObservable);
procedure SetOnNotifyObserver(AValue: TObserverEvent);
procedure SetOnObserverAttached(AValue: TObserverEvent);
procedure SetOnObserverDettached(AValue: TObserverEvent);
property OnNotifyObserver: TObserverEvent read GetOnNotifyObserver write
SetOnNotifyObserver;
property OnObserverAttached: TObserverEvent read GetOnObserverAttached
write SetOnObserverAttached;
property OnObserverDettached: TObserverEvent read GetOnObserverDettached
write SetOnObserverDettached;
end;
IObservable = interface(IInterface)
['{1FF0F081-CBBA-4728-8689-D6F506652E80}']
procedure AddObserver(const AObserver: IObserver);
procedure RemoveObserver(const AObserver: IObserver);
end;
implementation
end.