anchor.diff:  
   class function TtiControlMediatorView.ComponentClass: TClass;
   begin
  -  Result := TfpgEdit;
  +  Result := TfpgWidget;
   end;
   
   { TtiBaseEditMediatorView }
  
positive.code:   
  
    { Base class to handle TfpgMemo controls }
    TtiMemoMediatorView = class(TtiBaseEditMediatorView)
    protected
      procedure   SetupGUIandObject; override;
      procedure   DoObjectToGui; override;
      procedure   DoGuiToObject; override;
    public
      function    View: TfpgMemo; reintroduce;
      class function ComponentClass: TClass; override;
    end;
  
negative.code:   Subject.PropValue[FieldName] := View.Lines.Text;
  end;
  
  procedure TtiMemoMediatorView.SetObjectUpdateMoment(const AValue: TtiObjectUpdateMoment);
  begin
    inherited SetObjectUpdateMoment(AValue);
    if View <> nil then
      if ObjectUpdateMoment in [ouOnChange,ouCustom] then
        View.OnChange := @DoOnChange
      else
        View.OnExit := @DoOnChange;
  end;
  
  constructor TtiMemoMediatorView.Create;
  begin
    inherited Create;
  //  FControlReadOnlyColor := clWindowBackground;
    GUIFieldName := 'Lines';
  end;
  
  function TtiMemoMediatorView.View: TfpgMemo;
  begin
    Result := TfpgMemo(inherited View);
  