AbetoDesign_FactuGES2/Source/Modulos/Contactos/Views/uEditorPersonal.pas

125 lines
3.5 KiB
ObjectPascal

unit uEditorPersonal;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, Mask, DBCtrls, DB, uDADataTable, PngSpeedButton,
cxControls, cxContainer, cxEdit, cxTextEdit, cxHyperLinkEdit, cxDBEdit,
uPersonalContactoController, uBizContactosPersonal,
uDAInterfaces, uIEditorPersonalContacto;
type
TfEditorPersonal = class(TForm, IEditorPersonalContacto)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
dsPersonal: TDADataSource;
Label5: TLabel;
eNombre: TDBEdit;
Label6: TLabel;
ePuesto: TDBEdit;
Label7: TLabel;
eTelefono: TDBEdit;
Label11: TLabel;
eMovil: TDBEdit;
Label12: TLabel;
eFax: TDBEdit;
eMail: TcxDBHyperLinkEdit;
PngSpeedButton3: TPngSpeedButton;
Label8: TLabel;
procedure PngSpeedButton3Click(Sender: TObject);
procedure eMailPropertiesEditValueChanged(Sender: TObject);
procedure eMailPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure CancelBtnClick(Sender: TObject);
protected
FController : IPersonalContactoController;
FPersonal: IBizContactoPersonal;
function GetController : IPersonalContactoController;
procedure SetController (const Value : IPersonalContactoController);
function GetPersonal: IBizContactoPersonal;
procedure SetPersonal(const Value: IBizContactoPersonal);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Controller : IPersonalContactoController read GetController
write SetController;
property Personal: IBizContactoPersonal read GetPersonal write SetPersonal;
end;
implementation
uses
Variants;
type
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
{$R *.dfm}
{ TfEditorPersonal }
procedure TfEditorPersonal.CancelBtnClick(Sender: TObject);
begin
if FPersonal.DataTable.Editing then
FPersonal.Cancel;
end;
constructor TfEditorPersonal.Create(AOwner: TComponent);
begin
inherited;
FController := NIL;
end;
destructor TfEditorPersonal.Destroy;
begin
FController := NIL;
inherited;
end;
procedure TfEditorPersonal.eMailPropertiesEditValueChanged(Sender: TObject);
begin
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
end;
procedure TfEditorPersonal.eMailPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
begin
if not VarIsNull(DisplayValue) then
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
end;
function TfEditorPersonal.GetController: IPersonalContactoController;
begin
Result := FController;
end;
function TfEditorPersonal.GetPersonal: IBizContactoPersonal;
begin
Result := FPersonal;
end;
procedure TfEditorPersonal.PngSpeedButton3Click(Sender: TObject);
begin
THackcxDBHyperLinkEdit(eMail).DoStart;
end;
procedure TfEditorPersonal.SetController(
const Value: IPersonalContactoController);
begin
FController := Value;
end;
procedure TfEditorPersonal.SetPersonal(const Value: IBizContactoPersonal);
begin
FPersonal := Value;
if Assigned(FPersonal) then
dsPersonal.DataTable := FPersonal.DataTable
else
dsPersonal.DataTable := NIL;
end;
end.