view unit_Editor.pas @ 2:104f349dcfcc default tip

Added tag cdar-2.3 for changeset 87b91371db05b8cabe2dc3e2d2dc3ba830ab463b
author "Meillo r e t u r n s <meillo@marmaro.de>"
date Sun, 03 Dec 2006 21:56:41 +0100
parents ef71164288c1
children
line wrap: on
line source

unit unit_Editor;

interface//####################################################################################

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, Buttons, StdCtrls;

type
  Tform_Editor = class(TForm)
    mnu_Main: TMainMenu;
    mnu_tutorial: TMenuItem;
    mnu_WelcomeScreen: TMenuItem;
    mnu_Autorun: TMenuItem;
    mnu_CreateAR: TMenuItem;
    img_Background: TImage;
    img_button: TImage;
    mnu_nzl: TMenuItem;
    mnu_Sprache: TMenuItem;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure mnu_tutorialClick(Sender: TObject);
    procedure mnu_WelcomeScreenClick(Sender: TObject);
    procedure mnu_AutorunClick(Sender: TObject);
    procedure mnu_CreateARClick(Sender: TObject);
    procedure img_buttonMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure img_buttonMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img_buttonMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure mnu_SpracheClick(Sender: TObject);

  private
    dX : integer;
    dY : integer;
  public
    DraggingStatus : byte;

    PfadHG_neu : String;         // 'C:\'
    PfadEnter_neu : String;      // 'C:\'
    PfadIcon_neu : string;
    CDRoot_neu : string;
    xEnter_neu : integer;       // '225'
    yEnter_neu : integer;        // '325'
    WelcomeKind_neu : String;    // 'click' 'time' 'none'
    Delay_neu : byte;            // '3000' (in ms)
    StartsFD_neu : string;

    PfadHG_alt : String;
    PfadEnter_alt : String;
    PfadIcon_alt : string;
    CDRoot_alt : string;
    xEnter_alt : integer;
    yEnter_alt : integer;
    WelcomeKind_alt : String;
    Delay_alt : byte;
    StartsFD_alt : string;

    Delay : string;
    englisch : boolean;
  end;

var
  form_Editor: Tform_Editor;

implementation//###############################################################################
uses unit_Start, unit_Welcome, unit_Editor_ws, unit_Editor_as,
  unit_Editor_tutorial, unit_Editor_CreateAR;
{$R *.dfm}//###################################################################################

//------------------------------------------------------------------------------ form create
procedure Tform_Editor.FormCreate(Sender: TObject);
begin
  // close form 'start'
  form_start.Hide;

  // init global vars
  PfadHG_alt := '';
  PfadEnter_alt := '';
  PfadIcon_alt := '';
  CDRoot_alt := 'C:\NewCD\';
  xEnter_alt := 0;
  yEnter_alt := 0;
  WelcomeKind_alt := 'click';
  Delay_alt := 2;
  StartsFD_alt := '';
  Delay := '3';
  englisch := true;

  // background color
  form_editor.Color := rgb(192,192,192);
  // dragging dtatus = 0
  DraggingStatus := 0;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ kill
procedure Tform_Editor.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  application.Terminate;
end;//--------------------------------------------------------------------------

//#############################################################################################

//------------------------------------------------------------------------------ tutorial
procedure Tform_Editor.mnu_tutorialClick(Sender: TObject);
begin
  application.CreateForm(tform_editor_tutorial, form_editor_tutorial);
  form_editor_tutorial.show;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ welcome settings
procedure Tform_Editor.mnu_WelcomeScreenClick(Sender: TObject);
begin
  application.CreateForm(tform_editor_ws, form_editor_ws);
  form_editor_ws.show;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ autorun settings
procedure Tform_Editor.mnu_AutorunClick(Sender: TObject);
begin
  application.CreateForm(tform_editor_as, form_editor_as);
  form_editor_as.show;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ create settings
procedure Tform_Editor.mnu_CreateARClick(Sender: TObject);
begin
  application.CreateForm(tform_editor_CreateAR, form_editor_CreateAR);
  form_editor_CreateAR.show;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ toggle language
procedure Tform_Editor.mnu_SpracheClick(Sender: TObject);
begin
  if englisch = true then
    begin
      englisch := false;
      mnu_sprache.caption := '  -> English  ';                  // German
      mnu_Tutorial.Caption := '  Anleitung  ';
      mnu_WelcomeScreen.Caption := '  Begrüßungsbild Optionen  ';
      mnu_Autorun.Caption := '  Autorun Optionen  ';
      mnu_CreateAR.Caption := '  Autorunner erstellen  ';
    end
  else
    begin
      englisch := true;
      mnu_sprache.Caption := '  -> Deutsch  ';                   // English
      mnu_Tutorial.Caption := '  Tutorial  ';
      mnu_WelcomeScreen.Caption := '  Welcome-Screen Settings  ';
      mnu_Autorun.Caption := '  Autorun Settings  ';
      mnu_CreateAR.Caption := '  Create CD-Autorunner  ';
    end;
end;//--------------------------------------------------------------------------

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//------------------------------------------------------------------------------ // mouse down
procedure Tform_Editor.img_buttonMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  var MouseArea : trect;
begin
  // right drag'n'drop status needed
  if DraggingStatus <> 0 then exit;
  // remember cursor position on 'img_button'
  dX := x;
  dY := y;
  // jail mouse in mousearea
  mousearea.Left := form_editor.Left + dX + 3;
  mousearea.Right := form_editor.Left + form_editor.Width - (img_button.Width - dX + 2);
  mousearea.Top := form_editor.Top + dY + 41;
  mousearea.Bottom := form_editor.Top + form_editor.Height - (img_button.Height - dY +2);
  clipcursor(@mousearea);
  // set drag'n'drop status
  DraggingStatus := 1;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ // mouse move
procedure Tform_Editor.img_buttonMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  // right drag'n'drop status needed
  if (DraggingStatus = 0) or (draggingstatus = 3) then exit;
  // drag
  img_button.Left := img_button.Left + (x - dX);
  img_button.Top := img_button.Top + (y - dY);
  // set drag'n'drop status
  DraggingStatus := 2;
end;//--------------------------------------------------------------------------
//------------------------------------------------------------------------------ // mouse up
procedure Tform_Editor.img_buttonMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  // right drag'n'drop status needed
  if DraggingStatus <> 2 then exit;
  // free cursor from jail
  clipcursor(nil);
  // set 'img_button' coordinated
  xEnter_alt := img_button.left;
  yEnter_alt := img_button.top;
  // set drag'n'drop status
  DraggingStatus := 0;
end;//--------------------------------------------------------------------------

end.//#########################################################################################