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

133 lines
3.8 KiB
ObjectPascal

unit uEditorDireccion;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, Mask, DBCtrls, DB, uDADataTable, PngSpeedButton,
cxControls, cxContainer, cxEdit, cxTextEdit, cxHyperLinkEdit, cxDBEdit,
uIEditorDireccionContacto, uDireccionesContactoController, uBizDireccionesContacto,
cxCurrencyEdit, uDAInterfaces;
type
TfEditorDireccion = class(TForm, IEditorEditorDireccion)
OKBtn: TButton;
CancelBtn: TButton;
Bevel1: TBevel;
eDireccion: TDBEdit;
ePoblacion: TDBEdit;
eProvincia: TDBEdit;
eCodigoPostal: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
dsDireccion: TDADataSource;
Label5: TLabel;
eNombre: TDBEdit;
Label6: TLabel;
ePersonaContacto: TDBEdit;
Label7: TLabel;
eTelefono: TDBEdit;
eMail: TcxDBHyperLinkEdit;
PngSpeedButton3: TPngSpeedButton;
Label8: TLabel;
Label9: TLabel;
eNotas: TDBMemo;
Bevel2: TBevel;
Label10: TLabel;
ePortes: TcxDBCurrencyEdit;
Label11: TLabel;
eMovil: TDBEdit;
Label12: TLabel;
eFax: TDBEdit;
Label13: TLabel;
eNifCif: TDBEdit;
procedure PngSpeedButton3Click(Sender: TObject);
procedure eMailPropertiesEditValueChanged(Sender: TObject);
procedure eMailPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
protected
FController : IDireccionesContactoController;
FDireccion: IBizDireccionesContacto;
function GetController : IDireccionesContactoController;
procedure SetController (const Value : IDireccionesContactoController);
function GetDireccion: IBizDireccionesContacto;
procedure SetDireccion(const Value: IBizDireccionesContacto);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Controller : IDireccionesContactoController read GetController
write SetController;
property Direccion: IBizDireccionesContacto read GetDireccion write SetDireccion;
end;
implementation
uses
Variants;
{$R *.dfm}
type
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
{ TfEditorDireccion }
constructor TfEditorDireccion.Create(AOwner: TComponent);
begin
inherited;
FController := NIL;
end;
destructor TfEditorDireccion.Destroy;
begin
FController := NIL;
inherited;
end;
procedure TfEditorDireccion.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 TfEditorDireccion.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 TfEditorDireccion.GetController: IDireccionesContactoController;
begin
Result := FController;
end;
function TfEditorDireccion.GetDireccion: IBizDireccionesContacto;
begin
Result := FDireccion;
end;
procedure TfEditorDireccion.PngSpeedButton3Click(Sender: TObject);
begin
THackcxDBHyperLinkEdit(eMail).DoStart;
end;
procedure TfEditorDireccion.SetController(
const Value: IDireccionesContactoController);
begin
FController := Value;
end;
procedure TfEditorDireccion.SetDireccion(const Value: IBizDireccionesContacto);
begin
FDireccion := Value;
if Assigned(FDireccion) then
dsDireccion.DataTable := FDireccion.DataTable
else
dsDireccion.DataTable := NIL;
end;
end.