unit uEditorProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorContacto, ImgList, PngImageList, StdActns, ActnList, TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent, JvNavigationPane, uEditorItem, uViewProveedor, uBizContacto, DB, uDADataTable, JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, uCustomView, uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, ExtCtrls, pngimage; type IEditorProveedor = interface(IEditorContacto) ['{D95C4DF8-819C-43EC-8589-CA53DCE78ADD}'] end; TfEditorProveedor = class(TfEditorContacto, IEditorProveedor) procedure actEliminarExecute(Sender: TObject); procedure dsDataTableDataChange(Sender: TObject; Field: TField); public constructor Create(AOwner: TComponent); override; end; implementation uses uDataModuleContactos, uEditorUtils, uDataModuleBase; {$R *.dfm} function ShowEditorProveedor (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorProveedor; begin AEditor := TfEditorProveedor.Create(Application); try AEditor.Contacto := (ABizObject as IBizProveedor); Result := AEditor.ShowModal; finally AEditor.Release; end; end; procedure TfEditorProveedor.actEliminarExecute(Sender: TObject); begin if (Application.MessageBox('¿Desea borrar este proveedor?', 'Atención', MB_YESNO) = IDYES) then inherited; end; constructor TfEditorProveedor.Create(AOwner: TComponent); begin inherited; ViewContacto := CreateView(TfrViewProveedor) as IViewProveedor; end; procedure TfEditorProveedor.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 proveedor' else JvNavPanelHeader.Caption := Contacto.NOMBRE; Self.Caption := JvNavPanelHeader.Caption; end; end; initialization RegisterEditor(IBizProveedor, ShowEditorProveedor, etItem); finalization end.