From c59ab5733993b8b12e01d37d917fb1434faa6895 Mon Sep 17 00:00:00 2001 From: jujibo Date: Wed, 14 Mar 2012 18:00:29 +0000 Subject: [PATCH] Make things simple git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2339 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../src/jdblabeledcurrencyedit.pas | 56 ++++++++----------- .../jujiboutils/src/jdblabeleddateedit.pas | 4 +- .../src/jdblabeleddatetimeedit.pas | 4 +- .../jujiboutils/src/jdblabeledfloatedit.pas | 16 +----- .../jujiboutils/src/jdblabeledintegeredit.pas | 16 +----- .../jujiboutils/src/jdblabeledtimeedit.pas | 4 +- 6 files changed, 38 insertions(+), 62 deletions(-) diff --git a/components/jujiboutils/src/jdblabeledcurrencyedit.pas b/components/jujiboutils/src/jdblabeledcurrencyedit.pas index 5f9ae7a52..60298882a 100644 --- a/components/jujiboutils/src/jdblabeledcurrencyedit.pas +++ b/components/jujiboutils/src/jdblabeledcurrencyedit.pas @@ -35,7 +35,6 @@ type fFormat: string; FDataLink: TFieldDataLink; fDecimales: integer; - fUpdated: boolean; procedure DataChange(Sender: TObject); function getDecimals: integer; @@ -67,7 +66,6 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; - procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -175,31 +173,29 @@ procedure TJDBLabeledCurrencyEdit.UpdateData(Sender: TObject); var theValue: currency; begin - if not fUpdated then - if FDataLink.Field <> nil then + if FDataLink.Field <> nil then + begin + if IsValidCurrency(Text) then begin - if IsValidCurrency(Text) then - begin - theValue := StrToCurr(Text); - if fDecimales > 0 then - theValue := ScaleTo(theValue, fDecimales); - Text := CurrToStr(theValue); - FDataLink.Field.Value := theValue; - fUpdated:= True; - end - else - begin - if FDataLink.Field <> nil then - begin - ShowMessage(Format(SInvalidNumber, [Caption])); - Caption := FDataLink.Field.AsString; - SelectAll; - SetFocus; - end; - end; + theValue := StrToCurr(Text); + if fDecimales > 0 then + theValue := ScaleTo(theValue, fDecimales); + Text := CurrToStr(theValue); + FDataLink.Field.Value := theValue; end else - Text := ''; + begin + if FDataLink.Field <> nil then + begin + ShowMessage(Format(SInvalidNumber, [Caption])); + Caption := FDataLink.Field.AsString; + SelectAll; + SetFocus; + end; + end; + end + else + Text := ''; end; procedure TJDBLabeledCurrencyEdit.FocusRequest(Sender: TObject); @@ -359,17 +355,9 @@ procedure TJDBLabeledCurrencyEdit.DoEnter; begin if FDataLink.Field <> nil then Caption := FDataLink.Field.AsString; - fUpdated:= False; inherited DoEnter; end; -procedure TJDBLabeledCurrencyEdit.DoExit; -begin - inherited DoExit; - UpdateData(nil); - formatInput; -end; - constructor TJDBLabeledCurrencyEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner); @@ -395,7 +383,9 @@ procedure TJDBLabeledCurrencyEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; end. diff --git a/components/jujiboutils/src/jdblabeleddateedit.pas b/components/jujiboutils/src/jdblabeleddateedit.pas index 6a36b5b5e..31896d86a 100644 --- a/components/jujiboutils/src/jdblabeleddateedit.pas +++ b/components/jujiboutils/src/jdblabeleddateedit.pas @@ -351,7 +351,9 @@ procedure TJDBLabeledDateEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; end. diff --git a/components/jujiboutils/src/jdblabeleddatetimeedit.pas b/components/jujiboutils/src/jdblabeleddatetimeedit.pas index 7c286c19b..638ba50bb 100644 --- a/components/jujiboutils/src/jdblabeleddatetimeedit.pas +++ b/components/jujiboutils/src/jdblabeleddatetimeedit.pas @@ -344,7 +344,9 @@ procedure TJDBLabeledDateTimeEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; diff --git a/components/jujiboutils/src/jdblabeledfloatedit.pas b/components/jujiboutils/src/jdblabeledfloatedit.pas index daa0346c7..8d8b91146 100644 --- a/components/jujiboutils/src/jdblabeledfloatedit.pas +++ b/components/jujiboutils/src/jdblabeledfloatedit.pas @@ -35,7 +35,6 @@ type fFormat: string; FDataLink: TFieldDataLink; fDecimales: integer; - fUpdated: boolean; procedure DataChange(Sender: TObject); function getDecimals: integer; @@ -67,7 +66,6 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; - procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -174,7 +172,6 @@ procedure TJDBLabeledFloatEdit.UpdateData(Sender: TObject); var theValue: double; begin - if not fUpdated then if FDataLink.Field <> nil then begin if IsValidFloat(Text) then @@ -184,7 +181,6 @@ begin theValue := ScaleTo(theValue, fDecimales); Text := FloatToStr(theValue); FDataLink.Field.Value := theValue; - fUpdated := True; end else begin @@ -357,17 +353,9 @@ procedure TJDBLabeledFloatEdit.DoEnter; begin if FDataLink.Field <> nil then Caption := FDataLink.Field.AsString; - fUpdated := False; inherited DoEnter; end; -procedure TJDBLabeledFloatEdit.DoExit; -begin - inherited DoExit; - UpdateData(nil); - formatInput; -end; - constructor TJDBLabeledFloatEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner); @@ -393,7 +381,9 @@ procedure TJDBLabeledFloatEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; diff --git a/components/jujiboutils/src/jdblabeledintegeredit.pas b/components/jujiboutils/src/jdblabeledintegeredit.pas index a929c8e0a..fb4f8b60d 100644 --- a/components/jujiboutils/src/jdblabeledintegeredit.pas +++ b/components/jujiboutils/src/jdblabeledintegeredit.pas @@ -34,7 +34,6 @@ type private fFormat: string; FDataLink: TFieldDataLink; - fUpdated: boolean; procedure DataChange(Sender: TObject); procedure UpdateData(Sender: TObject); @@ -63,7 +62,6 @@ type procedure KeyDown(var Key: word; Shift: TShiftState); override; procedure KeyPress(var Key: char); override; procedure DoEnter; override; - procedure DoExit; override; function GetReadOnly: boolean; override; procedure SetReadOnly(Value: boolean); override; @@ -155,13 +153,11 @@ end; procedure TJDBLabeledIntegerEdit.UpdateData(Sender: TObject); begin - if not fUpdated then if FDataLink.Field <> nil then begin if IsValidInteger(Caption) then begin FDataLink.Field.Text := Text; - fUpdated:= True end else begin @@ -322,17 +318,9 @@ procedure TJDBLabeledIntegerEdit.DoEnter; begin if FDataLink.Field <> nil then Caption := FDataLink.Field.AsString; - fUpdated:= False; inherited DoEnter; end; -procedure TJDBLabeledIntegerEdit.DoExit; -begin - inherited DoExit; - UpdateData(nil); - formatInput; -end; - constructor TJDBLabeledIntegerEdit.Create(TheOwner: TComponent); begin inherited Create(TheOwner); @@ -355,7 +343,9 @@ procedure TJDBLabeledIntegerEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; end. diff --git a/components/jujiboutils/src/jdblabeledtimeedit.pas b/components/jujiboutils/src/jdblabeledtimeedit.pas index 443cb73d4..e8e153fc3 100644 --- a/components/jujiboutils/src/jdblabeledtimeedit.pas +++ b/components/jujiboutils/src/jdblabeledtimeedit.pas @@ -318,7 +318,9 @@ procedure TJDBLabeledTimeEdit.EditingDone; begin inherited EditingDone; if DataSource.State in [dsEdit, dsInsert] then - UpdateData(self); + UpdateData(self) + else + formatInput; end; end.