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