ConstruccionesCNJ_FactuGES/Modulos/Montaje con detalles/Views/uEditorMontajeDetalle.pas
2007-06-21 15:50:59 +00:00

83 lines
3.1 KiB
ObjectPascal

unit uEditorMontajeDetalle;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorMontaje, dxLayoutLookAndFeels, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage,
ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uCustomView, uViewBase,
uViewDetallesBase, uViewDetallesMontaje, uBizMontajes, uMontajesController,
uIEditorMontajeDetalle, JvExComCtrls, JvStatusBar;
type
TfEditorMontajeDetalle = class(TfEditorMontaje, IEditorMontajeDetalle)
PagContenido: TTabSheet;
frViewDetallesMontaje1: TfrViewDetallesMontaje;
protected
procedure OnPresupuestoChanged(Sender : TObject);
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; override;
procedure SetController (const Value : IMontajesController); override;
procedure SetMontaje(const Value: IBizMontaje); override;
end;
implementation
{$R *.dfm}
uses uBizMontajesDetalles, uMontajesDetallesController, ViewMontajeDetalle,
uViewMontaje;
{ TfEditorMontajeDetalle }
procedure TfEditorMontajeDetalle.AsignarVista;
var
AViewMontajeDetalle: TfrViewMontajeDetalle;
begin
AViewMontajeDetalle := TfrViewMontajeDetalle.create(Self);
with AViewMontajeDetalle do
begin
Parent := pagGeneral;
Align := alClient;
dxLayoutControlMontaje.LookAndFeel := dxLayoutOfficeLookAndFeel1;
end;
ViewMontaje := AViewMontajeDetalle;
end;
procedure TfEditorMontajeDetalle.OnPresupuestoChanged(Sender: TObject);
begin
(Montaje as IBizMontajeDetalles).Presupuesto := (ViewMontaje as IViewMontajeDetalle).ViewPresupuestoMontaje.Presupuesto;
if (Application.MessageBox('¿Desea asignar el cliente del presupuesto seleccionado al montaje?', 'Atención', MB_YESNO) = IDYES) then
begin
(Controller as IMontajesDetallesController).PresupuestoController.RecuperarCliente((Montaje as IBizMontajeDetalles).Presupuesto);
ViewMontaje.ViewClienteMontaje.Cliente := (Montaje as IBizMontajeDetalles).Presupuesto.Cliente;
end;
end;
procedure TfEditorMontajeDetalle.SetController(const Value: IMontajesController);
begin
inherited;
if Assigned(FController) then
begin
frViewDetallesMontaje1.Controller := (Controller as IMontajesDetallesController).DetallesController;
(ViewMontaje as IViewMontajeDetalle).ViewPresupuestoMontaje.Controller := (FController as IMontajesDetallesController).PresupuestoController;
end;
end;
procedure TfEditorMontajeDetalle.SetMontaje(const Value: IBizMontaje);
begin
inherited;
if Assigned(FViewMontaje) then
begin
frViewDetallesMontaje1.Detalles := (FMontaje as IBizMontajeDetalles).Detalles;
(ViewMontaje as IViewMontajeDetalle).ViewPresupuestoMontaje.Presupuesto := (FMontaje as IBizMontajeDetalles).Presupuesto;
(ViewMontaje as IViewMontajeDetalle).ViewPresupuestoMontaje.OnPresupuestoChanged := OnPresupuestoChanged;
end;
end;
end.