unit uEditorPedidoMontaje; interface uses dxLayoutLookAndFeels, DB, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, Controls, PngImageList, StdActns, Classes, ActnList, Forms, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uCustomView, uViewBase, uViewTotalPedido, uViewDetallesBase, uViewIncidencias, uViewDocumentosAsociados, uEditorPedidoProveedor, uViewDetallesPedidoProveedor, uIEditorPedidoMontaje, uPedidosProveedorController, uBizPedidosProveedor, JvExComCtrls, JvStatusBar; type TfEditorPedidoMontaje = class(TfEditorPedidoProveedor, IEditorPedidoMontaje) protected procedure OnMontajeChanged(Sender : TObject); //Si queremos crear otra vista para el editor heredado solo tendriamos que //sobreescribir este metodo procedure AsignarVista; override; //Para asignar los objetos de negocio que necesita la vista procedure SetController (const Value : IPedidosProveedorController); override; procedure SetPedido(const Value: IBizPedidoProveedor); override; end; implementation {$R *.dfm} uses uBizPedidosMontaje, uViewPedidoMontaje, uPedidosMontajeController, uBizMontajesDetalles, uViewPedidoProveedor; { TfEditorPedidoProveedor1 } procedure TfEditorPedidoMontaje.AsignarVista; var AViewPedidoMontaje: TfrViewPedidoMontaje; begin AViewPedidoMontaje := TfrViewPedidoMontaje.create(Self); with AViewPedidoMontaje do begin Parent := pagGeneral; Align := alClient; dxLayoutControl1.LookAndFeel := dxLayoutOfficeLookAndFeel1; end; ViewPedido := AViewPedidoMontaje; end; procedure TfEditorPedidoMontaje.OnMontajeChanged(Sender: TObject); begin (Pedido as IBizPedidoMontaje).Montaje := ((ViewPedido as IViewPedidoMontaje).ViewMontajePedido.Montaje as IBizMontajeDetalles); end; procedure TfEditorPedidoMontaje.SetController(const Value: IPedidosProveedorController); begin inherited; if Assigned(FController) then (ViewPedido as IViewPedidoMontaje).ViewMontajePedido.Controller := (FController as IPedidosMontajeController).MontajeController; end; procedure TfEditorPedidoMontaje.SetPedido(const Value: IBizPedidoProveedor); begin inherited; if Assigned(FViewPedido) then begin (ViewPedido as IViewPedidoMontaje).ViewMontajePedido.Montaje := (FPedido as IBizPedidoMontaje).Montaje; (ViewPedido as IViewPedidoMontaje).ViewMontajePedido.OnMontajeChanged := OnMontajeChanged; end; end; end.