ucontrollerview.pas

来自「一整套的源代码」· PAS 代码 · 共 107 行

PAS
107
字号
unit UControllerView;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UView, RzCommon, jpeg, RzBckgnd, ExtCtrls, RzPanel,
  MyController, UAdapterDataView, MyFactory, RzStatus, RzButton,
  MyTools;

type
  TControllerView = class(TView, IController)
    RzPanel3: TRzPanel;
  protected
    procedure InitView(View: TView); reintroduce;
  public
    procedure AppendView(View: TView); virtual;
    procedure DeleteView(View: TView); virtual;
    procedure DeleteAllView; virtual;
    function GetViewCount: Integer; virtual;
    function GetActiveView: TView; virtual;
    function GetModifiedView: TAdapterDataView; virtual;
  public
    destructor Destroy; override;
    procedure Refresh(Parameters: IParameters); override;
  end;

implementation

{$R *.dfm}

{ TControllerView }

procedure TControllerView.AppendView(View: TView);
begin
end;

procedure TControllerView.DeleteAllView;
begin

end;

procedure TControllerView.DeleteView(View: TView);
begin

end;

destructor TControllerView.Destroy;
begin
  DeleteAllView;
  inherited;
end;

function TControllerView.GetActiveView: TView;
begin
  Result := nil;
end;

function TControllerView.GetModifiedView: TAdapterDataView;
var
  I: Integer;
  AV: TAdapterDataView;
begin
  Result := nil;
  for I := 0 to ComponentCount - 1 do
  begin
    if Components[I] is TFrame then
      if (TFrame(Components[I])) is TView then
        try
          AV := TAdapterDataView(Components[I]);
          if AV.GetAdapterDataModel.IsModified then
            Result := AV;
          AV := nil;
        except
          AV := nil;
        end;
  end;
end;

function TControllerView.GetViewCount: Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 0 to ComponentCount - 1 do
    if Components[I] is TFrame then
      if (Components[I] as TFrame) is TView then
        Inc(Result);
end;

procedure TControllerView.InitView(View: TView);
begin
  inherited InitView;
end;

procedure TControllerView.Refresh(Parameters: IParameters);
var
  View: TView;
begin
  inherited;
  View := GetActiveView;
  if Assigned(View) then View.Refresh(Parameters);
end;

end.

⌨️ 快捷键说明

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