From be8de46cce7df40fd0b716c6196779704473537e Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Mon, 3 Oct 2022 17:18:42 +0000 Subject: [PATCH] tvplanit: Minor refactoring of unit VpEdElem. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8509 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/tvplanit/languages/vpsr.de.po | 4 + components/tvplanit/languages/vpsr.en.po | 7 +- components/tvplanit/languages/vpsr.fi.po | 4 + components/tvplanit/languages/vpsr.fr.po | 4 + components/tvplanit/languages/vpsr.nl.po | 4 + components/tvplanit/languages/vpsr.pl.po | 4 + components/tvplanit/languages/vpsr.pot | 4 + components/tvplanit/languages/vpsr.ru.po | 4 + components/tvplanit/source/include/vpsr.inc | 1 + components/tvplanit/source/vpedelem.pas | 94 ++++++++++----------- 10 files changed, 77 insertions(+), 53 deletions(-) diff --git a/components/tvplanit/languages/vpsr.de.po b/components/tvplanit/languages/vpsr.de.po index c6908d59a..64d67d390 100644 --- a/components/tvplanit/languages/vpsr.de.po +++ b/components/tvplanit/languages/vpsr.de.po @@ -1022,6 +1022,10 @@ msgstr "Pixel" msgid "Play" msgstr "Abspielen" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "Bitte gültige Gleitkomma-Zahl eingeben." + #: vpsr.rspopupaddevent msgctxt "vpsr.rspopupaddevent" msgid "Add event..." diff --git a/components/tvplanit/languages/vpsr.en.po b/components/tvplanit/languages/vpsr.en.po index d52fb0a37..1df603a30 100644 --- a/components/tvplanit/languages/vpsr.en.po +++ b/components/tvplanit/languages/vpsr.en.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"Project-Id-Version: \n" +"Project-Id-Version: TvPlanIt\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: \n" @@ -1014,6 +1014,10 @@ msgstr "Pixels" msgid "Play" msgstr "Play" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "Please enter a valid floating point value." + #: vpsr.rspopupaddevent msgid "Add event..." msgstr "Add event..." @@ -1792,4 +1796,3 @@ msgstr "Unknown axis specifier: %s" #: vpsr.sxmldecnotatbeg msgid "The XML declaration must appear before the first element" msgstr "The XML declaration must appear before the first element" - diff --git a/components/tvplanit/languages/vpsr.fi.po b/components/tvplanit/languages/vpsr.fi.po index a555e05ee..7b66619bc 100644 --- a/components/tvplanit/languages/vpsr.fi.po +++ b/components/tvplanit/languages/vpsr.fi.po @@ -1013,6 +1013,10 @@ msgstr "" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgctxt "vpsr.rspopupaddevent" msgid "Add event..." diff --git a/components/tvplanit/languages/vpsr.fr.po b/components/tvplanit/languages/vpsr.fr.po index 2b0587b79..d5d5a7d0d 100644 --- a/components/tvplanit/languages/vpsr.fr.po +++ b/components/tvplanit/languages/vpsr.fr.po @@ -1028,6 +1028,10 @@ msgstr "" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgctxt "vpsr.rspopupaddevent" msgid "Add event..." diff --git a/components/tvplanit/languages/vpsr.nl.po b/components/tvplanit/languages/vpsr.nl.po index 8d13a6dea..e34c88b87 100644 --- a/components/tvplanit/languages/vpsr.nl.po +++ b/components/tvplanit/languages/vpsr.nl.po @@ -1022,6 +1022,10 @@ msgstr "" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgctxt "vpsr.rspopupaddevent" msgid "Add event..." diff --git a/components/tvplanit/languages/vpsr.pl.po b/components/tvplanit/languages/vpsr.pl.po index 896c42b7a..f03915402 100644 --- a/components/tvplanit/languages/vpsr.pl.po +++ b/components/tvplanit/languages/vpsr.pl.po @@ -1022,6 +1022,10 @@ msgstr "Pixele" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgid "Add event..." msgstr "Dodaj wydarzenie..." diff --git a/components/tvplanit/languages/vpsr.pot b/components/tvplanit/languages/vpsr.pot index 2a1f218f1..2df835fff 100644 --- a/components/tvplanit/languages/vpsr.pot +++ b/components/tvplanit/languages/vpsr.pot @@ -1004,6 +1004,10 @@ msgstr "" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgid "Add event..." msgstr "" diff --git a/components/tvplanit/languages/vpsr.ru.po b/components/tvplanit/languages/vpsr.ru.po index b225ed198..34753c016 100644 --- a/components/tvplanit/languages/vpsr.ru.po +++ b/components/tvplanit/languages/vpsr.ru.po @@ -1022,6 +1022,10 @@ msgstr "" msgid "Play" msgstr "" +#: vpsr.rspleaseenterfloat +msgid "Please enter a valid floating point value." +msgstr "" + #: vpsr.rspopupaddevent msgctxt "vpsr.rspopupaddevent" msgid "Add event..." diff --git a/components/tvplanit/source/include/vpsr.inc b/components/tvplanit/source/include/vpsr.inc index 174a86fb8..dff2ead9e 100644 --- a/components/tvplanit/source/include/vpsr.inc +++ b/components/tvplanit/source/include/vpsr.inc @@ -381,6 +381,7 @@ resourcestring RSSaveFileBtn = 'Save file...'; RSNoPrintFormatName = 'Please supply a format name'; RSNoDayIncrement = 'Day increment unit not specified.'; + RSPleaseEnterFloat = 'Please enter a valid floating point value.'; RSReportSetup = 'Report setup'; diff --git a/components/tvplanit/source/vpedelem.pas b/components/tvplanit/source/vpedelem.pas index 8b1823a9d..e8330dfcb 100644 --- a/components/tvplanit/source/vpedelem.pas +++ b/components/tvplanit/source/vpedelem.pas @@ -134,7 +134,10 @@ function EvalFmt(Val : Extended) : string; begin Result := FormatFloat('0.00', Val); end; -{=====} + +{******************************************************************************} +{* TfrmEditElement *} +{******************************************************************************} procedure TfrmEditElement.FormCreate(Sender: TObject); var i: Integer; @@ -156,24 +159,24 @@ begin SetCaptions; end; -{=====} + procedure TfrmEditElement.FormShow(Sender: TObject); begin PositionControls; edName.SetFocus; end; -{=====} + procedure TfrmEditElement.btnCaptionFontClick(Sender: TObject); begin if FontDialog1.Execute then TheCaption.Font := FontDialog1.Font; end; -{=====} + procedure TfrmEditElement.btnCancelClick(Sender: TObject); begin ModalResult := mrCancel; end; -{=====} + procedure TfrmEditElement.btnOkClick(Sender: TObject); begin if Validate then @@ -184,7 +187,7 @@ begin Exit; end; end; -{=====} + procedure TfrmEditElement.btnShapeClick(Sender: TObject); var frmEditShape: TfrmEditShape; @@ -193,12 +196,12 @@ begin frmEditShape.Execute(TheShape); frmEditShape.Free; end; -{=====} + procedure TfrmEditElement.edCaptionTextChange(Sender: TObject); begin TheCaption.Caption := edCaptionText.Text; end; -{=====} + function TfrmEditElement.Execute(AnElement : TVpPrintFormatElementItem) : Boolean; begin SetData(AnElement); @@ -206,45 +209,44 @@ begin if Result then SaveData(AnElement); end; -{=====} + procedure TfrmEditElement.PosEditEnter(Sender: TObject); begin CurEdit := (Sender as TEdit); end; -{=====} + procedure TfrmEditElement.PosEditExit(Sender: TObject); var - ed : TEdit; - Val : Extended; + ed: TEdit; + Val: Extended; begin ed := (Sender as TEdit); - try - Val := StrToFloat(ed.Text); + if TryStrToFloat(ed.Text, Val) then + begin if Val > MaxSpin then begin ed.Text := EvalFmt(MaxSpin); end else if Val < 0.0 then begin ed.Text := EvalFmt(0); end; - except - on EConvertError do begin - ShowMessage('Please Enter a Floating Point Value'); - ed.SetFocus; - end; + end else + begin + ed.SetFocus; + MessageDlg(RSPleaseEnterFloat, mtError, [mbOK], 0); end; end; -{=====} + procedure TfrmEditElement.rgItemTypeClick(Sender: TObject); begin SetItemType(rgItemType.ItemIndex); end; -{=====} + procedure TfrmEditElement.rgMeasurementClick(Sender: TObject); begin SetMaxSpin(rgMeasurement.ItemIndex); end; -{=====} -procedure TfrmEditElement.SaveData(AnElement : TVpPrintFormatElementItem); + +procedure TfrmEditElement.SaveData(AnElement: TVpPrintFormatElementItem); begin AnElement.ElementName := edName.Text; @@ -350,25 +352,19 @@ begin chkVisible.Checked := AnElement.Visible; end; -{=====} + procedure TfrmEditElement.SetItemType(Index : Integer); begin rgItemType.ItemIndex := Index; - gbCaption.Enabled := False; - edCaptionText.Enabled := False; - lblCaptionText.Enabled := False; - btnCaptionFont.Enabled := False; + btnShape.Enabled := TVpItemType(Index) = itShape; - btnShape.Enabled := Index = 4; - if Index = 5 then begin - gbCaption.Enabled := True; - edCaptionText.Enabled := True; - lblCaptionText.Enabled := True; - btnCaptionFont.Enabled := True; - end; + gbCaption.Enabled := TVpItemType(Index) = itCaption; + edCaptionText.Enabled := gbCaption.Enabled; + lblCaptionText.Enabled := gbCaption.Enabled; + btnCaptionFont.Enabled := gbCaption.Enabled; end; -{=====} + procedure TfrmEditElement.SetMaxSpin(Spin : Integer); begin case Spin of @@ -381,26 +377,23 @@ begin udTop.Max := MaxSpin; udHeight.Max := MaxSpin; udWidth.Max := MaxSpin; - end; -{=====} + procedure TfrmEditElement.UpDownClick(Sender: TObject; Button: TUDBtnType); var Val, Inc : Extended; begin - if Sender = udLeft then CurEdit := edLeft ; - if Sender = udTop then CurEdit := edTop ; + if Sender = udLeft then CurEdit := edLeft; + if Sender = udTop then CurEdit := edTop; if Sender = udHeight then CurEdit := edHeight; - if Sender = udWidth then CurEdit := edWidth ; + if Sender = udWidth then CurEdit := edWidth; Val := 0.0; - try - Val := StrToFloat(CurEdit.Text); - except - on EConvertError do begin - ShowMessage('Please Enter a Floating Point Value'); - CurEdit.SetFocus; - end; + if not TryStrToFloat(CurEdit.Text, Val) then + begin + Val := 0.0; + CurEdit.SetFocus; + MessageDlg(RSPleaseEnterFloat, mtError, [mbOK], 0); end; Inc := udLeft.Increment / 100; @@ -417,12 +410,11 @@ begin end; end; end; -{=====} -function TfrmEditElement.Validate : Boolean; + +function TfrmEditElement.Validate: Boolean; begin Result := edName.Text <> ''; end; -{=====} end.