unit uEditorCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorContacto, ImgList, PngImageList, StdActns, ActnList, TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent, JvNavigationPane, uViewCliente, uBizContacto, DB, uDADataTable, JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, uCustomView, uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, ExtCtrls, pngimage; type IEditorCliente = interface(IEditorContacto) ['{18215A21-1EDD-4E72-A69F-87C8E4347E84}'] end; TfEditorCliente = class(TfEditorContacto, IEditorCliente) procedure actEliminarExecute(Sender: TObject); procedure dsDataTableDataChange(Sender: TObject; Field: TField); public constructor Create(AOwner: TComponent); override; end; implementation uses uEditorUtils, uEditorItem, uDataModuleContactos, uDataModuleBase, uEditorBase; {$R *.dfm} function ShowEditorCliente (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorCliente; begin AEditor := TfEditorCliente.Create(Application); try AEditor.Contacto := (ABizObject as IBizCliente); Result := AEditor.ShowModal; finally AEditor.Release; end; end; procedure TfEditorCliente.actEliminarExecute(Sender: TObject); begin if (Application.MessageBox('¿Desea borrar este cliente?', 'Atención', MB_YESNO) = IDYES) then inherited; end; constructor TfEditorCliente.Create(AOwner: TComponent); begin inherited; ViewContacto := CreateView(TfrViewCliente) as IViewCliente; end; procedure TfEditorCliente.dsDataTableDataChange(Sender: TObject; Field: TField); begin inherited; if Assigned(Contacto) and (not (Contacto.DataTable.Fetching) or not (Contacto.DataTable.Opening) or not (Contacto.DataTable.Closing)) then begin if Length(Contacto.NOMBRE) = 0 then JvNavPanelHeader.Caption := 'Nuevo cliente' else JvNavPanelHeader.Caption := Contacto.NOMBRE; Self.Caption := JvNavPanelHeader.Caption; end; end; initialization RegisterEditor(IBizCliente, ShowEditorCliente, etItem); finalization end.