Mercurial > cdar
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_ws.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,408 @@ +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.//#########################################################################################