unit msmController;
// Модуль: "w:\common\components\gui\Garant\msm\msmController.pas"
// Стереотип: "SimpleClass"
// Элемент модели: "TmsmController" MUID: (57B1F28B030D)
{$Include w:\common\components\msm.inc}
interface
uses
l3IntfUses
, l3ProtoObject
, msmControllers
, msmModels
, msmEvents
, msmOperations
, msmOperationsList
, msmEventList
, msmEventHandlers
;
type
_msmOperationsManaging_Parent_ = Tl3ProtoObject;
{$Include w:\common\components\gui\Garant\msm\msmOperationsManaging.imp.pas}
_msmEventsSubscriber_Parent_ = _msmOperationsManaging_;
{$Include w:\common\components\gui\Garant\msm\msmEventsSubscriber.imp.pas}
TmsmController = class(_msmEventsSubscriber_, ImsmController)
private
f_Model: ImsmModel;
protected
procedure DoActivate; virtual;
procedure LinkDataToView; virtual;
procedure DoActivated; virtual;
function As_ImsmEventsSubscriber: ImsmEventsSubscriber;
{* Метод приведения нашего интерфейса к ImsmEventsSubscriber }
function Get_Model: ImsmModel;
function Publisher: ImsmEventsPublisher; override;
procedure Cleanup; override;
{* Функция очистки полей объекта. }
procedure InitFields; override;
procedure ClearFields; override;
public
constructor Create(const aModel: ImsmModel); reintroduce;
class function Make(const aModel: ImsmModel): ImsmController; reintroduce;
procedure Activate;
procedure Activated;
protected
property Model: ImsmModel
read f_Model;
end;//TmsmController
implementation
uses
l3ImplUses
, SysUtils
, msmNullOperationsList
//#UC START# *57B1F28B030Dimpl_uses*
//#UC END# *57B1F28B030Dimpl_uses*
;
{$Include w:\common\components\gui\Garant\msm\msmOperationsManaging.imp.pas}
{$Include w:\common\components\gui\Garant\msm\msmEventsSubscriber.imp.pas}
procedure TmsmController.DoActivate;
//#UC START# *57B1ABC80368_57B1F28B030D_var*
//#UC END# *57B1ABC80368_57B1F28B030D_var*
begin
//#UC START# *57B1ABC80368_57B1F28B030D_impl*
//#UC END# *57B1ABC80368_57B1F28B030D_impl*
end;//TmsmController.DoActivate
constructor TmsmController.Create(const aModel: ImsmModel);
//#UC START# *57B1F34803E0_57B1F28B030D_var*
//#UC END# *57B1F34803E0_57B1F28B030D_var*
begin
//#UC START# *57B1F34803E0_57B1F28B030D_impl*
Assert(aModel <> nil);
f_Model := aModel;
inherited Create;
//#UC END# *57B1F34803E0_57B1F28B030D_impl*
end;//TmsmController.Create
class function TmsmController.Make(const aModel: ImsmModel): ImsmController;
var
l_Inst : TmsmController;
begin
l_Inst := Create(aModel);
try
Result := l_Inst;
finally
l_Inst.Free;
end;//try..finally
end;//TmsmController.Make
procedure TmsmController.LinkDataToView;
//#UC START# *57B6A49900F4_57B1F28B030D_var*
//#UC END# *57B6A49900F4_57B1F28B030D_var*
begin
//#UC START# *57B6A49900F4_57B1F28B030D_impl*
//#UC END# *57B6A49900F4_57B1F28B030D_impl*
end;//TmsmController.LinkDataToView
procedure TmsmController.DoActivated;
//#UC START# *57CEC64E0063_57B1F28B030D_var*
//#UC END# *57CEC64E0063_57B1F28B030D_var*
begin
//#UC START# *57CEC64E0063_57B1F28B030D_impl*
//#UC END# *57CEC64E0063_57B1F28B030D_impl*
end;//TmsmController.DoActivated
function TmsmController.As_ImsmEventsSubscriber: ImsmEventsSubscriber;
{* Метод приведения нашего интерфейса к ImsmEventsSubscriber }
begin
Result := Self;
end;//TmsmController.As_ImsmEventsSubscriber
function TmsmController.Get_Model: ImsmModel;
//#UC START# *57ADBECA0388_57B1F28B030Dget_var*
//#UC END# *57ADBECA0388_57B1F28B030Dget_var*
begin
//#UC START# *57ADBECA0388_57B1F28B030Dget_impl*
Result := f_Model;
//#UC END# *57ADBECA0388_57B1F28B030Dget_impl*
end;//TmsmController.Get_Model
procedure TmsmController.Activate;
//#UC START# *57B1AB98014B_57B1F28B030D_var*
//#UC END# *57B1AB98014B_57B1F28B030D_var*
begin
//#UC START# *57B1AB98014B_57B1F28B030D_impl*
DoActivate;
//#UC END# *57B1AB98014B_57B1F28B030D_impl*
end;//TmsmController.Activate
procedure TmsmController.Activated;
//#UC START# *57B6A3EF0191_57B1F28B030D_var*
//#UC END# *57B6A3EF0191_57B1F28B030D_var*
begin
//#UC START# *57B6A3EF0191_57B1F28B030D_impl*
LinkDataToView;
DoActivated;
//#UC END# *57B6A3EF0191_57B1F28B030D_impl*
end;//TmsmController.Activated
function TmsmController.Publisher: ImsmEventsPublisher;
//#UC START# *57B6B9CD03B7_57B1F28B030D_var*
//#UC END# *57B6B9CD03B7_57B1F28B030D_var*
begin
//#UC START# *57B6B9CD03B7_57B1F28B030D_impl*
Result := Model.As_ImsmEventsPublisher;
//#UC END# *57B6B9CD03B7_57B1F28B030D_impl*
end;//TmsmController.Publisher
procedure TmsmController.Cleanup;
{* Функция очистки полей объекта. }
//#UC START# *479731C50290_57B1F28B030D_var*
//#UC END# *479731C50290_57B1F28B030D_var*
begin
//#UC START# *479731C50290_57B1F28B030D_impl*
inherited;
//#UC END# *479731C50290_57B1F28B030D_impl*
end;//TmsmController.Cleanup
procedure TmsmController.InitFields;
//#UC START# *47A042E100E2_57B1F28B030D_var*
//#UC END# *47A042E100E2_57B1F28B030D_var*
begin
//#UC START# *47A042E100E2_57B1F28B030D_impl*
Assert(Model <> nil);
inherited;
//#UC END# *47A042E100E2_57B1F28B030D_impl*
end;//TmsmController.InitFields
procedure TmsmController.ClearFields;
begin
f_Model := nil;
inherited;
end;//TmsmController.ClearFields
end.
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
понедельник, 31 октября 2016 г.
#1309. MVC. TmsmController. Только код
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий