⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s2.tools.ts2modelhandlelist.pas

📁 轉載的程序應用框架
💻 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 + -