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.//#########################################################################################
|