unit uEditarTNodoCombustible;

interface

uses
  // Windows,
  Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons,
  uBaseEditoresActores,
  uBaseEditoresCosasConNombre,
  uSalasDeJuego,
  uCosaConNombre,
  utilidades,
  uOpcionesSimSEEEdit,
  unodocombustible,
  uverdoc,
  ufechas;

type

  { TEditarTNodoCombustible }

  TEditarTNodoCombustible = class(TBaseEditoresActores)
    cbCombustible_: TComboBox;
    lblCombustible: TLabel;
    LNombre: TLabel;
    EditNombre: TEdit;
    BGuardar: TButton;
    BCancelar: TButton;
    BEditorDeUnidades: TButton;
    BAyuda: TButton;
    Panel1: TPanel;
    procedure base_editores_panel_topClick(Sender: TObject);
    procedure CBChange(Sender: TObject);
    procedure cbCombustible_Change(Sender: TObject);
    procedure EditNombreChange(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
    procedure BCancelarClick(Sender: TObject);
    procedure BAyudaClick(Sender: TObject);
    procedure EditEnter(Sender: TObject);
    procedure EditExit(Sender: TObject);
    procedure BEditorDeUnidadesClick(Sender: TObject);
    procedure BGuardarClick(Sender: TObject); override;
    procedure Panel1Click(Sender: TObject);
  private
    { Private declarations }
  public
    constructor Create(AOwner: TComponent; sala: TSalaDeJuego;
      tipoCosa: TClass; cosaConNombre: TCosaConNombre); override;
    function validarFormulario: boolean; override;
  end;

implementation

uses SimSEEEditMain;

{$R *.lfm}
constructor TEditarTNodoCombustible.Create(AOwner: TComponent;
  sala: TSalaDeJuego; tipoCosa: TClass; cosaConNombre: TCosaConNombre);
var
  nodoComb: TNodoCombustible;
begin
  inherited Create(AOwner, sala, tipoCosa, cosaConNombre);

  inicializarCBCombustible(cbCombustible_, False);


  if cosaConNombre <> nil then
  begin
    nodoComb := TNodoCombustible(cosaConNombre);
    EditNombre.Text := nodoComb.nombre;

    setCBCombustible(cbCombustible_, TNOdoCOmbustible(cosaConNombre).Combustible);
  end;
end;

function TEditarTNodoCombustible.validarFormulario: boolean;
begin
  Result := inherited validarFormulario and
    validarNombre(EditNombre) and
    validarCBCombustible(cbCombustible_);
end;

procedure TEditarTNodoCombustible.BAyudaClick(Sender: TObject);
begin
  uverdoc.verdoc( 3828, TNodoCombustible );
end;

procedure TEditarTNodoCombustible.BCancelarClick(Sender: TObject);
begin
  inherited BCancelarClick(Sender);
end;

procedure TEditarTNodoCombustible.BEditorDeUnidadesClick(Sender: TObject);
begin
  inherited BEditorDeUnidadesClick(Sender);
end;

procedure TEditarTNodoCombustible.BGuardarClick(Sender: TObject);
var
  actor: TNodoCombustible;
begin
  if validarFormulario then
  begin
    if cosaConNombre = nil then
    begin
      cosaConNombre := TNodoCombustible.Create(0, EditNombre.Text,
        TFecha.Create_dt(0),
        TFecha.Create_dt(0),
        lpdUnidades, valorCBCombustible(
        cbCombustible_), nil, '');
    end
    else
    begin
      actor := TNodoCombustible(cosaConNombre);
      actor.nombre := EditNombre.Text;
      actor.lpdUnidades.Free;
      actor.lpdUnidades := lpdUnidades;
      actor.combustible := valorCBCombustible(cbCombustible_);
    end;

    ModalResult := mrOk;
  end;
end;

procedure TEditarTNodoCombustible.Panel1Click(Sender: TObject);
begin

end;

procedure TEditarTNodoCombustible.EditEnter(Sender: TObject);
begin
  inherited EditEnter(Sender);
end;

procedure TEditarTNodoCombustible.EditExit(Sender: TObject);
begin
  inherited EditExit(Sender);
end;

procedure TEditarTNodoCombustible.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
  inherited FormCloseQuery(Sender, CanClose);
end;

procedure TEditarTNodoCombustible.CBChange(Sender: TObject);
begin
end;

procedure TEditarTNodoCombustible.base_editores_panel_topClick(Sender: TObject);
begin

end;

procedure TEditarTNodoCombustible.cbCombustible_Change(Sender: TObject);
begin
  self.cbCombustibleChange(Self, True);
end;

procedure TEditarTNodoCombustible.EditNombreChange(Sender: TObject);
begin

end;



end.
