cdar

annotate unit_Editor_ws.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_ws;
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, StdCtrls, ExtCtrls, jpeg, ExtDlgs;
meillo@0 8
meillo@0 9 type
meillo@0 10 Tform_Editor_ws = class(TForm)
meillo@0 11 btn_cancel: TButton;
meillo@0 12 btn_Apply: TButton;
meillo@0 13 gbx_BilderLaden: TGroupBox;
meillo@0 14 btn_bp: TButton;
meillo@0 15 lbl_1: TLabel;
meillo@0 16 tbx_BackgroundPath: TEdit;
meillo@0 17 tbx_EnterPath: TEdit;
meillo@0 18 btn_ep: TButton;
meillo@0 19 lbl_2: TLabel;
meillo@0 20 gbx_EnterPos: TGroupBox;
meillo@0 21 hsb_EnterXPos: TScrollBar;
meillo@0 22 tbx_XPos: TEdit;
meillo@0 23 lbl_3: TLabel;
meillo@0 24 tbx_YPos: TEdit;
meillo@0 25 lbl_4: TLabel;
meillo@0 26 vsb_EnterYPos: TScrollBar;
meillo@0 27 gbx_ShowTill: TGroupBox;
meillo@0 28 rbtn_DoShow: TRadioButton;
meillo@0 29 rbtn_NotShow: TRadioButton;
meillo@0 30 pan_ShowTill: TPanel;
meillo@0 31 rbtn_TillClick: TRadioButton;
meillo@0 32 rbtn_TillTime: TRadioButton;
meillo@0 33 cobx_Delay: TComboBox;
meillo@0 34 lbl_5: TLabel;
meillo@0 35 lbl_6: TLabel;
meillo@0 36 OpenDialog1: TOpenPictureDialog;
meillo@0 37 procedure FormClose(Sender: TObject; var Action: TCloseAction);
meillo@0 38 procedure FormCreate(Sender: TObject);
meillo@0 39 procedure hsb_EnterXPosChange(Sender: TObject);
meillo@0 40 procedure vsb_EnterYPosChange(Sender: TObject);
meillo@0 41 procedure rbtn_NotShowClick(Sender: TObject);
meillo@0 42 procedure rbtn_DoShowClick(Sender: TObject);
meillo@0 43 procedure btn_bpClick(Sender: TObject);
meillo@0 44 procedure btn_epClick(Sender: TObject);
meillo@0 45 procedure FormShow(Sender: TObject);
meillo@0 46 procedure btn_ApplyClick(Sender: TObject);
meillo@0 47 procedure btn_cancelClick(Sender: TObject);
meillo@0 48 procedure rbtn_TillTimeClick(Sender: TObject);
meillo@0 49 procedure rbtn_TillClickClick(Sender: TObject);
meillo@0 50 procedure tbx_BackgroundPathChange(Sender: TObject);
meillo@0 51 procedure tbx_EnterPathChange(Sender: TObject);
meillo@0 52 private
meillo@0 53 { Private declarations }
meillo@0 54 public
meillo@0 55 { Public declarations }
meillo@0 56 end;
meillo@0 57
meillo@0 58 var
meillo@0 59 form_Editor_ws: Tform_Editor_ws;
meillo@0 60
meillo@0 61 implementation//###############################################################################
meillo@0 62 uses unit_Editor;
meillo@0 63 {$R *.dfm}//###################################################################################
meillo@0 64
meillo@0 65 //------------------------------------------------------------------------------ form create
meillo@0 66 procedure Tform_Editor_ws.FormCreate(Sender: TObject);
meillo@0 67 begin
meillo@0 68 // set language
meillo@0 69 if form_editor.englisch = true then
meillo@0 70 begin // English
meillo@0 71 form_Editor_ws.Caption := 'Welcome-Screen Settings';
meillo@0 72 btn_cancel.Caption := 'Cancel Changes';
meillo@0 73 btn_Apply.Caption := 'Apply Changes';
meillo@0 74 btn_bp.Caption := 'Browse';
meillo@0 75 btn_ep.Caption := 'Browse';
meillo@0 76 lbl_1.Caption := 'Background-Picture: (600x450 px)';
meillo@0 77 lbl_2.caption := 'Enter-Picture: (150x40 px recommended)';
meillo@0 78 lbl_5.Caption := '... of the Enter-Picture';
meillo@0 79 lbl_6.Caption := '(You can move by Drag n Drop too)';
meillo@0 80 rbtn_DoShow.Caption := 'Show Welcome-Screen ...';
meillo@0 81 rbtn_NotShow.Caption := 'Do not show Welcome-Screen';
meillo@0 82 rbtn_TillClick.Caption := '... till click';
meillo@0 83 rbtn_TillTime.Caption := '... seconds';
meillo@0 84 end
meillo@0 85 else
meillo@0 86 begin // German
meillo@0 87 form_Editor_ws.Caption := 'Begrüßungsbild Optionen';
meillo@0 88 btn_cancel.Caption := 'Abbrechen';
meillo@0 89 btn_Apply.Caption := 'Übernehmen';
meillo@0 90 btn_bp.Caption := 'Durchsuchen';
meillo@0 91 btn_ep.Caption := 'Durchsuchen';
meillo@0 92 lbl_1.Caption := 'Hintergrundbild: (600x450 px)';
meillo@0 93 lbl_2.caption := 'Enterbild: (150x40 px empfohlen)';
meillo@0 94 lbl_5.Caption := '... des Enterbilds';
meillo@0 95 lbl_6.Caption := '(Drag n Drop ist auch möglich)';
meillo@0 96 rbtn_DoShow.Caption := 'Begrüßungsbild anzeigen ...';
meillo@0 97 rbtn_NotShow.Caption := 'Kein Begrüßungsbild anzeigen';
meillo@0 98 rbtn_TillClick.Caption := '... bis Klick';
meillo@0 99 rbtn_TillTime.Caption := '... Sekunden';
meillo@0 100 end;
meillo@0 101
meillo@0 102 // set standard path
meillo@0 103 opendialog1.InitialDir := extractfilepath(paramstr(0));
meillo@0 104 end;//--------------------------------------------------------------------------
meillo@0 105 //------------------------------------------------------------------------------ form show
meillo@0 106 procedure Tform_Editor_ws.FormShow(Sender: TObject);
meillo@0 107 begin
meillo@0 108 // disable drag'n'drop
meillo@0 109 form_editor.draggingstatus := 3;
meillo@0 110 // disable menu
meillo@0 111 form_editor.mnu_Tutorial.enabled := false;
meillo@0 112 form_editor.mnu_WelcomeScreen.Enabled := false;
meillo@0 113 form_editor.mnu_Autorun.Enabled := false;
meillo@0 114 form_editor.mnu_CreateAR.enabled := false;
meillo@0 115 form_editor.mnu_Sprache.enabled := false;
meillo@0 116
meillo@0 117 // init
meillo@0 118 // set picture path
meillo@0 119 tbx_BackgroundPath.text := form_Editor.PfadHG_alt;
meillo@0 120 tbx_EnterPath.text := form_Editor.PfadEnter_alt;
meillo@0 121 // set 'img_button'-positon
meillo@0 122 tbx_XPos.text := inttostr(form_Editor.xEnter_alt);
meillo@0 123 tbx_YPos.text := inttostr(form_Editor.yEnter_alt);
meillo@0 124 // kind of welcome action
meillo@0 125 if form_Editor.Welcomekind_alt = 'none' then
meillo@0 126 begin
meillo@0 127 rbtn_notshow.checked := true;
meillo@0 128
meillo@0 129 rbtn_tillclick.Enabled := false;
meillo@0 130 rbtn_tilltime.Enabled := false;
meillo@0 131 end
meillo@0 132 else
meillo@0 133 begin
meillo@0 134 if form_Editor.Welcomekind_alt = 'click' then
meillo@0 135 begin
meillo@0 136 rbtn_tillClick.checked := true;
meillo@0 137 rbtn_doshow.Checked := true;
meillo@0 138 end
meillo@0 139 else
meillo@0 140 begin
meillo@0 141 rbtn_tilltime.Checked := true;
meillo@0 142 rbtn_doshow.Checked := true;
meillo@0 143 end;
meillo@0 144 end;
meillo@0 145 // delay
meillo@0 146 cobx_delay.ItemIndex := form_Editor.Delay_alt;
meillo@0 147
meillo@0 148 // set scrollbar values
meillo@0 149 hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width;
meillo@0 150 hsb_enterXpos.Position := form_editor.img_button.Left;
meillo@0 151 vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height;
meillo@0 152 vsb_enterYpos.Position := form_editor.img_button.top;
meillo@0 153 end;//--------------------------------------------------------------------------
meillo@0 154 //------------------------------------------------------------------------------ form close
meillo@0 155 procedure Tform_Editor_ws.FormClose(Sender: TObject;
meillo@0 156 var Action: TCloseAction);
meillo@0 157 begin
meillo@0 158 // reenable drag'n'drop
meillo@0 159 form_editor.draggingstatus := 0;
meillo@0 160 // reenable menu
meillo@0 161 form_editor.mnu_Tutorial.enabled := true;
meillo@0 162 form_editor.mnu_WelcomeScreen.Enabled := true;
meillo@0 163 form_editor.mnu_Autorun.Enabled := true;
meillo@0 164 form_editor.mnu_CreateAR.enabled := true;
meillo@0 165 form_editor.mnu_Sprache.enabled := true;
meillo@0 166 end;//--------------------------------------------------------------------------
meillo@0 167
meillo@0 168 //#############################################################################################
meillo@0 169
meillo@0 170 //------------------------------------------------------------------------------ change x-position
meillo@0 171 procedure Tform_Editor_ws.hsb_EnterXPosChange(Sender: TObject);
meillo@0 172 begin
meillo@0 173 tbx_xpos.Text := inttostr(hsb_enterXpos.Position);
meillo@0 174 form_editor.img_button.Left := hsb_enterXpos.position;
meillo@0 175 end;//--------------------------------------------------------------------------
meillo@0 176 //------------------------------------------------------------------------------ change y-position
meillo@0 177 procedure Tform_Editor_ws.vsb_EnterYPosChange(Sender: TObject);
meillo@0 178 begin
meillo@0 179 tbx_ypos.Text := inttostr(vsb_enterYpos.Position);
meillo@0 180 form_editor.img_button.top := vsb_enterYpos.position;
meillo@0 181 end;//--------------------------------------------------------------------------
meillo@0 182
meillo@0 183 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
meillo@0 184
meillo@0 185 //------------------------------------------------------------------------------ NotShow
meillo@0 186 procedure Tform_Editor_ws.rbtn_NotShowClick(Sender: TObject);
meillo@0 187 begin
meillo@0 188 //
meillo@0 189 rbtn_tillclick.Enabled := false;
meillo@0 190 rbtn_tilltime.Enabled := false;
meillo@0 191 cobx_Delay.enabled := false;
meillo@0 192
meillo@0 193 tbx_BackgroundPath.Enabled := false;
meillo@0 194 btn_bp.Enabled := false;
meillo@0 195 tbx_EnterPath.Enabled := false;
meillo@0 196 btn_ep.Enabled := false;
meillo@0 197 hsb_EnterXPos.Enabled := false;
meillo@0 198 vsb_EnterYPos.Enabled := false;
meillo@0 199 end;//--------------------------------------------------------------------------
meillo@0 200 //------------------------------------------------------------------------------ Show
meillo@0 201 procedure Tform_Editor_ws.rbtn_DoShowClick(Sender: TObject);
meillo@0 202 begin
meillo@0 203 //
meillo@0 204 rbtn_tillclick.Enabled := true;
meillo@0 205 rbtn_tilltime.Enabled := true;
meillo@0 206 if rbtn_tilltime.Checked = true then
meillo@0 207 begin
meillo@0 208 cobx_Delay.Enabled := true; // time
meillo@0 209
meillo@0 210 tbx_BackgroundPath.Enabled := true;
meillo@0 211 btn_bp.Enabled := true;
meillo@0 212 tbx_EnterPath.Enabled := false;
meillo@0 213 btn_ep.Enabled := false;
meillo@0 214 hsb_EnterXPos.Enabled := false;
meillo@0 215 vsb_EnterYPos.Enabled := false;
meillo@0 216 end
meillo@0 217 else
meillo@0 218 begin
meillo@0 219 cobx_Delay.enabled := false; // click
meillo@0 220
meillo@0 221 tbx_BackgroundPath.Enabled := true;
meillo@0 222 btn_bp.Enabled := true;
meillo@0 223 tbx_EnterPath.Enabled := true;
meillo@0 224 btn_ep.Enabled := true;
meillo@0 225 hsb_EnterXPos.Enabled := true;
meillo@0 226 vsb_EnterYPos.Enabled := true;
meillo@0 227 end;
meillo@0 228 end;//--------------------------------------------------------------------------
meillo@0 229 //------------------------------------------------------------------------------ TillClick
meillo@0 230 procedure Tform_Editor_ws.rbtn_TillClickClick(Sender: TObject);
meillo@0 231 begin
meillo@0 232 cobx_Delay.Enabled := false;
meillo@0 233
meillo@0 234 tbx_BackgroundPath.Enabled := true;
meillo@0 235 btn_bp.Enabled := true;
meillo@0 236 tbx_EnterPath.Enabled := true;
meillo@0 237 btn_ep.Enabled := true;
meillo@0 238 hsb_EnterXPos.Enabled := true;
meillo@0 239 vsb_EnterYPos.Enabled := true;
meillo@0 240 end;//--------------------------------------------------------------------------
meillo@0 241 //------------------------------------------------------------------------------ TillIime
meillo@0 242 procedure Tform_Editor_ws.rbtn_TillTimeClick(Sender: TObject);
meillo@0 243 begin
meillo@0 244 cobx_Delay.Enabled := true;
meillo@0 245
meillo@0 246 tbx_BackgroundPath.Enabled := true;
meillo@0 247 btn_bp.Enabled := true;
meillo@0 248 tbx_EnterPath.Enabled := false;
meillo@0 249 btn_ep.Enabled := false;
meillo@0 250 hsb_EnterXPos.Enabled := false;
meillo@0 251 vsb_EnterYPos.Enabled := false;
meillo@0 252 end;//--------------------------------------------------------------------------
meillo@0 253
meillo@0 254 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
meillo@0 255
meillo@0 256 //------------------------------------------------------------------------------ Back-Pic
meillo@0 257 procedure Tform_Editor_ws.btn_bpClick(Sender: TObject);
meillo@0 258 begin
meillo@0 259 // Browse Background-Picture
meillo@0 260 if opendialog1.Execute then
meillo@0 261 begin
meillo@0 262 tbx_backgroundpath.Text := opendialog1.FileName;
meillo@0 263 // load picture
meillo@0 264 form_editor.img_Background.Picture.LoadFromFile(tbx_backgroundpath.text);
meillo@0 265 end;
meillo@0 266 end;//--------------------------------------------------------------------------
meillo@0 267 //------------------------------------------------------------------------------ Enter-Pic
meillo@0 268 procedure Tform_Editor_ws.btn_epClick(Sender: TObject);
meillo@0 269 begin
meillo@0 270 // Browse Enter-Picture
meillo@0 271 if opendialog1.Execute then
meillo@0 272 begin
meillo@0 273 tbx_enterpath.Text := opendialog1.FileName;
meillo@0 274 // load picture
meillo@0 275 form_editor.img_button.Picture.LoadFromFile(tbx_enterpath.text);
meillo@0 276 // if enter-button gets to large
meillo@0 277 if form_editor.img_button.Width > form_editor.img_Background.Width then
meillo@0 278 begin
meillo@0 279 form_editor.img_button.Picture := nil;
meillo@0 280 tbx_enterpath.Text := '';
meillo@0 281 form_editor.img_button.Width := 0;
meillo@0 282 form_editor.img_button.Height := 0;
meillo@0 283 end;
meillo@0 284 if form_editor.img_button.height > form_editor.img_Background.height then
meillo@0 285 begin
meillo@0 286 form_editor.img_button.Picture := nil;
meillo@0 287 tbx_enterpath.Text := '';
meillo@0 288 form_editor.img_button.Width := 0;
meillo@0 289 form_editor.img_button.Height := 0;
meillo@0 290 end;
meillo@0 291 // config scrollbars
meillo@0 292 hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width;
meillo@0 293 hsb_enterXpos.Position := form_editor.img_button.Left;
meillo@0 294 vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height;
meillo@0 295 vsb_enterYpos.Position := form_editor.img_button.top;
meillo@0 296 // if enter-button is fullscreen, then dont use a background-pic
meillo@0 297 if form_editor.img_button.Width = form_editor.img_Background.Width then
meillo@0 298 begin
meillo@0 299 if form_editor.img_button.Height = form_editor.img_Background.Height then
meillo@0 300 begin
meillo@0 301 tbx_BackgroundPath.Enabled := false;
meillo@0 302 btn_bp.Enabled := false;
meillo@0 303 end
meillo@0 304 else
meillo@0 305 begin
meillo@0 306 tbx_BackgroundPath.Enabled := true;
meillo@0 307 btn_bp.Enabled := true;
meillo@0 308 end;
meillo@0 309 end;
meillo@0 310 end;
meillo@0 311 end;//--------------------------------------------------------------------------
meillo@0 312
meillo@0 313 //------------------------------------------------------------------------------ no pic
meillo@0 314 procedure Tform_Editor_ws.tbx_BackgroundPathChange(Sender: TObject);
meillo@0 315 begin
meillo@0 316 if tbx_BackgroundPath.Text = '' then
meillo@0 317 begin
meillo@0 318 form_editor.img_Background.Picture := nil;
meillo@0 319 end;
meillo@0 320 end;//--------------------------------------------------------------------------
meillo@0 321 //------------------------------------------------------------------------------ no pic
meillo@0 322 procedure Tform_Editor_ws.tbx_EnterPathChange(Sender: TObject);
meillo@0 323 begin
meillo@0 324 if tbx_EnterPath.Text = '' then
meillo@0 325 begin
meillo@0 326 form_editor.img_Button.Picture := nil;
meillo@0 327 tbx_BackgroundPath.Enabled := true;
meillo@0 328 btn_bp.Enabled := true;
meillo@0 329 end;
meillo@0 330 end;//--------------------------------------------------------------------------
meillo@0 331
meillo@0 332 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
meillo@0 333
meillo@0 334 //------------------------------------------------------------------------------ apply
meillo@0 335 procedure Tform_Editor_ws.btn_ApplyClick(Sender: TObject);
meillo@0 336 begin
meillo@0 337 // set new data to '*_neu'
meillo@0 338 form_Editor.pfadHG_neu := tbx_backgroundpath.text;
meillo@0 339 form_Editor.pfadEnter_neu := tbx_Enterpath.text;
meillo@0 340 form_Editor.xEnter_neu := strtoint(tbx_xpos.text);
meillo@0 341 form_Editor.yEnter_neu := strtoint(tbx_ypos.text);
meillo@0 342 form_Editor.Delay_neu := cobx_Delay.ItemIndex;
meillo@0 343 // kind of welcome action
meillo@0 344 if rbtn_notshow.checked then
meillo@0 345 begin
meillo@0 346 form_Editor.Welcomekind_neu := 'none';
meillo@0 347 end
meillo@0 348 else
meillo@0 349 begin
meillo@0 350 if rbtn_tillClick.checked then
meillo@0 351 begin
meillo@0 352 form_Editor.Welcomekind_neu := 'click';
meillo@0 353 end
meillo@0 354 else
meillo@0 355 begin
meillo@0 356 form_Editor.Welcomekind_neu := 'time';
meillo@0 357 end;
meillo@0 358 end;
meillo@0 359
meillo@0 360 // '*_neu' to '*_alt'
meillo@0 361 with form_Editor do
meillo@0 362 begin
meillo@0 363 PfadHG_alt := PfadHG_neu;
meillo@0 364 PfadEnter_alt := PfadEnter_neu;
meillo@0 365 xEnter_alt := xEnter_neu;
meillo@0 366 yEnter_alt := yEnter_neu;
meillo@0 367 WelcomeKind_alt := WelcomeKind_neu;
meillo@0 368 Delay_alt := Delay_neu;
meillo@0 369 end;
meillo@0 370
meillo@0 371 // delay
meillo@0 372 form_Editor.Delay := cobx_Delay.text;
meillo@0 373
meillo@0 374
meillo@0 375 // close
meillo@0 376 form_editor_ws.Close;
meillo@0 377 end;//--------------------------------------------------------------------------
meillo@0 378 //------------------------------------------------------------------------------ cancel
meillo@0 379 procedure Tform_Editor_ws.btn_cancelClick(Sender: TObject);
meillo@0 380 begin
meillo@0 381 // restore old settings
meillo@0 382 // background-pic
meillo@0 383 if form_Editor.PfadHG_alt = '' then
meillo@0 384 begin
meillo@0 385 form_Editor.img_background.Picture := nil;
meillo@0 386 end
meillo@0 387 else
meillo@0 388 begin
meillo@0 389 form_editor.img_Background.Picture.LoadFromFile(form_Editor.PfadHG_alt);
meillo@0 390 end;
meillo@0 391 // enter-pic
meillo@0 392 if form_Editor.PfadEnter_alt = '' then
meillo@0 393 begin
meillo@0 394 form_Editor.img_button.Picture := nil;
meillo@0 395 end
meillo@0 396 else
meillo@0 397 begin
meillo@0 398 form_editor.img_button.Picture.LoadFromFile(form_Editor.PfadEnter_alt);
meillo@0 399 end;
meillo@0 400 // button-pos
meillo@0 401 form_editor.img_button.Left := form_Editor.xEnter_alt;
meillo@0 402 form_editor.img_button.top := form_Editor.yEnter_alt;
meillo@0 403
meillo@0 404 // close
meillo@0 405 form_editor_ws.Close;
meillo@0 406 end;//--------------------------------------------------------------------------
meillo@0 407
meillo@0 408 end.//#########################################################################################