{
===============================================================================
  Copyright (©) 2002. 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: 26-01-2003
  Versión actual: 1.0.0
  Fecha versión actual: 26-01-2003
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
===============================================================================
}

unit BarraLibros;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  RdxBotones, ExtCtrls, RdxPaneles, RdxBarras, RdxFrame, ActnList, Variants,
  StdCtrls, pngimage;

type
  TfrBarraLibros = class(TRdxFrame)
    Acciones: TActionList;
    actCaja: TAction;
    actBanco: TAction;
    Panel2: TPanel;
    shSeparador: TShape;
    pnlBarraLateral: TPanel;
    imgFondo: TImage;
    pnlTitulo: TPanel;
    eTitulo: TLabel;
    imgSombra: TImage;
    bCaja: TRdxBotonLateral;
    bBanco: TRdxBotonLateral;
    procedure actCajaExecute(Sender: TObject);
    procedure actBancoExecute(Sender: TObject);
  private
    FTipoLibro: Variant;
    procedure SetTipoLibro (Value : Variant);
    property TipoLibro: Variant read FTipoLibro write SetTipoLibro;
  protected
  public
    constructor Create (AOwner: TComponent); override;
  end;

var
  frBarraLibros: TfrBarraLibros;

implementation
{$R *.DFM}
uses
  Principal, Entidades, DetallesLibro, strfunc, RdxFrameDetallesLibro, BaseDatos,
  Configuracion;

////////////////////////////////////////////////////////////////////////////////
// PRIVATE
////////////////////////////////////////////////////////////////////////////////
procedure TfrBarraLibros.SetTipoLibro(Value: Variant);
begin
  if esCadenaVacia(Value) then
    exit;

  //Se llama al mismo frame (frDetallesLibro) para todos los botones, si ya esta
  //creado solo cambiamos de codigo de libro
  if Contenido = Nil then begin
    Contenido := TfrDetallesLibro.Create(Self);
  end;

  FTipoLibro := Value;
  if (Contenido.Contenido <> NIL) then
    Contenido.Contenido.CloseFrame;
  (Contenido as TRdxFrameDetallesLibro).TipoLibro := FTipoLibro;
end;

////////////////////////////////////////////////////////////////////////////////
// PUBLIC
////////////////////////////////////////////////////////////////////////////////
constructor TfrBarraLibros.Create (AOwner: TComponent);
begin
  inherited Create(AOwner);
  FTipoLibro := NULL;
  Entidad := entEntLibro;
  ConfigurarBarraLateral(Self, Self.Entidad);  
  actCaja.Execute;
end;

procedure TfrBarraLibros.actCajaExecute(Sender: TObject);
begin
  TipoLibro := 'C';
end;

procedure TfrBarraLibros.actBancoExecute(Sender: TObject);
begin
  TipoLibro := 'B';
end;


end.
