unit uHCLauncher;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ExeInfo, Vcl.ComCtrls, Vcl.ExtCtrls,
  Vcl.Menus, InspectorBar, WUpdate, uSmooth, Vcl.StdCtrls, uVCLFancy, uAppState;

type
  TfrmHCLauncher = class(TForm)
    sb: TStatusBar;
    pnlInspector: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    About1: TMenuItem;
    ib: TInspectorBar;
    Button1: TButton;
    Button2: TButton;
    btnVCLSplitView: TButton;
    btnRunGE: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure btnVCLSplitViewClick(Sender: TObject);
    procedure btnRunGEClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmHCLauncher: TfrmHCLauncher;

implementation

{$R *.dfm}

uses uNV, uVCLSplitView;

procedure TfrmHCLauncher.btnRunGEClick(Sender: TObject);
begin
  if nv.RunnerGE.RunIt then
    sb.Panels[0].Text := 'GE Started '  + IntToStr(nv.RunnerGE.ShellExecuteInfo.hProcess)
  else
    sb.Panels[0].Text := 'GE Start Failed';
end;

procedure TfrmHCLauncher.btnVCLSplitViewClick(Sender: TObject);
begin
  frmSplitView.Show;
end;

procedure TfrmHCLauncher.Button1Click(Sender: TObject);
begin
  frmSmooth.Show;
end;

procedure TfrmHCLauncher.Button2Click(Sender: TObject);
begin
  frmVCLFancy.Show;
end;

procedure TfrmHCLauncher.FormCreate(Sender: TObject);
begin
  // TODO ALE 20210112 need to wait for nv to be fully instantiated before calling
  nv.UpdateFormCaption(self);
end;

end.
