{ =============================================================================== Copyright (©) 2001. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 04-10-2004 Versión actual: 1.0.0 Fecha versión actual: 04-10-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit BarraAlmacenes; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, RDXFRAME, RdxBotones, ExtCtrls, RdxBarras, RdxPaneles, pngimage, StdCtrls; type TfrBarraAlmacenes = class(TRdxFrame) Panel2: TPanel; pnlBarraLateral: TPanel; imgFondo: TImage; bHistoricoMovimientos: TRdxBotonLateral; pnlTitulo: TPanel; eTitulo: TLabel; imgSombra: TImage; shSeparador: TShape; bEstadoAlmacenObra: TRdxBotonLateral; bAlmacenObra: TRdxBotonLateral; bHistoricoObras: TRdxBotonLateral; Panel1: TPanel; bAlmacenFisico: TRdxBotonLateral; Panel3: TPanel; procedure bAlmacenFisicoClick(Sender: TObject); procedure bEstadoAlmacenFisicoClick(Sender: TObject); procedure bHistoricoMovimientosClick(Sender: TObject); procedure bEstadoAlmacenObraClick(Sender: TObject); procedure bAlmacenObraClick(Sender: TObject); procedure bHistoricoObrasClick(Sender: TObject); protected FCodigoAlmacen : Variant; procedure FreeContenido; override; public constructor Create (AOwner: TComponent); override; end; var frBarraAlmacenes: TfrBarraAlmacenes; implementation {$R *.DFM} uses Almacenes, {ArticulosAlmacen, MovimientoAlmacenes, HistoricoMovimientos,} ArticulosObraHistorica, RdxFrameAlmacenes, RdxFrameArticulosAlmacen, RdxFrameHistoricoMovimientos, RdxFrameArticulosObraHistorica, Configuracion, Variants, Entidades, ArticulosAlmacen, HistoricoMovimientos; constructor TfrBarraAlmacenes.Create (AOwner: TComponent); begin inherited Create(AOwner); FCodigoAlmacen := NULL; Entidad := entAlmacen; ConfigurarBarraLateral(Self, Self.Entidad); bAlmacenFisicoClick(nil); end; procedure TfrBarraAlmacenes.bAlmacenFisicoClick(Sender: TObject); begin Contenido := TfrAlmacenes.Create(Self); {Por defecto Almacenes se inicializa con la entidad entAlmacen, es decir, todos los almacenes tanto fisicos como de obras} if (Contenido is TRdxFrameAlmacenes) then begin Contenido.Entidad := entAlmacenFisico; Contenido.Visible := True; end; end; procedure TfrBarraAlmacenes.bEstadoAlmacenFisicoClick(Sender: TObject); var EntidadAnterior : TRdxEntidad; begin EntidadAnterior := Contenido.Entidad; Contenido := TfrArticulosAlmacen.Create(Self); //Misma explicación que en apartado anterior if (Contenido is TRdxFrameArticulosAlmacen) then begin Contenido.Entidad := entArticulosAlmacenFisico; if EntidadAnterior = entAlmacenFisico then (Contenido as TfrArticulosAlmacen).CodigoAlmacen := FCodigoAlmacen; Contenido.Visible := True; end; end; procedure TfrBarraAlmacenes.FreeContenido; begin if (Contenido is TRdxFrameAlmacenes) then FCodigoAlmacen := (Contenido as TRdxFrameAlmacenes).CodigoAlmacen; if (Contenido is TRdxFrameArticulosAlmacen) then FCodigoAlmacen := (Contenido as TRdxFrameArticulosAlmacen).CodigoAlmacen; inherited; end; procedure TfrBarraAlmacenes.bHistoricoMovimientosClick(Sender: TObject); begin Contenido := TfrHistoricoMovimientos.Create(Self); if (Contenido is TRdxFrameHistoricoMovimientos) then (Contenido as TfrHistoricoMovimientos).CodigoAlmacen := FCodigoAlmacen; end; procedure TfrBarraAlmacenes.bEstadoAlmacenObraClick(Sender: TObject); var EntidadAnterior : TRdxEntidad; begin EntidadAnterior := Contenido.Entidad; Contenido := TfrArticulosAlmacen.Create(Self); if (Contenido is TRdxFrameArticulosAlmacen) then begin Contenido.Entidad := entArticulosAlmacenObra; if EntidadAnterior = entAlmacenObra then (Contenido as TfrArticulosAlmacen).CodigoAlmacen := FCodigoAlmacen; Contenido.Visible := True; end; end; procedure TfrBarraAlmacenes.bAlmacenObraClick(Sender: TObject); begin inherited; Contenido := TfrAlmacenes.Create(Self); {Preguntamos si el cambio de contenido se ha producido realmente, porque sino no ponemos nada al contenido porque realmente el contenido anterior no se ha liberado, bien porque al salir la pregunta de tratarcambios se ha contestado cancelar y por tanto continuar la operacion que se estubiese haciendo} if (Contenido is TRdxFrameAlmacenes) then begin Contenido.Entidad := entAlmacenObra; Contenido.Visible := True; end; end; procedure TfrBarraAlmacenes.bHistoricoObrasClick(Sender: TObject); begin inherited; Contenido := TfrArticulosObraHistorica.Create(Self); Contenido.Visible := True; // Contenido := TfrHistoricoMovimientos.Create(Self); // if (Contenido is TRdxFrameHistoricoMovimientos) then // (Contenido as TfrHistoricoMovimientos).CodigoAlmacen := FCodigoAlmacen; end; end.