📄 s2.tools.ts2modelhandlelist.pas
字号:
unit S2.Tools.TS2ModelHandleList;
interface
uses
Classes, S2.Model.TS2Model, S2.Tools.TS2Dict, S2.Tools.TS2ModelHandle, S2.Tools.TS2DictItem;
type
TS2ModelHandleList = class(TS2Dict)
public
function Find(ModelClass: TS2ModelClass): TS2ModelHandle; overload; virtual;
function Find(const ModelName: string): TS2ModelHandle; overload;
function Find(const Index: Integer): TS2ModelHandle; overload;
procedure Add(ModelHandle: TS2ModelHandle); overload;
procedure Add(ModelClass: TS2ModelClass); overload;
public // S2.Core.TS2Object
function GetObjectName: string; override;
function GetCaption: string; override;
function ToString: string; override;
function IsActive: Boolean; override;
function IsValid: Boolean; override;
private
SystemObject: TComponent;
public
constructor Create(SystemObject: TComponent);
end;
implementation
uses
S2.Error.S2Exception;
{ TS2ModelHandleList }
procedure TS2ModelHandleList.Add(ModelHandle: TS2ModelHandle);
begin
inherited Add(TS2DictItem.Create(ModelHandle, ModelHandle.GetModelName));
end;
function TS2ModelHandleList.Find(ModelClass: TS2ModelClass): TS2ModelHandle;
begin
Result := Find(ModelClass.ClassName);
end;
function TS2ModelHandleList.Find(const ModelName: string): TS2ModelHandle;
var
DictItem: TS2DictItem;
begin
Result := nil;
DictItem := inherited Find(ModelName);
if Assigned(DictItem) then Result := DictItem.GetObject as TS2ModelHandle;
end;
procedure TS2ModelHandleList.Add(ModelClass: TS2ModelClass);
var
ModelHandle: TS2ModelHandle;
begin
ModelHandle := TS2ModelHandle.Create(ModelClass, SystemObject);
inherited Add(TS2DictItem.Create(ModelHandle, ModelHandle.GetModelName));
end;
function TS2ModelHandleList.Find(const Index: Integer): TS2ModelHandle;
var
Name: string;
begin
Name := inherited GetName(Index);
Result := (inherited Find(Name)).GetObject as TS2ModelHandle;
end;
function TS2ModelHandleList.GetCaption: string;
begin
Result := ClassName;
end;
function TS2ModelHandleList.GetObjectName: string;
begin
Result := ClassName;
end;
function TS2ModelHandleList.IsActive: Boolean;
begin
Result := True;
end;
function TS2ModelHandleList.IsValid: Boolean;
begin
Result := True;
end;
function TS2ModelHandleList.ToString: string;
begin
Result := GetCaption;
end;
constructor TS2ModelHandleList.Create(SystemObject: TComponent);
begin
inherited Create;
Self.SystemObject := SystemObject;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -