cdar

annotate 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
rev   line source
meillo@0 1 unit unit_Editor;
meillo@0 2
meillo@0 3 interface//####################################################################################
meillo@0 4
meillo@0 5 uses
meillo@0 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
meillo@0 7 Dialogs, Menus, ExtCtrls, Buttons, StdCtrls;
meillo@0 8
meillo@0 9 type
meillo@0 10 Tform_Editor = class(TForm)
meillo@0 11 mnu_Main: TMainMenu;
meillo@0 12 mnu_tutorial: TMenuItem;
meillo@0 13 mnu_WelcomeScreen: TMenuItem;
meillo@0 14 mnu_Autorun: TMenuItem;
meillo@0 15 mnu_CreateAR: TMenuItem;
meillo@0 16 img_Background: TImage;
meillo@0 17 img_button: TImage;
meillo@0 18 mnu_nzl: TMenuItem;
meillo@0 19 mnu_Sprache: TMenuItem;
meillo@0 20 procedure FormClose(Sender: TObject; var Action: TCloseAction);
meillo@0 21 procedure FormCreate(Sender: TObject);
meillo@0 22 procedure mnu_tutorialClick(Sender: TObject);
meillo@0 23 procedure mnu_WelcomeScreenClick(Sender: TObject);
meillo@0 24 procedure mnu_AutorunClick(Sender: TObject);
meillo@0 25 procedure mnu_CreateARClick(Sender: TObject);
meillo@0 26 procedure img_buttonMouseDown(Sender: TObject; Button: TMouseButton;
meillo@0 27 Shift: TShiftState; X, Y: Integer);
meillo@0 28 procedure img_buttonMouseMove(Sender: TObject; Shift: TShiftState; X,
meillo@0 29 Y: Integer);
meillo@0 30 procedure img_buttonMouseUp(Sender: TObject; Button: TMouseButton;
meillo@0 31 Shift: TShiftState; X, Y: Integer);
meillo@0 32 procedure mnu_SpracheClick(Sender: TObject);
meillo@0 33
meillo@0 34 private
meillo@0 35 dX : integer;
meillo@0 36 dY : integer;
meillo@0 37 public
meillo@0 38 DraggingStatus : byte;
meillo@0 39
meillo@0 40 PfadHG_neu : String; // 'C:\'
meillo@0 41 PfadEnter_neu : String; // 'C:\'
meillo@0 42 PfadIcon_neu : string;
meillo@0 43 CDRoot_neu : string;
meillo@0 44 xEnter_neu : integer; // '225'
meillo@0 45 yEnter_neu : integer; // '325'
meillo@0 46 WelcomeKind_neu : String; // 'click' 'time' 'none'
meillo@0 47 Delay_neu : byte; // '3000' (in ms)
meillo@0 48 StartsFD_neu : string;
meillo@0 49
meillo@0 50 PfadHG_alt : String;
meillo@0 51 PfadEnter_alt : String;
meillo@0 52 PfadIcon_alt : string;
meillo@0 53 CDRoot_alt : string;
meillo@0 54 xEnter_alt : integer;
meillo@0 55 yEnter_alt : integer;
meillo@0 56 WelcomeKind_alt : String;
meillo@0 57 Delay_alt : byte;
meillo@0 58 StartsFD_alt : string;
meillo@0 59
meillo@0 60 Delay : string;
meillo@0 61 englisch : boolean;
meillo@0 62 end;
meillo@0 63
meillo@0 64 var
meillo@0 65 form_Editor: Tform_Editor;
meillo@0 66
meillo@0 67 implementation//###############################################################################
meillo@0 68 uses unit_Start, unit_Welcome, unit_Editor_ws, unit_Editor_as,
meillo@0 69 unit_Editor_tutorial, unit_Editor_CreateAR;
meillo@0 70 {$R *.dfm}//###################################################################################
meillo@0 71
meillo@0 72 //------------------------------------------------------------------------------ form create
meillo@0 73 procedure Tform_Editor.FormCreate(Sender: TObject);
meillo@0 74 begin
meillo@0 75 // close form 'start'
meillo@0 76 form_start.Hide;
meillo@0 77
meillo@0 78 // init global vars
meillo@0 79 PfadHG_alt := '';
meillo@0 80 PfadEnter_alt := '';
meillo@0 81 PfadIcon_alt := '';
meillo@0 82 CDRoot_alt := 'C:\NewCD\';
meillo@0 83 xEnter_alt := 0;
meillo@0 84 yEnter_alt := 0;
meillo@0 85 WelcomeKind_alt := 'click';
meillo@0 86 Delay_alt := 2;
meillo@0 87 StartsFD_alt := '';
meillo@0 88 Delay := '3';
meillo@0 89 englisch := true;
meillo@0 90
meillo@0 91 // background color
meillo@0 92 form_editor.Color := rgb(192,192,192);
meillo@0 93 // dragging dtatus = 0
meillo@0 94 DraggingStatus := 0;
meillo@0 95 end;//--------------------------------------------------------------------------
meillo@0 96 //------------------------------------------------------------------------------ kill
meillo@0 97 procedure Tform_Editor.FormClose(Sender: TObject;
meillo@0 98 var Action: TCloseAction);
meillo@0 99 begin
meillo@0 100 application.Terminate;
meillo@0 101 end;//--------------------------------------------------------------------------
meillo@0 102
meillo@0 103 //#############################################################################################
meillo@0 104
meillo@0 105 //------------------------------------------------------------------------------ tutorial
meillo@0 106 procedure Tform_Editor.mnu_tutorialClick(Sender: TObject);
meillo@0 107 begin
meillo@0 108 application.CreateForm(tform_editor_tutorial, form_editor_tutorial);
meillo@0 109 form_editor_tutorial.show;
meillo@0 110 end;//--------------------------------------------------------------------------
meillo@0 111 //------------------------------------------------------------------------------ welcome settings
meillo@0 112 procedure Tform_Editor.mnu_WelcomeScreenClick(Sender: TObject);
meillo@0 113 begin
meillo@0 114 application.CreateForm(tform_editor_ws, form_editor_ws);
meillo@0 115 form_editor_ws.show;
meillo@0 116 end;//--------------------------------------------------------------------------
meillo@0 117 //------------------------------------------------------------------------------ autorun settings
meillo@0 118 procedure Tform_Editor.mnu_AutorunClick(Sender: TObject);
meillo@0 119 begin
meillo@0 120 application.CreateForm(tform_editor_as, form_editor_as);
meillo@0 121 form_editor_as.show;
meillo@0 122 end;//--------------------------------------------------------------------------
meillo@0 123 //------------------------------------------------------------------------------ create settings
meillo@0 124 procedure Tform_Editor.mnu_CreateARClick(Sender: TObject);
meillo@0 125 begin
meillo@0 126 application.CreateForm(tform_editor_CreateAR, form_editor_CreateAR);
meillo@0 127 form_editor_CreateAR.show;
meillo@0 128 end;//--------------------------------------------------------------------------
meillo@0 129 //------------------------------------------------------------------------------ toggle language
meillo@0 130 procedure Tform_Editor.mnu_SpracheClick(Sender: TObject);
meillo@0 131 begin
meillo@0 132 if englisch = true then
meillo@0 133 begin
meillo@0 134 englisch := false;
meillo@0 135 mnu_sprache.caption := ' -> English '; // German
meillo@0 136 mnu_Tutorial.Caption := ' Anleitung ';
meillo@0 137 mnu_WelcomeScreen.Caption := ' Begrüßungsbild Optionen ';
meillo@0 138 mnu_Autorun.Caption := ' Autorun Optionen ';
meillo@0 139 mnu_CreateAR.Caption := ' Autorunner erstellen ';
meillo@0 140 end
meillo@0 141 else
meillo@0 142 begin
meillo@0 143 englisch := true;
meillo@0 144 mnu_sprache.Caption := ' -> Deutsch '; // English
meillo@0 145 mnu_Tutorial.Caption := ' Tutorial ';
meillo@0 146 mnu_WelcomeScreen.Caption := ' Welcome-Screen Settings ';
meillo@0 147 mnu_Autorun.Caption := ' Autorun Settings ';
meillo@0 148 mnu_CreateAR.Caption := ' Create CD-Autorunner ';
meillo@0 149 end;
meillo@0 150 end;//--------------------------------------------------------------------------
meillo@0 151
meillo@0 152 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
meillo@0 153
meillo@0 154 //------------------------------------------------------------------------------ // mouse down
meillo@0 155 procedure Tform_Editor.img_buttonMouseDown(Sender: TObject;
meillo@0 156 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
meillo@0 157 var MouseArea : trect;
meillo@0 158 begin
meillo@0 159 // right drag'n'drop status needed
meillo@0 160 if DraggingStatus <> 0 then exit;
meillo@0 161 // remember cursor position on 'img_button'
meillo@0 162 dX := x;
meillo@0 163 dY := y;
meillo@0 164 // jail mouse in mousearea
meillo@0 165 mousearea.Left := form_editor.Left + dX + 3;
meillo@0 166 mousearea.Right := form_editor.Left + form_editor.Width - (img_button.Width - dX + 2);
meillo@0 167 mousearea.Top := form_editor.Top + dY + 41;
meillo@0 168 mousearea.Bottom := form_editor.Top + form_editor.Height - (img_button.Height - dY +2);
meillo@0 169 clipcursor(@mousearea);
meillo@0 170 // set drag'n'drop status
meillo@0 171 DraggingStatus := 1;
meillo@0 172 end;//--------------------------------------------------------------------------
meillo@0 173 //------------------------------------------------------------------------------ // mouse move
meillo@0 174 procedure Tform_Editor.img_buttonMouseMove(Sender: TObject;
meillo@0 175 Shift: TShiftState; X, Y: Integer);
meillo@0 176 begin
meillo@0 177 // right drag'n'drop status needed
meillo@0 178 if (DraggingStatus = 0) or (draggingstatus = 3) then exit;
meillo@0 179 // drag
meillo@0 180 img_button.Left := img_button.Left + (x - dX);
meillo@0 181 img_button.Top := img_button.Top + (y - dY);
meillo@0 182 // set drag'n'drop status
meillo@0 183 DraggingStatus := 2;
meillo@0 184 end;//--------------------------------------------------------------------------
meillo@0 185 //------------------------------------------------------------------------------ // mouse up
meillo@0 186 procedure Tform_Editor.img_buttonMouseUp(Sender: TObject;
meillo@0 187 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
meillo@0 188 begin
meillo@0 189 // right drag'n'drop status needed
meillo@0 190 if DraggingStatus <> 2 then exit;
meillo@0 191 // free cursor from jail
meillo@0 192 clipcursor(nil);
meillo@0 193 // set 'img_button' coordinated
meillo@0 194 xEnter_alt := img_button.left;
meillo@0 195 yEnter_alt := img_button.top;
meillo@0 196 // set drag'n'drop status
meillo@0 197 DraggingStatus := 0;
meillo@0 198 end;//--------------------------------------------------------------------------
meillo@0 199
meillo@0 200 end.//#########################################################################################