diff unit_Editor.pas @ 0:ef71164288c1

begin of using hg for cdar
author "Meillo r e t u r n s <meillo@marmaro.de>"
date Sun, 03 Dec 2006 21:54:43 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unit_Editor.pas	Sun Dec 03 21:54:43 2006 +0100
@@ -0,0 +1,200 @@
+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.//#########################################################################################