unit uEditorAlbaranesCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorGrid, Menus, DB, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane, uBizAlbaranesCliente, uViewGrid, pngimage, uCustomView, uViewBase, uViewBarraSeleccion; type IEditorAlbaranesCliente = interface(IEditorGrid) ['{AEB08024-B44B-46FD-B145-F8332BB9219F}'] function GetAlbaranesCliente: IBizAlbaranesCliente; procedure SetAlbaranesCliente(const Value: IBizAlbaranesCliente); property AlbaranesCliente: IBizAlbaranesCliente read GetAlbaranesCliente write SetAlbaranesCliente; end; TfEditorAlbaranesCliente = class(TfEditorGrid, IEditorAlbaranesCliente) frViewBarraSeleccion: TfrViewBarraSeleccion; procedure actEliminarExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actNuevoExecute(Sender: TObject); procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject); procedure frViewBarraSeleccionactCancelarExecute(Sender: TObject); private FAlbaranesCliente: IBizAlbaranesCliente; protected function GetAlbaranesCliente: IBizAlbaranesCliente; procedure SetAlbaranesCliente(const Value: IBizAlbaranesCliente); procedure SetViewGrid(const Value: IViewGrid); override; function GetSelectionBarVisible: Boolean; procedure SetSelectionBarVisible(const Value: Boolean); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; property AlbaranesCliente: IBizAlbaranesCliente read GetAlbaranesCliente write SetAlbaranesCliente; property SelectionBarVisible: Boolean read GetSelectionBarVisible write SetSelectionBarVisible; end; var fEditorAlbaranesCliente: TfEditorAlbaranesCliente; implementation uses uDataModuleAlbaranesCliente, uViewAlbaranesCliente, uEditorUtils; {$R *.dfm} function ShowEditorAlbaranesCliente (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorAlbaranesCliente; begin AEditor := TfEditorAlbaranesCliente.Create(Application); try AEditor.AlbaranesCliente := (ABizObject as IBizAlbaranesCliente); Result := AEditor.ShowModal; finally AEditor.Release; end; end; function ShowSelectEditorAlbaranesCliente (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorAlbaranesCliente; begin AEditor := TfEditorAlbaranesCliente.Create(Application); try AEditor.AlbaranesCliente := (ABizObject as IBizAlbaranesCliente); AEditor.SelectionBarVisible := True; Result := AEditor.ShowModal; finally AEditor.Release; end; end; { *************************** TfEditorAlbaranesCliente *************************** } constructor TfEditorAlbaranesCliente.Create(AOwner: TComponent); begin inherited; ViewGrid := CreateView(TfrViewAlbaranesCliente) as IViewAlbaranesCliente; end; destructor TfEditorAlbaranesCliente.Destroy; begin FAlbaranesCliente := NIL; inherited; end; procedure TfEditorAlbaranesCliente.actEliminarExecute(Sender: TObject); begin if (Application.MessageBox('¿Desea borrar este albarán de cliente?', 'Atención', MB_YESNO) = IDYES) then begin inherited; ViewGrid.RefreshGrid; end; end; procedure TfEditorAlbaranesCliente.actModificarExecute(Sender: TObject); begin inherited; AlbaranesCliente.Show; ViewGrid.RefreshGrid; ViewGrid.SyncFocusedRecordsFromDataSet; end; procedure TfEditorAlbaranesCliente.actNuevoExecute(Sender: TObject); begin inherited; AlbaranesCliente.Insert; AlbaranesCliente.Show; ViewGrid.RefreshGrid; ViewGrid.SyncFocusedRecordsFromDataSet; end; function TfEditorAlbaranesCliente.GetAlbaranesCliente: IBizAlbaranesCliente; begin Result := FAlbaranesCliente; end; procedure TfEditorAlbaranesCliente.SetAlbaranesCliente(const Value: IBizAlbaranesCliente); begin FAlbaranesCliente := Value; dsDataTable.DataTable := FAlbaranesCliente.DataTable; if Assigned(ViewGrid) then (ViewGrid as IViewAlbaranesCliente).AlbaranesCliente := AlbaranesCliente; end; procedure TfEditorAlbaranesCliente.SetViewGrid(const Value: IViewGrid); begin inherited; if Assigned(ViewGrid) and Assigned(AlbaranesCliente) then (ViewGrid as IViewAlbaranesCliente).AlbaranesCliente := FAlbaranesCliente; end; function TfEditorAlbaranesCliente.GetSelectionBarVisible: Boolean; begin Result := frViewBarraSeleccion.Visible; end; procedure TfEditorAlbaranesCliente.SetSelectionBarVisible(const Value: Boolean); begin frViewBarraSeleccion.Visible := True; ViewGrid.OnDblClick := frViewBarraSeleccion.actSeleccionar.OnExecute; end; procedure TfEditorAlbaranesCliente.frViewBarraSeleccionactSeleccionarExecute(Sender: TObject); begin inherited; if (AlbaranesCliente.DataTable.RecordCount > 0) then begin ViewGrid.SyncFocusedRecordsFromGrid; ModalResult := mrOK; end; end; procedure TfEditorAlbaranesCliente.frViewBarraSeleccionactCancelarExecute( Sender: TObject); begin inherited; frViewBarraSeleccion.actCancelarExecute(Sender); end; initialization RegisterEditor(IBizAlbaranesCliente, ShowEditorAlbaranesCliente, etItems); RegisterEditor(IBizAlbaranesCliente, ShowSelectEditorAlbaranesCliente, etSelectItems); finalization end.