unit uAsistenteEtiquetasMontajes;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, JvWizard, JvExControls, JvComponent, StdCtrls, cxControls,
  cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit,
  uBizMontajes, cxGraphics, cxDropDownEdit, uCustomView, uViewBase,
  uViewPreview;

type
  TfAsistenteEtiquetasMontajes = class(TForm)
    JvWizard1: TJvWizard;
    JvWizardWelcomePage1: TJvWizardWelcomePage;
    Label1: TLabel;
    JvWizardInteriorPage1: TJvWizardInteriorPage;
    edtLabelCount: TcxSpinEdit;
    Label2: TLabel;
    Label3: TLabel;
    lblNombreCliente: TLabel;
    Label4: TLabel;
    cbImpresoras: TcxComboBox;
    Label5: TLabel;
    JvWizardWelcomePage2: TJvWizardWelcomePage;
    Label6: TLabel;
    Label7: TLabel;
    bImprimir: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure bImprimirClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure JvWizard1FinishButtonClick(Sender: TObject);
  private
    FMontaje : IBizMontaje;
    procedure SetMontaje(const Value: IBizMontaje);
  public
    property Montaje : IBizMontaje read FMontaje write SetMontaje;
  end;

  procedure VerAsistenteEtiquetasMontajes(AMontaje : IBizMontaje);

implementation

uses Printers;

{$R *.dfm}

procedure VerAsistenteEtiquetasMontajes(AMontaje : IBizMontaje);
var
  fAsistenteEtiquetasMontajes: TfAsistenteEtiquetasMontajes;
begin
  if not Assigned(AMontaje) then
    raise Exception.Create('Montaje no asignado (VerAsistenteEtiquetasMontajes)');

  with TfAsistenteEtiquetasMontajes.Create(NIL) do
    try
      Montaje := AMontaje;
      ShowModal;
    finally
      Free;
    end;
end;


procedure TfAsistenteEtiquetasMontajes.FormCreate(Sender: TObject);
begin
  cbImpresoras.Properties.Items := Printer.Printers;
  Printer.PrinterIndex := -1;
  cbImpresoras.Text := Printer.Printers.Strings[Printer.PrinterIndex];
end;

procedure TfAsistenteEtiquetasMontajes.bImprimirClick(Sender: TObject);
begin
  FMontaje.LabelCount := edtLabelCount.Value;
  FMontaje.PrintLabels;
end;

procedure TfAsistenteEtiquetasMontajes.SetMontaje(
  const Value: IBizMontaje);
begin
  FMontaje := Value;
  if Assigned(FMontaje) then
    lblNombreCliente.Caption := FMontaje.Cliente.NOMBRE;
end;

procedure TfAsistenteEtiquetasMontajes.Button2Click(Sender: TObject);
begin
  FMontaje.LabelCount := edtLabelCount.Value;
  FMontaje.PreviewLabels;
end;

procedure TfAsistenteEtiquetasMontajes.JvWizard1FinishButtonClick(
  Sender: TObject);
begin
  Close;
end;

end.
