Mercurial > cdar
view unit_Editor_ws.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_ws; interface//#################################################################################### uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, ExtDlgs; type Tform_Editor_ws = class(TForm) btn_cancel: TButton; btn_Apply: TButton; gbx_BilderLaden: TGroupBox; btn_bp: TButton; lbl_1: TLabel; tbx_BackgroundPath: TEdit; tbx_EnterPath: TEdit; btn_ep: TButton; lbl_2: TLabel; gbx_EnterPos: TGroupBox; hsb_EnterXPos: TScrollBar; tbx_XPos: TEdit; lbl_3: TLabel; tbx_YPos: TEdit; lbl_4: TLabel; vsb_EnterYPos: TScrollBar; gbx_ShowTill: TGroupBox; rbtn_DoShow: TRadioButton; rbtn_NotShow: TRadioButton; pan_ShowTill: TPanel; rbtn_TillClick: TRadioButton; rbtn_TillTime: TRadioButton; cobx_Delay: TComboBox; lbl_5: TLabel; lbl_6: TLabel; OpenDialog1: TOpenPictureDialog; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure hsb_EnterXPosChange(Sender: TObject); procedure vsb_EnterYPosChange(Sender: TObject); procedure rbtn_NotShowClick(Sender: TObject); procedure rbtn_DoShowClick(Sender: TObject); procedure btn_bpClick(Sender: TObject); procedure btn_epClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure btn_ApplyClick(Sender: TObject); procedure btn_cancelClick(Sender: TObject); procedure rbtn_TillTimeClick(Sender: TObject); procedure rbtn_TillClickClick(Sender: TObject); procedure tbx_BackgroundPathChange(Sender: TObject); procedure tbx_EnterPathChange(Sender: TObject); private { Private declarations } public { Public declarations } end; var form_Editor_ws: Tform_Editor_ws; implementation//############################################################################### uses unit_Editor; {$R *.dfm}//################################################################################### //------------------------------------------------------------------------------ form create procedure Tform_Editor_ws.FormCreate(Sender: TObject); begin // set language if form_editor.englisch = true then begin // English form_Editor_ws.Caption := 'Welcome-Screen Settings'; btn_cancel.Caption := 'Cancel Changes'; btn_Apply.Caption := 'Apply Changes'; btn_bp.Caption := 'Browse'; btn_ep.Caption := 'Browse'; lbl_1.Caption := 'Background-Picture: (600x450 px)'; lbl_2.caption := 'Enter-Picture: (150x40 px recommended)'; lbl_5.Caption := '... of the Enter-Picture'; lbl_6.Caption := '(You can move by Drag n Drop too)'; rbtn_DoShow.Caption := 'Show Welcome-Screen ...'; rbtn_NotShow.Caption := 'Do not show Welcome-Screen'; rbtn_TillClick.Caption := '... till click'; rbtn_TillTime.Caption := '... seconds'; end else begin // German form_Editor_ws.Caption := 'Begrüßungsbild Optionen'; btn_cancel.Caption := 'Abbrechen'; btn_Apply.Caption := 'Übernehmen'; btn_bp.Caption := 'Durchsuchen'; btn_ep.Caption := 'Durchsuchen'; lbl_1.Caption := 'Hintergrundbild: (600x450 px)'; lbl_2.caption := 'Enterbild: (150x40 px empfohlen)'; lbl_5.Caption := '... des Enterbilds'; lbl_6.Caption := '(Drag n Drop ist auch möglich)'; rbtn_DoShow.Caption := 'Begrüßungsbild anzeigen ...'; rbtn_NotShow.Caption := 'Kein Begrüßungsbild anzeigen'; rbtn_TillClick.Caption := '... bis Klick'; rbtn_TillTime.Caption := '... Sekunden'; end; // set standard path opendialog1.InitialDir := extractfilepath(paramstr(0)); end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ form show procedure Tform_Editor_ws.FormShow(Sender: TObject); begin // disable drag'n'drop form_editor.draggingstatus := 3; // disable menu form_editor.mnu_Tutorial.enabled := false; form_editor.mnu_WelcomeScreen.Enabled := false; form_editor.mnu_Autorun.Enabled := false; form_editor.mnu_CreateAR.enabled := false; form_editor.mnu_Sprache.enabled := false; // init // set picture path tbx_BackgroundPath.text := form_Editor.PfadHG_alt; tbx_EnterPath.text := form_Editor.PfadEnter_alt; // set 'img_button'-positon tbx_XPos.text := inttostr(form_Editor.xEnter_alt); tbx_YPos.text := inttostr(form_Editor.yEnter_alt); // kind of welcome action if form_Editor.Welcomekind_alt = 'none' then begin rbtn_notshow.checked := true; rbtn_tillclick.Enabled := false; rbtn_tilltime.Enabled := false; end else begin if form_Editor.Welcomekind_alt = 'click' then begin rbtn_tillClick.checked := true; rbtn_doshow.Checked := true; end else begin rbtn_tilltime.Checked := true; rbtn_doshow.Checked := true; end; end; // delay cobx_delay.ItemIndex := form_Editor.Delay_alt; // set scrollbar values hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width; hsb_enterXpos.Position := form_editor.img_button.Left; vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height; vsb_enterYpos.Position := form_editor.img_button.top; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ form close procedure Tform_Editor_ws.FormClose(Sender: TObject; var Action: TCloseAction); begin // reenable drag'n'drop form_editor.draggingstatus := 0; // reenable menu form_editor.mnu_Tutorial.enabled := true; form_editor.mnu_WelcomeScreen.Enabled := true; form_editor.mnu_Autorun.Enabled := true; form_editor.mnu_CreateAR.enabled := true; form_editor.mnu_Sprache.enabled := true; end;//-------------------------------------------------------------------------- //############################################################################################# //------------------------------------------------------------------------------ change x-position procedure Tform_Editor_ws.hsb_EnterXPosChange(Sender: TObject); begin tbx_xpos.Text := inttostr(hsb_enterXpos.Position); form_editor.img_button.Left := hsb_enterXpos.position; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ change y-position procedure Tform_Editor_ws.vsb_EnterYPosChange(Sender: TObject); begin tbx_ypos.Text := inttostr(vsb_enterYpos.Position); form_editor.img_button.top := vsb_enterYpos.position; end;//-------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //------------------------------------------------------------------------------ NotShow procedure Tform_Editor_ws.rbtn_NotShowClick(Sender: TObject); begin // rbtn_tillclick.Enabled := false; rbtn_tilltime.Enabled := false; cobx_Delay.enabled := false; tbx_BackgroundPath.Enabled := false; btn_bp.Enabled := false; tbx_EnterPath.Enabled := false; btn_ep.Enabled := false; hsb_EnterXPos.Enabled := false; vsb_EnterYPos.Enabled := false; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ Show procedure Tform_Editor_ws.rbtn_DoShowClick(Sender: TObject); begin // rbtn_tillclick.Enabled := true; rbtn_tilltime.Enabled := true; if rbtn_tilltime.Checked = true then begin cobx_Delay.Enabled := true; // time tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; tbx_EnterPath.Enabled := false; btn_ep.Enabled := false; hsb_EnterXPos.Enabled := false; vsb_EnterYPos.Enabled := false; end else begin cobx_Delay.enabled := false; // click tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; tbx_EnterPath.Enabled := true; btn_ep.Enabled := true; hsb_EnterXPos.Enabled := true; vsb_EnterYPos.Enabled := true; end; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ TillClick procedure Tform_Editor_ws.rbtn_TillClickClick(Sender: TObject); begin cobx_Delay.Enabled := false; tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; tbx_EnterPath.Enabled := true; btn_ep.Enabled := true; hsb_EnterXPos.Enabled := true; vsb_EnterYPos.Enabled := true; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ TillIime procedure Tform_Editor_ws.rbtn_TillTimeClick(Sender: TObject); begin cobx_Delay.Enabled := true; tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; tbx_EnterPath.Enabled := false; btn_ep.Enabled := false; hsb_EnterXPos.Enabled := false; vsb_EnterYPos.Enabled := false; end;//-------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //------------------------------------------------------------------------------ Back-Pic procedure Tform_Editor_ws.btn_bpClick(Sender: TObject); begin // Browse Background-Picture if opendialog1.Execute then begin tbx_backgroundpath.Text := opendialog1.FileName; // load picture form_editor.img_Background.Picture.LoadFromFile(tbx_backgroundpath.text); end; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ Enter-Pic procedure Tform_Editor_ws.btn_epClick(Sender: TObject); begin // Browse Enter-Picture if opendialog1.Execute then begin tbx_enterpath.Text := opendialog1.FileName; // load picture form_editor.img_button.Picture.LoadFromFile(tbx_enterpath.text); // if enter-button gets to large if form_editor.img_button.Width > form_editor.img_Background.Width then begin form_editor.img_button.Picture := nil; tbx_enterpath.Text := ''; form_editor.img_button.Width := 0; form_editor.img_button.Height := 0; end; if form_editor.img_button.height > form_editor.img_Background.height then begin form_editor.img_button.Picture := nil; tbx_enterpath.Text := ''; form_editor.img_button.Width := 0; form_editor.img_button.Height := 0; end; // config scrollbars hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width; hsb_enterXpos.Position := form_editor.img_button.Left; vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height; vsb_enterYpos.Position := form_editor.img_button.top; // if enter-button is fullscreen, then dont use a background-pic if form_editor.img_button.Width = form_editor.img_Background.Width then begin if form_editor.img_button.Height = form_editor.img_Background.Height then begin tbx_BackgroundPath.Enabled := false; btn_bp.Enabled := false; end else begin tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; end; end; end; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ no pic procedure Tform_Editor_ws.tbx_BackgroundPathChange(Sender: TObject); begin if tbx_BackgroundPath.Text = '' then begin form_editor.img_Background.Picture := nil; end; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ no pic procedure Tform_Editor_ws.tbx_EnterPathChange(Sender: TObject); begin if tbx_EnterPath.Text = '' then begin form_editor.img_Button.Picture := nil; tbx_BackgroundPath.Enabled := true; btn_bp.Enabled := true; end; end;//-------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //------------------------------------------------------------------------------ apply procedure Tform_Editor_ws.btn_ApplyClick(Sender: TObject); begin // set new data to '*_neu' form_Editor.pfadHG_neu := tbx_backgroundpath.text; form_Editor.pfadEnter_neu := tbx_Enterpath.text; form_Editor.xEnter_neu := strtoint(tbx_xpos.text); form_Editor.yEnter_neu := strtoint(tbx_ypos.text); form_Editor.Delay_neu := cobx_Delay.ItemIndex; // kind of welcome action if rbtn_notshow.checked then begin form_Editor.Welcomekind_neu := 'none'; end else begin if rbtn_tillClick.checked then begin form_Editor.Welcomekind_neu := 'click'; end else begin form_Editor.Welcomekind_neu := 'time'; end; end; // '*_neu' to '*_alt' with form_Editor do begin PfadHG_alt := PfadHG_neu; PfadEnter_alt := PfadEnter_neu; xEnter_alt := xEnter_neu; yEnter_alt := yEnter_neu; WelcomeKind_alt := WelcomeKind_neu; Delay_alt := Delay_neu; end; // delay form_Editor.Delay := cobx_Delay.text; // close form_editor_ws.Close; end;//-------------------------------------------------------------------------- //------------------------------------------------------------------------------ cancel procedure Tform_Editor_ws.btn_cancelClick(Sender: TObject); begin // restore old settings // background-pic if form_Editor.PfadHG_alt = '' then begin form_Editor.img_background.Picture := nil; end else begin form_editor.img_Background.Picture.LoadFromFile(form_Editor.PfadHG_alt); end; // enter-pic if form_Editor.PfadEnter_alt = '' then begin form_Editor.img_button.Picture := nil; end else begin form_editor.img_button.Picture.LoadFromFile(form_Editor.PfadEnter_alt); end; // button-pos form_editor.img_button.Left := form_Editor.xEnter_alt; form_editor.img_button.top := form_Editor.yEnter_alt; // close form_editor_ws.Close; end;//-------------------------------------------------------------------------- end.//#########################################################################################